/* 適応フォント */
/* font-family: "Zen Old Mincho", serif; */
html {
    font-size: min(calc(10 / 1440 * 100vw), 10px);

}

:root {
    --Zen_Old_Min: "Zen Old Mincho", serif;
}

.pc_only {
    display: block;
}

.sp_only {
    display: none;
}

.fv_area {
    width: 100%;
    height: calc(100vh - 70px);
    position: relative;
}

.fv_text_h2 {
    position: absolute;
    left: 8rem;
    font-size: 4rem;
    font-family: var(--Zen_Old_Min);
    font-weight: 400;
    bottom: 8.8rem;
    color: #fff;
}

.fv_area_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fv_area02 {
    position: relative;
}

.sec_1 {
    height: 100vh;
    background-image: url(../images/villaya_lp/villaya_lp_02.jpg);
    background-size: cover;
    background-position: center;
    width: 100%;
}

.fast_text_area {
    position: absolute;
    top: 25%;
    width: 100%;
    text-align: center;
}

.fast_logo {
    width: 30rem;
    height: 15.2rem;
    object-fit: contain;
    margin: 0 auto;
}

.fast_logo02 {
    display: block;
    width: 27.2rem;
    height: 13.6rem;
    margin: 0 auto 6.4rem auto;
}


.fast_text {
    color: #fff;
    font-family: var(--Zen_Old_Min);
    font-size: 1.4rem;
    margin-bottom: 3.6rem;
}


.fast_text_item {
    color: #fff;
    font-family: var(--Zen_Old_Min);
    font-size: 1.4rem;
    margin-bottom: 1.6rem;
}

.sec_02 {
    margin-bottom: 10rem;
}

.sec02_img {
    width: 72rem;
    height: 49.7rem;
    object-fit: contain;
    display: block;
    margin: 10rem auto 0 auto;
}

.sec_02_img_area {
    position: relative;
}

.sec02_img_logo {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
    width: 11rem;
    object-fit: contain;
}

.sec_02_title {
    font-size: 3.4rem;
    line-height: 150%;
    font-family: var(--Zen_Old_Min);
    text-align: center;
    margin-top: 2rem;
    margin-bottom: 2.4rem;
}

.sec_02_text {
    font-size: 1.4rem;
    line-height: 180%;
    font-family: var(--Zen_Old_Min);
    text-align: center;
    font-weight: 400;
    margin-bottom: 1rem;
}

.sec_03 {
    /* margin-bottom: 20rem; */
    margin-bottom: 12rem;
}

.sec_03_flex {
    display: flex;
    justify-self: center;
    gap: 15rem;
    align-items: end;
    margin-bottom: 20rem;
}

.sec_03_left {
    position: relative;
    margin-bottom: 10rem;
}

.sec_03_left_img {
    position: absolute;
    top: -1.6rem;
    width: 16rem;
    object-fit: contain;
}

.sec_title_text {
    font-size: 3.4rem;
    font-weight: 400;
    line-height: 150%;
    font-family: var(--Zen_Old_Min);
    color: #404040;
    margin-bottom: 2.4rem;
}

.sec_sub_text {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 180%;
    font-family: var(--Zen_Old_Min);
    color: #404040;
}

.sec_03_right {
    width: 42.7rem;
    height: 76.2rem;
    object-fit: contain;
}


.sec_03_02_flex {
    display: flex;
    justify-self: start;
    gap: 8rem;
    align-items: center;
    margin-bottom: 12rem;
}

.sec_03_02_left {
    width: 65rem;
    height: max-content;
    object-fit: contain;
}

.sec_03_02_right {
    position: relative;
}

.sec_03_02_right_img {
    position: absolute;
    top: -5rem;
    width: 20rem;
    object-fit: contain;
}

.sec_04 {
    position: relative;
    margin-bottom: 12rem;
}

.sec_04_img {
    display: flex;
    height: 100vh;
    width: 100%;
}

.sec_04_text_area {
    position: absolute;
    top: 34%;
    width: 100%;
    text-align: center;
    background-image: linear-gradient(90deg,
            rgba(255, 255, 255, 0) 25%,
            rgba(0, 0, 0, 0.5) 50%,
            rgba(255, 255, 255, 0) 75%);
    padding-top: 10rem;
    padding-bottom: 8rem;
    padding-left: 30rem;
    padding-right: 30rem;
    text-align: left;

}

.sec_title_text.white {
    color: #fff;
}

.sec_04_text_logo {
    width: 22rem;
    margin-bottom: 1.6rem;
}

.sec_05 {
    width: 100%;
    height: max-content;
    position: relative;
    padding: 0 0;
    margin-bottom: 10rem;
}

.sec_05_villaya_lp_button_a {
    width: max-content;
    display: block;
    margin: 12rem auto 0 auto;
}

.swiper {
    width: 100%;
    height: max-content;
}

/* .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease, opacity 0.5s ease;
    object-fit: contain;


} */

.swiper-slide-active img {
    transform: scale(1);
    opacity: 1;
    object-fit: cover;
}

.swiper-slide-prev img,
.swiper-slide-next img {
    transform: scale(0.7);
    z-index: 5;
    opacity: 0.8;
    object-fit: cover;
    transition: transform 0.5s ease, opacity 0.5s ease;
}





.swiper_h3_text {
    font-size: 1.6rem;
    font-family: var(--Zen_Old_Min);
    text-align: center;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.swiper_p_text {
    font-size: 1.4rem;
    font-family: var(--Zen_Old_Min);
    text-align: center;
}

.swiper_text {
    /* aspect-ratio: 1/1; */
}

.swiper-slide-active.swiper_text>.swiper_p_text {
    display: block;
}


.swiper-wrapper {
    display: flex;
    align-items: unset;
}




.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: 12%;
    top: 35rem;
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
    left: 12%;
    top: 35rem;
}



/* 文字非表示 */
.swiper_h3_text,
.swiper_p_text {
    display: none;
}

.swiper-slide-active .swiper_h3_text,
.swiper-slide-active .swiper_p_text {
    display: block;
}

/* swiperボタン */
.swiper-button-prev {
    background: url(../images/villaya_lp/swiper_left.svg) no-repeat center center / contain;
    width: 8rem;
}

.swiper-button-prev::after {
    content: "";
}

.swiper-button-next {
    background: url(../images/villaya_lp/swiper_right.svg) no-repeat center center / contain;
    width: 8rem;
}

.swiper-button-next::after {
    content: "";
}









.sec_06 {
    position: relative;
    margin-bottom: 12rem;
}

.sec_06_img {
    display: flex;
    height: 100vh;
    width: 100%;
}

.sec_06_img01 {
    width: 50%;
}

.sec_06_text_area {
    position: absolute;
    top: 34%;
    width: 100%;
    text-align: center;
    background-image: linear-gradient(90deg,
            rgba(255, 255, 255, 0) 25%,
            rgba(0, 0, 0, 0.5) 50%,
            rgba(255, 255, 255, 0) 75%);
    padding-top: 10rem;
    padding-bottom: 8rem;
    padding-left: 30rem;
    padding-right: 30rem;
    text-align: left;

}

.sec_title_text.white {
    color: #fff;
}

.sec_06_text_logo {
    width: 22rem;
    margin-bottom: 1.6rem;
}





.sec_07 {
    width: 100%;
    height: max-content;
    position: relative;
    padding: 0;
    margin-bottom: 12rem;
}

.sec_07_button_flex {
    display: flex;
    gap: 10rem;
    justify-self: center;
    margin-top: 12rem;
}

.sec_07_villaya_lp_button_a {
    width: max-content;
    display: block;
    margin: 12rem auto 0 auto;
}




.sec_08 {
    position: relative;
    margin-bottom: 12rem;
}

.sec_08_img {
    display: flex;
    height: 100vh;
    width: 100%;
}

.sec_08_text_area {
    position: absolute;
    top: 34%;
    width: 100%;
    text-align: center;
    background-image: linear-gradient(90deg,
            rgba(255, 255, 255, 0) 25%,
            rgba(0, 0, 0, 0.5) 50%,
            rgba(255, 255, 255, 0) 75%);
    padding-top: 10rem;
    padding-bottom: 8rem;
    padding-left: 30rem;
    padding-right: 30rem;
    text-align: left;

}

.sec_title_text.white {
    color: #fff;
}

.sec_08_text_logo {
    width: 10rem;
    margin-bottom: 1rem;
}




.sec_09 {
    width: 100%;
    height: max-content;
    position: relative;
    padding: 0;
    margin-bottom: 10rem;
}

.sec_09_villaya_lp_button_a {
    width: max-content;
    display: block;
    margin: 0 auto;
    margin-top: 12rem;
    gap: 7.02rem;
}

.sec_10 {
    /* margin-bottom: 20rem; */
}

.sec_10_flex {
    display: flex;
    gap: 15rem;
    align-items: end;
    margin-bottom: 46.6rem;
    width: 100%;
    justify-content: space-between;
    margin-top: 25rem;
}

.sec_10_left {
    position: relative;
    margin-bottom: 10rem;
    margin-left: 23.4rem;
}

.sec_title_text {
    font-size: 3.4rem;
    font-weight: 400;
    line-height: 150%;
    font-family: var(--Zen_Old_Min);
    color: #404040;
    margin-bottom: 2.4rem;
}

.sec_sub_text {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 180%;
    font-family: var(--Zen_Old_Min);
    color: #404040;
}

.sec_10_right {
    width: 40rem;
    height: 60rem;
    object-fit: contain;
    margin-right: 7.5rem;
    z-index: 1;
    position: relative;
}

.sec_10_right_area {
    position: relative;
}

.sec_sub_text10 {
    margin-bottom: 2.4rem;
}

.sec_10_right_01_sub01 {
    position: absolute;
    width: 20rem;
    height: 30rem;
    object-fit: cover;
    bottom: -12.6rem;
    left: -8.3rem;
    z-index: 1;

}

.sec_10_right_01_sub02 {
    position: absolute;
    height: 114rem;
    width: 15rem;
    object-fit: cover;
    right: 0;
    top: -12rem;
}

.sec_10_villaya_lp_button_a {
    width: max-content;
    display: block;
    margin-top: 6.4rem;
}



.sec_11 {
    position: relative;
    margin-bottom: 12rem;
}

.sec_11_img {
    display: flex;
    height: 100vh;
    width: 100%;
    background-image: url(../images/villaya_lp/sec_11_img_back.png);
    background-size: cover;
    background-position: center;
}

.sec_11_img01 {
    padding: 10rem 0 5rem 5rem;
}

.sec_11_img02 {
    padding: 10rem 5rem 5rem 0rem;
}

/* sec11_back画像 */

.sec_11_img_back01 {
    position: absolute;
    left: 0;
    width: 3.9rem;
    height: 36.8rem;
    object-fit: cover;
    z-index: -1;
    object-fit: cover;
}

.sec_11_img_back02 {
    position: absolute;
    left: 0;
    width: 29rem;
    height: 17rem;
    object-fit: cover;
    left: 28rem;
    top: 0;
    z-index: -1;
    object-fit: cover;
}

.sec_11_img_back03 {
    position: absolute;
    top: 0;
    z-index: -1;
    width: 29rem;
    height: 17rem;
    right: 24.6rem;
    object-fit: cover;
}

.sec_11_img_back04 {
    position: absolute;
    top: 0;
    z-index: -1;
    width: 9.5rem;
    height: 36.8rem;
    right: 0;
    object-fit: cover;
}

.sec_11_img_back05 {
    position: absolute;
    bottom: 8.8rem;
    z-index: -1;
    width: 10.6rem;
    height: 26.3rem;
    right: 0;
    object-fit: cover;
}

.sec_11_img_back06 {
    position: absolute;
    bottom: 0;
    z-index: -1;
    width: 29.7rem;
    height: 17.7rem;
    left: 84.5rem;
    object-fit: cover;
}

.sec_11_img_back07 {
    position: absolute;
    bottom: 0;
    z-index: -1;
    width: 29.7rem;
    height: 17.7rem;
    left: 24.6rem;
    object-fit: cover;
}

.sec_11_img_back08 {
    position: absolute;
    bottom: 0;
    z-index: -1;
    width: 10.6rem;
    height: 36.8rem;
    left: 0;
    object-fit: cover;
}


.sec_11_text_area {
    position: absolute;
    top: 34%;
    width: 37.5rem;
    text-align: center;
    background-color: #40404033;
    padding-top: 10rem;
    padding-bottom: 8rem;
    padding-left: 0;
    padding-right: 0;
    text-align: center;
    left: 50%;
    transform: translate(-50%, 0);
}


.sec_11_title {
    font-family: var(--Zen_Old_Min);
    color: #fff;
    font-size: 3.4rem;
    font-weight: 400;
    line-height: 150%;
}

.sec_11_text_price_title {
    font-family: var(--Zen_Old_Min);
    color: #fff;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 160%;
}

.sec_11_text_price {
    font-family: var(--Zen_Old_Min);
    color: #fff;
    font-size: 2.2rem;
    font-weight: 400;
    line-height: 160%;
}

.sec_11_text_price_span {
    font-family: var(--Zen_Old_Min);
    color: #fff;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 160%;
}

.sec_11_text_title {
    font-family: var(--Zen_Old_Min);
    color: #fff;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 160%;
    border-bottom: solid #fff 1px;
    width: max-content;
    margin: 3.2rem auto 0.8rem auto;
    padding-bottom: 0.8 rem;
}

.sec_11_text_item {
    font-family: var(--Zen_Old_Min);
    color: #fff;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 160%;
    margin-bottom: 0.8rem;
}

.sec_11_text_item_last {
    font-family: var(--Zen_Old_Min);
    color: #fff;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 180%;
    text-align: center;
}



.sec_12 {
    margin-bottom: 12rem;
}

.sec_12_main_img {
    width: 108rem;
    height: 64.4rem;
    margin: 0 auto;
    margin-bottom: 2.4rem;
}

.sec_12_title {
    font-family: var(--Zen_Old_Min);
    color: #404040;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 160%;
    text-align: center;
}

.sec_12_text {
    font-family: var(--Zen_Old_Min);
    color: #404040;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 180%;
    text-align: center;
}


.sec_13 {
    margin-bottom: 12rem;
}

.sec_13_img {
    width: 100%;
    height: 64.8rem;
    object-fit: cover;
    margin-bottom: 2rem;
}

.sec_13_flex {
    display: flex;
    justify-self: center;
    gap: 4rem;
    margin-bottom: 5.45rem;
}

.sec_13_title {
    font-size: 2.4rem;
    font-family: var(--Zen_Old_Min);
    color: #404040;
    font-weight: 400;
    line-height: 150%;
    margin-bottom: 4rem;
}

.sec_13_tr {
    margin-bottom: 2rem;
    width: 28.6rem;
    justify-self: start;
    display: flex;
    gap: 2.4rem;
}

.sec_13_th {
    font-size: 1.4rem;
    font-family: var(--Zen_Old_Min);
    color: #404040;
    font-weight: 400;
    line-height: 180%;
    width: 8rem;
    text-align: left;
}

.sec_13_td {
    font-size: 1.4rem;
    font-family: var(--Zen_Old_Min);
    color: #404040;
    font-weight: 400;
    line-height: 180%;
}

.sec_13_google_map {
    width: 30rem;
    height: 30rem;
}

.sec_13_flex_right {
    display: flex;
    flex-direction: column;

}

.sec_13_google_icon {
    width: 1.6rem;
    object-fit: contain;
}

.sec_13_p {
    font-size: 1.2rem;
    font-family: var(--Zen_Old_Min);
    color: #404040;
    font-weight: 400;
    line-height: 180%;
    border-bottom: solid #404040 1px;
}

.sec_13_flex_right02 {
    display: flex;
    justify-content: center;
    margin-top: 1.6rem;
}

.sec_13_left_02 {
    display: flex;
}

.sec_13_left_text01 {
    font-size: 1.4rem;
    font-family: var(--Zen_Old_Min);
    color: #404040;
    font-weight: 400;
    line-height: 180%;
}

.sec_13_left_text02 {
    font-size: 1.4rem;
    font-family: var(--Zen_Old_Min);
    color: #404040;
    font-weight: 400;
    line-height: 180%;
}

.sec_14 {
    margin-bottom: 12rem;
}

.sec_14_title {
    font-size: 1.8rem;
    font-family: var(--Zen_Old_Min);
    color: #404040;
    font-weight: 400;
    line-height: 160%;
    margin-bottom: 8rem;
}

.sec_14_text {
    font-size: 1.4rem;
    font-family: var(--Zen_Old_Min);
    color: #404040;
    font-weight: 400;
    line-height: 180%;
}

.sec_14_img {
    width: 50.8rem;
    height: 46.6rem;

}

.sec_14_flex {
    display: flex;
    align-items: center;
    gap: 11.4rem;
    justify-self: center;
    margin-bottom: 12rem;
}

.sec_14_left {
    width: 39.6rem;
}

.sec_15_fast {
    display: flex;
    height: 35rem;
    gap: 0.3rem;
    justify-self: center;
}

.sec_15_fast.sp_only {
    display: none;
}


.sec_15_fast_li {
    height: 100%;
}

.slide {
    height: 100%;
}

.sec_15_01 {
    width: 35rem;
    height: 100%;
}

.sec_15_02 {
    width: 56.2rem;
    height: 100%;
}

.sec_15_03 {
    width: 52.2rem;
    object-fit: cover;
    height: 100%;
}

.sec_15_second {
    height: 35rem;
    margin-top: 3.8rem;
    margin-bottom: 3.8rem;
    display: flex;
    gap: 0.2rem;
    justify-self: center;
}

.sec_15_second.sp_only {
    display: none;
}

.sec_15_second01 {
    width: 23.8rem;
    object-fit: cover;
    height: 100%;
}

.sec_15_second02 {
    width: 23.7rem;
    object-fit: cover;
    height: 100%;
}

.sec_15_second03 {
    width: 23.8rem;
    object-fit: cover;
    height: 100%;
}

.sec_15_second04 {
    width: 48.8rem;
    object-fit: cover;
    height: 100%;
}

.sec_15_second05 {
    width: 23.7rem;
    object-fit: cover;
    height: 100%;
}

.sec_15_third {
    height: 35rem;
    gap: 0.2rem;
    display: flex;
    margin-bottom: 7.8rem;
    justify-self: center;
}

.sec_15_third.sp_only {
    display: none;
}

.sec_15_third01 {
    object-fit: cover;
    width: 47.6rem;
    height: 100%;
}

.sec_15_third02 {
    object-fit: cover;
    width: 47.6rem;
    height: 100%;
}

.sec_15_third03 {
    object-fit: cover;
    width: 48.4rem;
    height: 100%;
}

.villaya_lp_button_a {
    width: max-content;
    display: block;
    margin: 0 auto;
}

.villaya_lp_button {
    width: 30.8rem;
    object-fit: contain;
}


.swiper02>.swiper-wrapper>.swiper-slide-active img {
    width: 50.8rem;
    height: 46.6rem;
}



/* フェードイン */
.fadeIn {
    transition: 1s;
    opacity: 0;
}

.fadeIn.animated {
    opacity: 1;
}









/* 共通ボタン */
.flow-line {
    position: relative;
    width: 30rem;
    margin: 0 auto;
    display: block;
    height: 3rem;
    margin: 12rem auto 12rem auto;
}

.flow_texts {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 30rem;
    height: 2.6rem;
}

.flow_texts:before,
.flow_texts:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    animation-fill-mode: forwards;
    animation-duration: 0.6s;
    color: #000000;
    font-size: 1.6rem;
    font-family: var(--Zen_Old_Min);
}

/* モデルハウスを体験する */
.model_house_text:before,
.model_house_text:after {
    content: "モデルハウスを体験する";
}

.performance_text:before,
.performance_text:after {
    content: "性能について詳しく見る";
}

.design_text:before,
.design_text:after {
    content: "導線設計について詳しく見る";
}

.design_text02:before,
.design_text02:after {
    content: "デザインについて詳しく見る";
}

.triple_text:before,
.triple_text:after {
    content: "トリプルA工法について詳しくみる";
}

.contact_text:before,
.contact_text:after {
    content: "来場のご予約はこちら";
}

.last_text:before,
.last_text:after {
    content: "施工事例をみる";
}

.flow_texts:before {
    transform: translateY(120%);
}

.flow-line:hover .flow_texts:before {
    animation-name: transformtext_up02;
    animation-delay: 0.1s;
}

.flow-line:hover .flow_texts:after {
    animation-name: transformtext_up;
    animation-delay: 0.2s;
}

@keyframes transformtext_up {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(-120%);
    }
}

@keyframes transformtext_up02 {
    0% {
        transform: translateY(120%);
    }

    100% {
        transform: translateY(0);
    }
}

.arrow {
    overflow: hidden;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 1.75rem;
    height: 1.75rem;
    line-height: 1;
    background-color: #000;
    border-radius: 3rem;
}

.arrow:before,
.arrow:after {
    content: "";
    background-image: url(../images/villaya_lp/arrow_img.svg);
    background-repeat: no-repeat;
    background-size: 50%;
    position: absolute;
    top: 0;
    right: -0.5rem;
    width: 1.75rem;
    height: 1.75rem;
    animation-fill-mode: forwards;
    animation-duration: 0.6s;
    color: #fff;
    margin-top: 0.6rem;
    margin-left: 0.3rem;
}

.arrow:after {
    transform: translateX(-120%);
}

.flow-line:hover .arrow:before {
    animation-name: transformRightLeft;
    animation-delay: 0s;
}

.flow-line:hover .arrow:after {
    animation-name: transformLeftRight;
    animation-delay: 0.2s;
}

@keyframes transformLeftRight {
    0% {
        transform: translateX(-120%);
    }

    100% {
        transform: translateX(0);
    }
}

@keyframes transformRightLeft {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(120%);
    }
}

/* svg_area */
.flow_line_svg {
    display: block;
    cursor: pointer;
    width: max-content;
    height: 1.7rem;
    position: absolute;
    left: -1.5rem;
    bottom: -0.5rem;
}

.maskRect {
    /* width: 100%; */
    height: 100%;
    fill: white;
    transform: translateX(-100%);
    transition: transform 0.5s ease-in-out;
    transform-origin: left top;
}

/* aタグを触ってない時の動き */
.flow-line:hover .maskRect {
    transform: translateX(0%);
}

.flow-line:not(:hover) .maskRect {
    transform: translateX(-100%);
}


@media screen and (max-width: 699.98px) {
    html {
        font-size: calc(10 / 375 * 100vw);
    }

    .pc_only {
        display: none;
    }

    .sp_only {
        display: block;
    }

    .fv_area {
        width: 100%;
        height: 45rem;
    }

    .fv_text_h2 {
        position: absolute;
        left: 2rem;
        font-size: 3.2rem;
        font-family: var(--Zen_Old_Min);
        font-weight: 400;
        bottom: 2rem;
        color: #fff;
    }

    .fv_area_img {
        object-fit: cover;

    }

    .fast_text_area {
        top: 25%;
        padding: 0 2rem;
    }

    .fast_logo {
        width: 20rem;
        margin: 0 auto;
    }

    .fast_logo02 {
        width: 24rem;
    }

    .fast_text_item {
        text-align: center;
    }

    .fast_text_item_sp {
        text-align: left;
    }

    .sec02_img {
        margin-top: 0;
        width: 100%;
        height: 72rem;
        object-fit: cover;
        object-position: 20%;
    }

    .sec_02_title {
        font-size: 2.2rem;
    }

    .sec_02_text {
        text-align: left;
        padding: 0 2rem;
    }

    .sec_03_flex {
        flex-direction: column;
        gap: 0;
    }

    .sec_03_left {
        order: 2;
        margin-bottom: 0;
    }

    .sec_03_right {
        order: 1;
        height: 48rem;
        width: 33.5rem;
        margin: 0 0 0 auto;
        object-fit: cover;
    }

    .sec_03_left_img {
        left: 50%;
        transform: translate(-50%, 0);
    }

    .sec_title_text {
        font-size: 2.2rem;
        text-align: center;
        margin-top: 1.6rem;
    }

    .sec_sub_text {
        padding: 0 2rem;
    }

    .sec_03_02_flex {
        flex-direction: column;
        margin-bottom: 4rem;
    }

    .sec_03_02_left {
        width: 33.5rem;
        height: 51.8rem;
        object-fit: cover;
        margin: 0 auto 0 0;
    }

    .sec_03_02_right_img {
        left: 50%;
        transform: translate(-50%, 0);
    }

    .sec_03 {
        margin-bottom: 8rem;
    }

    .sec_04 {
        padding: 0 2rem;
        background-color: #202020;
    }

    .sec_04_img {
        flex-direction: column;
    }

    .sec_04_img01 {
        height: 50%;
        object-fit: cover;
    }

    .sec_04_img02 {
        height: 50%;
        object-fit: cover;
    }

    .sec_04_text_area {
        padding: 2rem;
        width: calc(100% - 4rem);
    }

    .sec_04_text_area {
        background: #20202080;
        text-align: left;
    }

    .sec_title_text.white {
        text-align: left;
    }

    .swiper-button-prev,
    .swiper-rtl .swiper-button-next {
        bottom: auto;
        top: 19rem;
        left: 2rem;
    }

    .swiper-button-next,
    .swiper-rtl .swiper-button-prev {
        bottom: auto;
        top: 19rem;
        right: 2rem;
    }

    .swiper_h3_text {
        width: 18.5rem;
        text-align: center;
        margin: 1.6rem auto;
    }

    .swiper_p_text {
        text-align: left;
    }

    .sec_05 {
        margin-bottom: 8rem;
    }

    .sec_05_villaya_lp_button_a {
        margin: 4rem auto 0 auto;
    }

    .sec_06_img {
        flex-direction: column;
        padding: 0 2rem;
        background-color: #202020;
    }

    .sec_06_text_area {
        padding: 3rem 4rem;
        background: #20202080;

    }

    .sec_06_img01 {
        height: 50%;
        object-fit: cover;
        width: 100%;
    }

    .sec_06_img02 {
        height: 50%;
        object-fit: cover;
    }

    .sec_07_button_flex {
        flex-direction: column;
        gap: 3.2rem;
        margin-top: 4rem;
    }

    .sec_07 {
        margin-bottom: 4rem;
    }

    .flow-line_01 {
        margin-top: 4rem;
        margin-bottom: 4rem;
    }

    .flow-line_02 {
        margin-bottom: 4rem;
        margin-top: 0;
    }

    .sec_08_text_area {
        padding: 3rem 4rem;
        background: #20202080;
    }

    .sec_08_img {
        flex-direction: column;
        padding: 0 2rem;
        background-color: #202020;
    }

    .sec_08_img01 {
        height: 50%;
        object-fit: cover;
    }

    .sec_08_img02 {
        height: 50%;
        object-fit: cover;
    }

    .sec_09_villaya_lp_button_a {
        margin-top: 4rem;
    }

    .sec_09 {
        margin-bottom: 8rem;
    }

    .sec_10_left {
        margin-left: 0;
        order: 2;
        margin-bottom: 0;
    }

    .sec_10_flex {
        flex-direction: column;
        gap: 5rem;
        margin-bottom: 8rem;
    }

    .sec_10_right_area {
        order: 1;
    }

    .sec_10_right_01_sub02 {
        width: 7.2rem;
        height: 50rem;
    }

    .sec_10_right {
        left: 3.9rem;
        width: 18rem;
        height: 27rem;
    }

    .sec_10_right_01_sub01 {
        width: 9rem;
        height: 14rem;
        bottom: -4.6rem;
        left: -2.3rem;
    }

    .sec_10_sp_text {
        text-align: left;
        padding-left: 3.9rem;
    }

    .sec_sub_text10 {
        text-align: left;
        padding-left: 3.2rem;
        padding-right: 3.2rem;
    }

    .sec_10_villaya_lp_button_a {
        margin: 0 auto;
        margin-top: 2.6rem;
    }

    .sec_11_img {
        /* flex-direction: column; */
    }

    .sec_11_img01 {
        height: 50%;
        object-fit: cover;
        padding: 6rem 0 2rem 2rem;
        width: 50%;
    }

    .sec_11_img02 {
        height: 50%;
        object-fit: cover;
        padding: 6rem 2rem 2rem 0;
        width: 50%;
    }

    /* sec11_back画像 */

    .sec_11_img_back01 {
        width: 1rem;
        height: 9.5rem;
        top: 0;
        left: 0;
    }

    .sec_11_img_back02 {
        width: 7.6rem;
        height: 4.6rem;
        top: 0;
        left: 8.3rem;
    }

    .sec_11_img_back03 {
        width: 7.6rem;
        height: 4.6rem;
        top: 0;
        left: 23.4rem;
        right: auto;
    }

    .sec_11_img_back04 {
        width: 2.4rem;
        height: 9.5rem;
        top: 0;
        right: 0;
    }

    .sec_11_img_back05 {
        width: 2.7rem;
        height: 6.8rem;
        bottom: auto;
        top: 16rem;
        right: 0;
    }

    .sec_11_img_back06 {
        width: 7.6rem;
        height: 4.6rem;
        bottom: auto;
        top: 28.5rem;
        right: auto;
        left: 22rem;
    }

    .sec_11_img_back07 {
        width: 7.6rem;
        height: 4.6rem;
        bottom: auto;
        top: 28.5rem;
        right: auto;
        left: 6.4rem;
    }

    .sec_11_img_back08 {
        width: 2.7rem;
        height: 9.5rem;
        bottom: auto;
        top: 23.5rem;
        right: auto;
        left: 0;
    }



    .sec_11_text_area {
        top: 20%;
        width: 31.1rem;

    }

    .sec_11_title {
        font-size: 2.2rem;
    }

    .sec_12_main_img {
        width: 100%;
        height: 30rem;

    }

    .sec_11 {
        margin-bottom: 4rem;
    }

    .sec_12_title {
        padding: 0 2rem;
        text-align: left;
    }

    .sec_12_text {
        padding: 0 2rem;
        text-align: left;
    }

    .sec_13 {
        margin-bottom: 8rem;
    }

    .sec_13_img {
        height: 21.5rem;
    }

    .sec_13_flex {
        flex-direction: column;
        display: contents;
    }

    .sec_13_contents {
        padding: 0 2rem;
        order: 1;
    }

    .sec_13_left_02 {
        margin-bottom: 4rem;
    }

    .sec_13_item>.villaya_lp_button_a {
        order: 2;
        margin-bottom: 4rem;
    }

    .sec_13_item {
        display: flex;
        flex-direction: column;
    }

    .sec_13_flex_right {
        order: 3;
        align-items: center;
    }

    .sec_13_google_map {
        width: 33.5rem;
        height: 33.5rem;
    }

    .sec_13_button {
        order: 2;
        margin-bottom: 4rem;
        margin-top: 0;
    }

    .sec_14_button {
        margin-top: 0rem;
        margin-bottom: 4rem;
    }

    .sec_14_flex {
        flex-direction: column-reverse;
        width: 100%;
        gap: 4rem;
        margin-bottom: 4rem;
    }

    .sec_14_left {
        width: 100%;
        padding: 0 2rem;
    }

    .sec_14_title {
        font-size: 1.7rem;
        margin-bottom: 1.6rem;
    }

    .swiper02>.swiper-wrapper>.swiper-slide-active img {
        width: 100%;
        padding: 0 2rem;
        height: 33rem;
    }

    .sec_14_img {
        width: 100%;
        height: 33rem;
    }

    .sec_14 {
        margin-bottom: 8rem;
    }



    .slider-wrapper {
        display: flex;
        overflow: hidden;
    }

    .sec_15_button {
        margin-top: 0;
        margin-bottom: 8rem;
    }

    .sec_15_fast {
        animation: scroll-left 20s infinite linear .5s both;
        display: flex;
        margin-right: 0.3rem;
    }

    .sec_15_fast.sp_only {
        display: flex;
    }

    .sec_15_fast_li img {
        display: block;
        width: 100%;
        object-fit: cover;
        height: 100%;
    }


    .sec_15_fast_li {
        width: calc(100vw / 1);
        object-fit: cover;
    }


    .sec_15_second {
        animation: scroll-left 20s infinite linear .5s both;
        display: flex;
        margin-right: 0.3rem;
    }

    .sec_15_second.sp_only {
        display: flex;
    }

    .sec_15_third {
        animation: scroll-left 20s infinite linear .5s both;
        display: flex;
        margin-right: 0.3rem;
    }

    .sec_15_third.sp_only {
        display: flex;
    }

    /* CSSアニメーション */
    @keyframes scroll-left {
        from {
            transform: translateX(0);
        }

        to {
            transform: translateX(-100%);
        }
    }
}