@charset "utf-8";

.aboutus {
	padding-top: 100px;
	overflow: hidden;
	background: #f2f2f2 url(../images/bg_about3.jpg) repeat-x center bottom;
}

.aboutus-tit {
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.025em;
	text-align: center;
	margin-bottom: 40px;
}

.aboutus-tit span{
	font-size: 3.4rem;
	font-weight: bold;
}

.aboutus-tex{
	height: 1268px;
	position: relative;
	z-index: 5;
	background: url(../images/bg_about2.jpg) no-repeat center bottom;
}

.aboutus-tex p {
	margin-bottom: 18px;
	font-size: 1.6rem;
	line-height: 2.25;
	text-align: center;
}

.aboutus-tex p:last-child {
	margin-bottom: 0;
}

.about-wrap {
	max-width: 850px;
	margin: 100px auto;
	padding: 0 40px 100px;
}

.about-tit {
	margin: 0 auto 50px auto;
	display: table;
	position: relative;
	font-size: 25px;
	font-size: 3.0rem;
	font-weight: bold;
	line-height: 40px;
	line-height: 4rem;
}

.partner .about-tit {
	margin-bottom: 20px;
}

.staff-list {
	-js-display: flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
}

.staff-items {
	width: -webkit-calc((100% - 81px) / 3);
	width: calc((100% - 81px) / 3);
	margin-right: 40px;
	text-align: center;
	text-transform: uppercase;
}

.staff-items:last-child {
	margin-right: 0;
}

.staff-name {
	margin-top: 20px;
	display: block;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 20px;
	line-height: 2rem;
}

.staff-pos {
	font-size: 12px;
	font-size: 1.2rem;
	color: rgba(0, 0, 0, .5);
}

.partner-list {
	-js-display: flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: center;
			  -ms-flex-pack: center;
			justify-content: center;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
}

.partner-items {
	max-width: 150px;
	margin: 20px;
}

/*
.partner-items:last-child {
	margin-right: 0;
}
*/

.company {
	margin-bottom: 0;
}

.prof {
	width: 100%;
	border-bottom: 1px solid #EEE;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 25px;
	line-height: 2.5rem;
}

.prof th,
.prof td {
	padding: 17px 0;
	border-top: 1px solid #EEE;
}

.prof th {
	width: 20%;
}

.prof td a {
	text-decoration: underline;
}

.about-image {
	max-width: none;
	position: relative;
}

.about-image figure {
	max-width: 1400px;
	margin: 0 auto;
	text-align: center;
}

div.swiper-button-prev,
div.swiper-button-next {
	width: 60px;
	height: 60px;
	display: block;
	background-color: rgba(0, 0, 0, 1);
	background-size: 24px auto;
	border-radius: 50%;
	left: 50%;
	cursor: pointer;
	transition: all 300ms ease;
}

div.swiper-button-prev:hover,
div.swiper-button-next:hover {
	opacity: .7;
}

div.swiper-button-prev {
	background-image: url(../images/icn_arrow_l.png);
}

div.swiper-button-next {
	background-image: url(../images/icn_arrow_r.png);
}

.company {
	margin-top:70px;
}

.aboutus-tex p:nth-of-type(1)::before{
	width: 362px;
	height: 362px;
	content: '';
	display: block;
	position: absolute;
	top:-230px;
	left: 50%;
	margin-left: 420px;
	z-index: -1;
	background: #fff;
	border-radius: 50%;
}

.aboutus-tex p:nth-of-type(1)::after{
	width: 142px;
	height: 142px;
	content: '';
	display: block;
	position: absolute;
	top:-230px;
	left: 50%;
	margin-left: 420px;
	z-index: -1;
	background: #f2f2f2;
	border-radius: 50%;
	transform: translate(110px, 110px);
}

.aboutus-tex p:nth-of-type(2)::before{
	width: 362px;
	height: 362px;
	content: '';
	display: block;
	position: absolute;
	top:112px;
	right: 50%;
	margin-right: 475px;
	z-index: -1;
	background: #f5e3c2;
	border-radius: 50%;
}

.aboutus-tex p:nth-of-type(2)::after{
	width: 142px;
	height: 142px;
	content: '';
	display: block;
	position: absolute;
	top:112px;
	right: 50%;
	margin-right: 475px;
	z-index: -1;
	background: #f7f4f4;
	border-radius: 50%;
	transform: translate(-110px, 110px);
}

.aboutus-tex p:nth-of-type(3)::before{
	width: 362px;
	height: 362px;
	content: '';
	display: block;
	position: absolute;
	top:736px;
	left: 50%;
	margin-left: 546px;
	z-index: -1;
	background: #e0dada;
	border-radius: 50%;
}

.aboutus-tex p:nth-of-type(3)::after{
	width: 142px;
	height: 142px;
	content: '';
	display: block;
	position: absolute;
	top:736px;
	left: 50%;
	margin-left: 546px;
	z-index: -1;
	background: #f4ebeb;
	border-radius: 50%;
	transform: translate(110px, 110px);
}


.slide-wrap{
	background: url(../images/bg_slide.jpg) repeat-x left top;
}

@media screen and ( min-width: 601px ) and ( max-width: 800px ) {

}


@media screen and ( max-width: 800px ) {

	.partner-list {
		max-width: 500px;
		margin: 0 auto;
	}

	.partner-items {
		width: 40%;
		margin-top: 20px;
		margin: 10px 5%;
	}

/*
	.partner-items:nth-child(2n) {
		margin-right: 0;
	}
*/

	.about-image {
	padding-top:20px;
}
	
	div.slide-wrap {
		overflow: hidden;
		background: url(../images/bg_slide_sp.jpg) repeat-x left top;
		background-size: 11px auto;
	}

	div.swiper-container {
		width: 90%;
		margin: 0 auto;
		overflow: visible;
	}

}


@media screen and ( max-width: 800px ) {

	.aboutus {
		padding-top: 40px;
		background: #f2f2f2 url(../images/bg_about1_sp.jpg) repeat-x center bottom;
		background-size: 50px auto;
	}

	.aboutus-tex{
		height: 760px;
		background: url(../images/bg_about2_sp.jpg) no-repeat center bottom;
		background-size: 500px auto;
	}


	.aboutus-tit {
		font-size: 1.6rem;
		line-height: 1.5;
		margin-bottom: 16px;
	}

	.aboutus-tit span {
		font-size: 2.3rem;
	}

	.aboutus-tit:before {
		width: 40px;
		height: 40px;
	}

	.aboutus-tex p {
		margin: 20px 0;
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 25px;
		line-height: 2.5rem;
		margin-bottom: 16px;
	}

	.about-wrap {
		margin: 40px auto;
		padding: 0 20px;
	}

	.about-tit {
		font-size: 2.5rem;
		margin-bottom: 20px;
	}

	.staff .about-tit {
		margin-bottom: 20px;
	}

	.staff-items {
		width: -webkit-calc((100% - 21px) / 2);
		width: calc((100% - 21px) / 2);
		margin-top: 20px;
		margin-right: 20px;
		text-align: center;
		text-transform: uppercase;
	}

	.staff-items:nth-child(2n) {
		margin-right: 0;
	}

	.staff-name {
		margin-top: 10px;
		font-size: 14px;
		font-size: 1.4rem;
	}
	
	div.swiper-button-prev,
	div.swiper-button-next {
		display: none;
	}

	.prof th,
	.prof td {
		width: 100%;
		display: list-item;
		list-style: none;
	}
	.prof th{
		padding: 12px 0 9px;
	}
	.prof td {
		color: #666;
		padding: 0 0 14px 0;
		border-top: none;
	}

}


@media screen and ( max-width: 500px ) {


	.about-image figure {
		position: relative;
	}

	.about-image figure img {
		width: 120%;
		position: relative;
		left: -10%;
	}


}


/*------------------------------------*/


