.main_wrap{
    margin-top: 0;
}


.fv_wrap{
    position: relative;
    background: #f2f7f9;
}
.fv_wrap::before,
.fv_wrap::after{
    content: "";
    display: block;
    background-image: url(https://img21.shop-pro.jp/PA01514/512/etc_base64/ZnYx.png?cmsp_timestamp=20241213174224);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: cover;
    width: 580px;
    height: 100%;
    position: absolute;
    top: 0;
}
.fv_wrap::before{
    left: 0;
}
.fv_wrap::after{
    right: 0;
    transform: scale(-1, 1);
}
.fv_wrap .inner{
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 375px;
    padding: 0 40px;
}
.fv_wrap .inner img{
    width: 100%;
    max-width: 570px;
}
@media (max-width: 1200px) {
    .fv_wrap::before,
    .fv_wrap::after{
        opacity: .5;
        background-size: 60% autp;
    }
}
@media (max-width: 900px) {
    .fv_wrap::before,
    .fv_wrap::after{
        opacity: .3;
        width: 65%;
        max-width: 500px;
    }
    .fv_wrap .inner{
        height: 44.5vw;
    }
    .fv_wrap .inner img{
        max-width: 70vw;
    }
}


.aboutus_wrap{
    background:linear-gradient(to bottom,
		#f9f9f5 0%,
		#edebde 100%);
    padding: 70px 0;
}
.aboutus_wrap .title{
    font-weight: bold;
    margin-bottom: 1.2em;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8em;
    color: #750c00;
}
.aboutus_wrap .title::before,
.aboutus_wrap .title::after{
    content: "";
    display: block;
    background: #d42c19;
    height: 2px;
    width: .7em;
}
.aboutus_wrap .comment{
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 115%;
    line-height: 2.4;
}
@media (max-width: 920px) {
    .aboutus_wrap .comment{
        display: block;
        font-family: 110%;
        line-height: 2.2;
    }
}
@media (max-width: 640px) {
    .aboutus_wrap{
        padding: 9vw 0;
    }
}
@media (max-width: 600px) {
    .aboutus_wrap .comment{
        font-size: 100%;
    }
}


.category_list{
    display: flex;
    flex-wrap: wrap;
    gap: 20px 10px;
}
.category_list .box{
    width: calc((100% - 10px * 3) / 4);
}
.category_list .link{
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #edebdd;
    border-radius: 7px;
    overflow: hidden;
    height: 100%;
    align-items: center;
    transition: background .4s, color .4s;
}
.category_list .image{
    width: 100%;
}
.category_list .iconimg{
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.category_list .text{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1em;
    font-weight: bold;
    font-size: 115%;
    line-height: 1.2;
    width: 100%;
    padding: 18px;
}
.category_list .text::after{
    font-family: "Font Awesome 5 free";
    font-weight: 600;
    content: "\f105";
    font-size: 80%;
    color: #9b9b9b;
    transition: color .4s;
}
.category_list .link:hover{
    text-decoration: none;
    background: #f1ebc5;
    color: #bb501b;
}
.category_list .link:hover .text::after{
    color: #bb501b;
}

@media (max-width: 1120px) {
    .category_list .box{
        width: calc((100% - 10px * 2) / 3);
    }
}
@media (max-width: 800px) {
    .category_list .box{
        width: calc((100% - 10px) / 2);
    }
}
@media (max-width: 540px) {
    .category_list{
        gap: 10px;
    }
    .category_list .box{
        width: 100%;
    }
}