/* 
Theme Name: kabetani
Author: AOI
Description: ホームページ
version: 5.9
*/
body {
    overflow-x: hidden;
}

/* ヘッダ */
header {
    width: 100%;
    height: 113px;
    display: flex;
    align-items: center;
    z-index: 100;
}

@media screen and (max-width: 767px) {
    header {
        height: 56px;
    }
}

.top-page-header {
    position: absolute;
    width: 100%;
    z-index: 100;
}

@media (min-width: 769px) {
    .top-page-header-sp {
        display: none;
        z-index: 100;
    }

    .header-sp {
        display: none;
        z-index: 100;
    }
}

.fixed {
    position: fixed;
    background-color: #fff;
}

.fixed .company-icon {
    display: none;
    margin-top: 49px;
    width: 22%;
    margin-right: 14.7%;
}

.top-page-header .company-icon-fixed {
    width: 0;
}

.fixed .company-icon-fixed {
    width: 300px;
    margin-left: 3.66%;
}

header .header-wrap {
    width: 100%;
    height: 113px;
    /* margin-left: 3.66%; */
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* padding-bottom: 35px; */
    /* padding-top: 15px;
    padding-bottom: 15px; */
    z-index: 99;
}

.bottom-header-wrap {
    position: fixed;
    width: 100%;
    background-color: #fff;
    padding-top: 15px;
    padding-bottom: 15px;
    z-index: 99;
    top: 0;
}

header .header-wrap .company-icon {
    width: 300px;
    /* margin-right: 14.7%; */
    margin-right: 0;
    margin-left: 3.66%;
}

header .header-wrap .header-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    /* margin-top: 48px; */
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    justify-content: flex-end;
    margin-right: 3.66%;
    width: 65%;
    /* なぜ？ */
}

header .header-wrap .header-nav .item {
    font-size: 14px;
}


header .header-wrap .header-nav .item a {
    color: #fff;
    transition: opacity .4s;
}

.fixed .header-wrap .header-nav .item a {
    color: #343434;
    transition: opacity .4s;
}

header .header-wrap .header-nav .item+.item {
    margin-left: 3.76%;
}

header .header-wrap .header-nav-black .item a {
    color: #343434;
}

header .header-wrap .header-nav .item:nth-child(7) {
    border: 1px solid #fff;
    padding-right: 3.7%;
    padding-left: 3.7%;
}

header.fixed .header-wrap .header-nav .item:nth-child(7),
header .header-wrap .header-nav-black .item:nth-child(7) {
    border: 1px solid #000;
}

header .header-wrap .header-nav .item:nth-child(7) a {
    display: block;
    width: 100%;
    padding-top: 13px;
    padding-bottom: 13px;
}


@media (max-width: 768px) {
    .top-page-header {
        display: none;
    }

    .top-page-header-sp {
        width: 100%;
        margin-bottom: -56px;
    }

    .top-page-header-sp .header-sp-wrap {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        /* margin-left: 3.73%;
        margin-right: 3.36%; */
        /* margin-top: 10px; */
        margin: 0 10px;
    }

    .top-page-header-sp .header-sp-wrap .company-icon {
        /* width: 53.3%; */
        width: 216px;
        height: auto;
        z-index: 1;
    }

    .top-page-header-sp .header-sp-wrap #hamburger {
        margin: 0 0 0 auto;
        width: 1.75rem;
        height: 11px;
        /* padding-top: 1%; */
    }

    .top-page-header-sp .header-sp-wrap #hamburger .top-wrap {
        width: 100%;
        border-top: 2px solid #fff;
        border-bottom: 2px solid #fff;
        height: 11px;
        margin-bottom: 26%;
    }

    .top-page-header-sp .header-sp-wrap #hamburger .bottom-wrap {
        font-family: "Montserrat";
        font-size: 6px;
    }

    .nav {
        position: fixed;
        top: 56px;
        left: 0;
        right: 0;
        bottom: 0;
        /* padding: 1rem; */
        opacity: 0;
        visibility: hidden;
        transition: opacity .5s, visibility .5s;
    }

    .sp-header-wrap {
        background-color: #fff;
        /* padding-top: 12.5px;
        padding-left: 11px; */
        /* padding-bottom: 12.5px; */
    }

    .show .sp-header-wrap {
        display: none;
    }

    .nav_menu_ul {
        background-color: #D8DCE4;
        margin-left: 7px;
        margin-right: 6px;
        padding-top: 64px;
        padding-bottom: 64px;
    }

    .nav_menu_li {
        margin-left: 38px;
        font-size: 21px;
    }

    .nav_menu_li:nth-child(n+2) {
        margin-top: 33px;
    }

    .nav_menu-contact {
        text-align: center;
        border: 1px solid #343434;
        width: 80%;
        margin: 0 auto;
        padding-top: 19px;
        padding-bottom: 19px;
        margin-bottom: 19px;
        margin-top: 53px !important;
    }

    .nav_menu-tel {
        background-color: #343434;
        width: 80%;
        margin: 0 auto;
        /* padding-top: 17px;
        padding-bottom: 13px; */
        margin-top: 24px !important;
    }

    .nav_menu-tel img {
        width: 100%;
        margin: 0 auto;
    }

    .show {
        opacity: 1;
        visibility: inherit;
        position: fixed;
        background-color: #fff;
        /* margin-top: 8px; */
    }

    .text-bg {
        display: none;
    }

    .show .text-bg {
        display: block;
        width: 222px;
        height: auto;
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 0;
    }

    .nav_menu_li {
        z-index: 3;
        position: relative;
    }

    .top-wrap {
        display: block;
        position: relative;
        width: 1.75rem;
        height: 1.5rem;
    }

    .top-hogehoge-wrap {
        display: block;
        position: relative;
        width: 1.75rem;
        height: 11px;
        z-index: 99;
    }

    .top-wrap i {
        display: block;
        width: 100%;
        height: 2px;
        position: absolute;
        transition: transform .5s, opacity .5s;
    }

    .top-hogehoge-wrap i {
        display: block;
        width: 100%;
        height: 2px;
        background-color: #343434;
        position: absolute;
        transition: transform .5s, opacity .5s;
    }

    #hamburger {
        z-index: 10;
    }

    .show i {
        background-color: #343434;
    }

    .top-wrap i:nth-child(1) {
        top: 0;
    }

    .top-hogehoge-wrap i:nth-child(1) {
        top: 0;
    }

    .top-wrap i:nth-child(2) {
        top: 0;
        bottom: 0;
        margin: auto;
        display: none;
    }

    .top-hogehoge-wrap i:nth-child(2) {
        top: 0;
        bottom: 0;
        margin: auto;
        display: none;
    }

    .top-wrap i:nth-child(3) {
        bottom: -6px;
    }

    .top-hogehoge-wrap i:nth-child(3) {
        bottom: 0px;
    }

    .top-wrap.show i:nth-child(1) {
        transform: translateY(3px) rotate(-47deg);
    }

    .top-hogehoge-wrap.show i:nth-child(1) {
        transform: translateY(9px) rotate(-47deg);
        top: -6px;
    }

    .top-wrap.show i:nth-child(2) {
        opacity: 0;
    }

    .top-hogehoge-wrap.show i:nth-child(2) {
        opacity: 0;
    }

    .top-wrap.show i:nth-child(3) {
        transform: translateY(-12px) rotate(45deg);
    }

    .top-hogehoge-wrap.show i:nth-child(3) {
        transform: translateY(-12px) rotate(45deg);
        bottom: -6px;
    }

    .header-sp {
        position: fixed;
        top: 0;
        /* left: -1%; */
        left: 0;
        width: 100%;
        z-index: 5;
        padding: 0 10px;
        background: #fff;
    }


}

@media (max-width: 768px) {
    .header {
        display: none;
    }

    .header-sp .header-wrap {
        padding-bottom: 0;
        padding-top: 15px;
        padding-bottom: 14.7px;
        align-items: center;
        width: 100%;
    }

    .header-sp .header-wrap .company-icon {
        width: 216px;
        height: auto;
        margin: 0;
    }

    .header-sp .header-wrap .header-contact {
        font-size: 3.2vw;
        border: 1px solid #343434;
        padding: 2%;
    }

    .fixed {
        position: fixed;
        background-color: #fff;
        /* padding-bottom: 14.8px; */
        top: 0;
    }

    .fixed .company-icon {
        display: none;
        margin-top: 49px;
        width: 22%;
        margin-right: 14.7%;
    }

    .top-page-header-sp .company-icon-fixed {
        /* z-index: -99; */
        z-index: 100;
        width: 0;
    }

    .fixed .company-icon-fixed {
        width: 216px;
        height: auto;
        margin: 0;
    }

    .fixed .header-sp-wrap #hamburger .top-wrap {
        width: 100%;
        border-top: 2px solid #343434;
        border-bottom: 2px solid #343434;
        /* height: 26%; */
        height: 11px;
        margin-bottom: 0;
    }

    .fixed .header-sp-wrap #hamburger .show {
        border-top: 0px;
        border-bottom: 0px;
    }
}

/* 背景固定 */
.top-bg-font {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.top-bg-font img {
    width: 390px;
    height: auto;
}

@media screen and (max-width: 767px) {
    .top-bg-font {
        width: 222px;
        height: auto;
    }
}

.top+div {
    display: none !important;
}

.top-slide-box {
    position: relative;
}

.top-slide-box .slick-arrow {
    display: none !important;
}

.top-slide-box .slide-list .item {
    width: 100%;
    /* height: 900px; */
    height: 100vh;
    background-size: cover;
}

.top-slide-box .dummy>div {
    display: none;
}

.top-slide-box .dummy {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

.top-slide-box .dummy .top {
    /* padding-bottom: 51px; */
    background-size: cover;
    /* margin-top: 200px; */
    /* margin-bottom: 14px; */
    z-index: 2;
    position: relative;

    /* 追加 */
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

}

.top-slide-box .dummy .top .top-title {
    width: 10%;
    height: auto;
    margin: 0 auto;
    opacity: 0;
    transition: opacity 6s, filter 6s;
}

.top-slide-box .dummy .top .top-title img {
    opacity: 0.7;
}

.top-slide-box .dummy .top .top-suv-title {
    width: 395px;
    height: auto;
    margin: 0 auto;
    opacity: 0;
    transition: opacity 3.5s, filter 3.5s;
}

.top-slide-box .dummy .top .text-wrap {
    position: absolute;
    bottom: 32px;
    left: 48px;
    font-family: "Montserrat";
    color: #fff;
    font-size: 14px;
}

.top-slide-box .dummy .top .text-wrap .top-latest-date,
.top-slide-box .dummy .top .text-wrap .top-latest-title {
    margin-left: 8px;
}

.top-slide-box .dummy .top .text-wrap .diary {
    display: flex;
    margin-bottom: 11px;
}

.top-slide-box .dummy .top .text-wrap .diary .item+.item {
    margin-left: 0.8%;
}

.top-slide-box .dummy .top .text-wrap .diary .item a {
    color: white;
}

.top-slide-box .dummy .top .text-wrap .top-news {
    display: flex;
}

.top-slide-box .dummy .top .text-wrap .top-news .item+.item {
    margin-left: 0.8%;
}

.top-slide-box .dummy .top .text-wrap .top-news .item a {
    color: white;
}

@media (max-width: 768px) {
    .top-slide-box .slide-list .item {
        height: 100vh;
    }

    .top-slide-box .dummy .top {
        padding-top: 0;
        /* margin-top: 230px;
        margin-bottom: 6px; */
    }

    .top-slide-box .dummy .top .top-title {
        width: 40%;
    }

    .top-slide-box .dummy .top .top-suv-title {
        width: 222px;
        /* margin-bottom: 118.7px; */
    }

    .top-slide-box .dummy .top .text-wrap {
        bottom: 24px;
        left: 12px;
    }

    .top-slide-box .dummy .top .text-wrap .diary {
        display: flex;
        align-items: center;
        font-size: 14px;
        line-height: 1.8;
    }

    .top-slide-box .dummy .top .text-wrap .diary-title-min {
        font-size: 4vw;
        margin-top: 10px;
    }

    .top-slide-box .dummy .top .text-wrap .top-news {
        display: flex;
        align-items: center;
        font-size: 14px;
        line-height: 1.8;
        margin-top: 10px;
    }

    .top-slide-box .dummy .top .text-wrap .top-latest-title {
        margin-left: 0;
    }
}

/* コンセプトの文字表示部分 */
.js-concept1,
.js-concept2,
.js-concept3,
.js-concept4 {
    opacity: 0;
    transition: opacity 3.5s, filter 3.5s;
}

.introduction {
    background-image: url(image/intro-bg.png);
    padding-bottom: 308px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom;
    padding-top: 157.4px;
    margin-bottom: 13px;
    margin-left: 15px;
    margin-right: 15px;
    margin-top: 15px;
}

.introduction .sec-title {
    text-align: center;
    font-size: 15px;
    font-family: "Montserrat";
    line-height: 2;
    font-weight: bold;
    position: relative;
    z-index: 2;
}

.introduction .underline {
    border-bottom: 2px solid #B7C3DB;
    width: 120px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.introduction .sec-main-title {
    width: 26.3%;
    margin: 0 auto;
    margin-top: 81.3px;
    margin-bottom: 102.5px;
    position: relative;
    z-index: 2;
}

.introduction .intro-text-pc {
    font-size: 18px;
    text-align: center;
    letter-spacing: 6px;
    line-height: 3.05;
    position: relative;
    z-index: 2;
}

.introduction .text1 {
    margin-top: 40px;
    margin-bottom: 70px;
    position: relative;
    z-index: 2;
}

.introduction .text2 {
    margin-bottom: 87px;
    position: relative;
    z-index: 2;
}

.introduction .text3 {
    margin-bottom: 112px;
    position: relative;
    z-index: 2;
}

.introduction .thought-btn {
    display: flex;
    align-items: center;
    margin: 0 auto;
    background-color: #EAEAEA;
    width: 18.7%;
    padding-top: 20px;
    padding-bottom: 19px;
    font-size: 16px;
    position: relative;
    z-index: 2;
    transition: opacity .5s;
}

.introduction .thought-btn img {
    width: 13px;
    margin-left: 19.1%;
    position: relative;
    z-index: 2;
}

.introduction .thought-btn .btn-text {
    color: #343434;
    margin-left: 4.6%;
    position: relative;
    z-index: 2;
}

@media (min-width: 769px) {
    .intro-text-sp {
        display: none;
    }
}

@media (max-width: 768px) {
    .introduction {
        margin-left: 7px;
        margin-right: 7px;
        padding-top: 87.5px;
        padding-bottom: 215px;
        margin-bottom: 6px;
    }

    .introduction .sec-title {
        font-size: 2.93vw;
    }

    .introduction .underline {
        width: 25.4%;
    }

    .introduction .sec-main-title {
        margin-top: 45.7px;
        margin-bottom: 51.7px;
        width: 47.4%;
    }

    .introduction .intro-text-pc {
        display: none;
    }

    .introduction .intro-text-sp .intro-text {
        text-align: center;
        line-height: 2.5;
        font-size: 16px;
    }

    .introduction .intro-text-sp .text1 {
        margin-left: 12px;
        margin-right: 15px;
        margin-bottom: 54px;
    }

    .introduction .intro-text-sp .text2 {
        margin-left: 23px;
        margin-right: 24px;
    }

    .introduction .intro-text-sp .text3 {
        margin-left: 16px;
        margin-right: 16px;
    }

    .introduction .thought-btn {
        width: 68.2%;
        justify-content: center;
    }

    .introduction .thought-btn img {
        margin-left: 0;
    }

    .introduction .thought-btn .btn-text {
        font-size: 14px;
    }
}

.message {
    background-color: #D8DCE4;
    padding-top: 162px;
    margin-left: 15px;
    margin-right: 15px;
}

.message .message-wrap+.message-wrap {
    margin-top: 129px;
}

.message .message-wrap .sec-title {
    text-align: center;
    font-family: "Montserrat";
    font-size: 13px;
    font-weight: bold;
    position: relative;
    z-index: 2;
}

.message .message-wrap .underline {
    border-bottom: 2px solid #B7C3DB;
    width: 9.5%;
    margin: 8px auto 0;
    position: relative;
    z-index: 2;
}

.message .message-wrap .message-title-ja {
    font-size: 29px;
    letter-spacing: 8px;
    text-align: center;
    margin-bottom: 41px;
    margin-top: 36.5px;
    position: relative;
    z-index: 2;
}

.message .message-wrap .message-text {
    font-size: 16px;
    line-height: 2.5;
    position: relative;
    z-index: 2;
}

.message .message-wrap .message-text p {
    text-align: center;
}

.message .house-img {
    margin-top: 165px;
    width: 100%;
    position: relative;
    z-index: 2;
}

@media (min-width: 769px) {
    .message-title-ja-sp {
        display: none;
    }

    .message-text-sp {
        display: none;
    }
}

@media (max-width: 768px) {
    .message {
        padding-top: 81px;
        margin-left: 6px;
        margin-right: 6px;
    }

    .message .message-wrap+.message-wrap {
        margin-top: 76px;
    }

    .message .message-wrap .sec-title {
        font-size: 2.93vw;
    }

    .message .message-wrap .underline {
        width: 25%;
    }

    .message .message-wrap .message-title-ja {
        display: none;
    }

    .message .message-wrap .message-title-ja-sp {
        margin-top: 27.5px;
        font-size: 22px;
        text-align: center;
        line-height: 1.72;
        margin-bottom: 35px;
        position: relative;
    }

    .message .message-wrap .message-text {
        display: none;
    }

    .message .message-wrap .message-text-sp {
        margin-left: 24px;
        margin-right: 23px;
        font-size: 15px;
        line-height: 2.13;
        position: relative;
    }

    .message .house-img {
        margin-top: 84px;
    }
}

.gallery {
    padding-top: 123.4px;
    padding-bottom: 180.4px;
    overflow-x: hidden;
}

.gallery .sec-title {
    text-align: center;
    font-family: "Montserrat";
    font-size: 15px;
    font-weight: bold;
    position: relative;
    z-index: 2;
}

.gallery .underline {
    border-bottom: 2px solid #B7C3DB;
    width: 7%;
    margin: 8px auto 36px;
    position: relative;
    z-index: 2;
}

.gallery .gallery-sec-title {
    width: 29%;
    margin: 0 auto;
    margin-bottom: 114px;
    position: relative;
    z-index: 2;
}

.gallery .slider2 {
    width: 100%;
    margin: 0px auto 0;
}

.gallery .slider2 .slick-prev {
    left: 4.5%;
    top: unset;
    bottom: -20px;
    color: black;
    z-index: 2;
    width: 32px;
}

.gallery .slider2 .slick-next {
    left: 10%;
    top: unset;
    color: black;
    z-index: 2;
    width: 32px;
}

/* 一時的にpaddingを0にする。スライド1枚だけだと余白がおかしくなる。 */
.gallery .slider2 .slick-list {
    /* padding: 0 18% 0 0 !important; */
    padding: 0 9% 0 9% !important;
}

.gallery .slider2 .slick-list .slick-track {
    padding-top: 30px;
}

.gallery .slider2 .gallery-contents {
    position: relative;
    margin: 0 0 0 0.4%;
    width: 75%;
    transition: opacity .4s;
}

.gallery .slider2 .gallery-contents:hover {
    opacity: .8;
}

.gallery .slider2 .gallery-contents a {
    outline: 0;
}

.gallery .slider2 .gallery-contents .gallery-img {
    width: 100%;
    margin-left: 0%;
    margin-bottom: 33.9px;
}

.gallery .slider2 .gallery-contents .gallery-title {
    margin-left: 0;
    font-family: "Montserrat";
    font-size: 1.14vw;
    margin-bottom: 37.9px;
}

.gallery .slider2 .gallery-contents .gallery-arrow {
    margin-left: 7.75%;
}

.gallery .slider2 .gallery-contents .gallery-arrow .left {
    width: 1.7%;
    margin-right: 1.94%;
}

.gallery .slider2 .gallery-contents .gallery-arrow .right {
    width: 1.7%;
}

.gallery .slider2 .gallery-contents .gallery-year {
    font-family: "Montserrat";
    font-size: 158px;
    font-weight: 100;
    position: absolute;
    line-height: 1;
    top: -48px;
    left: -32px;
}

@media (max-width: 768px) {
    .gallery {
        padding-top: 69.5px;
        padding-bottom: 64.4px;
    }

    .gallery .sec-title {
        font-size: 11px;
    }

    .gallery .underline {
        width: 18%;
        margin-bottom: 25.4px;
    }

    .gallery .gallery-sec-title {
        width: 65%;
        margin-bottom: 79.1px;
    }

    .gallery .gallery-contents {
        margin-left: 10px;
        margin-right: 10px;
    }

    .gallery .gallery-contents .gallery-img {
        width: 100%;
        margin-left: 0;
        margin-bottom: 22px;
        /* height: 335px; */
        height: 236px;
    }

    .gallery .gallery-contents .gallery-img img {
        height: 100%;
        object-fit: cover;
    }

    .gallery .gallery-contents .gallery-title {
        margin-left: 0;
        font-family: "Montserrat";
        font-size: 4.8vw;
        margin-bottom: 17.9px;
    }

    .gallery .gallery-contents .gallery-arrow {
        margin-left: 0;
        width: 14.5%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: distribute;
        justify-content: space-around;
    }

    .gallery .gallery-contents .gallery-arrow a {
        width: 31.8%;
    }

    .gallery .gallery-contents .gallery-arrow a .left {
        width: 100%;
    }

    .gallery .gallery-contents .gallery-arrow a {
        width: 31.8%;
    }

    .gallery .gallery-contents .gallery-arrow a .right {
        width: 100%;
    }

    .gallery .gallery-contents .gallery-year {
        top: 6%;
        left: 0;
        font-size: 50px;
    }

    .gallery .slider2 .gallery-contents .gallery-year {
        font-size: 50px;
    }

    .slick-prev {
        left: 3.75%;
    }

    /* ギャラリー部分 */
    .gallery .slider2 {
        width: 100%;
        margin: 0px auto 0;
    }

    .gallery .slider2 .slick-prev {
        left: 4.5%;
        top: unset;
        bottom: -20px;
        color: black;
        z-index: 2;
        width: 18px;
    }

    .gallery .slider2 .slick-next {
        left: 15%;
        top: unset;
        color: black;
        z-index: 2;
        width: 18px;
    }

    .gallery .slider2 .slick-list {
        /* padding: 0 18% 0 0 !important; */
        padding: 0 9% 0 9% !important;
    }

    .gallery .slider2 .slick-list .slick-track {
        padding-top: 30px;
    }

    .gallery .slider2 .gallery-contents {
        position: relative;
        margin: 0 0 0 0.4%;
        width: 75%;
        /* width: 100%; */
    }

    .gallery .slider2 .gallery-contents .gallery-img {
        width: 100%;
        margin-left: 0%;
        margin-bottom: 20px;
    }

    .gallery .slider2 .gallery-contents .gallery-title {
        font-size: 18px;
        margin-bottom: 37.9px;
    }

    .gallery .slider2 .gallery-contents .gallery-arrow {
        margin-left: 7.75%;
    }

    .gallery .slider2 .gallery-contents .gallery-arrow .left {
        width: 1.7%;
        margin-right: 1.94%;
    }

    .gallery .slider2 .gallery-contents .gallery-arrow .right {
        width: 1.7%;
    }

    .gallery .slider2 .gallery-contents .gallery-year {
        font-size: 50px;
        font-weight: 300;
        top: -25px;
        left: 0;
    }



}

@media (min-width: 1700px) {
    .gallery .gallery-contents {
        margin: 0 70px;
    }
}






.blog {
    background-color: #D8DCE4;
    padding-top: 166.4px;
    padding-bottom: 153px;
    margin-bottom: 182px;
    margin-left: 15px;
    margin-right: 15px;
}

.blog .sec-title {
    text-align: center;
    font-family: "Montserrat";
    font-size: 15px;
    font-weight: bold;
    position: relative;
    z-index: 2;
}

.blog .underline {
    border-bottom: 2px solid #B7C3DB;
    width: 54px;
    margin: 8px auto 34px;
    position: relative;
    z-index: 2;
}

.blog .blog-sec-title .top-text-diary {
    display: block;
    margin: 0 auto 32px;
    width: 540px;
    height: auto;
    position: relative;
    z-index: 2;
}

/* .blog .blog-sec-title .main-title {
    font-family: "Montserrat";
    font-size: 48px;
    letter-spacing: 4px;
    text-align: center;
    margin-bottom: 21px;
    position: relative;
    z-index: 2;
} */

.blog .blog-sec-title .suv-title {
    font-size: 17px;
    letter-spacing: 4px;
    text-align: center;
    margin-bottom: 122px;
    position: relative;
    z-index: 2;
}

.blog .diary-title-wrap {
    margin: 0 auto;
    width: 78.4%;
    margin-bottom: 80px;
    border-top: 2px solid #B7C3DB;
    border-bottom: 2px solid #B7C3DB;
    padding-top: 49px;
    padding-bottom: 50px;
    position: relative;
    z-index: 2;
}

.blog .diary-title-wrap .diary-num {
    text-align: center;
    font-size: 14px;
    margin-bottom: 32px;
}

.blog .diary-title-wrap .diary-title {
    text-align: center;
    font-size: 26px;
    letter-spacing: 4px;
    margin-bottom: 31px;
}

.blog .diary-title-wrap .diary-text {
    text-align: center;
    font-size: 16px;
    letter-spacing: 4px;
    line-height: 2.5;
}

.blog .diary-title-wrap {
    margin: 0 auto;
    width: 81%;
    margin-bottom: 80px;
    border-top: 2px solid #B7C3DB;
    border-bottom: 2px solid #B7C3DB;
    padding-top: 49px;
    padding-bottom: 50px;
    position: relative;
    z-index: 2;
}

.blog .diary-title-wrap .diary-num {
    text-align: center;
    font-size: 14px;
    margin-bottom: 32px;
}

.blog .diary-title-wrap .diary-title {
    text-align: center;
    font-size: 26px;
    margin-bottom: 31px;
}

.blog .diary-title-wrap .diary-text {
    text-align: center;
    font-size: 16px;
    line-height: 2.5;
}

.blog .diary-contents {
    position: relative;
    z-index: 2;
}

.blog .diary-contents h2 {
    text-align: center;
    margin-bottom: 40px;
}

.blog .diary-contents .diary-wrap {
    display: flex;
    /* margin-left: 10.76%;
    margin-bottom: 80px; */
    width: 78.4%;
    max-width: 980px;
    margin: 0 auto 80px;
    position: relative;
    z-index: 3;
    text-decoration: none;
    color: black;
    transition: opacity .4s;
}

.blog .diary-contents .diary-wrap+.diary-wrap {
    margin-top: 38px;
}

.blog .diary-contents .diary-wrap .blog-img {
    width: 32%;
    position: relative;
}

.blog .diary-contents .diary-wrap .blog-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog .diary-contents .diary-wrap .blog-img p {
    position: absolute;
    top: 0;
    left: 0;
    font-family: "Montserrat";
    background-color: #343434;
    width: 29.5%;
    padding-top: 6px;
    padding-bottom: 6px;
    text-align: center;
    font-size: 0.83vw;
    color: #fff;
}

.blog .diary-contents .diary-wrap .blog-detail {
    padding-top: 3.3%;
    padding-left: 3%;
    padding-bottom: 3.3%;
    background-color: #fff;
    padding-right: 2.31%;
    flex: 1;
    width: 63.6%;
    box-sizing: border-box;
}

.blog .diary-contents .diary-wrap .blog-detail .blog-suv-title {
    margin-bottom: 3%;
    font-size: 16px;
}

.blog .diary-contents .diary-wrap .blog-detail .blog-title {
    font-size: 30px;
    letter-spacing: 4px;
    margin-bottom: 4%;
}

.blog .diary-contents .diary-wrap .blog-detail .blog-date {
    font-size: 13px;
    margin-bottom: 3%;
}

.blog .diary-contents .diary-wrap .blog-detail .blog-text {
    line-height: 2.2;
    text-decoration: underline;
    text-decoration-color: #B7C3DB;
    font-size: 16px;
    height: 70px;
    /* 2行分の高さ */
}

.blog .blog-btn {
    display: flex;
    align-items: center;
    margin: 0 auto;
    background-color: #EAEAEA;
    width: 28.9%;
    padding-top: 20px;
    padding-bottom: 19px;
    justify-content: center;
    margin-bottom: 129px;
    position: relative;
    z-index: 2;
    transition: opacity .4s;
}

.blog .blog-btn img {
    width: 13px;
}

.blog .blog-btn .btn-text {
    color: #343434;
    margin-left: 4.6%;
    font-size: 15px;
    font-family: "Montserrat";
}

.blog .diary2-contens .diary2-wrap {
    margin-left: 9.66%;
    margin-right: 9.66%;
    margin-bottom: 91px;
}

.blog .diary2-contens .diary2-wrap .diary-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}

.blog .diary2-contens .diary2-wrap .diary-list+.diary-list {
    margin-left: 2.65%;
}

.blog .diary2-contens .diary2-wrap .diary-list .item {
    background-color: #fff;
    padding-top: 47px;
    padding-left: 3.45%;
    width: calc(100% / 3 - 22px);
    position: relative;
    z-index: 2;
    cursor: pointer;
    transition: opacity .4s;
}

.blog .diary2-contens .diary2-wrap .diary-list .item:hover {
    opacity: .7;
}

.blog .diary2-contens .diary2-wrap .diary-list .item:nth-child(n+4) {
    margin-top: 36px;
}

.blog .diary2-contens .diary2-wrap .diary-list .item .item-title {
    font-size: 22px;
    margin-bottom: 5.7%;
}

.blog .diary2-contens .diary2-wrap .diary-list .item .detail {
    display: flex;
    font-size: 13px;
    margin-bottom: 6.4%;
}

.blog .diary2-contens .diary2-wrap .diary-list .item .blog-text {
    font-size: 14px;
    line-height: 2;
    margin-right: 8.28%;
    margin-bottom: 20px;
}

.blog .diary2-contens .diary2-wrap .diary-list .item .blog-text p a img {
    width: 22.5%;
}

.blog .diary2-contens .diary2-wrap .diary-list .item .item-design {
    width: 26px;
    height: 26px;
    float: right;
}

.blog .diary2-contens .diary2-wrap .icon-more-img {
    width: 58px;
    margin-bottom: 8px;
}

@media (min-width: 769px) {
    .diary-text-sp {
        display: none;
    }
}

@media (max-width: 768px) {
    .blog {
        padding-top: 80.5px;
        margin-left: 7px;
        margin-right: 7px;
        margin-bottom: 32px;
        padding-bottom: 48px;
    }

    .blog .sec-title {
        font-family: "Montserrat";
        font-size: 11px;
    }

    .blog .underline {
        margin-top: 5.7px;
        width: 10.6%;
        margin-bottom: 22.8px;
    }

    .blog .blog-sec-title .top-text-diary {
        display: block;
        margin: 0 auto 24px;
        width: 300px;
        height: auto;
    }

    /* .blog .blog-sec-title .main-title {
        font-size: 30px;
        margin-bottom: 19px;
    } */

    .blog .blog-sec-title .suv-title {
        font-size: 14px;
        margin-bottom: 69px;
    }

    .blog .diary-title-wrap {
        padding-top: 33px;
        padding-bottom: 37.2px;
        margin-bottom: 45.8px;
        width: 92.5%;
    }

    .blog .diary-title-wrap .diary-num {
        font-size: 11px;
        margin-bottom: 17px;
    }

    .blog .diary-title-wrap .diary-title {
        font-size: 20px;
        margin-bottom: 24px;
    }

    .blog .diary-title-wrap .diary-text {
        display: none;
    }

    .blog .diary-title-wrap .diary-text-sp {
        font-size: 14px;
        line-height: 2.14;
        padding-left: 10px;
        padding-right: 10px;
    }

    .blog .diary-contents {
        margin-left: 13px;
        margin-right: 14px;
    }

    .blog .diary-contents .diary-wrap {
        display: block;
        margin-left: 0;
        margin-right: 0;
        width: 100%;
        margin-bottom: 42px;
    }

    .blog .diary-contents .diary-wrap .blog-img {
        width: 100%;
        height: 237px;
    }

    .blog .diary-contents .diary-wrap .blog-img a img {
        width: 100%;
        height: auto;
    }

    .blog .diary-contents .diary-wrap .blog-detail {
        margin-right: 0;
        width: 100%;
        padding-right: 0;
        padding-left: 0;
        padding-top: 34px;
        padding-bottom: 33.5px;
    }

    .blog .diary-contents .diary-wrap .blog-img p {
        width: 100px;
        font-size: 11px;
    }

    .blog .diary-contents .diary-wrap .blog-detail .blog-suv-title {
        margin-left: 8.98%;
        font-size: 14px;
        margin-bottom: 15px;
    }

    .blog .diary-contents .diary-wrap .blog-detail .blog-title {
        margin-left: 8.98%;
        font-size: 22px;
        letter-spacing: 2px;
        margin-bottom: 14px;
        padding-right: 16px;
    }

    .blog .diary-contents .diary-wrap .blog-detail .blog-date {
        margin-left: 8.98%;
        font-size: 12px;
    }

    .blog .diary-contents .diary-wrap .blog-detail .blog-text {
        font-size: 14px;
        margin-left: 8.98%;
        margin-right: 8.98%;
        margin-top: 24px;
        height: 92px;
    }

    .blog .blog-btn {
        width: 92.5%;
        margin-left: 13px;
        margin-right: 14px;
        margin-bottom: 78px;
        margin-top: 32px;
    }

    .blog .diary2-contens .diary2-wrap {
        display: block;
        width: 90%;
        margin: 0 auto;
    }

    .blog .diary2-contens .diary2-wrap .diary-list {
        width: 100%;
        display: block;
    }

    .blog .diary2-contens .diary2-wrap .diary-list+.diary-list {
        margin-left: 0;
        margin-top: 30px;
    }

    .blog .diary2-contens .diary2-wrap .diary-list .item {
        /* padding: 32px 24px; */
        padding-bottom: 6.8%;
        width: 100%;
        position: relative;
    }

    .blog .diary2-contens .diary2-wrap .diary-list .item:nth-child(n+4) {
        margin-top: unset;
    }

    .blog .diary2-contens .diary2-wrap .diary-list .item .item-design {
        width: 26px;
        position: absolute;
        bottom: -1px;
        right: 0;
    }

    .blog .diary2-contens .diary2-wrap .diary-list .item+.item {
        margin-top: 30px;
    }

    .blog .diary2-contens .diary2-wrap .diary-list .item .item-title {
        margin-left: 11.3%;
        font-size: 22px;
    }

    .blog .diary2-contens .diary2-wrap .diary-list .item .detail {
        margin-left: 11.3%;
        font-size: 13px;
    }

    .blog .diary2-contens .diary2-wrap .diary-list .item .blog-text {
        margin-left: 11.3%;
        font-size: 14px;
    }

    .blog .blog-btn .btn-text {
        font-size: 15px;
    }

    .blog .diary2-contens .diary2-wrap .icon-more-img {
        width: 58px;
        margin-bottom: 8px;
    }
}

/* お知らせセクション */
.news {
    position: relative;
    z-index: 2;
    padding: 64px 0 148px;
}

.news .title-wrap {
    display: flex;
    margin-left: 10.5%;
    align-items: center;
    margin-bottom: 48px;
    width: 78.4%;
}

.news .title-wrap .sec-title1 {
    font-size: 40px;
    letter-spacing: 8px;
}

.news .title-wrap .sec-title2 {
    margin-left: 24px;
    font-family: "Montserrat";
    font-weight: bold;
    font-size: 15px;
}

.news .title-wrap .see {
    margin: 6px 0 0 auto;
    margin-right: 18px;
    font-size: 20px;
}

.news .title-wrap .arrow-img {
    margin: 0;
    width: 20px;
}

.news .contents {
    margin-left: 10.5%;
    font-size: 0.83vw;
}

.news .contents .news-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-top: 48.5px;
    padding-bottom: 46.5px;
    border-bottom: 1px solid #ADADAD;
    width: 87.5%;
}

.news .contents .news-wrap .date {
    margin-left: 1.07%;
    font-size: 16px;
    font-family: "Montserrat", sans-serif;
}

.news .contents .news-wrap .heading {
    margin-left: 5.15%;
    font-size: 16px;
}

.news .contents .news-wrap .arrow-img {
    margin: 0 0 0 auto;
    width: 18px;
}

.news .contents .wrap1 {
    border-bottom: 1px solid #ADADAD;
}

.news .contents .wrap1:first-child {
    border-top: 1px solid #ADADAD;
}

@media (min-width: 769px) {
    .heading-sp {
        display: none;
    }
}

@media (max-width: 768px) {
    .news {
        margin-left: 4.8vw;
        margin-right: 3.68vw;
        padding-top: 64px;
        padding-bottom: 80px;
    }

    .news .title-wrap {
        margin-left: 0;
        width: 100%;
    }

    .news .title-wrap .sec-title1 {
        font-size: 28px;
    }

    .news .title-wrap .sec-title2 {
        font-size: 12px;
        margin-left: 12px;
    }

    .news .title-wrap .see {
        font-size: 15px;
        margin-right: 0;
    }

    .news .title-wrap .arrow-img {
        width: 3.15%;
        margin-left: 4.08%;
    }

    .news .contents {
        margin-left: 0;
        margin-right: 1.8%;
    }

    .news .contents .news-wrap {
        width: 100%;
        display: block;
        padding-top: 27.5px;
        padding-bottom: 33px;
    }

    .news .contents .news-wrap .date {
        margin-left: 0;
        font-size: 13px;
        letter-spacing: 0.15rem;
        margin-bottom: 13px;
    }

    .news .contents .news-wrap .heading {
        display: none;
    }

    .news .contents .news-wrap .arrow-img {
        display: none;
    }

    .news .contents .news-wrap .heading-sp {
        font-size: 15px;
        line-height: 2;
    }

    .news .contents .news-wrap .heading-sp a img {
        width: 3.9%;
        float: right;
        margin-top: 4%;
    }
}

/* フッタ */
footer {
    position: relative;
    z-index: 1;
}

footer .inner {
    margin-left: 16px;
    margin-right: 16px;
    background-color: #D8DCE4;
    padding: 100px 0;
    margin-bottom: 16px;
}

footer .inner .footer-title {
    width: 383px;
    margin: 0 auto;
    margin-bottom: 58px;
}

footer .inner .company-adress {
    text-align: center;
    font-size: 16px;
    line-height: 2;
    margin-bottom: 37px;
}

footer .inner .company-tel {
    width: 383px;
    margin: 0 auto;
    margin-bottom: 62px;
}

footer .inner .copyright {
    font-size: 13px;
    text-align: center;
}

footer .inner .footer-arrow {
    width: 54px;
    position: absolute;
    /* top: 391px;
    left: 92.2%; */
    bottom: 64px;
    right: 64px;
    cursor: pointer;
}

@media (min-width: 769px) {
    .company-adress-sp {
        display: none;
    }
}

@media (max-width: 768px) {
    footer .inner {
        margin-left: 10px;
        margin-right: 10px;
        margin-bottom: 10px;
        padding-top: 54px;
        padding-bottom: 61px;
    }

    footer .inner .footer-title {
        width: 280px;
        margin-bottom: 42.3px;
    }

    footer .inner .company-adress {
        display: none;
    }

    footer .inner .company-adress-sp {
        font-size: 11px;
        text-align: center;
        line-height: 2;
        margin-bottom: 27.3px;
    }

    footer .inner .company-tel {
        width: 266px;
        margin-bottom: 45.2px;
    }

    footer .inner .copyright {
        font-size: 9px;
        letter-spacing: 1px;
        line-height: 1.8;
    }

    footer .inner .footer-arrow {
        display: none;
    }
}











@media (min-width: 769px) {
    .blog-btn-sp {
        display: none;
    }
}








/* 実績一覧ページネーション */
.pagination {
    text-align: center;
    font-family: "Montserrat";
    font-size: 1.31vw;
}

.current {
    /* text-decoration: underline;
  text-decoration-color: #B7C3DB;
  text-decoration-style: 2px; */
    border-bottom: 2px solid #B7C3DB;
}

.pagination a {
    color: #A8A8A8;
}

.pagination .page-numbers+.page-numbers {
    margin-left: 2.45%;
}

@media (max-width: 768px) {
    .pagination {
        font-size: 4.26vw;
    }
}

/* 実績一覧ページネーション */

/* 実績詳細ページネーション */
.profile .inner .content-wrap {
    border-top: 2px solid #B7C3DB;
    padding-top: 45px;
    display: flex;
    text-align: center;
    position: relative;
    font-size: 1.31vw;
}

.paginasiton-index {
    position: absolute;
    top: 45px;
    left: 46.3%;
}

.profile .inner .content-wrap a:nth-child(3) {
    display: inline-block;
    margin: 0 0 0 auto;
}

.profile .inner .content-wrap a:nth-child(2) {
    display: inline-block;
    margin: 0 0 0 auto;
}

@media (max-width: 768px) {
    .paginasiton-index {
        top: 30.5px;
        left: 42.8%;
    }
}



@media (max-width: 768px) {

    .profile .inner .last-text {
        margin-bottom: 60.5px;
    }

    .profile .inner .content-wrap {
        padding-top: 30.5px;
        font-size: 3.73vw;
        align-items: center;
        margin-bottom: 66px;
    }

    .profile .inner .content-wrap .left-arrow {
        width: 13px;
        height: 5px;
        margin-top: -13px;
    }

    .profile .inner .content-wrap .right-arrow {
        width: 13px;
        height: 5px;
        margin-top: -13px;
    }

    .profile .inner .content-wrap .index {
        margin-left: 20.2%;
        margin-right: 20.2%;
    }

    .news-wrap-sp {
        border-bottom: 1px solid #ADADAD;
        padding-top: 26px;
        padding-bottom: 26px;
        position: relative;
    }

    .news-wrap-sp:nth-child(2) {
        border-top: 1px solid #ADADAD;
    }

    .news-wrap-sp .top-news-wrap {
        display: flex;
        align-items: center;
        margin-bottom: 13px;
    }

    .news-wrap-sp .top-news-wrap .date {
        font-family: "Montserrat";
        font-size: 3.46vw;
    }

    .news-wrap-sp .top-news-wrap .arrow-img {
        margin: 0 0 0 auto;
        width: 14px;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
    }

    .news-wrap-sp .heading {
        font-size: 4vw;
        line-height: 2;
    }

    .news-page .news-inner .content-bottom {
        margin-top: 53.5px;
        margin-bottom: 70px;
    }

    .news-detailpage .detail-inner {
        padding-top: 63px;
        margin-left: 5.46%;
        margin-right: 5.46%;
    }

    .news-detailpage .detail-inner .news-title {
        font-size: 5.86vw;
        padding-bottom: 14.5px;
        margin-bottom: 10.5px;
    }

    .news-detailpage .detail-inner .news-date {
        font-size: 3.46vw;
        margin-bottom: 63px;
    }

    .news-detailpage .detail-inner .news-text {
        font-size: 3.73vw;
        margin-bottom: 58px;
    }

    .news-detailpage .detail-inner .content-wrap {
        margin-bottom: 82px;
    }
}

@media (min-width: 769px) {
    .architect-wrap-sp {
        display: none;
    }

    .category-wrap-sp {
        display: none;
    }

    .news-wrap-sp {
        display: none;
    }
}

/* SPフッタ追従ボタン */
.sp-fixed-area {
    display: none;
}

@media screen and (max-width: 767px) {
    .sp-fixed-area {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        display: flex;
        z-index: 1000;
    }

    .sp-fixed-area .btn-fixed-area {
        width: 50%;
    }

    .sp-fixed-area .btn-fixed-area:last-of-type {
        border-left: solid 1px #fff;
    }

    .sp-fixed-area .btn-fixed-area img {
        width: 100%;
        height: auto;
    }

    .sp-fixed-area .btn-fixed-area:hover {
        opacity: 1;
    }
}


