@charset "UTF-8";

/* --------------------------------------------------------------------------------------
	About
--------------------------------------------------------------------------------------- */

.about {
	margin-bottom: 210px;
	margin-top: -210px;
	position: relative;
	z-index: 1;
}

.about > p {
	letter-spacing: 1px;
	margin-top: 42px;
}

.about .diagram {
	align-items: center;
	background: url(../img/diagram.png) no-repeat center top;
	display: flex;
	flex-direction: column;
	font-size: 2.6rem;
	height: 852px;
	justify-content: center;
	margin: 70px auto auto;
	text-align: center;
	width: 993px;
}

.about .diagram p {
	font-weight: 900;
	letter-spacing: 0;
	margin-top: 68px;
}

#english .about .diagram p { line-height: 1.5; }

@media (max-width: 999px) {

	.about {
		margin-bottom: 0;
		margin-left: 5.333vw;
		margin-right: 5.333vw;
		margin-top: 20.333vw;
	}

	.about .head-ttl-center { margin-bottom: 4.667vw; }

	.about > p {
		font-weight: normal;
		margin-top: 0;
	}

	#english .about > p { padding: 0 5.333vw; }

	.about > span {
		font-size: 3.167vw;
		margin-top: 2.133vw;
	}


	.about .diagram {
		background-size: 100% auto;
		display: block;
		font-size: 4.267vw;
		height: auto;
		margin-top: 12.333vw;
		width: 90vw;
	}

	.about .diagram p {
		margin-top: 0;
		padding-top: 86.533vw;
		text-align: left;
	}

	.about .diagram p br { display: none; }
}

/* --------------------------------------------------------------------------------------
	Info
--------------------------------------------------------------------------------------- */

.directors,
.location { margin-top: 160px; }

@media (max-width: 999px) {

	.info,
	.directors,
	.location,
	.partner,
	.affiliated { margin: 26.333vw 5.333vw auto; }

	.info .basic-table { margin-left: 0; }
}

/* --------------------------------------------------------------------------------------
	Board of Directors
--------------------------------------------------------------------------------------- */

.directors { margin-bottom: 130px; }

.directors .basic-table th { font-weight: normal; }

@media (max-width: 999px) {

	.directors { margin-bottom: 20vw; }
}

/* --------------------------------------------------------------------------------------
	Location
--------------------------------------------------------------------------------------- */

.location {
	position: relative;
	z-index: 0;
}

.location::after {
	background: url(../img/image_map.svg) no-repeat right bottom / cover;
	bottom: -140px;
	content: '';
	display: block;
	height: 700px;
	position: absolute;
	right: -22.556vw;
	width: 954px;
	z-index: -1;
}

.location dl { width: 700px; }

.location dt { overflow: hidden; }

.location dt iframe {
	float: left;
	height: 300px;
	width: 100%;
}

.location dd {
	font-size: 1.6rem;
	letter-spacing: 0;
	margin-top: 36px;
}

@media (max-width: 999px) {

	.location::after {
		bottom: -8.667vw;
		content: '';
		height: 46.333vw;
		position: absolute;
		right: -5.333vw;
		width: 73%;
	}

	.location dl { width: 100%; }
	.location dl::after { display: none; }

	.location dt iframe { height: 69.333vw; }

	.location dd { margin-top: 8.6vw; }

}

/* --------------------------------------------------------------------------------------
	Partner
--------------------------------------------------------------------------------------- */

.partner {
	background-color: #ebf1f5;
	padding: 120px 0 140px;
}

.partner h2::before { display: none; }

.partner-inner figure {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.partner-inner figure figcaption {
	letter-spacing: 1px;
	line-height: 1.8;
	width: 720px;
}

@media (max-width: 999px) {

	.partner { padding: 11.667vw 0; }

	.partner-inner figure {
		display: block;
		overflow: hidden;
		text-align: center;
	}

	.partner-inner figure img {
		margin: auto;
		width: 29%;
	}

	.partner-inner figure figcaption {
		margin: 8.6vw 5.333vw auto;
		text-align: left;
		width: auto;
	}
}


/* --------------------------------------------------------------------------------------
	Affiliated
--------------------------------------------------------------------------------------- */

.affiliated {
	padding-bottom: 100px;
}

.affiliated ul {
	margin-left: 280px;
}

.affiliated ul li{
	margin-bottom: 48px;
}

.affiliated h3{
	font-size: 2rem;
	font-weight: bold;
}

.affiliated p{ line-height: 2; }

@media (max-width: 999px) {

	.affiliated { padding-bottom: 11.667vw; }

	.affiliated ul{ margin-left: 0; }

	.affiliated ul li{ margin-bottom: 6.4vw; }

	.affiliated h3{ font-size: 4vw; }

}