.mv__sub {
    font-size: clamp(2.5rem, 0.357rem + 4.46vw, 4.375rem);
    font-weight: 700;
}

.mv__title {
    font-size: clamp(3.438rem, 0.938rem + 5.21vw, 5.625rem);
    font-weight: 700;
}

.mv {
    position: relative;
}

.mv__group {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
    color: #fff;
}

.mv::before {
    content: "";
    display: block;
    position: absolute;
    background-image: url(../image/mv_color.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    aspect-ratio: 2910 / 1267;
}

.sub__big {
    font-size: clamp(3.75rem, 0.893rem + 5.95vw, 6.25rem);
    font-weight: 700;
}

.sub__small {
    font-size: clamp(2.5rem, 1.071rem + 2.98vw, 3.75rem);
}

.sub {
    margin: 140px 0;
    text-align: center;
}

.sub__big {
    position: relative;
    display: inline-block;
    margin-bottom: 30px;
}

.sub__big span {
    background-image: radial-gradient(circle at center, #ff3131 20%, transparent 20%);
    /* 点の色とサイズ調整 */
    background-position: top right;
    /* 点の位置 */
    background-repeat: repeat-x;
    /* 横方向に繰り返し */
    background-size: 1em 0.3em;
    /* 点の間隔とサイズ調整 */
    padding-top: .4em;
    /* 縦方向の位置調整 */
}

.sub__big::before {
    content: "";
    display: block;
    position: absolute;
    background-image: url(../image/sub.png);
    background-position: left;
    background-repeat: no-repeat;
    background-size: contain;
    top: 18%;
    left: -10%;
    width: 13%;
    height: 70%;
}

.sub__big::after {
    content: "";
    display: block;
    position: absolute;
    background-image: url(../image/sub.png);
    background-position: right;
    background-repeat: no-repeat;
    background-size: contain;
    transform: scale(-1, 1);
    top: 18%;
    right: -10%;
    width: 13%;
    height: 70%;
}

.item__title {
    font-size: clamp(1.875rem, -0.268rem + 4.46vw, 3.75rem);
    color: #fff;
    font-weight: 700;
}

.item__title-img {
    width: 17%;
    padding-bottom: 35px;
}


.item__title-box {
    background: linear-gradient(180deg, #004aad 0%, #004aad 93%, #ffde59 93%, #ffde59 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    height: 224px;
}

.ykk {
    margin-top: 100px;
}

.ykk__container {
    display: flex;
    align-items: center;
    column-gap: 40px;
}

.ykk__container-img {
    width: 57%;
}

.ykk__box {
    display: flex;
    flex-direction: column;
    margin-top: 3.8%;
}

.ykk__box-sale {
    position: relative;
    color: #ffde59;
    font-weight: 700;
    font-size: clamp(3.125rem, 0.268rem + 5.95vw, 5.625rem);
    -webkit-text-stroke: 2px #000;
    display: flex;
    margin-bottom: 4%;
    transform: rotate(-10deg);
    background-image: url(../image/fukidashi.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    justify-content: center;
    align-items: center;
    width: 100%;
    aspect-ratio: 474 / 440;

}

.ykk__box-price {
    font-size: clamp(3.125rem, 0.625rem + 5.21vw, 5.313rem);
    font-weight: 700;
    color: #ff3131;
}

.ykk__box-title {
    font-size: clamp(1.688rem, 0.402rem + 2.68vw, 2.813rem);
    white-space: nowrap;
}

.ykk__box-sub {
    text-align: end;
    font-size: clamp(1.875rem, 0.804rem + 2.23vw, 2.813rem);
}

.ykk__img {
    margin-top: 100px;
}

.description__title {
    background-color: #1e4880;
    color: #fff;
    text-align: center;
    font-size: 80px;
    padding: 5px 0 10px;
}

.description__text {
    font-size: 39px;
    padding: 50px 20px;
}

.description {
    border: 5px solid #1e4880;
}

.fence {
    margin-top: 100px;
}

.fence__container-img {
    width: 53%;
    order: 2;
}

.fence__box {
    order: 1;
    row-gap: 0;
}

.fence__container {
    justify-content: space-around;
}

.fence__box-title {
    font-size: clamp(1.563rem, 0.134rem + 2.98vw, 2.813rem);
    color: #ff3131;
}

.fence__img-box {
    display: flex;
    column-gap: 23px;
    margin-top: 50px;
    margin-bottom: 60px;
}

.fence__img01 {
    width: 36%;
    height: 100%;
}

.fence__img02 {
    width: 61%;
    height: 100%;
}

.btn {
    width: 80%;
    margin: 0 auto;
    background-color: #004aad;
    border-radius: 40px;
    margin-top: 100px;
}

.btn__container {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 15px;
    padding: 30px 0;
}

.btn__text {
    font-size: clamp(1.875rem, -0.268rem + 4.46vw, 3.75rem);
    color: #fff;
}

.btn__text02 {
    font-size: clamp(1.563rem, -0.223rem + 3.72vw, 3.125rem);
    color: #ffde59;
    display: flex;
    align-items: center;
}

.btn__text02 span {
    display: block;
    width: 27px;
    height: 27px;
    border-top: 5px solid #ffde59;
    border-right: 5px solid #ffde59;
    transform: rotate(45deg) skew(-20deg, -20deg);
    margin-top: 8px;
}

.btn__text-box {
    text-align: center;
    margin-left: 35px;
}

.btn__hand {
    width: 15%;
}

.terrace {
    margin-top: 100px;
}

.terrace__box {
    row-gap: 0;
    margin-top: 0;
}

.terrace__img01 {
    width: 54%;
    height: 100%;
}

.terrace__img02 {
    width: 46%;
    height: 100%;
}

.terrace__img-box {
    align-items: center;
    margin-bottom: 75px;
    margin-top: 100px;
}

.terrace__img03 {
    margin-bottom: 100px;
}

.deck {
    margin-top: 100px;
}

.deck__img01 {
    width: 42%;
    height: 100%;
}

.deck__img02 {
    width: 53%;
    height: 100%;
}

.sc__img01 {
    width: 41%;
    height: 100%;
}

.sc__img02 {
    width: 53%;
    height: 100%;
}

.sc__img03 {
    margin-bottom: 100px;
}

.sc__img-box {
    column-gap: 44px;
    margin-bottom: 0;
}

.sc {
    margin-top: 100px;
    margin-bottom: 100px;
}

.lixil__box {
    margin-top: 0;
    margin-bottom: 50px;
}

.lixil__text {
    font-size: 26px;
    margin-left: 40px;
}

.lixil__img-box {
    margin-bottom: 100px;
}

.lixil__img01 {
    width: 62%;
    height: 100%;
}

.lixil__img02 {
    width: 50%;
    height: 100%;
}

.lixil__img03 {
    margin-bottom: 100px;
}

.lixil__text-box {
    margin-bottom: 100px;
}

.description__bottom {
    color: #ff3131;
    font-size: clamp(2.188rem, 0.759rem + 2.98vw, 3.438rem);
    text-align: center;
    margin-top: 80px;
}

.deco {
    background: linear-gradient(180deg, #004aad 0%, #004aad 80%, #ffde59 80%, #ffde59 100%);
    display: flex;
    align-items: center;
    column-gap: 10px;
    padding: 0px 50px;
    height: 55px;
    margin-top: 200px;
}


.point {
    margin-bottom: 200px;
}

.point__box {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.point__title {
    font-size: clamp(3.125rem, 1.482rem + 3.42vw, 4.563rem);
    color: #535353;
    margin-bottom: 20px;
    position: relative;
}

.point__title::before {
    content: "";
    display: block;
    position: absolute;
    top: -15px;
    right: -90px;
    background-image: url(../image/deco.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 30%;
    height: 50%;
}

.point__title::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -83%;
    left: -30px;
    background-image: url(../image/vector.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 110%;
    height: 100%;
}

.point__04 {
    font-size: clamp(5.625rem, -4.375rem + 20.83vw, 14.375rem);
    background-color: #004aad;
    border-radius: 50%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-weight: 900;
    padding-right: 1.5%;
    padding-bottom: 1.5%;
    width: 19.3%;
    aspect-ratio: 1 / 1;
}

.point__item {
    display: flex;
    align-items: flex-end;
    width: 100%;
    font-size: clamp(3.438rem, 0.938rem + 5.21vw, 5.625rem);
    color: rgb(83, 83, 83);
    font-weight: 700;
    justify-content: center;
    margin-top: 50px;
    column-gap: 20px;
}

.point__container {
    margin-top: 150px;
}

.point__group {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 55px;
    margin-top: 80px;
    margin-bottom: 100px;
}

.point__list {
    display: inline-block;
    width: 84%;
    font-size: clamp(2.313rem, -0.616rem + 6.1vw, 4.875rem);
    font-weight: 700;
    color: #535353;
    background-color: #f0f0f0;
    padding: 30px 0;
}

.point__list p {
    width: 80%;
    margin-left: 8%;
}

.triangle {
    position: relative;
    height: 390px;
}

.triangle::before {
    content: "";
    display: block;
    position: absolute;
    border-left: 170px solid transparent;
    border-right: 170px solid transparent;
    border-top: 170px solid #ffde59;
    width: 0;
    height: 0;
    top: 38%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.triangle::after {
    content: "";
    display: block;
    position: absolute;
    border-left: 170px solid transparent;
    border-right: 170px solid transparent;
    border-top: 170px solid #004aad;
    width: 0;
    height: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.point__text01 span {
    font-size: clamp(4.375rem, 2.232rem + 4.46vw, 6.25rem);
    font-weight: 700;
    color: #ff3131;
    padding: 0 10px;
    position: relative;
}

.point__text01 span::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-image: url(../image/wave.png);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: contain;
}

.point__text03 span {
    background-image: radial-gradient(circle at center, #ffde59 20%, transparent 20%);
    background-position: top right;
    background-repeat: repeat-x;
    background-size: 1em 0.3em;
    padding-top: .1em;
}

.point__bottom-text {
    font-size: clamp(1.875rem, -0.268rem + 4.46vw, 3.75rem);
    color: #535353;
}

.point__text01,
.point__text03 {
    margin-bottom: 20px;
}

.point__text02 {
    margin-bottom: 30px;
}

.point__text01,
.point__text02,
.point__text03 {
    padding-left: 20px;
}

.point__vector {
    width: 70%;
}

.img__woman {
    width: 100%;
    display: flex;
    justify-content: end;
}

.woman {
    width: 27.2%;
    margin-right: 7%;
}

.btn__point {
    margin-top: 0;
}


@media (max-width: 768px) {
    .sub__big {
        font-size: 35px;
    }

    .sub__small {
        font-size: 25px;
    }

    .mv__sub {
        font-size: 25px;
    }

    .mv__title {
        font-size: 30px;
    }

    .item__title-img {
        width: 12%;
        padding-bottom: 5px;
    }

    .item__title-box {
        height: 75px;
    }

    .item__title {
        font-size: 20px;
    }

    .ykk__box-price {
        font-size: 30px;
    }

    .ykk__box-sale {
        font-size: 27px;
        width: 85%;
        -webkit-text-stroke: 1px #000;
    }

    .ykk__box-title {
        font-size: 18px;
    }

    .fence {
        margin-top: 40px;
    }

    .fence__box-ykk {
        font-size: clamp(0.938rem, 0.46rem + 2.04vw, 1.438rem);
    }

    .fence__img-box {
        margin-top: 40px;
        margin-bottom: 40px;
        column-gap: 0;
    }

    .ykk__box-sub {
        font-size: 18px;
    }

    .ykk__container {
        column-gap: 5px;
    }

    .fence__box-title {
        font-size: 17px;
    }

    .point__title::before {
        width: 56px;
        height: 50%;
        top: -8%;
        right: -10%;
    }

    .point__title {
        font-size: 35px;
    }

    .point__title::after {
        left: 0;
        width: 100%;
    }

    .point__item {
        font-size: 35px;
        margin-top: 10px;
    }

    .point__04 {
        width: 110px;
        font-size: 90px;
    }

    .point__list {
        width: 90%;
        font-size: 24px;
        padding: 20px 0;
        display: flex;
        justify-content: center;
        max-width: 380px;
    }

    .point__list p {
        margin-left: 0;
    }

    .point__group {
        margin-top: 40px;
        row-gap: 20px;
        margin-bottom: 50px;
    }

    .point__bottom {
        margin-top: 30px;
    }

    .triangle {
        height: 100px;
    }

    .triangle::before {
        border-left: 80px solid transparent;
        border-right: 80px solid transparent;
        border-top: 80px solid #ffde59;
    }

    .triangle::after {
        border-left: 80px solid transparent;
        border-right: 80px solid transparent;
        border-top: 80px solid #004aad;
    }

    .point__bottom-text {
        font-size: 20px;
    }

    .point__text01 span {
        font-size: 30px;
        padding: 0 5px;
    }

    .sub {
        margin: 50px 0;
    }

    .ykk {
        margin-top: 40px;
    }

    .ykk__img {
        margin-top: 40px;
    }

    .description__title {
        font-size: 30px;
    }

    .description__text {
        font-size: 20px;
        padding: 20px 20px;
    }

    .terrace__img03 {
        margin-bottom: 40px;
    }

    .btn {
        margin-top: 40px;
        width: 90%;
    }

    .btn__text {
        font-size: 22px;
    }

    .btn__text02 {
        font-size: 18px;
    }

    .btn__text02 span {
        width: 15px;
        height: 15px;
        border-top: 3px solid #ffde59;
        border-right: 3px solid #ffde59;
        transform: rotate(45deg) skew(-20deg, -20deg);
        margin-top: 4px;
    }

    .btn__text-box {
        margin-left: 15px;
    }

    .btn__container {
        column-gap: 5px;
    }

    .terrace {
        margin-top: 50px;
    }

    .terrace__container {
        column-gap: 15px;
    }

    .deck {
        margin-top: 50px;
    }

    .sc {
        margin-top: 50px;
        margin-bottom: 50px;
    }

    .sc__img03 {
        margin-bottom: 40px;
    }

    .lixil__text {
        font-size: 18px;
        margin-left: 0;
    }

    .lixil__text-box {
        margin-bottom: 40px;
    }

    .lixil__img03 {
        margin-bottom: 40px;
    }

    .description__bottom {
        margin-top: 30px;
        font-size: 20px;
    }

    .deco {
        margin-top: 60px;
        height: 35px;
    }

    .point__container {
        margin-top: 50px;
    }

    .point__vector {
        width: 85%;
        max-width: 380px;
    }

    .btn__point {
        margin-top: 0;
    }

    .point {
        margin-bottom: 100px;
    }





}