@charset "utf-8";
.message_top{
	border: 1px solid #CCCCCC;
	border-radius: 8px;
	padding: 70px 20px 40px;
	position: relative;
}
.message_top::before{
	position: absolute;
	content: "";
	background: url(/wp-content/uploads/2025/02/bg_message.png) no-repeat center/cover;
	width: 233px;
	height: 174px;
	right: 60px;
	top: 52px;
}
.message_txt{
	max-width: 920px;
	margin: 0 auto;
}
.message_txt p{margin: 20px 0 0;}
.message_top h2{
	margin: 0;
	padding: 0;
	font-size: 2.4rem;
	line-height: 3.6rem;
	letter-spacing: 2.4px;
	background: none;
}
.message_top h2::before{display: none;}
.department_list{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	padding: 0;
	gap: 20px;
	margin: 45px 0 0;
}
.department_item{
	list-style: none;
	margin-bottom: 0;
	position: relative;
}
.department_item::before {
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	margin: auto;
	width: 22px;
	height: 22px;
	border: 1px solid #333333;
	border-radius: 50%;
	bottom: 20px;
}
.department_item::after {
	content: "";
	position: absolute;
	bottom: 25px;
	left: calc(50% - 4px);
	width: 6px;
	height: 6px;
	border-top: 1px solid #333333;
	border-right: 1px solid #333333;
	transform: translate(0, -50%) rotate(45deg);
}
.department_link{
	color: #333 !important;
	text-decoration: none;
	background: #C5DEF1;
	border-radius: 8px;
	display: flex;
	height: 100%;
	flex-direction: column;
	align-items: center;
	padding: 35px 20px 60px;
}
.department_link::before {
	position: absolute;
	content: "";
	top: -5px;
	left: -5px;
	right: -5px;
	bottom: -5px;
	border: 3px solid #1336C2;
	border-radius: 12px;
	opacity: 0;
	transition: opacity .3s;
}
.department_link:hover::before {opacity: 1;}
.department_img{
	margin: 0 auto;
	width: 90px;
	height: 90px;
}
.department_title{
	background: none;
	margin: 22px 0 0;
	padding: 0;
	font-size: 2rem;
	letter-spacing: 2px;
	line-height: 2.9rem;
	font-weight: 500;
}
.department_title::before{display: none;}
/* センター概要 */
.policy_box{
	background: #F7F6F0;
	border-radius: 8px;
	padding: 50px 40px;
	text-align: center;
}
.policy_box p{
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
	font-size: 1.8rem;
	margin-bottom: 0;
}
.policy_box .large_txt{
	font-size: 2.6rem;
	line-height: 4.68rem;
	margin:35px 0 12px;
}
.large_txt:first-child{margin-top: 0;}
/* 医師 */
.medical_box{
	display: flex;
	flex-direction: column;
	gap: 50px;
	margin-top: 50px;
}
.medical_box_in{
	display: grid;
	grid-template-columns:1fr 2fr;
	gap: 10px;
	align-items: flex-start;
}
.medical_thumb{
	background: #F6F6F6;
	overflow: hidden;
	border-radius: 8px;
	max-width: 350px;
}
.medical_img{margin: auto;}
.medical_position{
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	font-weight: 500;
	margin-bottom: 0;
}
.medical_name {
	margin-bottom: 0;
	position: relative;
}
.medical_name h3{
	margin: 0;
}
.medical_name button{
	position: absolute;
	bottom: 18px;
	right: 0;
	font-family: "Noto Sans JP", serif;
	background:none;
	border:none;
	cursor:pointer;
	background: #F3F3F0;
	border-radius: 4px;
	height: 33px;
	transition: background .3s, color .3s;
	color: #333 !important;
}
.medical_name button span{
	position: relative;
	padding: 0 23px 0 8px;
	font-size: 1.6rem;
}
.medical_name button span::before, .medical_name button span::after{
	content:'';
	position:absolute;
	top:0;
	right:5px;
	bottom:0;
	width:14px;
	height:2px;
	margin:auto;
	background:#1373C2;
	border-radius: 8px;
	transition: background .3s;
}
.medical_name button span::after{
	transform:rotate(90deg);
	transition:transform 0.3s , background .3s;
}
.medical_name button.open span::after{transform:rotate(180deg);}
.medical_name button:hover, .medical_name button.open{
	background: #1336C2;
	color: #fff !important;
}
.medical_name button:hover span::after, .medical_name button:hover span::before, .medical_name button.open span::after{background: #fff;}

.medical_content {
	display: none;
	align-items: center;
	border-bottom: 2px solid #1373C2;
	padding: 20px 0;
}
.medical_pdf{margin-bottom: 10px;}
.medical_content h4{margin: 38px 0 12px;}
.medical_content table{margin-top: 0;}
.research .page_link{padding: 30px 10px 25px;}
@media screen and (max-width:1024px){

.department_list{
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
.department_link{
	display: grid;
	grid-template-columns: 60px auto;
	padding: 15px 40px 15px 15px;
	gap: 15px;
}
.department_img{
	width: 60px;
	height: 60px;
}
.department_title{
	font-size: 1.8rem;
	letter-spacing: 1.8px;
	line-height: 2.6rem;
	margin-top: 0;
}
.department_item::before{
	right: 15px;
	bottom: 0;
	top: 0;
	margin: auto;
	left: auto;
}
.department_item::after{
	right: 24px;
	top: 50%;
	bottom: calc(50% - 6px);
	margin: auto;
	left: auto;
}
.medical_content th{width: 160px;}
}


@media screen and (max-width:767px){
.message_top{padding: 35px 20px;}
.message_top::before{
	right: 0;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto;
}
.message_top h2{
	font-size: 2rem;
	letter-spacing: 2px;
}

.department_list{
	grid-template-columns: 1fr;
	gap: 15px;
	margin-top: 40px;
}
.department_title{
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.4rem;
}

/* センター概要 */
.policy_box{padding: 35px 25px 45px;}
.policy_box p{
	font-size: 1.4rem;
	line-height: 2.4rem;
}
.policy_box .large_txt{
	font-size: 1.8rem;
	line-height: 3.6rem;
	margin: 22px 0 5px;
}
.large_txt:first-child{margin-top: 0;}
/* 医師 */
.medical_box_in{
	grid-template-columns:1fr;
	gap: 20px;
}
.medical_thumb{max-width: 100%;}
.medical_position{
	font-size: 1.3rem;
	letter-spacing: 1.3px;
	padding-right: 120px;
}
.medical_name button{
	bottom: 25px;
}
.medical_name button span{
	position: relative;
	padding: 0 27px 0 5px;
	font-size: 1.2rem;
}
.medical_name button span::before, .medical_name button span::after{right:3px;}
.medical_content th{width: 108px;}
/* 業績（論文） */
.research .page_link{
	flex-direction: row;
	gap: 20px 40px;
}

}






