@charset "utf-8";
/* CSS Document */

.c-1 {
	padding: 80px 0;
	display: flex;
	justify-content:space-between;
	gap:25px;
}


.c-1 a {
	background: #cddebc;
	border-radius: 15px;
	display: block;
	min-width: 22%;
	text-align: center;
	padding: 12px 0;
	line-height: 100%;
	font-size: 18px;
	transition: background-color 0.3s ease;
}

.c-1 a:hover {
	background: #b8d398;
}

.c-1 a.on {
	color: #fff;
	background: #439024;
}

@media screen and (max-width: 1280px) {
	.c-1 {
		flex-wrap: wrap;
		padding: 30px 5vw;
		gap:10px;
		justify-content: center;
	}
	.c-1 a {
		padding: 5px !important;
		font-size: 14px !important;
		width: calc(50% - 20px);
	}
}

h2.q-title {
	display: flex;
	justify-content: space-between;
	font-size: 34px;
	align-items: baseline;
	border-bottom: solid 1px #439024;
}

h2.q-title span {
	font-size: 15px;
}

@media screen and (max-width: 1280px) {
	h2.q-title {
		display: inherit;
		font-size: 24px;
		gap:20px;
		align-items: center;
		line-height: 100%;
		padding-bottom: 10px;
	}
	h2.q-title span {
		font-size: 14px;
		line-height: 140%;
		white-space: normal;
		display: block;
		margin-top: 10px;
	}
}

.c-2 {
}


.c-2 .main-image {
	margin: 40px 0 0;
}

.c-2 .flex1 {
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
	gap:25px;
}




.c-2 .flex1 .c1 {
	width: 50%;
}



.c-2 .flex1 .c1 img {
	vertical-align: bottom;
}

.c-2 .flex1 .c1 h3 {
	font-size: 26px;
	border-bottom: solid 1px #439024;
}

.c-2 .flex1 .c1 .photo {
	width: 50%;
}

.c-2 .flex1 .c1 .text {
	font-size: 17px;
	width: 50%;
}



.c-2 .flex2 {
	display: flex;
	justify-content: space-between;
	gap:20px;
	margin-top: 20px;
}


.c-2 .flex3 {
	display: flex;
	justify-content: space-between;
	gap:20px;
	margin-top: 20px;
}

.c-2 .c2 {
	display: flex;
	justify-content: space-between;
	gap:20px;
	margin-top: 40px;
}



.c-2 .c2 .box {
	width: 25%;
}

.c-2 .c2 .box2 {
	width: 50%;
}

.c-2 .c2 .photo {
	margin-top: 10px;
}

.c-2 .c2 h4 {
	font-size: 20px;
	text-align: center;
	line-height: 100%;
	display: flex;
	flex-flow: column;
	justify-content: center;
	min-height: 46px;
	border-bottom: solid 1px #439024;
}

.c-2 .c2 h4 span {
	font-size: 14px;
}

.c-2 .c2 p span {
	font-size: 12px;
}

.c-2 .c3 {
	margin-top: 80px;
}

.c-2 .c3 .title2 {
	background: #dcdddd;
	text-align: center;
	padding: 15px 0;
	display: flex;
	justify-content: center;
	align-items: center;
	gap:20px;
}

.c-2 .c3 .title2 .arw img {
	vertical-align: bottom;
	width: 60%;
}

.c-2 .c3 .title2 .center h4 {
	font-size: 24px;
	line-height: 100%;
}

.c-2 .c3 .title2 .center h4 span {
	font-size: 14px;
	display: block;
	margin-top: 10px;
}



.c-2 .c3 .flex1 {
	gap:40px;
}
.c-2 .c3 .flex1 h5 {
	color: #fff;
	font-size: 20px;
	background: #a6c58a;
	text-align: center;
}

.c-2 .c3 .flex1 .c3-left {
	width: 50%;
}

.c-2 .c3 .flex1 .c3-right {
	width: 50%;
}

.c-2 .c3 .flex1 .c3-right h5 {
	background: #cf9297;
}
	
.c-2 .c3 .flex1 .c3-flex {
	display: flex;
	gap:20px;
	margin-top: 20px;
}

.c-2 .c3 .flex1 .c3-flex div.box {
	width: 50%;
}

.c-2 .c3 .flex1 .c3-flex div.box p {
	margin-top: 10px;
}

.c-2 .c3 .flex1 img {
	vertical-align: bottom;
}


@media screen and (max-width: 1280px) {
	.c-2 {
		padding: 0 5vw;
	}
	.c-2 .flex1 {
		flex-wrap: wrap;
	}
	.c-2 .flex1 .c1 {
		width: auto;
	}
	.c-2 .flex1 .c1 .photo {
		width: 100%;
	}

	.c-2 .flex1 .c1 .text {
		font-size: 14px;
		width: 100%;
	}
	
	.c-2 .flex2 {
		flex-wrap: wrap;
	}
	.c-2 .flex3 {
		flex-wrap: wrap;
	}
	.c-2 .c3 .title2 {
		padding: 10px 5vw;
	}
	.c-2 .c3 .title2 .center h4 {
		font-size: 20px;
		line-height: 140%;
	}
	.c-2 .c3 .title2 .center h4 span {
		font-size: 14px;
		line-height: 140%;
	}
	.c-2 .c3 .flex1 .c3-left {
		width: auto;
	}

	.c-2 .c3 .flex1 .c3-right {
		width: auto;
	}
	.c-2 .c3 .flex1 h5 {
		font-size: 16px;
	}
	.c-2 .c3 .flex1 .c3-flex {
		flex-wrap: wrap;
	}
	.c-2 .c3 .flex1 .c3-flex div.box {
		width: auto;
	}
	.c-2 .flex1 .c1 h3 {
		font-size: 18px;
	}
	.c-2 .c2 {
		flex-wrap: wrap;
	}
	.c-2 .c2 .box {
		width: auto;
	}
	.c-2 .c2 .box2 {
		width: auto;
	}
}



.c-3 {
	margin-top: 90px;
}



.c-3 .flex1 {
	display: flex;
	justify-content: space-between;
	gap:30px;
	margin-top: 40px;
}

.c-3 .flex1 .left {
	width: 50%;
}

.c-3 .flex1 .right {
	width: 50%;
}


.c-3 .flex1 h3 {
	text-align: center;
	font-size: 22px;
	line-height: 100%;
	padding-bottom: 10px;
	border-bottom: solid 1px #439024;
}

.c-3 .flex1 .flex2 {
	display: flex;
	justify-content: space-between;
	gap:20px;
	margin-top: 12px;
}

.c-3 .flex1 .flex2 div {
	width: 50%;
}


.c-3 .flex1 .right h4 {
	font-size: 18px;
	margin-top: 10px;
	line-height: 100%;
}

.c-3 .flex1 .right h4 span {
	color: #439024;
}

.c-3 .flex1 .right p.text2 {
	font-size: 12px;
	line-height: 120%;
	margin-top: 10px;
}

.c-3 .flex1 .box2 {
	display: flex;
	gap:10px;
	width: 25%;
}

.c-3 .flex1 .box2 .b2-left {
	width: 70%;
}

.c-3 .flex1 .box2 .photo {
	width: 30%;
}

.c-3 .flex1 h5 {
	font-size: 18px;
	text-align: center;
	border-bottom: 1px solid #439024;
	margin-bottom: 10px;
	white-space: nowrap;
}

.c-3 .flex1 div {
	position: relative;
}
.c-3 .flex1 p.sankou {
	font-size: 12px;
	text-align: right;
	position: absolute;
	right: 0;
	bottom: 15px;
}

.c-3 .flex1 .box4 {
	width: 25%;
}

.c-3 .flex1 .box3 {
	width: 25%;
}

.c-3 .flex1 .box3 .box3-flex {
	display: flex;
	gap:10px;
}

.c-3 .flex1 .box3 .box3-flex .b3-left {
	width: 55%;
}

.c-3 .flex1 .box3 .box3-flex .photo {
	width: 45%;
}

.c-3 .flex1 .box5 {
	width: 75%;
}

.c-3 .flex1 .box5 .flex4 {
	display: flex;
	gap:40px;
}

.c-3 .flex1 .box5 .flex4 .b5-left .photo {
	margin-top: 20px;
}

.c-3 .flex1 .box6 {
	width: 50%;
}

.c-3 .flex1 .box6 .flex {
	display: flex;
	gap:20px;
	align-items:flex-end;
}

.c-3 .flex1 .box6 .b6-left {
	width: 60%;
}

.c-3 .flex1 .box6 .b6-right {
	width: 40%;
}

.c-3 .flex1 .box6 .b6-right .text {
	line-height: 150%;
	font-size: 14px;
	margin-bottom: 5px;
}


@media screen and (max-width: 1280px) {
	.c-3 {
		padding: 0 5vw;
	}
	.c-3 .flex1 {
		flex-wrap: wrap;
	}
	.c-3 .flex1 .left,.c-3 .flex1 .right {
		width: auto;
	}
	.c-3 .flex1 .flex2 {
		flex-wrap: wrap;
	}
	.c-3 .flex1 .flex2 div {
		width: auto;
	}
	.c-3 .flex1 .box2 {
		width: auto;
	}
	.c-3 .flex1 .box2 .b2-left {
		width: 80%;
	}

	.c-3 .flex1 .box2 .photo {
		width: 20%;
	}
	.c-3 .flex1 .box4 {
		width: auto;
	}

	.c-3 .flex1 .box3 {
		width: auto;
	}
	.c-3 .flex1 .box5 {
		width: auto;
	}

	.c-3 .flex1 .box5 .flex4 {
		flex-wrap: wrap;
	}

	.c-3 .flex1 .box5 .flex4 .b5-left .photo {
		margin-top: 20px;
	}

	.c-3 .flex1 .box6 {
		width: auto;
	}

	.c-3 .flex1 .box6 .flex {
		flex-wrap: wrap;
		gap:0;
	}

	.c-3 .flex1 .box6 .b6-left {
		width: auto;
	}

	.c-3 .flex1 .box6 .b6-right {
		width: auto;
	}

	.c-3 .flex1 .box6 .b6-right .text {
		margin-top: 0 !important;
	}

}

.c-4 {
	margin-top: 90px;
}

.c-4 .flex1 {
	display: flex;
	gap:20px;
	margin-top: 40px;
	justify-content: space-between;
}

.c-4 .flex1 .box1 {
	width: 24%;
}

.c-4 .flex1 .box2 {
	width: 20%;
}

.c-4 .flex1 .box3 {
	width: 36%;
}

.c-4 .flex1 .box4 {
	width: 25%;
}

.c-4 .flex1 h5 {
	font-size: 17px;
	text-align: center;
	border-bottom: 1px solid #439024;
	margin-bottom: 10px;
	white-space: nowrap;
	line-height: 120%;
	padding-bottom: 10px;
}

.c-4 .flex1 .box3 .b3-box1 {
	display: flex;
	gap:10px;
}

.c-4 .flex1 .box3 .b3-box1 .left {
	width: 52%;
}

.c-4 .flex1 .box3 .b3-box1 .right {
	width: 48%;
}

.c-4 .flex1 .box3 .b3-box1 .left p {
	font-size: 14px;
	line-height: 140%;
}



.c-4 .flex1 .box4 p {
	font-size: 14px;
	line-height: 140%;
}

.c-4 .flex1 .box7 {
	width: 75%;
}

.c-4 .flex1 .box7 .left {
	width: 30%;
}

.c-4 .flex1 .box7 .left p {
	line-height: 140%;
	margin-top: 15px;
}

.c-4 .flex1 .box7 .right {
	width: 70%;
}

.c-4 .flex1 .box7 .flex1 {
	margin-top: 0;
}

.c-4 .flex1 .box7 .right .flex2 {
	margin-top: 15px;
	display: flex;
	gap:20px;
}

.c-4 .flex1 .box7 .right p.title1 {
	font-size: 18px;
	margin-bottom: 0;
	line-height: 100%;
	padding-bottom: 0;
}

@media screen and (max-width: 1280px) {
	.c-4 {
		padding: 0 5vw;
	}

	.c-4 .flex1 {
		flex-wrap: wrap;
	}

	.c-4 .flex1 .box1 {
		width: auto;
	}

	.c-4 .flex1 .box2 {
		width: auto;
	}

	.c-4 .flex1 .box3 {
		width: auto;
		margin-bottom: 0;
	}

	.c-4 .flex1 .box4 {
		width: auto;
	}

	.c-4 .flex1 h5 {
	}

	.c-4 .flex1 .box3 .b3-box1 {
		display: flex;
		gap:10px;
		margin-bottom: 20px;
	}

	.c-4 .flex1 .box3 .b3-box1 .left {
		width: 60%;
	}

	.c-4 .flex1 .box3 .b3-box1 .right {
		width: 40%;
	}

	.c-4 .flex1 .box3 .b3-box1 .left p {
		font-size: 14px;
		line-height: 140%;
	}



	.c-4 .flex1 .box4 p {
		font-size: 14px;
		line-height: 140%;
	}

	.c-4 .flex1 .box7 {
		width: auto;
	}

	.c-4 .flex1 .box7 .left {
		width: auto;
	}

	.c-4 .flex1 .box7 .left p {
		line-height: 140%;
		margin-top: 15px;
	}

	.c-4 .flex1 .box7 .right {
		width: auto;
	}

	.c-4 .flex1 .box7 .flex1 {
		margin-top: 0;
	}

	.c-4 .flex1 .box7 .right .flex2 {
		flex-wrap: wrap;
	}

	.c-4 .flex1 .box7 .right p.title1 {

	}
}

p.mini {
	margin-top: 20px;
	font-size: 12px;
}

.c-5 {
	margin-top: 90px;
}

.c-5 .flex1 {
	display: flex;
	gap:30px;
	margin-top: 40px;
}

.c-5 .flex1 .box1 {
	width: 23%;
}

.c-5 h5 {
	font-size: 18px;
	text-align: center;
	border-bottom: 1px solid #439024;
	margin-bottom: 10px;
	white-space: nowrap;
	line-height: 120%;
	padding-bottom: 10px;
}

.c-5 .flex1 .box1 .flex2 {
	display: flex;
	gap:10px;
}

.c-5 .flex1 .box1 .flex2 .text {
	width: 60%;
}

.c-5 .flex1 .box1 .flex2 .photo {
	width: 40%;
}

#p1 {
	margin-top: 10px;
}

.c-5 .flex1 .box2 {
	width: 26%;
}


.c-5 .flex1 .box2 .flex2 {
	display: flex;
	justify-content: space-between;
	gap:10px;
}

.c-5 .flex1 .box2 .flex2:first-of-type {
	margin-bottom: 20px;
}

.c-5 .flex1 .box2 .flex2 div {
	width: 50%;
}

.c-5 .flex1 .box2 .flex2 div.text2 {
	width: auto;
	position: relative;
	overflow: hidden; /* float解除のために追加 */
}

.c-5 .flex1 .box2 .flex2 div.text2 img {
	width: 60%;
	float: right;
    margin-left: 1em;
	margin-bottom: 0;
    shape-outside: inset(0); /* 回り込みの自然さを改善（任意） */
}

.c-5 .flex1 .box3 {
	width: 30%;
}

.c-5 .flex1 .box3 .flex2 {
	display: flex;
	gap:10px;
}

.c-5 .flex1 .box3 .flex2 .text {
	width: 60%;
}

.c-5 .flex1 .box3 .flex2 .photo {
	width: 40%;
}

.c-5 .flex1 .box4 {
	width: 20%;
}

@media screen and (max-width: 1280px) {
	.c-5 {
		padding: 0 5vw;
	}

	.c-5 .flex1 {
		flex-wrap: wrap;
		margin-top: 0;
	}

	.c-5 .flex1 .box1 {
		width: auto;
	}

	.c-5 h5 {
		margin-top: 20px
	}

	.c-5 .flex1 .box1 .flex2 {
	
	}

	.c-5 .flex1 .box1 .flex2 .text {
		width: 60%;
	}

	.c-5 .flex1 .box1 .flex2 .photo {
		width: 40%;
	}

	#p1 {
		margin-top: 10px;
	}

	.c-5 .flex1 .box2 {
		width: auto;
	}


	.c-5 .flex1 .box2 .flex2 {
		gap:0;
	}

	.c-5 .flex1 .box2 .flex2:first-of-type {
		margin-bottom: 0px;
	}

	.c-5 .flex1 .box2 .flex2 div {
		width: 50%;
	}

	.c-5 .flex1 .box2 .flex2 div.text2 {
		width: auto;
		position: relative;
		overflow: hidden; /* float解除のために追加 */
	}

	.c-5 .flex1 .box2 .flex2 div.text2 img {
		width: 60%;
		float: right;
		margin-left: 1em;
		margin-bottom: 0;
		shape-outside: inset(0); /* 回り込みの自然さを改善（任意） */
	}

	.c-5 .flex1 .box3 {
		width: auto;
	}

	.c-5 .flex1 .box3 .flex2 {
		
	}

	.c-5 .flex1 .box3 .flex2 .text {
		width: 60%;
	}

	.c-5 .flex1 .box3 .flex2 .photo {
		width: 40%;
	}

	.c-5 .flex1 .box4 {
		width: auto;
	}
}