.block-hero {
    background-color: #fff;
}
.main-visual {
    width: 100%;
    background-color: #fff;
}
.main-visual .slick-dots {
    background-color: #fff;
}

.main-visual.slick-dotted.slick-slider {
        margin-bottom: 25px;
}

#BCL {
    position: relative;
    background-color: #fff;
    padding-top: 0.8em;
    padding-bottom: 0.8em;
    padding-top: 20px;
}

#BCL ul {
    display: flex;
    justify-content: left;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    size: 0.75em;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

#BCL li {
    position: relative;
    float: left;
    margin-left: 2em;
    font-size: 0.75em;
}

#BCL li:first-of-type {
    margin-left: 0;
}

#BCL li + li::before {
    position: absolute;
    top: 0;
    left: -1.5em;
    content: ">";
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ホーム　NEWS */
.sec-news.new {
    background-color: #fff;
    padding-top: 20px;
}
@media only screen and (max-width: 640px) {
    #top .sec-news.new {
        padding: 60px 0;
    }
}
#top .sec-news.new .container {
    padding: 0;
    padding-top: 100px;
    padding-bottom: 80px;
    background: #fff;
    max-width: 1270px;
}
@media only screen and (max-width: 1440px) {
    #top .sec-news.new .container {
        margin-right: 0;
    }
}
@media only screen and (max-width: 640px) {
    #top .sec-news.new .container {
        margin: auto 0;
        padding: 0 20px 40px;
        /* width: 95%; */
    }
}
#top .sec-news.new .news-list {
    display: block;
    max-width: 950px;
    width: 90%;
}
@media only screen and (max-width: 640px) {
    #top .sec-news.new .news-list {
        width: 100%;
    }
}
#top .sec-news.new .news-list .link {
    background-color: unset;
}
#top .sec-news.new .btn-wrap {
    text-align: center;
}
.container {
    margin-left: auto;
    margin-right: auto;
}

.headline {
    margin-bottom: 20px;
}

.headline  span{
    display: block;
    font-size: 45px;
    font-weight: bold;
    line-height: 1.2;
}

@media only screen and (max-width: 640px) {
    .headline  span{
        font-size: 6.6666666667vw;
    }
}


.news-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    margin: 0 auto;
}
@media only screen and (max-width: 1440px) {
    .news-list {
        grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
    }
}
@media only screen and (max-width: 960px) {
    .news-list {
        margin: 30px auto;
    }
}
@media only screen and (max-width: 640px) {
    .news-list {
        grid-template-columns: repeat(1, 1fr);
    }
}
.news-list .link {
    display: block;
    background: #fff;
    border-radius: 10px;
    padding: 30px;
    color: #333;
    text-decoration: none;
    position: relative;
}
@media only screen and (max-width: 1024px) {
    .news-list .link {
        padding: 10px;
    }
}
@media only screen and (max-width: 960px) {
    .news-list .link {
        font-size: 15px;
        padding: 10px;
        /* padding-right: 90px; */
    }
}
@media only screen and (max-width: 640px) {
    .news-list .link {
        font-size: 3.7333333333vw;
        padding: 10px;
    }
}
.news-list .link::after {
    position: absolute;
    width: 36px;
    height: 36px;
    background: #0c6c54;
    content: "";
    display: block;
    top: 0;
    bottom: 0;
    right: 42px;
    margin: auto;
    border-radius: 99px;
    background-image: url(../images/icon/icon-arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 8px;
}
@media only screen and (max-width: 1024px) {
    .news-list .link::after {
        right: 27px;
    }
}
@media only screen and (max-width: 640px) {
    .news-list .link::after {
        right: 12px;
    }
}
.news-list .meta {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: 1px solid #cbcbcb;
    padding-bottom: 10px;
}
.news-list .meta > * {
    margin-right: 10px;
}

.news-list .meta img {
    /* width: 100%;; */
    height: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
}
.news-list .cat {
    background: #0c6c54;
    border-radius: 99px;
    color: #fff;
    font-size: 12px;
    min-width: 70px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0 5px;
}
@media only screen and (max-width: 640px) {
    .news-list .cat {
        font-size: 3.2vw;
        padding: 0 10px;
    }
}
.news-list .title {
    padding-top: 5px;
}

.news-list .link::after {
    content: none
}


.btn-news {
    position: relative;
}        

.btn-wrap {
    text-align: center;
    padding-top: 40px;
    padding-bottom: 40px;
}
.btn-news {
    border: 5px solid #006c54;
    background: #fff;
    border-radius: 999px;
    color: #006c54;
    display: inline-block;
    line-height: 1.8;
    font-size: 112.5%;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    padding: 10px 3em;
    min-width: 290px;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
}

.btn-news:hover {
    background: #006c54;
    color: #fff;
    opacity: 1;
}
.modal__close {
    transform: scale(1.5);
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ホーム　fsgproject */
.fsgproject {
    background-color: #fff;
    padding-top: 80px;
    padding-bottom: 80px;
}

.fsgproject .container {
    width: 90%;
    margin: 0 auto;
}

.fsgproject .headline {
    text-align: center;
    margin-bottom: 15px;
    font-weight: bold;
}

.fsgproject .lead {
    font-size: 21px;
    text-align: left;
    font-weight: bold;
    margin-bottom: 30px;
}

.btn-wrapper .btn {
    border-radius: 999px;
    border: 5px solid #006c54;
    background: #fff;
    color: #006c54;
    display: inline-block;
    line-height: 1.8;
    font-size: 112.5%;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    padding: 10px 3em;
    min-width: 290px;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
}

.btn-wrapper .btn:hover {
    color: #fff;
    background-color: #006c54;
}


@media only screen and (max-width: 640px) {
    .fsgproject {
        padding-top: 40px;
        padding-bottom: 40px;
    }
}

@media only screen and (max-width: 640px) {
    .fsgproject .container{
        width: 100%;
        margin: 0 auto;
        padding: 0 20px;}
}

@media only screen and (max-width: 640px) {
    .fsgproject .headline {
        text-align: center;
    }
}

@media only screen and (max-width: 640px) {
    .fsgproject .lead {
        font-size: 4.2666666667vw;
    }
}

@media only screen and (max-width: 640px) {
    .fsgproject .farm {
        margin-bottom: 0;
    }
}
@media only screen and (max-width: 640px) {
    .fsgproject .farm .flex {
        display: block;
    }
}
@media only screen and (max-width: 640px) {
    .fsgproject .farm p {
        margin-bottom: 0;
    }
}
@media only screen and (max-width: 640px) {
    .fsgproject .farm figure {
        margin-top: 0;
    }
}
.fsgproject .copy .concept {
    font-size: 180%;
    color: #006c54;
}
.fsgproject .btn-wrapper {
    text-align: center;
    margin-top: 4rem;
}
@media only screen and (max-width: 640px) {
    .fsgproject .farm.map {
        margin-top: 60px;
    }
}

@media only screen and (max-width: 640px) {
    .nosp {
        display: none !important;
    }
}



.map-sougou {
    background-color: #fff;
    padding-top: 80px;
    padding-bottom: 80px;
}

.map-sougou .container {
    width: 90%;
    margin: 0 auto;
}

.map-sougou .container img {
    width: 100%;
}   


@media only screen and (max-width: 640px) {
    .map-sougou {
        padding-top: 40px;
        padding-bottom: 40px;
    }
}
@media only screen and (max-width: 640px) {
    .map-sougou .container{
        width: 100%;
        margin: 0 auto;
        padding: 0 20px;}
}


.block-links {
    padding: 70px 80px;
}

.block-links .list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.block-links a {
    display: block;
    margin: 10px;    
    width: 200px;
}

@media only screen and (max-width: 640px) {
    .block-links {
        padding: 50px 40px;
    }
}

@media only screen and (max-width: 640px) {
    .block-links a {
        width: calc(50% - 20px);
    }
}

/* footer */
.footer {
    background-color: #fff;
    background-image: url(/images/common/logo-bg.png);
    background-repeat: no-repeat;
    background-size: 320px 340px;
    background-position: left bottom;
    clear: both;
    padding-top: 60px;
}
@media only screen and (max-width: 960px) {
    .footer {
        background-size: auto 190px;
        background-position: left -20% bottom;
        padding-top: 40px;
        padding-bottom: 60px;
    }
}
.footer .container {
    margin: auto;
    text-align: center;
}
.footer .address-area {
    font-size: 75%;
}
@media only screen and (max-width: 960px) {
    .footer .address-area {
        font-size: 62.5%;
    }
}
.footer .address-area h2 {
    font-size: 116.6666666667% !important;
    font-weight: bold !important;
    color: #333 !important;
}
.footer .footer-logo {
    display: inline-block;
    margin-bottom: 40px;
}
@media only screen and (max-width: 960px) {
    .footer .footer-logo {
        margin-bottom: 30px;
    }
}
.footer .footer-logo img {
    width: 400px;
    height: 75px;
}
@media only screen and (max-width: 960px) {
    .footer .footer-logo img {
        width: 240px;
        height: auto;
    }
}
.footer .footer-menu {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-top: 1px solid #cbcbcb;
    padding: 15px 0;
}
@media only screen and (max-width: 640px) {
    .footer .footer-menu {
        display: grid;
    }
}
.footer .footer-menu li {
    margin-left: 24px;
}
@media only screen and (max-width: 960px) {
    .footer .footer-menu li {
        margin-left: 15px;
    }
}
@media only screen and (max-width: 640px) {
    .footer .footer-menu li {
        margin-left: 0px;
    }
}
.footer .footer-menu li:first-child {
    margin-left: 0;
}
.footer .footer-menu a {
    text-decoration: none;
    padding-right: 36px;
    position: relative;
    display: block;
    color: #333;
    font-size: 87.5%;
}
@media only screen and (max-width: 960px) {
    .footer .footer-menu a {
        font-size: 62.5%;
        padding-right: 28px;
    }
}
@media only screen and (max-width: 640px) {
    .footer .footer-menu a {
        -webkit-transform: scale(0.9);
        transform: scale(0.9);
        white-space: nowrap;
    }
}
.footer .footer-menu a::after {
    position: absolute;
    width: 15px;
    height: 15px;
    background: #0c6c54;
    content: "";
    display: block;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    border-radius: 99px;
    background-image: url(/images/icon/icon-arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 6px;
}
.footer .footer-menu a:hover {
    color: #0c6c54;
}
.footer .copyright {
    display: block;
    margin: 30px auto;
    font-size: 62.5%;
    text-align: center;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: footer　スライダー */
.block__bnr {
    background-color: #eee;
    padding: 20px 0;
}
.home .block__bnr {
    background-color: #fff;
}
  
.bnr__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -20px;
}
@media only screen and (max-width: 640px) {
    .bnr__list {
        margin: 0 -10px;
    }
}
.bnr__list > * {
    max-width: 240px;
    padding: 10px 15px;
}
@media only screen and (max-width: 640px) {
    .bnr__list > * {
        width: 50%;
        padding: 10px;
    }
}
.bnr__list a {
    border: 1px solid #ccc;
    display: block;
}
  

@media screen and (max-width:767px){
    .modal__container {
        width: 100vw;
        height: 100vh;
    }
}

button.slick-next{display:none !important;}

.sns-line{
    background-color: #00ab3f;
}
picture {
    text-align: center;
}
picture img {
    display: inline-block;
}