@charset "UTF-8";

/* ================================

common

=================================== */

/*　font --------------*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&family=Noto+Serif+JP:wght@600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@500;700&display=swap');
@import url('fontawesome-all.min.css');

/*　base --------------*/

.nbrp {
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.75;
	overflow: hidden;
}

@media screen and (max-width:768px) {
	.nbrp {
		font-size: 1.4rem;
		line-height: 1.6;
	}
}

@media screen and (max-width: 768px) {
	.nbrp .contentIn {
		padding: 1.5rem;
	}
}

.nbrp img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

.chrome .nbrp img {
	image-rendering: -webkit-optimize-contrast;
}

.nbrp ul,
li {
	padding-left: 0;
	list-style: none;
}

#footer {
	margin-top: 0;
}

.nbrp sup {
	font-size: 0.7em;
	vertical-align: top;
}

/*　Module --------------*/

/*title*/
.nbrp .tit01 {
	font-size: 1.9rem;
	font-weight: 700;
}

@media print,
screen and (min-width:769px) {
	#nbrp_news .headBox .tit01 {
		font-size: 2.2rem;
	}
}

.nbrp .tit02 {
	font-size: 1.9rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 2rem;
	display: flex;
	align-items: center;
}

.nbrp .tit02:before,
.nbrp .tit02:after {
	content: "";
	height: 1px;
	flex-grow: 1;
	background: #5174cc;
}

.nbrp .tit02:before {
	margin-right: 1rem;
}

.nbrp .tit02:after {
	margin-left: 1rem;
}

.nbrp .tit03 {
	color: #2551bf;
	font-size: 2.3rem;
	font-weight: 700;
	line-height: 1.2;
}

@media print,
screen and (min-width:769px) {
	/*.nbrp .tit02 {
		font-size: 2.2rem;
		margin-bottom: 3rem;
		position: relative;
		display: inline-block;
		padding: 0 14rem;
	}

	.nbrp .tit02::before,
	.nbrp .tit02::after {
		content: "";
		width: 11rem;
		position: absolute;
		top: 50%;
	}

	.nbrp .tit02::before {
		left: 0;
	}

	.nbrp .tit02::after {
		right: 0;
	}*/

	.nbrp .tit03 {
		font-size: 2.8rem;
	}
}

/*button*/
.nbrp .mod_btn [class*="btn"] {
	text-align: center;
	max-width: 34.5rem;
	padding: 1rem;
	margin-left: auto;
	margin-right: auto;
	border-radius: .6rem !important;
	display: block;
	position: relative;
	transition: 0.2s ease-out;
}

.nbrp .mod_btn [class*="btn"] i {
	padding-left: .5rem;
	vertical-align: .1rem;
}

.nbrp .mod_btn [class*="btn"]:hover {
	opacity: 0.7;
	text-decoration: none;
}

.nbrp .mod_btn .btn01 {
	color: #fff;
	background-color: #2551bf;
}

.nbrp .mod_btn .btn02 {
	color: #2551bf;
	background-color: #fff;
	border: 1px solid #becbec;
}

.nbrp .mod_btn .btn02:hover {
	color: #fff;
	background-color: #2551bf;
	border: 1px solid #2551bf;
	opacity: 1;
}

@media print,
screen and (min-width:769px) {
	.nbrp .mod_btn [class*="btn"] {
		max-width: 30rem;
		padding-top: 1.5rem;
		padding-bottom: 1.5rem;
	}
}

/*tabel*/
.nbrp table {
	table-layout: fixed;
}

.nbrp .table01 {
	width: 100%;
	font-feature-settings: "palt";
}

.nbrp .table01 th,
.nbrp .table01 td {
	padding: 3rem 0;
	border-bottom: 1px solid #ccc;
	vertical-align: top;
}

.nbrp .table01 th {
	font-weight: 500;
	width: 20%;
}

@media screen and (max-width:767px) {
	.nbrp .table01 th,
	.nbrp .table01 td {
		padding: 2rem 1rem;
	}

	.nbrp .table01 tr:first-child th {
		border-top: 1px solid #ccc;
	}

	.nbrp .table_sp,
	.nbrp .table_sp tr,
	.nbrp .table_sp th,
	.nbrp .table_sp td {
		width: 100% !important;
	}

	.nbrp .table_sp tr,
	.nbrp .table_sp th,
	.nbrp .table_sp td {
		display: block;
	}

	.nbrp .table_sp th {
		background: #f5f5f5;
	}

	.nbrp .table_scroll {
		overflow: auto;
	}
}

.nbrp .table02 {
	line-height: 1.3;
	width: 100%;
	border: 2px solid #000;
}

.nbrp .table02 th,
.nbrp .table02 td {
	vertical-align: middle;
	text-align: center;
	padding: .3em .1em;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
}

.nbrp .table02 th {
	font-weight: 700;
	background-color: #e6e6e6;
}

/*　Style --------------*/
@media print,
screen and (min-width:769px) {
	.nbrp .w_600 {
		width: 60rem;
	}

	.nbrp .w_920 {
		width: 92rem;
	}

	.nbrp .w_1110 {
		width: 1110px;
	}
}

.nbrp .m_auto {
	margin-left: auto;
	margin-right: auto;
}

.nbrp .pt_10 {
	padding-top: 5rem;
}

.nbrp .pb_10 {
	padding-bottom: 5rem;
}

.nbrp .pt_5 {
	padding-top: 3rem;
}

.nbrp .pb_5 {
	padding-bottom: 3rem;
}

.nbrp .pt_3 {
	padding-top: 2rem;
}

.nbrp .pb_3 {
	padding-bottom: 2rem;
}

.nbrp .mt_5 {
	margin-top: 3rem;
}

.nbrp .mb_5 {
	margin-bottom: 3rem;
}

.nbrp .mt_10 {
	margin-top: 5rem;
}

.nbrp .mb_10 {
	margin-bottom: 5rem;
}

@media print,
screen and (min-width:769px) {
	.nbrp .pt_10 {
		padding-top: 10rem;
	}

	.nbrp .pb_10 {
		padding-bottom: 10rem;
	}

	.nbrp .pt_5 {
		padding-top: 5rem;
	}

	.nbrp .pb_5 {
		padding-bottom: 5rem;
	}

	.nbrp .pt_3 {
		padding-top: 3rem;
	}

	.nbrp .pb_3 {
		padding-bottom: 3rem;
	}

	.nbrp .mt_5 {
		margin-top: 5rem;
	}

	.nbrp .mb_5 {
		margin-bottom: 5rem;
	}
	.nbrp .mt_10 {
		margin-top: 10rem;
	}

	.nbrp .mb_10 {
		margin-bottom: 10rem;
	}
}

/*　text*/
.nbrp .text_center {
	text-align: center;
}
.nbrp .text_right {
	text-align: right;
}

.nbrp .text_indent {
	text-indent: -1em;
	padding-left: 1em;
}

.nbrp .text_underline {
	text-decoration: underline;
}

.nbrp .f_size20 {
	font-size: 1.6rem;
	font-weight: 500;
}

.nbrp .f_size18 {
	font-size: 1.5rem;
	font-weight: 500;
}


.nbrp .f_medium {
	font-weight: 500 !important;
	;
}

.nbrp .f_bold {
	font-weight: 700 !important;
}

.nbrp .f_serif {
	font-family: 'Noto Serif JP', serif;
}

.nbrp .f_en {
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
}

.nbrp .f_en_bold {
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
}

.nbrp .c_blue01 {
	color: #2551bf;
}

@media print,
screen and (min-width:769px) {
	.nbrp .f_size20 {
		font-size: 2rem;
	}

	.nbrp .f_size18 {
		font-size: 1.8rem;
	}
}

/*　backgound*/

.nbrp .bg_blue {
	background-color: #2551bf;
}

.nbrp .bg_lBlue {
	background-color: #eef1fa;
}

/*　etc.*/
.nbrp .d_flex {
	display: flex;
	flex-wrap: wrap;
}

.nbrp .h_over {
	transition: .2s ease-out;
}

.nbrp .h_over:hover {
	opacity: .7;
}


.coming_soon {
	color: #aaa;
	font-size: 3rem;
	letter-spacing: .05em;
	line-height: 1.3;
	font-feature-settings: "palt";
	font-weight: 700;
	margin: 10rem auto;
	padding: 3rem 1.5rem;
	border: 2px solid #aaa;
	border-radius: 2rem;
}

.coming_soon span {
	font-size: .7em;
	display: block;
}

@media screen and (max-width:768px) {
	.coming_soon {
		max-width: 360px;
	}
}

@media screen and (orientation: landscape) {
	.ios .coming_soon,
	.android .coming_soon {
		margin-top: 0;
		margin-bottom: 0;
	}
}

@media print,
screen and (min-width:769px) {
	.coming_soon {
		font-size: 5rem;
		max-width: 1000px;
		margin: 10rem auto;
		padding: 3rem;
	}
}

/* ================================

header

=================================== */

.nbrp_mvTit {
	text-align: center;
	background: #2551bf;
}

.nbrp_mvTit img {
	max-width: 30rem;
	width: 100%;
}

@media print,
screen and (min-width:769px) {
	.nbrp_mvTit img {
		max-width: 73.5rem;
	}
}

/* nbrp_nav --------------*/
.nbrp_nav {
	background: #4f72cc;
}

.nbrp_nav ul {
	display: flex;
	flex-wrap: wrap;
}

.nbrp_nav li {
	text-align: center;
	flex-basis: calc(100% / 3);
	border-bottom: solid 1px #fff;
	border-left: solid 1px #fff;
}

.nbrp_nav li:nth-child(1),
.nbrp_nav li:nth-child(4) {
	border-left: none;
}

.nbrp_nav li a {
	color: #fff;
	font-weight: 500;
	font-size: 1.5rem;
	line-height: 1.2;
	height: 100%;
	padding: 1.6rem 0 1.8rem;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 0.2s ease-out;
}

.nbrp_nav li a:hover {
	opacity: 0.7;
	text-decoration: none;
}

@media screen and (max-width:768px) {
	.nbrp_mvTit {
		padding-left: 10%;
		padding-right: 10%;
	}
}

@media print, screen and (min-width:769px) {
	/* nbrp_nav --------------*/
	.nbrp_nav {
		text-align: center;
		margin-bottom: 1rem;
	}

	.nbrp_nav ul {
		width: 1000px;
		margin-left: auto;
		margin-right: auto;
		display: flex;
		justify-content: space-between;
		flex-wrap: nowrap;
	}

	.nbrp_nav li {
		border: none;
		flex-basis: auto;
		flex-shrink: 0;
		flex-grow: 0;
	}

	.nbrp_nav li a {
		font-size: 1.7rem;
		display: block;
	}
}

/* ================================

TOP

=================================== */

/* 背景イラスト --------------*/
.nbrp [class*="bg_ill"] {
	opacity: .1;
	position: absolute;
}

.nbrp .bg_ill01 {
	width: 24rem;
	top: -18rem;
	left: -6rem;
}

.nbrp .bg_ill02 {
	width: 31.5rem;
	top: 5.5rem;
	right: -9rem;
}

.nbrp .bg_ill03 {
	width: 25rem;
	top: -10rem;
	left: -3rem;
}

.nbrp .bg_ill04 {
	width: 32rem;
	bottom: -7rem;
	right: -9.5rem;
}


/* nbrp_about --------------*/

#nbrp_about {
	position: relative;
}

#nbrp_about .contentIn {
	text-align: center;
}

#nbrp_about .contentIn:not(:first-child) {
	margin-top: 3rem;
}

#nbrp_about .tit_intro {
	font-size: 2.2rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	margin-bottom: 1rem;
}

#nbrp_about .tit {
	text-align: center;
	margin-bottom: 1rem;
	display: flex;
	align-items: center;
}

#nbrp_about .tit:before,
#nbrp_about .tit:after {
	content: "";
	height: 1px;
	flex-grow: 1;
	background: #5174cc;
}

#nbrp_about .tit:before {
	margin-right: 1rem;
}

#nbrp_about .tit:after {
	margin-left: 1rem;
}

#nbrp_about .tit img {
	max-width: 14rem;
}

#nbrp_about .txt {
	font-weight: 500;
	text-align: left;
}

#nbrp_about .intro .txt {
	font-size: 1.6rem;
}

#nbrp_about .about .txt {
	font-size: 1.5rem;
}

/* nbrp_news --------------*/
#nbrp_news .headBox .tit01 {
	padding-bottom: 1rem;
	border-bottom: 1px solid #5174cc;
	display: inline-block;
	position: relative;
}

#nbrp_news .headBox .tit01::after {
	content: "";
	width: 8.4rem;
	height: 4.3rem;
	display: inline-block;
	background: url(/laboratory/animal_experimentation/nbrp/image/mouse01.svg) no-repeat center center / contain;
	position: absolute;
	right: -10rem;
}

#nbrp_news .headBox .tit01 .f_serif {
	font-size: 1.3rem;
	vertical-align: middle;
	padding-left: 1rem;
}

#nbrp_news .item {
	border-bottom: solid 1px #D3D3D3;
	padding: 2rem 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#nbrp_news .item .date {
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	flex: 0 0 100%;
}

#nbrp_news .item .txt {
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: calc(100% - 70px);
}

#nbrp_news .item .more a {
	font-size: 1.3rem;
	font-weight: 500;
	transition: .2s ease-out;
}

#nbrp_news .item .more a:hover {
	text-decoration: none;
	opacity: .7;
}

#nbrp_news .item .more a::after {
	content: "\f0a9";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-left: .5rem;
}

/*nbrp_menu*/
#nbrp_menu {
	position: relative;
}

#nbrp_menu .item {
	text-align: center;
	position: relative;
	padding-bottom: .5rem;
	position: relative;
	z-index: 1;
}

#nbrp_menu .item a {
	color: #fff;
	line-height: 1.1;
	text-decoration: none;
	min-height: 13rem;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}

#nbrp_menu .item .txt01 {
	font-size: 9.5vw;
	font-weight: 300;
}

#nbrp_menu .item .txt02 {
	font-family: 'Noto Serif JP', serif;
	font-size: 1.3rem;
}

#nbrp_menu .contentIn .item a {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

#nbrp_menu .contentIn .item:nth-of-type(1) a {
	background-image: url(/laboratory/animal_experimentation/nbrp/image/btn_about01.png);
}

#nbrp_menu .contentIn .item:nth-of-type(2) a {
	background-image: url(/laboratory/animal_experimentation/nbrp/image/btn_about02.png);
}

#nbrp_menu .contentIn .item:nth-of-type(3) a {
	background-image: url(/laboratory/animal_experimentation/nbrp/image/btn_about03.png);
}

#nbrp_menu .contentIn .item:nth-of-type(4) a {
	background-image: url(/laboratory/animal_experimentation/nbrp/image/btn_about04.png);
}

/* nbrp_app --------------*/

#nbrp_app .contentIn {
	color: #fff;
	padding-top: 4rem;
	padding-bottom: 4rem;
	background-color: #2551bf;
}

#nbrp_app .tit01 {
	padding: 3rem 0;
	margin-bottom: 2.5rem;
	border-bottom: 1px solid #fff;
	position: relative;
}

#nbrp_app .tit01::after {
	content: "";
	width: 7.1rem;
	height: 4.4rem;
	background: url(/laboratory/animal_experimentation/nbrp/image/mouse02.svg) no-repeat center center / contain;
	position: absolute;
	top: -2rem;
	left: 50%;
	transform: translateX(-50%);
}

#nbrp_app .mod_btn .btn_l {
	background: #fff;
	font-size: 6.5vw;
	width: 100%;
	max-width: 100%;
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}

@media(min-width:361px) {
	/* nbrp_menu --------------*/
	#nbrp_menu .item .txt01 {
		font-size: 3.3rem;
	}

	/* nbrp_app --------------*/
	#nbrp_app .tit01 br {
		display: none;
	}

	#nbrp_app .mod_btn .btn_l {
		font-size: 2.2rem;
	}
}

@media print,
screen and (min-width:769px) {
	/* nbrp_about --------------*/
	#nbrp_about .contentIn:not(:first-child) {
		margin-top: 8rem;
	}

	#nbrp_about .tit_intro {
		font-size: 2.8rem;
		margin-bottom: 1.5rem;
	}

	#nbrp_about .tit {
		margin-bottom: 4rem;
		position: relative;
		display: inline-block;
		padding: 0 14rem;
	}

	#nbrp_about .tit::before,
	#nbrp_about .tit::after {
		content: "";
		width: 11rem;
		position: absolute;
		top: 50%;
	}

	#nbrp_about .tit::before {
		left: 0;
	}

	#nbrp_about .tit::after {
		right: 0;
	}

	#nbrp_about .tit img {
		max-width: 16rem;
	}

	#nbrp_about .intro .txt {
		font-size: 2rem;
	}

	#nbrp_about .about .txt {
		font-size: 1.8rem;
	}

	/* nbrp_news --------------*/

	#nbrp_news {
		position: relative;
	}

	#nbrp_news .contentIn {
		max-width: 92rem;
	}

	#nbrp_news .headBox .tit01 {
		padding-bottom: 1.5rem;
		margin-bottom: 4rem;
	}

	#nbrp_news .headBox .tit01 .f_serif {
		font-size: 1.5rem;
	}

	#nbrp_news .headBox .tit01::after {
		width: 12rem;
		height: 6.1rem;
		right: -13rem;
	}

	#nbrp_news .item {
		padding: 2.8rem 1rem;
	}

	#nbrp_news .item .date {
		font-family: 'Roboto', sans-serif;
		font-weight: 700;
		flex: 0 0 150px;
		position: relative;
		z-index: 1;
	}

	#nbrp_news .item .txt {
		flex: 0 0 670px;
	}

	#nbrp_news .item .more a {
		font-size: 1.5rem;
	}

	/* nbrp_menu --------------*/
	#nbrp_menu .listBox {
		display: flex;
		margin-left: -0.5rem;
		margin-right: -0.5rem;
	}

	#nbrp_menu .item {
		text-align: center;
		padding-left: .5rem;
		padding-right: .5rem;
		flex: 0 0 25%;
	}

	#nbrp_menu .item::before {
		content: '';
		display: block;
		padding-top: 100%;
	}

	#nbrp_menu .item a {
		position: absolute;
		top: 0;
		left: .5rem;
		bottom: 0;
		right: .5rem;
	}

	#nbrp_menu .item .txt01 {
		font-size: 3.9rem;
		margin-bottom: 1rem;
	}

	#nbrp_menu .item .txt02 {
		font-size: 1.5rem;
	}

	/* nbrp_app --------------*/
	#nbrp_app .tit01 {
		padding-top: 0;
	}

	#nbrp_app .tit01::after {
		width: 7.1rem;
		height: 4.4rem;
		top: -2rem;
		right: -5rem;
		left: auto;
		transform: none;
	}

	#nbrp_app .tit01::after {
		content: "";
		width: 10.1rem;
		height: 6.3rem;
		background: url(/laboratory/animal_experimentation/nbrp/image/mouse02.svg) no-repeat center center / contain;
		position: absolute;
		top: -2rem;
		right: 5rem;
	}

	#nbrp_app .mod_btn .btn_l {
		font-size: 2.5rem;
	}
}

/* ================================

application

=================================== */

/* coming soon */
.application .coming_soon {
	font-size: 1.8rem;
}

.application .coming_soon .text_right {
	font-size: 1.6rem;
}

@media print,
screen and (min-width:769px) {
	.application .coming_soon {
		font-size: 3rem;
		padding-left: 12rem;
		padding-right: 12rem;
	}

	.application .coming_soon .text_right {
		font-size: 2rem;
		text-align: right;
	}
}

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

.application .borderBox01 {
	padding: 1rem 1.5rem 1.5rem;
	background: #fff;
	border: 5px solid #a8b9e5;
}

.application .schedule {
	font-size: 1.8rem;
}

.application .listBox01 {
	color: #fff;
	margin-bottom: 2rem;
}

.application .listBox01 .item01 {
	padding: 1rem 5vw 0;
	position: relative;
}

.application .listBox01 .item02 {
	padding: 0 5vw 1rem;
	border-bottom: 1px solid #fff;
	position: relative;
}

.application .schedule .borderBox01 {
	line-height: 1.5;
	margin-bottom: 2rem;
}

.application .listBox02 .item {
	color: #fff;
	padding: 2rem 5vw;
	margin-bottom: 3.5rem;
	border-radius: 2rem;
	position: relative;
}

.application .listBox02 .item.item:last-child {
	margin-bottom: 2.5rem;
}

.application .listBox02 .item:not(:last-child)::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 1.8rem 2.5rem 0 2.5rem;
	border-color: #92a8df transparent transparent transparent;
	display: inline-block;
	position: absolute;
	bottom: -3rem;
	left: 50%;
	transform: translateX(-50%);
}

.application .listBox02 .item .txt01 {
	margin-top: 2rem;
}

.application .listBox02 .item .txt01+* {
	margin-top: 2rem;
}

.application .listBox02 .item .btnBox .mod_btn .btn {
	color: #2551bf;
	line-height: 1.3;
	text-align: left;
	height: 100%;
	padding: 1.5rem;
	border-radius: 2rem !important;
	box-shadow: .5rem .5rem .5rem rgba(9, 46, 122, 0.4);
	background: #fff;
}

.application .listBox03 {
	text-align: left;
}

.application .borderBox02 {
	line-height: 1.5;
	padding: 1.5rem;
	background-color: #fff;
	border: 1px solid #000;
	border-radius: 2rem;
}

@media print,
screen and (max-width:768px) {
	.application .listBox01 {
		font-feature-settings: "palt";
	}

	.application .listBox02 .item .btnBox .mod_btn:not(:first-child) .btn {
		margin-top: 1rem;
	}

	.application .listBox02 .item .btnBox .mod_btn .btn {
		max-width: 43rem;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}

	.application .listBox02 .item .btnBox .mod_btn .btn>* {
		flex-grow: 0;
		flex-shrink: 0;
	}

	.application .listBox02 .item .btnBox .mod_btn .btn .imgBox {
		max-width: 45px;
		flex-basis: 45px;
	}

	.application .listBox02 .item .btnBox .mod_btn .btn .txtBox {
		max-width: calc(100% - 55px);
		flex-basis: calc(100% - 55px);
	}

	.application .listBox02 .item .btnBox .mod_btn .btn .txtBox .txt02:nth-of-type(2) {
		padding-top: .5rem;
	}
}

@media print,
screen and (min-width:769px) {
	.application .schedule {
		font-size: 2.4rem;
	}

	.application .schedule .borderBox01 {
		text-align: center;
	}

	.application .schedule .notes {
		text-align: center;
	}

	.application .listBox01 {
		font-size: 2.4rem;
		display: flex;
		flex-wrap: wrap;
	}

	.application .listBox01 [class*="item"] {
		flex-grow: 0;
		flex-shrink: 0;
	}

	.application .listBox01 .item01 {
		padding: 2rem 2rem 2rem 5rem;
		max-width: 36%;
		flex-basis: 36%;
		border-bottom: 1px solid #fff;
	}

	.application .listBox01 .item02 {
		padding: 2rem 0 2rem 4rem;
		max-width: 64%;
		flex-basis: 64%;
	}

	.application .listBox01 .item02::before {
		content: "";
		width: 1px;
		height: calc(100% - 40px);
		background: #fff;
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	}

	.application .listBox02 .item {
		padding: 2rem 5rem 3rem;
		margin-bottom: 7rem;
		position: relative;
	}

	.application .step .tit02 {
		margin-bottom: 4rem;
	}

	.application .listBox02 .item.item:last-child {
		margin-bottom: 5rem;
	}

	.application .listBox02 .item:not(:last-child)::after {
		border-width: 3rem 3.5rem 0 3.5rem;
		bottom: -5rem;
	}

	.application .listBox02 .item .btnBox {
		display: flex;
		justify-content: space-between;
	}

	.application .listBox02 .item .btnBox .mod_btn {
		max-width: calc(50% - 10px);
		flex-grow: 0;
		flex-shrink: 0;
		flex-basis: calc(50% - 10px);
	}

	.application .listBox02 .item .btnBox .mod_btn:nth-of-type(2) .btn {
		text-align: center;
	}

	.application .listBox02 .item .btnBox .mod_btn .btn .txtBox .txt02 {
		text-align: left;
		padding-top: .8rem;
		display: inline-block;
	}

	.application .borderBox02 {
		padding: 3rem;
		margin-left: -5rem;
		margin-right: -5rem;
	}
}

/* ================================

contact

=================================== */

/* 準備中 */
@media print,
screen and (min-width:769px) {
	.nbrp.contact #contactInfo .tit02 {
		margin-bottom: 2rem;
	}
}

/* ================================

aging

=================================== */

.aging .btn_data {
	margin-bottom: 2rem;
}

.aging .btn_data .btn01 {
	font-size: clamp(2rem, 8vw, 3rem);
	font-weight: 700;
	line-height: 1.15;
	max-width: initial;
	padding: 1em;
	background-image: url(../image/aging/ill_btn01.svg);
	background-repeat: no-repeat;
	background-position: 0px -1rem;
	background-size: 40%;
	border-radius: 0 !important;
}

.aging .btn_data .btn01::after {
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-size: 0.8em;
	font-weight: 900;
	position: absolute;
	right: 2rem;
	top: 50%;
	transform: translateY(-50%);
}

.aging .listItem>a {
	padding: 3rem 4rem;
	margin-bottom: 2rem;
	border: 3px solid #2551bf;
	display: block;
	position: relative;
	transition: .2s;
}

.aging .listItem>a:hover {
	opacity: .6;
	text-decoration: none;
}

.aging .listItem>a::after {
	content: "\f105";
	color: #2551bf;
	font-size: 1.6em;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: absolute;
	top: calc(50% - .85em);
	right: 1rem;
}

.aging .listItem>a .tit03 {
	font-size: 1.15em;
	min-height: 6rem;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid #2551bf;
}

.aging .listItem>a .name {
	font-size: 1.2em;
	font-weight: 500;
}

.aging .listItem>a .name span {
	font-size: 1em;
	padding-right: 1rem;
}

@media screen and (max-width:768px) {
	.aging .listItem>a {
		padding: 2rem 3rem 2rem 2rem;
	}

	.aging .listItem>a .name span {
		display: block;
	}
}
@media print, screen and (min-width:769px) {
	.aging .btn_data {
		margin-bottom: 5rem;
	}

	.aging .btn_data .btn01 {
		font-size: 4.1rem;
		padding-top: 5rem;
		padding-bottom: 5rem;
		background-size: 24%;
	}

	.aging .btn_data .btn01::after {
		right: 7rem;
	}

	.aging .messageMenu {
		display: flex;
		gap: 4%;
	}

	.aging .messageMenu .listItem {
		width: 48%;
	}

	.aging .listItem>a {
		padding: 3rem 5rem 3rem 4rem;
	}
}

/*メッセージ*/

.aging .headBox [class*="name_"] {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1;
	padding-top: 1.5rem;
}

.aging .headBox [class*="name_"]>span {
	font-size: .8em;
}

.aging [id*="aging_"]+[id*="aging_"] {
	border-top: 1px solid #ccc;
}

@media screen and (max-width:768px) {
	.aging .headBox .imgBox {
		text-align: center;
		max-width: 20rem;
		margin-left: auto;
		margin-right: auto;
		padding-top: 1.5rem;
	}

	.aging .headBox .name_pc {
		display: none;
	}

	.aging .headBox .name_sp>span {
		line-height: initial;
	}
}

@media print, screen and (min-width:769px) {
	.aging .headBox {
		display: flex;
		flex-direction: row-reverse;
		justify-content: flex-end;
		align-items: flex-end;
		margin-bottom: 1rem;
	}

	.aging .headBox .imgBox {
		flex: 0 0 20rem;
		padding-right: 2rem;
	}

	.aging .headBox [class*="name_"] {
		font-size: 2.2rem;
	}

	.aging .headBox [class*="name_"]>span {
		padding-right: 1em;
	}

	.aging .headBox .name_sp {
		display: none;
	}

	.aging .linkBox > .listItem > a {
		width: 60%;
		margin-left: auto;
		margin-right: auto;
	}
}

/* ================================

aging - data

=================================== */

/* data title */
.aging.data [class*="tit"] {
	font-weight: 700;
	line-height: 1.3;
}

.aging.data .tit04 {
	color: #2551bf;
	font-size: clamp(2rem, 9vw, 4.3rem);
	margin-bottom: min(2vw, .8em);
}

.aging.data .tit05 {
	color: #2551bf;
	font-size: clamp(1.8rem, 6vw, 3rem);
	font-weight: 700;
	text-align: center;
	padding-bottom: .5em;
	margin-bottom: 1.5em;
	position: relative;
}

.aging.data .tit05::after {
	content: "";
	width: 100%;
	max-width: 41rem;
	height: 1px;
	background-color: #2551bf;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
}

.aging.data .tit06 {
	font-size: clamp(1.6rem, 3vw, 2rem);
	margin-bottom: 1em;
	display: flex;
	align-items: center;
}

.aging.data .tit06:before,
.aging.data .tit06:after {
	content: "";
	height: 1px;
	flex-grow: 1;
	background-color: #231815;
}

.aging.data .tit06:before {
	margin-right: .8em;
}

.aging.data .tit06:after {
	margin-left: .8em;
}

/*  data button */
.aging.data .mod_btn {
	font-size: clamp(2rem, 5vw, 2.8rem);
	line-height: 1.3;
	padding: 1em 0;
	position: relative;
}

.aging.data [class*="_btn"]:not(.mod_btn) {
	font-size: clamp(2rem, 5vw, 2.8rem);
	font-weight: 700;
	text-decoration: none;
	text-align: center;
	line-height: 1.3;
	width: 100%;
	padding: 1em 0;
	display: block;
	cursor: pointer;
	position: relative;
}

.aging.data [class*="_btn"]:not(.mod_btn)::after {
	font-size: clamp(2rem, 6vw, 2.8rem);
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: inline-block;
	position: absolute;
	right: 1.4em;
	top: 50%;
	transform: translateY(-50%);
}

.aging.data ._btn03 {
	color: #fff;
	background-color: #2551bf;
}

.aging.data ._btn04 {
	color: #2551bf;
	background-color: #fff;
	border: 1px solid #2551bf;
}

/* data_top */

.aging.data .head01 {
	text-align: center;
}
.aging.data .head01 figure img {
	width: clamp(10rem, 15vw, 14rem);
	margin-bottom: .8em;
}

.aging.data .data_intro .txtBox {
	font-weight: 500;
}

.aging.data .data_intro .txtBox p {
	margin-bottom: 1em;
}
.aging.data .data_intro .txtBox .borderBox01 {
	width: 100%;
	padding: 1rem 1.5rem 1.5rem;
	margin-bottom: 2em;
	background: #fff;
	border: 5px solid #a8b9e5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}

@media print, screen and (min-width:769px) {
	.aging.data .data_intro .txtBox {
		font-size: 1.8rem;
	}
}

/* data_top [modal] */

.modal_open ._btn03 {
	margin-bottom: 1rem;
}

.modal_open ._btn03::after {
	content: "";
	width: 1em;
	height: 1em;
	background: url(../image/aging/icn_modal_w.svg) no-repeat center / contain;
}

.modal_item {
	text-align: center;
	display: none;
	position: fixed;
	z-index: 9999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0, 0, 0, 0.4);
	transition: .3s;
}

.modal_item:before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}

.modal_item_content {
	width: calc(100% - 2rem);
	max-width: 92rem;
	padding: 1rem;
	border: 1px solid #888;
	background-color: white;
	position: relative;
	display: inline-block;
	vertical-align: middle;
}

.modal_item_content .btn01 {
	font-size: 1.5rem;
	font-weight: 400;
	max-width: 54.7rem;
}

.modal_item_content .close {
	color: #aaa;
	float: right;
	font-size: 28px;
	font-weight: bold;
}

.modal_item_content .close:hover,
.modal_item_content .close:focus {
	color: black;
	text-decoration: none;
	cursor: pointer;
}

@media print, screen and (min-width:769px) {
	.modal_open {
		display: flex;
		gap: 4%;
	}

	.modal_item_content {
		width: 80%;
		padding: 2rem;
	}
}

/* data_top [ドロップダウンメニュー] */

.data_menu ._item nav {
	display: none;
}
.data_menu ._item .menu_open {
	margin-top: 1rem;
}
.data_menu ._item .menu_open:not(.active) {
	background-color: #d3dcf2;
}

.data_menu ._item .menu_open::after {
	/* 閉じている時 */
	content: "\f077";
}
.data_menu ._item .menu_open.active::after {
	/* 開いている時 */
	content: "\f078";
}

@media print, screen and (min-width:769px) {
	.data_menu {
		display: flex;
		gap: 4%;
	}

	.data_menu ._item {
		width: 48%;
	}
}

/* data_under [各データ詳細] */

.aging.data .data_detail .d_flex {
	gap: 4%;
}
.aging.data .data_detail .d_flex > * {
	flex-basis: 48%;
}

.aging.data .data_detail .table02 {
	word-wrap: break-word;
}

.aging.data .data_detailBox01 .btn_ext {
	font-weight: 400;
}

.aging.data .data_detailBox01 .btn_ext::after {
	content: "\f35d";
}

.aging.data .data_detailBox01 .table02 tr > * {
	padding-top: 1em;
	padding-bottom: 1em;
}
.aging.data .data_detailBox01 .table02 tr th:nth-of-type(1) {
	width: 10%;
}

.aging.data .data_detailBox01 .btn02 {
	font-size: clamp(1.6rem, 3vw, 2rem);
	font-weight: 700;
	max-width: initial;
	border: 2px solid #2551bf;
	border-radius: 1em!important;
	transition: .2s;
}

.aging.data .data_detailBox01 .btn02:hover {
	color: #2551bf;
	background-color: #fff;
	opacity: .7;
}

@media screen and (max-width:768px) {
	.aging.data .data_detail .d_flex {
		display: block;
	}
}

@media print, screen and (min-width:769px) {
	.aging.data .data_detail {
		padding-top: 4rem;
	}

	.aging.data .data_detailBox01 .table02 tr:nth-of-type(2) {
		font-size: 2rem;
	}
}

.aging.data .data_detailBox02 .table02 tr th:nth-of-type(1) {
	width: 22%;
}
.aging.data .data_detailBox02 .table02 tr:nth-child(n+2) td:nth-child(n+2) {
	text-align: left;
}

.aging.data .data_detailBox02 .table02.row_3 tr th:nth-of-type(2){
	width: 60%;
}


@media screen and (max-width:768px) {
	.aging.data .data_detailBox02 .table02 {
		width: 73.7rem;
	}
	.aging.data .data_detailBox02 .table02 tr th:nth-of-type(1) {
		width: 15%;
	}
}

@media screen and (max-width:575px) {
	.aging.data .data_detailBox02 .table02 tr th:nth-of-type(2) {
		text-align: left;
	}
}

.aging.data .data_chart .chartList {
	text-align: center;
	background-color: #fff;
}

.aging.data .data_chart .chartList li {
	padding: 1.5em 0;
}

.aging.data .data_chart .btn01 {
	font-size: 1.5rem;
	font-weight: 400;
	max-width: 54.7rem;
}

.aging.data .data_chart .btn01::after {
	content: "";
	width: 1.5em;
	height: 1.5em;
	background: url(/laboratory/animal_experimentation/nbrp/image/aging/icn_return_w.svg) no-repeat center / contain;
	position: absolute;
	right: min(5vw, 8rem);
	top: 50%;
	transform: translateY(-50%);
}
@media print, screen and (min-width:769px) {
	.aging.data .data_chart .btn01 {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
	.aging.data .data_chart .btn01::after {
		width: 2em;
		height: 2em;	
	}
	
}
/* ================================
symposium 追加・修正分
=================================== */

/* th幅調整 */
.symposium .table01 th {
  width: 14rem;
}

@media print, screen and (min-width:769px) {
  .symposium .table01 th {
    width: 18rem;
  }
}

/* 主催・後援テーブルを上下中央揃えに上書き */
.symposium .table01 th,
.symposium .table01 td {
  vertical-align: middle;
}

/* ナビ current */
.nbrp_nav li.current a {
  background: rgba(255, 255, 255, 0.25);
  font-weight: 700;
}

/* イントロ申し込み部分の余白を詰める＋中央揃え */
.symp_intro_apply {
  margin-top: 1rem !important;
  padding-top: 0 !important;
  text-align: center;
}
.symp_intro_btn {
  margin-top: 1rem !important;
  padding-top: 0 !important;
}

/* 開催概要リスト */
.symp_info_list {
  list-style: none;
  padding: 0;
}
.symp_info_list li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 1.2rem 0;
  border-bottom: 1px solid #c5cfea;
  font-size: 1.5rem;
}
.symp_info_list li:first-child {
  border-top: 1px solid #c5cfea;
}
.symp_info_label {
  font-weight: 700;
  color: #2551bf;
  flex: 0 0 10rem;
}
.symp_info_val {
  flex: 1;
}
.symp_note {
  display: block;
  font-size: 1.3rem;
  color: #666;
}

/* Googleマップ */
.symp_map iframe {
  width: 100%;
}

/* プログラム各ブロック */
.symp_block {
  margin-bottom: 4rem;
}

/* プログラム・主催後援 見出しの文字色を青に */
.symposium h2.tit02 {
  color: #2551bf;
  font-size: 2em;
}

/* symp_block_ttl：h3要素に直接指定して確実に青に */
h3.symp_block_ttl {
  font-size: 1.7rem;
  font-weight: 700;
  color: #2551bf;
  border-left: 4px solid #2551bf;
  padding-left: 1rem;
  margin-bottom: 1.5rem;
  line-height: 1.3;
}

/* 人物テーブル（開会挨拶） */
.symp_person_table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 1.5rem;
}
.symp_person_table tr {
  border-bottom: 1px solid #ddd;
}
.symp_person_table tr:first-child {
  border-top: 1px solid #ddd;
}
.symp_person_table td {
  padding: 1.2rem 0;
  vertical-align: middle;
}
.symp_person_role {
  width: 35%;
  line-height: 1.6;
}
.symp_person_name {
  width: 65%;
  white-space: nowrap;
}

/* スマホ：テーブルを上下2行に切り替え */
@media screen and (max-width: 768px) {
  .symp_person_table,
  .symp_person_table tbody,
  .symp_person_table tr,
  .symp_person_table td {
    display: block;
    width: 100% !important;
  }
  .symp_person_table tr {
    padding: 1rem 0;
  }
  .symp_person_table td {
    padding: 0;
    white-space: normal;
  }
  .symp_person_name {
    font-size: 1.5rem;
    padding-top: 0.3rem !important;
  }
}

/* 事業報告・閉会 */
.symp_greeting_list {
  list-style: none;
  padding: 0;
}
.symp_greeting_list li {
  padding: 1rem 0;
  border-bottom: 1px solid #ddd;
  font-size: 1.5rem;
}
.symp_greeting_list li:first-child {
  border-top: 1px solid #ddd;
}
.symp_greeting_bullet li {
  padding-left: 2.2rem;
  position: relative;
}
.symp_greeting_bullet li::before {
  content: "＊";
  color: #2551bf;
  font-weight: 700;
  position: absolute;
  left: 0;
  top: 1rem;
}
.symp_item_ttl {
  font-weight: 700;
  margin-bottom: 0.2rem;
}
.symp_item_name {
  font-size: 1.4rem;
  color: #555;
}

/* 講演リスト：菱形マーカー */
.symp_lecture_list {
  list-style: none;
  padding: 0;
}
.symp_lecture_list li {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.8rem 0;
  border-bottom: 1px solid #ddd;
}
.symp_lecture_list li:first-child {
  border-top: 1px solid #ddd;
}
.symp_lecture_list li::before {
  content: "◆";
  color: #2551bf;
  font-size: 1.2rem;
  font-weight: 700;
  flex-shrink: 0;
  align-self: flex-start;
  margin-top: 0.3rem;
}
.symp_lecture_content {
  flex: 1;
}
.symp_lecture_ttl {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 0.5rem;
  color: #222;
}
.symp_lecture_name {
  font-size: 1.4rem;
  color: #555;
}

@media print, screen and (min-width:769px) {
  .symp_info_list li {
    font-size: 1.7rem;
    padding: 1.5rem 0;
  }
  .symp_info_label {
    flex: 0 0 14rem;
  }
  .symp_note {
    font-size: 1.4rem;
  }
  h3.symp_block_ttl {
    font-size: 2rem;
  }
  .symp_person_table {
    font-size: 1.7rem;
  }
  .symp_greeting_list li {
    font-size: 1.7rem;
  }
  .symp_item_name {
    font-size: 1.5rem;
  }
  .symp_lecture_list li {
    padding: 2.5rem 0;
  }
　.symp_lecture_ttl {
  　font-size: 1.6rem;
  　font-weight: 700;
  　line-height: 1.5;
  　margin-bottom: 1rem;
  　color: #222;
　}
  .symp_lecture_name {
    font-size: 1.5rem;
  }
}
.symp_lecture_name {
  font-size: 1.5rem;
  color: #555;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 0;
}
.symp_lecture_pdf {
  font-size: 1.6rem;
  font-weight: 400;
  color: #2551bf;
  margin-left: 0.8rem;
  white-space: nowrap;
  text-decoration: none;
  vertical-align: baseline;
}
.symp_lecture_pdf i {
  vertical-align: middle;
  margin-right: 0.2rem;
}
.symp_lecture_pdf:hover {
  text-decoration: underline;
}

@media print, screen and (min-width:769px) {
  .symp_lecture_pdf {
    font-size: 1.8rem;
  }
}