/* ==============================================
   理念・挨拶: message.css
   共通: ../css/common/base.css, header.css, footer.css
============================================== */

/* ===== 社長メッセージ ===== */
.messageLayout{display:grid; grid-template-columns:1fr 360px; gap:72px; align-items:start;}
.messageLead{font-family:'Noto Serif JP',serif; font-size:22px; font-weight:700; color:var(--navy); line-height:1.75; margin-bottom:36px; padding-left:20px; border-left:4px solid var(--cyan);}
.messageBody{font-size:15px; color:var(--text); line-height:2.2;}
.messageBody p{margin-bottom:1.8em;}
.messageBody p:last-child{margin-bottom:0;}
.messageSig{margin-top:40px; padding-top:28px; border-top:1px solid var(--rule); display:flex; flex-direction:column; gap:4px;}
.messageSigRole{font-size:12px; color:var(--gray); letter-spacing:1px;}
.messageSigName{font-family:'Noto Serif JP',serif; font-size:20px; font-weight:700;color:var(--navy); letter-spacing:3px;}

/* 右側プロフィールカード */
.messageProfileCard{background:var(--navy); border-radius:10px; overflow:hidden; position:sticky; top:88px;}
.messageProfileImg{width:100%; height:300px; background:linear-gradient(135deg,var(--navy2) 0%,var(--navy3) 60%,rgba(0,181,217,0.15) 100%); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;}
.messageProfileImgPlaceholder{font-family:'Bebas Neue',sans-serif; font-size:11px; letter-spacing:3px; color:rgba(255,255,255,0.15);}
.messageProfileImg::before{content:''; position:absolute;inset:0; background-image:linear-gradient(rgba(0,181,217,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,181,217,0.04) 1px,transparent 1px); background-size:40px 40px;}
.messageProfileBody{padding:24px 28px 28px;}
.messageProfileRole{font-size:10px; letter-spacing:3px; color:var(--cyan); margin-bottom:6px;font-family:'Bebas Neue',sans-serif;}
.messageProfileName{font-family:'Noto Serif JP',serif; font-size:20px; font-weight:700;color:var(--white); letter-spacing:2px; margin-bottom:12px;}
.messageProfileDesc{font-size:12px; color:rgba(255,255,255,0.35); line-height:1.9;}

/* ===== 企業理念 ===== */
.philosophyHeader{text-align:center; margin-bottom:64px;}
.philosophyTagline{font-family:'Noto Serif JP',serif; font-size:32px; font-weight:900; color:var(--white); letter-spacing:4px; line-height:1.6; margin-bottom:16px;}
.philosophyTagline em{color:var(--cyan); font-style:normal;}
.philosophySub{font-size:13px; color:rgba(255,255,255,0.35); letter-spacing:1px;line-height:2;}
.philosophyGrid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:64px;}
.philosophyCard{background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.06); border-radius:8px; padding:32px 28px; position:relative; overflow:hidden; transition:background .2s;}
.philosophyCard:hover{background:rgba(255,255,255,0.07);}
.philosophyCard::before{content:''; position:absolute; top:0;left:0; right:0; height:3px; background:linear-gradient(90deg,var(--cyan),var(--cyan-dark));}
.philosophyCardNum{font-family:'Bebas Neue',sans-serif; font-size:48px; color:rgba(0,181,217,0.12); line-height:1; margin-bottom:12px;}
.philosophyCardTitle{font-family:'Noto Serif JP',serif; font-size:17px; font-weight:700; color:var(--white); margin-bottom:12px; line-height:1.5;}
.philosophyCardBody{font-size:13px; color:rgba(255,255,255,0.45); line-height:1.9;}

/* 理念の言葉 大きく */
.philosophyQuote{background:rgba(0,181,217,0.06); border:1px solid rgba(0,181,217,0.12); border-radius:10px; padding:48px 56px; text-align:center; position:relative; overflow:hidden;}
.philosophyQuote::before{content:'"'; position:absolute; top:-20px;left:20px; font-family:'Noto Serif JP',serif; font-size:160px; color:rgba(0,181,217,0.06); line-height:1; pointer-events:none;}
.philosophyQuoteText{font-family:'Noto Serif JP',serif; font-size:20px; font-weight:700; color:var(--white); line-height:2; letter-spacing:1px;}
.philosophyQuoteText em{color:var(--cyan); font-style:normal;}
.philosophyQuoteSource{margin-top:20px; font-size:12px; color:rgba(255,255,255,0.3); letter-spacing:1px;}

/* BACK LINK */
.backLinkWrap{padding:48px 0 0; text-align:center;}
.backLink{display:inline-flex; align-items:center; gap:8px; font-size:12px; color:var(--gray); border:1px solid var(--rule); padding:10px 24px; border-radius:4px; transition:color .2s,border-color .2s;}
.backLink:hover{color:var(--cyan); border-color:var(--cyan);}

/* RESPONSIVE */
@media screen and (max-width:1024px){
 .messageLayout{grid-template-columns:1fr;}
 .messageProfileCard{position:static;}
 .philosophyGrid{grid-template-columns:1fr 1fr;}
}
@media screen and (max-width:640px){
 .messageLead{font-size:18px;}
 .philosophyGrid{grid-template-columns:1fr;}
 .philosophyTagline{font-size:24px;}
 .philosophyQuote{padding:32px 28px;}
 .philosophyQuoteText{font-size:16px;}
}
/* ===== 経営理念 ===== */
.mgmtPhilosophyLead{text-align:center; margin-bottom:48px;}
.mgmtPhilosophyCatch{font-family:'Noto Serif JP', serif; font-size:clamp(20px, 3vw, 28px); font-weight:700; color:var(--navy); line-height:1.6; letter-spacing:2px;}
.mgmtPhilosophyCatch small{display:block; font-size:13px; font-weight:400; color:var(--gray); letter-spacing:3px; margin-top:8px; font-family:'Noto Sans JP', sans-serif;}
.mgmtPhilosophyGrid{display:grid; grid-template-columns:repeat(3, 1fr); gap:24px;}
.mgmtPhilosophyCard{background:var(--white); border:1px solid var(--rule); border-top:3px solid var(--cyan); border-radius:0 0 8px 8px; padding:28px 24px 32px;}
.mgmtPhilosophyLabel{font-family:'Bebas Neue', sans-serif; font-size:11px; letter-spacing:3px; color:var(--cyan); margin-bottom:12px;}
.mgmtPhilosophyTitle{font-size:15px; font-weight:700; color:var(--navy); line-height:1.6; margin-bottom:16px;}
.mgmtPhilosophyBody{font-size:13px; color:var(--text); line-height:1.8;}
.mgmtPhilosophyList{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px;}
.mgmtPhilosophyList li{font-size:13px; color:var(--text); line-height:1.7; padding-left:14px; position:relative;}
.mgmtPhilosophyList li::before{content:'・'; position:absolute; left:0; color:var(--cyan);}

@media screen and (max-width:768px){
 .mgmtPhilosophyGrid{grid-template-columns:1fr;}
}

/* ===== タグライン2段構成 ===== */
.philosophyTagline{font-family:'Noto Serif JP', serif; font-size:clamp(18px, 2.5vw, 26px); font-weight:700; color:#fff; line-height:1.5; letter-spacing:3px; margin-bottom:12px;}
.philosophyTaglineSub{font-size:clamp(14px, 2vw, 20px); letter-spacing:1px; color:rgba(255,255,255,0.75); margin-bottom:16px;}
.philosophyTaglineSub em{color:var(--cyan); font-style:normal;}

/* ===== 社長あいさつ ネイビー背景対応 ===== */
#message .sectionTitle{color:var(--white);}
#message .messageLead{color:var(--cyan);}
#message .messageBody p{color:rgba(255,255,255,0.82);}
#message .messageSigRole{color:rgba(255,255,255,0.5);}
#message .messageSigName{color:var(--white);}

/* 経営理念 白背景対応（ネイビーから白に戻す） */
#philosophy .sectionEyebrow{color:var(--cyan);}
#philosophy .sectionTitle{color:var(--navy);}
#philosophy .philosophyTagline{color:var(--navy);}
#philosophy .philosophyTaglineSub{color:var(--text);}
#philosophy .philosophyTaglineSub em{color:var(--cyan); font-style:normal;}
#philosophy .philosophySub{color:var(--gray);}
#philosophy .philosophyCard{background:var(--white); border:1px solid var(--rule); border-top:3px solid var(--cyan);}
#philosophy .philosophyCardNum {color:var(--cyan);}
#philosophy .philosophyCardTitle{color:var(--navy);}
#philosophy .philosophyCardBody{color:var(--text);}
#philosophy .philosophyQuote{background:var(--navy); border-radius:8px; padding:40px;}
#philosophy .philosophyQuoteText{color:rgba(255,255,255,0.9);}
#philosophy .philosophyQuoteText em{color:var(--cyan);}
#philosophy .philosophyQuoteSource{color:rgba(255,255,255,0.45);}
