@charset "UTF-8";

/*ヘッダー
---------------------------------------------------------------------------*/
.ly_header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
}

.js_header.is_fixed,
.js_header.is_subfixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    z-index: 100;
    height: 55px;
    border-bottom: 1px solid #EFEFEF;
}

.js_header.is_fixed .bl_header,
.js_header.is_subfixed .bl_header {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.js_header.is_fixed .bl_header_logoW,
.js_header.is_subfixed .bl_header_logoW {
    display: none;
}

.js_header.is_fixed .bl_header_logoBk,
.js_header.is_subfixed .bl_header_logoBk {
    display: block;
}

.js_header.is_fixed .bl_header a,
.js_header.is_subfixed .bl_header a {
    color: #3A3C43;
}

.js_header.is_fixed .bl_gnav_icnW,
.js_header.is_subfixed .bl_gnav_icnW {
    display: none;
}

.js_header.is_fixed .bl_gnav_icnBk,
.js_header.is_subfixed .bl_gnav_icnBk {
    display: block;
}

.js_header.is_fixed .bl_hmbMenu_bar,
.js_header.is_subfixed .bl_hmbMenu_bar {
    background-color: #3A3C43;
}

.js_header.is_active {
    background: #fff;
    z-index: 100;
    height: 55px;
    border-bottom: 1px solid #EFEFEF;
}

.js_header.is_active .bl_header_logoW {
    display: none;
}

.js_header.is_active .bl_header_logoBk {
    display: block;
}

.js_header.is_active .bl_hmbMenu_bar {
    background-color: #3A3C43;
}

.js_header_inner.is_active {
    z-index: 101;
}

.js_header_inner.is_active .bl_header_logoW {
    display: none;
}

.js_header_inner.is_active .bl_header_logoBk {
    display: block;
}

.js_header_inner.is_active .bl_hmbMenu_bar {
    background-color: #3A3C43;
}

.bl_header {
    position: absolute;
    top: 15px;
    left: 0;
    z-index: 100;
    width: 100%;
}

.bl_header_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.bl_header_logoWrapper {
    max-width: 190px;
    margin-right: 15px;
    margin-top: -7px
}

.bl_header_logoBk {
    display: none;
}

.bl_header a {
    color: #fff;
}

.bl_header .bl_gnav {
    display: none;
}

/*ヘッダー レスポンシブ*/
@media screen and (min-width: 992px) {
    .ly_header {
        position: absolute;
    }

    .bl_header {
        top: 30px;
    }

    .bl_header_inner {
        padding: 0 5px;
    }

    .bl_header_logoWrapper {
        max-width: 260px;
        margin-top: 0
    }

    .bl_header .bl_gnav {
        display: block;
    }

    .js_header.is_fixed,
    .js_header.is_subfixed {
        height: 80px;
    }
}

/*グローバルナビゲーション
---------------------------------------------------------------------------*/
.bl_gnav {
    z-index: 100;
}

.bl_gnav_inner {
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
    font-weight: 400;
}

.bl_gnav_inner > li {
    border-bottom: 1px solid #707070;
}

.bl_gnav_inner > li:last-child {
    border-bottom-width: 0;
}

.bl_gnav_inner > li a {
    padding: 20px 30px;
}

.bl_gnav_inner > li img {
    width: 23px;
}

.bl_gnav_inner a {
    display: block;
}

.bl_gnav_inner ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 20px 0 0 30px;
}

.bl_gnav_inner ul > li {
    margin-right: 20px;
}

.bl_gnav_inner ul > li:last-child {
    margin-right: 0;
}

.bl_gnav_inner ul > li a {
    padding: 0;
}

.bl_gnav_icnBk {
    display: none;
}

.bl_gnav.js_gnav {
    display: none;
}

/*グローバルナビゲーション レスポンシブ*/
@media screen and (min-width: 992px) {
    .bl_gnav_inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .bl_gnav_inner > li {
        margin-right: 20px;
        margin-bottom: 0;
        padding: 0;
        border-bottom-width: 0;
    }

    .bl_gnav_inner > li:last-child {
        margin-right: 0;
    }

    .bl_gnav_inner > li a {
        padding: 0;
    }

    .bl_gnav_inner > li ul {
        padding: 0 0 0 10px;
    }

    .bl_gnav.js_gnav {
        display: block;
    }
}

/*グローバルナビゲーション（sp）
---------------------------------------------------------------------------*/
.bl_headerNav {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 55px 0 40px;
    background-color: #fff;
    z-index: 99;
    overflow-y: auto;
}

.bl_headerNav_inner {
    margin: 0 -15px;
    border-top: 1px solid #707070;
}

/*グローバルナビゲーション（sp） レスポンシブ*/
@media screen and (min-width: 992px) {
    .bl_gnav {
        display: none;
    }
}

/*ハンバーガーメニュー
---------------------------------------------------------------------------*/
.bl_hmbMenu {
    position: relative;
    margin: 0;
    padding: 0;
    border: none;
    background-color: transparent;
    z-index: 101;
    outline: none;
}

.bl_hmbMenu_inner {
    display: inline-block;
    cursor: pointer;
}

.bl_hmbMenu_bar {
    display: block;
    margin-bottom: 6px;
    width: 25px;
    height: 2px;
    background-color: #fff;
    -webkit-transition: 0.25s ease-out;
    transition: 0.25s ease-out;
}

.bl_hmbMenu_bar:last-child {
    margin-bottom: 0;
}

.js_hmbMenu.is_active .bl_hmbMenu_bar {
    background-color: #3A3C43;
}

.js_hmbMenu.is_active .bl_hmbMenu_bar:nth-of-type(1) {
    -webkit-transform: translateY(8px) rotate(45deg);
    transform: translateY(8px) rotate(45deg);
}

.js_hmbMenu.is_active .bl_hmbMenu_bar:nth-of-type(2) {
    opacity: 0;
}

.js_hmbMenu.is_active .bl_hmbMenu_bar:nth-of-type(3) {
    -webkit-transform: translateY(-8px) rotate(-45deg);
    transform: translateY(-8px) rotate(-45deg);
}

/*ハンバーガーメニュー レスポンシブ*/
@media screen and (min-width: 992px) {
    .bl_hmbMenu {
        display: none;
    }
}

/*メインビジュアル
---------------------------------------------------------------------------*/
.bl_MV {
    position: relative;
}

.bl_MV_inner {
    position: relative;
}

.bl_MV .swiper-container {
    margin: 0 -15px;
    z-index: -1;
}

.bl_MV .swiper-slide {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.bl_MV_entry {
    display: none;
}

.bl_sb_entry {
    display: none;
}

/*メインビジュアル レスポンシブ*/
@media screen and (min-width: 768px) {
    .bl_MV_info {
        margin: 0 0 -100px 0;
        left: 25px;
        bottom: 240px;
        padding: 15px 20px 10px;
        border: 4px solid #fff;
        background-color: rgba(255, 255, 255, 0.8);
        color: #341E10;
    }

    .bl_MV_info_ttl {
        margin-bottom: 6px;
        font-size: 1.9rem;
    }

    .bl_MV_info_date {
        display: inline-block;
        margin-right: 0.6em;
    }

    .bl_MV_entry {
        display: block;
        position: fixed;
        top: 280px;
        right: 0px;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }

    .bl_MV_entry > a {
        display: block;
        padding: 35px 10px;
        background-color: #fff;
        color: #40474A;
        font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
        font-weight: 400;
        letter-spacing: 1px;
        border: 1px solid #beada1;
        border-right: none;
        -o-writing-mode: vertical-rl;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
    }

    .bl_MV_entry > a + a {
        margin-top: 20px;
    }

    .bl_sb_entry {
        display: block;
        position: fixed;
        top: 270px;
        right: 0;
        transform: translateY(-50%);
        z-index: 9999;
    }
}



.bl_sb_entry > a {
    display: block;
    width: 44px;
    box-sizing: border-box;
    padding: 35px 10px;
    background: #fff;
    color: #40474A;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
    font-weight: 400;
    letter-spacing: 1px;
    border: 1px solid #beada1;
    border-right: none;
    writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    position: relative;
    right: 0px;
}

.bl_sb_entry > a + a {
    margin-top: 20px;
}

/*メインビジュアル 波*/
#canvas-container {
    background-size: cover;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
}

canvas {
    width: 100%;
    height: 200px;
    vertical-align: top;
}

/*メインビジュアル 波 レスポンシブ*/
@media screen and (min-width: 768px) {
    canvas {
        height: 150px;
    }
}

/*MV中央画像
---------------------------------------------------------------------------*/

.mv_concept {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    width: 75vw;
}

.mv_concept img {
    display: block;
    width: 100%;
    max-width: 380px;
    height: auto;
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
    .mv_concept {
        width: 75vw;
    }

    .mv_concept img {
        max-width: 100%;
    }
}


/*キャッチコピー
---------------------------------------------------------------------------*/

.shape-to-happiness {
    text-align: center;
    padding: 0 5%;
    margin: 120px 0 110px;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
}

.heading-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
}

.heading-main {
    font-size: clamp(2.2rem, 6vw, 4rem);
    font-weight: 600;
    letter-spacing: 0.1em;
    color: #8b3a3a;
    margin: 0;
    line-height: 1;
}

.heading-to {
    display: inline-block;
    font-size: clamp(1.2rem, 3vw, 2rem);
    font-weight: 600;
    letter-spacing: 0.15em;
    color: #8b3a3a;
    transform: rotate(-90deg);
    margin: 0;
    line-height: 1;
}

.catch-copy {
    margin-top: 30px;
    color: #8b3a3a;
    font-size: 1.8rem;
    line-height: 2.0;
    letter-spacing: 0.03em;
}

.catch-copy p {
    margin: 0;
}

@media screen and (max-width: 767px) {
    .shape-to-happiness {
        padding: 0 20px;
        margin: 60px 0;
    }

    .catch-copy {
        margin-top: 20px;
        font-size: 1.6rem;
        line-height: 1.8;
        letter-spacing: 0em;
    }
}

/*バナー
---------------------------------------------------------------------------*/
.bl_bannerWrapper {
    display: block;
    padding: 30px 0 45px;
}

.bl_banner {
    display: block;
    max-width: 750px;
    margin: 0 auto 50px;
}

.bl_banner .inner {
    display: block
}

.bl_banner .inner img {
    margin-bottom: 8px;
    padding: 0px
}

/*バナー レスポンシブ*/
@media screen and (min-width: 768px) {
    .bl_bannerWrapper {
        display: block;
        margin-top: 30px
    }

    .bl_banner .inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .bl_banner .inner img {
        margin-bottom: 0px;
        padding: 10px
    }

}

/*セクションヘッダー
---------------------------------------------------------------------------*/
.bl_secHeader {
    margin-bottom: 20px;
}

.bl_secHeader_ttl {
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #707070;
    text-align: center;
}

.bl_secHeader_ttl > img {
    width: 141px;
    margin-bottom: 10px;
}

.bl_secHeader_ttl > img + span {
    margin-top: 12px;
}

.bl_secHeader_ttl > img[data-sub-ttl=company] {
    width: 215px;
}

.bl_secHeader_ttl > img[data-sub-ttl=hinokiya] {
    width: 205px;
}

.bl_secHeader_ttl > img[data-sub-ttl=recruit] {
    width: 175px;
}

.bl_secHeader_ttl > img[data-sub-ttl=contact] {
    width: 175px;
}

.bl_secHeader_ttl > img[data-sub-ttl=visit] {
    width: 110px;
}


.bl_secHeader_ttl > span {
    display: block;
    /* margin-top: 12px; */
    font-size: 2rem;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
    font-weight: 400;
}

.bl_secHeader_desc {
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
    font-weight: 400;
    line-height: 2;
}

.bl_body .info-spc {
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
}


.bl_body .info-spc > h3 {
    font-size: 2rem;
    margin-bottom: 20px
}

/*セクションヘッダー レスポンシブ*/
@media screen and (min-width: 768px) {
    .bl_secHeader {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin-bottom: 35px;
    }

    .bl_secHeader_ttl {
        margin: 0 80px 0 0;
        padding: 0 80px 0 0;
        border-right: 1px solid #707070;
        border-bottom-width: 0;
        text-align: left;
    }

    .bl_body .info-spc > h3 {
        font-size: 2.4rem;
    }

}

/*不動産情報
---------------------------------------------------------------------------*/
.bl_top_estateWrapper {
    padding-bottom: 60px;
}

.bl_top_estate_cardWrapper {
    margin-bottom: 35px;
}

/*不動産情報 レスポンシブ*/
@media screen and (min-width: 768px) {
    .bl_top_estateWrapper {
        padding-bottom: 80px;
    }

    .bl_top_estate_cardWrapper {
        margin-bottom: 50px;
    }
}

/*施工実績
---------------------------------------------------------------------------*/
.bl_top_worksWrapper {
    padding: 60px 0 65px;
    background-size: cover;
}

.bl_top_works_header {
    margin-bottom: 20px;
}

.bl_top_works .el_secTtl {
    padding-bottom: 15px;
    border-bottom: 1px solid #707070;
}

.bl_top_works .el_secDesc {
    margin-bottom: 0;
}

.bl_top_works_galleryWrapper {
    margin-bottom: 35px;
}

/*施工実績 レスポンシブ*/
@media screen and (min-width: 768px) {
    .bl_top_worksWrapper {
        padding: 100px 0;
    }

    .bl_top_works {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .bl_top_works_header {
        -ms-flex-item-align: center;
        align-self: center;
        -ms-flex-preferred-size: 33%;
        flex-basis: 33%;
        margin-right: 30px;
    }

    .bl_top_works .el_secTtl {
        padding-bottom: 0;
        border-bottom-width: 0;
    }

    .bl_top_works .el_secDesc {
        margin-bottom: 30px;
    }

    .bl_top_works_body {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }
}

@media screen and (min-width: 992px) {
    .bl_top_works_header {
        margin-right: 40px;
    }
}

/*私たちの想い
---------------------------------------------------------------------------*/
.bl_top_concept_btnWrapper {
    display: none;
}

.bl_top_concept_btnWrapper .el_btn {
    border: 1px solid #E7E2DA;
    background-color: transparent;
    color: #fff;
}

.bl_top_concept_btnWrapper .el_btn::before {
    border-color: transparent transparent transparent #BAA740;
}

/*私たちの想い レスポンシブ*/
@media screen and (min-width: 768px) {
    .bl_top_concept_btnWrapper {
        display: block;
        text-align: right;
    }
}

/*お客様の声
---------------------------------------------------------------------------*/
.bl_top_voiceWrapper {
    padding: 60px 0 45px;
    background-size: cover;
}

.bl_top_voice {
    margin: 4px;
    padding: 45px 15px 18px;
    border: 1px solid #707070;
    background-color: #fff;
    outline: 1px solid #707070;
    outline-offset: 3px;
}

.bl_top_voice_btn {
    text-align: center;
}

/*お客様の声 レスポンシブ*/
@media screen and (min-width: 768px) {
    .bl_top_voiceWrapper {
        padding: 100px 0 80px;
    }

    .bl_top_voice {
        padding-top: 18px;
    }

    .bl_top_voice_btn {
        text-align: right;
    }
}

/*NEWS&INFORMATION
---------------------------------------------------------------------------*/
.bl_top_newsWrapper {
    padding: 60px 0 50px;
}

.bl_top_news_ttl {
    margin-bottom: 30px;
    font-size: 2.3rem;
    text-align: center;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
    font-weight: 400;
}

.bl_top_news_body {
    padding: 0 15px;
}

.bl_top_news_vertPostsWrapper {
    margin-bottom: 35px;
}

.bl_top_news_btn_sm {
    text-align: center;
}

.bl_top_news_btn_sm .el_btn {
    font-size: 1.4rem;
}

.bl_top_news_btn_md {
    display: none;
}

/*NEWS&INFORMATION レスポンシブ*/
@media screen and (min-width: 768px) {
    .bl_top_newsWrapper {
        padding: 80px 0;
    }

    .bl_top_news {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .bl_top_news_header {
        margin-right: 60px;
    }

    .bl_top_news_body {
        padding: 0;
    }

    .bl_top_news_ttl {
        margin-bottom: 20px;
        font-size: 2.6rem;
        text-align: left;
    }

    .bl_top_news_vertPostsWrapper {
        margin-bottom: 0;
    }

    .bl_top_news_btn_sm {
        display: none;
    }

    .bl_top_news_btn_md {
        display: block;
        text-align: right;
    }
}

/*インスタグラム
---------------------------------------------------------------------------*/
.bl_instaWrapper {
    padding: 55px 0 75px;
}

.bl_insta_ttl {
    margin: 0 auto 5px;
    width: 210px;
}

.bl_insta_loopsilder .swiper-wrapper {
    -webkit-transition-timing-function: linear !important;
    transition-timing-function: linear !important;
}

.bl_insta_loopsilder .swiper-wrapper .swiper-slide {
    position: relative;
}

.bl_insta_loopsilder .swiper-wrapper .swiper-slide::before {
    display: block;
    padding-top: 100%;
    content: "";
}

.bl_insta_loopsilder .swiper-wrapper .swiper-slide img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;";
    /*IE対策*/
}

/*インスタグラム レスポンシブ*/
@media screen and (min-width: 768px) {
    .bl_instaWrapper {
        padding: 100px 0;
    }

    .bl_insta_ttl {
        margin-bottom: 20px
    }
}

/*フッター
---------------------------------------------------------------------------*/
.bl_footerTop {
    padding: 50px 0 25px;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
    font-weight: 400;
}

.bl_footerTop_left {
    margin-bottom: 15px;
    text-align: center;
}

.bl_footerTop_logoWrapper {
    margin: 0 auto 10px;
    width: 220px;
}

.bl_footerTop_tel {
    font-size: 2.3rem;
}

.bl_footerTop_sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.bl_footerTop_sns > li {
    margin-right: 15px;
    margin-top: 5px
}

.bl_footerTop_sns > li:last-child {
    margin-right: 0;
}

.bl_footerTop_sns a {
    color: #fff;
}

.bl_footerTop_contact > li {
    margin-bottom: 0px;
}

.bl_footerTop_contact > li:last-child {
    margin-bottom: 0px;
}

.bl_footerTop_linksWrapper {
    display: none;
}

.bl_footerTop_privacy {
    text-align: center;
}

.bl_footerTop_privacy > a {
    color: #fff;
}

.bl_footerBottom {
    padding: 10px 0;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
    font-weight: 400;
}

/*フッター レスポンシブ*/
@media screen and (min-width: 768px) {
    .bl_footerTop {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding: 80px 0 10px;
    }

    .bl_footerTop_left {
        margin-bottom: 0;
        text-align: left;
    }

    .bl_footerTop_logoWrapper {
        margin: 0 0 15px 0;
        width: 290px;
    }

    .bl_footerTop_tel {
        font-size: 2.6rem;
    }

    .bl_footerTop_sns {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .bl_footerTop_linksWrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-bottom: 80px;
    }

    .bl_footerTop_links {
        margin-right: 45px;
    }

    .bl_footerTop_links:last-child {
        margin-right: 0;
    }

    .bl_footerTop_links > li {
        margin-bottom: 20px;
    }

    .bl_footerTop_links > li:last-child {
        margin-bottom: 0;
    }

    .bl_footerTop_links a {
        color: #fff;
    }

    .bl_footerTop_privacy {
        text-align: right;
    }
}


/*---------------------------------------------------------------------------
下階層ページ
---------------------------------------------------------------------------*/
.bl_body {
    background-color: #fff;
    padding: 35px 0 50px
}

.ly_sub {
    padding-top: 55px;
}

/*画像トリミング*/
.trim {
    overflow: hidden;
    position: relative;
    padding-top: 70%;
    background: #fff;
}

.trim img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

/*画像トリミング*/
.trim_sq {
    overflow: hidden;
    position: relative;
    padding-top: 80%;
    background: #fff;
}

/*続きを読む*/
a.more-blue {
    color: #5c6cc3
}

.trim_sq img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.h3-cent {
    text-align: center;
    font-size: 2.5rem;
    margin-top: 3rem;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
}


.bl_sub_MV {
    height: 200px;
    background-size: cover;
    background-position: center;
}

.bl_sub_MV[data-sub-mv=works] {
    background-image: url(../img/works/mv_sp.jpg);
}

.bl_sub_MV[data-sub-mv=estste] {
    background-image: url(../img/estate/mv_sp.jpg);
}

.bl_sub_MV[data-sub-mv=voice] {
    background-image: url(../img/voice/mv_sp.jpg);
}

.bl_sub_MV[data-sub-mv=news] {
    background-image: url(../img/home/mv2_sp.jpg);
}

.bl_sub_MV[data-sub-mv=company] {
    background-image: url(../img/home/mv8_sp.jpg);
}

.bl_sub_MV[data-sub-mv=policy] {
    background-image: url(../img/home/mv9_sp.jpg);
}

.bl_sub_MV[data-sub-mv=hinokiya] {
    background-image: url(../img/home/mv7_sp.jpg);
}

.bl_sub_MV[data-sub-mv=staff] {
    background-image: url(../img/home/mv6_sp.jpg);
}

.bl_sub_MV[data-sub-mv=recruit] {
    background-image: url(../img/home/mv10_sp.jpg);
}

.bl_sub_MV[data-sub-mv=recruit-form] {
    background-image: url(../img/home/mv10_sp.jpg);
}

.bl_sub_MV[data-sub-mv=contact],
.bl_sub_MV[data-sub-mv=contact-thanks],
.bl_sub_MV[data-sub-mv=contact-confirm] {
    background-image: url(../img/home/mv3_sp.jpg);
}

.bl_sub_MV[data-sub-mv=visit],
.bl_sub_MV[data-sub-mv=visit-confirm],
.bl_sub_MV[data-sub-mv=thanks] {
    background-image: url(../img/home/mv3_sp.jpg);
}

.bl_sub_MV[data-sub-mv=visit-reservation],
.bl_sub_MV[data-sub-mv=thanks-raijo] {
    background-image: url(../img/home/mv13_sp.jpg);
}

.bl_sub_content {
    padding: 25px 0 0;
    background-color: #f7f7f7
}

.bl_main p {
    line-height: 1.8;
    margin-bottom: 1rem
}

.bl_main img {
    margin-bottom: 15px
}

/*サイドバー*/

.bl_side {
    margin-top: 2em
}

.bl_side h4 {
    background-color: #2F1B1B;
    color: #fff;
    font-size: 1.8rem;
    padding: 8px 10px;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
    font-weight: 400;
    margin-bottom: 15px
}

.bl_side .cat_list {
    margin: 17px 0 10px;
    padding-left: 1em;
}

.bl_side .cat_list li {
    padding-bottom: 8px;
    font-weight: 600
}

.bl_side .cat_list li::before {
    content: '▶︎';
    padding-right: 8px;
}

.bl_side .cat_list li a:hover {
    color: #e36900
}

.bl_side .arc_list {
    margin: 17px 0 10px;
    padding-left: 1em;
}

.bl_side .arc_list li {
    padding-bottom: 8px;
    font-weight: 400
}

.bl_side .arc_list li::before {
    content: '-';
    padding-right: 8px;
}

.bl_side .arc_list li a:hover {
    color: #e36900
}

.bl_side .more_card {
    background: #efefef;
    border: 1px solid #d0d0d0;
    margin-bottom: 15px
}

.bl_side .more_card h5 {
    font-weight: 600;
    margin-bottom: 3px
}

.bl_side .more_card .photo {
    padding: 10px 10px 0 10px;
}

.bl_side .more_card .info {
    padding: 10px
}

.bl_side .more_card .info .cat {
    padding: 0.4em;
    color: #fff;
    font-size: 1.25rem;
    line-height: 1;
    margin-bottom: 5px;
    display: inline-block;
    background-color: #0d5507
}

.more_btn {
    display: none
}

.bl_body .info-spc > .cat {
    padding: 0.5em 0.5em 0.4em;
    color: #fff;
    font-size: 1.3rem;
    line-height: 1;
    margin-bottom: 5px;
    display: inline-block
}

.bl_body .info-spc > .cat[data-works-label=house],
.bl_side .more_card .info .cat[data-works-label=house] {
    background-color: #462D0B;
}

.bl_body .info-spc > .cat[data-works-label=reform],
.bl_side .more_card .info .cat[data-works-label=reform],
.bl_body .info-spc > .cat[data-works-label=building],
.bl_side .more_card .info .cat[data-works-label=building] {
    background-color: #0d0971;
}

.bl_body .info-spc > .cat[data-works-label=store],
.bl_side .more_card .info .cat[data-works-label=store],
.bl_body .info-spc > .cat[data-works-label=land],
.bl_side .more_card .info .cat[data-works-label=land] {
    background-color: #0D551E;
}

.bl_body .info-spc > .cat[data-works-label=apartment],
.bl_side .more_card .info .cat[data-works-label=apartment],
.bl_body .info-spc > .cat[data-works-label=build],
.bl_side .more_card .info .cat[data-works-label=build] {
    background-color: #6F1310;
}

.bl_body .info-spc > .place {
    font-size: 1.5rem;
}

/*下階層ページ レスポンシブ*/
@media screen and (min-width: 768px) {

    .bl_body {
        background-color: #fff;
        padding: 60px 0 100px
    }

    .bl_side {
        margin-top: 0
    }

    .bl_sub_MV {
        height: 380px;
    }

    .bl_body .info-spc > .cat {
        padding: 0.5em 0.6em;
        color: #fff;
        font-size: 1.4rem;
        line-height: 1;
        margin-bottom: 5px;
        display: inline-block
    }

    .h3-cent {
        font-size: 3rem;
    }

    .bl_sub_MV[data-sub-mv=works] {
        background-image: url(../img/works/mv.jpg);
    }

    .bl_sub_MV[data-sub-mv=estste] {
        background-image: url(../img/estate/mv.jpg);
    }

    .bl_sub_MV[data-sub-mv=voice] {
        background-image: url(../img/voice/mv.jpg);
    }

    .bl_sub_MV[data-sub-mv=news] {
        background-image: url(../img/home/mv2.jpg);
    }

    .bl_sub_MV[data-sub-mv=company] {
        background-image: url(../img/home/mv8.jpg);
    }

    .bl_sub_MV[data-sub-mv=policy] {
        background-image: url(../img/home/mv9.jpg);
    }

    .bl_sub_MV[data-sub-mv=hinokiya] {
        background-image: url(../img/home/mv7.jpg);
    }

    .bl_sub_MV[data-sub-mv=staff] {
        background-image: url(../img/home/mv6.jpg);
    }

    .bl_sub_MV[data-sub-mv=recruit] {
        background-image: url(../img/home/mv10.jpg);
    }

    .bl_sub_MV[data-sub-mv=recruit-form] {
        background-image: url(../img/home/mv10.jpg);
    }

    .bl_sub_MV[data-sub-mv=contact] {
        background-image: url(../img/home/mv3.jpg);
    }

    .bl_sub_MV[data-sub-mv=visit] {
        background-image: url(../img/home/mv13.jpg);
    }

    .bl_sub_MV[data-sub-mv=visit-reservation],
    .bl_sub_MV[data-sub-mv=thanks-raijo] {
        background-image: url(../img/home/mv12.jpg);
    }

    .bl_sub_content {
        padding: 40px 0 0;
        /*padding: 80px 0;*/
    }
}

@media screen and (min-width: 992px) {
    .ly_sub {
        padding-top: 80px;
    }
}

@media screen and (max-width: 992px) {
    .bl_side .more_card .photo {
        padding: 10px
    }

    .bl_side .more_card .info {
        padding: 15px 10px
    }

    .more_btn {
        display: inline-block;
        border: 1px solid #d0d0d0;
        background-color: #fff;
        padding: 2px 5px;
    }
}


/*---------------------------------------------------------------------------
施工実績ページ
---------------------------------------------------------------------------*/
/*カード
---------------------------------------------------------------------------*/
.bl_worksCardWrapper {
    margin-bottom: 45px;
}

.bl_worksCardUnit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 0px !important
}

/*4カラム
---------------------*/

.bl_worksCardUnit.bl_worksCardUnit__col3 {
    display: flex;
    flex-wrap: wrap;
    gap: 25px 50px;
    /* 縦 横 */
    width: 100%;
}

.bl_worksCardUnit__col3 .bl_worksCard {
    width: calc((100% - 50px * 2) / 3);
}


.bl_worksCard {
    position: relative;
}

.bl_worksCard > *:last-child {
    margin-bottom: 0;
}

.bl_worksCard_imgWrapper {
    display: block;
    position: relative;
    padding-top: 72.2222222222%;
    overflow: hidden;
}

.bl_worksCard_imgWrapper > img {
    position: absolute;
    top: 50%;
    width: 100%;
    height: 100%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;";
    /*IE対策*/
}

.bl_worksCard_body {
    padding: 15px 15px 15px 15px;
    font-size: 1.3rem;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
    font-weight: 400;
}

.bl_worksCard_label {
    position: absolute;
    top: 12px;
    left: 0;
    padding: 0.3em 0.6em;
    color: #fff;
    font-size: 1.4rem;
    background-color: #0f5509
}

.bl_worksCard_label[data-works-label=house] {
    background-color: #462D0B;
}

.bl_worksCard_label[data-works-label=reform] {
    background-color: #0d0971;
}

.bl_worksCard_label[data-works-label=store] {
    background-color: #0D551E;
}

.bl_worksCard_label[data-works-label=apartment] {
    background-color: #6F1310;
}



/*施工実績新CSS*/

.works_ttl {
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
    margin-bottom: 50px;
}

.works_ttl h3 {
    font-size: 2.3rem;
    border-bottom: 1px solid gray;
    margin-bottom: 10px;
    padding-bottom: 20px
}

.works_ttl .works_info {
    display: flex;
    justify-content: flex-end
}

.works_ttl .works_info p {
    margin-left: 1em
}

.works_wrap {
    max-width: 1000px
}

.works_main {
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
}

.works_main > .mv {
    margin-bottom: 25px;
    max-width: 600px;
    margin: 0 auto 60px
}

.works_box {
    display: flex;
    align-items: center;
    margin-bottom: 50px
}

.works_reverse {
    flex-flow: row-reverse
}

.works_box .article_img {
    width: 40%
}

.works_box .article_commnet {
    width: 60%;
    padding: 0 30px
}

.works_full_omg {
    margin: 55px 0 45px
}

.bl_worksCard_date {
    font-size: 1.3rem;
    text-align: center;
    color: #555555;
}

.bl_worksCard_ttl {
    font-size: 1.6rem;
    line-height: 1.4 !important;
    margin: 15px 0 5px 0 !important;
    text-align: center;
    color: #555555
}

.articleImgList {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    list-style: none;
    margin: 0;
    padding-left: 0 !important;
    /* Bootstrap対策 */
}

.articleImgList__item {
    flex: 0 0 calc((100% - 60px) / 3);
    max-width: calc((100% - 60px) / 3);
    margin: 0 !important;
}

.articleImgList__item a {
    display: block;
}

.articleImgList__item img {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    display: block;
}

.works_main_body {
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
    margin: 55px 0 65px
}

.works_main_body h3 {
    font-size: 26px;
    margin: 15px 0 15px;
    font-weight: 600;
    border-bottom: dotted 1px #341E10;
    padding-bottom: 5px
}

/*左右リンク*/

.works_pager__row {
    position: relative;
    padding: 40px 0;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
}

.works_pager__row::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 1px;
    height: 42px;
    background: #333;
    opacity: .6;
}

.works_pager__col {
    display: flex;
}

.works_pager__col--prev {
    justify-content: flex-start;
    padding-right: 30px;
}

.works_pager__col--next {
    justify-content: flex-end;
    padding-left: 30px;
}

.works_pager__link {
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
}

.works_pager__link--prev {
    text-align: left;
}

.works_pager__link--next {
    text-align: right;
}

.works_pager__arrow {
    font-size: 28px;
    line-height: 1;
}

.works_pager__meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.works_pager__label {
    font-size: 14px;
}

.works_pager__title {
    font-size: 1.6rem;
}


@media (max-width: 768px) {
    .bl_worksCardUnit__col3 .bl_worksCard {
        width: 100%;
    }

    .articleImgList__item {
        flex: 0 0 calc((100% - 30px) / 2);
        max-width: calc((100% - 30px) / 2);
    }

    .works_main_body h3 {
        font-size: 20px;
        margin: 15px 0 15px;
    }
}



/*---------------------------------------------------------------------------
不動産情報ページ
---------------------------------------------------------------------------*/
/*カード
---------------------------------------------------------------------------*/

.top_cat_list {
    list-style: none !important;
    margin: 0 auto 60px auto !important;
    padding: 0 !important;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    width: 85%
}

.top_cat_list > li {
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 calc((100% - 60px) / 4);
    max-width: calc((100% - 60px) / 4);
}

.top_cat_list > li > a {
    display: block;
    width: 100%;
    padding: 8px 10px;
    background: #523d2d;
    color: #fff !important;
    text-align: center;
    text-decoration: none;
    border-radius: 4px;
}

/* hover */
.top_cat_list > li > a:hover {
    background: #841713;
}

.bl_estate_Card {
    margin-bottom: 35px;
    padding-bottom: 35px;
    border-bottom: 1px dotted #b2b2b2;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
}

.bl_estate_Card h3 {
    font-size: 2.0rem;
    font-weight: 400;
    margin-top: 10px
}

.bl_estate_Card dl {
    padding: 8px 0;
    font-size: 1.4rem
}

.bl_estate_Card dt {
    margin-bottom: 8px;
    white-space: nowrap;
    background: #d8d8d8;
    padding: 5px 5px;
    line-height: 1;
}

.bl_estate_Card dt:last-child,
.bl_estate_Card dd:last-child {
    margin-bottom: 0px;
}

.bl_estate_Card dd {
    margin-bottom: 8px;
}

.bl_estate_Card .btn {
    background-color: #5c0d0d;
    text-align: center;
    padding: 5px 0;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.bl_estate_Card .btn:hover {
    background-color: #0b6404;
}

.bl_estate_Card .btn a {
    color: #fff;
}

.estate-thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 2;
    overflow: hidden;
}

.estate-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.estate-date {
    color: #7c6868;
    font-size: 1.3rem;
    text-align: right;
    border-top: 1px solid #e3e3e3;
    padding-top: 8px;
    margin-top: 10px
}

/*詳細ページ*/

.cat_wrap {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 10px
}

.cat {
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 14px;
    line-height: 1;
    color: #fff;
}

/* slug別（例） */
.new_estate {
    background: #2d7ff9;
}

.cat--new {
    background: #ff5a8a;
}

.cat--sale {
    background: #28b463;
}

/* 万が一未設定slugが来た時の保険 */
.cat:not([class*="cat--"]) {
    background: #4e3131;
}

.estate_info {
    margin: 1em 0 2.5em;

}

dl.estate_info {
    padding: 8px 0 25px;
    font-size: 1.4rem;
    border-bottom: 1px solid #707070;
}

.estate_info dt {
    margin-bottom: 8px;
    white-space: nowrap;
    background: #d8d8d8;
    padding: 5px 5px;
}

.estate_info dt:last-child,
.estate_info dd:last-child {
    margin-bottom: 0.5em;
}

.estate_info dd {
    margin-bottom: 8px;
}

.estate_moreimg_list {
    list-style: none;
    padding: 0;
    margin: 45px 0 45px;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: flex-start;
}

.estate_moreimg_list > li {
    margin: 0;
    padding: 0;
    flex: 0 0 calc((100% - 45px) / 4);
    max-width: calc((100% - 45px) / 4);
}

.estate_moreimg_list > li > a {
    display: block;
    width: 100%;
    flex: none;
}

.estate_moreimg_list > li > a > img {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    display: block;

    /* 余計な余白を殺す */
    margin: 0;
    padding: 0;
}

.estate_big_img_list {
    margin: 45px 0
}

.estate_free_aree {
    margin: 45px 0
}

/*youtube*/
.yt_list {
    list-style: none;
    margin: 50px 0 0;
    padding: 0;

    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.yt_item {
    margin: 0;
    padding: 0;
    flex: 0 0 calc((100% - 15px) / 2);
    /* 2列 */
}

.yt_box {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.yt_box iframe {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    border: 0;
    display: block;
}

/*Map*/

.gmap_iframe {
    width: 100%;
    height: 400px;
    position: relative;
    overflow: hidden;
    margin-top: 50px
}

.gmap_iframe iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}




@media (max-width:767px) {

    .estate_moreimg_list > li {
        flex: 0 0 calc((100% - 15px) / 2);
        max-width: calc((100% - 15px) / 2);
    }

    .gmap_iframe {
        height: 320px;
    }

    .top_cat_list {
        width: 100%;
        gap: 10px;
        margin-bottom: 35px !important
    }

    .top_cat_list > li {
        flex: 0 0 calc((100% - 10px) / 2);
        max-width: calc((100% - 10px) / 2);
    }
}

@media (max-width: 480px) {
    .yt_item {
        flex-basis: 100%;
    }
}


@media screen and (min-width: 768px) {

    .top_cat_list {
        margin-bottom: 20px
    }

    .top_cat_list li {
        padding: 5px 10px;
        margin: 0 8px 25px;
        width: 25%;
    }

    .bl_estate_Card h3 {
        margin-top: 0px
    }

    .bl_estate_Card dl {
        padding: 15px 0;
    }

    .bl_estate_Card dt {
        white-space: nowrap;
        clear: left;
        float: left;
        width: 4em;
        font-weight: normal;
        padding: 5px 0px;
        text-align: center;
        margin-right: 1.5rem;
    }

    .bl_estate_Card dd {
        margin-left: 5em;
        padding: 3px 0;
    }

    /*詳細ページ*/

    dl.estate_info {
        font-size: 1.6rem
    }

    .estate_info dt {
        white-space: nowrap;
        clear: left;
        float: left;
        width: 4em;
        font-weight: normal;
        padding: 3px 0px;
        text-align: center;
        margin-right: 1.5rem;
    }

    .estate_info dd {
        margin-left: 5em;
        padding: 3px 0px;
    }
}


/*---------------------------------------------------------------------------
お客様の声ページ
---------------------------------------------------------------------------*/
/*カード
---------------------------------------------------------------------------*/
.bl_voice_Card {}

.voice_hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #4e2b14;
    margin: 2.5em 0;
    padding: 0;
    background-color: #4e2b14;
}

.bl_voice_Card h3 {
    font-size: 2rem;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
    font-weight: 400;
    margin-top: 10px;
    padding: 8px 0;
}

.bl_voice_Card dl {
    padding: 8px 0;
    font-size: 1.4rem
}

.bl_voice_Card dt {
    margin-bottom: 8px;
    white-space: nowrap;
    background: #d8d8d8;
    padding: 5px 5px;
    line-height: 1;
}

.bl_voice_Card dt:last-child,
.bl_voice_Card dd:last-child {
    margin-bottom: 0px;
}

.bl_voice_Card dd {
    margin-bottom: 8px;
}

.bl_voice_Card .btn {
    background-color: #5c0d0d;
    text-align: center;
    padding: 5px 0;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.bl_voice_Card .btn:hover {
    background-color: #0b6404;
}

.bl_voice_Card .btn a {
    color: #fff;
}

@media screen and (min-width: 768px) {
    .bl_voice_Card h3 {
        font-size: 2.3rem;
        margin-top: 0px;
        border-bottom: 1px dotted #333;
    }

    .bl_voice_Card dl {
        padding: 15px 0;
    }

    .bl_voice_Card dt {
        white-space: nowrap;
        clear: left;
        float: left;
        width: 4em;
        font-weight: normal;
        padding: 5px 0px;
        text-align: center;
        margin-right: 1.5rem;
    }

    .bl_voice_Card dd {
        margin-left: 11%;
        padding: 3px 0;
    }
}


/*お客様の声詳細ページ
---------------------------------------------------------------------------*/

.voise_wrap h3 {
    font-size: 2rem;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
    font-weight: 400;
    margin-bottom: 20px;
    padding: 8px 0;
    border-bottom: 1px dotted #333;
}

.voise_wrap dl {
    padding: 8px 0;
    font-size: 1.5rem
}

.voise_wrap dt {
    margin-bottom: 8px;
    white-space: nowrap;
    background: #d8d8d8;
    padding: 5px 5px;
    line-height: 1;
}

.voise_wrap dt:last-child,
.voise_wrap dd:last-child {
    margin-bottom: 0px;
}

.voise_wrap dd {
    margin-bottom: 10px;
}


.voise_wrap p {
    line-height: 1.8
}

.voise_wrap .voice_photo {
    max-width: 100%;
    padding: 0 0 15px 0
}

.voise_wrap .btn {
    text-align: center;
    margin-top: 2em
}

.voise_wrap .btn a {
    background-color: #502301;
    color: #fff;
    padding: 15px 15px;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.voise_wrap .btn a:hover {
    background-color: #0b6404;
}

@media screen and (min-width: 768px) {
    .voise_wrap h3 {
        font-size: 2.5rem;
        margin-bottom: 1.2em;
        padding-bottom: 15px;
        border-bottom: 1px dotted #333;
    }

    .voise_wrap dl {
        padding: 0 0 25px 0;
    }

    .voise_wrap dt {
        white-space: nowrap;
        clear: left;
        float: left;
        width: 4em;
        font-weight: normal;
        padding: 6px 0px;
        text-align: center;
        margin-right: 1.5rem;
    }

    .voise_wrap dd {
        margin-left: 4em;
        padding: 3px 0;
    }

    .voise_wrap .voice_photo {
        max-width: 450px;
        float: right;
        padding: 0 0 15px 25px
    }
}


/*---------------------------------------------------------------------------
新着情報＆お知らせページ
---------------------------------------------------------------------------*/

.bl_news .bl_secHeader_ttl > img {
    width: 420px;
}

.bl_news_Card {
    margin-bottom: 2em;
    padding-bottom: 2em;
    border-bottom: 1px solid #341E10;
}

.bl_news_Card .cat {
    display: inline-block;
    color: #fff;
    padding: 6px 6px;
    line-height: 1;
    font-size: 1.4rem;
}

.bl_news .news__ttl {
    font-size: 2.5rem;
    margin-bottom: 15px;
    border-bottom: 1px dotted #341E10;
    padding-bottom: 5px;
}

.bl_news .cat-info {
    display: inline-block;
    color: #fff !important;
    padding: 6px 6px;
    line-height: 1;
    font-size: 1.4rem;
    background-color: #f0004a;
    margin-bottom: 5px
}

.bl_news .date-info {
    font-size: 1.5rem;
}

.bl_news .news-block {
    padding-top: 15px;
}

.bl_news_Card .cat[data-label=tour] {
    background-color: #f0004a;
}

.bl_news_Card .cat[data-label=event] {
    background-color: #ea6a0c;
}

.bl_news_Card .cat[data-label=news] {
    background-color: #48489b;
}

.bl_news_Card .cat[data-label=blog] {
    background-color: #0b6404;
}


.bl_news_Card .date {
    font-size: 1.5rem;
    margin: 5px 0
}

.bl_news_Card h3 {
    font-size: 2.3rem;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
}

.bl_news_Card .info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.bl_news h3 {
    font-size: 2.3rem;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
}

@media screen and (max-width: 768px) {
    .bl_news .bl_secHeader_ttl > img {
        width: 80%;
    }

    .bl_news_Card img {
        margin-bottom: 15px
    }

    .bl_news .news__ttl {
        font-size: 2rem;
        margin-bottom: 15px;
        border-bottom: 1px dotted #341E10;
        padding-bottom: 8px;
    }
}

/*セクションヘッダー レスポンシブ*/
@media screen and (min-width: 768px) {

    .bl_news .bl_secHeader_ttl {
        margin: 0 60px 0 0;
        padding: 0 60px 0 0;
        border-right: 1px solid #707070;
        border-bottom-width: 0;
        text-align: left;
    }
}



/*---------------------------------------------------------------------------
下階層共通
---------------------------------------------------------------------------*/
.h3-border {
    width: 90px;
    margin: 20px auto 40px auto;
}

@media (max-width: 769px) {
    .h3-border {
        width: 90px;
        margin: 13px auto 30px auto;
    }
}


/*---------------------------------------------------------------------------
会社概要
---------------------------------------------------------------------------*/
#company_wrap {
    max-width: 960px;
    margin: 0 auto;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
}

#company_wrap .h3-brw {
    font-size: 1.8rem;

    color: #fff;
    border-bottom: 1px solid #410909;
    padding-bottom: 5px;
    margin: 4.5rem 0 2.5rem
}

#company_wrap .h3-brw span {
    background: #410909;
    padding: 10px 15px;
}

#company_wrap .h3-topmargin {
    margin-top: 100px
}

/*#company_wrap ol {
    list-style: decimal;
    padding-left: 2em;
    font-size: 2.2rem;
    font-weight: 600;
    margin: 3rem 0 8rem;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
}

#company_wrap ol li {
    margin-bottom: 10px
}*/


#company_wrap .table-sp {
    width: 100%;
    max-width: 960px;
    margin: 45px auto 80px;
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 1.05em !important;
    line-height: 1.6em
}

#company_wrap .table-sp th {
    font-weight: 600;
    padding: 15px 35px 15px 15px;
    width: 180px;
    white-space: nowrap;
    vertical-align: middle
}

#company_wrap .table-sp td {
    text-align: left;
    padding: 15px;
}

#company_wrap .table-sp tr {
    border-bottom: 1px solid #816959;
}

#company_wrap .table-sp tr:first-child {
    border-top: 1px solid #816959;
}

#company_wrap .table-sp ul {
    padding-left: 1em;
}

@media screen and (min-width: 769px) {
    #company_wrap .table-sp th {
        text-align-last: justify;
        text-justify: inter-ideograph;
    }
}

@media screen and (max-width: 768px) {
    #company_wrap .h3-topmargin {
        margin-top: 40px
    }

    #company_wrap .table-sp,
    #company_wrap .table-sp tbody,
    #company_wrap .table-sp thead,
    #company_wrap .table-sp tr,
    #company_wrap .table-sp td,
    #company_wrap .table-sp th {
        display: block;
        text-align: left;
    }

    #company_wrap .table-sp th {
        text-align: center !important;
    }

    #company_wrap .table-sp {
        font-size: 1em !important;
    }

    #company_wrap .table-sp th {
        padding: 5px 10px;
        width: auto;
        border-bottom: 1px dotted #555555;
    }

    #company_wrap .table-sp td {
        border: none;
        padding: 10px;
    }
}

@media screen and (min-width:768px) {
    #company_wrap dl.enkaku dt {
        width: 5em;
        font-weight: 600;
        ;
        float: left;
        clear: both;
    }

    #company_wrap dl.enkaku dd {
        padding: 0 0 0 6em;
        margin: 0 0 10px;
    }

    .table-sp2 td {
        min-width: 650px;
    }
}

@media screen and (max-width:767px) {

    #company_wrap dl.enkaku dd {
        margin-left: 0em !important;
        margin: 0 0 7px;
    }

    #company_wrap dl.enkaku dt {
        font-weight: 600;
        font-weight: 600 !importamt;
    }
}

/*---------------------------------------------------------------------------
会社概要　移植版
---------------------------------------------------------------------------*/
.rinen_wrap {
    max-width: 800px;
    margin: 0 auto 90px;
    border: 1px solid gray;
    padding: 50px 60px;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
}

.rinen_wrap h3 {
    margin: 0 0 25px
}

.rinen_wrap ol {
    list-style: decimal;
    padding-left: 2em;
}

.rinen_wrap ol li {
    font-size: 1.9rem;
    line-height: 1.6;
    margin-bottom: 10px
}

@media screen and (max-width:767px) {

    .rinen_wrap {
        margin: 0 auto 50px;
        padding: 30px 20px 20px 20px;
        font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
    }

    .rinen_wrap h3 {
        margin: 0 0 12px
    }

    .rinen_wrap ol {
        list-style: decimal;
        padding-left: 2em;
    }

    .rinen_wrap ol li {
        font-size: 1.6rem;
        line-height: 1.7;
        margin-bottom: 5px
    }
}


/*---------------------------------------------------------------------------
桧屋住宅
---------------------------------------------------------------------------*/
.yoyaku-hinokiya {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.btn-org {
    background-color: #ff6c00;
    color: #fff;
    padding: 12px 30px;
    margin: 0 7px;
    border-radius: 30px;
    font-size: 1.2em
}

.btn-org:hover {
    background-color: #0b6404;
}

.table-hinokiya {
    width: 100%;
    margin: 25px auto 40px;
    border-collapse: collapse;
    border-spacing: 0;
}

.table-hinokiya th {
    font-weight: 600;
    padding: 12px 1em 12px 12px;
    width: 6em;
    white-space: nowrap;
    vertical-align: middle
}

.table-hinokiya td {
    text-align: left;
    padding: 12px;
    line-height: 1.5
}

.table-hinokiya tr {
    border-bottom: 1px solid #816959;
}

.table-hinokiya tr:first-child {
    border-top: 1px solid #816959;
}

.table-hinokiya ul {
    padding-left: 1em;
}

@media screen and (min-width: 769px) {



    .table-hinokiya th {
        text-align-last: justify;
        text-justify: inter-ideograph;
    }
}

@media screen and (max-width: 768px) {
    .yoyaku-hinokiya {
        display: block
    }

    .yoyaku-hinokiya p {
        margin-bottom: 20px
    }

    .table-hinokiya,
    .table-hinokiya tbody,
    .table-hinokiya thead,
    .table-hinokiya tr,
    .table-hinokiya td,
    .table-hinokiya th {
        display: block;
        text-align: left;
    }

    .table-hinokiya th {
        text-align: center
    }

    .table-hinokiya {
        font-size: 1em;
    }

    .table-hinokiya th {
        padding: 5px 10px;
        width: auto;
        border-bottom: 1px dotted #555555;
    }

    .table-hinokiya td {
        border: none;
        padding: 10px;
    }
}

/*---------------------------------------------------------------------------
桧屋住宅　移植分
---------------------------------------------------------------------------*/

.hinokiya_wrap {
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
}

/* ========== HEADER ========== */
.hinokiya-header {
    text-align: center;
    padding: 20px 0;
}

.hinokiya-logo img {
    width: auto;
}

.hinokiya-logo-sub {
    font-size: 12px;
    letter-spacing: 2px;
}

.hinokiya-tagline {
    font-size: 2.2rem;
    color: #333;
    margin-top: 20px;
    letter-spacing: 0.5px;
}

/* ========== TROUBLE SECTION ========== */
.trouble-section {
    margin: 40px auto;
}

.trouble-box {
    background: #f9f9f9;
    padding: 0;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    overflow: hidden;
}

.trouble-content {
    flex: 1;
    padding: 45px 0 45px 45px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.trouble-title {
    font-size: 2.4rem;
    margin-bottom: 14px;
}

.trouble-list {
    list-style: none;
}

.trouble-list li {
    font-size: 1.8rem;
    color: #555;
    line-height: 1.8;
}

.trouble-image {
    width: 35%;
    flex-shrink: 0;
}

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

/* ========== 桧家住宅紹介 ========== */
.hinokiya-intro {
    padding: 15px 0 24px;
}

.section-heading {
    font-size: 2.8rem;
    color: #e05a00;
    border-bottom: 2px solid #e05a00;
    padding-bottom: 8px;
    margin-bottom: 36px;
    display: inline-block;
}

.intro-grid {
    display: flex;
    gap: 36px;
    align-items: center
}

.intro-image {
    width: 45%;
    flex-shrink: 0;
}

.intro-image img {
    width: 100%;
    height: auto;
    display: block;
}

.intro-content {
    flex: 1;
}

.intro-title {
    font-size: 2.4rem;
    color: #e05a00;
    margin-bottom: 16px;
    line-height: 1.6;
}

.intro-text {
    font-size: 1.6rem;
}

/* ========== オリジナリティ商品 ========== */
.originality-section {
    padding: 50px 0 50px;
}

.originality-heading {
    font-size: 2.2rem;
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
    margin-bottom: 60px;
}

.product-item {
    margin-bottom: 45px;
}

.product-item--image-left {
    display: flex;
    gap: 32px;
    align-items: flex-start;
}

.product-item--image-right {
    display: flex;
    gap: 32px;
    align-items: flex-start;
    flex-direction: row-reverse;
}

.product-image {
    width: 35%;
    flex-shrink: 0;
}

.product-image img {
    width: 100%;
    height: auto;
    display: block;
}

.product-content {
    flex: 1;
}

.product-title {
    font-size: 2.2rem;
    color: #333;
    margin-bottom: 12px;
    line-height: 1.6;
}

.product-text {
    color: #555;
    line-height: 2;
}

.product-link {
    display: inline-block;
    font-size: 12px;
    color: #e05a00;
    margin-top: 8px;
    text-decoration: none;
}

/* ========== SP: 767px以下 ========== */
@media (max-width: 767px) {

    /* ========== HEADER ========== */
    .hinokiya-header {
        text-align: center;
        padding: 0;
    }

    .hinokiya-logo img {
        margin: 0
    }

    .hinokiya-tagline {
        font-size: 1.6rem;
        margin: 20px 0 0 0
    }

    /* ========== TROUBLE SECTION ========== */
    .trouble-section {
        margin: 40px auto;
    }

    .trouble-box {
        display: flex;
        flex-flow: column;
        align-items: flex-end;
    }

    .trouble-content {
        flex: 1;
        padding: 20px 20px 6px 20px;
        display: flex;
    }

    .trouble-title {
        font-size: 2rem;
    }

    .trouble-list li {
        font-size: 1.6rem;
        line-height: 1.6;
    }

    .trouble-image {
        width: 100%;
    }

    /* ========== 桧家住宅紹介 ========== */
    .hinokiya-intro {
        padding: 0 0 24px;
    }

    .section-heading {
        font-size: 2.2rem;
        margin-bottom: 25px;
    }

    .intro-grid {
        flex-flow: column;
        gap: 0;
    }

    .intro-image {
        width: 100%;
    }

    .intro-image img {
        width: 100%;
    }

    .intro-title {
        font-size: 2.0rem;
        margin-bottom: 15px;
    }

    .intro-text {
        font-size: 1.6rem;
    }

    /* ========== オリジナリティ商品 ========== */
    .originality-section {
        padding: 5px 0;
    }

    .originality-heading {
        font-size: 2.0rem;
        margin-bottom: 25px;
    }

    .product-item {
        margin-bottom: 30px;

    }

    .product-item--image-left {
        display: block;
        flex-flow: column;
        gap: 0;
    }

    .product-item--image-right {
        display: block;
        flex-flow: column;
        gap: 0px;
    }

    .product-image {
        width: 100%;
        flex-shrink: 0;
    }

    .product-image img {
        width: 100%;
    }


    .product-title {
        font-size: 2.0rem;
    }

    .product-text {
        line-height: 1.8;
    }
}

/*---------------------------------------------------------------------------
採用情報
---------------------------------------------------------------------------*/
.recruit {
    width: 90%;
    margin: 0 auto
}

h3.rec_ttl {
    font-size: 2.2rem;
    font-weight: 600;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;

}

.recruit-table {
    border-collapse: collapse;
    width: 100%;
    margin: 1em auto 45px;
}

.recruit-table th,
.recruit-table td {
    padding: 10px 15px;
    border: 1px solid #aaa;
    vertical-align: top;
    text-align: left;
    vertical-align: middle
}

.recruit-table th {
    background: #eee;
    width: 25%;
    white-space: nowrap
}

.recruit-table td {
    background: #fff;
}

.recruit_entry {
    background-color: #fff1ed;
    padding: 35px 15px;
    text-align: center
}

.recruit_entry a {
    font-size: 3rem;
    background-color: #E92F2E;
    color: white;
    font-weight: 600;
    display: inline-block;
    border: 3px solid #fff;
    padding: 25px;
    width: 50%
}

.recruit_entry a:hover {
    background-color: #3155b7;
}

.recruit_entry_howto h3 {
    font-size: 3rem;
    font-weight: 600;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
    margin: 45px 0 25px;
    border-bottom: 1px dotted #333;
    padding-bottom: 5px
}

.recruit_entry_howto h4 {
    background-color: #341E10;
    display: inline-block;
    padding: 10px 15px 10px;
    color: #fff;
    font-weight: 600;
    font-size: 2.2rem;
}

.recruit_entry_howto p {
    margin: 0
}

.recruit_entry_howto span {
    font-weight: 400;
    font-size: 1.7rem;
    margin-left: 0.5rem
}

.recruit_entry_howto .sq_mark {
    font-size: 2.5rem;
    margin: 0.45rem 0 0.35rem 1.5rem;
    color: #0b6404
}

.rec_info {
    background-color: #edecec;
    padding: 20px 25px;
    font-weight: 600;
    font-size: 1.8rem;
    margin-top: 30px
}

@media only screen and (max-width:767px) {

    .recruit {
        width: 100%;
    }

    .recruit-table th,
    .recruit-table td {
        display: block;
        width: auto;
        border-bottom: none;
    }

    .recruit-table tr:last-child {
        border-bottom: 1px solid #aaa;
    }

    .recruit_entry {
        padding: 15px 15px;
    }

    .recruit_entry a {
        font-size: 2rem;
        padding: 10px 0;
        width: 100%
    }

    .recruit_entry_howto h3 {
        font-size: 2rem;
    }

    .recruit_entry_howto h4 {
        padding: 5px 10px;
        font-weight: 600;
        font-size: 1.7rem;
        margin-bottom: 0
    }

    .recruit_entry_howto span {
        font-weight: 400;
        font-size: 1.6rem;
        margin-left: 0.5rem
    }

    .rec_info {
        padding: 15px;
        font-size: 1.6rem;
        margin-top: 30px
    }

}

/*---------------------------------------------------------------------------
採用情報 移植版
---------------------------------------------------------------------------*/

.recruit-wrap {
    width: 100%;
    max-width: 600px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 0 auto
}

.recruit-item {
    display: block;
    text-decoration: none;
    cursor: pointer;
}

/* ===== PC layout (横並び) ===== */
.recruit-card {
    display: flex;
    align-items: stretch;
    background: #e8e8e8;
    overflow: hidden;
}

.recruit-card__img-wrap {
    flex: 0 0 120px;
    width: 120px;
    height: 120px;
    position: relative;
}

.recruit-card__img-wrap::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 6px;
    height: 100%;
    background: #8a3a3a;
}

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

.recruit-card__body {
    flex: 1;
    padding: 24px 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

.recruit-card__en {
    font-family: 'Georgia', 'Times New Roman', serif;
    font-size: 2.4rem;
    font-weight: normal;
    letter-spacing: 0.1em;
    color: #3a2020;
    margin-bottom: 5px !important;
}

.recruit-card__dots {
    display: flex;
    gap: 5px;
    margin-bottom: 0;
}

.recruit-card__dots span {
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #aaa;
}

.recruit-card__ja {
    font-size: 1.5rem;
    color: #555;
    letter-spacing: 0.05em;
    position: absolute;
    right: 32px;
    top: 50%;
    transform: translateY(-50%);
    margin-bottom: 0 !important
}

/* ===== SP layout ===== */
@media (max-width: 767px) {
    .recruit-card {
        flex-direction: row;
        align-items: stretch;
    }

    .recruit-card__img-wrap {
        flex: 0 0 110px;
        width: 110px;
        height: auto;
        aspect-ratio: unset;
    }

    .recruit-card__img-wrap img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .recruit-card__img-wrap::after {
        top: 0;
        right: 0;
        width: 6px;
        height: 100%;
    }

    .recruit-card__body {
        padding: 16px 16px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 6px;
    }

    .recruit-card__en {
        font-size: 2rem;
        margin-bottom: 0 !important
    }

    .recruit-card__ja {
        position: static;
        transform: none;
        font-size: 1.5rem;
    }
}


/*---------------------------------------------------------------------------
来場予約 移植版
---------------------------------------------------------------------------*/

.reservation-box {
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
}

/* ===== 事前アンケートセクション ===== */
.survey-box {
    border: 1px solid #ccc;
    padding: 0 0 40px 0;
    margin-bottom: 50px;

    margin-left: auto;
    margin-right: auto;

}

.survey-box .header-bar {
    background: #e8e8e8;
    text-align: center;
    padding: 16px 20px;
    font-size: 17px;
    letter-spacing: 0.1em;
    color: #333;
    margin-bottom: 36px;
    font-weight: bold;
    font-size: 2rem
}

.merit-label {
    text-align: center;
    color: #b94c1a;
    font-size: 2.2rem;
    letter-spacing: 0.15em;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    font-weight: bold;
}


.merit-divider {
    width: 120px;
    border: none;
    border-top: 1px solid #b94c1a;
    margin: 0 auto 20px auto;
}

.merit-text {
    text-align: center;
    font-size: 2.6rem;
    letter-spacing: 0.05em;
    line-height: 1.6;
    color: #333;
    margin-bottom: 40px;
    padding: 0 20px;
}

.merit-text .highlight {
    color: #b94c1a;
    font-weight: bold;
}

/* メリット② */
.merit2-block {
    text-align: center;
    padding: 20px 20px 0;
}



/* ===== 来場のご予約セクション ===== */
.reservation-section {
    margin: 0 auto;
}

.reservation-title {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 10px;
}

.reservation-divider {
    border: none;
    border-top: 1px solid #999;
    margin-bottom: 20px;
}

.reservation-note {
    line-height: 1.8;
    margin-bottom: 16px;
    color: #333;
}

.reservation-list {
    list-style: disc;
    padding-left: 1em;
}

.reservation-list li {
    font-size: 1.6rem;
    margin-bottom: 4px;
}



/*メールフォーム*/

.contact-form-wrap {
    margin-top: 60px
}

.contact-form-wrap h4 {
    text-align: center;
    font-size: 2.2rem;
    font-weight: bold;
    margin: 0 0 30px
}

.contact-table {
    border-collapse: collapse;
    width: 100% !important;
    margin: 1em auto 45px;
}

.contact-table th,
.contact-table td {
    padding: 15px 15px;
    border: 1px solid #aaa;
    vertical-align: top;
    text-align: left;
    vertical-align: middle;

}

.contact-table th {
    background: #eee;
    width: 30%;
}

.contact-table th .must {
    display: inline-block;
    margin-right: 6px;
    vertical-align: middle;
    font-size: 1.15rem;
    background: red;
    color: #fff;
    padding: 1.5px 4px
}

.contact-table th {

    vertical-align: middle;
}

.contact-table td {
    background: #fff;
    width: 70%;
}

.contact-table p {
    margin: 0;
    line-height: 1.6
}

/* テキスト系フォーム */
.contact-table input[type="text"],
.contact-table input[type="tel"],
.contact-table input[type="email"],
.contact-table input[type="number"],
.contact-table input[type="date"],
.contact-table select,
.contact-table textarea {
    border: 1px solid #ccc;
    padding: 6px 10px;
    box-sizing: border-box;
    font-size: 1.6rem;
    margin: 5px 5px 5px 5px
}

.contact-table textarea {
    width: 100%;
    padding: 12px;
}

.contact-table #zip {
    width: 7em;
    margin-left: .5em
}

.contact-table input[type="checkbox"] {
    transform: scale(1.3);
    margin: .3em .3em .3em -.7em;
}


.contact-table input.input-small {
    width: auto;
    padding: 6px 10px;
    margin: 5px .5em;
}

.contact-table input.input-x-small {
    width: 6em;
}

/* 指定の項目の「最後のチェックボックスだけ改行」 */
.contact-table span[data-name="unq05"] .wpcf7-list-item.last,
.contact-table span[data-name="unq07"] .wpcf7-list-item.last,
.contact-table span[data-name="unq10"] .wpcf7-list-item.last {
    display: block;
    margin-top: 6px;
}

.contact-table .caution {
    font-size: 1.3rem
}

.must {
    font-size: 1.3rem;
    background: red;
    color: #fff;
    padding: 2px 4px
}

.submit-buttons {
    text-align: center;
}

.pages-btn {
    display: inline-block;
    padding: 14px 60px;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    font-size: 1.6rem;
}

.pages-btn__red {
    background: #691313;
    color: #fff;
}

.pages-btn__red:hover {
    background: #b70000;
}

.submit-wrap {
    display: flex !important;
    justify-content: center !important;
    align-items: center;
    width: 100%;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: center !important;
}

.submit-wrap p {
    margin: 0 !important;
    width: auto !important;
}

.submit-wrap .wpcf7-spinner {
    position: absolute;
}

.submit-wrap .wpcf7-submit,
.submit-wrap .pages-btn {
    display: inline-block !important;
    width: auto !important;
    margin: 0 auto !important;
    padding: 14px 40px;
    border: none;
    border-radius: 4px;
    background: #d80000;
    color: #fff;
    font-size: 1.6rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.submit-wrap .wpcf7-submit:hover,
.submit-wrap .pages-btn:hover {
    background: #b70000;
}

.submit-wrap-confirm {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 16px !important;
    flex-wrap: nowrap !important;
    margin-top: 50px;
    text-align: center;
}

.submit-wrap-confirm .pages-btn,
.submit-wrap-confirm .wpcf7-submit {
    display: inline-block !important;
    width: auto !important;
    min-width: 220px;
    padding: 14px 32px;
    margin: 0 !important;
    border: none;
    border-radius: 8px;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
    line-height: 1.4;
}

.submit-wrap-confirm .pages-btn__gray {
    background: #666 !important;
    color: #fff !important;
}

.submit-wrap-confirm .pages-btn__red,
.submit-wrap-confirm .wpcf7-submit {
    background: #d80000 !important;
    color: #fff !important;
}


@media screen and (max-width:767px) {

    /* ===== 事前アンケートセクション ===== */
    .survey-box {
        padding: 0 0 20px 0;
        margin-bottom: 30px;
    }

    .survey-box .header-bar {
        padding: 12px 10px;
        font-size: 1.6rem;
        letter-spacing: 0;
        margin-bottom: 20px
    }

    .merit-label {
        font-size: 1.8rem;
        letter-spacing: 0;
    }

    .merit-divider {
        width: 100px;
        margin: 0 auto 15px auto;
    }

    .merit-text {
        font-size: 1.8rem;
        letter-spacing: 0;
        margin-bottom: 0px !important;
        padding: 0;
        line-height: 1.5 !important
    }

    /* メリット② */
    .merit2-block {
        padding: 20px 20px 0;
    }

    .reservation-title {
        font-size: 1.8rem;

    }

    .reservation-list li {
        font-size: 1.5rem;
    }

    /*メールフォーム*/

    .contact-form-wrap {
        margin-top: 40px
    }

    .contact-form-wrap h4 {
        font-size: 2.0rem;
        margin: 0 0 20px
    }

    .contact-table {
        margin: 1em auto 25px;
        border-top: 1px solid #aaa;
    }

    .contact-table th,
    .contact-table td {
        width: 100%;
        display: block;
        padding: 12px;
        border-top: none
    }

    .contact-table td {
        width: 100%;
    }

    .contact-table th .must {
        margin-right: 4px;
        font-size: 1.1rem;
        padding: 1.5px 4px
    }

    /* テキスト系フォーム */
    .contact-table input[type="text"],
    .contact-table input[type="tel"],
    .contact-table input[type="email"],
    .contact-table input[type="number"],
    .contact-table input[type="date"],
    .contact-table select,
    .contact-table textarea {
        padding: 5px 6px;
        font-size: 1.5rem;
        margin: 4px
    }

    .contact-table textarea {
        padding: 10px;
    }

    .contact-table #zip {
        margin-left: auto
    }

    .contact-table input[type="checkbox"] {
        transform: scale(1.2);
        margin: .5em .3em .5em -1em;
    }

    .contact-table input.input-small {
        width: auto;
        padding: 5px 6px;
        margin: 4px
    }

    .contact-table input.input-x-small {
        width: 6em;
    }

    .contact-table span[data-name="unq05"] .wpcf7-list-item.last,
    .contact-table span[data-name="unq07"] .wpcf7-list-item.last,
    .contact-table span[data-name="unq10"] .wpcf7-list-item.last {
        margin-top: 0px;
    }

    .pages-btn {
        padding: 10px 40px;
        font-size: 1.6rem;
    }

    .submit-wrap-confirm {
        flex-direction: column !important;
        gap: 12px !important;
    }

    .submit-wrap-confirm .confirm-btn-item {
        width: 100% !important;
    }

    .submit-wrap-confirm a.pages-btn,
    .submit-wrap-confirm input.wpcf7-submit {
        width: 100% !important;
        max-width: 320px !important;
        margin: 0 auto !important;
    }
}



/* 個人情報保護方針 
-------------------------------------------------------------------------*/
.privasy-box h4 {
    border-left: 8px solid #774f35;
    padding-left: 10px;
    font-size: 2rem;
    margin-bottom: 15px;
    font-weight: 600
}

.privasy-box p {
    margin-left: 1em;
    margin-bottom: 1.5em;
    font-size: 1.7rem
}

.privasy-box .acc {
    font-size: 1.8rem;
}

.privasy-box .acc b {
    font-size: 2rem;
    font-weight: 600
}

@media screen and (max-width:767px) {
    .privasy-box p {
        margin-left: 1em;
        margin-bottom: 1.5em;
        font-size: 1.5rem
    }
}

/*投稿ページカスタム*/

.wp-block-separator {
    margin: 25px 0
}

.wp-block-media-text {
    margin: 15px 0
}

@media screen and (max-width:767px) {
    .wp-block-media-text {
        margin: 10px 0
    }
}


/*Contact Form 7カスタマイズ*/
/*スマホContact Form 7カスタマイズ
-------------------------------------------------------------------------*/
.inquiry_wrap {
    width: 100%;
    margin: 0 auto;
    max-width: 1000px;
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", "游明朝", serif;
}

.inquiry {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0px;
    /*border-bottom:solid 1px #bcbcbc;*/
}

.inquiry p {
    margin: 0
}

/*見出し欄*/
.inquiry th {
    text-align: left;
    padding: 20px 25px;
    width: 30%;
    /*background:#f7f7f7;*/
    border-top: dotted 1px #acacac;
    vertical-align: middle;
    white-space: nowrap;
}

/*通常欄*/
.inquiry td {
    border-top: dotted 1px #acacac;
    padding: 20px 25px;
}

/*横の行とテーブル全体*/
.entry-content .inquiry tr,
.entry-content table {
    border: dotted 1px #acacac;
}

/*必須の調整*/
.haveto {
    font-size: 1.1rem;
    padding: 5px;
    background: #e52525;
    color: #fff;
    border-radius: 2px;
    margin-right: 8px;
    position: relative;
    bottom: 1px;
}

/*任意の調整*/
.any {
    font-size: 1.1rem !important;
    padding: 5px;
    background: #7f8184;
    color: #fff;
    border-radius: 2px;
    margin-right: 8px;
    position: relative;
    bottom: 1px;
}

/*ラジオボタンを縦並び指定*/
.verticallist .wpcf7-list-item {
    display: block;
}

/*送信ボタンのデザイン変更*/
#formbtn {
    display: block;
    padding: 15px;
    width: 350px;
    background: #253069;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    border-radius: 4px;
    margin: 25px auto 0;
    border: 2px solid #253069;
}

/*送信ボタンマウスホバー時*/
#formbtn:hover {
    background: #fff;
    color: #253069;
    border: 2px solid #253069;
}

/*お問い合わせ欄の幅*/
.inquiry select {
    border: 1px #c1c1c1 solid;
    padding: 8px;
    font-size: 1.6rem
}

.inquiry textarea[name="your-message"],
.inquiry textarea[name="pr"] {
    width: 100%;
    border: 1px #c1c1c1 solid;
    padding: 8px;
    font-size: 1.6rem
}

.inquiry [type="text"],
.inquiry [type="email"],
.inquiry [type="tel"] {
    border: 1px solid #ccc;
    padding: 8px 10px;
    box-sizing: border-box;
    font-size: 1.6rem;
    margin-right: 5px
}

/*住所欄の幅*/
.inquiry #city {
    width: 100%;
}

/* エラーメッセージの上部を消去 */
div.screen-reader-response {
    display: none;
}

.wpcf7-not-valid-tip {
    color: #ff0000 !important;
    width: 100%
}

/*送信成功*/
div.wpcf7-mail-sent-ok {
    background: #d5edda;
    color: #185626;
    border: 1px solid #c4e5cc;
    padding: 10px
}

/*送信NG*/
div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing {
    background: #f7d7da;
    color: #711d26;
    border: 1px solid #f4c6cb;
    padding: 10px
}

/*送信失敗*/
div.wpcf7-mail-sent-ng {
    background: #f7d7da;
    color: #711d26;
    border: 1px solid #f4c6cb;
    padding: 10px
}

/*スパムなどで送信ブロックされた場合*/
div.wpcf7-spam-blocked {
    background: #fff2cf;
    color: #846314;
    border: 1px solid #feedbd;
    padding: 10px
}


@media(max-width:768px) {
    .inquiry_wrap {
        padding: 0em;
    }

    .inquiry th,
    .inquiry td {
        display: block !important;
        width: 100% !important;
        border-top: none !important;
        -webkit-box-sizing: border-box !important;
        box-sizing: border-box !important;
    }

    .inquiry tr:first-child th {}

    .inquiry th {
        border-top: dotted 1px #c1c1c1 !important;
        padding: 20px 0 0
    }

    .inquiry td {
        padding: 10px 0 20px
    }

    input[type="text"],
    input[type="email"],
    input[type="tel"] {
        width: 100%;
    }

    /* 必須・任意のサイズ調整 */
    .inquiry .haveto,
    .inquiry .any {
        font-size: 11px;
    }
}

/*画像トリミング*/

.trimming {
    overflow: hidden;
    position: relative;
    padding-top: 65%;
    margin-bottom: 5px;
}

.trimming img {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

/* ============================================================
   SP固定ボタン（お問い合わせ・来場予約）
   style.css または style_set.css に追記する
   ============================================================ */

/* ベース：PC時は非表示 */
.ly_spFixedBtn {
    display: none;
}


@media screen and (max-width: 991px) {
    .ly_spFixedBtn {
        display: flex;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        z-index: 200;

        padding-bottom: 0;

        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
        -webkit-transition: -webkit-transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        will-change: transform;
    }

    .ly_spFixedBtn.is_visible {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    .ly_spFixedBtn_item {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 1;
        gap: 8px;
        padding: 14px 10px;
        color: #fff;
        font-size: 1.5rem;
        line-height: 1.2;
        text-decoration: none;
        letter-spacing: 0.05em;
    }

    .ly_spFixedBtn_item__contact {
        background-color: #382102;
    }

    .ly_spFixedBtn_item__reserve {
        background-color: #7A5C3A;
    }

    .ly_spFixedBtn_icon {
        width: 20px;
        height: 20px;
        flex-shrink: 0;
        -webkit-filter: brightness(0) invert(1);
        filter: brightness(0) invert(1);
    }
}
