@charset "utf-8";
/* CSS Document */

/* ==================== Profile Page custom styles ==================== */
/* ヒーロー直下のサブタイトル */
.pf-subline{
text-align:center;
color:rgba(0,96,64,0.80);
font-style:italic;
font-size:16px;
margin:0 0 20px;
letter-spacing:0.05em;
}
.pf-subline .pf-en{
font-family:Georgia, serif;
font-weight:bold;
margin-right:14px;
}
@media screen and (max-width: 768px){
.pf-subline{
font-size:14px;
}
}

/* ヒーローのメタ情報（生年・出身） */
.pf-meta-info{
display:flex;
justify-content:center;
gap:30px;
flex-wrap:wrap;
margin:0 0 50px;
padding:18px 0;
border-top:1px solid rgba(0,96,64,0.30);
border-bottom:1px solid rgba(0,96,64,0.30);
font-size:15px;
}
.pf-meta-info-item{
display:inline-flex;
align-items:center;
gap:10px;
}	
.pf-meta-info-label{
display:inline-block;
background:rgba(0,96,64,0.85);
color:#fff;
font-size:11px;
font-weight:bold;
padding:3px 12px;
border-radius:20px;
letter-spacing:0.1em;
}
@media screen and (max-width: 768px){
.pf-meta-info{
flex-direction:column;
align-items:flex-start;
justify-content:flex-start;
gap:10px;
font-size:14px;
padding:16px 0;
}
}

/* セクション番号付きh3（既存h3-styleに番号追加） */
.pf-h3-num{
display:inline-block;
width:42px;
height:42px;
background:rgba(0,96,64,0.85);
color:#fff;
border-radius:50%;
text-align:center;
line-height:42px;
font-family:Georgia, serif;
font-weight:bold;
font-size:18px;
margin-right:14px;
vertical-align:middle;
flex-shrink:0;
}
@media screen and (max-width: 768px){
.pf-h3-num{
width:32px;
height:32px;
line-height:32px;
font-size:14px;
margin-right:10px;
}
}

/* 所属・役職リスト */
.pf-deflist{
margin:0 0 20px;
padding:0;
list-style:none;
}
.pf-defrow{
display:flex;
gap:24px;
padding:18px 0;
border-bottom:1px dashed #d8e0dc;
align-items:flex-start;
}
.pf-defrow:first-child{
padding-top:0;
}
.pf-defrow:last-child{
border-bottom:none;
}
.pf-defrow-label{
flex-shrink:0;
width:130px;
color:rgba(0,96,64,0.90);
font-weight:bold;
font-size:14px;
padding-top:2px;
letter-spacing:0.02em;
}
.pf-defrow-label.pf-current{
color:#fff;
background:rgba(0,96,64,0.85);
text-align:center;
padding:4px 10px;
border-radius:4px;
font-size:13px;
}
.pf-defrow-content{
flex:1;
line-height:1.7;
min-width:0;
}
.pf-role-main{
font-size:17px;
font-weight:bold;
color:#333;
margin-bottom:6px;
}
.pf-role-sub{
color:#555;
}
@media screen and (max-width: 768px){
.pf-defrow{
flex-direction:column;
gap:6px;
padding:14px 0;
}
.pf-defrow-label{
width:auto;
font-size:13px;
}
.pf-role-main{
font-size:15px;
}
}

/* 資格・認定 */
.pf-cert-group{
margin-bottom:30px;
}
.pf-cert-group:last-child{
margin-bottom:0;
}
.pf-cert-grouptitle{
display:flex;
align-items:center;
gap:10px;
font-size:16px;
font-weight:bold;
color:#333;
margin:0 0 14px 0;
padding-bottom:10px;
border-bottom:2px solid rgba(0,96,64,0.30);
}
.pf-cert-grouptitle::before{
content:"";
display:inline-block;
width:6px;
height:18px;
background:rgba(0,96,64,0.85);
border-radius:2px;
flex-shrink:0;
}
.pf-cert-list{
display:flex;
flex-wrap:wrap;
gap:10px;
}
.pf-cert-item{
display:inline-flex;
align-items:center;
gap:8px;
background:#f4f9f7;
border:1px solid #c8e0d5;
border-left:3px solid rgba(0,96,64,0.70);
border-radius:6px;
padding:10px 16px;
font-size:14px;
color:#333;
font-weight:500;
line-height:1.5;
}
.pf-cert-item::before{
content:"✓";
color:rgba(0,96,64,0.85);
font-weight:bold;
font-size:13px;
}
@media screen and (max-width: 768px){
.pf-cert-grouptitle{
font-size:15px;
}
.pf-cert-item{
font-size:13px;
padding:8px 12px;
}
}

/* 受賞 */
.pf-award{
background:linear-gradient(135deg, #fff8e1 0%, #fff3c4 100%);
border:1px solid #e6c870;
border-left:5px solid #d4a000;
border-radius:8px;
padding:26px 30px;
position:relative;
}
.pf-award-icon{
position:absolute;
top:22px;
right:26px;
width:54px;
height:54px;
background:#d4a000;
color:#fff;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:28px;
box-shadow:0 4px 10px rgba(212,160,0,0.30);
}
.pf-award-title{
font-size:18px;
font-weight:bold;
color:#7a5500;
margin:0 70px 12px 0;
line-height:1.5;
}
.pf-award-desc{
color:#5a4500;
line-height:1.8;
margin:0;
}
.pf-award-meta{
display:inline-block;
margin-top:14px;
font-size:13px;
color:#7a5500;
font-style:italic;
padding:4px 12px;
background:rgba(212,160,0,0.15);
border-radius:4px;
}
@media screen and (max-width: 768px){
.pf-award{
padding:22px 22px;
}
.pf-award-icon{
width:42px;
height:42px;
font-size:22px;
top:18px;
right:18px;
}
.pf-award-title{
font-size:15px;
margin-right:54px;
}
}

/* 国際研修 */
.pf-int-list{
display:flex;
flex-wrap:wrap;
gap:18px;
}
.pf-int-card{
flex:1 1 calc(33.33% - 12px);
min-width:260px;
background:#fff;
border:1px solid #d8e0dc;
border-top:4px solid rgba(0,96,64,0.85);
border-radius:8px;
padding:22px 24px;
box-sizing:border-box;
box-shadow:0 2px 6px rgba(0,0,0,0.04);
}
.pf-int-flag{
display:inline-block;
background:rgba(0,96,64,0.85);
color:#fff;
font-size:13px;
font-weight:bold;
padding:5px 14px;
border-radius:20px;
margin-bottom:14px;
letter-spacing:0.05em;
}
.pf-int-title{
font-size:15px;
font-weight:bold;
color:#333;
margin:0 0 8px 0;
line-height:1.5;
}
.pf-int-desc{
font-size:13px;
color:#555;
margin:0;
line-height:1.7;
}
@media screen and (max-width: 768px){
.pf-int-card{
flex:1 1 100%;
min-width:0;
}
}

/* 論文 */
.pf-paper-list{
margin:0;
padding:0;
list-style:none;
}
.pf-paper-item{
display:flex;
gap:18px;
padding:18px 0;
border-bottom:1px dashed #d8e0dc;
align-items:flex-start;
}
.pf-paper-item:first-child{
padding-top:0;
}
.pf-paper-item:last-child{
border-bottom:none;
padding-bottom:0;
}
.pf-paper-role{
flex-shrink:0;
width:84px;
display:inline-block;
text-align:center;
font-size:12px;
font-weight:bold;
color:#fff;
padding:6px 0;
border-radius:4px;
letter-spacing:0.05em;
}
.pf-paper-role.pf-paper-lead{
background:rgba(0,96,64,0.85);
}
.pf-paper-role.pf-paper-co{
background:#6a8a95;
}
.pf-paper-body{
flex:1;
min-width:0;
}
.pf-paper-title{
font-size:14px;
color:#333;
font-weight:600;
line-height:1.7;
margin-bottom:4px;
}
.pf-paper-journal{
font-size:13px;
color:#666;
font-style:italic;
line-height:1.6;
}
@media screen and (max-width: 768px){
.pf-paper-item{
gap:12px;
}
.pf-paper-role{
width:60px;
font-size:11px;
padding:4px 0;
}
.pf-paper-title{
font-size:13px;
}
}

/* 書籍 */
.pf-book-list{
display:flex;
flex-direction:column;
gap:14px;
margin:0;
padding:0;
list-style:none;
}
.pf-book-item{
display:flex;
gap:18px;
background:#f4f9f7;
border:1px solid #c8e0d5;
border-radius:8px;
padding:18px 22px;
align-items:flex-start;
}
.pf-book-icon{
flex-shrink:0;
width:34px;
height:42px;
background:rgba(0,96,64,0.85);
border-radius:3px;
position:relative;
}
.pf-book-icon::before{
content:"";
position:absolute;
top:0;
bottom:0;
left:6px;
width:2px;
background:rgba(255,255,255,0.30);
}
.pf-book-body{
flex:1;
min-width:0;
}
.pf-book-title{
font-weight:bold;
color:#333;
font-size:15px;
margin-bottom:4px;
line-height:1.6;
}
.pf-book-meta{
font-size:13px;
color:#666;
line-height:1.7;
}
@media screen and (max-width: 768px){
.pf-book-title{
font-size:14px;
}
}

/* タイムライン（講演・活動） */
.pf-timeline{
position:relative;
padding-left:30px;
margin:0;
list-style:none;
}
.pf-timeline::before{
content:"";
position:absolute;
top:8px;
bottom:8px;
left:8px;
width:2px;
background:rgba(0,96,64,0.30);
}
.pf-timeline-item{
position:relative;
padding:12px 0 12px 24px;
display:flex;
gap:18px;
align-items:flex-start;
border-bottom:1px dashed #e8ede9;
}
.pf-timeline-item:last-child{
border-bottom:none;
}
.pf-timeline-item::before{
content:"";
position:absolute;
left:-28px;
top:20px;
width:14px;
height:14px;
background:#fff;
border:3px solid rgba(0,96,64,0.85);
border-radius:50%;
}
.pf-timeline-year{
flex-shrink:0;
width:70px;
font-weight:bold;
color:rgba(0,96,64,0.95);
font-size:14px;
}
.pf-timeline-content{
flex:1;
font-size:14px;
line-height:1.7;
color:#333;
}
@media screen and (max-width: 768px){
.pf-timeline{
padding-left:24px;
}
.pf-timeline-item{
flex-direction:column;
gap:4px;
padding-left:18px;
}
.pf-timeline-item::before{
left:-22px;
top:16px;
}
.pf-timeline-year{
width:auto;
font-size:13px;
}
.pf-timeline-content{
font-size:13px;
}
}
@media screen and (min-width: 769px){
.sp-ft-size{
font-size:24px!important;
display:inline!important;
}
.pcNone{
display:none;
}
.contents h3{
margin-top:-30px!important;
}
}
@media screen and (max-width: 768px){
.sp-ft-size{
font-size:14px!important;
display:block!important;
margin-bottom:;-70px!important;
}
.spNone{
display:none;
}
.contents h3{
margin-top:-60px!important;
}
.recruitBtnWrap{
width:100%!important;
}
}

@media screen and (min-width: 769px) {
.photo-box{
width:25%;
float:left;
}
.photo-box img{
width:100%;
border-radius:12px;
}
.pf-deflist{
width:73%;
float:right;
padding-left: 2%;
}
.staffName{
font-weight:bold;
font-size:16px;
margin-top: 15px;
}
.staffName span{
font-size:12px;
padding-right: 15px;
}
.staffdetail{
font-size:12px;
margin-top: 15px;
}
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}
.jpsastyle-left{
width:78%;
float:left;
}
.jpsastyle{
width:20%;
float:right;
}
.jpsastyle img{
width:100%;
}	
}
@media screen and (max-width: 768px) {
.photo-box{
width:100%;
}
.photo-box img{
width:100%;
border-radius:12px;
}
.pf-deflist{
width:100%;
}
.staffName{
font-weight:bold;
font-size:16px;
margin-top: 15px;
}
.staffName span{
font-size:12px;
padding-right: 15px;
}
.staffdetail{
font-size:12px;
margin-top: 15px;
}
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}
.jpsastyle-left{
width:100%;
}
.jpsastyle{
width:100%;
}
.jpsastyle img{
width:100%;
}
	.sp-mgt-50{
		padding-top:50px!important;
	}
}

@media screen and (min-width: 769px) {
.msg-section {
  margin-top: 100px;
  padding: 1% 2% 0%;
border-radius:20px;
background:rgba(237,255,250,0.20);
border:1px solid rgba(0,96,64,0.30);
}	
}
@media screen and (max-width: 768px) {
.msg-section {
  margin-top: 100px;
  padding: 4% 3% 0% 4%!important;
border-radius:20px;
background:rgba(237,255,250,0.20);
border:1px solid rgba(0,96,64,0.30);
}	
}

/* オープニング */
.msg-open {
  margin-bottom: 48px;
}
.msg-quote {
  display: block;
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 80px;
  line-height: 1;
  color: rgba(0,96,64,0.18);
  margin-bottom: 20px;
}
.msg-title {
  font-size: 2.4rem;
  font-weight: 700;
  color: #333;
  letter-spacing: .06em;
  margin: 0 0 6px;
  padding: 0;
  border: none;
}
.msg-label {
  font-family: "Poppins", sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .2em;
  color: rgba(0,96,64,0.70);
  margin-bottom: 0;
}

/* 本文 */
.msg-body {
  width: 100%;
}
.msg-body p {
  font-size: 1.6rem;
  line-height: 2;
  color: #333;
  margin: 0 0 20px;
}
.msg-body p:last-child {
  margin-bottom: 0;
}
.msg-emphasis {
  font-size: 2.0rem;
  font-weight: 700;
  color: rgba(0,96,64,0.85);
  line-height: 1.7;
  padding: 8px 0;
}

/* 閉じクォーテーション */
.msg-quote-close {
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 80px;
  line-height: 0.6;
  color: rgba(0,96,64,0.18);
  text-align: right;
  margin-top: 32px;
}

/* 署名 */
.msg-sign {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 16px;
  margin-top: 56px;
}
.msg-sign-line {
  display: block;
  width: 40px;
  height: 1px;
  background: #ccc;
  margin-top: 10px;
  flex-shrink: 0;
}
.msg-sign-clinic {
  font-size: 1.2rem;
  color: #999;
  letter-spacing: .08em;
  margin-bottom: 0;
}
.msg-sign-title {
  font-size: 1.2rem;
  color: #999;
  margin-bottom: 0;
}
.msg-sign-name {
  font-size: 2.0rem;
  font-weight: 700;
  color: #333;
  letter-spacing: .12em;
  margin-top: 2px;
}

/* ── SP ── */
@media (max-width: 768px) {
  .msg-section {
    margin-top: 60px;
    padding-bottom: 50px;
  }
  .msg-open {
    margin-bottom: 36px;
  }
  .msg-quote {
    font-size: 60px;
  }
  .msg-title {
    font-size: 2.0rem;
  }
  .msg-body p {
    font-size: 1.4rem;
    line-height: 2;
    margin-bottom: 24px;
  }
  .msg-emphasis {
    font-size: 1.7rem;
  }
  .msg-quote-close {
    font-size: 60px;
    margin-top: 24px;
  }
  .msg-sign {
    margin-top: 40px;
  }
  .msg-sign-name {
    font-size: 1.8rem;
  }
}