@charset "UTF-8";
/* ---------------------------------------------
*   p-ryowa-wrapper
--------------------------------------------- */
/* .l-page:has(.p-ryowa-sub-nav) .l-breadcrumb__border {
    box-shadow: none;
} */

/* ---------------------------------------------
*   p-ryowa-block-beige
--------------------------------------------- */
.p-ryowa-block-beige {
    padding: 70px;
    border-radius: 30px;
    background-color: var(--color-white-2);
}
@media screen and (max-width: 768px) {
    .p-ryowa-block-beige {
        padding: calc(50 / var(--design-width) * 100vw) calc(20 / var(--design-width) * 100vw);
        border-radius: calc(30 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   p-ryowa-block-quote
--------------------------------------------- */
.p-ryowa-block-quote {
    position: relative;
    padding-left: 46px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-block-quote {
        padding-left: calc(26 / var(--design-width) * 100vw);
    }
}
.p-ryowa-block-quote::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: block;
    width: 6px;
    height: 100%;
    border-radius: 6px;
    background-color: var(--color-gray-2);
}
@media screen and (max-width: 768px) {
    .p-ryowa-block-quote::before {
        width: calc(6 / var(--design-width) * 100vw);
        border-radius: calc(6 / var(--design-width) * 100vw);
    }
}
.p-ryowa-block-quote cite {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 15px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-block-quote cite {
        gap: calc(15 / var(--design-width) * 100vw);
    }
}
.p-ryowa-block-quote cite::before {
    content: "";
    display: block;
    width: 46px;
    height: 1px;
    background-color: var(--color-red-1);
}
@media screen and (max-width: 768px) {
    .p-ryowa-block-quote cite::before {
        width: calc(46 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   p-ryowa-block-acc
--------------------------------------------- */
.p-ryowa-block-acc {
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 2;
}
@media screen and (max-width: 768px) {
    .p-ryowa-block-acc {
        font-size: calc(15 / var(--design-width) * 100vw);
        line-height: 1.9;
    }
}
.p-ryowa-block-acc:lang(en) {
    letter-spacing: 0.03em;
    line-height: 1.7;
}
.p-ryowa-block-acc__q {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 15px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-block-acc__q {
        gap: calc(15 / var(--design-width) * 100vw);
    }
}
.p-ryowa-block-acc__q::before {
    content: "";
    display: block;
    width: 46px;
    height: 1px;
    background-color: var(--color-red-1);
    margin-top: 17px;
    flex-shrink: 0;
}
@media screen and (max-width: 768px) {
    .p-ryowa-block-acc__q::before {
        width: calc(46 / var(--design-width) * 100vw);
        margin-top: calc(15 / var(--design-width) * 100vw);
    }
}
.p-ryowa-block-acc__name {
    display: inline-block;
    margin-right: 1.7rem;
}
@media screen and (max-width: 768px) {
    .p-ryowa-block-acc__name {
        margin-right: 1.4rem;
    }
}
.p-ryowa-block-acc__txt {
    display: inline;
    font-weight: 400;
}

/* ---------------------------------------------
*   p-ryowa-times-box
--------------------------------------------- */
.p-ryowa-times-box {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 3px 24px;
    font-size: calc(14 / var(--root-fz) * 1rem);
    line-height: 1.6;
}
@media screen and (max-width: 768px) {
    .p-ryowa-times-box {
        font-size: calc(14 / var(--design-width) * 100vw);
        gap: calc(20 / var(--design-width) * 100vw);
    }
}
.p-ryowa-times-box__date {
    position: relative;
}
.p-ryowa-times-box__date::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -12px;
    transform: translateY(-50%);
    width: 1px;
    height: 14px;
    background-color: var(--color-gray-1);
}
@media screen and (max-width: 768px) {
    .p-ryowa-times-box__date::after {
        right: calc(-11 / var(--design-width) * 100vw);
        height: calc(14 / var(--design-width) * 100vw);
    }
}
.p-ryowa-times-box__read {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 5px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-times-box__read {
        gap: calc(4 / var(--design-width) * 100vw);
    }
}
.p-ryowa-times-box__read::before {
    content: "";
    background-image: url(../img/common/ico_clock.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
    width: 16px;
    aspect-ratio: 1/1;
}
@media screen and (max-width: 768px) {
    .p-ryowa-times-box__read::before {
        width: calc(13 / var(--design-width) * 100vw);
    }
}
.p-ryowa-times-box--small {
    font-size: calc(13 / var(--root-fz) * 1rem);
}
@media screen and (max-width: 768px) {
    .p-ryowa-times-box--small {
        font-size: calc(12 / var(--design-width) * 100vw);
    }
}
.p-ryowa-times-box--small .p-ryowa-times-box__read::before {
    width: 15px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-times-box--small .p-ryowa-times-box__read::before {
        width: calc(10 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   p-ryowa-border
--------------------------------------------- */
.p-ryowa-border {
    border-top: 1px solid var(--color-gray-2);
}

/* ---------------------------------------------
*   p-ryowa-btn-1
--------------------------------------------- */
.p-ryowa-btn-1 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    color: var(--color-base-1);
    font-family: var(--mc--str--of-font-family-name--basic);
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 1.5;
    text-align: right;
    border: none;
    background: transparent;
    cursor: pointer;
    color: var(--color-base-1);
}
@media (hover: hover) and (pointer: fine) {
    .p-ryowa-btn-1 {
        transition: color var(--hover-duration);
    }
    .p-ryowa-btn-1:hover {
        color: var(--color-red-1);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-btn-1 {
        font-size: calc(17 / var(--design-width) * 100vw);
        gap: calc(12 / var(--design-width) * 100vw);
    }
}
@media screen and (min-width: 769px) {
    .p-ryowa-btn-1--left {
        margin-left: 0;
    }
}
.p-ryowa-btn-1__arrow {
    --arr-flame-width: 68px;
    position: relative;
    overflow: hidden;
    width: var(--arr-flame-width);
    aspect-ratio: 72/48;
    border-radius: 50%;
    border: 2px solid var(--color-red-1);
    flex-shrink: 0;
}
@media screen and (max-width: 768px) {
    .p-ryowa-btn-1__arrow {
        --arr-flame-width: calc(56/var(--design-width)*100vw);
        aspect-ratio: 60/40;
        border-width: calc(2 / var(--design-width) * 100vw);
    }
}
.p-ryowa-btn-1__arrow::before, .p-ryowa-btn-1__arrow::after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    content: "";
    display: block;
    width: 12px;
    aspect-ratio: 12/11;
    -webkit-mask-image: url(../img/common/ico_arrow.svg);
            mask-image: url(../img/common/ico_arrow.svg);
    -webkit-mask-size: cover;
            mask-size: cover;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    background-color: var(--color-red-1);
}
@media screen and (max-width: 768px) {
    .p-ryowa-btn-1__arrow::before, .p-ryowa-btn-1__arrow::after {
        width: calc(12 / var(--design-width) * 100vw);
    }
}
.p-ryowa-btn-1__arrow::after {
    position: absolute;
    transform: translate(calc(-50% - var(--arr-flame-width)), -50%);
}
.p-ryowa-btn-1--toggle .p-ryowa-btn-1__arrow::before, .p-ryowa-btn-1--toggle .p-ryowa-btn-1__arrow::after {
    -webkit-mask-image: url(../img/common/ico_toggle.svg);
            mask-image: url(../img/common/ico_toggle.svg);
}
@media (hover: hover) and (pointer: fine) {
    .p-ryowa-btn-1 .p-ryowa-btn-1__arrow::before, .p-ryowa-btn-1 .p-ryowa-btn-1__arrow::after {
        transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .p-ryowa-btn-1:hover .p-ryowa-btn-1__arrow::before {
        animation: u-arrow-before-cycle 0.3s cubic-bezier(0.3, 0, 0.6, 1);
    }
    .p-ryowa-btn-1:hover .p-ryowa-btn-1__arrow::after {
        animation: u-arrow-after-leave 0.3s cubic-bezier(0.3, 0, 0.6, 1);
    }
}
.p-ryowa-btn-1[target=_blank] .p-ryowa-btn-1__arrow::before, .p-ryowa-btn-1[target=_blank] .p-ryowa-btn-1__arrow::after {
    width: 20px;
    -webkit-mask-image: url(../img/common/ico_link.svg);
            mask-image: url(../img/common/ico_link.svg);
    aspect-ratio: 1/1;
}
@media screen and (max-width: 768px) {
    .p-ryowa-btn-1[target=_blank] .p-ryowa-btn-1__arrow::before, .p-ryowa-btn-1[target=_blank] .p-ryowa-btn-1__arrow::after {
        width: calc(20 / var(--design-width) * 100vw);
    }
}
.p-ryowa-btn-1--pdf .p-ryowa-btn-1__arrow::before, .p-ryowa-btn-1--pdf .p-ryowa-btn-1__arrow::after {
    width: 24px !important;
    -webkit-mask-image: url(../img/common/ico_pdf.svg) !important;
            mask-image: url(../img/common/ico_pdf.svg) !important;
    aspect-ratio: 24/9 !important;
}
@media screen and (max-width: 768px) {
    .p-ryowa-btn-1--pdf .p-ryowa-btn-1__arrow::before, .p-ryowa-btn-1--pdf .p-ryowa-btn-1__arrow::after {
        width: calc(24 / var(--design-width) * 100vw) !important;
    }
}

@keyframes u-arrow-before-cycle {
    0% {
        transform: translate(-50%, -50%);
    }
    20% {
        transform: translate(-50%, -50%);
    }
    100% {
        transform: translate(calc(-50% + var(--arr-flame-width)), -50%);
    }
}
@keyframes u-arrow-after-leave {
    0% {
        transform: translate(calc(-50% - var(--arr-flame-width)), -50%);
    }
    80% {
        transform: translate(calc(-50% - var(--arr-flame-width)), -50%);
    }
    100% {
        transform: translate(-50%, -50%);
    }
}
/* ---------------------------------------------
*   p-ryowa-card-1
--------------------------------------------- */
.p-ryowa-card-1 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: calc(30 / 600 * 100%);
}
@media (hover: hover) and (pointer: fine) {
    .p-ryowa-card-1 img {
        transition: transform var(--hover-duration);
    }
    .p-ryowa-card-1:hover img {
        transform: scale(1.05);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-card-1 {
        grid-template-columns: calc(157 / var(--design-width) * 100vw) 1fr;
        gap: calc(18 / var(--design-width) * 100vw);
    }
}
.p-ryowa-card-1__img {
    border-radius: 25px;
    overflow: hidden;
    aspect-ratio: 285/176;
}
@media screen and (max-width: 768px) {
    .p-ryowa-card-1__img {
        border-radius: calc(15 / var(--design-width) * 100vw);
        aspect-ratio: 157/97;
    }
}
.p-ryowa-card-1__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.p-ryowa-card-1__txt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

/* ---------------------------------------------
*   p-ryowa-card-2
--------------------------------------------- */
@media (hover: hover) and (pointer: fine) {
    .p-ryowa-card-2 img {
        transition: transform var(--hover-duration);
    }
    .p-ryowa-card-2:hover img {
        transform: scale(1.05);
    }
}
.p-ryowa-card-2__img {
    border-radius: 40px;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .p-ryowa-card-2__img {
        border-radius: calc(25 / var(--design-width) * 100vw);
    }
}
.p-ryowa-card-2__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.p-ryowa-card-2__img--small {
    border-radius: 27px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-card-2__img--small {
        border-radius: calc(15 / var(--design-width) * 100vw);
    }
}
.p-ryowa-card-2__img--30 {
    border-radius: 30px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-card-2__img--30 {
        border-radius: calc(15 / var(--design-width) * 100vw);
    }
}
.p-ryowa-card-2__txt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
.p-ryowa-card-2__chapter {
    padding: 4px 15px 5px;
    font-size: calc(13 / var(--root-fz) * 1rem);
    letter-spacing: 0.04em;
    line-height: 1;
    border: 1px solid var(--color-red-1);
    border-radius: 999px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: -moz-fit-content;
    width: fit-content;
}
@media screen and (max-width: 768px) {
    .p-ryowa-card-2__chapter {
        padding: calc(4 / var(--design-width) * 100vw) calc(12 / var(--design-width) * 100vw);
        font-size: calc(11 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-card-2--sp2col {
        display: grid;
        grid-template-columns: calc(157 / var(--design-width) * 100vw) 1fr;
        align-items: flex-start;
        gap: calc(18 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   p-ryowa-card-3
--------------------------------------------- */
@media (hover: hover) and (pointer: fine) {
    .p-ryowa-card-3 img {
        transition: transform var(--hover-duration);
    }
    .p-ryowa-card-3:hover img {
        transform: scale(1.05);
    }
}
.p-ryowa-card-3__img {
    border-radius: 35px;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .p-ryowa-card-3__img {
        border-radius: calc(25 / var(--design-width) * 100vw);
    }
}
.p-ryowa-card-3__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.p-ryowa-card-3__txt {
    letter-spacing: 0.04em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

/* ---------------------------------------------
*   p-ryowa-cassette-features
--------------------------------------------- */
.p-ryowa-cassette-features {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: calc(95 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .p-ryowa-cassette-features {
        display: block;
    }
    .p-ryowa-cassette-features + .p-ryowa-cassette-features {
        margin-top: calc(60 / var(--design-width) * 100vw);
    }
}
@media screen and (min-width: 769px) {
    .p-ryowa-cassette-features::before {
        background-color: var(--color-white-2);
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: calc(595 / var(--design-width) * 100vw);
        height: 100%;
    }
    .p-ryowa-cassette-features:first-of-type::before {
        border-radius: 0 90px 0 0;
    }
    .p-ryowa-cassette-features:last-of-type::before {
        border-radius: 0 0 90px 0;
    }
}
.p-ryowa-cassette-features__head {
    position: sticky;
    top: 0;
    padding-block: 166px;
    width: calc(595 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .p-ryowa-cassette-features__head {
        background-color: var(--color-white-2);
        position: static;
        padding-block: calc(40 / var(--design-width) * 100vw);
        width: 100%;
        border-radius: calc(60 / var(--design-width) * 100vw) calc(60 / var(--design-width) * 100vw) 0 0;
    }
}
.p-ryowa-cassette-features__head-inner {
    padding-inline: calc(60 / var(--design-width) * 100vw);
    max-width: 475px;
    margin-left: auto;
}
@media screen and (max-width: 768px) {
    .p-ryowa-cassette-features__head-inner {
        padding-inline: calc(var(--contents-side-padding) / var(--design-width) * 100vw);
        max-width: 100%;
    }
}
.p-ryowa-cassette-features__txts {
    width: calc(420 / 475 * 100%);
    margin-inline: auto;
}
@media screen and (max-width: 768px) {
    .p-ryowa-cassette-features__txts {
        width: 100%;
        text-align: center;
    }
}
.p-ryowa-cassette-features__img {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 475/293;
    border-radius: 30px;
    overflow: hidden;
}
.p-ryowa-cassette-features__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.p-ryowa-cassette-features__body {
    padding-block: 61px 70px;
    padding-inline: 0 calc(60 / var(--design-width) * 100vw);
    width: calc(660 / var(--design-width) * 100vw);
}
@media screen and (max-width: 768px) {
    .p-ryowa-cassette-features__body {
        padding: 0 calc(var(--contents-side-padding) / var(--design-width) * 100vw);
        width: calc(100% - var(--contents-side-padding) / var(--design-width) * 200vw);
        margin-top: calc(27 / var(--design-width) * 100vw);
    }
}
.p-ryowa-cassette-features__body-inner {
    max-width: 660px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-cassette-features__body-inner {
        max-width: 100%;
    }
}
/* ---------------------------------------------
*   p-ryowa-cassette-about
--------------------------------------------- */
.p-ryowa-cassette-about {
    padding-bottom: 45px;
    display: grid;
    grid-template-columns: calc(577 / var(--contents-width) * 100%) 1fr;
    gap: calc(90 / var(--contents-width) * 100%);
    align-items: center;
    margin-top: 100px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-cassette-about {
        padding-bottom: 0;
        display: flex;
        flex-direction: column-reverse;
        gap: calc(40 / var(--design-width) * 100vw);
        margin-top: 0;
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-cassette-about__head {
        width: 100%;
    }
}
.p-ryowa-cassette-about__head-inner {
    max-width: 477px;
    margin-left: auto;
}
@media screen and (max-width: 768px) {
    .p-ryowa-cassette-about__head-inner {
        max-width: 100%;
    }
}
.p-ryowa-cassette-about__ttl {
    font-size: calc(42 / var(--root-fz) * 1rem);
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.2;
}
@media screen and (max-width: 768px) {
    .p-ryowa-cassette-about__ttl {
        font-size: calc(35 / var(--design-width) * 100vw);
    }
}
.p-ryowa-cassette-about__txt {
    line-height: 1.65;
}
@media screen and (max-width: 768px) {
    .p-ryowa-cassette-about__body {
        padding-left: calc(24 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   p-ryowa-container
--------------------------------------------- */
.p-ryowa-container {
    padding-inline: calc(var(--contents-side-padding) / var(--design-width) * 100vw);
    max-width: calc(var(--contents-width) * 1px + var(--contents-side-padding) / var(--design-width) * 100vw * 2);
    margin-inline: auto;
}
@media screen and (max-width: 768px) {
    .p-ryowa-container {
        max-width: none;
    }
}

/* ---------------------------------------------
*   p-ryowa-container-middle
--------------------------------------------- */
.p-ryowa-container-middle {
    max-width: 1080px;
    margin-inline: auto;
}
@media screen and (max-width: 768px) {
    .p-ryowa-container-middle {
        max-width: none;
    }
}

/* ---------------------------------------------
*   p-ryowa-container-small
--------------------------------------------- */
.p-ryowa-container-small {
    max-width: 900px;
    margin-inline: auto;
}
@media screen and (max-width: 768px) {
    .p-ryowa-container-small {
        max-width: none;
    }
}

/* ---------------------------------------------
*   p-ryowa-container-narrow
--------------------------------------------- */
.p-ryowa-container-narrow {
    max-width: 720px;
    margin-inline: auto;
}
@media screen and (max-width: 768px) {
    .p-ryowa-container-narrow {
        max-width: none;
    }
}

/* ---------------------------------------------
*   p-ryowa-wrapper
--------------------------------------------- */
.p-ryowa-wrapper {
    position: relative;
    overflow: clip;
    color: #333;
}

/* ---------------------------------------------
*   p-ryowa-column-1
--------------------------------------------- */
.p-ryowa-column-1 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(60 / var(--contents-width) * 100%);
}
.p-ryowa-column-1--col-gap-90 {
    gap: calc(90 / var(--contents-width) * 100%);
}
@media screen and (max-width: 768px) {
    .p-ryowa-column-1 {
        grid-template-columns: repeat(1, 1fr);
        gap: calc(30 / var(--design-width) * 100vw);
    }
}
@media screen and (min-width: 769px) {
    .p-ryowa-column-1--3col {
        grid-template-columns: repeat(3, 1fr);
        gap: 70px calc(48 / var(--contents-width) * 100%);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-column-1--3col {
        grid-template-columns: repeat(2, 1fr);
    }
}
.p-ryowa-column-1--narrow {
    gap: 50px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-column-1--narrow {
        grid-template-columns: repeat(2, 1fr);
        gap: calc(20 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-column-1--sp1col {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* ---------------------------------------------
*   p-ryowa-column-2
--------------------------------------------- */
.p-ryowa-column-2 {
    display: grid;
    grid-template-columns: calc(620 / var(--contents-width) * 100%) calc(280 / var(--contents-width) * 100%) calc(280 / var(--contents-width) * 100%);
    gap: 60px calc(40 / var(--contents-width) * 100%);
}
@media screen and (max-width: 1199px) {
    .p-ryowa-column-2 {
        display: flex;
        flex-wrap: wrap;
        gap: min(60 / var(--design-width) * 100vw, 60px) calc(60 / var(--contents-width) * 100%);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-column-2 {
        gap: calc(32 / var(--design-width) * 100vw);
    }
}
.p-ryowa-column-2__item:nth-of-type(1) {
    margin-right: calc(20 / 620 * 100%);
}
@media screen and (max-width: 1199px) {
    .p-ryowa-column-2__item:nth-of-type(1) {
        margin-right: 0;
        width: 100%;
    }
}
@media screen and (max-width: 1199px) {
    .p-ryowa-column-2__item:nth-of-type(2) {
        width: calc((100% - 60 / var(--contents-width) * 100vw) / 2);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-column-2__item:nth-of-type(2) {
        width: calc((100% - 32 / var(--design-width) * 100vw) / 2);
    }
}
.p-ryowa-column-2__item:nth-of-type(3) {
    padding-top: min(173 / var(--design-width) * 100vw, 173px);
}
@media screen and (max-width: 1199px) {
    .p-ryowa-column-2__item:nth-of-type(3) {
        padding-top: 0;
        width: calc((100% - 60 / var(--contents-width) * 100vw) / 2);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-column-2__item:nth-of-type(3) {
        width: calc((100% - 32 / var(--design-width) * 100vw) / 2);
    }
}

/* ---------------------------------------------
*   p-ryowa-column-3
--------------------------------------------- */
.p-ryowa-column-3 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: min(60 / var(--design-width) * 100vw, 60px) calc(80 / var(--contents-width) * 100%);
}
@media screen and (max-width: 768px) {
    .p-ryowa-column-3 {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: calc(30 / var(--design-width) * 100vw);
    }
}
@media screen and (min-width: 769px) {
    .p-ryowa-column-3__item {
        width: calc((100% - 80 / var(--contents-width) * 100vw) / 2);
    }
    .p-ryowa-column-3__item:nth-of-type(2) {
        padding-top: min(90 / var(--design-width) * 100vw, 90px);
    }
    .p-ryowa-column-3__item article + article {
        margin-top: min(60 / var(--design-width) * 100vw, 60px);
    }
}

/* ---------------------------------------------
*   p-ryowa-column-4
--------------------------------------------- */
.p-ryowa-column-4 {
    display: grid;
    gap: 30px 40px;
    grid-template: auto 1fr/120px 1fr;
    grid-template-areas: "b a" "b c";
}

.p-ryowa-column-4.p-ryowa-column-4--img-wide-200 {
    grid-template: auto 1fr/220px 1fr;
    grid-template-areas: "b a" "b c";
}
a.p-ryowa-column-4 .p-ryowa-column-4__fig {
    border-radius: 15px;
    overflow: hidden;
}
a.p-ryowa-column-4 .p-ryowa-column-4__fig img{
    transition: transform var(--hover-duration);
}

@media screen and (min-width: 769px) {
    a.p-ryowa-column-4:hover .p-ryowa-column-4__fig img{
        transform: scale(1.05); 
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-column-4 {
        gap: calc(20 / var(--design-width) * 100vw);
        grid-template: auto 1fr/calc(96 / var(--design-width) * 100vw) 1fr;
        grid-template-areas: "b a" "c c";
    }
    .p-ryowa-column-4.p-ryowa-column-4--img-wide-200 {
        grid-template: auto 1fr/calc(130 / var(--design-width) * 100vw) 1fr;
        grid-template-areas: "b a" "c c";
    }
}
.p-ryowa-column-4__fig {
    grid-area: b;
    aspect-ratio: 120/150;
}
.p-ryowa-column-4.p-ryowa-column-4--img-wide-200 .p-ryowa-column-4__fig {
    aspect-ratio: 144/89;
}
.p-ryowa-column-4__fig img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 15px;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .p-ryowa-column-4__fig img {
        border-radius: calc(15 / var(--design-width) * 100vw);
    }
}
.p-ryowa-column-4__ttl-box {
    grid-area: a;
}
@media screen and (max-width: 768px) {
    .p-ryowa-column-4__ttl-box {
        padding-top: calc(11 / var(--design-width) * 100vw);
    }
}
.p-ryowa-column-4__detail {
    grid-area: c;
}
.p-ryowa-column-4__detail:lang(en) p {
    letter-spacing: 0.03em;
    line-height: 1.7 !important;
}
.p-ryowa-column-4--nofig {
    display: block;
}
@media screen and (max-width: 768px) {
    .p-ryowa-column-4--nofig .p-ryowa-column-4__ttl-box {
        padding-top: 0;
    }
}
@media screen and (min-width: 769px) {
    .p-ryowa-column-4--v2 {
        gap: 20px 40px;
    }
    .p-ryowa-column-4--v3 {
        gap: 20px 30px;
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-column-4--v2 {
        grid-template-areas: "b a" "b c";
        gap: calc(10 / var(--design-width) * 100vw) calc(20 / var(--design-width) * 100vw);
    }
    .p-ryowa-column-4--v3 {
        grid-template-areas: "b a" "b c";
        gap: calc(10 / var(--design-width) * 100vw) calc(15 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-column-4--v2 .p-ryowa-column-4__ttl-box,
    .p-ryowa-column-4--v3 .p-ryowa-column-4__ttl-box {
        padding-top: 0;
    }
}

/* ---------------------------------------------
*   p-ryowa-column-5
--------------------------------------------- */
.p-ryowa-column-5 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-column-5 {
        grid-template-columns: repeat(1, 1fr);
        gap: calc(15 / var(--design-width) * 100vw);
    }
}
.p-ryowa-column-5__item {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 20px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-column-5__item {
        grid-template-columns: calc(96 / var(--design-width) * 100vw) 1fr;
        align-items: center;
        gap: calc(20 / var(--design-width) * 100vw);
    }
}
.p-ryowa-column-5__fig {
    aspect-ratio: 100/125;
}
.p-ryowa-column-5__fig img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 15px;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .p-ryowa-column-5__fig img {
        border-radius: calc(15 / var(--design-width) * 100vw);
    }
}
.p-ryowa-column-5__rubi {
    font-size: calc(10 / var(--root-fz) * 1rem);
    letter-spacing: 0.04em;
    line-height: 1.7;
}
@media screen and (max-width: 768px) {
    .p-ryowa-column-5__rubi {
        font-size: calc(11 / var(--design-width) * 100vw);
    }
}
.p-ryowa-column-5__name {
    font-size: calc(20 / var(--root-fz) * 1rem);
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.4;
    display: block;
}
@media screen and (max-width: 768px) {
    .p-ryowa-column-5__name {
        font-size: calc(22 / var(--design-width) * 100vw);
    }
}
.p-ryowa-column-5__name-unit {
    font-size: calc(11 / var(--root-fz) * 1rem);
    margin-left: 6px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-column-5__name-unit {
        font-size: calc(12 / var(--design-width) * 100vw);
        margin-left: calc(6 / var(--design-width) * 100vw);
    }
}
.p-ryowa-column-5__txt {
    font-size: calc(12 / var(--root-fz) * 1rem);
    letter-spacing: 0.04em;
    line-height: 1.7;
    margin-top: 10px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-column-5__txt {
        font-size: calc(13 / var(--design-width) * 100vw);
        margin-top: calc(10 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-figure
--------------------------------------------- */
/* ---------------------------------------------
*   p-ryowa-search
--------------------------------------------- */
.p-ryowa-search {
    position: relative;
    border: none;
    background-color: var(--color-white-1);
    border-radius: 15px;
    padding: 16px 20px;
    max-width: 372px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-search {
        padding: calc(18 / var(--design-width) * 100vw) calc(14 / var(--design-width) * 100vw);
        border-radius: calc(12 / var(--design-width) * 100vw);
        max-width: none;
        display: block;
    }
}
.p-ryowa-search fieldset {
    position: relative;
    display: flex;
    gap: 12px;
    border: none;
}
.p-ryowa-search fieldset::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0px;
    width: 17px;
    height: 16px;
    background: url(../img/common/ico_search.svg) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
    .p-ryowa-search fieldset::before {
        left: calc(3 / var(--design-width) * 100vw);
        width: calc(20 / var(--design-width) * 100vw);
        height: calc(18 / var(--design-width) * 100vw);
        background-size: calc(20 / var(--design-width) * 100vw) calc(18 / var(--design-width) * 100vw);
    }
}
.p-ryowa-search fieldset.is-hover::before {
    transition: opacity 0.3s;
    opacity: 0.6;
}
.p-ryowa-search legend {
    display: none;
}
.p-ryowa-search input[type=text] {
    position: relative;
    border: none;
    margin-left: 27px;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    color: var(--color-base-1);
    font-family: var(--mc--str--of-font-family-name--basic);
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1;
}
@media screen and (max-width: 768px) {
    .p-ryowa-search input[type=text] {
        margin-left: calc(32 / var(--design-width) * 100vw);
        font-size: calc(18 / var(--design-width) * 100vw);
    }
}
.p-ryowa-search input[type=text]:placeholder {
    color: var(--color-gray-1);
}
.p-ryowa-search input[type=submit] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0px;
    width: 17px;
    height: 16px;
    z-index: 1;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    opacity: 0;
}
@media screen and (max-width: 768px) {
    .p-ryowa-search input[type=submit] {
        left: calc(3 / var(--design-width) * 100vw);
        width: calc(20 / var(--design-width) * 100vw);
        height: calc(18 / var(--design-width) * 100vw);
    }
}
.p-ryowa-search input[type=submit].is-hover .p-ryowa-search::before {
    transition: opacity 0.3s;
    opacity: 0.6;
}
.p-ryowa-search input[type=reset] {
    width: 12px;
    aspect-ratio: 1/1;
    display: block;
    cursor: pointer;
    flex-shrink: 0;
    background: url(../img/common/ico_close_search.svg) no-repeat center/contain;
    z-index: 1;
    padding: 0;
    border: none;
}
@media (hover: hover) and (pointer: fine) {
    .p-ryowa-search input[type=reset] {
        transition: opacity var(--hover-duration);
    }
    .p-ryowa-search input[type=reset]:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-search input[type=reset] {
        display: none;
    }
}
.p-ryowa-search--bd {
    padding: 11px 15px;
    border: 1px solid var(--color-gray-2);
    border-radius: 10px;
    width: 195px;
    max-width: none;
}
.p-ryowa-search--bd fieldset::before {
    left: 0px;
    width: 14px;
}
.p-ryowa-search--bd input[type=text] {
    font-size: calc(12 / var(--root-fz) * 1rem);
    margin-left: 19px;
}
.p-ryowa-search--bd input[type=reset] {
    width: 10px;
}

/* ---------------------------------------------
*   p-ryowa-img
--------------------------------------------- */
.p-ryowa-img {
    width: 100%;
}
.p-ryowa-img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 45px;
    overflow: hidden;
    aspect-ratio: 900/556;
}
.p-ryowa-img--vertical img {
    aspect-ratio: 445/556;
    width: min(470px, 70%);
    margin-inline: auto;
}
.p-ryowa-img--contain img {
    aspect-ratio: unset;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
}
@media screen and (max-width: 768px) {
    .p-ryowa-img img {
        border-radius: calc(25 / var(--design-width) * 100vw);
    }
}
@media screen and (min-width: 769px) {
    .p-ryowa-img--28 img {
        border-radius: 28px;
    }
}
.p-ryowa-img--25 img {
    border-radius: 25px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-img--25 img {
        border-radius: calc(13 / var(--design-width) * 100vw);
    }
}
@media screen and (min-width: 769px) {
    .p-ryowa-img--35 img {
        border-radius: 35px;
    }
}
@media screen and (min-width: 769px) {
    .p-ryowa-img--50 img {
        border-radius: 50px;
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-img--50 {
        width: 100vw;
        margin-left: calc(50% - 50vw);
    }
    .p-ryowa-img--50 img {
        border-radius: 0;
    }
    .p-ryowa-img--50 figcaption {
        padding-inline: calc(var(--contents-side-padding) / var(--design-width) * 100vw);
    }
}
.p-ryowa-img figcaption, .p-ryowa-img__caprion {
    display: block;
    font-size: calc(14 / var(--root-fz) * 1rem);
    letter-spacing: 0.04em;
    line-height: 1.7;
    margin-top: 15px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-img figcaption, .p-ryowa-img__caprion {
        font-size: calc(14 / var(--design-width) * 100vw);
        margin-top: calc(10 / var(--design-width) * 100vw);
    }
}
.p-ryowa-img iframe {
    display: block;
    width: 100%;
    border: none;
    aspect-ratio: 720/445;
    border-radius: 35px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-img iframe {
        border-radius: calc(25 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   p-ryowa-fv
--------------------------------------------- */
.p-ryowa-fv {
    padding-block: 100px 181px;
    background-color: var(--color-white-2);
}
@media screen and (max-width: 768px) {
    .p-ryowa-fv {
        padding-block: calc(50 / var(--design-width) * 100vw) calc(120 / var(--design-width) * 100vw);
    }
}
.p-ryowa-fv__head {
    position: relative;
    display: flex;
    align-items: flex-start;
}
@media screen and (max-width: 1199px) {
    .p-ryowa-fv__head {
        display: block;
    }
}
.p-ryowa-fv__ttls {
    width: calc(603 / var(--contents-width) * 100%);
    flex-shrink: 0;
}
@media screen and (max-width: 1199px) {
    .p-ryowa-fv__ttls {
        width: 100%;
    }
}
.p-ryowa-fv__ttl {
    width: calc(412 / 603 * 100%);
    margin-left: calc(40 / 603 * 100%);
}
@media screen and (max-width: 768px) {
    .p-ryowa-fv__ttl {
        width: calc(300 / var(--design-width) * 100vw);
        margin-inline: auto;
    }
}
.p-ryowa-fv__ttl img {
    width: 100%;
}
.p-ryowa-fv__nav {
    margin: 40px calc(101 / 603 * 100%) 0 calc(40 / 603 * 100%);
    width: calc(412 / 603 * 100%);
}
@media screen and (max-width: 768px) {
    .p-ryowa-fv__nav {
        display: none;
    }
}
.p-ryowa-fv__img-link {
    position: absolute;
    top:43px;
    right: 0;
    z-index: 1;
    display: block;
    width: min(714 / var(--contents-width) * 100%, 867px);
    border-radius: 35px;
    overflow: hidden;
}
@media (hover: hover) and (pointer: fine) {
    .p-ryowa-fv__img-link img {
        transition: transform var(--hover-duration);
    }
    .p-ryowa-fv__img-link:hover img {
        transform: scale(1.05);
    }
}
@media screen and (max-width: 1199px) {
    .p-ryowa-fv__img-link {
        position: static;
        width: 100%;
        margin-top: 40px;
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-fv__img-link {
        margin-top: calc(50 / var(--design-width) * 100vw);
        border-radius: calc(25 / var(--design-width) * 100vw);
    }
}
.p-ryowa-fv__img-link img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.p-ryowa-fv__img-link.is-hover img {
    transform: scale(1.05);
}
.p-ryowa-fv__txt-link {
    padding: 40px calc(101 / 603 * 100%) 40px calc(40 / 603 * 100%);
    display: block;
    background-color: var(--color-white-1);
    border-radius: 35px;
    margin-top: 60px;
}
@media screen and (max-width: 1199px) {
    .p-ryowa-fv__txt-link {
        margin-top: calc(-20 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-fv__txt-link {
        padding: calc(50 / var(--design-width) * 100vw) calc(30 / var(--design-width) * 100vw) calc(30 / var(--design-width) * 100vw);
        border-radius: calc(35 / var(--design-width) * 100vw);
        margin-top: calc(-20 / var(--design-width) * 100vw);
    }
}
.p-ryowa-fv__body {
    margin-top: 90px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-fv__body {
        margin-top: calc(40 / var(--design-width) * 100vw);
    }
}
.p-ryowa-fv h2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

/* ---------------------------------------------
*   c-link-1
--------------------------------------------- */
.c-link-1 {
    display: inline-block;
    text-decoration: underline !important;
}
@media (hover: hover) and (pointer: fine) {
    .c-link-1:hover {
        text-decoration: none !important;
    }
}

/* ---------------------------------------------
*   p-ryowa-list-1
--------------------------------------------- */
.p-ryowa-list-1 {
    border-top: 1px solid var(--color-gray-2);
}
.p-ryowa-list-1__item {
    border-bottom: 1px solid var(--color-gray-2);
}
.p-ryowa-list-1__link {
    display: block;
    padding-block: 40px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-list-1__link {
        padding-block: calc(20 / var(--design-width) * 100vw);
        display: grid;
        grid-template: auto 1fr/calc(100 / var(--design-width) * 100vw) 1fr;
        grid-template-areas: "b a" "b c";
        gap: calc(8 / var(--design-width) * 100vw) calc(18 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) and (hover: hover) and (pointer: fine) {
    .p-ryowa-list-1__link img {
        transition: transform var(--hover-duration);
    }
    .p-ryowa-list-1__link:hover img {
        transform: scale(1.05);
    }
}
.p-ryowa-list-1__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}
@media screen and (max-width: 768px) {
    .p-ryowa-list-1__top {
        grid-area: a;
    }
}
.p-ryowa-list-1__chapter {
    padding: 4px 12px 5px;
    border: 1px solid var(--color-red-1);
    border-radius: 999px;
    text-align: center;
    color: var(--color-red-1);
    letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
    .p-ryowa-list-1__chapter {
        padding: calc(3 / var(--design-width) * 100vw) calc(12 / var(--design-width) * 100vw);
    }
}
.p-ryowa-list-1__ttl {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .p-ryowa-list-1__ttl {
        grid-area: c;
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-list-1__img {
        grid-area: b;
        aspect-ratio: 100/63;
        border-radius: calc(10 / var(--design-width) * 100vw);
        overflow: hidden;
    }
    .p-ryowa-list-1__img img {
        display: block;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
    }
}

/* ---------------------------------------------
*   p-ryowa-list-2
--------------------------------------------- */
.p-ryowa-list-2__item {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 16px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-list-2__item {
        gap: calc(16 / var(--design-width) * 100vw);
    }
}
.p-ryowa-list-2__item::before {
    content: "";
    display: block;
    width: 7px;
    aspect-ratio: 1/1;
    background-color: var(--color-red-1);
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 10px;
    flex-shrink: 0;
}
@media screen and (max-width: 768px) {
    .p-ryowa-list-2__item::before {
        width: calc(7 / var(--design-width) * 100vw);
        margin-top: calc(10 / var(--design-width) * 100vw);
    }
}
.p-ryowa-list-2__item + .p-ryowa-list-2__item {
    margin-top: 15px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-list-2__item + .p-ryowa-list-2__item {
        margin-top: calc(10 / var(--design-width) * 100vw);
    }
}
.p-ryowa-list-2:lang(en) p {
    letter-spacing: 0.03em;
    line-height: 1.65 !important;
}

/* ---------------------------------------------
*   p-ryowa-list-3
--------------------------------------------- */
.p-ryowa-list-3 {
    counter-reset: number 0;
}
.p-ryowa-list-3__item {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 8px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-list-3__item {
        gap: calc(8 / var(--design-width) * 100vw);
    }
}
.p-ryowa-list-3__item::before {
    content: counter(number) ".";
    counter-increment: number;
    color: var(--color-red-1);
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 500;
    letter-spacing: 0.04em;
    margin-top: 6px;
    flex-shrink: 0;
}
@media screen and (max-width: 768px) {
    .p-ryowa-list-3__item::before {
        font-size: calc(16 / var(--design-width) * 100vw);
        letter-spacing: 0.06em;
        margin-top: calc(6 / var(--design-width) * 100vw);
    }
}
.p-ryowa-list-3__item + .p-ryowa-list-3__item {
    margin-top: 20px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-list-3__item + .p-ryowa-list-3__item {
        margin-top: calc(20 / var(--design-width) * 100vw);
    }
}
.p-ryowa-list-3__lv2, .p-ryowa-list-3__lv3 {
    padding-left: 1rem;
    margin-top: 6px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-list-3__lv2, .p-ryowa-list-3__lv3 {
        padding-left: 0.7rem;
        margin-top: calc(6 / var(--design-width) * 100vw);
    }
}
.p-ryowa-list-3__lv2 > * + *, .p-ryowa-list-3__lv3 > * + * {
    margin-top: 6px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-list-3__lv2 > * + *, .p-ryowa-list-3__lv3 > * + * {
        margin-top: calc(6 / var(--design-width) * 100vw);
    }
}
.p-ryowa-list-3:lang(en) p, .p-ryowa-list-3:lang(en) a {
    letter-spacing: 0.03em;
    line-height: 1.65 !important;
}

/* ---------------------------------------------
*   p-ryowa-list-sns
--------------------------------------------- */
.p-ryowa-list-sns {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 14px;
}
.p-ryowa-list-sns__item {
    width: 25px;
}
.p-ryowa-list-sns__link {
    display: block;
}
@media (hover: hover) and (pointer: fine) {
    .p-ryowa-list-sns__link {
        transition: opacity var(--hover-duration);
    }
    .p-ryowa-list-sns__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}

/* ---------------------------------------------
*   p-ryowa-list-btn
--------------------------------------------- */
.p-ryowa-list-btn {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: stretch;
    gap: 10px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-list-btn {
        grid-template-columns: repeat(1, 1fr);
        gap: calc(12 / var(--design-width) * 100vw);
    }
}
.p-ryowa-list-btn__item {
    display: grid;
    grid-template-rows: subgrid;
}
.p-ryowa-list-btn__link {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 20px 10px;
    border-radius: 999px;
    font-size: calc(15 / var(--root-fz) * 1rem);
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 1.5;
    border: 2px solid var(--color-base-1);
}
@media (hover: hover) and (pointer: fine) {
    .p-ryowa-list-btn__link {
        transition: opacity var(--hover-duration);
    }
    .p-ryowa-list-btn__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-list-btn__link {
        padding: calc(18 / var(--design-width) * 100vw) calc(10 / var(--design-width) * 100vw);
        font-size: calc(15 / var(--design-width) * 100vw);
        border-width: calc(2 / var(--design-width) * 100vw);
    }
}
.p-ryowa-list-btn__link img {
    aspect-ratio: 1/1;
}
.p-ryowa-list-btn__link:lang(en) {
    letter-spacing: 0.03em;
}
.p-ryowa-list-btn__link img[src*=ico_x_cl] {
    width: 16px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-list-btn__link img[src*=ico_x_cl] {
        width: calc(16 / var(--design-width) * 100vw);
    }
}
.p-ryowa-list-btn__link img[src*=ico_facebook_cl] {
    width: 20px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-list-btn__link img[src*=ico_facebook_cl] {
        width: calc(20 / var(--design-width) * 100vw);
    }
}
.p-ryowa-list-btn__link img[src*=ico_in_cl] {
    width: 19px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-list-btn__link img[src*=ico_in_cl] {
        width: calc(19 / var(--design-width) * 100vw);
    }
}
.p-ryowa-list-btn__link:has(img[src*=ico_facebook_cl]) {
    border-color: #0866FF;
}
.p-ryowa-list-btn__link:has(img[src*=ico_in_cl]) {
    border-color: #2867B2;
}
.p-ryowa-list-btn__ico {
    flex-shrink: 0;
    display: flex;
}

/*  c-modal
--------------------------------------------- */
.c-modal {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}
.c-modal.is-open {
    pointer-events: visible;
    opacity: 1;
    visibility: visible;
}
.c-modal__overlay {
    position: fixed;
    inset: 0;
    z-index: 999999999;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 110px 140px;
    overscroll-behavior-y: none;
    overflow-y: auto;
    scrollbar-width: none;
}
@media screen and (max-width: 768px) {
    .c-modal__overlay {
        padding: calc(110 / var(--design-width) * 100vw) calc(40 / var(--design-width) * 100vw);
    }
    .c-modal--wide .c-modal__overlay {
        padding: calc(110 / var(--design-width) * 100vw) calc(20 / var(--design-width) * 100vw);
    }
}
.c-modal__overlay::-webkit-scrollbar {
    display: none;
}
.c-modal__inner {
    position: relative;
    width: min(100%, var(--contents-width) / var(--design-width) * 100vw);
}
.c-modal__content {
    max-height: calc(100lvh - 220px);
    margin-inline: auto;
    overflow-y: auto;
    border-radius: 28px;
    aspect-ratio: 9 / 16;
}
.c-modal--wide .c-modal__content {
    max-height: calc(100lvh - 220px);
    margin-inline: auto;
    overflow-y: auto;
    border-radius: 28px;
    aspect-ratio: 16 / 9;
}
@media screen and (max-width: 768px) {
    .c-modal__content {
        max-height: calc(100lvh - 280px);
        border-radius: calc(23 / var(--design-width) * 100vw);
    }
}
.c-modal__close {
    position: absolute;
    top: 37px;
    right: 33px;
    padding: 0;
    display: block;
    width: 91px;
    aspect-ratio: 80/54;
    cursor: pointer;
    background: url(../img/common/ico_close.svg) 0 0 no-repeat;
    background-size: cover;
    background-color: transparent;
    border: none;
}
@media (hover: hover) and (pointer: fine) {
    .c-modal__close {
        transition: opacity var(--hover-duration);
    }
    .c-modal__close:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (max-width: 768px) {
    .c-modal__close {
        top: calc(15 / var(--design-width) * 100vw);
        right: calc(12 / var(--design-width) * 100vw);
        width: calc(94 / var(--design-width) * 100vw);
    }
}
.c-modal iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
}

/* Modal Animation Style　(アニメーション不要の場合は削除)
--------------------------------------------- */
.c-modal[aria-hidden=false] .c-modal__overlay {
    animation: mmfadeIn 0.5s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal[aria-hidden=true] .c-modal__overlay {
    animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.c-modal__overlay, .c-modal__container {
    will-change: transform;
}

@keyframes mmfadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes mmfadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
/* ---------------------------------------------
*   p-ryowa-nav
--------------------------------------------- */
@media screen and (max-width: 768px) {
    .p-ryowa-nav {
        margin-top: calc(8 / var(--design-width) * 100vw);
    }
}
.p-ryowa-nav__list {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    /* justify-content: space-between; */
    flex-wrap: wrap;
    /* gap: 22px; */
    gap: 60px;
}
@media screen and (min-width: 769px) and (max-width: 900px) {
    .is-tb .p-ryowa-nav__list {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 25px;
    }
}

@media screen and (max-width: 768px) {
    .p-ryowa-nav__list {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: calc(26 / var(--design-width) * 100vw);
    }
}
.p-ryowa-nav__link {
    padding: 0;
    background-color: transparent;
    border: none;
    cursor: pointer;
    display: block;
    font-family: var(--mc--str--of-font-family-name--basic);
    color: var(--color-base-1);
}
/* 検索するアクティブ時 */
.js-search-trigger.is-active {
    color: var(--color-red-1);
}
@media (hover: hover) and (pointer: fine) {
    .p-ryowa-nav__link {
        transition: color var(--hover-duration);
    }
    .p-ryowa-nav__link:hover {
        color: var(--color-red-1);
    }
}
.p-ryowa-nav__link.is-current {
    color: var(--color-red-1);
}

/*  p-ryowa-nav-wrap
--------------------------------------------- */
    .p-ryowa-nav-wrap {
        position: fixed;
        inset: 0;
        z-index: 100000000;
        overflow-y: auto;
        overscroll-behavior-y: none;
        opacity: 0;
        visibility: hidden;
        scrollbar-width: none;
    }
    .p-ryowa-nav-wrap::-webkit-scrollbar {
        display: none;
    }
    .p-ryowa-nav-wrap.is-animating {
        transition: opacity 0.3s, visibility 0.3s;
    }
    .is-menu-opened .p-ryowa-nav-wrap {
        visibility: visible;
        opacity: 1;
    }

@media screen and (min-width: 769px) {
    .p-ryowa-nav-wrap {
        display: none !important;
    }
}
@media screen and (min-width: 769px) and (max-width: 900px) {
    .p-ryowa-nav-wrap.is-tb {
        display: block !important;
    }
    .p-ryowa-nav-wrap.is-tb .p-ryowa-nav-wrap__container {
        padding: 57px;
        gap: 26px;
    }
    .p-ryowa-nav-wrap.is-tb .p-ryowa-nav-wrap__ttl {
        width: 300px;
    }
    .p-ryowa-nav-wrap.is-tb .p-ryowa-nav {
        width: 300px;
        margin-inline: auto;
    }
    .p-ryowa-nav-wrap.is-tb .p-ryowa-search {
        width: 300px;
        margin-inline: auto;
    }
}
    .p-ryowa-nav-wrap__container {
        overflow-y: auto;
        height: calc(100% + 1px);
        box-sizing: border-box;
        padding: calc(57 / var(--design-width) * 100vw);
        background-color: var(--color-white-2);
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: calc(26 / var(--design-width) * 100vw);
}
.p-ryowa-nav-wrap__ttl {
    display: block;
    width: calc(300 / var(--design-width) * 100vw);
    margin: 0 auto;
}
.p-ryowa-nav-wrap__ttl img {
    width: 100%;
    height: auto;
}

/*  p-ryowa-nav-btn
--------------------------------------------- */
.p-ryowa-nav-btn {
    display: none;
    position: fixed;
    bottom: calc(13 / var(--design-width) * 100vw);
    right: calc(9 / var(--design-width) * 100vw);
    padding: 0;
    width: calc(99 / var(--design-width) * 100vw);
    aspect-ratio: 84/54;
    border: 0;
    border-radius: 0;
    background: none;
    margin: 0;
    box-shadow: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    outline: none;
    touch-action: manipulation;
    cursor: pointer;
    z-index: 10;
}
@media (hover: hover) and (pointer: fine) {
    .p-ryowa-nav-btn {
        transition: opacity var(--hover-duration);
    }
    .p-ryowa-nav-btn:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media screen and (min-width: 769px) and (max-width: 900px) {
    .p-ryowa-nav-btn.is-tb {
        display: block !important;
        bottom: 13px;
        right: 9px;
        width: 99px;
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-nav-btn {
        display: block;
    }
}
.p-ryowa-nav-btn img {
    width: 100%;
    height: auto;
}
.p-ryowa-nav-btn img:first-of-type {
    display: block;
}
.p-ryowa-nav-btn img:last-of-type {
    display: none;
}
.is-menu-opened .p-ryowa-nav-btn img:first-of-type {
    display: none;
}
.is-menu-opened .p-ryowa-nav-btn img:last-of-type {
    display: block;
}

/* ---------------------------------------------
*   p-ryowa-sub-nav
--------------------------------------------- */
.p-ryowa-sub-nav {
    position: sticky;
    top: calc(var(--fixed-header-height) * 1px);
    left: 0;
    width: 100%;
    z-index: 100;
    padding-block: 16px;
    height: 43px;
    background-color: var(--color-white-1);
    /* box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16); */
    border-top: 1px solid var(--color-gray-2);
    z-index: 100000001;
}
@media screen and (max-width: 1200px) {
    .p-ryowa-sub-nav {
        transition: transform 0.3s;
    }
}
@media screen and (max-width: 900px) {
    .p-ryowa-sub-nav {
        display: none;
    }
}
.p-ryowa-sub-nav__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    height: 100%;
}
.p-ryowa-sub-nav__logo {
    display: block;
    width: 147px;
}
@media (hover: hover) and (pointer: fine) {
    .p-ryowa-sub-nav__logo {
        transition: opacity var(--hover-duration);
    }
    .p-ryowa-sub-nav__logo:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.p-ryowa-sub-nav.is-header-hidden {
    transform: translateY(-40px);
    transition: transform 0.3s;
}
.p-ryowa-sub-nav.is-nav-hidden {
    transform: translateY(-100%);
    transition: transform 0.3s;
}
.p-ryowa-sub-nav.is-header-hidden.is-nav-hidden {
    transform: translateY(calc(-100% - 40px));
    transition: transform 0.3s;
}

/* ---------------------------------------------
*   p-ryowa-section-1
--------------------------------------------- */
.p-ryowa-section-1 {
    padding-block: 120px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-section-1 {
        padding-block: calc(80 / var(--design-width) * 100vw);
    }
}
.p-ryowa-section-1__body {
    margin-top: 60px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-section-1__body {
        margin-top: calc(38 / var(--design-width) * 100vw);
    }
}
.p-ryowa-section-1__foot {
    margin-top: 60px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-section-1__foot {
        margin-top: calc(40 / var(--design-width) * 100vw);
    }
}
.p-ryowa-section-1--radius {
    background-color: var(--color-white-1);
    border-radius: 90px 90px 0 0;
    margin-top: -60px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-section-1--radius {
        border-radius: calc(50 / var(--design-width) * 100vw) calc(50 / var(--design-width) * 100vw) 0 0;
        margin-top: calc(-40 / var(--design-width) * 100vw);
    }
}
.p-ryowa-section-1--pt0 {
    padding-top: 0;
}
@media screen and (max-width: 768px) {
    .p-ryowa-section-1--pt0 {
        padding-top: calc(20 / var(--design-width) * 100vw);
    }
}
.p-ryowa-section-1--beige {
    background-color: var(--color-white-2);
}
.p-ryowa-section-1--movies {
    padding-bottom: 180px;
}

/* ---------------------------------------------
*   p-ryowa-section-articles
--------------------------------------------- */
.p-ryowa-section-articles {
    padding-block: 45px 0;
    background-color: var(--color-white-2);
}
@media screen and (max-width: 768px) {
    .p-ryowa-section-articles {
        padding-top: 0;
    }
}
.p-ryowa-section-articles__head {
    padding-block: 55px 100px;
}
.p-ryowa-section-articles__head--column {
    display: grid;
    grid-template-columns: 1fr calc(714 / var(--contents-width) * 100%);
    align-items: center;
    column-gap: 60px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-section-articles__head {
        padding-block: calc(80 / var(--design-width) * 100vw) calc(60 / var(--design-width) * 100vw);
    }
    .p-ryowa-section-articles__head--index {
        padding-block: calc(60 / var(--design-width) * 100vw);
    }
    .p-ryowa-section-articles__head--column {
        grid-template-columns: 1fr;
        row-gap: calc(35 / var(--design-width) * 100vw);
    }
}
.p-ryowa-section-articles__body {
    padding-block: 100px 120px;
    border-radius: 90px 90px 0 0;
    background-color: var(--color-white-1);
}
@media screen and (max-width: 768px) {
    .p-ryowa-section-articles__body {
        padding-block: calc(80 / var(--design-width) * 100vw);
        border-radius: calc(50 / var(--design-width) * 100vw) calc(50 / var(--design-width) * 100vw) 0 0;
    }
}
.p-ryowa-section-articles__body--module {
    padding-bottom: 180px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-section-articles__body--module {
        padding-block: calc(60 / var(--design-width) * 100vw) calc(120 / var(--design-width) * 100vw);
    }
}
.p-ryowa-section-articles__body--module .p-ryowa-txt-1:lang(en) {
    letter-spacing: 0.03em;
    line-height: 1.8;
}

/* ---------------------------------------------
*   p-ryowa-slider
--------------------------------------------- */
.p-ryowa-slider__wrapper {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
}
@media screen and (max-width: 768px) {
    .p-ryowa-slider__wrapper {
        gap: calc(25 / var(--design-width) * 100vw);
    }
}
.p-ryowa-slider .splide__track {
    position: relative;
    top: max(-17 / var(--design-width) * 100vw, -17px);
    width: calc(419 / 593 * 100%);
    overflow: visible;
    aspect-ratio: 489/610;
    margin-left: calc(37 / 593 * 100%);
}
@media screen and (max-width: 768px) {
    .p-ryowa-slider .splide__track {
        top: calc(12 / var(--design-width) * 100vw);
        left: calc(20 / var(--design-width) * 100vw);
        width: calc(299 / var(--design-width) * 100vw);
        aspect-ratio: 299/373;
        margin-left: 0;
    }
}
.p-ryowa-slider .splide__slide {
    position: absolute;
    top: 0;
    left: 0;
    transform: none !important;
    transition: opacity 1s ease-in-out;
}
.p-ryowa-slider .splide__slide:nth-of-type(2n + 1) .p-ryowa-slider__img {
    transform: rotate(-7.53deg);
}
.p-ryowa-slider .splide__slide:nth-of-type(2n) .p-ryowa-slider__img {
    transform: rotate(5deg);
}
.p-ryowa-slider .splide__slide.is-current-slide, .p-ryowa-slider .splide__slide.is-next-slide {
    opacity: 1;
    visibility: visible;
}
.p-ryowa-slider .splide__slide.is-current-slide {
    z-index: 2 !important;
}
.p-ryowa-slider .splide__slide.is-current-slide .p-ryowa-slider__img {
    opacity: 1;
}
.p-ryowa-slider .splide__slide.is-next-slide {
    z-index: 1;
}
.p-ryowa-slider .splide__slide.is-next-slide .p-ryowa-slider__img {
    opacity: 1;
}
.p-ryowa-slider .splide__slide.is-prev-slide {
    z-index: 3 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none;
    animation: sliderFadeOut 0.8s ease forwards;
}
@keyframes sliderFadeOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
.p-ryowa-slider__img {
    border-radius: 30px;
    overflow: hidden;
    transform: rotate(5deg);
    opacity: 0;
    transition: opacity 1s ease-in-out;
    aspect-ratio: 420/560;
}
@media screen and (max-width: 768px) {
    .p-ryowa-slider__img {
        border-radius: calc(18 / var(--design-width) * 100vw);
        aspect-ratio: 257/343;
        width: calc(257 / var(--design-width) * 100vw);
    }
}
.p-ryowa-slider__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.p-ryowa-slider__controls {
    width: 30px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
}
@media screen and (max-width: 768px) {
    .p-ryowa-slider__controls {
        width: calc(26 / var(--design-width) * 100vw);
        gap: calc(20 / var(--design-width) * 100vw);
        margin-right: calc(-10 / var(--design-width) * 100vw);
    }
}
.p-ryowa-slider__num {
    font-size: calc(13 / var(--root-fz) * 1rem);
    font-weight: 500;
    letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
    .p-ryowa-slider__num {
        font-size: calc(13 / var(--design-width) * 100vw);
    }
}
.p-ryowa-slider__progress {
    background-color: var(--color-gray-2);
    height: 200px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-slider__progress {
        height: calc(150 / var(--design-width) * 100vw);
    }
}
.p-ryowa-slider__progress-bar {
    background-color: var(--color-gray-1);
    width: 2px;
    transition: height 400ms ease;
    height: 0;
}
@media screen and (max-width: 768px) {
    .p-ryowa-slider__progress-bar {
        width: calc(2 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*  p-ryowa-slider-movies
--------------------------------------------- */
.p-ryowa-slider-movies {
    --left-margin: calc(var(--contents-side-padding)/var(--design-width)*100vw);
    --width: calc(var(--contents-width) * 1px + var(--contents-side-padding) / var(--design-width) * 100vw * 2);
    margin-left: calc((100% - var(--width)) / 2 - 10px);
}
@media screen and (max-width: 1650px) {
    .p-ryowa-slider-movies {
        margin-left: calc(var(--left-margin) - 20px);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-slider-movies {
        margin-left: 0;
    }
}
.p-ryowa-slider-movies .splide__list {
    gap: 20px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-slider-movies .splide__list {
        gap: calc(20 / var(--design-width) * 100vw);
    }
}
.p-ryowa-slider-movies .splide__slide {
    width: 322px !important;
    aspect-ratio: 358/601;
    border-radius: 25px;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .p-ryowa-slider-movies .splide__slide {
        aspect-ratio: 298.33/500.83 !important;
        width: calc(298 / var(--design-width) * 100vw) !important;
        border-radius: calc(20 / var(--design-width) * 100vw);
    }
}
.p-ryowa-slider-movies__trigger {
    position: relative;
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border: none;
    width: 100%;
    height: 100%;
    cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
    .p-ryowa-slider-movies__trigger img {
        transition: transform var(--hover-duration);
    }
    .p-ryowa-slider-movies__trigger:hover img {
        transform: scale(1.05);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-slider-movies__trigger {
        padding: calc(25 / var(--design-width) * 100vw);
    }
}
.p-ryowa-slider-movies__trigger::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: 56px;
    aspect-ratio: 1/1;
    background: url("../img/common/ico_play.svg") no-repeat center center/100% 100%;
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .p-ryowa-slider-movies__trigger::before {
        width: calc(46 / var(--design-width) * 100vw);
    }
}
.p-ryowa-slider-movies__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/* .p-ryowa-slider-movies__img::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: url("../img/common/bg_gray.png") no-repeat center center/100% 100%;
} */
.p-ryowa-slider-movies__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.p-ryowa-slider-movies__ttl {
    position: relative;
    text-align: left;
    color: var(--color-white-1);
    font-size: calc(26 / var(--root-fz) * 1rem);
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.3;
}
@media screen and (max-width: 768px) {
    .p-ryowa-slider-movies__ttl {
        font-size: calc(21 / var(--design-width) * 100vw);
    }
}
.p-ryowa-slider-movies__note {
    position: relative;
    text-align: left;
    color: var(--color-white-1);
    font-size: calc(20 / var(--root-fz) * 1rem);
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.4;
}
@media screen and (max-width: 768px) {
    .p-ryowa-slider-movies__note {
        font-size: calc(16 / var(--design-width) * 100vw);
    }
}
.p-ryowa-slider-movies__control {
    position: relative;
}
.p-ryowa-slider-movies .splide__arrows {
    position: absolute;
    top: -106px;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
}
.p-ryowa-slider-movies .splide__arrow {
    --arr-flame-width: 72px;
    position: relative;
    overflow: hidden;
    width: var(--arr-flame-width);
    aspect-ratio: 72/48;
    border-radius: 50%;
    border: 2px solid var(--color-red-1);
    flex-shrink: 0;
    background-color: transparent;
    top: 0;
    left: 0;
    height: auto;
    opacity: 1;
    transform: none;
}
@media screen and (max-width: 768px) {
    .p-ryowa-slider-movies .splide__arrow {
        --arr-flame-width: calc(56/var(--design-width)*100vw);
        aspect-ratio: 60/40;
        border-width: calc(2 / var(--design-width) * 100vw);
    }
}
.p-ryowa-slider-movies .splide__arrow::before, .p-ryowa-slider-movies .splide__arrow::after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    content: "";
    display: block;
    width: 12px;
    aspect-ratio: 12/11;
    background-image: url(../img/common/ico_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
@media screen and (max-width: 768px) {
    .p-ryowa-slider-movies .splide__arrow::before, .p-ryowa-slider-movies .splide__arrow::after {
        width: calc(12 / var(--design-width) * 100vw);
    }
}
.p-ryowa-slider-movies .splide__arrow::after {
    position: absolute;
    transform: translate(calc(-50% - var(--arr-flame-width)), -50%);
}
@media (hover: hover) and (pointer: fine) {
    .p-ryowa-slider-movies .splide__arrow::before, .p-ryowa-slider-movies .splide__arrow::after {
        transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .p-ryowa-slider-movies .splide__arrow:hover::before {
        animation: u-arrow-before-cycle 0.3s cubic-bezier(0.3, 0, 0.6, 1);
    }
    .p-ryowa-slider-movies .splide__arrow:hover::after {
        animation: u-arrow-after-leave 0.3s cubic-bezier(0.3, 0, 0.6, 1);
    }
}
.p-ryowa-slider-movies .splide__arrow--prev {
    rotate: 180deg;
}

/*  .p-ryowa-thumb-slider
--------------------------------------------- */
.p-ryowa-thumb-slider {
    --main-ratio: 720 / 484;
    --thumbnails-ratio-width: 720;
    --thumbnails-ratio-height: 74;
    --thumbnails-space: var(--thumbnails-ratio-height) / var(--thumbnails-ratio-width) * 100%;
    --thumbnail-ratio-width: 120;
    --thumbnail-ratio-height: 74;
    --thumbnail-ratio: var(--thumbnail-ratio-width) / var(--thumbnail-ratio-height);
    --main-thumbnails-gap: 30px;
    padding-bottom: 1px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-thumb-slider {
        --main-ratio: 374 / 263;
        --thumbnails-ratio-width: 374;
        --thumbnails-ratio-height: 50;
        --thumbnail-ratio-width: 80;
        --thumbnail-ratio-height: 50;
        --main-thumbnails-gap: 20/var(--design-width)*100vw;
    }
}
@media screen and (max-width: 900px) {
    .p-ryowa-thumb-slider {
        padding-bottom: 50px;
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-thumb-slider {
        padding-bottom: 1px;
    }
}
.p-ryowa-thumb-slider__inner {
    position: relative;
    margin-bottom: calc(var(--thumbnails-space) + var(--main-thumbnails-gap));
}
.p-ryowa-thumb-slider .splide {
    position: static;
}
.p-ryowa-thumb-slider__main-slider figcaption {
    padding-right: 3rem;
    overflow: hidden;
    white-space: nowrap;
    /* 文字がはみ出た時に三点リーダーにする */
    text-overflow: ellipsis;
}
.p-ryowa-thumb-slider__thumbnail-slider .p-ryowa-thumb-slider__wrapper {
    position: absolute;
    bottom: calc(-1 * var(--main-ratio) * var(--thumbnails-space) - var(--main-thumbnails-gap));
    aspect-ratio: var(--thumbnails-ratio-width)/var(--thumbnails-ratio-height);
}
.p-ryowa-thumb-slider__thumbnail-slider .splide__slide {
    transform: translate3d(0, 0, 0);
    cursor: pointer;
    transition: opacity 0.3s;
    border: none;
}
@media (hover: hover) and (pointer: fine) {
    .p-ryowa-thumb-slider__thumbnail-slider .splide__slide {
        transition: opacity var(--hover-duration);
    }
    .p-ryowa-thumb-slider__thumbnail-slider .splide__slide:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.p-ryowa-thumb-slider__thumbnail-slider .splide__slide:not(.is-active) {
    position: relative;
}
.p-ryowa-thumb-slider__thumbnail-slider .splide__slide:not(.is-active)::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.6);
    z-index: 1;
}
.p-ryowa-thumb-slider__thumbnail-slider .splide__slide.is-active {
    pointer-events: none;
}
.p-ryowa-thumb-slider__thumbnail-slider .splide__slide:focus-visible {
    outline: 3px solid #b4e900;
    outline-offset: -3px;
}
.p-ryowa-thumb-slider .splide__arrows {
    position: absolute;
    bottom: calc(-1 * var(--main-ratio) * var(--thumbnails-space) - var(--main-thumbnails-gap) + 20px);
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% + 140px);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
@media screen and (max-width: 900px) {
    .p-ryowa-thumb-slider .splide__arrows {
        bottom: calc(-1 * var(--main-ratio) * var(--thumbnails-space) - var(--main-thumbnails-gap) - 50px);
        width: 100%;
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-thumb-slider .splide__arrows {
        display: none;
    }
}
.p-ryowa-thumb-slider .splide__arrow {
    --arr-flame-width: 50px;
    position: relative;
    overflow: hidden;
    width: var(--arr-flame-width);
    aspect-ratio: 72/48;
    border-radius: 50%;
    border: 2px solid var(--color-red-1);
    flex-shrink: 0;
    background-color: transparent;
    top: 0;
    left: 0;
    height: auto;
    opacity: 1;
    transform: none;
}
@media screen and (max-width: 768px) {
    .p-ryowa-thumb-slider .splide__arrow {
        --arr-flame-width: calc(56/var(--design-width)*100vw);
        aspect-ratio: 60/40;
        border-width: calc(2 / var(--design-width) * 100vw);
    }
}
.p-ryowa-thumb-slider .splide__arrow::before, .p-ryowa-thumb-slider .splide__arrow::after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    content: "";
    display: block;
    width: 12px;
    aspect-ratio: 12/11;
    background-image: url(../img/common/ico_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
@media screen and (max-width: 768px) {
    .p-ryowa-thumb-slider .splide__arrow::before, .p-ryowa-thumb-slider .splide__arrow::after {
        width: calc(12 / var(--design-width) * 100vw);
    }
}
.p-ryowa-thumb-slider .splide__arrow::after {
    position: absolute;
    transform: translate(calc(-50% - var(--arr-flame-width)), -50%);
}
@media (hover: hover) and (pointer: fine) {
    .p-ryowa-thumb-slider .splide__arrow::before, .p-ryowa-thumb-slider .splide__arrow::after {
        transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .p-ryowa-thumb-slider .splide__arrow:hover::before {
        animation: u-arrow-before-cycle 0.3s cubic-bezier(0.3, 0, 0.6, 1);
    }
    .p-ryowa-thumb-slider .splide__arrow:hover::after {
        animation: u-arrow-after-leave 0.3s cubic-bezier(0.3, 0, 0.6, 1);
    }
}
.p-ryowa-thumb-slider .splide__arrow--prev {
    rotate: 180deg;
}
.p-ryowa-thumb-slider .splide__arrow[disabled] {
    opacity: 0.5;
    pointer-events: none;
}
.p-ryowa-thumb-slider__main-slider .p-ryowa-thumb-slider__img {
    aspect-ratio: var(--main-ratio);
}
.p-ryowa-thumb-slider__thumbnail-slider .p-ryowa-thumb-slider__img {
    aspect-ratio: var(--thumbnail-ratio);
}
.p-ryowa-thumb-slider__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    vertical-align: bottom;
    border-radius: 10px;
    overflow: hidden;
}
.p-ryowa-thumb-slider__slide-number {
    position: absolute;
    bottom: 0;
    right: 0;
    color: var(--color-gray-1);
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1.7;
    text-align: right;
}
@media screen and (max-width: 768px) {
    .p-ryowa-thumb-slider__slide-number {
        font-size: calc(14 / var(--design-width) * 100vw);
    }
}

/* p-ryowa-movie-trigger */
.p-ryowa-movie-trigger {
    position: relative;
    padding: 30px;
    flex-direction: column;
    justify-content: space-between;
    border: none;
    width: 100%;
    height: 100%;
    cursor: pointer;
    display: block;
    aspect-ratio: 358 / 601;
    border-radius: 30px;
    max-width: 358px;
    overflow: hidden;
    margin-inline: auto;
}
.p-ryowa-movie-trigger--wide {
    aspect-ratio: 720 / 445;
    border-radius: 35px;
    max-width: 100%;
}
@media (hover: hover) and (pointer: fine) {
    .p-ryowa-movie-trigger img {
        transition: transform var(--hover-duration);
    }
    .p-ryowa-movie-trigger:hover img {
        transform: scale(1.05);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-movie-trigger {
        padding: calc(25 / var(--design-width) * 100vw);
    }
}
.p-ryowa-movie-trigger::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: 56px;
    aspect-ratio: 1/1;
    background: url("../img/common/ico_play.svg") no-repeat center center/100% 100%;
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .p-ryowa-movie-trigger::before {
        width: calc(46 / var(--design-width) * 100vw);
    }
}
.p-ryowa-movie-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/* .p-ryowa-movie-img::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: url("../img/common/bg_gray.png") no-repeat center center/100% 100%;
} */
.p-ryowa-movie-img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}


/* ---------------------------------------------
*   p-ryowa-table-1
--------------------------------------------- */
.p-ryowa-table-1 {
    font-size: calc(15 / var(--root-fz) * 1rem);
    letter-spacing: 0.04em;
    line-height: 1.5;
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}
.p-ryowa-table-1:lang(en) {
    letter-spacing: 0.03em;
    line-height: 1.4;
}
@media screen and (max-width: 768px) {
    .p-ryowa-table-1 {
        font-size: calc(15 / var(--design-width) * 100vw);
    }
}
.p-ryowa-table-1 th {
    background-color: var(--color-white-2);
    font-weight: 500;
}
@media screen and (max-width: 768px) {
    .p-ryowa-table-1 th {
        font-size: calc(15 / var(--design-width) * 100vw);
    }
}
.p-ryowa-table-1 th,
.p-ryowa-table-1 td {
    padding: 20px;
    text-align: left;
}
@media screen and (max-width: 768px) {
    .p-ryowa-table-1 th,
    .p-ryowa-table-1 td {
        padding: calc(11 / var(--design-width) * 100vw) calc(20 / var(--design-width) * 100vw);
    }
}
.p-ryowa-table-1 tr {
    border-bottom: 1px solid var(--color-gray-2);
}
.p-ryowa-table-1--5col th {
    width: 20%;
}

/* ---------------------------------------------
*   p-ryowa-table-1-wrap
--------------------------------------------- */
@media screen and (max-width: 768px) {
    .p-ryowa-table-1-wrap {
        overflow-x: scroll;
        -webkit-overflow-scrolling: touch;
        padding-bottom: calc(20 / var(--design-width) * 100vw);
        /*スクロールバー全体*/
        /*スクロールバーの軌道*/
        /*スクロールバーの動く部分*/
    }
    .p-ryowa-table-1-wrap::-webkit-scrollbar {
        height: calc(2 / var(--design-width) * 100vw);
    }
    .p-ryowa-table-1-wrap::-webkit-scrollbar-track {
        border-radius: 10px;
        box-shadow: inset 0 0 6px var(--color-gray-2);
    }
    .p-ryowa-table-1-wrap::-webkit-scrollbar-thumb {
        background-color: var(--color-red-1);
        border-radius: 10px;
    }
    .p-ryowa-table-1-wrap .p-ryowa-table-1 {
        width: calc(561 / var(--design-width) * 100vw);
    }
    .p-ryowa-table-1-wrap .p-ryowa-table-1--4col {
        width: calc(748 / var(--design-width) * 100vw);
    }
    .p-ryowa-table-1-wrap .p-ryowa-table-1--5col {
        width: calc(935 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   p-ryowa-ttl-1
--------------------------------------------- */
.p-ryowa-ttl-1 {
    display: grid;
    grid-template-columns: repeat(2, auto);
    justify-content: start;
    align-items: start;
    gap: 14px;
    letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
    .p-ryowa-ttl-1 {
        gap: calc(9 / var(--design-width) * 100vw);
    }
}
.p-ryowa-ttl-1::before {
    content: "";
    display: block;
    width: 3px;
    height: 16px;
    background-color: var(--color-red-1);
    border-radius: 3px;
    flex-shrink: 0;
}

@media screen and (max-width: 768px) {
    .p-ryowa-ttl-1::before {
        width: calc(3 / var(--design-width) * 100vw);
        height: calc(12 / var(--design-width) * 100vw);
        border-radius: calc(3 / var(--design-width) * 100vw);
        margin-top: 0.1em;
    }
}
.p-ryowa-ttl-1.p-ryowa-txt-3 {
    gap: 11px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-ttl-1.p-ryowa-txt-3 {
        gap: calc(6 / var(--design-width) * 100vw);
    }
}
.p-ryowa-ttl-1.p-ryowa-txt-3::before {
    height: max(12px, 87%);
}
@media screen and (max-width: 768px) {
    .p-ryowa-ttl-1.p-ryowa-txt-3::before {
        height: max(calc(10 / var(--design-width) * 100vw), 90%);
    }
}
.p-ryowa-ttl-1.p-ryowa-txt-4 {
    position: relative;
    padding-left: 24px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-ttl-1.p-ryowa-txt-4 {
        padding-left: calc(23 / var(--design-width) * 100vw);
    }
}
.p-ryowa-ttl-1.p-ryowa-txt-4::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 4px;
    height: 83%;
}
@media screen and (max-width: 768px) {
    .p-ryowa-ttl-1.p-ryowa-txt-4::before {
        width: calc(4 / var(--design-width) * 100vw);
        height: 76%;
    }
}

/* ---------------------------------------------
*   p-ryowa-ttl-2
--------------------------------------------- */
.p-ryowa-ttl-2__en {
    position: relative;
    display: block;
    padding-left: 26px;
    font-size: calc(56 / var(--root-fz) * 1rem);
    font-weight: 500;
    letter-spacing: 0.02em;
    margin-top: 8px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-ttl-2__en {
        font-size: calc(45 / var(--design-width) * 100vw);
        padding-left: calc(22 / var(--design-width) * 100vw);
        margin-top: calc(7 / var(--design-width) * 100vw);
    }
}
.p-ryowa-ttl-2__en::before, .p-ryowa-ttl-2__en::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 6px;
    flex-shrink: 0;
}
@media screen and (max-width: 768px) {
    .p-ryowa-ttl-2__en::before, .p-ryowa-ttl-2__en::after {
        width: calc(4 / var(--design-width) * 100vw);
    }
}
.p-ryowa-ttl-2__en::before {
    height: 48px;
    background-color: var(--color-red-1);
    border-radius: 4px;
    transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
    .p-ryowa-ttl-2__en::before {
        height: calc(34 / var(--design-width) * 100vw);
        border-radius: calc(2.5 / var(--design-width) * 100vw);
    }
}
.p-ryowa-ttl-2__en::after {
    height: 24px;
    background-color: var(--color-red-2);
    border-radius: 0 0 4px 4px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-ttl-2__en::after {
        height: calc(17 / var(--design-width) * 100vw);
        border-radius: calc(0 / var(--design-width) * 100vw) calc(0 / var(--design-width) * 100vw) calc(2.5 / var(--design-width) * 100vw) calc(2.5 / var(--design-width) * 100vw);
    }
}
.p-ryowa-ttl-2--center {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
}

/* ---------------------------------------------
*   p-ryowa-ttl-3
--------------------------------------------- */
.p-ryowa-ttl-3 {
    position: relative;
    padding-bottom: 28px;
    font-size: calc(30 / var(--root-fz) * 1rem);
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.4;
}
@media screen and (max-width: 768px) {
    .p-ryowa-ttl-3 {
        font-size: calc(26 / var(--design-width) * 100vw);
        padding-bottom: calc(27 / var(--design-width) * 100vw);
    }
}
.p-ryowa-ttl-3::before, .p-ryowa-ttl-3::after {
    content: "";
    position: absolute;
    bottom: 0;
    display: block;
    height: 4px;
}
@media screen and (max-width: 768px) {
    .p-ryowa-ttl-3::before, .p-ryowa-ttl-3::after {
        height: calc(4 / var(--design-width) * 100vw);
    }
}
.p-ryowa-ttl-3::before {
    left: 0;
    border-radius: 6px;
    width: 76px;
    background-color: var(--color-red-1);
}
@media screen and (max-width: 768px) {
    .p-ryowa-ttl-3::before {
        width: calc(76 / var(--design-width) * 100vw);
        border-radius: calc(6 / var(--design-width) * 100vw);
    }
}
.p-ryowa-ttl-3::after {
    left: 38px;
    border-radius: 0 6px 6px 0;
    width: 38px;
    background-color: var(--color-red-2);
}
@media screen and (max-width: 768px) {
    .p-ryowa-ttl-3::after {
        left: calc(38 / var(--design-width) * 100vw);
        width: calc(38 / var(--design-width) * 100vw);
        border-radius: calc(0 / var(--design-width) * 100vw) calc(6 / var(--design-width) * 100vw) calc(6 / var(--design-width) * 100vw) calc(0 / var(--design-width) * 100vw);
    }
}
.p-ryowa-ttl-3:lang(en) {
    letter-spacing: 0.03em;
    line-height: 1.3 !important;
}

/* ---------------------------------------------
*   p-ryowa-ttl-4
--------------------------------------------- */
.p-ryowa-ttl-4 {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
    font-size: calc(24 / var(--root-fz) * 1rem);
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.4;
}
.p-ryowa-ttl-4::before {
    content: "";
    border-radius: 6px;
    width: 20px;
    height: 4px;
    background-color: var(--color-red-1);
    flex-shrink: 0;
    margin-top: 0.65em;
}
@media screen and (max-width: 768px) {
    .p-ryowa-ttl-4::before {
        width: calc(18 / var(--design-width) * 100vw);
        height: calc(4 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-ttl-4 {
        font-size: calc(22 / var(--design-width) * 100vw);
        gap: calc(15 / var(--design-width) * 100vw);
    }
}
@media screen and (min-width: 769px) {
    .p-ryowa-ttl-4--large {
        font-size: calc(28 / var(--root-fz) * 1rem);
        gap: 15px;
    }
}
.p-ryowa-ttl-4__sub {
    display: inline;
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.7;
    margin-left: 22px;
}
@media screen and (min-width: 769px) {
    .p-ryowa-ttl-4__sub {
        position: relative;
        top: -4px;
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-ttl-4__sub {
        display: block;
        font-size: calc(17 / var(--design-width) * 100vw);
        line-height: 1.65;
        margin-top: calc(5 / var(--design-width) * 100vw);
        margin-left: calc(-34 / var(--design-width) * 100vw);
    }
}
.p-ryowa-ttl-4:lang(en) {
    letter-spacing: 0.03em;
    line-height: 1.3 !important;
}

/* ---------------------------------------------
*   p-ryowa-ttl-5
--------------------------------------------- */
.p-ryowa-ttl-5 {
    font-size: calc(20 / var(--root-fz) * 1rem);
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.4;
}
@media screen and (max-width: 768px) {
    .p-ryowa-ttl-5 {
        font-size: calc(20 / var(--design-width) * 100vw);
    }
}
.p-ryowa-ttl-5:lang(en) {
    letter-spacing: 0.03em;
    line-height: 1.3 !important;
}

/* ---------------------------------------------
*   p-ryowa-ttl-6
--------------------------------------------- */
.p-ryowa-ttl-6 {
    position: relative;
    display: flex;
    padding-left: 30px;
}
.p-ryowa-ttl-6::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 6px;
    flex-shrink: 0;
}
.p-ryowa-ttl-6::before {
    height: 71.5%;
    background: linear-gradient(to bottom,  var(--color-red-1) 0%, var(--color-red-1) 50%, var(--color-red-2) 49.9%,var(--color-red-2) 100%);
    border-radius: 3px;
    transform: translateY(-50%);
}
.p-ryowa-ttl-6-txt {
    font-size: calc(40 / var(--root-fz) * 1rem);
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.4;
}
@media screen and (max-width: 768px) {
    .p-ryowa-ttl-6 {
        padding-left: calc(20 / var(--design-width) * 100vw);
    }
    .p-ryowa-ttl-6::before {
        width: calc(4 / var(--design-width) * 100vw);
        border-radius: calc(3 / var(--design-width) * 100vw);
    }
    .p-ryowa-ttl-6-txt {
        font-size: calc(30 / var(--design-width) * 100vw);
    }
}




/* ---------------------------------------------
*   p-ryowa-txt-1
--------------------------------------------- */
.p-ryowa-txt-1 {
    font-size: calc(16 / var(--root-fz) * 1rem);
    font-weight: 500;
    letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
    .p-ryowa-txt-1 {
        font-size: calc(16 / var(--design-width) * 100vw);
        letter-spacing: 0.06em;
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-txt-1--sp15 {
        font-size: calc(17 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-txt-1--sp20 {
        font-size: calc(20 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   p-ryowa-txt-2
--------------------------------------------- */
.p-ryowa-txt-2 {
    font-size: calc(30 / var(--root-fz) * 1rem);
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
    .p-ryowa-txt-2 {
        font-size: calc(24 / var(--design-width) * 100vw);
    }
}
@media screen and (min-width: 1200px) {
  .p-ryowa-fv__txt-link .p-ryowa-txt-2 {
    min-height: calc((30 / var(--root-fz) * 1rem) * 1.4 * 3);
  }
}

/* ---------------------------------------------
*   p-ryowa-txt-3
--------------------------------------------- */
.p-ryowa-txt-3 {
    font-size: calc(14 / var(--root-fz) * 1rem);
    font-weight: 500;
    letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
    .p-ryowa-txt-3 {
        font-size: calc(12 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-txt-3--sp13 {
        font-size: calc(14 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-txt-3--sp14 {
        font-size: calc(15 / var(--design-width) * 100vw);
    }
}

small.p-ryowa-txt-3:lang(en) {
    letter-spacing: 0.03em;
    line-height: 1.6 !important;
}

/* ---------------------------------------------
*   p-ryowa-txt-4
--------------------------------------------- */
.p-ryowa-txt-4 {
    font-size: calc(22 / var(--root-fz) * 1rem);
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.3;
}
@media screen and (max-width: 768px) {
    .p-ryowa-txt-4 {
        font-size: calc(18 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-txt-4--sp20 {
        font-size: calc(22 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   p-ryowa-txt-5
--------------------------------------------- */
.p-ryowa-txt-5 {
    font-size: calc(18 / var(--root-fz) * 1rem);
    font-weight: 500;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 768px) {
    .p-ryowa-txt-5 {
        font-size: calc(16 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-txt-5--sp15 {
        font-size: calc(17 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-txt-5--sp16 {
        font-size: calc(18 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   p-ryowa-txt-6
--------------------------------------------- */
.p-ryowa-txt-6 {
    font-size: calc(40 / var(--root-fz) * 1rem);
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .p-ryowa-txt-6 {
        font-size: calc(26 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-txt-6--sp28 {
        font-size: calc(28 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   p-ryowa-txt-7
--------------------------------------------- */
.p-ryowa-txt-7 {
    font-size: calc(15 / var(--root-fz) * 1rem);
    line-height: 1.6;
}
@media screen and (max-width: 768px) {
    .p-ryowa-txt-7 {
        font-size: calc(13 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-txt-7--sp14 {
        font-size: calc(15 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   p-ryowa-txt-8
--------------------------------------------- */
.p-ryowa-txt-8 {
    font-size: calc(26 / var(--root-fz) * 1rem);
    line-height: 1.3;
    letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
    .p-ryowa-txt-8 {
        font-size: calc(20 / var(--design-width) * 100vw);
    }
}
@media screen and (max-width: 768px) {
    .p-ryowa-txt-8--sp17 {
        font-size: calc(18 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   p-ryowa-txt-9
--------------------------------------------- */
.p-ryowa-txt-9 {
    font-size: calc(24 / var(--root-fz) * 1rem);
    line-height: 1.4;
    letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
    .p-ryowa-txt-9 {
        font-size: calc(22 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   p-ryowa-txt-10
--------------------------------------------- */
.p-ryowa-txt-10 {
    display: block;
    font-size: calc(13 / var(--root-fz) * 1rem);
    line-height: 1.7;
    letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
    .p-ryowa-txt-10 {
        font-size: calc(13 / var(--design-width) * 100vw);
    }
}
.p-ryowa-txt-10:lang(en) {
    letter-spacing: 0.03em;
    line-height: 1.6 !important;
}

/* ---------------------------------------------
*   background-color
--------------------------------------------- */
.bg-white {
    background-color: var(--color-white-1) !important;
}

/* ---------------------------------------------
*   border
--------------------------------------------- */
.bd-base-1 {
    border: 1px solid var(--color-base-1) !important;
}
.bd-white-1 {
    border: 1px solid var(--color-white-1) !important;
}
.bd-white-2 {
    border: 1px solid var(--color-white-2) !important;
}
.bd-gray-1 {
    border: 1px solid var(--color-gray-1) !important;
}
.bd-gray-2 {
    border: 1px solid var(--color-gray-2) !important;
}
.bd-red-1 {
    border: 1px solid var(--color-red-1) !important;
}
.bd-red-2 {
    border: 1px solid var(--color-red-2) !important;
}

/* ---------------------------------------------
*   color
--------------------------------------------- */
.fc-white-1 {
    color: var(--color-white-1) !important;
}

.fc-white-2 {
    color: var(--color-white-2) !important;
}

.fc-gray-1 {
    color: var(--color-gray-1) !important;
}

.fc-gray-2 {
    color: var(--color-gray-2) !important;
}

.fc-red-1 {
    color: var(--color-red-1) !important;
}

/* ---------------------------------------------
*   font-wight
--------------------------------------------- */
.fw-regular {
    font-weight: 400 !important;
}

.fw-normal {
    font-weight: 500 !important;
}

.fw-bold {
    font-weight: 700 !important;
}

/* ---------------------------------------------
*   text-align
--------------------------------------------- */
.txt-al-center {
    text-align: center !important;
}

@media screen and (max-width: 768px) {
    .txt-al-center-sp {
        text-align: center !important;
    }
}

.txt-al-right {
    text-align: right !important;
}

.txt-al-left {
    text-align: left !important;
}

/* ---------------------------------------------
*   line-height
--------------------------------------------- */
.lh-12 {
    line-height: 1.2 !important;
}

@media screen and (max-width: 768px) {
    .lh-135-sp {
        line-height: 1.35 !important;
    }
}

@media screen and (max-width: 768px) {
    .lh-14-sp {
        line-height: 1.4 !important;
    }
}

@media screen and (max-width: 768px) {
    .lh-15-sp {
        line-height: 1.5 !important;
    }
}

@media screen and (max-width: 768px) {
    .lh-16-sp {
        line-height: 1.6 !important;
    }
}

.lh-16 {
    line-height: 1.6 !important;
}

.lh-175 {
    line-height: 1.75 !important;
}

.lh-17 {
    line-height: 1.7 !important;
}

.lh-18 {
    line-height: 1.8 !important;
}

.lh-19 {
    line-height: 1.9 !important;
}

.lh-20 {
    line-height: 2 !important;
}

/* ---------------------------------------------
*   letter-spacing
--------------------------------------------- */
.ls-0 {
    letter-spacing: 0 !important;
}

.ls-1 {
    letter-spacing: 0.01em !important;
}

.ls-2 {
    letter-spacing: 0.02em !important;
}

.ls-3 {
    letter-spacing: 0.03em !important;
}

.ls-4 {
    letter-spacing: 0.04em !important;
}

.ls-5 {
    letter-spacing: 0.05em !important;
}

.ls-6 {
    letter-spacing: 0.06em !important;
}

.ls-7 {
    letter-spacing: 0.07em !important;
}

.ls-8 {
    letter-spacing: 0.08em !important;
}


/* ---------------------------------------------
*   display
--------------------------------------------- */
.display-inline-block {
    display: inline-block !important;
}

@media screen and (min-width: 769px) {
    .display-inline-block-pc {
        display: inline-block !important;
    }
}

@media screen and (max-width: 768px) {
    .display-inline-block-sp {
        display: inline-block !important;
    }
}

@media screen and (max-width: 768px) {
    .display-block-sp {
        display: block !important;
    }
}

.display-block {
    display: block !important;
}

/* ---------------------------------------------
*   js-fig-target
--------------------------------------------- */
.js-fig-target {
    position: absolute;
    width: 100%;
    height: 100%;
    transform: translateY(10%);
    opacity: 0;
    top: 0;
    left: 0;
}
.js-fig-target.is-show {
    transition: 0.5s ease;
    transform: none;
    opacity: 1;
    z-index: 2;
}
.js-fig-target.is-out {
    transition: 0.5s ease;
    transform: translateY(-10%);
    opacity: 0;
    z-index: 1;
}

/* ---------------------------------------------
*   js-search-target
--------------------------------------------- */
.js-search-target {
    display: none;
}
.js-search-target.is-open {
    display: block;
}

/*  js-more-scope
--------------------------------------------- */
.js-more-scope .js-more-item.is-hide {
    display: none !important;
}
.js-more-scope.is-show-all .js-more-trigger {
    display: none;
}

/* ---------------------------------------------
*   l-footer
--------------------------------------------- */

.l-footer__terminal :where(div > a) {
    display: none;
}

body {
    overflow: inherit;
}

@media print and (min-width: 769px), screen and (min-width: 769px) {
    .pc-hide {
        display: none !important;
    }
}
@media print and (max-width: 768px), screen and (max-width: 768px) {
    .sp-hide {
        display: none !important;
    }
}
@media print and (max-width: 1199px), screen and (max-width: 1199px) {
    .tb-hide {
        display: none !important;
    }
}
@media print and (min-width: 1200px), screen and (min-width: 1200px) {
    .tb-over {
        display: none !important;
    }
}
/* ---------------------------------------------
*   margin-top
--------------------------------------------- */
.mgt-pc--0 {
    margin-top: 0 !important;
}

.mgt-pc--5 {
    margin-top: 5px !important;
}

.mgt-pc--10 {
    margin-top: 10px !important;
}

.mgt-pc--15 {
    margin-top: 15px !important;
}

.mgt-pc--20 {
    margin-top: 20px !important;
}

.mgt-pc--25 {
    margin-top: 25px !important;
}

.mgt-pc--30 {
    margin-top: 30px !important;
}

.mgt-pc--35 {
    margin-top: 35px !important;
}

.mgt-pc--40 {
    margin-top: 40px !important;
}

.mgt-pc--45 {
    margin-top: 45px !important;
}

.mgt-pc--50 {
    margin-top: 50px !important;
}

.mgt-pc--55 {
    margin-top: 55px !important;
}

.mgt-pc--60 {
    margin-top: 60px !important;
}

.mgt-pc--65 {
    margin-top: 65px !important;
}

.mgt-pc--70 {
    margin-top: 70px !important;
}

.mgt-pc--75 {
    margin-top: 75px !important;
}

.mgt-pc--80 {
    margin-top: 80px !important;
}

.mgt-pc--85 {
    margin-top: 85px !important;
}

.mgt-pc--90 {
    margin-top: 90px !important;
}

.mgt-pc--95 {
    margin-top: 95px !important;
}

.mgt-pc--100 {
    margin-top: 100px !important;
}

.mgt-pc--105 {
    margin-top: 105px !important;
}

.mgt-pc--110 {
    margin-top: 110px !important;
}

.mgt-pc--115 {
    margin-top: 115px !important;
}

.mgt-pc--120 {
    margin-top: 120px !important;
}

.mgt-pc--125 {
    margin-top: 125px !important;
}

.mgt-pc--130 {
    margin-top: 130px !important;
}

.mgt-pc--135 {
    margin-top: 135px !important;
}

.mgt-pc--140 {
    margin-top: 140px !important;
}

.mgt-pc--145 {
    margin-top: 145px !important;
}

.mgt-pc--150 {
    margin-top: 150px !important;
}

.mgt-pc--155 {
    margin-top: 155px !important;
}

.mgt-pc--160 {
    margin-top: 160px !important;
}

.mgt-pc--165 {
    margin-top: 165px !important;
}

.mgt-pc--170 {
    margin-top: 170px !important;
}

.mgt-pc--175 {
    margin-top: 175px !important;
}

.mgt-pc--180 {
    margin-top: 180px !important;
}

.mgt-pc--185 {
    margin-top: 185px !important;
}

.mgt-pc--190 {
    margin-top: 190px !important;
}

.mgt-pc--195 {
    margin-top: 195px !important;
}

.mgt-pc--200 {
    margin-top: 200px !important;
}

.mgt-pc--205 {
    margin-top: 205px !important;
}

.mgt-pc--210 {
    margin-top: 210px !important;
}

.mgt-pc--215 {
    margin-top: 215px !important;
}

.mgt-pc--220 {
    margin-top: 220px !important;
}

.mgt-pc--225 {
    margin-top: 225px !important;
}

.mgt-pc--230 {
    margin-top: 230px !important;
}

.mgt-pc--235 {
    margin-top: 235px !important;
}

.mgt-pc--240 {
    margin-top: 240px !important;
}

.mgt-pc--245 {
    margin-top: 245px !important;
}

.mgt-pc--250 {
    margin-top: 250px !important;
}

@media screen and (max-width: 768px) {
    .mgt-sp--0 {
        margin-top: 0 !important;
    }
    .mgt-sp--5 {
        margin-top: calc(5 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--10 {
        margin-top: calc(10 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--15 {
        margin-top: calc(15 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--20 {
        margin-top: calc(20 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--25 {
        margin-top: calc(25 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--30 {
        margin-top: calc(30 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--35 {
        margin-top: calc(35 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--40 {
        margin-top: calc(40 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--45 {
        margin-top: calc(45 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--50 {
        margin-top: calc(50 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--55 {
        margin-top: calc(55 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--60 {
        margin-top: calc(60 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--65 {
        margin-top: calc(65 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--70 {
        margin-top: calc(70 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--75 {
        margin-top: calc(75 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--80 {
        margin-top: calc(80 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--85 {
        margin-top: calc(85 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--90 {
        margin-top: calc(90 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--95 {
        margin-top: calc(95 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--100 {
        margin-top: calc(100 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--105 {
        margin-top: calc(105 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--110 {
        margin-top: calc(110 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--115 {
        margin-top: calc(115 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--120 {
        margin-top: calc(120 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--125 {
        margin-top: calc(125 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--130 {
        margin-top: calc(130 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--135 {
        margin-top: calc(135 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--140 {
        margin-top: calc(140 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--145 {
        margin-top: calc(145 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--150 {
        margin-top: calc(150 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--155 {
        margin-top: calc(155 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--160 {
        margin-top: calc(160 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--165 {
        margin-top: calc(165 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--170 {
        margin-top: calc(170 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--175 {
        margin-top: calc(175 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--180 {
        margin-top: calc(180 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--185 {
        margin-top: calc(185 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--190 {
        margin-top: calc(190 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--195 {
        margin-top: calc(195 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--200 {
        margin-top: calc(200 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--205 {
        margin-top: calc(205 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--210 {
        margin-top: calc(210 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--215 {
        margin-top: calc(215 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--220 {
        margin-top: calc(220 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--225 {
        margin-top: calc(225 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--230 {
        margin-top: calc(230 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--235 {
        margin-top: calc(235 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--240 {
        margin-top: calc(240 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--245 {
        margin-top: calc(245 / var(--design-width) * 100vw) !important;
    }
    .mgt-sp--250 {
        margin-top: calc(250 / var(--design-width) * 100vw) !important;
    }
}
/* ---------------------------------------------
*   margin-bottom
--------------------------------------------- */
.mgb-pc--0 {
    margin-bottom: 0 !important;
}

.mgb-pc--5 {
    margin-bottom: 5px !important;
}

.mgb-pc--10 {
    margin-bottom: 10px !important;
}

.mgb-pc--15 {
    margin-bottom: 15px !important;
}

.mgb-pc--20 {
    margin-bottom: 20px !important;
}

.mgb-pc--25 {
    margin-bottom: 25px !important;
}

.mgb-pc--30 {
    margin-bottom: 30px !important;
}

.mgb-pc--35 {
    margin-bottom: 35px !important;
}

.mgb-pc--40 {
    margin-bottom: 40px !important;
}

.mgb-pc--45 {
    margin-bottom: 45px !important;
}

.mgb-pc--50 {
    margin-bottom: 50px !important;
}

.mgb-pc--55 {
    margin-bottom: 55px !important;
}

.mgb-pc--60 {
    margin-bottom: 60px !important;
}

.mgb-pc--65 {
    margin-bottom: 65px !important;
}

.mgb-pc--70 {
    margin-bottom: 70px !important;
}

.mgb-pc--75 {
    margin-bottom: 75px !important;
}

.mgb-pc--80 {
    margin-bottom: 80px !important;
}

.mgb-pc--85 {
    margin-bottom: 85px !important;
}

.mgb-pc--90 {
    margin-bottom: 90px !important;
}

.mgb-pc--95 {
    margin-bottom: 95px !important;
}

.mgb-pc--100 {
    margin-bottom: 100px !important;
}

.mgb-pc--105 {
    margin-bottom: 105px !important;
}

.mgb-pc--110 {
    margin-bottom: 110px !important;
}

.mgb-pc--115 {
    margin-bottom: 115px !important;
}

.mgb-pc--120 {
    margin-bottom: 120px !important;
}

.mgb-pc--125 {
    margin-bottom: 125px !important;
}

.mgb-pc--130 {
    margin-bottom: 130px !important;
}

.mgb-pc--135 {
    margin-bottom: 135px !important;
}

.mgb-pc--140 {
    margin-bottom: 140px !important;
}

.mgb-pc--145 {
    margin-bottom: 145px !important;
}

.mgb-pc--150 {
    margin-bottom: 150px !important;
}

.mgb-pc--155 {
    margin-bottom: 155px !important;
}

.mgb-pc--160 {
    margin-bottom: 160px !important;
}

.mgb-pc--165 {
    margin-bottom: 165px !important;
}

.mgb-pc--170 {
    margin-bottom: 170px !important;
}

.mgb-pc--175 {
    margin-bottom: 175px !important;
}

.mgb-pc--180 {
    margin-bottom: 180px !important;
}

.mgb-pc--185 {
    margin-bottom: 185px !important;
}

.mgb-pc--190 {
    margin-bottom: 190px !important;
}

.mgb-pc--195 {
    margin-bottom: 195px !important;
}

.mgb-pc--200 {
    margin-bottom: 200px !important;
}

.mgb-pc--205 {
    margin-bottom: 205px !important;
}

.mgb-pc--210 {
    margin-bottom: 210px !important;
}

.mgb-pc--215 {
    margin-bottom: 215px !important;
}

.mgb-pc--220 {
    margin-bottom: 220px !important;
}

.mgb-pc--225 {
    margin-bottom: 225px !important;
}

.mgb-pc--230 {
    margin-bottom: 230px !important;
}

.mgb-pc--235 {
    margin-bottom: 235px !important;
}

.mgb-pc--240 {
    margin-bottom: 240px !important;
}

.mgb-pc--245 {
    margin-bottom: 245px !important;
}

.mgb-pc--250 {
    margin-bottom: 250px !important;
}

@media screen and (max-width: 768px) {
    .mgb-sp--0 {
        margin-bottom: 0 !important;
    }
    .mgb-sp--5 {
        margin-bottom: calc(5 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--10 {
        margin-bottom: calc(10 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--15 {
        margin-bottom: calc(15 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--20 {
        margin-bottom: calc(20 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--25 {
        margin-bottom: calc(25 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--30 {
        margin-bottom: calc(30 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--35 {
        margin-bottom: calc(35 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--40 {
        margin-bottom: calc(40 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--45 {
        margin-bottom: calc(45 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--50 {
        margin-bottom: calc(50 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--55 {
        margin-bottom: calc(55 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--60 {
        margin-bottom: calc(60 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--65 {
        margin-bottom: calc(65 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--70 {
        margin-bottom: calc(70 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--75 {
        margin-bottom: calc(75 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--80 {
        margin-bottom: calc(80 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--85 {
        margin-bottom: calc(85 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--90 {
        margin-bottom: calc(90 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--95 {
        margin-bottom: calc(95 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--100 {
        margin-bottom: calc(100 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--105 {
        margin-bottom: calc(105 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--110 {
        margin-bottom: calc(110 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--115 {
        margin-bottom: calc(115 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--120 {
        margin-bottom: calc(120 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--125 {
        margin-bottom: calc(125 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--130 {
        margin-bottom: calc(130 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--135 {
        margin-bottom: calc(135 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--140 {
        margin-bottom: calc(140 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--145 {
        margin-bottom: calc(145 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--150 {
        margin-bottom: calc(150 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--155 {
        margin-bottom: calc(155 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--160 {
        margin-bottom: calc(160 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--165 {
        margin-bottom: calc(165 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--170 {
        margin-bottom: calc(170 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--175 {
        margin-bottom: calc(175 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--180 {
        margin-bottom: calc(180 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--185 {
        margin-bottom: calc(185 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--190 {
        margin-bottom: calc(190 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--195 {
        margin-bottom: calc(195 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--200 {
        margin-bottom: calc(200 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--205 {
        margin-bottom: calc(205 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--210 {
        margin-bottom: calc(210 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--215 {
        margin-bottom: calc(215 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--220 {
        margin-bottom: calc(220 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--225 {
        margin-bottom: calc(225 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--230 {
        margin-bottom: calc(230 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--235 {
        margin-bottom: calc(235 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--240 {
        margin-bottom: calc(240 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--245 {
        margin-bottom: calc(245 / var(--design-width) * 100vw) !important;
    }
    .mgb-sp--250 {
        margin-bottom: calc(250 / var(--design-width) * 100vw) !important;
    }
}
@media screen and (max-width: 768px) {
    .mgt-sp--12 {
        margin-top: calc(12 / var(--design-width) * 100vw) !important;
    }
}