@charset "utf-8";
/* CSS Document */


body.home div#wrapcont #mainVisArea {
    height: 740px;
    position: relative;
    overflow: hidden;
}
body.home div#wrapcont #mainVisArea ul.slider,
body.home div#wrapcont #mainVisArea ul.slider .slick-list,
body.home div#wrapcont #mainVisArea ul.slider .slick-list .slick-track,
body.home div#wrapcont #mainVisArea ul.slider li {
    height: 100%!important;
}
body.home div#wrapcont #mainVisArea ul.slider li {
    position: relative;
    overflow: hidden;
    text-align: center;
}
body.home div#wrapcont #mainVisArea ul.slider img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

body.home div#wrapcont #mainVisArea ul.item-row1 {
    position: absolute;
    top: 350px;
    left: 0;
    right: 0;
    z-index: 1;
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
    transform: translateX(-450px);
}
body.home div#wrapcont #mainVisArea ul.item-row1 > li {
    color: #ffffff;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    aspect-ratio: 1 / 1;
    border: 1px dashed #ffffff;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--bg-color);
    box-shadow: 0 0 0 5px var(--bg-color);
    -moz-box-shadow: 0 0 0 5px var(--bg-color);
    -webkit-box-shadow: 0 0 0 5px var(--bg-color);
    font-weight: bold;
    position: relative;
}
body.home div#wrapcont #mainVisArea ul.item-row1 > li.type1 {
    width: 11em;
    --bg-color: var(--site-theme-color2);
    z-index: 2;
}
body.home div#wrapcont #mainVisArea ul.item-row1 > li.type2 {
    width: 8em;
    z-index: 1;
    --bg-color: var(--site-theme-color3);
    transform: translate(-50%, -25%);
}
body.home div#wrapcont #mainVisArea ul.item-row3.flexbox {
    position: absolute;
    top: 350px;
    left: 0;
    right: 0;
    z-index: 2;
    margin-left: auto;
    margin-right: auto;
    width: 280px;
    transform: translateX(450px);
    gap: 20px 20px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
body.home div#wrapcont #mainVisArea .item-row3_v2 {
     position: absolute;
     bottom: 100px;
     left: 0;
     right: 0;
     z-index: 2;
     margin-left: auto;
     margin-right: auto;
     width: 280px;
     transform: translateX(450px);
}
@media (max-width: 1300px) {
    body.home div#wrapcont #mainVisArea .item-row1 {
        transform: translateX(0)!important;
        margin-left: 0!important;
        left: 100px!important;
    }
    body.home div#wrapcont #mainVisArea ul.item-row3.flexbox {
        top: auto;
        bottom: 20px;
        width: min( calc( 100% - 30px - 30px ), 700px );
        transform: translateX(0);
        flex-direction: row;
    }
    body.home div#wrapcont #mainVisArea .item-row3_v2 {
        left: auto;
        right: 50px;
        transform: translateX(0);
    }
}
@media (max-width: 900px) {
    body.home div#wrapcont #mainVisArea {
        height: 500px;
    }
    body.home div#wrapcont #mainVisArea .item-row1 {
        display: none;
    }
    body.home div#wrapcont #mainVisArea ul.item-row3.flexbox {
        top: auto;
        bottom: 20px;
        width: min( calc( 100% - 30px - 30px ), 700px );
        transform: translateX(0);
        flex-direction: row;
    }
    body.home div#wrapcont #mainVisArea .item-row3_v2 {
        bottom: 20px;
        left: 0;
        right: 0;
        width: 220px;
    }
}
@media (max-width: 767px) {
    body.home div#wrapcont #mainVisArea ul.item-row3.flexbox {
        font-size: 0.9em;
        flex-wrap: wrap;
        justify-content: center;
        width: min( calc( 100% - 15px - 15px ), 500px );
        gap: 5px 15px;
    }
    body.home div#wrapcont #mainVisArea ul.item-row3.flexbox > li {
        width: calc( 50% - 8px );
    }
}
@media (max-width: 640px) {
    body.home div#wrapcont #mainVisArea {
        height: 250px;
    }
    body.home div#wrapcont #mainVisArea .item-row3_v2 {
        width: 180px;
        bottom: 5px;
    }
}


body.home div#wrapcont #mainArea {
    position: relative;
    padding-top: calc( 40px + 108px );
}
body.home div#wrapcont #mainArea::before {
    position: absolute;
    top: 40px;
    left: 50%;
    z-index: 1;
    content: '';
    width: 1300px;
    height: 108px;
    transform: translateX(-50%);
    background-image: url('../images/common/parts_grass.png'),
                      url('../images/common/parts_grass.png');
    background-size: auto 108px,
                     auto 108px;
    background-repeat: no-repeat,
                       no-repeat;
    background-position: left top,
                         right top;
}


body.home div#wrapcont #mainArea section.mainsec.s1 {
    background-color: var(--site-theme-color2);
}
body.home div#wrapcont #mainArea section.mainsec.s1 > .inner {
    padding-top: 80px;
    padding-bottom: 80px;
}
body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 {
    background-color: #ffffff;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    padding: 50px 30px;
    width: min( 100%, 1000px );
    margin-left: auto;
    margin-right: auto;
}
body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 dl.itemlist {
    width: min( 100%, 850px );
    margin-left: auto;
    margin-right: auto;
    gap: 30px 50px;
}
body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 dl.itemlist > dt {
    width: 140px;
    max-width: 100%;
}
body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 dl.itemlist > dt h3 {
    text-align: center;
    font-weight: bold;
    margin-bottom: 10px;
    color: var(--site-theme-color2);
    font-size: 1.75em;
    letter-spacing: 0.05em;
    transform: translateX(calc(0.05em / 2));
    line-height: 1.5;
}
body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 dl.itemlist > dt .item-row1 {
    text-align: center;
}
body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 dl.itemlist > dd {
    width: min( 100% - 140px - 50px );
}
body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 dl.itemlist > dd ul.postlist.flexbox {
    gap: 20px 0;
    flex-direction: column;
}
body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 dl.itemlist > dd ul.postlist.flexbox > li {
    border-bottom: 1px dashed var(--site-theme-color2);
}
body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 dl.itemlist > dd ul.postlist.flexbox > li a {
    display: block;
    padding: 10px 5px;
}
body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 dl.itemlist > dd ul.postlist.flexbox > li a > .inner {
    position: relative;
    padding-left: 130px;
}
body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 dl.itemlist > dd ul.postlist.flexbox > li a .txt-date {
    color: var(--site-theme-color2);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 dl.itemlist > dd ul.postlist.flexbox > li a .txt-main .tag-new {
    line-height: 1;
    display: inline-block;
    vertical-align: middle;
    padding: 0.35em calc(1em - 0.1em) 0.35em 1em;
    color: #ffffff;
    text-align: center;
    background-color: var(--site-theme-color3);
    font-size: 0.9em;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-left: calc( 1em * 1.1 ) ;
}
body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 dl.itemlist > dd .item-row2 {
    margin-top: 20px;
    text-align: right;
}
@media (max-width: 850px) {
    body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 dl.itemlist > dd ul.postlist.flexbox > li a > .inner {
        padding-left: 0;
    }
    body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 dl.itemlist > dd ul.postlist.flexbox > li a .txt-date {
        position: static;
    }
}
@media (max-width: 640px) {
    body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 dl.itemlist {
        flex-direction: column;
        align-items: center;
    }
    body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 dl.itemlist > dt h3 {
        margin-bottom: 0;
    }
    body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 dl.itemlist > dt .item-row1 img {
        width: min( 100%, 60px );
    }
    body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 dl.itemlist > dd {
        width: 100%;
    }
}


body.home div#wrapcont #mainArea section.mainsec.s2 > .inner {
    padding-top: 100px;
}
body.home div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.itemlist.flexbox {
    gap: 50px 80px;
}
body.home div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.itemlist.flexbox > li {
    width: calc( 50% - 40px );
}
body.home div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.itemlist.flexbox > li .item-row1 {
}
body.home div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.itemlist.flexbox > li .item-row2 {
    margin-top: 50px;
}
body.home div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.itemlist.flexbox > li .item-row3 {
}
@media (max-width: 1000px) {
    body.home div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.itemlist.flexbox {
        flex-direction: column;
        align-items: center;
    }
    body.home div#wrapcont #mainArea section.mainsec.s2 .mainclm1 ul.itemlist.flexbox > li {
        width: 100%;
        max-width: 500px;
    }
}


body.home div#wrapcont #mainArea section.mainsec.s3 > .inner {
    padding-top: 100px;
    padding-bottom: 100px;
}


body.home div#wrapcont #mainArea section.mainsec.s4 {
    margin-top: 50px;
    background-color: #DEF9EC;
    border-top-left-radius: 1000px 200px;
    border-top-right-radius: 1000px 200px;
}
body.home div#wrapcont #mainArea section.mainsec.s4 > .inner {
    padding-top: 80px;
    padding-bottom: 150px;
}
body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 {
    width: calc( 100% - 60px );
    margin-left: auto;
    margin-right: auto;
}
body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 ul.itemlist.flexbox {
    justify-content: center;
    gap: 120px 0;
    flex-wrap: wrap;
    width: calc( 100% + 80px );
}
body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 ul.itemlist.flexbox > li {
    width: calc( (100% / 3) - 80px );
    margin-right: 80px;
    position: relative;
}
body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 ul.itemlist.flexbox > li:nth-child(odd) {
    --clm-color: var(--site-theme-color2);
}
body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 ul.itemlist.flexbox > li:nth-child(even) {
    --clm-color: var(--site-theme-color3);
}

body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 ul.itemlist.flexbox > li .item-number {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    transform: translate(-40%,-40%);
    box-shadow: 0 0 0 5px var(--clm-color);
    -moz-box-shadow: 0 0 0 5px var(--clm-color);
    -webkit-box-shadow: 0 0 0 5px var(--clm-color);
    background-color: var(--clm-color);
}
body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 ul.itemlist.flexbox > li .itemwrap {
    border-radius: 15px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    height: 100%;
    background-color: #ffffff;
    overflow: hidden;
}
body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 ul.itemlist.flexbox > li .itemwrap .item-row1 {
    aspect-ratio: 420 / 260;
}
body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 ul.itemlist.flexbox > li .itemwrap .item-row1 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 ul.itemlist.flexbox > li .itemwrap .item-row2 {
    padding: 20px 15px 40px;
    text-align: center;
}
body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 ul.itemlist.flexbox > li .itemwrap .item-row2 .txt-main {
    font-size: 1.25em;
    font-weight: bold;
    background-size: auto 2em;
    background-repeat: repeat;
    background-position: left top;
    line-height: 2em;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}
body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 ul.itemlist.flexbox > li:nth-child(odd) .itemwrap .item-row2 .txt-main {
    background-image: url('../images/common/underline-green2.png');
}
body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 ul.itemlist.flexbox > li:nth-child(even) .itemwrap .item-row2 .txt-main {
    background-image: url('../images/common/underline-green3.png');
}
body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 ul.itemlist.flexbox > li .btn-btm {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    text-align: center;
    transform: translateY(50%);
}
@media (max-width: 1000px) {
    body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 {
        width: min( calc( 100% - 60px ), 700px );
    }
    body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 ul.itemlist.flexbox > li {
        width: calc( (100% / 2) - 80px );
    }
}
@media (max-width: 767px) {
    body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 {
        width: min( calc( 100% - 40px ), 700px );
    }
    body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 ul.itemlist.flexbox {
        gap: 80px 0;
        width: calc( 100% + 40px );
    }
    body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 ul.itemlist.flexbox > li .item-number {
        transform: translate(-20%,-20%);
    }
    body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 ul.itemlist.flexbox > li {
        width: calc( (100% / 2) - 40px );
        margin-right: 40px;
    }
}
@media (max-width: 640px) {
    body.home div#wrapcont #mainArea section.mainsec.s4 > .inner {
        padding-bottom: 100px;
    }
    body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 {
        width: min( calc( 100% - 40px ), 400px );
    }
    body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 ul.itemlist.flexbox {
        gap: 60px 0;
        width: 100%;
        flex-direction: column;
    }
    body.home div#wrapcont #mainArea section.mainsec.s4 .mainclm1 ul.itemlist.flexbox > li {
        width: 100%;
        margin-right: 0;
    }
}


body.home div#wrapcont #mainArea section.mainsec.s5 > .inner {
    padding-top: 100px;
}
body.home div#wrapcont #mainArea section.mainsec.s5 .mainclm1 {
    --clm-gap-v: 160px;
}
body.home div#wrapcont #mainArea section.mainsec.s5 .mainclm1 ul.itemlist.flexbox {
    width: calc( 100% + 50px );
    flex-wrap: wrap;
    justify-content: center;
    padding-top: var(--clm-gap-v);
    gap: calc(var(--clm-gap-v) + 40px) 0;
}
body.home div#wrapcont #mainArea section.mainsec.s5 .mainclm1 ul.itemlist.flexbox > li {
    width: calc( (100% / 3) - 50px );
    margin-right: 50px;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    position: relative;
    background-color: var(--clm-color);
    padding-bottom: 80px;
}
body.home div#wrapcont #mainArea section.mainsec.s5 .mainclm1 ul.itemlist.flexbox > li:nth-child(1) {
    --clm-color: var(--site-theme-color1);
}
body.home div#wrapcont #mainArea section.mainsec.s5 .mainclm1 ul.itemlist.flexbox > li:nth-child(2) {
    --clm-color: var(--site-theme-color2);
}
body.home div#wrapcont #mainArea section.mainsec.s5 .mainclm1 ul.itemlist.flexbox > li:nth-child(3) {
    --clm-color: var(--site-theme-color3);
}
body.home div#wrapcont #mainArea section.mainsec.s5 .mainclm1 ul.itemlist.flexbox > li .item-row1 {
    width: min( calc(100% - 30px), 270px );
    margin-left: auto;
    margin-right: auto;
    margin-top: calc(var(--clm-gap-v) * -1);
}
body.home div#wrapcont #mainArea section.mainsec.s5 .mainclm1 ul.itemlist.flexbox > li .item-row1 img {
    width: 100%;
}
body.home div#wrapcont #mainArea section.mainsec.s5 .mainclm1 ul.itemlist.flexbox > li > .center {
    padding: 30px 15px;
    width: fit-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}
body.home div#wrapcont #mainArea section.mainsec.s5 .mainclm1 ul.itemlist.flexbox > li > .center .item-row2 {
    width: 230px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #ffffff;
    border-radius: 15px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    text-align: center;
    padding: 0.5em 1em;
    font-size: 1.5em;
}
body.home div#wrapcont #mainArea section.mainsec.s5 .mainclm1 ul.itemlist.flexbox > li > .center .item-row2 > .center {
    line-height: 1.5;
    display: inline-block;
    font-weight: bold;
    color: var(--clm-color);
    letter-spacing: 0.15em;
    transform: translate(calc(0.15em / 2));
}
body.home div#wrapcont #mainArea section.mainsec.s5 .mainclm1 ul.itemlist.flexbox > li > .center ul.item-row3 {
    margin-top: 30px;
}
body.home div#wrapcont #mainArea section.mainsec.s5 .mainclm1 ul.itemlist.flexbox > li > .center ul.item-row3 > li {
    padding: 0.5em 1em;
    border-bottom: 1px dashed #ffffff;
}
body.home div#wrapcont #mainArea section.mainsec.s5 .mainclm1 ul.itemlist.flexbox > li > .center ul.item-row3 > li > .inner {
    position: relative;
    display: inline-block;
    padding-left: calc(1em + 1em);
    color: #ffffff;
    font-weight: bold;
    line-height: 1.5em;
}
body.home div#wrapcont #mainArea section.mainsec.s5 .mainclm1 ul.itemlist.flexbox > li > .center ul.item-row3 > li > .inner::before {
    position: absolute;
    top: calc( ( (1.5em - 1em) / 2 ) - 0.1em );
    left: 0;
    z-index: 1;
    content: '';
    width: 1em;
    aspect-ratio: 1 / 1;
    border: 2px solid #ffffff;
}
body.home div#wrapcont #mainArea section.mainsec.s5 .mainclm1 ul.itemlist.flexbox > li .item-row4 {
    text-align: center;
    position: absolute;
    left: 0;
    bottom: 30px;
    z-index: 1;
    width: 100%;
}
@media (max-width: 1200px) {
    body.home div#wrapcont #mainArea section.mainsec.s5 .mainclm1 ul.itemlist.flexbox {
        width: calc( 100% + 20px );
    }
    body.home div#wrapcont #mainArea section.mainsec.s5 .mainclm1 ul.itemlist.flexbox > li {
        width: calc( (100% / 3) - 20px );
        margin-right: 20px;
    }
}
@media (max-width: 1000px) {
    body.home div#wrapcont #mainArea section.mainsec.s5 .mainclm1 ul.itemlist.flexbox > li {
        width: calc( (100% / 2) - 20px );
    }
}
@media (max-width: 640px) {
    body.home div#wrapcont #mainArea section.mainsec.s5 .mainclm1 ul.itemlist.flexbox {
        width: 100%;
        flex-direction: column;
        align-items: center;
    }
    body.home div#wrapcont #mainArea section.mainsec.s5 .mainclm1 ul.itemlist.flexbox > li {
        width: min(100%, 450px);
        margin-right: 0;
    }
}