/* Reuse the homepage profile appearance within this page only. */
.lawyers-home-profile{width:100vw;max-width:none;margin-inline:calc(50% - 50vw);color:#16333e;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.9;text-align:left;--sans:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;--serif:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;--ink:#16333e;--deep:#08475f;--paper:#f5f7f8;--sheet:#fff;--line:#dce3e6;--quiet:#52656d;--red:#08475f;--gold:#08475f}
.lawyers-page-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@scope (.lawyers-home-profile){
* { box-sizing: border-box; }
a { color: inherit; text-decoration: none; }
.frame { width: min(1390px, 100% - 72px); margin: 0px auto; }
.section-topline { display: flex; align-items: center; gap: 20px; padding-top: 12px; border-top: 1px solid var(--ink); }
.section-topline .number { color: var(--red); font: 10px var(--sans); letter-spacing: 0.12em; }
.section-topline .section-name { color: var(--quiet); font-size: 12px; }
.text-link { display: inline-flex; align-items: center; gap: 17px; margin-top: 23px; padding-bottom: 4px; border-bottom: 1px solid var(--gold); font-size: 12px; transition: color 0.2s; }
.text-link span { color: var(--red); font: 17px var(--sans); }
.text-link:hover { color: var(--red); }
.profile-section { padding: 75px 0px 80px; }
.profile-layout { display: grid; grid-template-columns: 0.62fr 1.38fr; gap: 10%; padding-top: 38px; }
.profile-heading { align-self: start; }
.profile-heading .role { color: var(--quiet); font-size: 12px; }
.profile-heading h2 { margin: 8px 0px 0px; font-size: 36px; font-weight: 500; letter-spacing: 0.08em; }
.profile-heading .qualification { display: block; margin-top: 8px; color: var(--red); font-size: 13px; }
.profile-main { border-top: 1px solid var(--ink); }
.profile-summary { max-width: 720px; margin: 0px; padding: 22px 0px 25px; font-size: 15px; line-height: 2; }
.career-list { border-top: 1px solid var(--line); }
.career-row { display: grid; grid-template-columns: 130px 1fr; gap: 22px; padding: 13px 0px; border-bottom: 1px solid var(--line); }
.career-row time { color: var(--red); font: 10px/2 var(--sans); letter-spacing: 0.04em; }
.career-row p { margin: 0px; color: rgb(66, 81, 87); font-size: 12px; line-height: 1.9; }
* { box-sizing: border-box; }
a:focus-visible { outline: rgb(25, 134, 172) solid 3px; outline-offset: 6px; }
section { scroll-margin-top: 100px; }
.frame { width: min(1180px, 100% - 96px); }
.office-section, .profile-section, .access-section { padding: 96px 0px; }
.section-topline { padding-top: 0px; border: 0px; gap: 18px; align-items: center; }
.section-topline .number { color: rgb(8, 71, 95); font-size: 12px; font-weight: 700; letter-spacing: 0.12em; }
.section-topline::after { content: ""; height: 1px; background: rgb(220, 227, 230); flex: 1 1 0%; margin-left: 20px; }
.section-topline .section-name { font-size: 14px; color: rgb(69, 93, 103); }
.text-link { font-size: 13px; border-bottom: 1px solid rgb(181, 199, 206); padding-bottom: 9px; margin-top: 24px; gap: 24px; }
.profile-section { background: rgb(245, 247, 248); }
.profile-layout { grid-template-columns: 0.65fr 1.35fr; gap: 7%; padding-top: 48px; }
.profile-heading .role { font-size: 14px; }
.profile-heading h2 { font-size: 42px; font-weight: 700; color: rgb(8, 71, 95); margin-top: 13px; }
.profile-heading .qualification { font-size: 14px; margin-top: 12px; }
.profile-main { border-top: 2px solid rgb(8, 71, 95); }
.profile-summary { padding: 22px 0px 30px; line-height: 2.2; font-size: 15px; }
.career-row { grid-template-columns: 120px 1fr; gap: 24px; padding: 19px 0px; }
.career-row time { font-size: 11px; font-weight: 600; }
.career-row p { font-size: 13px; line-height: 2; }
@media (max-width: 1100px){.career-row { gap: 15px; }
}
@media (max-width: 800px){.frame { width: calc(100% - 40px); }
.office-section, .profile-section, .access-section { padding: 60px 0px; }
.section-topline { gap: 10px; }
.section-topline .number { font-size: 10px; }
.section-topline .section-name { font-size: 12px; }
.section-topline::after { margin-left: 4px; }
.office-intro, .profile-layout, .articles-inner, .access-layout { grid-template-columns: 1fr; gap: 24px; padding-top: 30px; }
.profile-heading h2 { font-size: 34px; }
.profile-summary { font-size: 14px; }
.career-row { grid-template-columns: 100px 1fr; gap: 12px; }
.career-row p { font-size: 12px; }
.text-link { font-size: 12px; gap: 12px; }
}
@media (prefers-reduced-motion: reduce){* { transition: none !important; }
}
.profile-layout { grid-template-columns: minmax(0px, 1.1fr) minmax(0px, 0.9fr); gap: 7%; align-items: start; }
.profile-main { margin-top: 30px; }
.profile-portrait { margin: 0px; position: sticky; top: 192px; }
.profile-portrait img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 4.8; object-fit: cover; object-position: 50% 32%; }
.profile-heading h2 { margin-top: 8px; }
@media (max-width: 991px){.profile-portrait { top: 85px; }
.profile-layout { gap: 30px; }
.career-row { grid-template-columns: 1fr; gap: 5px; }
}
@media (max-width: 800px){.profile-layout, .access-layout { grid-template-columns: 1fr; gap: 32px; }
.profile-portrait { position: static; max-width: 480px; width: 100%; justify-self: center; }
.profile-portrait img { aspect-ratio: 4 / 3; object-position: 50% 35%; }
.career-row { grid-template-columns: 100px 1fr; gap: 12px; }
}
section { scroll-margin-top: 180px; }
@media (max-width: 991px){section { scroll-margin-top: 80px; }
}
.profile-portrait { background: rgb(237, 242, 243); }
@media (max-width: 480px){.career-row { grid-template-columns: 1fr; gap: 5px; }
}
@media (max-width: 800px){.profile-layout .profile-portrait { grid-area: 1 / 1; }
.profile-layout .profile-details { grid-area: 2 / 1; }
}
.profile-links { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; margin: 0px 0px 28px; }
.profile-links .text-link { margin: 0px; }
.profile-portrait img { aspect-ratio: 660 / 840; object-fit: contain; height: auto; }
#profile .profile-roman { font: 14px var(--sans); letter-spacing: 0.08em; color: var(--quiet); margin: 9px 0px 19px; }
#profile .profile-affiliation { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; font-size: 14px; color: var(--ink); }
#profile .profile-affiliation span { font-size: 12px; color: var(--quiet); }
#profile .profile-layout { grid-template-columns: minmax(0px, 1.1fr) minmax(0px, 0.9fr); }
#profile .profile-layout > * { min-width: 0px; }
#profile .profile-layout .profile-details { grid-area: 1 / 1; overflow-wrap: anywhere; }
#profile .profile-layout .profile-portrait { --frame-offset: clamp(10px, 1.5vw, 20px); grid-area: 1 / 2; position: relative; top: auto; box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0px; margin: 0px; padding: 0 var(--frame-offset) var(--frame-offset) 0; isolation: isolate; background: transparent; }
#profile .profile-layout .profile-portrait::after { content: ""; position: absolute; inset: var(--frame-offset) 0 0 var(--frame-offset); box-sizing: border-box; border: 1px solid rgb(8, 71, 95); pointer-events: none; }
#profile .profile-layout .profile-portrait img { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 660 / 840; object-fit: contain; }
#profile .profile-heading .qualification { margin-top: 18px; }
#profile .profile-links .text-link { max-width: 100%; }
#profile .profile-links .text-link span { flex-shrink: 0; }
@media (max-width: 800px){#profile .profile-layout { grid-template-columns: minmax(0px, 1fr); gap: 32px; }
#profile .profile-layout .profile-details { grid-area: 2 / 1; }
#profile .profile-layout .profile-portrait { grid-area: 1 / 1; width: 100%; max-width: 480px; justify-self: center; }
}
@media (max-width: 360px){#profile .frame { width: calc(100% - 32px); }
#profile .section-topline { flex-wrap: wrap; }
#profile .section-topline::after { min-width: 12px; }
}

}
