@charset "utf-8";

.section {
    position: relative;
}

.section_title_sub::before {
    background-color: #736357;
}

.scroll-image .image_wrap {
    position: relative;
}

.scroll-image .image_wrap .cap {
    position: absolute;
    font-size: 11px;
    bottom: 2px;
    right: 4px;
    z-index: 2;

}

.scroll-image .image_wrap .cap.cap_w {
    color: #fff;
}


.design {
    padding: 100px 0 0;
}

.sub_mv .title {
    bottom: 20px;
    right: 30px;
}

.design .sub_title {
    max-width: 140px;
}

.sub_first_text {
    margin-bottom: 60px;
}

.design .sub_first_text .sub_first_text_small {
    font-size: 16px;
    margin-top: 3em;
    line-height: 2;
}

.design-point01 {
    position: relative;
}

.design-point01 .cap {
    position: absolute;
    font-size: 11px;
    bottom: 2px;
    right: 4px;
    z-index: 2;
}

/* design-point01-text_wrap */

.design-point01-text_wrap {
    padding: 60px 0;
}

.design-point01-text_wrap .sub_first_text {
    text-align: left;
}

.design-point01-text_wrap .sub_first_text_small {
    text-align: left;
}

.design-point02 {
    position: relative;
}

.design-point02 .image {
    position: relative;
}

.design-point02 .image .cap {
    position: absolute;
    font-size: 11px;
    bottom: 2px;
    right: 4px;
    z-index: 2;
    color: #fff;
}


/* view */
.view .design-area_wrap-text02{
    margin-top: 40px;
}



.design-area_wrap {
    display: flex;
    justify-content: space-between;
    padding: 120px 0;
}

.design-area_wrap-text_wrap {
    width: 42%;
}

.design-area_wrap-text_wrap .text {
    font-size: 12px;
}

.design-area_wrap-text_wrap .design-area_wrap-text:nth-of-type(2n) {
    margin-top: 60px;
}

.design-area_wrap-image {
    width: 57%;
}

.map_illust_wrap {
    display: flex;
    gap: 15px;
    margin-left: 45px;
}

.map_illust_wrap .cap {
    font-size: 11px;
}


.map_illust_wrap_icon {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
}

.map_illust_wrap_icon li {
    display: flex;
}

.map_illust_wrap_icon li span {
    font-size: 11px;
}

.map_illust_wrap_icon li .icon {
    width: 20px;
    height: 20px;
}

.map_illust_wrap_icon .icon03 .icon {
    width: 30px;
    height: 20px;
}


.map_illust_wrap_icon li .icon_text {
    margin-left: 7px;
}

.design-area_wrap-text {
    border-left: 1px solid #736357;
}

.design-area_wrap-text .item_wrap {
    margin-left: 10px;
}

.design-area_wrap-text .item_wrap:nth-of-type(2n) {
    margin-top: 20px;
}

.design-area_wrap-text .item_wrap_image {
    margin-top: 20px;
}

.design-area_wrap-text .item_wrap_image .cap {
    font-size: 11px;
    text-align: right;
}

.design-area_wrap-text .item_wrap_title {
    color: #736357;
    font-size: 18px;
    position: relative;
}


.design-area_wrap-text .item_wrap_title::before {
    content: "";
    background-color: #736357;
    width: 100%;
    height: 1px;
    display: block;
    position: absolute;
    top: 50%;
    z-index: -1;
}

.design-area_wrap-text .item_wrap_title span {
    background-color: #fff;
    padding: 0 .5em 0 0;
}

.design-point03 {
    position: relative;
}

.design-point03 .image {
    position: relative;

}

.design-point03 .image .cap {
    position: absolute;
    font-size: 11px;
    bottom: 2px;
    right: 4px;
    z-index: 2;
    color: #fff;
}

.everyday-life .inner {
    padding: 110px 0 150px;
    border-bottom: 1px solid #736357;
    border-bottom: 1px solid #c1c1c1;
}

.everyday-life .design-area_wrap-text {
    width: 58%;
}

.everyday-life .design-area_wrap-image {
    width: 37%;
    position: relative;
}

.everyday-life .design-area_wrap-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;

}

.everyday-life .design-area_wrap-image .cap {
    position: absolute;
    font-size: 11px;
    bottom: 2px;
    right: 4px;
    z-index: 2;
}

.everyday-life .privacy {
    width: 100%;
}

/* entrance */
.entrance {
    padding-top: 150px;
}

.entrance .sub_first_text {
    text-align: left;
}


/* materials */
.materials {
    padding-bottom: 120px;
}

.materials .design-area_wrap {
    align-items: end;
    gap: 30px;
    padding: 0;
    padding-top: 30px;
}

.materials .design-area_wrap-text {
    width: 50%;
}

.materials .design-area_wrap-image {
    width: 50%;
    position: relative;
}

.materials .design-area_wrap-image .cap {
    text-align: right;
    font-size: 11px;

}

@media(max-width:767px) {
    .section_title_sub {
        font-size: 15px;
    }

    .sub_first_text {
        margin-bottom: 30px;
        font-size: 15px;
    }

    .scroll-image .image_wrap .cap {
        font-size: 10px;
    }


    .design {
        padding: 60px 0 0;
    }

    .design .sub_title {
        max-width: 70px;

    }

    .design-point01 .cap,
    .design-point02 .image .cap {
        font-size: 10px;
    }

    .design-area_wrap {
        flex-direction: column;
        padding: 40px 0;
    }

    .design-area_wrap-text .item_wrap_image .cap {
        font-size: 10px;
        text-align: right;
    }

    .design-area_wrap-text .item_wrap_title span {
        font-size: 14px;
    }

    .design-area_wrap-text_wrap {
        width: 100%;
    }

    .design .sub_first_text .sub_first_text_small {
        font-size: 12px;
        margin-top: 2em;
    }

    .design-point01-text_wrap {
        padding: 30px 0;
    }


    .design-area_wrap-image {
        width: 100%;
    }

    .map_illust_wrap_icon li .icon {
        width: 13px;
        height: 13px;
    }

    /* everyday-life */
    .everyday-life .design-area_wrap-text {
        width: 100%;
    }

    /* map */
    .map {
        padding: 30px 0;
    }

    .map_illust_wrap {
        display: flex;
        gap: 5px;
        margin-left: 0;
    }

    .map_illust_wrap_icon li .icon_text {
        margin-left: 7px;
        font-size: 10px;
    }

    .map_illust_wrap .cap {
        font-size: 10px;
    }

    .map_illust_wrap_icon .icon03 .icon {
        width: 15px;
        height: 20px;
    }

    /* everyday-life */
    .everyday-life .inner {
        padding: 0 0 60px;
    }

    .everyday-life .design-area_wrap-image {
        width: 80%;
        margin-top: 20px;
    }

    /* entrance */
    .entrance {
        padding-top: 40px;
    }

    /* materials */
    .materials {
        padding-bottom: 60px;
    }

    .materials .design-area_wrap {
        flex-direction: column;
    }

    .materials .design-area_wrap-text {
        width: 100%;
    }

    .materials .design-area_wrap-image {
        width: 100%;
        position: relative;
    }

    .materials .design-area_wrap-image .cap {
        font-size: 10px;

    }

}


/* scroll用 */
/* ===== 横スクロール 汎用クラス ===== */

/* スクロールの基準となる親要素に付与する用(任意) */
.scroll-x-wrap {
    position: relative;
}

/* 横スクロールさせたい要素に付与 */
.scroll-x {
    width: 100%;
    overflow-x: hidden;
    /* PCでは通常表示 */
}

.scroll-x img {
    width: 100%;
    height: auto;
    display: block;
}

/* スクロールバーを隠す(共通) */
.scroll-x::-webkit-scrollbar {
    display: none;
}

.scroll-x {
    scrollbar-width: none;
    /* Firefox */
    -ms-overflow-style: none;
    /* IE/Edge */
}

/* スクロール誘導アイコン デフォルト非表示 */
.scroll-hint {
    display: none;
}

@media (max-width: 767px) {
    .scroll-x {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
    }

    .scroll-x img {
        width: auto;
        max-width: none;
        height: 240px;
        /* 必要に応じて要素ごとに上書き可 */
    }

    .scroll-x .cap {
        white-space: normal;
    }


    /* 誘導アイコン表示 */
    .scroll-hint {
        display: flex;
        align-items: center;
        gap: 4px;
        position: absolute;
        top: 50%;
        left: 40%;
        transform: translate(-50%, -50%);
        color: #fff;
        font-size: 10px;
        pointer-events: none;
        z-index: 2;
        animation: hintMove 1.4s ease-in-out infinite;
    }

    /* アニメーション専用(中央基準からの相対移動) */
    .scroll-hint__inner {
        display: flex;
        align-items: center;
        gap: 14px;
        color: #fff;
        font-size: 10px;
        animation: hintMove 1.4s ease-in-out infinite;
    }

    .scroll-hint .arrow {
        width: 16px;
        height: 16px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        transform: rotate(45deg);
    }


    .scroll-hint {
        transition: opacity 0.3s ease;
    }

    .scroll-hint.is-hidden {
        opacity: 0;
    }

    @keyframes hintMove {

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

        50% {
            transform: translateX(6px);
        }
    }
}