@charset "utf-8";
/*----- 
01.TOPページのみ
----- */
#top{
    padding-bottom: 0;
}
#top .main-area{
padding-top: 175px;
position: relative;
}

#top .main-area .mv{
width: 100%;
position: absolute;
top: 0;
left: 0;
right: 0;
height: 320px;
object-fit: cover;
}

#top .main-area .flex-box{
position: relative;
z-index: 10;
justify-content: space-between;
align-items: flex-start;
}

#top .main-area .left{
background: #fff;
padding: 30px 0 40px;
width: 76%;
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);

}

#top .main-area .left .title{
font-size: 30px;
color: #075e20;
font-weight: 700;
max-width: fit-content;
margin: 0 auto 20px;
position: relative;
align-items: center;
gap: 10px;
}

#top .main-area .left .title::before{
content: "";
display: inline-block;
width: 31px;
height: 27px;
background: center/contain no-repeat url('../../img/common/icon_news.png');
}

#top .main-area .left div{
display: flex;
gap: 47px;
width: 84%;
margin: 0 auto;

}

#top .main-area .left a{
padding: 10px 0;
gap: 50px;
border-bottom: 1px solid rgba(3, 3, 3, 0.43);
width: 100%;
justify-content: flex-start;
font-size: 18px;
}

#top .main-area .left a span{
display: block;
color: #075e20;
font-size: 16px;
}

#top .main-area .right{
width: 20%;
}

#top .main-area .right a{
background-color: #fff;
padding: 25px 10px 36px;
margin-bottom: 20px;
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.16);
display: flex;
flex-direction: column;
justify-content: center;
font-weight: 700;
font-size: 18px;
color: #075e20;
}

#top .main-area .right img{
margin: 0 auto 15px;
}

#top .main-area .right span{
display: block;
text-align: center;
max-width: fit-content;
margin: 0 auto;
}

#top .btn-area{
padding: 43px 0 18px;
position: relative;
max-width: 1200px;
margin: 0 auto;
}

#top .btn-area h2{
font-size: 34px;
color: #075e20;
margin-bottom: 70px;
position: relative;
z-index: 10;
}

#top .btn-area .img01{
position: absolute;
width: 62.7%;
max-width: 690px;
right: 25px;
bottom: 0;
z-index: 10;
}

#top .btn-area .img02{
position: absolute;
width: 53%;
right: 0;
top: 30px;
}

#top .btn-area .flex-box{
font-size: 20px;
font-weight: 700;

}

#top .btn-area .flex-box a{
color: #075e20;
}

#top .btn-area .flex-box01{
justify-content: space-between;
margin-bottom: 24px;
}

#top .btn-area .flex-box01 div{
width: 49%;
z-index: 10;
}

#top .btn-area .flex-box01 a{
box-shadow: 0 3px 8px rgba(0, 0, 0, 0.16);
display: block;
width: 100%;
padding: 55px 0;
background: linear-gradient(rgba(236,237,162,0.8), rgba(186,236,202,0.8));
position: relative;
}

#top .btn-area .flex-box a span{
position: relative;
display: flex;
align-items: center;
justify-content: center;
z-index: 10;
}

#top .btn-area .flex-box a span::before{
content: "";
display: block;
width: 20px;
height: 20px;
background: center / contain no-repeat
url("../../img/common/btn.png");
margin-right: 15px;
flex-shrink: 0;
}

#top .btn-area .flex-box01 img{
position: absolute;
bottom: 0;
left: 15px;
}

#top .btn-area .flex-box02{
flex-wrap: wrap;
justify-content: space-between;

}

#top .btn-area .flex-box02 div{
width: 31.5%;
position: relative;
z-index: 10;
margin-bottom: 30px;
}

#top .btn-area .flex-box02 a{
border: 1px solid #999;
display: block;
width: 100%;
background: #fff;
height: 98px;
display: flex;
justify-content: center;
}

#top .btn-area .flex-box02 div::after{
content: "";
display: block;
width: 100%;
height: 100%;
opacity: 0.42;
background-color: #f2f8ec;
position: absolute;
top: 10px;
left: 10px;
pointer-events: none;
}

@media screen and (max-width: 1080px){
    #top .btn-area .img01{
bottom: auto;
right: 0;
top: 20px;
}
#top .btn-area .img01::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 50px; /* ぼかす範囲 */
background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
}
#top .main-area {
padding-top: 100px;
}

#top .main-area .flex-box {
flex-direction: column;
}

#top .main-area .left {
padding: 20px 0;
width: 100%;
margin-bottom: 20px;
}

#top .main-area .left a{
display: block;
}

#top .main-area .left .title {
font-size: 24px;
margin: 0 auto 10px;
}

#top .main-area .right {
width: 100%;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 10px;
}

#top .main-area .right a{
margin-bottom: 0;
height: 100%;
}

#top .main-area .right div:nth-of-type(2) img{
padding-top: 13px;
}

#top .btn-area h2{
font-size: 28px;
margin-bottom: 30px;
}

#top .btn-area .flex-box01{
margin-bottom: 20px;
flex-direction: column;
}

#top .btn-area .flex-box01 div {
width: 100%;
margin-bottom: 20px;
}

#top .btn-area .flex-box02{
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 10px;
}

#top .btn-area .flex-box02 div {
width: 100%;
margin-bottom: 10px;
}
}

@media screen and (max-width: 768px){
#top .main-area .left a{
font-size: 16px;
}
#top .main-area .right a{
font-size: 16px;
}
#top .main-area .left a span {
font-size: 14px;
}
#top .btn-area .flex-box{
font-size: 16px;
}
#top .btn-area h2 {
font-size: 28px;
margin-bottom: 30px;
}
#top .btn-area .flex-box01 {
margin-bottom: 0;
}
#top .btn-area .flex-box01 div{
width: 100%;
position: relative;
z-index: 10;
}

#top .btn-area .flex-box01 a{
padding: 30px 0;
}

#top .btn-area .flex-box a span::before {
width: 15px;
height: 15px;
margin-right: 10px;
}

#top .btn-area .flex-box02 a {
height: 80px;
padding: 5px;
}

#top .btn-area .flex-box02 div:nth-of-type(5){
font-size: 15px;
}

#top .btn-area .flex-box01 div a span::before{
content: none;
}

#top .btn-area .flex-box01 div:nth-of-type(1) img{
width: 80px;
left: 5px;
}

#top .btn-area .flex-box01 div:nth-of-type(2) img{
width: 50px;
left: 10px;
}
}