/* ------------------------------------------------------------
Lower common
---------------------------------------------------------------*/

.sec-lower-heading {
	width: 100%;
	height: auto;
	max-height: 450px;
	aspect-ratio: 1440 / 450;
	padding: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	position: relative;
}
.sec-lower-heading::after {
	content: "";
	width: 100%;
	height: 97px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 0;
}
.lower-heading-inner {
	width: 100%;
	height: -webkit-fill-available;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--c-gradient-tb);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
	z-index: 10;
}
.page-aboutus .lower-heading-inner {
	background: var(--c-text);
}

.lower-heading-inner::after {
	content: "";
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	border-radius: 10px;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 20;
	opacity: 0.1;
}
.page-aboutus .lower-heading-inner::after {
	background-image: url("../images/aboutus/mv.webp");
}
.sec-lower-heading .ttl-box {
	position: absolute;
	z-index: 40;
	left: 50px;
	bottom: 40px;
}

@media screen and (max-width: 768px) {
	.sec-lower-heading {
		max-height: 200px;
		aspect-ratio: 370 / 200;
	}
	.page-aboutus .lower-heading-inner::after {
		background-image: url("../images/aboutus/mv-sp.webp");
	}
	.sec-lower-heading .ttl-box {
		left: 25px;
		bottom: 20px;
	}
}

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

.aboutus-ttl {
	width: 100%;
	font-size: 38px;
	font-weight: 600;
	line-height: 1.5;
	margin-bottom: 30px;
}

@media screen and (max-width: 999px) {
	.aboutus-ttl {
		font-size: 20px;
		margin-bottom: 20px;
	}
}

/* ----------- introduction ---------------*/
.sec-introduction {
	background: var(--c-white);
}
.introduction-cont {
	padding-block: 50px 30px;
	gap: 30px;
}
@media screen and (max-width: 999px) {
	.introduction-cont {
		padding-block: 30px;
		gap: 20px;
	}
}

/* ----------- about img ---------------*/
.sec-about-img::before {
	content: "";
	width: 100%;
	height: 100%;
	aspect-ratio: 1440 / 200;
	max-height: 200px;
	background: var(--c-white);
	display: block;
	z-index: 0;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	margin: 0 auto;
	border-radius: 0 0 10px 10px;
}

.about-img {
	aspect-ratio: 1220 / 400;
}
@media screen and (max-width: 999px) {
	.about-img {
		aspect-ratio: 350 / 120;
	}
	.sec-about-img::before {
		height: 50%;
	}
}

/* ----------- message ---------------*/
.message-cont {
	padding-block: 50px;
	gap: 30px;
}
.message-flex-area {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 50px;
}
.person-card-message {
	width: 100%;
	max-width: 350px;
	flex-shrink: 0;
	display: flex;
	flex-flow: column;
	gap: 20px;
	align-items: flex-start;
}
.person-card-message .person-img {
	width: 100%;
	max-width: 350px;
	aspect-ratio: 35 / 42;
}
.person-card-message .person-info-body {
	padding: 0;
}

@media screen and (max-width: 999px) {
	.message-cont {
		padding-block: 30px;
		gap: 20px;
	}
	.person-card-message {
		width: 24.3%;
	}
}
@media screen and (max-width: 768px) {
	.message-flex-area {
		justify-content: flex-start;
		flex-flow: column;
		gap: 20px;
	}
	.person-card-message {
		width: 100%;
		max-width: 100%;
		align-self: flex-end;
	}
	.person-card-message .person-img {
		max-width: 100%;
		width: 100%;
	}
}

/* ----------- member ---------------*/
.sec-member {
	background: var(--c-light);
}
.member-cont {
	padding-block: 50px;
	gap: 30px;
}
.member-list-group {
	gap: 50px;
}
.member-list-item {
	gap: 30px;
}

@media screen and (max-width: 999px) {
	.member-cont {
		padding-block: 30px;
		gap: 20px;
	}
	.member-list-group {
		gap: 30px;
	}
	.member-list-item {
		gap: 20px;
	}
	#vsrc .ttl-box.ttb-slash,
	#acm .ttl-box.ttb-slash {
		align-items: flex-end;
	}
	#vsrc .ttl-box.ttb-slashv > span,
	#acm .ttl-box.ttb-slash > span {
		bottom: 0;
	}
}

/* ----------- Research Overview ---------------*/
.sec-overview {
	background: var(--c-text);
}
.sec-overview::before,
.sec-overview::after {
	content: "";
	width: 100%;
	height: 20px;
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 0;
	background: var(--c-text);
}
.sec-overview::after {
	bottom: -20px;
}
.overview-cont {
	padding-block: 50px;
	gap: 30px;
}
.overview-cont > .c-txt {
	margin-bottom: 20px;
}

.overview-animation-box {
	width: 100%;
	max-width: 820px;
	aspect-ratio: 820 / 300;
	background-image: url("../images/aboutus/img-overview-1.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	height: auto;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-inline: 25px;
	padding-block: 25px;
	gap: 5.73%;
}
.omb-circle {
	aspect-ratio: 1 / 1;
	flex-shrink: 0;
	max-width: 250px;
	width: 30.4878%;
}
.omb-txts {
	color: var(--c-white);
	justify-content: center;
	align-items: center;
	gap: 25px;
	text-align: center;
	width: auto;
	font-size: 16px;
	font-weight: 600;
	flex-shrink: 0;
	line-height: 1.5;
}
.omb-txts.en {
	gap: 15px;
	font-size: 13px;
}

@media screen and (max-width: 999px) {
	.overview-cont {
		padding-block: 30px;
		gap: 20px;
	}
}

@media screen and (max-width: 768px) {
	.overview-cont > .c-txt {
		margin-bottom: 0px;
	}

	.overview-animation-box {
		max-width: 300px;
		aspect-ratio: 300 / 731;
		background-image: url("../images/aboutus/img-overview-1-sp.svg");
		gap: 20px;
		flex-flow: column;
		justify-content: space-between;
	}
	.omb-circle {
		width: 100%;
	}
	.omb-circle.anim-fade.--l2r {
		transform: translate(0, -60px);
	}
	.omb-circle.anim-fade.--l2r.is-visible {
		transform: translate(0, 0);
	}
	.omb-txts {
		gap: 15px;
		line-height: 1;
	}
}

/* ------------------------------------------------------------
Program Report
---------------------------------------------------------------*/
.sec-pg-seminar {
	background: var(--c-white);
}

.pg-seminar-cont {
	padding-block: 50px;
	gap: 30px;
}
.pg-seminar-cont .btn-more {
	align-self: center;
}

.pg-work-shop-cont {
	padding-block: 50px;
	gap: 30px;
}

@media screen and (max-width: 999px) {
	.pg-seminar-cont .ttl-box.ttb-slash {
		align-items: flex-end;
	}
	.pg-seminar-cont {
		padding-block: 30px;
		gap: 20px;
	}
	.pg-work-shop-cont {
		padding-block: 30px;
		gap: 20px;
	}
}

/* ------------------------------------------------------------
Program Info
---------------------------------------------------------------*/
.sec-program-info {
	background: var(--c-white);
}
.sec-program-info::after {
	content: "";
	width: 100%;
	height: 20px;
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	bottom: -20px;
	z-index: 0;
	background: var(--c-white);
}
.program-info-cont {
	max-width: 1220px;
	margin: 0 auto;
	min-height: 300px;
	gap: 30px;
	padding-block: 50px;
}
.program-info-cont a:link,
.program-info-cont a:active,
.program-info-cont a:visited {
	text-decoration: underline;
}
.program-info-cont a:hover {
	text-decoration: none;
}
.program-info-head {
	gap: 20px;
	padding-bottom: 30px;
	border-bottom: 1px solid var(--c-l-gray);
}
.program-info-ttl {
	width: 100%;
	font-size: 38px;
	font-weight: 600;
	line-height: 1.5;
}
.program-info-date-box {
	width: 100%;
	display: flex;
	justify-content: flex-end;
	gap: 10px;
}
.program-info-date-box > div {
	flex-shrink: 0;
	font-size: 14px;
	line-height: 1;
}
.program-info-date-box > div:not(:first-of-type) {
	position: relative;
	padding-left: 20px;
	display: flex;
	align-items: center;
	flex-shrink: 0;
}
.program-info-date-box > div:not(:first-of-type)::after {
	content: "";
	width: 10px;
	height: auto;
	aspect-ratio: 1 / 1;
	background-image: url("../images/common/icon-slash-gray.svg");
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	left: 0;
	top: 3px;
	flex-shrink: 0;
}

.program-info-date-box > div > span {
	position: relative;
	display: flex;
	align-items: center;
	padding-left: 20px;
	line-height: 1;
}
.program-info-date-box > div > span::before {
	content: "";
	width: 16px;
	height: auto;
	aspect-ratio: 1 / 1;
	background-image: url("../images/common/icon-clock.svg");
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	left: 0;
	flex-shrink: 0;
}
.program-info-date-box > div.program-info-date > span::before {
	background-image: url("../images/common/icon-clock.svg");
}
.program-info-date-box > div.program-info-location > span::before {
	background-image: url("../images/common/icon-map-pin.svg");
}
.program-info-main {
	gap: 30px;
}
.program-info-sub-ttl {
	width: 100%;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.8;
}
.person-info-box {
	width: 100%;
	display: flex;
	justify-content: flex-end;
}

.person-info-box > .person-card {
	width: auto;
	min-height: 100px;
}
.person-info-box > .person-card .person-img {
	width: 100px;
	aspect-ratio: 100 / 120;
	max-width: 100px;
	flex-shrink: 0;
}
.person-info-box > .person-card .person-info-body {
	justify-content: flex-end;
}

@media screen and (max-width: 999px) {
	.program-info-cont {
		gap: 20px;
		padding-block: 30px;
	}
	.program-info-head {
		gap: 15px;
		padding-bottom: 20px;
	}
	.program-info-ttl {
		font-size: 20px;
	}
	.program-info-date-box {
		flex-flow: column;
		align-items: flex-end;
		justify-content: flex-start;
	}
	.program-info-date-box > div {
		font-size: 12px;
	}
	.program-info-date-box > div:not(:first-of-type) {
		padding-left: 0px;
	}
	.program-info-date-box > div:not(:first-of-type)::after {
		content: none;
	}

	.program-info-main {
		gap: 20px;
	}
	.program-info-sub-ttl {
		font-size: 18px;
		line-height: 1.5;
	}
	.person-info-box {
		width: 100%;
		display: flex;
		justify-content: flex-end;
	}
}

/* ------------------------------------------------------------
Research Results
---------------------------------------------------------------*/
/* .sec-research-results {
	background: var(--c-white);
} */
.sec-research-results::after {
	content: "";
	width: 100%;
	height: 20px;
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	bottom: -20px;
	z-index: 0;
	background: var(--c-white);
}
.page-research-results .sec-lower-heading::after {
	content: none;
}
.research-results-cont {
	gap: 30px;
	padding-block: 50px;
}
.research-results-cont .btn-more {
	align-self: center;
}
.research-results-cont .results-card dl {
	align-items: flex-start;
	color: #888;
	display: flex;
	font-size: 14px;
	padding: 0 20px;
	width: 100%;
}
.research-results-cont .results-card dl dt {
	font-weight: bold;
	width: 60px;
}
.research-results-cont .results-card dl dd {
	width: calc(100% - 60px);
	word-wrap: break-word;
}

@media screen and (max-width: 999px) {
	.research-results-cont {
		gap: 20px;
		padding-block: 30px;
	}
	.research-results-cont .results-card dl {
		padding: 0;
	}
}

/* ------------------------------------------------------------
News
---------------------------------------------------------------*/
.page-news .sec-lower-heading::after {
	content: none;
}
.news-cont {
	gap: 30px;
	padding-block: 50px;
}
.news-cont .btn-more {
	align-self: center;
}
.filter-box {
	align-items: center;
	display: flex;
	gap: 20px;
	justify-content: flex-end;
	width: 100%;
}
.filter-box > span {
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1;
}

@media screen and (max-width: 999px) {
	.news-cont {
		gap: 20px;
		padding-block: 30px;
	}
}
