@charset "utf=8";


/*========= about01 =========*/

.about01 {
	position: relative;
	padding: 0 0 40rem 0;
}

.about01-img-box {
	max-width: 110.4rem;
    width: 80%;
    margin: 0 0 0 auto;
}

.about01-frame {
    max-width: 152rem;
    width: 100%;
	position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    padding: 13rem 0 0;
    z-index: 10;
}

.about01 .about01-text-contents {
    max-width: 90rem;
    width: 60%;
}

.about01-text-block {
	margin: 4rem 0 0;
}

.about01-text-box:nth-child(n+2) {
    margin: 3rem 0 0;
}

/*========= about02 =========*/

.about02 {
        padding: 0 0 6rem 0;
}

.about02-inner {
	display:flex;
	align-items: center;
	flex-direction: row-reverse;
	justify-content: space-between;
	max-width: 152rem;
	width: 100%;
	margin: auto;
}

.about02-frame {
    z-index: 10;
}

.about02-border-gray {
	margin: 3rem 0 0;
	height: 0.1rem;
	width: 100%;
	background: #857F7D;
}

.about02-img-box01 {
	max-width: 46rem;
	width: 100%;
}

.about02-img-box02 {
	max-width: 68rem;
	width: 100%;
	margin-top: 8rem
}

.about02-img-area {
	width: 47%;
	max-width: 68rem;
}

.about02-frame {
	width: 50%;	
}

/*========= about03 =========*/

.about03 {
    padding: 0 0 10rem 0;
}

.about03-inner {
    max-width: 122rem;
	width: 100%;
	margin: auto;
	display: flex;
	align-items: stretch;
	justify-content: space-between;
}

/*=== 20250630追加 ===*/

.about03-frame {
	max-width: 59rem;
	width: 48.36%;
	height: 40rem;
	border: solid 0.1rem #FAFBF8;
    /* overflow-y: scroll; */
}

/* .about03-frame::-webkit-scrollbar {
    width: 1rem;
} */

.about03-frame::-webkit-scrollbar-track {
    /* box-shadow: inset 0 0 1rem rgba(0,0,0,.25);*/
    /* border-left: 1px solid #ccc; */
    /* background-color: var(--black); */
}

/* .about03-frame::-webkit-scrollbar-thumb {
    background-color: var(--gray04);
    border-radius: 100vmax;
} */

.about03-sub-title {
    font-size: 2rem;
    font-weight: 700;
    margin-top: 2rem;
}

/*=== 20250908追加 スクロールバー ===*/

.about03-frame .simplebar-track.simplebar-vertical {
	width: 1.2rem; 
}

.about03-frame .simplebar-scrollbar:before{
	background: #FAFBF8;
	border-radius: 999px;
	opacity: 1;
}

/*==================*/

.about03-block {
	padding: 5rem 1.5rem 8rem;
}

.about03-title {
	font-weight: 500;
	font-size: 3rem;
	letter-spacing: 0.05em;
	text-align: center;
}

.about03-card {
	margin: 3.8rem auto 0;
	max-width: 49rem;
	width: 100%;
}

.about03-text-block {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-top: 1.5rem;
}

.about03-text-block-r {
	flex-grow: 1;
    flex-basis: 0.1rem;
	font-size: 1.6rem;
}

.about03-text-block-l {
	max-width: 10rem;
	width: 100%;
	font-size: 1.4rem;
	letter-spacing: 0.03rem;
}

/*========= about04 =========*/
.about04 {
	padding: 10rem 0 0 0;
}

.about04-inner {
	max-width: 152rem;
	width: 100%;
	margin: auto;
}

.about04-top-text-box {
	text-align: center;
	margin:  0 auto;
	width: 100%;
}

.about04-flex {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin:21.4rem 0 0 5rem;
}
	
.about04-flex-l {
	max-width: 67rem;
	width: 45%;
}
	
.about04-flex-r {
	max-width: 82rem;
	width: 53.98%;
}

.about04-flex-box-b {
	margin-top: 8.3rem;
}

.about05 {
	padding: 17.9rem 0 0 0;
}

.about05-inner {
	max-width: 122rem;
	width: 100%;
	margin: auto;
}

.about05-text-box {
	text-align: center;
	margin:  0 auto;
	width: 100%;
}

.about05-container {
	padding: 8.5rem 0 0 0;
}

.about05-row {
	padding: 3rem 5rem 2rem;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	border-bottom: solid 1px #C8C8C8;
}

.about05-row-l {
	color: #64852C;
	font-size: 2.6rem;
	letter-spacing: 0.05em;
	max-width: 30.5rem;
	width: 100%;
	position: relative;
}

.about05-link:hover {
    opacity: 0.65;
}

.about05-row-l-p {
	width: fit-content;
	color: #64852C;
	font-size: 2.6rem;
	letter-spacing: 0.05em;
	position: relative;
}

.about05-row-l-p::before {
	position: absolute;
	content:"";
	width: 100%;
	height: 1px;
	background: #64852C;
	bottom: -0.5rem;
	margin: auto;
	left: 0;
	right: 0;
	top: auto;
}

.about05-row-r {
	flex-basis: 1px;
    flex-grow: 1;
	font-size: 1.8rem;
}

.top06-ec-link {
    max-width: 63rem;
    width: 100%;
    height: 10rem;
    font-size: 3.5rem;
    margin: 1.5rem auto 0;
}

.top06-text {
    font-size: 2.5rem;
    font-weight: 600;
    text-align: center;
}

.about06 {
	padding-top: 10rem;
	padding-bottom: 13rem;
}

.top06-text br {
    display: none;
}


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1920px) {

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1550px) {

	/*========= about01 =========*/

	/* .about01 {
		padding: 0 0 7rem 0;
	} */


}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1024px) {

	/*========= about01 =========*/

    .about01 {
        padding: 0 0 17rem 0;
    }

	.about01-frame {
        position: static;
        padding: 0;
    }

	.about01 .about01-text-contents {
		max-width: 120rem;
		width: 100%;
        margin: -10rem 0 0;
	}
	
	.about03-text-block {
		align-items: flex-start;
	}
	
	.about04-flex-l {
		width: 57%;
	}
	
	.about04-flex-r {
		width: 42%;
	}
	
	.about04-flex {
    	margin:10rem 0 0 3.5rem;
	}

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 768px) {


	/*========= about01 =========*/

	.about01 {
        padding: 0 0 8rem 0;
    }

	.about01-img-box {
		width: 95%;
	}

	.about01 .about01-text-contents {
        margin: 0;
	}
	
	 .about02 {
        padding: 0 0 8rem 0;
    }
	
	.about02-inner {
		flex-direction: column;
	}
	
	
	.about02-img-area {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		max-width: 68rem;
	}

	.about02-frame {
		width: 100%;
		margin: 4rem 0 0;
	}
	
	.about02-img-box01 {
		width: 48%;
		margin: 0;
	}

	
	.about02-img-box02 {
		margin-top: 0rem;
		width: 48%;
	}
	
	.about03 {
    	padding: 0 0 5rem 0;
    }
	
	.about03-inner {
		flex-direction: column;
    }
	
	.about03-frame {
		width: 100%;
    	margin: 0 auto;
    }
	
    .about03-frame:nth-child(n+2) {
        margin: 3rem auto 0;
    }
	
	.about03-title {
		font-size: 2rem;
	}
	
	.about04 {
    	padding: 5rem 0 0 0;
    }
	
	.about04-top-text-box {
		text-align: left;
   	}
	
	.about04-flex {
		flex-direction: column;
		margin:21.4rem 0 0 5rem;
  	 }
	
   .about04-flex-l {
		width: 100%;
   	}
	
   .about04-flex-r {
		width: 100%;
   	}
	
	.about04-flex {
    	margin:5rem 0 0 0;
    }
	
	.about04-flex .jp-title02 {
		margin-left: 3.5rem;
	}
	
	.about04-flex-box-b {
		margin-top: 4rem;
   	}
	
	.about04-flex-r {
		margin-top: 4rem;
	}
	
	.about05 {
    padding: 10rem 0 0 0;
    }
	
	.about05-text-box .jp-title02 {
     margin-left: 3.5rem;
    }
	
	.about05-text-box {
		text-align: left;
	}
	
	.about05-row {
		padding: 3rem 0 2rem;
		display: flex;
		flex-direction: column;
   	}
	
	.about05-container {
    	padding: 4rem 0 0 0;
    }
	
	.about05-row-l-p {
		color: #64852C;
		font-size: 2.1rem;
    }
	
	.about05-row-r {
		margin: 2rem 0 0;
	}
	
	.top06-text br {
    	display: block;
	}

	.about06 {
		padding-top: 10rem;
		padding-bottom: 10rem;
	}
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 576px) {
	.about01-text-box p br {
	display: none;	
	}

	.about04-flex .jp-title02 {
	margin-left: 1.5rem;
	}
	
	.about05-text-box .jp-title02 {
     margin-left: 1.5rem;
    }
	
	.menu-ec-link {
    font-size: 2.6rem;
    }
	
	 .menu-online-text {
     font-size: 2.1rem;
    }
	
	.about05-row-r br {
		display: none;
	}

	.about02-img-area {
		flex-direction: column-reverse;
	}

	.about02-frame {
		width: 100%;	
	}
	
	.about02-img-box01 {
		width: 100%;
		margin: 3rem 0 0;
	}

	
	.about02-img-box02 {
		margin-top: 0rem;
		width: 100%;
	}
	

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */