@charset "UTF-8";





/*index*/
.index .mainimg {
    width: 100%;
    height: 89.3rem;
    position: relative;
    overflow: hidden;
}
.index .mainimg .slider,
.index .mainimg .slider :is(.slick-list, .slick-track, .slick-slide, .slick-slide > div) {
    height: 100%;
}
.index .mainimg .slider img {
    width: 100%;
    height: 89.3rem;
    object-fit: cover;
}
.index .mainimg .window {
    color: #fff;
    position: absolute;
    left: max(10%, calc(50% - 60rem));
    top: 38.6rem;
    z-index: 2;
}
.index .mainimg .window h2 {
    font-size: 5.5rem;
    margin: 0 0 1.4rem -0.2rem;
}
.index .mainimg .window .en {
    font-size: 2.1rem;
    margin: 0 0 2.4rem;
}
.index .mainimg .window .tag {
    display: flex;
    gap: 0.9rem;
}
.index .mainimg .window .tag .li {
    height: 3.9rem;
    background: #000;
    display: flex;
    align-items: center;
    font-size: 2.1rem;
    padding: 0 1.4rem;
}

.index_cnt1 {
    background: url(/system_panel/uploads/images/index_cnt1_bg.jpg) no-repeat center top / cover;
    overflow: hidden;
    padding: 14.6rem 0 6rem;
}
.index_cnt1 .col2 {
    display: flex;
    justify-content: space-between;
    gap: 4rem;
    margin: 0 0 21.3rem;
}
.index_cnt1 .col2 .left {
    width: min(50.3rem, 45%);
    flex-shrink: 0;
    position: relative;
}
.index_cnt1 .col2 .left .pic1 {
    width: 100%;
    aspect-ratio: 503/623;
}
.index_cnt1 .col2 .left .pic1 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.index_cnt1 .col2 .left .pic2 {
    width: 68%;
    aspect-ratio: 342/262;
    position: absolute;
    left: 38.8%;
    bottom: -16.3rem;
}
.index_cnt1 .col2 .left .pic2 img {
    width: 100%;
}
.index_cnt1 .col2 .right {
    flex: 1;
    max-width: 60rem;
    padding: 5rem 0 0;
}
.index_cnt1 .col2 .right h3 {
    font-size: 3.2rem;
    line-height: 1.875;
    margin: 0 0 2.4rem;
}
.index_cnt1 .col2 .right .cmt {
    margin: 0 0 6.4rem;
}
/*英字ループ*/
.index_cnt1 .loop {
    overflow: hidden;
}
.index_cnt1 .loop .track {
    width: max-content;
    display: flex;
    animation: loop 40s linear infinite;
}
.index_cnt1 .loop .track p {
    color: #fff;
    font-size: 12rem;
    letter-spacing: 0;
    line-height: 1;
    white-space: nowrap;
    padding: 0 0 0 7.7rem;
}
@keyframes loop {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

.index_cnt2 {
    background: #14401e url(/system_panel/uploads/images/wave.png) no-repeat center bottom / 101.5% auto;
    color: #fff;
    position: relative;
    overflow: hidden;
    padding: 13.1rem 0 13.4rem;
}
.index_cnt2::before {
    content: "";
    width: 32.7rem;
    height: 11.8rem;
    background: url(/system_panel/uploads/images/pine.png) no-repeat center / contain;
    position: absolute;
    left: calc(50% + 36.5rem);
    top: 13.6rem;
}
.index_cnt2 .inner {
    position: relative;
}
.index_cnt2 h3 {
    font-size: 3rem;
    text-align: center;
    margin: 0 0 6.8rem;
}
.index_cnt2 .grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2.5rem;
    margin: 0 0 6.3rem;
}
.index_cnt2 .grid .li p a {
    display: block;
}
.index_cnt2 .grid .li .pic {
    aspect-ratio: 282/284;
    margin: 0 0 1rem;
}
.index_cnt2 .grid .li .arrow {
    font-size: 1.6rem;
    padding: 0 0 0 0.4rem;
}
.index_cnt2 .buttonB {
    margin: auto;
}

.index_cnt3 {
    background: url(/system_panel/uploads/images/index_cnt3_bg.jpg) no-repeat center / cover;
    color: #fff;
    padding: 19rem 0 17.2rem;
}
.index_cnt3 .col2 {
    display: flex;
    justify-content: space-between;
    gap: 4rem;
}
.index_cnt3 .col2 .left {
    width: min(50.3rem, 45%);
    aspect-ratio: 503/460;
    flex-shrink: 0;
}
.index_cnt3 .col2 .right {
    flex: 1;
    max-width: 60rem;
    padding: 1.4rem 0 0;
}
.index_cnt3 .col2 .right h3 {
    font-size: 3rem;
    margin: 0 0 4.3rem;
}
.index_cnt3 .col2 .right .cmt {
    margin: 0 0 4rem;
}
.index_cnt3 .col2 .right .buttonB:not(:last-child) {
    margin: 0 0 1.8rem;
}

.index_cnt4 {
    padding: 13.6rem 0 20rem;
}
.index_cnt4 h3 {
    font-size: 3rem;
    text-align: center;
    margin: 0 0 6.6rem;
}
.index_cnt4 .webgene-blog {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5.8rem;
    margin: 0 0 7.7rem;
}
.index_cnt4 .webgene-blog .pic {
    aspect-ratio: 362/261;
    margin: 0 0 1.3rem;
}
.index_cnt4 .buttonA {
    margin: auto;
}

.index_cnt5 {
    padding: 0 0 14.3rem;
}
.index_cnt5 .banner {
    height: 24.8rem;
    background: #14401e url(/system_panel/uploads/images/pine2.png) no-repeat right 0.2rem bottom -1.3rem / 32.7rem;
    border-left: 0.9rem solid #3c7248;
    display: flex;
    color: #fff;
}
.index_cnt5 .banner .pic {
    width: 36rem;
    height: 100%;
    flex-shrink: 0;
}
.index_cnt5 .banner .txt {
    padding: 4.5rem 2rem 0 6.3rem;
}
.index_cnt5 .banner h3 {
    font-size: 3rem;
    gap: 2.3rem;
    margin: 0 0 3.2rem;
}
.index_cnt5 .banner .txt p {
    font-size: 1.6rem;
    line-height: 2.19;
}
.index_cnt5 .banner:hover .arrow::after {
    background-color: #fff;
    background-image: url(/system_panel/uploads/images/arrowB.svg);
    background-position: calc(50% + 0.5rem) center;
}





/*service*/
.service_cnt1 {
    background: url(/system_panel/uploads/images/service_cnt1_bg.jpg) no-repeat center / cover;
    color: #fff;
    padding: 16.4rem 0 12.8rem;
}
.service_cnt1 h3 {
    font-size: 4rem;
    margin: 0 0 5.6rem;
}

/*緑背景の共通装飾（松・波）service&natural&nakayama*/
:is(.service_cnt3, .natural_cnt2, .nakayama_cnt3) {
    background: #14401e url(/system_panel/uploads/images/wave.png) no-repeat center bottom / 101.5% auto;
    color: #fff;
    position: relative;
    overflow: hidden;
}
:is(.service_cnt3, .natural_cnt2, .nakayama_cnt3)::before {
    content: "";
    width: 32.7rem;
    height: 11.8rem;
    background: url(/system_panel/uploads/images/pine.png) no-repeat center / contain;
    position: absolute;
    left: calc(50% + 36.3rem);
    top: 13.4rem;
}
:is(.service_cnt3, .natural_cnt2, .nakayama_cnt3) .inner {
    position: relative;
}
:is(.service_cnt3, .nakayama_cnt3, .nakayama_cnt2) .num {
    color: #aaa;
}

:is(.service_cnt2, .service_cnt3) .col2 {
    display: flex;
    justify-content: space-between;
    gap: 4rem;
}
:is(.service_cnt2, .service_cnt3) .col2:not(:last-child) {
    margin: 0 0 6.8rem;
}
:is(.service_cnt2, .service_cnt3) .col2 .left {
    flex: 1;
}
:is(.service_cnt2, .service_cnt3) .col2 .right {
    width: min(50.3rem, 48%);
    aspect-ratio: 503/362;
    flex-shrink: 0;
}
:is(.service_cnt2, .service_cnt3) .col2 h4 {
    font-size: 3rem;
    line-height: 2;
    margin: 0 0 0.9rem;
}
:is(.service_cnt2, .service_cnt3) .col2 .cmt {
    margin: 0 0 3.2rem;
}
.service_cnt2 {
    padding: 9.7rem 0 18.7rem;
}
.service_cnt2 .titleA {
    margin: 0 0 8.8rem;
}
.service_cnt3 {
    padding: 12.2rem 0 15.7rem;
}
.service_cnt3 .titleA {
    margin: 0 0 10.3rem;
}
.service_cnt3 .col2:not(:last-child) {
    margin: 0 0 7.3rem;
}





/*product&blog&blogdetail共通（左カテゴリ＋右一覧）*/
/*カテゴリ（_cnt1）は一覧（_cnt2）の左に重ねて表示*/
:is(.product_cnt1, .blog_cnt1, .blogdetail_cnt1) {
    height: 0;
    position: relative;
    z-index: 1;
}
:is(.product_cnt1, .blog_cnt1, .blogdetail_cnt1) .inner h3 {
    font-size: 2rem;
    line-height: 1.5;
    border-left: 0.1rem solid #2a2a2a;
    margin: 0 0 2.9rem 0.3rem;
    padding: 0 0 0 2.3rem;
}
:is(.product_cnt1, .blog_cnt1, .blogdetail_cnt1) .inner .webgene-item {
    font-size: 1.6rem;
    line-height: 3.3;
    display: flex;
    align-items: center;
}
:is(.product_cnt1, .blog_cnt1, .blogdetail_cnt1) .inner .webgene-item::before {
    content: "";
    width: 0.9rem;
    height: 0.9rem;
    flex-shrink: 0;
    background: #2a2a2a;
    border-radius: 50%;
    margin: 0 1.9rem 0 0;
}
:is(.product_cnt1, .blog_cnt1, .blogdetail_cnt1) .inner .webgene-item a:hover {
    color: #14401e;
}
:is(.product_cnt2, .blog_cnt2) .inner .webgene-pagination {
    grid-column: 1 / -1;
}

/*product*/
.product_cnt1 .inner {
    padding: 11.5rem 0 0;
}
.product_cnt2 {
    padding: 11.5rem 0 11.9rem;
}
.product_cnt2 .inner .webgene-blog {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4.4rem 3.2rem;
    padding: 0 0 0 22.8rem;
}
.product_cnt2 .inner .webgene-item .pic {
    aspect-ratio: 303/223;
    margin: 0 0 0.8rem;
}
.product_cnt2 .inner .webgene-item .dt {
    margin: 0 0 0 0.5rem;
}
.product_cnt2 .inner .webgene-pagination {
    margin: 6.6rem 0 0 -22.8rem;
}





/*productdetail*/
.productdetail_cnt1 {
    padding: 6.1rem 0 9rem;
}
.productdetail_cnt1 .inner .webgene-blog {
    margin: 0 0 8.6rem;
}
.productdetail_cnt1 .inner .webgene-item .dl {
    display: grid;
    grid-template-columns: min(50.3rem, 45%) 1fr;
    grid-template-rows: auto auto 1fr;
    column-gap: 6.6rem;
}
.productdetail_cnt1 .inner .webgene-item .dt {
    width: 30.2rem;
    grid-column: 1 / -1;
    border-bottom: 0.1rem solid #2a2a2a;
    font-size: 3rem;
    line-height: 1.6;
    text-align: center;
    margin: 0 auto 6.2rem;
    padding: 0 0 0.6rem;
}
.productdetail_cnt1 .inner .webgene-item .pic {
    grid-column: 1;
    grid-row: 2 / 4;
    aspect-ratio: 503/383;
    order: 0;
    margin: 0 0 9rem;
}
.productdetail_cnt1 .inner .webgene-item .catch {
    grid-column: 2;
    font-size: 3.2rem;
    line-height: 1.875;
    margin: 0 0 3rem;
}
.productdetail_cnt1 .inner .webgene-item .cmt {
    grid-column: 2;
}
.productdetail_cnt1 .inner .webgene-item :is(.feature, .info) {
    grid-column: 1 / -1;
}
.productdetail_cnt1 .inner .webgene-item .feature {
    margin: 0 0 6.6rem;
}
.productdetail_cnt1 .inner .webgene-item :is(.feature, .info) h3 {
    border-bottom: 0.1rem solid #2a2a2a;
    font-size: 2.7rem;
    line-height: 1.6;
    margin: 0 0 2.2rem;
    padding: 0 0 0.6rem;
}
.productdetail_cnt1 .inner .webgene-item :is(.feature, .info) p {
    line-height: 3.3;
}
.productdetail_cnt1 .buttonA {
    margin: auto;
}





/*natural*/
.natural_cnt1 {
    padding: 9.1rem 0 13.4rem;
}
.natural_cnt1 .titleA {
    margin: 0 0 2rem;
}
.natural_cnt1 .read {
    line-height: 3.3;
    margin: 0 0 3.2rem;
}
.natural_cnt1 .grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.8rem;
}
.natural_cnt1 .grid .dl {
    background: #fff;
    border: 0.1rem solid #2a2a2a;
    padding: 0 0 1.8rem;
}
.natural_cnt1 .grid .dl.typeB {
    border-color: #818181;
}
.natural_cnt1 .grid .dt {
    height: 5.3rem;
    margin: 0 0 2rem;
    background: #2a2a2a;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 2.5rem;
}
.natural_cnt1 .grid .typeB .dt {
    background: #818181;
}
.natural_cnt1 .grid .pic {
    width: auto;
    aspect-ratio: 522/243;
    margin: 0 3rem 1.6rem;
}
.natural_cnt1 .grid .catch {
    font-size: 2.5rem;
    line-height: 1.6;
    text-align: center;
    margin: 0 0 1.3rem;
}
.natural_cnt1 .grid .list {
    padding: 0 0 0 7rem;
}
.natural_cnt1 .grid .list .li {
    line-height: 2.19;
    display: flex;
}
.natural_cnt1 .grid .list .li::before {
    width: 2.7rem;
    flex-shrink: 0;
    color: #e10000;
    font-family: "MS PGothic", "Hiragino Sans", sans-serif;
}
.natural_cnt1 .grid .list .li.good::before {
    content: "\2714";
}
.natural_cnt1 .grid .list .li.bad::before {
    content: "\25B3";
}

.natural_cnt2 {
    padding: 10.7rem 0 13.3rem;
}
.natural_cnt2 .titleA {
    margin: 0 0 1.1rem;
}
.natural_cnt2 .read {
    line-height: 3.3;
    margin: 0 0 6.7rem;
}
.natural_cnt2 .window {
    margin: 0 0 12.8rem;
}
.natural_cnt2 .window h4 {
    border-bottom: 0.1rem solid #fff;
    font-size: 3rem;
    line-height: 1.6;
    margin: 0 0 2.1rem;
    padding: 0 0 0.8rem 1rem;
}
.natural_cnt2 .window .col2 {
    display: flex;
    gap: 10.4rem;
}
.natural_cnt2 .window .col2 .left {
    width: 38.2rem;
    aspect-ratio: 382/263;
    flex-shrink: 0;
}
.natural_cnt2 .window .col2 .right {
    padding: 2.7rem 0 0;
}
.natural_cnt2 .window .col2 .right p:not(.buttonB) {
    line-height: 2.19;
    margin: 0 0 3.4rem;
}
.natural_cnt2 .grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 55.7rem));
    justify-content: space-between;
    row-gap: 4.6rem;
}
.natural_cnt2 .grid .dl {
    display: grid;
    grid-template-columns: 22.2rem 1fr;
    column-gap: 2.7rem;
    align-items: start;
}
.natural_cnt2 .grid .dt {
    grid-column: 1 / -1;
    border-bottom: 0.1rem solid #aaa;
    font-size: 2.7rem;
    line-height: 1.6;
    margin: 0 0 2rem;
    padding: 0 0 0.6rem;
}
.natural_cnt2 .grid .pic {
    aspect-ratio: 1/1;
}
.natural_cnt2 .grid .cmt {
    line-height: 2.5;
    margin: -0.4rem 0 0;
}

.natural_cnt3 {
    overflow: hidden;
    padding: 11.7rem 0 12rem;
}
.natural_cnt3 .col2 {
    display: flex;
}
.natural_cnt3 .col2 .left {
    width: 44.9rem;
    flex-shrink: 0;
    padding: 0.4rem 0 0;
}
.natural_cnt3 .col2 .left h3 {
    font-size: 3rem;
    line-height: 1.6;
    margin: 0 0 2rem;
}
.natural_cnt3 .col2 .left .read {
    line-height: 2.5;
    margin: 0 0 4.5rem;
}
.natural_cnt3 .arrows {
    display: flex;
    gap: 1.4rem;
    padding: 0 0 0 0.6rem;
}
.natural_cnt3 .arrows a {
    width: 3.8rem;
    height: 3.8rem;
    background: #14401e url(/system_panel/uploads/images/arrowA.svg) no-repeat center / 1rem;
    border: 0.1rem solid #14401e;
    border-radius: 50%;
    display: block;
}
.natural_cnt3 .arrows .prev a {
    background-image: url(/system_panel/uploads/images/arrowC.svg);
}
.natural_cnt3 .arrows a:hover {
    background-color: #fff;
    background-image: url(/system_panel/uploads/images/arrowB.svg);
}
.natural_cnt3 .arrows .prev a:hover {
    background-image: url(/system_panel/uploads/images/arrowD.svg);
}
/*写真は画面の右端まではみ出して表示*/
.natural_cnt3 .col2 .right {
    min-width: 0;
    flex: 1;
    margin: 0 calc(50% - 50vw) 0 0;
}
.natural_cnt3 .slider .li {
    width: 32.4rem;
    margin: 0 2.6rem 0 0;
}
.natural_cnt3 .slider .pic {
    aspect-ratio: 324/284;
    margin: 0 0 1.4rem;
}
.natural_cnt3 .slider p {
    line-height: 1.6;
    padding: 0 0 0 0.4rem;
}





/*blog*/
.blog_cnt1 .inner {
    padding: 12.1rem 0 0;
}
.blog_cnt2 {
    padding: 12.1rem 0 11.6rem;
}
.blog_cnt2 .inner .webgene-blog {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 36rem));
    gap: 5.5rem 6rem;
    padding: 0 0 0 min(41.2rem, max(22rem, calc(80vw - 78rem)));
}
.blog_cnt2 .inner .webgene-item .pic {
    aspect-ratio: 360/258;
    margin: 0 0 1.3rem;
}
.blog_cnt2 .inner .webgene-pagination {
    margin: 5.3rem 0 0 calc(-1 * min(41.2rem, max(22rem, calc(80vw - 78rem))));
}

/*blogdetail*/
.blogdetail_cnt1 .inner {
    padding: 11rem 0 0;
}
.blogdetail_cnt2 {
    padding: 11rem 0 13.3rem;
}
.blogdetail_cnt2 .inner .webgene-blog {
    margin: 0 0 8.7rem;
    padding: 0 0 0 min(41.2rem, max(22rem, calc(80vw - 78rem)));
}
.blogdetail_cnt2 .inner .webgene-item .dl {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
}
.blogdetail_cnt2 .inner .webgene-item .day {
    grid-column: 1;
    grid-row: 1;
    margin: 0 1.6rem 0 0.5rem;
}
.blogdetail_cnt2 .inner .webgene-item .cate {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
}
.blogdetail_cnt2 .inner .webgene-item .dt {
    grid-column: 1 / -1;
    grid-row: 2;
    font-size: 2.3rem;
    margin: 1.2rem 0 1.6rem 0.5rem;
}
.blogdetail_cnt2 .inner .webgene-item .pic {
    grid-column: 1 / -1;
    grid-row: 3;
    order: 0;
    aspect-ratio: 790/571;
    margin: 0 0 3.8rem;
}
.blogdetail_cnt2 .inner .webgene-item .cmt {
    grid-column: 1 / -1;
    grid-row: 4;
    line-height: 3.3;
    padding: 0 0 0 0.5rem;
}
.blogdetail_cnt2 .inner .buttonA {
    margin: auto;
}





/*nakayama*/
.nakayama_cnt1 {
    background: url(/system_panel/uploads/images/nakayama_cnt1_bg.jpg) no-repeat center / cover;
    color: #fff;
    padding: 19rem 0 17.3rem;
}
.nakayama_cnt1 .col2 {
    display: flex;
    justify-content: space-between;
    gap: 4rem;
}
.nakayama_cnt1 .col2 .left {
    width: min(50.3rem, 45%);
    aspect-ratio: 503/459;
    flex-shrink: 0;
}
.nakayama_cnt1 .col2 .right {
    flex: 1;
    max-width: 60rem;
    padding: 0.8rem 0 0;
}
.nakayama_cnt1 .col2 .right h3 {
    font-size: 3rem;
    line-height: 1.6;
    margin: 0 0 3.3rem;
}

.nakayama_cnt2 {
    padding: 10.1rem 0 9.9rem;
}
.nakayama_cnt2 .caution {
    width: fit-content;
    height: 3.8rem;
    background: #14401e;
    display: flex;
    align-items: center;
    color: #fff;
    margin: 0 0 3.4rem;
    padding: 0 2.2rem;
}
.nakayama_cnt2 .titleA {
    margin: 0 0 1.1rem;
}
.nakayama_cnt2 .read {
    line-height: 3.3;
    margin: 0 0 3.9rem;
}
:is(.nakayama_cnt2, .nakayama_cnt3) .grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5.8rem;
}
:is(.nakayama_cnt2, .nakayama_cnt3) .grid .dl {
    display: flex;
    flex-direction: column;
}
:is(.nakayama_cnt2, .nakayama_cnt3) .grid .pic {
    order: -1;
    aspect-ratio: 362/262;
    margin: 0 0 1.4rem;
}
:is(.nakayama_cnt2, .nakayama_cnt3) .grid .dt {
    font-size: 2.2rem;
    line-height: 1.6;
    margin: 0 0 0.5rem;
    padding: 0 0 0 0.5rem;
}
:is(.nakayama_cnt2, .nakayama_cnt3) .grid .dt .num {
    font-size: 1em;
    margin: 0 0.8rem 0 0;
}
:is(.nakayama_cnt2, .nakayama_cnt3) .grid .cmt {
    line-height: 2.19;
    padding: 0 0 0 0.5rem;
}
.nakayama_cnt3 {
    padding: 11rem 0 14rem;
}
.nakayama_cnt3 .titleA {
    margin: 0 0 5rem;
}





/*company*/
.company_cnt1 {
    padding: 11.3rem 0 17.7rem;
}
.company_cnt1 .titleA {
    margin: 0 0 4.3rem;
}
.company_cnt1 .col2 {
    display: flex;
    justify-content: space-between;
    gap: 4rem;
    margin: 0 0 7.2rem;
}
.company_cnt1 .col2 .left {
    width: min(50.3rem, 42%);
    flex-shrink: 0;
}
.company_cnt1 .slider .pic {
    aspect-ratio: 503/361;
}
.company_cnt1 .thumb {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.1rem;
}
.company_cnt1 .thumb .pic {
    aspect-ratio: 168/123;
    cursor: pointer;
    position: relative;
}
.company_cnt1 .thumb .pic::after {
    content: "";
    position: absolute;
    inset: 0;
    background: #fff;
    opacity: 0;
    transition: opacity 0.4s;
}
.company_cnt1 .thumb .pic:hover::after {
    opacity: 0.3;
}
.company_cnt1 .col2 .right {
    flex: 1;
    max-width: 63.2rem;
}
.company_cnt1 .col2 .right h4 {
    font-size: 3rem;
    line-height: 1.6;
    margin: 0 0 0.9rem;
}
.company_cnt1 .col2 .right .tag {
    width: fit-content;
    height: 3.7rem;
    background: #14401e;
    display: flex;
    align-items: center;
    color: #fff;
    margin: 0 0 1.8rem;
    padding: 0 2.2rem;
}
.company_cnt1 .col2 .right .read {
    line-height: 2.81;
    margin: 0 0 1.7rem;
}
:is(.company_cnt1, .company_cnt2) .info .dl {
    border-bottom: 0.1rem solid #505050;
    display: flex;
    line-height: 3rem;
    padding: 1rem 0 1rem 1.4rem;
}
:is(.company_cnt1, .company_cnt2) .info .dt {
    width: 12.2rem;
    flex-shrink: 0;
    color: #14401e;
}
:is(.company_cnt1, .company_cnt2) .info .dd a:hover {
    color: #14401e;
}
.company_cnt1 .map iframe {
    width: 100%;
    height: 30.2rem;
    vertical-align: bottom;
}

.company_cnt2 {
    padding: 13rem 0 10.3rem;
}
.company_cnt2 .col2 {
    display: flex;
    justify-content: space-between;
}
.company_cnt2 .titleA {
    white-space: nowrap;
    margin: -1.2rem 4rem 0 0;
}
.company_cnt2 .info {
    width: 90.2rem;
    min-width: 0;
    flex-shrink: 1;
}
.company_cnt2 .info .dl {
    padding-left: 3.6rem;
}
.company_cnt2 .info .dt {
    width: 15.8rem;
}

.company_cnt3 {
    padding: 9.3rem 0 17.4rem;
}
.company_cnt3 .titleA {
    text-align: center;
    margin: 0 0 6.7rem;
}
.company_cnt3 .grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.9rem 5.8rem;
}
.company_cnt3 .grid a {
    display: block;
}
.company_cnt3 .grid .pic {
    aspect-ratio: 362/83;
}
.company_cnt3 .grid p {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    line-height: 3rem;
    padding: 0 0 0 1.2rem;
}
.company_cnt3 .grid p::after {
    content: "";
    width: 1.2rem;
    height: 1.2rem;
    background: url(/system_panel/uploads/images/icon_link.svg) no-repeat center / contain;
}
.company_cnt3 .grid a:hover p {
    color: #14401e;
}
.company_cnt3 .grid a:hover p::after {
    background-image: url(/system_panel/uploads/images/icon_linkG.svg);
}





/*contact&formcomplete*/
.contact_cnt1 {
    padding: 7rem 0 0;
}
.contact_cnt1 .read {
    line-height: 2.81;
    margin: 0 0 3.3rem;
}
.contact_cnt1 .grid {
    display: flex;
    gap: 1.6rem;
}
.contact_cnt1 .grid > .dl {
    width: 38rem;
    height: 15.3rem;
    background: #14401e;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
}
.contact_cnt1 .grid > .dl > .dt {
    font-size: 1.8rem;
    margin: 0 0 1.1rem;
}
.contact_cnt1 .grid .tel {
    padding: 0 0 1.8rem;
}
.contact_cnt1 .grid .tel .dl {
    display: flex;
    align-items: baseline;
    gap: 3.2rem;
}
.contact_cnt1 .grid .tel .dl .dt {
    font-size: 1.6rem;
}
.contact_cnt1 .grid .tel .telA .dd {
    font-size: 3rem;
    line-height: 1.3;
}
.contact_cnt1 .grid .tel .telA {
    margin: 0 0 0.8rem;
}
.contact_cnt1 .grid .tel .telB .dd {
    width: 21.6rem;
    font-size: 1.8rem;
}
.contact_cnt1 .grid .fax {
    padding: 0 0 1.6rem;
}
.contact_cnt1 .grid .fax .dd {
    font-size: 3rem;
    line-height: 1.3;
}
.contact_cnt1 .grid .tel a:hover {
    color: #d3f8e2;
}

.contact_cnt2 {
    padding: 7rem 0 12.5rem;
}
.contact_cnt2 form > .dl {
    min-height: 6rem;
    border-bottom: 0.1rem solid #505050;
    display: flex;
    align-items: center;
    padding: 0.35rem 0.8rem 0.35rem 0;
}
.contact_cnt2 form > .dl .dt {
    width: 26.8rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    padding: 0 0 0 2rem;
}
.contact_cnt2 form > .dl:nth-of-type(6) {
    align-items: flex-start;
}
.contact_cnt2 form > .dl:nth-of-type(6) .dt {
    padding-top: 1.4rem;
}
.contact_cnt2 .labelText01 {
    width: 20.5rem;
    color: #14401e;
    font-size: 1.6rem;
}
.contact_cnt2 .required {
    width: 3.8rem;
    height: 2.3rem;
    background: #14401e;
    display: grid;
    place-items: center;
    color: #f5f5f5;
    font-size: 1.3rem;
    letter-spacing: 0;
}
.contact_cnt2 form > .dl .dd {
    flex: 1;
}
.contact_cnt2 :is(.formInput, .formTextArea) {
    width: 100%;
    height: 5.2rem;
    background: #fff;
    border: 0.1rem solid #505050;
    border-radius: 0;
    font-family: inherit;
    font-size: 1.6rem;
    letter-spacing: 0.06em;
    padding: 0 1.9rem;
}
.contact_cnt2 .formTextArea {
    height: 20.2rem;
    resize: vertical;
    line-height: 1.8;
    padding: 1.2rem 1.9rem;
    vertical-align: bottom;
}
.contact_cnt2 ::placeholder {
    color: #c1c1c1;
}
.contact_cnt2 .radioArea {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 3.4rem;
    padding: 0 0 0 0.9rem;
}
.contact_cnt2 .radioArea > div {
    display: flex;
    align-items: center;
}
.contact_cnt2 .formRadio {
    width: 2.4rem;
    height: 2.4rem;
    appearance: none;
    -webkit-appearance: none;
    background: #fff;
    border: 0.1rem solid #2a2a2a;
    border-radius: 50%;
    margin: 0 0.6rem 0 0;
    position: relative;
    cursor: pointer;
}
.contact_cnt2 .formRadio:checked::after {
    content: "";
    width: 1.2rem;
    height: 1.2rem;
    background: #14401e;
    border-radius: 50%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.contact_cnt2 .labelText02 {
    cursor: pointer;
}
.contact_cnt2 .terms {
    height: 31.4rem;
    background: #f0f0f0;
    border: 0.1rem solid #505050;
    overflow-y: scroll;
    font-size: 1.5rem;
    line-height: 2;
    margin: 1.5rem 1rem 5.8rem;
    padding: 1.6rem 1.8rem 1.6rem 2.4rem;
}
.contact_cnt2 .terms a {
    text-decoration: underline;
}
.contact_cnt2 .terms::-webkit-scrollbar {
    width: 1rem;
}
.contact_cnt2 .terms::-webkit-scrollbar-track {
    background: transparent;
    margin: 1.4rem 0;
}
.contact_cnt2 .terms::-webkit-scrollbar-thumb {
    background: #b5b5b5;
}
.contact_cnt2 .col {
    display: flex;
    justify-content: center;
    margin: 0 0 8.6rem;
}
.contact_cnt2 .col > div {
    display: flex;
    align-items: center;
}
.contact_cnt2 .formCheck {
    width: 2.4rem;
    height: 2.4rem;
    appearance: none;
    -webkit-appearance: none;
    background: #fff;
    border: 0.1rem solid #2a2a2a;
    margin: 0 0.8rem 0 0;
    position: relative;
    cursor: pointer;
}
.contact_cnt2 .formCheck:checked::after {
    content: "";
    width: 0.7rem;
    height: 1.3rem;
    border-right: 0.2rem solid #14401e;
    border-bottom: 0.2rem solid #14401e;
    position: absolute;
    left: 0.75rem;
    top: 0.3rem;
    transform: rotate(45deg);
}
.contact_cnt2 .privacyLabel {
    cursor: pointer;
}
.contact_cnt2 .send {
    display: flex;
    justify-content: center;
}
.contact_cnt2 .formSend {
    width: 20.3rem;
    height: 4.8rem;
    background: #14401e;
    border: 0.1rem solid #14401e;
    color: #f5f5f5;
    font-family: inherit;
    font-size: 1.6rem;
    letter-spacing: 0.06em;
    transition: background-color 0.4s, color 0.4s;
}
.contact_cnt2 .formSend:hover {
    background: #fff;
    color: #14401e;
}
.contact_cnt2 .inner > p {
    line-height: 2.5;
}
@media screen and (min-width: 768px) {
  .pcbrnone br{
    display:none;
  }
  .footer .info br:first-of-type {
  display:none;
}
}