@charset "utf-8";

/*===============================================
●画面の横幅が769px以上
===============================================*/
@media screen and (min-width : 769px ){
#pc------------------------------------------- {
}
#catch {
	background-image: url("../images/pc/index/m_bg.png");
	height: 100vh;
	border-bottom-right-radius: 80px;
	background-size: cover;
	background-position: center center;
	position: relative;
}
#catch div {
	width: 596px;
	height: 150px;
	background-color: #EEEFEF;
	position: absolute;
	left: 0px;
	bottom: 0px;
	border-top-right-radius: 69px;
}
#catch div p {
	font-size: 24px;
	font-weight: bold;
	padding-top: 20px;
}
#catch div h2 {
	font-size: 60px;
	font-weight: bold;
	padding-top: 40px;
}





#about {
	background-image: url("../images/pc/index/about_bg.png");
	background-size: cover;
	background-position: center center;
	height: 768px;
	width: 95%;
	min-width: 950px;
	margin-left: 5%;
	mix-blend-mode: multiply;
	border-bottom-left-radius: 80px;
}
#about .inner {
	text-align: left;
	padding-left: 100px;
}
#about .inner h2 {
	padding-top: 110px;
	margin-bottom: 60px;
}
#about .inner h3 {
	font-size: 48px;
	font-weight: bold;
}
#about .inner h3 span {
	font-size: 32px;
}
#about .inner h3+p {
	font-size: 24px;
	font-weight: bold;
	line-height: 2em;
	margin-top: 60px;
	margin-bottom: 70px;
}
#about .inner h3+p span {
	color: #D26D1C;
}





#parap {
	background-image: url("../images/pc/index/pala_bg.png");
	height: 650px;
	background-size: cover;
	background-position: center center;
	background-attachment: fixed;
}
#parap ul {
	width: 1110px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}
#parap ul li img {
	width: 100%;
	height: auto;
}
#parap ul li:nth-of-type(1) {
	width: 360px;
	position: absolute;
	left: 0px;
	top: 60px;
}
#parap ul li:nth-of-type(2) {
	width: 280px;
	position: absolute;
	left: 450px;
	top: 286px;
}
#parap ul li:nth-of-type(3) {
	width: 320px; 
	position: absolute;
	right: 0px;
	top: 35px;
}





#business h2 {
	margin-left: 5%;
}
#business .inner {
	width: 95%;
	min-width: 970px;
	background-image: url("../images/pc/index/business_bg.png");
	height: 639px;
	background-size: cover;
	background-position: center center;
	border-bottom-right-radius: 80px;
	margin-top: 30px;
}
#business .inner .flex {
	max-width: 1366px;
	min-width: 950px;
	width: 96%;
	display: flex;
	justify-content: space-between;
	margin-left: auto;
	margin-right: auto;
}
#business .inner .flex div {
	max-width: 330px;
	width: 24%;
	background-color: #528F42;
	padding-bottom: 15px;
}
#business .inner .flex div figure img {
	width: 100%;
	height: 300px;
	object-fit: cover;
}
#business .inner .flex div h3 {
	color: #fff;
	font-size: 21px;
	font-weight: bold;
	line-height: 1.4em;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 106px;
}
#business .inner .flex div p {
	margin-left: 14px;
}
#business .inner .flex div p+p {
	margin-top: 5px;
}
#business .inner .flex div .btn a {
	font-size: 16px;
	width: 95%;
}
#business .inner .flex div:nth-of-type(4) h3 {
	margin-bottom: 40px;
}





#company h2 {
	margin-left: 5%;
	margin-top: 165px;
}
#company .inner {
	width: 95%;
	min-width: 900px;
	margin-left: 5%;
	background-image: url("../images/pc/index/company_bg.png");
	height: 350px;
	background-size: cover;
	background-position: center center;
	border-bottom-left-radius: 80px;
	margin-top: 20px;
}
#company .inner .flex {
	width: 93%;
	margin-left: 7%;
	display: flex;
	justify-content: space-between;
	height: 140px;
	align-items: center;
}
#company .inner .flex:first-child {
	padding-top: 30px;
}
#company .inner .flex+.flex {
	border-top: 2px solid #fff;
}
#company .inner .flex h3 {
	color: #fff;
	font-size: 24px;
	font-weight: bold;
}
#company .inner .flex .btn {
	margin-right: 7%;
}





#recruit h2 {
	margin-left: 5%;
	margin-top: 140px;
}
#recruit .inner {
	background-image: url("../images/pc/index/recruit_bg.png");
	height: 750px;
	background-size: cover;
	background-position: center  right;
	border-bottom-right-radius: 80px;
	width: 95%;
	margin-top: 15px;
	position: relative;
}
#recruit figure.pc {
	position: absolute;
	top: 0px;
	right: 0px;
}
#recruit figure.pc img {
	width: 100%;
	height: auto;
}
#recruit .inner div {
	position: absolute;
	right: 0px;
	top: 0px;
	text-align: right;
}
#recruit .inner .text {
	color: #fff;
	text-align: right;
	font-size: 24px;
	font-weight: 500;
	padding-right: 50px;
	padding-top: 50px;
	line-height: 1.4em;
}
#recruit .inner .btn a {
	margin-top: 50px;
	margin-left: auto;
	margin-right: 50px;
}





#news {
	display: flex;
	justify-content: space-between;
	width: 90%;
	min-width: 950px;
	margin-left: auto;
	margin-right: auto;
	align-items: center;
	height: 420px;
}
#news .btn a {
	width: 350px;
}
#news ul {
	margin-top: 30px;
}
#news ul li {
	font-size: 24px;
	font-weight: 500;
}
#news ul li time {
	width: 255px;
	display: inline-block;
	text-align: left;
}
#news ul li a {
	color: #000;
	text-decoration: none;
	transition: 0.3s;
}
#news ul li a:hover {
	color: #528F42;
	transition: 0.3s;
}
}



/*===============================================
●画面の横幅が768pxまで
===============================================*/
@media screen and (max-width:768px){
	
/*===============================================
●sp-tablet
===============================================*/
#sptablet------------------------------------------- {
}
#catch {
	background-image: url("../images/sp/index/m_bg.png");
	height: 90vh;
	background-size: cover;
	background-position: center center;
	position: relative;
}
#catch div {
	width: 100%;
	height: 32vw;
	background-color: #fff;
	position: absolute;
	left: 0px;
	bottom: -15vw;
	border-top-right-radius: 18vw;
}
#catch div p {
	font-size: 3.84vw;
	font-weight: bold;
	padding-top: 3vw;
	padding-right: 2vw;
}
#catch div h2 {
	font-size: 9.6vw;
	font-weight: bold;
	padding-top: 3vw;
	text-align: center;
	padding-right: 2vw;
}
#catch div h2 span {
	color: #528F42;
	display: block;
}





#about {
	width: 100%;
}
#about .inner {
	text-align: left;
	width: 84%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 11;
	border-top: 1px solid #4E903C;
	margin-top: 15vw;
}
#about .inner h2 {
	padding-top: 10vw;
	margin-bottom: 8vw;
	text-align: center;
}
#about .inner h3 {
	font-size: 6.4vw;
	font-weight: bold;
	text-align: center;
	line-height: 1.5em;
}
#about .inner h3 span {
	display: block;
}
#about .inner h3+p {
	font-size: 5.2vw;
	font-weight: bold;
	line-height: 2em;
	margin-top: 8vw;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 5vw;
}
#about .inner h3+p span {
	color: #D26D1C;
}
#about .inner+figure {
	position: relative;
	margin-top: -90vw;
}





#parap {
	display: none;
}







#business h2 {
	margin-left: 5%;
	margin-top: 15vw;
}
#business .inner {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 5vw;
}
#business .inner .flex {

}
#business .inner .flex div {
	background-color: #528F42;
	padding-bottom: 15px;
	margin-bottom: 5vw;
}
#business .inner .flex div figure img {
	width: 100%;
	height: 53.3333333333vw;
	object-fit: cover;
	border-bottom-right-radius: 12vw;
}
#business .inner .flex div h3 {
	color: #fff;
	font-size: 5.6vw;
	font-weight: bold;
	line-height: 1.4em;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 25vw;
}
#business .inner .flex div p {
}
#business .inner .flex div p+p {
	margin-top: 2vw;
}
#business .inner .flex div .btn a {
	width: 90%;
	height: 15vw;
	line-height: 15vw;
}





#company {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
#company h2 {
	margin-left: 5%;
	margin-top: 20vw;
}
#company .inner {
	margin-left: auto;
	margin-right: auto;
}
#company .inner .flex {
}
#company .inner .flex:first-child {
	padding-top: 30px;
}
#company .inner .flex+.flex {
	margin-top: 15vw;
}
#company .inner .flex h3 {
	color: #000;
	font-size: 4.26666666667vw;
	margin-bottom: 3vw;
	font-weight: bold;
}
#company .inner .flex .btn {

}





#recruit h2 {
	margin-left: 5%;
	margin-top: 20vw;
}
#recruit .inner {
	margin-top: 5vw;
}
#recruit .inner .text {
	color: #000;
	text-align: left;
	margin-left: 5vw;
	font-size: 3.73333333333vw;
	font-weight: 500;
	padding-top: 2vw;
	line-height: 1.7em;
}
#recruit .inner .btn {
	margin-top: 5vw;
}





#news {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	align-items: center;
	margin-top: 20vw;
	margin-bottom: 20vw;
}
#news .btn a {
}
#news ul {
	margin-top: 5vw;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 4vw;
	margin-bottom: 8vw;
}
#news ul li {
	font-size: 4vw;
	font-weight: 500;
	text-align: left;
}
#news ul li time {
	display: block;
	text-align: left;
}
#news ul li a {
	color: #000;
	text-decoration: none;
	transition: 0.3s;
}
#news ul li a:hover {
	color: #528F42;
	transition: 0.3s;
}
}



/*===============================================
●画面の横幅が400pxまで
===============================================*/
@media screen and (max-width:400px){
/*===============================================
●sp400
===============================================*/
#sp400------------------------------------------- {
}
}



/*===============================================
●画面の横幅が320pxまで
===============================================*/
@media screen and (max-width:320px){
/*===============================================
●sp320
===============================================*/
#sp320------------------------------------------- {
}
}



/*===============================================
●画面の横幅が481pxから768pxまで
===============================================*/
@media screen and (min-width:481px) and (max-width:768px) {
/*===============================================
●tablet
===============================================*/
#tab------------------------------------------- {
}
}