@charset "UTF-8";
@media screen and (max-width: 1024px) {
    .index .mainimg {
        background: url(/system_panel/uploads/images/index_mainimgbg.png) no-repeat top right !important;
    }
    .index .mainimg .eng {
        min-width: 15rem;
        /*top: 30rem;*/
        top: 23rem;
        right: 23.95vw;
        /*46*/
    }
    /*works*/
    .webgene-pagination :is(.prev, .next),
    .webgene-pagination ul .number.selected,
    .webgene-pagination ul .number {
        width: 2em;
        height: 2em;
        margin: 0;
    }
    .webgene-pagination ul {
        width: 100%;
        justify-content: space-between;
        margin-top: 4rem;
    }
    .webgene-pagination .prev {
        margin: 0;
    }
    .webgene-pagination .next {
        margin: 0;
    }


    /*contact*/
    .privacyformError {
        margin-top: -36.5px !important;
    }


    /*汎用*/
    html {
        scroll-padding-top: 7rem;
    }
    .titleA p,.index_cnt1 .inner .titleA p {
        font-size: 3rem;
        /*font-size: 1.9rem;*/
    }
    .titleA :is(h2, h3) {
        font-size: 1.5rem;
    }
    .titleB h4 {
        font-size: 1.9rem;
    }
    .titleB p {
        font-size: 1.5rem;
    }
    .titleB p::before,
    .index_cnt2 .inner .set .window h5::before,
    .service_cnt2 .inner .window h6::before,
    .service_cnt4 .inner .window h4::before,
    .contact_cnt3 .inner .dt::before {
        display: none;
    }


    /*index*/
    .index .mainimg {
        padding-bottom: 3rem !important;
    }
    .index .mainimg h2 {
        font-size: 2.2rem;
        margin: 0 0 2rem 0rem;/*2*/
        line-height: 1.5;
    }
    .index .mainimg p {
        margin: 0 0 3rem 0rem;/*3*/
        line-height: 1.8;
        font-size: 1.4rem;
    }
    .index_cnt2 .inner .set .col2 {
        margin-bottom: 3rem !important;
    }
    .index_cnt2 .inner .set .col2 .left {
        position: static !important;
        right: auto !important;
        left: auto !important;
        aspect-ratio: 16/9;
    }
    .index_cnt2 .inner .set:nth-of-type(3) .col2 .left {
        left: auto !important;
        right: auto !important;
    }
    .index_cnt2 .inner .set .window {
        padding: 3rem 1.5rem;
    }
    .index_cnt2 .inner .set .window h5 {
        font-size: 1.9rem;
        padding-left: 0;
    }
    .index_cnt2 .inner .set .window .grid {
        display: block;
    }
    .index_cnt2 .inner .set .window .grid .dl {
        margin: 0 0 3rem;
    }
    .index_cnt2 .inner>.grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
        margin: 0 auto 3rem;
    }
    .index_cnt2 .inner>h4 {
        font-size: 2rem;
        margin: 0 0 3rem;
    }
    .index_cnt3 .inner .webgene-blog {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .index_cnt3 {
        background: linear-gradient(180deg, #00603d 55%, #fff 55%) !important;
    }
    .index_cnt4 .inner .col2 :is(.left, .right) .dl {
        display: block;
    }
    .index_cnt4 .inner .col2 :is(.left, .right) .dt {
        width: 100%;
        min-height: auto;
        border-bottom: none;
        border-top: 0.1rem solid #c4cc32;
        padding: 0.8rem 0;
        display: block;
    }
    .index_cnt4 .inner .col2 :is(.left, .right) .dd {
        width: 100%;
        min-height: auto;
        padding: 0.8rem 0;
        display: block;
        line-height: 1.8;
    }
    .index_cnt5 .inner .flex {
        display: block;
        margin: 0 0 2.5rem;
    }
    .index_cnt5 .inner .flex .titleA {
        margin: 0 0 2rem;
    }
    .index_cnt5 .inner .webgene-blog {
        grid-template-columns: repeat(2, 1fr);
    }


    /*service*/
    .service_cnt1 .inner .grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2.5rem 1.5rem;
    }
    .service_cnt1 .inner .grid .dl {
        padding: 3rem 1.2rem 2rem;
    }
    .service_cnt1 .inner .grid .dt {
        font-size: 1.7rem;
    }
    .service_cnt2>.window {
        width: 100%;
        border-radius: 0;
        padding: 3rem 2rem;
        margin: 0 0 3rem !important;
    }
    .service_cnt2>.window::after {
        display: none;
    }
    .service_cnt2>.window>h4 {
        font-size: 2rem;
        margin: 0 auto 3rem;
    }
    .service_cnt2>.window>.col2 {
        width: 100%;
        flex-direction: column;
    }
    .service_cnt2>.window>.col2 .left,
    .service_cnt2>.window>.col2 .right {
        width: 100% !important;
    }
    .service_cnt2 .inner .window .grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
    .service_cnt2 .inner .window {
        padding: 3rem 2rem;
    }
    .service_cnt2 .inner .window:not(:last-of-type) {
        margin: 0 0 5rem !important;
    }
    .service_cnt2 .inner .window h6 {
        font-size: 2rem;
        padding-left: 0;
    }
    .service_cnt2 .inner .col2 .left {
        aspect-ratio: 16/9;
    }
    .service_cnt2 .inner .col2 .right h5 {
        font-size: 2rem;
        margin: 0 0 2rem;
    }
    .service_cnt2 .inner>h5 {
        font-size: 2rem;
    }
    .service_cnt2 .titleB p::before {
    left: 37%;
}
    .service_cnt3 .inner .col2 .left {
        aspect-ratio: 16/9;
    }
    .service_cnt3 .inner .col2 .right h4 {
        font-size: 1.7rem;
    }
    .service_cnt3 .inner .col2 .right .ul {
        flex-wrap: wrap;
        gap: 1rem;
        justify-content: initial;
    }
    .service_cnt4 .inner .grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    .service_cnt4 .inner .grid .dl {
        padding: 0 0 3rem;
        margin: 0 0 3rem;
        border-bottom: 0.1rem dashed #ccc;
    }
    .service_cnt4 .inner .grid .dt {
        font-size: 2rem;
    }
    .service_cnt4 .inner .grid .pic {
        border: 0.5rem solid #fff;
    }
    .service_cnt4 .inner .window {
        padding: 3rem 2rem;
    }
    .service_cnt4 .inner .window h4 {
        font-size: 2rem;
        margin: 0 0 2rem;
        padding-left: 0;
    }
    .service_cnt5 .inner .flex {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4rem;
    }
    .service_cnt5 .inner .flex::before {
        display: none;
    }
    .service_cnt5 .inner .flex .dl {
        width: 100%;
        max-width: 100%;
        padding-top: 3rem;
    }
    .service_cnt5 .inner .flex .dt {
        font-size: 1.8rem;
        margin: 0 auto 1.5rem;
    }
    .service_cnt5 .inner .flex .dd {
        line-height: 1.8;
        text-align: center;
    }
    .service_cnt6 .inner .dt {
        line-height: 1.6;
        padding: 1rem 4rem 1rem 1.5rem;
    }
    .service_cnt6 .inner .dd {
        line-height: 1.8;
        padding: 1rem 1.5rem;
    }


    /*blog&blogdetail共通*/
    :is(.blog_cnt1, .blogdetail_cnt1) .inner {
        width: 100%;
        display: block;
    }
    :is(.blog_cnt1, .blogdetail_cnt1) .inner h3 {
        width: 100%;
        text-align: left;
        margin: 0 0 1rem;
    }
    :is(.blog_cnt1, .blogdetail_cnt1) .inner .webgene-blog {
        width: 100%;
        flex-wrap: wrap;
        justify-content: center;
    }
    :is(.blog_cnt1, .blogdetail_cnt1) .inner .webgene-blog .webgene-item a {
        padding: 0 3em;
    }

    /*blog*/
    .blog_cnt2 .inner .webgene-blog {
        display: block;
    }
    .blog_cnt2 .inner .webgene-blog .webgene-item .dl {
        padding: 0 0 3rem;
        margin: 0 0 3rem;
        border-bottom: 0.1rem dashed #ccc;
    }
    .blog_cnt2 .inner .webgene-blog .webgene-item .dt {
        border-bottom: initial;
    }
    .blog_cnt2 .inner .webgene-blog .webgene-item .cate {
        margin: 0 0 0 5.5em;
    }


    /*contact*/
    .contact_cnt1 .inner .ul {
        background-image: none;
        padding: 2rem;
    }
    .contact_cnt1 .inner .li {
        width: 100%;
        font-size: 1.5rem;
    }
    form .dl {
        flex-direction: column;
    }
    form .dl .dt {
        width: 100%;
        border-bottom: none;
        border-top: 0.1rem solid #c4cc32;
        padding: 0.8rem 0;
        justify-content: flex-start;
        gap: 1rem;
    }
    form .dl .dd {
        width: 100%;
        padding: 0.8rem 0;
        border-bottom: 0.1rem solid #266240;
    }
    form input[type="text"],
    form input[type="email"],
    form textarea {
        font-size: 1.6rem;
    }
    form input.zipInput {
        width: 45%;
    }
    .contact_cnt3 .inner>p {
        margin: 0 0 3rem 0;
        line-height: 1.8;
    }
    .contact_cnt3 .inner h4 {
        font-size: 1.9rem;
        line-height: 1.5;
    }
    .contact_cnt3 .inner .dl {
        display: block;
        margin: 0 0 3rem;
    }
    .contact_cnt3 .inner .dt {
        width: 100%;
        border-right: none;
        border-bottom: 0.1rem solid #00603d;
        padding: 1rem 0;
        line-height: 1.6;
        font-size: 2rem;
    }
    .contact_cnt3 .inner .dd {
        width: 100%;
        padding: 1.5rem 0;
        line-height: 1.8;
    }
    .contact_cnt3 .inner .grid {
        /*grid-template-columns: 1fr;*/
        gap: 1rem;
    }
    .contact_cnt1 .inner h3 {
    font-size: 2rem;
    }

}
@media screen and (max-width: 767px){
    .index .mainimg h2 {font-size: 2rem;}
    .index .mainimg p br{display:none;}
    .index_cnt2 .inner>.grid,.service_cnt1 .inner .grid {grid-template-columns: 1fr;}
    .index_cnt3 .buttonA {width: 90%;}
    .service .mainimg,.blog .mainimg,.contact .mainimg {
        padding: 9rem 2rem 4rem !important;
        height: auto !important;
        margin: 7rem 0 4rem;
        background-position: top right !important;
        background-size: 100% auto !important;
    }
}
@media screen and (min-width: 768px){
    .spbr br{display:none;}
}
@media screen and (min-width: 1025px){
    .service_cnt2 .titleB p::before {left: 37%;}
}
@media (min-width:768px) and (max-width:1024px){
    form .dl .dt,.index_cnt4 .inner .col2 :is(.left, .right) .dt {width: 40%;}
    form .dl {flex-direction: row;}
    form .dl .dd,.index_cnt4 .inner .col2 :is(.left, .right) .dd {
        border-top: 0.1rem solid #266240;
        border-bottom: none;
    }
    .bottom .flex .titleA {
        margin: 0;}
    .bottom .flex {
        display: flex;
        justify-content: space-around;}
    .index_cnt2 .inner .set .window .grid,.service_cnt4 .inner .grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);}
    .index_cnt4 .inner .col2 :is(.left, .right) .dd {
        min-height: 5rem;
        padding: 1rem 0;}
    .index_cnt4 .inner .col2 :is(.left, .right) {margin: 0;}
    .index_cnt4 .inner .col2 :is(.left, .right) .dl {display: flex;}
}
@media (min-width:1025px) and (max-width:1400px){
.header .right .nav {gap: 0.08vw;}
}
@media (min-width:1025px) and (max-width:1600px){
  .index_cnt2 .inner .set .col2 .left {
    right: -4.59vw;
        width: 50%;}
}