@charset "utf-8";
/*------------------------------------------------------------
	research
------------------------------------------------------------*/
#research .topTxt {
	margin-bottom: 5rem;
}
#research .mottoHeading {
	margin-bottom: 1.5rem;
}
#research .h3Title {
	margin-bottom: 4.8rem;
}
#research .h3Title .txt {
	font-size: 4rem;
	margin-bottom: 0;
	letter-spacing: -0.05em;
}
#research .imgBox {
	display: flex;
	align-items: flex-start;
}
#research .imgBox .photo {
	width: 39rem;
	overflow: hidden;
	border-radius: 1rem;
}
#research .imgBox .photo a {
	display: block;
	font-size: 0;
	line-height: 1;
}
#research .imgBox .photo img {
	width: 100%;
}
#research .imgBox .rightBox {
	flex: 1;
	margin: 5.5rem 0 0 5rem;
}
#research .imgBox + .imgBox {
	margin-top: 3rem;
}
#research .imgBox .title {
	color: #00A291;
	font-size: 2.4rem;
	font-weight: 700;
	margin-bottom: 1rem;
}
#research .imgBox .title a {
	color: #00A291;
}
#research .imgBox .list {
	font-size: 1.4rem;
	margin-top: 3rem;
}
#research .imgBox .list dt {
	color: #00A291;
	font-size: 1.6rem;
	font-weight: 400;
	margin-bottom: 1rem;
}
#research .imgBox .list a {
	text-decoration: underline;
}
#research .imgBox .txt {
	min-height: 4.8rem;
}
#research .lifeBox {
	margin-top: 1rem;
	height: 50rem;
	border-radius: 1rem;
	overflow: hidden;
	background: url("../img/research/bg.webp") no-repeat center center / cover;
	color: #000;
	font-size: 1.8rem;
	padding: 7rem 5rem;
}
#research .lifeBox .comBtn02 a {
	margin: 0;
}
#research .lifeBox .title {
	margin-bottom: 2rem;
	font-size: 2.4rem;
	font-weight: 600;
	color: #003873;
}
#research .lifeBox .title .en {
	margin-top: 0.5rem;
	display: block;
	font-weight: 400;
	font-size: 8rem;
}
#research .lifeBox p {
	line-height: 2;
}
@media all and (min-width: 897px) {
	#research .imgBox .list a:hover {
		text-decoration: none;
	}
	#research .imgBox .title a:hover {
		opacity: 0.7;
	}
	#research .imgBox .photo a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#research .h3Title .txt {
		font-size: 3.4rem;
	}
	#research .imgBox {
		display: block;
	}
	#research .imgBox .photo {
		width: auto;
	}
	#research .imgBox .rightBox {
		margin: 3rem 0 0 0;
	}
	#research .imgBox .title {
		font-size: 2rem;
	}
	#research .imgBox .txt {
		min-height: 0;
	}
	#research .lifeBox {
		margin-top: 1rem;
		height: auto;
		font-size: 1.6rem;
		padding: 7rem 3rem;
	}
	#research .lifeBox .title {
		margin: 0 -1.5rem 2rem 0;
		font-size: 1.8rem;
	}
	#research .lifeBox .title .en {
		margin-top: 0.5rem;
		font-size: 5rem;
	}
}



/*------------------------------------------------------------
	info
------------------------------------------------------------*/
#info .topTxt {
	line-height: 1.8;
	margin-bottom: 5rem;
}
/* 本文冒頭に置く解説動画 */
#info .movieBox {
	margin-bottom: 8rem;
}
#info .movieBox video {
	width: 100%;
	display: block;
	border-radius: 1rem;
	background-color: #000;
}
@media all and (max-width: 896px) {
	#info .movieBox {
		margin-bottom: 5rem;
	}
}
#info .imgBox {
	display: flex;
	align-items: flex-start;
}
#info .imgBox p {
	margin-bottom: 2rem;
	line-height: 1.8;
}
#info .imgBox .photo {
	width: 50rem;
	text-align: center;
	font-size: 1.4rem;
}
#info .imgBox .photo img {
	width: 100%;
	overflow: hidden;
	border-radius: 1rem;
}
#info .imgBox .photo img + p {
	margin-top: 1rem;
	line-height: 1.45;
}
#info .imgBox .rightBox {
	flex: 1;
	margin-left: 3rem;
}
#info .imgBox + .imgBox {
	margin-top: 8rem;
}
#info .imgBox .title {
	color: #00A291;
	font-size: 2.4rem;
	font-weight: 700;
	margin-bottom: 2rem;
	line-height: 1.5;
}
#info .imgBox p:last-child {
	margin-bottom: 0;
}
#info .imgBox .comBtn02 a {
	width: 25rem;
}
#info .imgBox.row .photo {
	order: 3;
}
#info .imgBox.row .rightBox {
	margin: 0 3rem 0 0;
}
#info .commentBox {
	padding: 5rem 10rem 4.5rem;
	background-color: #FEFEFE;
	border-radius: 1rem;
	margin-top: 8rem;
}
#info .commentBox .subBox {
	display: flex;
}
#info .commentBox .subBox .textBox {
	flex: 1;
	line-height: 1.8;
	margin: 3rem 0 0 5rem;
}
#info .commentBox .subBox .photoBox {
	width: 12rem;
	text-align: center;
}
#info .commentBox .subBox .photoBox img {
	border-radius: 1rem;
}
#info .commentBox .subBox .name {
	font-size: 1.4rem;
	margin-top: 0.5rem;
	color: #000;
	line-height: 1.6;
}
#info .commentBox .subBox .name .col {
	margin-top: -1px;
	display: block;
	color: #00A291;
	font-weight: 600;
	font-size: 2rem;
}
#info .commentBox .subBox + .subBox {
	margin-top: 2.5rem;
}
#info .otherBox {
	padding: 8rem 0 7rem;
}
#info .otherBox .headLine01 {
	margin-bottom: 5rem;
}
@media all and (max-width: 896px) {
	#info .topTxt {
		margin-bottom: 3rem;
	}
	#info .imgBox {
		display: block;
	}
	#info .imgBox .photo {
		width: auto;
	}
	#info .imgBox .rightBox {
		margin: 3rem 0 0 0;
	}
	#info .imgBox + .imgBox {
		margin-top: 5rem;
	}
	#info .imgBox .title {
		font-size: 2rem;
	}
	#info .imgBox.row .rightBox {
		margin: 3rem 0 0 0;
	}
	#info .commentBox {
		padding: 4rem 2rem 3rem;
		margin-top: 5rem;
	}
	#info .commentBox .subBox {
		display: block;
	}
	#info .commentBox .subBox .textBox {
		margin: 2rem 0 0 0;
	}
	#info .commentBox .subBox .photoBox {
		width: 12rem;
		margin: 0 auto;
	}
	#info .commentBox .subBox .name {
		font-size: 1.4rem;
	}
	#info .otherBox {
		padding: 8rem 3rem 7rem;
	}
	#info .otherBox .headLine01 {
		margin-bottom: 3rem;
	}
	#info .commentBox .subBox .name .col {
		font-size: 1.8rem;
	}
}




/*------------------------------------------------------------
	publications
------------------------------------------------------------*/
#publications .topTxt {
	margin-bottom: 5rem;
}
#publications .linkUl {
	margin-bottom: 7rem;
	display: flex;
	flex-wrap: wrap;
	gap: 2.5rem;
}
#publications .linkUl li {
	margin: 0;
	width: calc((100% - 5rem)/3);
}
#publications .linkUl a {
	height: 18.6rem;
	position: relative;
}
#publications .linkUl .txt {
	font-size: 1.6rem;
	font-weight: 400;
	padding: 0 3rem 3rem;
}
#publications .linkUl .txt .big {
	margin: 1rem 0 0 0;
	font-size: 3rem;
	letter-spacing: -0.05em;
}
#publications .linkUl a::after {
	width: 1.8rem;
	height: 1.8rem;
	position: absolute;
	bottom: 3.5rem;
  	right: 3rem;
	background: url("../img/common/icon04.webp") no-repeat left top / 100% 100%;
	content: "";
}
#publications .flexTop {
	margin-bottom: 5rem;
	display: flex;
	justify-content: space-between;
}
#publications .originalBox .flexTop {
	margin-bottom: 6.8rem;
}
#publications .flexTop .comFilterBox {
	  margin: -1rem 0 0 0;
}
#publications .secBox {
	padding-top: 2rem;
}
#publications .secBox .headLine01 {
	margin: 0;
}
#publications .secBox .headLine01 .txt {
	display: inline-block;
	font-size: 4rem;
	margin: 0 2.3rem 0 0;
	letter-spacing: -0.05em;
}
#publications .listUl li {
	border-bottom: 1px dashed #00A291;
	padding-bottom: 3rem;
	margin-bottom: 3rem;
}
#publications .listUl li:last-child {
	margin-bottom: 0;
}
#publications .listUl .name {
	color: #00A291;
}
/* 論文タイトル・メディア掲載タイトルのリンク */
#publications .listUl a {
	color: inherit;
	text-decoration: underline;
}
#publications .listUl .name strong {
	font-weight: 600;
}
#publications .listUl p + p {
	margin-top: 1rem;
}
#publications .secBox + .secBox {
	margin-top: 7rem;
}
@media all and (max-width: 896px) {
	#publications .topTxt {
		margin-bottom: 5rem;
	}
	#publications .linkUl {
		margin-bottom: 9rem;
		display: block;
	}
	#publications .linkUl li {
		margin: 0 0 3rem 0;
		width: auto;
	}
	#publications .linkUl li:last-child {
		margin-bottom: 0;
	}
	#publications .linkUl .txt {
		font-size: 1.6rem;
		padding: 0 2rem 3rem;
	}
	#publications .linkUl .txt .big {
		font-size: 3rem;
		letter-spacing: -0.05em;
	}
	#publications .flexTop {
		margin-bottom: 5rem;
		display: block;
	}
	#publications .flexTop .comFilterBox {
		margin: 3rem 0 0 0;
	}
	#publications .secBox .headLine01 .txt {
		font-size: 3.6rem;
		vertical-align: -0.2rem;
		margin: 0 1.5rem 0 0;
	}
}




/*------------------------------------------------------------
	member
------------------------------------------------------------*/
/* Keep member cards at the standard desktop size and add columns as space allows. */
@media all and (min-width: 897px) {
	#member .comList03 {
		display: grid;
		grid-template-columns: repeat(auto-fill, 19.8rem);
	}
	#member .comList03 > li {
		width: auto;
		min-width: 0;
	}
}
#member .profileBox {
	margin-bottom: 4.5rem;
	display: flex;
	align-items: flex-start;
	position: sticky;
	top: 0;
	padding-top: 5rem;
	z-index: 5;
	background-color: #E9EDEE;
}
#member .profileBox .photoBox {
	width: 25rem;
	color: #00A291;
	font-weight: 600;
	font-size: 2rem;
}
#member .profileBox .photoBox .name .txt {
	font-weight: 400;
	font-size: 1.4rem;
	display: block;
	margin-top: 1px;
}
#member .profileBox .photoBox .name small {
	display: block;
	font-size: 1.4rem;
	color: #000000;
	font-weight: 400;
	margin-bottom: 0.2rem;
}
#member .profileBox .photoBox .image {
	aspect-ratio: 1/1;
	overflow: hidden;
	border-radius: 1rem;
}
#member .profileBox .photoBox .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#member .profileBox .btmBox {
	margin: 1.6rem 1.5rem 0;
}
#member .profileBox .headLine01 {
	margin-bottom: 2.6rem;
}
#member .profileBox .headLine01 .txt {
	margin-bottom: 0;
	font-size: 2.4rem;
	font-weight: 600;
	letter-spacing: 0;
}
#member .profileBox .rightBox {
	flex: 1;
	min-width: 0;
	margin: 0.6rem 0 0 5rem;
	overflow-y: auto;
	height: 40rem;
	padding: 0 2rem 2rem 0;
}
#member .profileBox .listUl li {
	display: flex;
	border-bottom: 1px dashed #00A291;
	padding: 0 1.5rem 1.5rem;
	margin-bottom: 1.5rem;
}
#member .profileBox .listUl .time {
	width: 13rem;
	flex-shrink: 0;
}
#member .profileBox .listUl .txt {
	flex: 1;
	min-width: 0;
	overflow-wrap: anywhere;
}
#member .profileBox .comBtn03 a + a {
	margin-top: 0.8rem;
}
#member .profileBox .comBtn03 a {
	width: max-content;
	min-width: 12rem;
	max-width: 100%;
	padding-right: 2.8rem;
}
#member .profileBox .listUl li:last-child {
	margin-bottom: 0;
}
#member .profileBox .listUl + .headLine01 {
	margin-top: 3.5rem;
}
#member .obBox .headLine02 {
	font-size: 4rem;
	letter-spacing: -0.05em;
	font-weight: 700;
}
#member .nameUl {
	display: flex;
	flex-wrap: wrap;
	gap: 3rem 1.5rem;
}
#member .nameUl li {
	width: calc((100% - 4.5rem)/4);
	font-size: 1.4rem;
	line-height: 1.5;
}
#member .nameUl .col {
	color: #00A291;
	font-size: 2rem;
	font-weight: 600;
	display: block;
	line-height: 1;
	margin-bottom: 1rem;
}
#member .simplebar-scrollbar::before {
	background: #00a392;
	opacity: 1;
	border-radius: 0;
}
#member .simplebar-track.simplebar-vertical {
	width: 7px;
}
@media all and (max-width: 896px) {
	#member .menuBox .topFlex {
		margin-top: 1.5rem;
		padding-left: 1rem;
	}
	#member .menuBox .comLanguage02 {
		margin-right: 0.5rem;
	}
	#member .menuBox .menuBtn {
		right: 0.7rem;
	}
	#member .profileBox {
		margin-bottom: 2.5rem;
		display: block;
		top: 0;
		padding-top: 8rem;
	}
	#member .profileBox .photoBox {
		width: auto;
		font-size: 2rem;
		display: flex;
	}
	#member .profileBox .photoBox .name .txt {
		font-size: 1.4rem;
		margin-top: 1px;
	}
	#member .profileBox .photoBox .name small {
		font-size: 1.4rem;
		margin-bottom: 0.2rem;
	}
	#member .profileBox .photoBox .image {
		width: 15rem;
	}
	#member .profileBox .btmBox {
		margin: 1.5rem 0 0 3rem;
		flex: 1;
	}
	#member .profileBox .headLine01 {
		margin-bottom: 1.5rem;
	}
	#member .profileBox .headLine01 .txt {
		font-size: 2rem;
	}
	#member .profileBox .rightBox {
		padding-bottom: 2rem;
		margin: 2.5rem 0 0 0;
		height: 20rem;
	}
	#member .profileBox .listUl li {
		display: block;
		padding: 0 1rem 1rem;
		margin-bottom: 1rem;
	}
	#member .profileBox .listUl .time {
		width: auto;
		display: block;
		margin-bottom: 0.5rem;
		line-height: 1.2;
	}
	#member .profileBox .listUl .txt {
		display: block;
	}
	#member .profileBox .listUl + .headLine01 {
		margin-top: 3.6rem;
	}
	#member .obBox .headLine02 {
		font-size: 3rem;
		margin-bottom: 2rem;
	}
	#member .nameUl {
		justify-content: space-between;
		gap: 2rem 0;
	}
	#member .nameUl li {
		width: calc(50% - 0.5rem);
	}
	#member .nameUl .col {
		font-size: 1.6rem;
		margin-bottom: 1rem;
	}
}



/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
#contact .topTxt {
	line-height: 1.8;
}
#contact .formBox {
	margin: 5rem auto 0;
	max-width: 84rem;
}
#contact .formBox iframe {
	width: 100%;
	/* フォーム全長(840px幅で約1011px)に余裕を足した高さ。スクロールさせず全文表示する */
	height: 108rem;
	display: block;
	border: 0;
}
@media all and (max-width: 896px) {
	#contact .topTxt {
		padding-top: 5rem;
	}
	#contact .formBox {
		margin-top: 3rem;
	}
	#contact .formBox iframe {
		height: 125rem;
	}
}



/*------------------------------------------------------------
	recruit
------------------------------------------------------------*/
#news .comFilterBox {
	margin-bottom: 6.8rem;
	justify-content: space-between;
}
#news .news-social {
	display: flex;
	align-items: center;
	gap: 1rem;
}
#news .news-social > span {
	color: #002B1C;
	font-size: 1.4rem;
	line-height: 1.5;
}
#news .news-filter-controls {
	display: flex;
	align-items: center;
	gap: 2rem;
}
#news .news-x-link {
	width: 6rem;
	height: 6rem;
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	border-radius: 0.5rem;
	background: #111;
	color: #fff;
}
#news .news-x-link svg {
	width: 2.5rem;
	height: 2.5rem;
	fill: currentColor;
}
#news .news-x-link:hover {
	opacity: 0.75;
}
#recruit .catch {
	margin-bottom: 4rem;
	color: #00A291;
	font-size: 6rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.3;
}
#recruit .topTxt {
	margin-bottom: 8rem;
}
#recruit .topTxt .recruitment-news li {
	border-bottom: 0;
	padding-bottom: 0;
}
#recruit .topTxt .recruitment-news .top {
	align-items: center;
}
#recruit .topTxt .recruitment-news .time,
#recruit .topTxt .recruitment-news .lable {
	line-height: 1;
}
#recruit .topTxt .recruitment-news .time {
	margin: 0;
}
#recruit .topTxt .recruitment-news .lable {
	margin: 0 0 0 1rem;
}
/* ヘッダー/フッターのバナー等に効かないよう、本文エリアに限定する */
#recruit .contsInner p {
	line-height: 1.8;
}
#recruit .contsInner p + p {
	margin-top: 1.5rem;
}
#recruit .secBox + .secBox {
	margin-top: 8rem;
}
/* 中見出し。research-infoの.titleと同じ見た目に揃える */
#recruit .title {
	color: #00A291;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 2rem;
}
#recruit .secBox > * + .title {
	margin-top: 4rem;
}
#recruit .list {
	margin-top: 1.5rem;
}
#recruit .title + .list {
	margin-top: 0;
}
#recruit .list li {
	position: relative;
	padding-left: 1.8rem;
	line-height: 1.8;
}
#recruit .list li::before {
	content: "";
	position: absolute;
	left: 0.3rem;
	top: 1.05rem;
	width: 0.6rem;
	height: 0.6rem;
	border-radius: 50%;
	background-color: #00A291;
}
#recruit .list + p {
	margin-top: 1.5rem;
}
#recruit .comBtn02 {
	margin-top: 4rem;
}
/* 「お問い合わせはこちら」が収まる幅。research-infoのボタンと揃える */
#recruit .comBtn02 a {
	width: 25rem;
}
@media all and (max-width: 896px) {
	#publications .contsInner,
	#research .contsInner,
	#news .contsInner {
		padding-top: 2rem;
	}
	#news .comFilterBox {
		margin-bottom: 5.8rem;
	}
	#news .news-filter-controls {
		gap: 1.5rem;
	}
	#news .news-x-link {
		width: 5.5rem;
		height: 5.5rem;
	}
	#recruit .catch {
		padding-top: 5rem;
		margin-bottom: 2.5rem;
		/* 6remのままでは画面幅に収まらないため縮小 */
		font-size: 3.2rem;
	}
	#recruit .topTxt {
		margin-bottom: 5rem;
	}
	#recruit .catch + .topTxt {
		padding-top: 0;
	}
	#recruit .secBox + .secBox {
		margin-top: 5rem;
	}
	#recruit .title {
		font-size: 2rem;
		margin-bottom: 1.5rem;
	}
	#recruit .secBox > * + .title {
		margin-top: 3rem;
	}
	#recruit .comBtn02 {
		margin-top: 3rem;
	}
}



/*------------------------------------------------------------
	Top
------------------------------------------------------------*/
#top .mainImg {
	height: 100svh;
	overflow: hidden;
}
#top .mainImg video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: left center;
}
#top .comBtn02 a {
	margin: 0 0 0 auto;
}
#top #main {
	padding: 0;
}
#top .secBox {
	padding: 10rem 5rem;
}
#top .secBox .headLine01 {
	margin-bottom: 5rem;
}
#top .secBox .headLine01 .txt {
	margin-bottom: 0;
}
#top .recentBox .slideBox {
	margin: 0 -5rem 0 -1rem;
}
#top .recentBox .comList .top {
	line-height: 1.2;
}
#top .recentBox .comList .lable {
	margin-top: 0;
}
#top .recentBox .comList .photo {
	margin-bottom: 1.5rem;
}
#top .recentBox .comList li {
	display: block;
	width: 38.4rem !important;
	padding-bottom: 0;
	border-bottom: none;
	margin: 0 1rem;
}
#top .recentBox .comList .textBox {
	margin: 0;
}
#top .recentBox .comList .title {
	font-size: 2rem;
}
#top .recentBox .comBtn02 {
	margin-top: 3rem;
}
#top .imgBox {
	display: flex;
	align-items: flex-start;
	gap: 5rem;
}
#top .imgBox .photo {
	width: 39rem;
	border-radius: 2rem;
	overflow: hidden;
	order: 3;
}
#top .imgBox .photo img {
	width: 100%;
}
#top .imgBox .textBox {
	flex: 1;
}
#top .imgBox .textBox p {
	line-height: 2;
}
#top .imgBox .comBtn02 {
	margin-top: 3rem;
}
#top .comList03 {
	margin-bottom: 0;
	gap: 2.8rem 2.7rem;
}
#top .comList03 li {
	width: calc((100% - 10.8rem)/5);
}
#top .memberBox .comBtn02 {
	margin-top: 3rem;
}
#top .publicationsBox .headLine01 {
	margin-bottom: 3rem;
}
#top .publicationsBox .photo {
	border-radius: 0;
}
#top .publicationsBox .comBtn02 a {
	margin: 0;
}
#top .contactBox .flexBox {
	display: flex;
}
#top .contactBox .leftBox {
	width: 38.7rem;
}
#top .contactBox .mapBox {
	flex: 1;
	aspect-ratio: 700/394;
	overflow: hidden;
	font-size: 0;
	line-height: 1;
}
#top .contactBox .mapBox iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#top .contactBox .comBtn02 a {
	margin: 0;
}
#top .contactBox p {
	line-height: 2;
}
#top .mapLink {
	margin-top: 2rem;
	line-height: 1 !important;
}
#top .mapLink a {
	color: #00A291;
	text-decoration: underline;
	display: inline-block;
}
#top .mapLink a:hover {
	opacity: 0.7;
}
#top .mapLink img {
	width: 1.2rem;
	display: inline-block;
	vertical-align: middle;
	margin: -0.4rem 0.8rem 0 0;
}
#top .contactBox .headLine01 {
	margin-bottom: 3rem;
}
#top #gFooter {
	margin-top: 0;
}
#top #gHeader .menuBtn {
	background-color: #00a392;
	top: 1rem;
  	right: 2rem;
}
@media all and (max-width: 896px) {
	#top  #gHeader {
		padding: 0;
		background-color: #e9edee;
	}
	#top  #gHeader .hBox {
		height: 6rem;
		background: none;
		padding: 1.6rem 1.8rem 1rem;
	}
	#top #gHeader .comLanguage02 {
		top: 1rem;
		right: 6.5rem;
	}
	#top  .comLanguage02 a {
		background-color: #fff;
	}
	#top .mainImg {
		position: relative;
	}
	#top .mainImg video {
		object-position: center center;
	}
	#top #main .bannerBox {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		background-color: #e9edee;
		padding: 5rem 2rem 0;
	}
	#top #main .bannerBox > div {
		margin: 0;
		width: calc(50% - 0.5rem);
	}
	#top #main .bannerBox .bnr02 .txt {
		padding: 0 0 1.3rem 1.5rem;
	}
	#top #main .bannerBox .bnr02 .big.en {
		margin-bottom: 0.7rem;
	}
	#top .secBox {
		padding: 5rem 2rem 5rem;
	}
	#top .secBox .headLine01 .txt {
		margin-bottom: 0;
		font-size: 3rem;
		letter-spacing: -0.05em;
	}
	#top .recentBox {
		padding-top: 3.5rem;
	}
	#top .secBox .headLine01 {
		margin-bottom: 3rem;
	}
	#top .recentBox .comList li {
		width: 33rem !important;
	}
	#top .comList .photo .txt {
		padding: 0 2.5rem 2.5rem;
		font-size: 2.6rem;
	}
	#top .comList .top {
		margin-bottom: 2rem;
		font-size: 1.4rem;
	}
	#top .recentBox .slideBox {
		margin-right: -2rem;
	}
	#top .recentBox .comList .lable {
		font-size: 1.2rem;
	}
	#top .recentBox .comList .lable span {
		padding: 0.2rem 0.7rem 1px;
	}
	#top .recentBox .comBtn02 {
		margin-top: 2rem;
	}
	#top .imgBox {
		display: block;
	}
	#top .imgBox .photo {
		width: auto;
		border-radius: 1.5rem;
	}
	#top .imgBox .textBox {
		margin: 3rem 0 0 0;
	}
	#top .imgBox .comBtn02 {
		margin-top: 2rem;
	}
	#top .comList03 {
		display: block;
		margin: 0;
	}
	#top .comList03 li {
		width: 23.2rem !important;
		margin: 0 1rem;
	}
	#top .comList03 a {
		font-size: 1.4rem;
		line-height: 1.7;
	}
	#top .comList03 .col {
		font-size: 2rem;
		margin-top: 0.2rem;
	}
	#top .comList03 .image::before {
		width: 19rem;
		height: 4rem;
		background-image: url("../img/common/list_bg.webp");
	}
	#top .comList03 .name {
		margin: -2rem 1.5rem 0;
		max-width: 16rem;
	}
	#top .memberBox .comBtn02 {
		margin-top: 2rem;
	}
	#top .memberBox .slideBox {
		margin: 0 -2rem 0 -1rem;
	}
	#top .publicationsBox .imgBox .textBox p {
		line-height: 1.8;
	}
	#top .publicationsBox .photo {
		border-radius: 0;
	}
	#top .publicationsBox .comBtn02 {
		margin-top: 3rem;
	}
	#top .publicationsBox .comBtn02 a {
		margin: 0 0 0 auto;
	}
	#top .contactBox .flexBox {
		display: block;
	}
	#top .contactBox .leftBox {
		width: auto;
		margin-bottom: 3rem;
	}
	#top .contactBox .mapBox {
		aspect-ratio: 1/1;
	}
	#top .contactBox .comBtn02 {
		margin-top: 3rem;
	}
}
