@charset "UTF-8";
/* 下層ページ --------------------------------------------------------------- */
#wrapper {
	background-color: #f5f1de;
	}


/* タイトル --------------------------------------------------------------- */
#head {
	width: 1100px;
	margin: 0 auto;
	padding: 50px 90px 30px 90px;
	background-color: #fffff9;
	}

#head h1,
#head h1 img {
	height: 63px;
	}

@media(max-width: 990px){
	#head {
		width: 90%;
		padding: 30px 5% 0 5%;
		}

	#head h1,
	#head h1 img {
		height: 40px;
		}
	}

@media(min-width: 1px) and (max-width: 400px){
	#head h1,
	#head h1 img {
		width: 100%;
		height: auto;
		}
	}



/* コンテンツ --------------------------------------------------------------- */
#content {
	width: 1280px;
	margin: 0 auto;
	}

@media(max-width: 990px){
	#content {
		width: 100%;
		}
	}



/* タイトル --------------------------------------------------------------- */
#title {
	width: 100%;
	margin: 0 auto 70px auto;
	box-sizing: border-box;
	border-radius: 0 0 50px 50px;
	background-color: #fffff9;
	}

	#title #titleinner {
		width: 1000px;
		margin: 0 auto;
		padding-bottom: 70px;
		position: relative;
		}

		#title #titleinner h2 {
			font-size: 22px;
			font-weight: bold;
			line-height: 1.5;
			margin-bottom: 20px;
			padding: 40px 0;
			}

			#title #titleinner h2 span {
				width: auto;
				height: 50px;
				margin-bottom: 20px;
				}

				#title #titleinner h2 span img {
					width: auto;
					height: 100%;
					}

		#title #titleinner .map {
			width: auto;
			height: 200px;
			position: absolute;
			right: 10px;
			top: 0;
			}

			#title #titleinner .map img {
				width: auto;
				height: 100%;
				}

		#title #titleinner .key {
			width: 900px;
			margin: 0 auto;
			}

			#title #titleinner .key p {
				margin-bottom: 20px;
				}

			#title #titleinner .key p,
			#title #titleinner .key p img {
				width: 100%;
				}

			#title #titleinner .key h3 {
				font-size: 28px;
				font-weight: bold;
				line-height: 1.5;
				margin-bottom: 30px;
				}

				#title #titleinner .key h3 span {
					font-size: 14px;
					}

		#title #titleinner .text {
			width: 900px;
			margin: 0 auto;
			}

			#title #titleinner .text p {
				text-indent: 1em;
				line-height: 2.2;
				}

			#title #titleinner .text p img {
				margin-left: -1em;
				}

			#title #titleinner .text p {
				margin-bottom: 30px;
				}

			#title #titleinner .text p:last-of-type {
				margin-bottom: 0;
				}

@media(max-width: 990px){
	#title {
		margin: 0 auto 30px auto;
		padding: 0 5%;
		}

		#title #titleinner {
			width: 100%;
			padding-bottom: 30px;
			}

			#title #titleinner h2 {
				font-size: 18px;
				margin-bottom: 0;
				padding: 40px 0;
				}

				#title #titleinner h2 span {
					height: 40px;
					margin-bottom: 10px;
					}

			#title #titleinner .map {
				height: 130px;
				right: 0;
				top: 20px;
				}

			#title #titleinner .key {
				width: 100%;
				}

				#title #titleinner .key h3 {
					font-size: 18px;
					margin-bottom: 10px;
					}

			#title #titleinner .text {
				width: 100%;
				}

				#title #titleinner .text p {
					line-height: 2;
					}

				#title #titleinner .text p {
					margin-bottom: 0;
					}
	}

@media(min-width: 1px) and (max-width: 660px){
	}



/* story --------------------------------------------------------------- */
#story {
	width: 1280px;
	margin: 0 auto 70px auto;
	}

	#story h2 {
		width: 1100px;
		margin: 0 auto 20px auto;
		}

		#story h2 img {
			width: auto;
			height: 60px;
			}

	#story .story {
		margin: 0 auto 20px 0;
		overflow: hidden;
		}

		#story .story .storyleft,
		#story .story .storyright {
			box-sizing: border-box;
			position: relative;
			}

		#story .story .storyleft {
			float: right;
			width: 600px;
			height: 300px;
			overflow: hidden;
			border-radius: 50px;
			position: relative;
			}

		#story .story .storyright {
			float: left;
			width: 600px;
			height: 300px;
			margin: 0 auto;
			padding: 70px 0 0 190px;
			}

		#story .story:nth-of-type(2n) .storyleft {
			float: left;
			}

		#story .story:nth-of-type(2n) .storyright {
			float: right;
			padding: 70px 0 0 0;
			}

			#story .story .storyleft p:first-of-type {
				overflow: hidden;
				}

				#story .story .storyleft p:first-of-type img {
					width: 100%;
					height: 100%;
					object-fit: cover;
					aspect-ratio: inherit;
					object-position: 50% 50%;
					}

			#story .story .storyleft p:last-of-type {
				width: auto;
				height: 170px;
				position: absolute;
				left: 50px;
				top: 50%;
				transform: translate(0,-50%);
				}

				#story .story .storyleft p:last-of-type img {
					width: auto;
					height: 100%;
					}

			#story .story .storyright .storyrightinner {
				width: 350px;
				position: relative;
				}

				#story .story .storyright .storyrightinner h3 {
					font-size: 24px;
					font-weight: bold;
					line-height: 1.5;
					margin-bottom: 10px;
					}

				#story .story .storyright .storyrightinner p {
					font-size: 16px;
					margin-bottom: 10px;
					}

				#story .story .storyright .storyrightinner span.readmore {
					width: 120px;
					margin: 0 0 0 auto;
					}

					#story .story .storyright .storyrightinner span.readmore img {
						width: 100%;
						}

@media(max-width: 990px){
	#story {
		width: 90%;
		margin: 0 auto;
		}

		#story h2 {
			width: 100%;
			margin: 0 auto 20px auto;
			}

			#story h2 img {
				height: 55px;
				}

		#story .story {
			margin: 0 auto 30px 0;
			overflow: hidden;
			}

			#story .story .storyleft {
				float: none;
				width: 100%;
				height: 200px;
				border-radius: 30px;
				margin-bottom: 10px;
				}

			#story .story .storyright {
				float: none;
				width: 100%;
				height: auto;
				padding: 0;
				}

			#story .story:nth-of-type(2n) .storyleft {
				float: none;
				}

			#story .story:nth-of-type(2n) .storyright {
				float: none;
				padding: 0;
				}

				#story .story .storyleft p:last-of-type {
					height: 150px;
					left: 20px;
					}

				#story .story .storyright .storyrightinner {
					width: 100%;
					}

					#story .story .storyright .storyrightinner h3 {
						font-size: 18px;
						margin-bottom: 0;
						}

					#story .story .storyright .storyrightinner p {
						font-size: 15px;
						margin-bottom: 0;
						}
	}

@media(min-width: 1px) and (max-width: 660px){
	}



/* People --------------------------------------------------------------- */
#people {
	width: 1280px;
	margin: 0 auto;
	padding: 50px 80px;
	box-sizing: border-box;
	border-radius: 50px;
	background-color: #fffff9;
	}

	#people h2 {
		width: 1120px;
		margin: 0 auto 50px auto;
		}

		#people h2 img {
			width: auto;
			height: 60px;
			}

	#people ul {
		width: 100%;
		margin: 0 auto;
		overflow: hidden;
		padding-bottom: 50px;
		}

		#people .prev {
			left: 40px;
			}

		#people .next {
			right: 40px;
			}

		#people .prev,
		#people .next {
			height: 30px;
			cursor: pointer;
			position: absolute;
			bottom: 0;
			}

			#people .prev img,
			#people .next img {
				width: auto;
				height: 100%;
				}

		#people ul li {
			float: left;
			width: 280px;
			padding: 0;
			box-sizing: border-box;
			}

			#people ul li a {
				padding: 25px;
				}

			#people ul li a:hover {
				border-radius: 50px;
				background-color: #f5f1de;
				}

				#people ul li a p {
					width: 230px;
					height: 230px;
					aspect-ratio: 1 / 1;
					border-radius: 50%;
					overflow: hidden;
					margin-bottom: 10px;
					}

					#people ul li a p img {
						width: 100%;
						height: 100%;
						object-fit: cover;
						object-position: 50% 50%;
						}

				#people ul li a h3 {
					font-size: 20px;
					font-weight: bold;
					text-align: center;
					line-height: 1.5;
					}
					
					#people ul li a h3 span {
						font-size: 16px;
						line-height: 1.3;
						font-weight: bold;
						}

				#people ul li a span {
					text-align: center;
					}

				#people ul li a span.size14 {
					font-size: 14px;
					font-weight: bold;
					}

				#people ul li a span.size13 {
					font-size: 13px;
					}

@media(max-width: 990px){
	.content.people {
		border-radius: 30px;
		background-color: #fffef4;
		}
	
	#people {
		width: 100%;
		padding: 30px 0;
		}

		#people h2 {
			width: 90%;
			margin: 0 auto 30px auto;
			}

			#people h2 img {
				height: 55px;
				}

		#people ul {	
			width: 90%;
			padding-bottom: 0;
			}
	
			#people ul li {
				width: 50%;
				margin-bottom: 20px;
				padding: 0 5%;
				}
	
				#people ul li a {
					padding: 0;
					}

				#people ul li a:hover {
					border-radius: 0;
					background-color: transparent;
					}

					#people ul li a p {
						width: 100%;
						height: auto;
						}
	
					#people ul li a h3 {
						font-size: 18px;
						}
	
						#people ul li a h3 span.size14,
						#people ul li a h3 span.size13 {
							font-size: 13px;
							line-height: 1.5;
							}

							#people ul li a h3 span.size14 {
								margin-top: 5px;
								}
	}

@media(min-width: 1px) and (max-width: 660px){
	}



/* TOPにもどる --------------------------------------------------------------- */
#pageback {
	margin: 30px auto;
	text-align: center;
	}

	#pageback a {
		display: inline-block;
		line-height: 1;
		}

		#pageback a img {
			width: auto;
			height: 30px;
			}

@media(max-width: 990px){
	#pageback {
		margin: 20px auto;
		}

			#pageback a img {
				height: 25px;
				}
	}

@media(min-width: 1px) and (max-width: 660px){
	}
