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

.top-title1 {
    display: flex;
    align-items: center;
    gap: 12px;
}
.top-title1 p {
    margin: 0;
    white-space: nowrap;
}
.top-title1::after {
    content: "";
    width: 80px;
    height: 1px;  
    background-color: rgba(128, 128, 128, 0.3);
}
.fv .imgbox{
	position: relative;
	flex:  1;
	height: 50vw;
	padding-right: 80px;
	margin-bottom: auto;
	
}
.fv .imgbox::after {
    content: "";
    position: absolute;
    inset: 0;  
    background: rgba(51, 39, 14, 0.2); 
    pointer-events: none; 
}
.fv .imgbox .fv-img {
    width: 100%;
    height: 100%;
    object-fit: cover; 
	display: block;
}
.fv .imgbox .fv-txt{
    position: absolute;
    inset: 0;
    margin: auto;
    width: 50vw; 
    z-index: 2;
    pointer-events: none;  
}

/* ---------- cate1 ---------- */
.cate1{
	position: relative;
	z-index: 1;
}
.cate1::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 50vw;
   background: linear-gradient(
        136deg,
        rgba(208, 239, 237, 0.6) 0%,
        rgba(182, 227, 214, 0.6) 49%,
        rgba(167, 217, 179, 0.6) 100%
    );
    z-index: -1;
}
.cate1 .gridbox {
    display: grid;
    gap: 10px;
    grid-template-columns: 1.1fr 1.6fr 1.1fr;
    grid-template-rows: 1fr 1fr;
    grid-template-areas:
        "img1 img2 img3"
        "img4 img2 img5";
    width: 100%;
    max-width: 1280px; 
    margin: 0 auto;
}
.cate1 .gridbox a {
    width: 100%;
    height: 100%;
    display: block;
}
.cate1 .gridbox a img{
    width: 100%;
    height: 100%;
    object-fit: cover;
	display: block;
}
.cate1 .gridbox .img1 { grid-area: img1; }
.cate1 .gridbox .img2 { grid-area: img2; }
.cate1 .gridbox .img3 { grid-area: img3; }
.cate1 .gridbox .img4 { grid-area: img4; }
.cate1 .gridbox .img5 { grid-area: img5; }

.cate1 .bottombox{
	gap: 60px;
	justify-content: space-between;
}
.cate1 .bottombox .logo{
	width: 300px;
}
/* ---------- cate2 ---------- */
.cate2 .box_wrap .boxitem{
	gap: 50px;
	align-items: center;
}
.cate2 .box_wrap .boxitem .imgbox{
	position: relative;
	width: calc(50% - 25px);
	overflow: visible;
	aspect-ratio: 4 / 3;
}
.cate2 .box_wrap .boxitem .imgbox .img1{
	position: absolute;
	width: 50%;
	top: 0%;
    left: 30%;
    transform: translate(-50%, -50%);
}
.cate2 .box_wrap .boxitem .imgbox .img2{
	position: absolute;
	top: -20px;    
    left: 0%;
    width: 25%;  
}
.cate2 .box_wrap .boxitem .imgbox .img3{
	position: absolute;
	right: 5%;
    bottom: -5%;
    width: 25%;    
}
.cate2 .box_wrap .boxitem .imgbox .img4{
	position: absolute;
	width: 60%;
	top: 0%;
    left: 30%;
    transform: translate(-50%, -50%);
}
.cate2 .box_wrap .boxitem .imgbox .img5{
	position: absolute;
	left: 2%;
    bottom: 0%;
    width: 25%;    
}
.cate2 .box_wrap .boxitem .txtbox{
	width: calc(40% - 25px);
	margin-right: auto;
}
.cate2 .box_wrap .boxitem:nth-child(2) {
    flex-direction: row-reverse;
	padding-top: 150px;
}
.cate2 .box_wrap .boxitem:nth-child(2) .txtbox{
	margin-right: 0;
    margin-left: auto;
}
/* ---------- cate3 ---------- */
.cate3 .box_wrap {
	gap: 80px;
	flex-wrap: wrap;
}
.cate3 .box_wrap .boxitem{
	gap: 20px;
	width: calc((100% - 80px) / 2);
}
.cate3 .box_wrap .boxitem .txtbox{
	width: 100%;
}
.cate3 .box_wrap .boxitem .txtbox .topbox{
	width: 100%;
	justify-content: space-between;
}
.cate3 .box_wrap .boxitem .txtbox .topbox .icon{
	width: 24px;
}
/* ---------- cate4 ---------- */
.cate4 .box_wrap {
	gap: 80px;
}
.cate4 .box_wrap .boxitem{
	width: calc((100% - 160px) / 3);
}
.cate4 .box_wrap .boxitem .txtbox .namebox{
	justify-content: space-between;
}
/* ---------- cate5 ---------- */
.cate5 {
    position: relative;
    align-items: center;
    overflow: hidden;
	min-height: 40vw;
	z-index: 0;
}
.cate5 > img {
    z-index: 0;
}
.cate5::after{
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(51, 39, 14, 0.2);
    pointer-events: none;
	z-index: 1;
}
.cate5 .txtbox{
	width: 50%;
	align-items: flex-start;
	z-index: 2;
}
.cate5 .more_j{
	justify-content: flex-start;
}
/* ---------- cate6 ---------- */
.cate6 .boxitem{
	gap: 50px;
	align-items: flex-start;
}
.cate6 .boxitem .imgbox{
	position: relative;
	width: calc(45% - 25px);
	overflow: visible;
	aspect-ratio: 2 / 1;
}
.cate6 .boxitem .txtbox{
	width: calc(45% - 25px);
	margin-right: auto;
}

.cate6 .bottom-box .box_wrap{
	display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content: center;
    align-items: flex-start;
	flex-direction: row;
	gap: 20px;
}

.cate6 .bottom-box .box_wrap .boxitem{
	width: calc(100% / 4 - 60px / 4);
}
.cate6 a p,
.cate6 a h3{
	color: #3F5841;
}
.more_wrap {
	padding-left: 50px;
}


/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {
}
/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px){
	.cate2 .box_wrap .boxitem {
		flex-direction: column;
	}

	.cate2 .box_wrap .boxitem .imgbox {
		aspect-ratio: 2 / 1;
		width: 60%;
		margin-left: auto;
	}
	.cate2 .box_wrap .boxitem .txtbox {
		width: 80%;
		margin-right: auto;
	}
	.cate2 .box_wrap .boxitem:nth-child(2) .txtbox {
		margin-right: auto;
		margin-left: 0;
	}
	.cate5 .txtbox {
		width: 70%;
	}

	.cate6 .boxitem .txtbox {
		width: calc(55% - 25px);
	}
	.cate6 .boxitem .imgbox {
		width: calc(40% - 25px);
	}
}
/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px){
	.cate1 .bottombox {
		gap: 40px;
		flex-direction: column;
		align-items: flex-start;
	}
	.cate1 .bottombox .logo {
		width: 240px;
	}
	.cate3 .box_wrap {
		width: 70%;
		gap: 50px;
	}
	.cate3 .box_wrap .boxitem{
		width: 100%;
	}
	.cate3 .more_j{
		justify-content: center;
		margin-top: 60px;
	}
	.cate4 .box_wrap {
		gap: 50px;
	}
	.cate4 .box_wrap .boxitem{
		width: calc((100% - 100px) / 3);
	}
	.cate5 .txtbox {
		width: 90%;
	}
	.cate6 .boxitem {
		flex-direction: column;
	}
	.cate6 .boxitem .txtbox {
		width: 70%;
		margin: 0 auto;
	}
	.cate6 .boxitem .imgbox {
		width: 60%;
		margin: 0 auto;
	}
	.cate6 .bottom-box .box_wrap .boxitem{
		width: calc(100% / 3 - 60px / 3);
	}
}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px){
	.cate1::after {
		height: 70vw;
	}
	.cate2 .box_wrap .boxitem:nth-child(2) {
		padding-top: 80px;
	}
    .cate2 .box_wrap .boxitem .txtbox {
        width: 100%;
    }
	.cate3 .box_wrap {
		width: 80%;
	}
	.cate4 .box_wrap {
		flex-direction: column;
	}
    .cate4 .box_wrap .boxitem {
        width: 50%;
    }
	.cate5 .txtbox {
		width: 100%;
	}
	.more_j{
		justify-content: center;
	}
	.cate5 .more_j{
		justify-content: center;
	}
    .cate6 .boxitem .txtbox {
        width: 100%;
    }
    .cate6 .boxitem .imgbox {
        width: 80%;
    }
	.more_wrap {
		padding-left: 0px;
	}
	.cate6 .bottom-box .box_wrap .boxitem{
		width: calc(100% / 2 - 60px / 2);
	}
}
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px){
	.fv .imgbox {
		padding-right: 0px;
		height: 60vw;
	}
	.fv .imgbox .fv-txt {
		width: 80vw;
	}
	.cate1 .bottombox .logo {
		width: 200px;
	}
	.cate1::after {
		height: 150vw;
	}
    .cate2 .box_wrap .boxitem .imgbox {
        aspect-ratio: 2 / 1;
        width: 90%;
        margin-left: auto;
    }
	.cate3 .box_wrap {
		width: 100%;
	}
	.cate3 .more_j{
		margin-top: 40px;
	}
    .cate4 .box_wrap .boxitem {
        width: 80%;
    }
    .cate6 .boxitem .imgbox {
        width: 100%;
    }
	.cate6 .boxitem {
		gap: 30px;
	}

}
/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px){
}

