/* Figma「代表プロフィール」127:164。 */
.profile-page-body { color:#3d3d3d; background:#fff; }
.profile-page-body .site-header,.profile-page-body .site-header.is-sticky { height:137px; padding:0 58px 0 81px; background:#fff; box-shadow:none; animation:none; }
.profile-page-body .brand { width:299px; }
.profile-page { padding-top:137px; }
.profile-wide { width:min(1200px,calc(100% - 48px)); margin:0 auto; }
.profile-banner { height:300px; background:linear-gradient(rgb(255 255 255 / 30%),rgb(255 255 255 / 30%)),url('../img/page-bg.jpg') center 55% / cover; }
.profile-banner__heading { height:100%; display:flex; align-items:center; gap:30px; color:#fff; }
.profile-banner h1 { font-size:36px; line-height:1.5; margin:0 10px 0 0; }
.profile-banner__heading p { margin:0; font-size:16px; }
.profile-content { position:relative; isolation:isolate; clip-path:inset(0); }
.profile-content::before { content:''; position:fixed; inset:0; z-index:-1; background:url('../img/profile/background.jpg') center right / cover no-repeat; opacity:.1; pointer-events:none; }
.profile-breadcrumb { display:flex; gap:14px; padding:16px 0; font-size:14px; line-height:28px; }
.profile-breadcrumb a { color:#606f7b; text-decoration:none; }
.profile-breadcrumb [aria-current] { color:#000; font-weight:700; }
.profile-intro { display:grid; grid-template-columns:450px minmax(0,1fr); gap:63px; margin-top:93px; align-items:start; }
.profile-intro__portrait { width:100%; height:auto; display:block; }
.profile-catchphrase { margin:0 0 32px; display:flex; flex-direction:column; align-items:flex-start; gap:24px; color:#fff; font-size:clamp(36px,4.44vw,63px); font-weight:700; line-height:1.5; }
.profile-catchphrase span { padding:0 24px; background:#0364b3; display:block; max-width:100%; white-space:nowrap; }
.profile-catchphrase.is-ready span { clip-path:inset(0 100% 0 0); transform:scaleX(.92); transform-origin:left center; }
.profile-catchphrase.is-visible span { animation:profile-title-reveal .9s cubic-bezier(.22,1,.36,1) both; }
.profile-catchphrase.is-visible span:nth-child(2) { animation-delay:.2s; }
@keyframes profile-title-reveal { from { clip-path:inset(0 100% 0 0); transform:scaleX(.92); } to { clip-path:inset(0 0 0 0); transform:scaleX(1); } }
.profile-intro h3 { font-size:32px; line-height:1.5; color:#1565a8; margin:0 0 32px; font-weight:700; }
.profile-intro__description { font-size:16px; line-height:30px; font-weight:500; }
.profile-intro__description p { margin:0; }
.profile-interview { width:min(1000px,calc(100% - 48px)); margin:80px auto 0; padding-bottom:80px; }
.profile-chapter-title { display:flex; align-items:center; gap:16px; color:#1565a8; font-size:16px; line-height:30px; font-weight:700; margin:60px 0 50px; }
.profile-chapter-title:first-child { margin-top:0; }
.profile-chapter-title > span { width:60px; height:1px; background:#1565a8; flex-shrink:0; }
.profile-chat { display:flex; align-items:flex-start; gap:36px; margin-top:20px; min-height:130px; }
.profile-chat__avatar { flex:0 0 100px; width:100px; text-align:center; color:#606f7b; font-size:14px; line-height:1.2; }
.profile-chat__avatar > span { display:block; margin-top:16px; white-space:nowrap; }
.profile-interviewer-logo { width:100px; height:100px; border-radius:50%; background:#fff; box-shadow:0 0 10px #0002; display:grid; place-items:center; overflow:hidden; }
.profile-interviewer-logo img { width:84px; height:auto; }
.profile-chat__bubble { position:relative; width:658px; max-width:calc(100% - 136px); padding:20px 30px; border-radius:13px; color:#000; font-size:16px; line-height:25px; font-weight:500; background:#dbdbdb; }
.profile-chat__bubble > p { margin:0; }
.profile-chat__bubble::before { content:''; position:absolute; top:20px; left:-12px; border-top:12px solid transparent; border-bottom:12px solid transparent; border-right:15px solid #dbdbdb; }
.profile-chat--answer { justify-content:flex-end; }
.profile-chat--answer .profile-chat__avatar { order:2; flex-basis:120px; width:120px; }
.profile-chat--answer .profile-chat__bubble { background:#e1f1ff; max-width:calc(100% - 156px); }
.profile-chat--answer .profile-chat__bubble::before { left:auto; right:-12px; border-right:0; border-left:15px solid #e1f1ff; }
.profile-representative-photo { width:100px; height:100px; margin:0 auto; overflow:hidden; border-radius:50%; position:relative; }
.profile-representative-photo img { position:absolute; width:180px; height:270px; max-width:none; left:-32.5px; top:-3.3px; }
.profile-story-photo { width:100%; aspect-ratio:1000 / 376; position:relative; overflow:hidden; margin-bottom:50px; }
.profile-story-photo img { position:absolute; width:100%; height:auto; top:-8.51%; }
.profile-chat__photos { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:25px; margin-top:20px; }
.profile-chat__photo { width:var(--photo-width); max-width:100%; aspect-ratio:var(--photo-ratio); overflow:hidden; position:relative; }
.profile-chat__photo img { display:block; width:100%; height:100%; object-fit:cover; }
.profile-chat__photo--association-1 img { position:absolute; height:161.52%; top:-32.79%; object-fit:fill; }
.profile-chat__photo--association-2 img { position:absolute; height:120.89%; top:-12.42%; object-fit:fill; }
.profile-closing-photo { display:block; width:100%; height:auto; margin-top:80px; }
@media (max-width:1100px) {
 .profile-banner { height:clamp(140px,20vw,220px); }
 .profile-intro { grid-template-columns:minmax(0,38%) minmax(0,1fr); gap:40px; margin-top:60px; }
 .profile-catchphrase { font-size:clamp(30px,4vw,44px); }
 .profile-catchphrase span { padding:0 16px; }
 .profile-intro h3 { font-size:26px; }
}
@media (max-width:768px) {
 .profile-page-body .site-header,.profile-page-body .site-header.is-sticky { height:82px; padding:0 22px; }
 .profile-page-body .brand { width:205px; }
 .profile-page { padding-top:82px; }
 .profile-banner__heading { gap:20px; flex-wrap:wrap; align-content:center; }
 .profile-banner h1 { font-size:30px; }
 .profile-intro { grid-template-columns:minmax(0,1fr); gap:28px; margin-top:32px; }
 .profile-intro__portrait { width:min(450px,100%); }
 .profile-catchphrase { font-size:clamp(26px,calc(9.8vw - 6.7px),56px); gap:16px; }
 .profile-catchphrase span { padding:0 10px; }
 .profile-intro h3 { font-size:24px; }
 .profile-interview { margin-top:48px; padding-bottom:48px; }
 .profile-chapter-title { margin:40px 0 32px; }
 .profile-chat { gap:20px; min-height:100px; margin-top:24px; }
 .profile-chat__avatar,.profile-chat--answer .profile-chat__avatar { flex-basis:64px; width:64px; font-size:11px; }
 .profile-interviewer-logo,.profile-representative-photo { width:64px; height:64px; }
 .profile-interviewer-logo img { width:54px; }
 .profile-representative-photo img { width:115px; height:173px; left:-20px; top:-2px; }
 .profile-chat__avatar > span { white-space:normal; }
 .profile-chat__bubble,.profile-chat--answer .profile-chat__bubble { max-width:calc(100% - 84px); padding:16px 20px; }
 .profile-chat__photos { gap:16px; }
 .profile-closing-photo { margin-top:48px; }
}
@media (max-width:425px) {
 .profile-wide,.profile-interview { width:calc(100% - 36px); }
 .profile-banner { height:120px; }
 .profile-banner h1 { font-size:26px; }
 .profile-banner__heading { gap:14px; }
 .profile-banner__heading p { font-size:14px; }
 .profile-catchphrase { font-size:clamp(24px,calc(9.8vw - 5.5px),36px); }
 .profile-catchphrase span { padding:4px 10px; }
 .profile-chat { gap:14px; }
 .profile-chat__avatar,.profile-chat--answer .profile-chat__avatar { flex-basis:48px; width:48px; }
 .profile-interviewer-logo,.profile-representative-photo { width:48px; height:48px; }
 .profile-interviewer-logo img { width:40px; }
 .profile-representative-photo img { width:86px; height:130px; left:-15px; top:-1px; }
 .profile-chat__bubble,.profile-chat--answer .profile-chat__bubble { max-width:calc(100% - 62px); padding:14px 16px; font-size:15px; line-height:1.8; }
 .profile-chapter-title { gap:12px; }
 .profile-chapter-title > span { width:28px; }
}
@media (prefers-reduced-motion:reduce) {
 .profile-catchphrase.is-ready span,.profile-catchphrase.is-visible span { animation:none; clip-path:none; transform:none; }
}

/* 添付のインタビュアーロゴを丸い枠内に全体表示。 */
.profile-interviewer-logo img {
    position:static;
    width:70%;
    height:auto;
    max-height:75%;
    object-fit:contain;
    clip-path:none;
}

.profile-chat__emphasis { color:#1565a8; font-weight:700; }

.profile-intro__name { margin-left:1em; }
@media (max-width:425px) {
    .profile-intro__name { display:block; margin-left:0; }
}

/* スマホ・タブレットの吹き出しは三角を上下中央に配置。 */
@media (max-width:768px) {
    .profile-chat { gap:28px; }
    .profile-chat__bubble,
    .profile-chat--answer .profile-chat__bubble { max-width:calc(100% - 92px); }
    .profile-chat__bubble::before { top:min(50%,32px); transform:translateY(-50%); }
}
@media (max-width:425px) {
    .profile-chat { gap:24px; }
    .profile-chat__bubble,
    .profile-chat--answer .profile-chat__bubble { max-width:calc(100% - 72px); }
}
