@charset "utf-8";
/*---------------------- mainVisual ------------------------*/
#mainVisual h1 {
	font-family: 'Oswald', sans-serif;
	text-align: center;
	background: url(../images/main_visual-pc.jpg) no-repeat top center;
	background-size: cover;
	font-size: 3em;
	color: #FFFFFF;
	padding: 150px 0px;
}
#mainVisual div img {
	width: 100%;
}
@media screen and (min-width: 768px) {
	#mainVisual div {
		padding: 80px;
	}
}
@media screen and (max-width: 767px) {
	#mainVisual h1 {
		background: url(../images/main_visual-sp.jpg) no-repeat top center;
		font-size: 2em;
		padding: 56px 0px;
	}
	#mainVisual div {
		padding: 20px;
	}
}
/*---------------------- Profile ------------------------*/
#profile {
	background-color: rgba(100, 200, 230, 0.2);
	text-align: center;
	padding: 65px 0 0;
}
#profile h2 {
	font-family: 'Oswald', sans-serif;
	font-size: 3em;
	color: #E3231D;
}
#profile h3 {
	display: inline-block;
	margin: 60px auto 40px;
	font-size: 35px;
	font-weight: 700;
	border-bottom: 5px solid #E3231D;
	padding: 0 0 15px;
}
#profile .profileMain {
	display: block;
	width: 550px;
}
#profile dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	font-size: 0.9em;
	background-color: rgba(255, 255, 255, 0.9);
	border-top: 1px solid #CCCCCC;
}
#profile dt {
	width: 10em;
	padding: 10px 0;
	border-bottom: 1px solid #CCCCCC;
	line-height: 150%;
	color: #000000;
	box-sizing: border-box;
	text-align: center;
	font-weight: 700;
}
#profile dd {
	width: calc(100% - 10em);
	padding: 10px 0;
	border-bottom: 1px solid #CCCCCC;
	line-height: 150%;
	box-sizing: border-box;
	text-align: left;
}
@media screen and (min-width: 768px) {
	#profile h3 + div {
		background-size: cover;
		height: 650px;
	}
	#profile h3 + div.ritsuko_ryu {
		background: url(../images/ritsuko_ryu_profile_bg-pc.jpg) no-repeat center bottom;
	}
	#profile h3 + div.megumi_kido {
		background: url(../images/megumi_kido_profile_bg-pc.jpg) no-repeat center bottom;
	}
	#profile .inner {
		max-width: 1280px;
		margin: auto;
		height: 650px;
		padding: 0 0 0 50px;
		box-sizing: border-box;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
}
@media screen and (max-width: 767px) {
	#profile {
		padding: 30px 0 0;
	}
	#profile h2 {
		font-size: 2em;
		padding: 0 0 15px;
	}
	#profile h3 {
		margin: 15px 0 25px;
		font-size: 25px;
		border-bottom: 3px solid #E3231D;
		padding: 0 0 10px;
	}
	#profile h3 + div {
		padding: calc(500 / 750 * 100%) 0 0;
		background-size: contain !important;
	}
	#profile h3 + div.ritsuko_ryu {
		background: url(../images/ritsuko_ryu_profile_bg-sp.jpg) no-repeat center top;
	}
	#profile h3 + div.megumi_kido {
		background: url(../images/megumi_kido_profile_bg-sp.jpg) no-repeat center top;
	}
	#profile .inner {
		padding: 20px;
	}
	#profile .profileMain {
		width: 100%;
	}
	#profile dl {
		font-size: 12px;
	}
	#profile dt {
		width: 120px;
	}
	#profile dd {
		width: calc(100% - 120px);
		padding-left: 10px;
	}
}
/*---------------------- Photo Gallery ------------------------*/
#photoGallery {
	padding: 65px 0 40px;
	background-color: #F7F7F4;
	text-align: center;
}
#photoGallery h2 {
	font-family: 'Oswald', sans-serif;
	font-size: 3em;
	color: #E3231D;
}
#photoGallery h3 {
	display: inline-block;
	margin: 60px auto 40px;
	font-size: 35px;
	font-weight: 700;
	border-bottom: 5px solid #E3231D;
	padding: 0 0 15px;
}
#photoGallery .inner {
	max-width: 1280px;
	margin: auto;
	padding: 0 40px;
}

#photoGallery ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
#photoGallery ul li {
	list-style-type: none;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	box-sizing: border-box;
	background-color: #FFFFFF;
}
#photoGallery ul li img {
	width: 100%;
	display: block;
}
@media screen and (min-width: 768px) {
	#photoGallery ul li {
		width: 22.75%;
		margin-right: 3%;
		margin-bottom: 3%;
		padding: 10px;
	}
	#photoGallery ul li:nth-child(4n) {
		margin-right: 0;
	}
}
@media screen and (max-width: 767px) {
	#photoGallery {
		padding: 20px 0 10px;
	}
		#photoGallery h2 {
		font-size: 2em;
		padding: 0 0 15px;
	}
	#photoGallery h3 {
		margin: 15px 0 25px;
		font-size: 25px;
		border-bottom: 3px solid #E3231D;
		padding: 0 0 10px;
	}
	#photoGallery .inner {
		padding: 0 20px;
	}
	#photoGallery ul li {
		width: calc((100% - 20px) / 2);
		margin-right: 20px;
		margin-bottom: 20px;
		padding: 5px;
	}
	#photoGallery ul li:nth-child(2n) {
		margin-right: 0;
	}
}