@charset "UTF-8";

/** header */

.site_header {
    position: relative;
}

@media not all and (max-width: 1020px) {
    .site_header {
        align-items: center;
        border-top: 20px solid #4E6443;
        display: flex;
        height: 100px;
        justify-content: space-between;
        padding: 0 20px;
    }
    .site_title {
        /* vw 1000 ~ 1400 */
        flex: 0 0 250px;
        margin: 0 0 0 calc((100vw - 1000px) * 100 / 400);
        max-width: 400px;
    }
    .site_nav_list {
        display: flex;
        margin: 0;
        padding: 0;
    }
    .site_nav_list>li:not([data-nav-type^="pc_"]) {
        display: block;
        margin: 0;
        padding: 0;
    }
    .site_nav_list>li[data-nav-type="pc_none"] {
        display: none;
    }
    .site_nav_list>li:not([data-nav-type="pc_none"])+li:not([data-nav-type^="pc_"])::before {
        content: '／';
        margin: 0 0.5em;
        /* vw 1000 ~ 1400 */
    }
    .site_nav_btn {
        color: inherit;
        text-decoration: none;
    }
    .header_tel {
        background-color: #094;
        color: #fff;
        flex: 0 0 max-content;
        padding: 0.75em;
        ;
    }
    .site_nav_list>li[data-nav-type="pc_side"] {
        background: #094;
        color: #fff;
        display: block;
        padding: 20px;
        position: absolute;
        right: 0;
        top: 150px;
        width: 1em;
    }
    .site_nav_list>li[data-nav-type="pc_side"] .site_nav_btn::after {
        content: '\f0e0';
        display: block;
        font-family: 'Font Awesome 5 Free';
        font-size: 1.5em;
        font-weight: 900;
        margin: 0 -0.15em;
    }
    .header_sp_btn {
        display: none;
    }
}

@media not all and (max-width: 1500px) {
    .site_nav_list>li:not([data-nav-type^="pc_"]) {
        font-size: 1.25rem;
    }
    .site_nav_list>li:not([data-nav-type="pc_none"])+li:not([data-nav-type^="pc_"])::before {
        margin: 0 1em;
    }
    .site_title {
        flex: 0 0 auto;
        margin: 0 0 0 120px;
    }
}

@media (max-width: 1020px) {
    .site_header {
        display: block;
        height: 80px;
        padding: 20px;
    }
    .site_title {
        height: 100%;
        margin: 0 auto;
        width: 340px;
        width: max-content;
        max-width: calc(100% - 100px);
    }
    .site_title img {
        max-height: 100%;
        width: auto;
    }
    .site_nav[data-sp-nav="open"] {
        background-color: rgba(0, 0, 0, 0.5);
        height: 100vh;
        margin: 0;
        overflow-y: auto;
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 9999;
    }
    [data-sp-nav="close"] .site_nav_list {
        display: none;
    }
    [data-sp-nav="open"] .site_nav_list {
        background: #eee;
        box-sizing: border-box;
        display: block;
        min-height: 100%;
        margin: 0;
        padding: 80px 0 50px;
        position: absolute;
        right: 0;
        width: 80%;
        max-width: 700px;
    }
    .site_nav_list>li {
        color: #333;
        min-height: 40px;
        list-style: none;
        margin: 0;
        padding: 10px 0;
        width: 100%;
    }
    .site_nav_list>li:nth-of-type(even) {
        background-color: rgba(255, 255, 255, 0.5);
    }
    .site_nav_btn {
        color: inherit;
        display: block;
        font-size: 1rem;
        font-weight: bold;
        height: 100%;
        line-height: 2.5;
        text-align: left;
        text-indent: 2em;
        text-decoration: none;
        width: 100%;
    }
    .header_sp_btn {
        background-color: transparent;
        border: none;
        display: block;
        height: 40px;
        line-height: 1;
        margin: 0;
        padding: 0;
        position: absolute;
        right: 10px;
        top: 30px;
        width: 40px;
        z-index: 3;
    }
    .header_sp_btn:focus {
        outline: none;
    }
    .header_sp_btn::before {
        height: 40px;
        left: 0;
        position: absolute;
        top: 0;
        width: 40px;
    }
    [data-sp-nav="open"] .header_sp_btn::before {
        content: '×';
        font-size: 40px;
    }
    [data-sp-nav="close"] .header_sp_btn::before {
        background: url('/images/menu.gif') center/contain no-repeat;
        content: '';
    }
    .header_tel {
        display: none;
    }
}


/** news_box */

.news_title {
    flex: 0 0 auto;
    width: 18%;
    min-width: 5em;
}

@supports (flex:0 0 max(18%, 5em)) {
    .news_title {
        width: initial;
        min-width: initial;
    }
}

@media not all and (max-width: 700px) {
    .news_box {
        width: calc(100% - 150px);
        max-width: 1200px;
    }
    @supports (width:min(1200px, 100% - 150px)) {
        .news_box {
            max-width: initial;
        }
    }
    .news_box {
        display: flex;
        margin: -50px auto 0;
        position: relative;
        width: min(1200px, 100% - 150px);
        z-index: 2;
    }
    .news_title {
        flex: 0 0 max(18%, 5em);
        height: 100px;
        line-height: 100px;
        margin: 0;
        padding: 0;
    }
    .news_list {
        flex: 1 0 auto;
    }
    .news_list>li {
        height: 100px;
    }
}

@media (max-width: 700px) {
    .news_box {
        display: block;
        margin: 30px auto;
        width: calc(100% - 40px);
    }
    .news_title {
        margin: 0 0 10px;
        padding: 5px 10px;
    }
    .news_list>li {
        height: 2.5em;
    }
}


/** home_about */

.home_about_box {
    display: block;
}


/* flow-root */

.home_about_box::after {
    /* flow-root */
    clear: both;
    content: '';
    display: block;
}

@media not all and (max-width: 1260px) {
    .home_about_box {
        padding: 0 calc(50% - 550px) 0 calc(50% - 630px);
    }
}

@media (max-width: 1260px) {
    .home_about_box {
        padding: 0 20px;
    }
}

@media not all and (max-width: 1020px) {
    .home_about_img {
        float: left;
        margin: 0;
        max-width: calc(100% - 520px);
    }
    .home_about_sub_box {
        float: right;
        width: 465px;
    }
}

@media (max-width: 1020px) {
    .home_about_img {
        margin: 0 auto 60px;
        max-width: 100%;
    }
    .home_about_sub_box {
        width: 100%;
    }
}


/** home_searvice */

.home_searvice_list {
    display: block;
}


/* flow-root */

.home_searvice_list::after {
    /* flow-root */
    clear: both;
    content: '';
    display: block;
}

.home_searvice_list {
    width: 1100px;
    max-width: calc(100vw - 40px);
}

@supports (width:min(1100px, 100% - 40px)) {
    .home_searvice_list {
        max-width: initial;
    }
}

@media not all and (max-width: 1020px) {
    .home_searvice_box {
        background-image: url('/images/bg_searvice.gif');
    }
    .home_searvice_img {
        position: absolute;
        top: -40px;
        max-width: calc(100vw - 700px);
    }
    .home_searvice_list>li:nth-of-type(odd) .home_searvice_img {
        box-shadow: -60px 60px #094;
        right: calc(990px - 100vw);
    }
    .home_searvice_list>li:nth-of-type(even) .home_searvice_img {
        box-shadow: 60px 60px #094;
        left: calc(990px - 100vw);
    }
    .home_searvice_list>li:nth-of-type(even) .home_searvice_sub_title {
        float: right;
        min-width: 500px;
    }
    .home_searvice_list>li .home_searvice_sub_box p {
        width: 500px;
    }
    .home_searvice_list>li:nth-of-type(odd) .home_searvice_sub_box p {
        float: left;
    }
    .home_searvice_list>li:nth-of-type(even) .home_searvice_sub_box p {
        float: right;
    }
}

@media not all and (max-width: 1140px) {
    .home_searvice_list>li:nth-of-type(odd) .home_searvice_img {
        right: -150px;
    }
    .home_searvice_list>li:nth-of-type(even) .home_searvice_img {
        left: -150px;
    }
}

@media (max-width: 1020px) {
    .home_searvice_img {
        box-shadow: 25px 25px #094;
        display: block;
        margin: 0 auto 40px;
        max-width: 100%;
    }
}


/** footer_nav_btn */

@media not all and (max-width: 1020px) {
    .footer_nav_btn {
        display: flex;
    }
    .footer_nav_btn>li {
        flex: 1 1 100%;
        margin: 0;
    }
}

@media not all and (max-width: 1020px) {
    [data-nav-btn] {
        padding: 5rem 2.875rem;
    }
    [data-footer-btn-count="3"]>li [data-nav-btn] {
        font-size: 0.875em;
        padding: 3.5rem 2.875rem;
    }
}

@media (max-width: 1020px) {
    [data-footer-btn-count]>li {
        margin: auto;
        max-width: 100%;
    }
    [data-nav-btn] {
        padding: 4rem 2.875rem;
        font-size: 0.875em;
    }
    [data-footer-btn-count="2"]>li {
        width: 960px;
    }
    [data-footer-btn-count="3"]>li {
        width: 640px;
    }
}


/** footer_address_box */

.footer_address_box {
    display: block;
}


/* flow-root */

.footer_address_box::after {
    /* flow-root */
    clear: both;
    content: '';
    display: block;
}

@media not all and (max-width: 1140px) {
    .footer_address_box {
        padding: 50px calc(50vw - 550px);
    }
}

@media (max-width: 1140px) {
    .footer_address_box {
        padding: 50px 20px;
    }
}

.page_sub_title {
    width: 700px;
}

@media not all and (max-width: 900px) {
    .footer_address_box_title,
    .footer_address_box p {
        float: right;
        width: calc(100% - 530px);
    }
    .footer_address_box img {
        float: left;
    }
}


/** data-grid-box */

@media not all and (max-width: 1150px) {
    [data-grid-box] {
        display: -ms-grid;
        -ms-grid-columns: 1fr 1fr;
    }
    [data-grid-box="2"] {
        -ms-grid-rows: 512px;
    }
    [data-grid-box="4"] {
        -ms-grid-rows: 512px 512px;
    }
    [data-grid-box="6"] {
        -ms-grid-rows: 512px 512px 512px;
    }
    [data-grid-box] [data-grid-box-type]:nth-child(1) {
        -ms-grid-column: 1;
        -ms-grid-row: 1;
    }
    [data-grid-box] [data-grid-box-type]:nth-child(2) {
        -ms-grid-column: 2;
        -ms-grid-row: 1;
    }
    [data-grid-box] [data-grid-box-type]:nth-child(3) {
        -ms-grid-column: 1;
        -ms-grid-row: 2;
    }
    [data-grid-box] [data-grid-box-type]:nth-child(4) {
        -ms-grid-column: 2;
        -ms-grid-row: 2;
    }
    [data-grid-box] [data-grid-box-type]:nth-child(5) {
        -ms-grid-column: 1;
        -ms-grid-row: 3;
    }
    [data-grid-box] [data-grid-box-type]:nth-child(6) {
        -ms-grid-column: 2;
        -ms-grid-row: 3;
    }
    [data-grid-box] {
        display: grid;
        grid-auto-rows: 512px;
        grid-template-columns: 1fr 1fr;
        width: 1088px;
    }
}

@media (max-width: 1140px) {
    [data-grid-box] {
        display: block;
        width: calc(100% - 40px);
        max-width: 544px;
    }
}


/** info */

.gloup_list>li {
    display: block;
}


/* flow-root */

.gloup_list>li::after {
    /* flow-root */
    clear: both;
    content: '';
    display: block;
}

.map_box {
    display: block;
}


/* flow-root */

.map_box::after {
    /* flow-root */
    clear: both;
    content: '';
    display: block;
}

@media not all and (max-width: 750px) {
    .access_map {
        float: left;
        height: 550px;
        width: 50%;
    }
    .map_text {
        float: right;
        width: calc(50% - 40px);
    }
}

@media (max-width: 750px) {
    .access_map {
        height: calc(100vw - 40px);
        max-height: 550px;
        width: 100%;
    }
}


/** intro */

@media not all and (max-width: 770px) {
    .intro_reaf_list li::before {
        border-style: solid;
        border-width: 0 182.5px 316px 182.5px;
    }
    .intro_reaf_list li:nth-child(1)::before {
        border-color: transparent transparent #007333 transparent;
    }
    .intro_reaf_list li:nth-child(2)::before {
        border-color: transparent transparent #16b48e transparent;
    }
    .intro_reaf_list li:nth-child(3)::before {
        border-color: transparent transparent #63997c transparent;
    }
    @supports (clip-path:polygon(50% 0,
    100% 100%,
    0% 100%)) {
        .intro_reaf_list li::before {
            border: none;
        }
    }
    .intro_tree {
        height: 727px;
        position: relative;
        width: 730px;
    }
    .intro_trunk {
        background-color: #8D4209;
        bottom: 0;
        color: #fff;
        font-weight: bold;
        height: 412px;
        left: 0;
        margin: auto;
        padding: 20px 45px 0;
        position: absolute;
        right: 0;
        width: 130px;
        z-index: 1;
    }
    .intro_reaf_list {
        position: relative;
        z-index: 2;
    }
    .intro_reaf_list li {
        color: #fff;
        height: 316px;
        position: absolute;
        width: 365px;
    }
    .intro_reaf_list li:nth-child(1) {
        left: calc(50% - 182.5px);
        top: 0;
    }
    .intro_reaf_list li:nth-child(2) {
        left: 0;
        top: 316px;
    }
    .intro_reaf_list li:nth-child(3) {
        left: 365px;
        top: 316px;
    }
    .intro_reaf_list li::before {
        content: '';
        position: absolute;
        z-index: -1;
    }
    @supports (clip-path:polygon(50% 0,
    100% 100%,
    0% 100%)) {
        .intro_reaf_list li::before {
            clip-path: polygon(50% 0, 100% 100%, 0% 100%);
            height: 100%;
            position: absolute;
            width: 100%;
        }
        .intro_reaf_list li:nth-child(1)::before {
            background-image: linear-gradient(180deg, #094 0%, #004D22 100%);
        }
        .intro_reaf_list li:nth-child(2)::before {
            background-image: linear-gradient(180deg, #00EBB3 0%, #2C7D6A 100%);
        }
        .intro_reaf_list li:nth-child(3)::before {
            background-image: linear-gradient(180deg, #9FDCBB 0%, #28563D 100%);
        }
    }
    .intro_reaf_title {
        left: 0;
        margin: auto;
        position: absolute;
        right: 0;
        text-align: center;
        top: 100px;
        width: max-content;
    }
    .intro_reaf_text {
        font-size: 15px;
        left: 0;
        margin: 0 auto;
        position: absolute;
        right: 0;
        top: 200px;
        width: max-content;
    }
    .intro_reaf_list li:nth-child(1) .intro_reaf_text {
        width: 10em;
        width: max-content;
    }
    .intro_reaf_list li:nth-child(2) .intro_reaf_text {
        left: 1em;
        top: 190px;
        width: 15em;
        width: max-content;
    }
    .intro_reaf_list li:nth-child(3) .intro_reaf_text {
        left: 1em;
        width: 15em;
        width: max-content;
    }
}

.intro_flow_text {
    width: 45em;
}

.intro_flow_list>li>span {
    background-color: rgba(0, 0, 0, 0.25);
}

@supports (background-blend-mode:overlay) {
    .intro_flow_list>li>span {
        background-color: transparent;
    }
}


/** precut */

@media not all and (max-width: 1020px) {
    .precut_list {
        margin: -20px 0 0;
    }
    [data-precut-back] {
        height: 520px;
    }
    [data-precut-back="zairaikouhou"] {
        background-image: url('/images/zairaikouhou.jpg');
    }
    [data-precut-back="tekuno"] {
        background-image: url('/images/tekuno.jpg');
    }
    [data-precut-back="teipos"] {
        background-image: url('/images/teipos.jpg');
    }
    .precut_list_img {
        bottom: 170px;
        left: 20px;
        position: absolute;
        max-width: calc(100% - 600px);
        z-index: 2;
    }
    .precut_list_text {
        background: #095028;
        bottom: 170px;
        box-shadow: 30px 30px #fff;
        color: #fff;
        height: 200px;
        margin: 0;
        padding: 50px 0 0 270px;
        position: absolute;
        right: 20px;
        width: 800px;
        z-index: 1;
    }
    .precut_list_text a {
        bottom: 5px;
        color: inherit;
        right: 20px;
    }
}

@media not all and (max-width: 1250px) {
    .precut_list_img {
        left: calc(50% - 550px);
        max-width: 100%;
    }
    .precut_list_text {
        height: 230px;
        padding: 50px 0 0 270px;
        right: calc(50% - 550px);
        width: 800px;
    }
}

@media (max-width: 1020px) {
    .precut_list {
        margin: 0;
    }
    .precut_list_img {
        margin: 20px auto;
        max-width: 100%;
    }
    .precut_list_text {
        margin: 20px auto 60px;
        padding: 0;
        width: max-content;
        max-width: calc(100% - 40px);
    }
    .precut_list_text a {
        right: calc((100% - 535px) / 2);
    }
}

@media (max-width: 575px) {
    .precut_list_text a {
        right: 20px;
    }
}


/** rental */

@media not all and (max-width: 800px) {
    .rental_img_list>li {
        margin: 20px 0;
        max-width: calc(50% - 40px);
    }
}

@media (max-width: 800px) {
    .rental_img_list>li {
        margin: 20px auto;
        max-width: 100%;
    }
}