/* All layout rules are scoped to About. Shared navigation and footer are untouched. */
#tp-about{--tp-ink:#172b32;--tp-teal:#077c87;--tp-orange:#ef6c3f;--tp-soft:#fff5ec;color:var(--tp-ink);font-family:'Noto Sans Japanese','Noto Sans CJK JP',sans-serif;font-size:15px;line-height:1.9;background:#fff;padding:0 0 70px;margin:0;text-align:left;overflow:hidden}
#tp-about *,#tp-about *::before,#tp-about *::after{box-sizing:border-box}
#tp-about h1,#tp-about h2,#tp-about p,#tp-about figure,#tp-about ul{margin:0;padding:0}
#tp-about img{display:block;max-width:100%;height:auto;border:0}
#tp-about .tp-about-hero{position:relative;isolation:isolate;min-height:490px;background:#eef6f8}
#tp-about .tp-about-hero-photo{position:absolute;inset:0 0 0 30%;z-index:-2}
#tp-about .tp-about-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 57%}
#tp-about .tp-about-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fff 8%,rgba(255,255,255,.98) 29%,rgba(255,255,255,.9) 40%,rgba(255,255,255,.3) 56%,transparent 72%)}
#tp-about .tp-about-hero-inner{max-width:1160px;margin:0 auto;padding:48px 24px 50px}
#tp-about .tp-about-intro{max-width:485px}
#tp-about .tp-about-eyebrow{color:#bd541f;font-size:15px;letter-spacing:.08em;font-weight:500;margin-bottom:9px}
#tp-about h1{font-size:clamp(29px,3.1vw,40px);font-weight:700;line-height:1.45;letter-spacing:.015em;color:#122b35;background:none;border:0}
#tp-about .tp-about-rule{width:46px;height:3px;background:var(--tp-orange);margin:17px 0}
#tp-about .tp-about-lead{font-size:15px;line-height:1.95;max-width:450px}
#tp-about .tp-about-license{display:flex;align-items:center;gap:13px;background:rgba(255,245,232,.94);border:1px solid #f3dfc7;border-radius:5px;padding:13px 17px;margin-top:22px;max-width:430px;font-size:13px;line-height:1.65;font-weight:600}
#tp-about .tp-about-license svg{width:29px;height:34px;flex:none;fill:none;stroke:#9c622c;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
#tp-about .tp-about-license strong{font-size:16px;letter-spacing:.03em;white-space:nowrap}
#tp-about .tp-about-grid{max-width:1160px;margin:0 auto;padding:48px 24px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:38px;row-gap:38px}
#tp-about .tp-about-section{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 42%;grid-template-rows:auto 1fr;column-gap:15px;align-items:start;border-bottom:1px solid #e6eeec;padding-bottom:30px;min-width:0}
#tp-about .tp-about-section-heading{display:flex;gap:14px;grid-column:1/-1;z-index:1;align-items:flex-start;margin-bottom:18px}
#tp-about .tp-about-number{font-family:Arial,sans-serif;color:#f4a082;line-height:1;font-size:56px;letter-spacing:-.06em;font-weight:400;flex:none}
#tp-about .tp-about-kicker{font-family:Arial,sans-serif;font-size:11px;line-height:1.4;letter-spacing:.11em;font-weight:500;color:#b85229;margin-bottom:5px}
#tp-about h2{font-size:22px;line-height:1.5;font-weight:700;color:#172b32;border:0;background:none;letter-spacing:.005em}
#tp-about .tp-about-copy{grid-column:1;grid-row:2;font-size:14px;line-height:1.95}
#tp-about .tp-about-photo{grid-column:2;grid-row:2;align-self:start;height:220px;min-height:220px;border-radius:5px;overflow:hidden}
#tp-about .tp-about-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
#tp-about .tp-about-section-02 .tp-about-photo img{object-position:38% center}
#tp-about .tp-about-section-03 .tp-about-photo img{object-position:52% center}
#tp-about .tp-about-services{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;list-style:none;margin-top:16px}
#tp-about .tp-about-services li{list-style:none;min-width:0}
#tp-about .tp-about-services img{width:100%;height:auto}
#tp-about .tp-about-section-05,#tp-about .tp-about-section-06{border-bottom:0;padding-bottom:0}
#tp-about .tp-about-section-06{display:block;background:#f4faf9;border:1px solid #e3efec;border-radius:8px;padding:26px}
#tp-about .tp-about-section-06 h2{font-size:23px}
#tp-about .tp-about-actions{display:flex;flex-direction:column;gap:12px;margin-top:22px}
#tp-about .tp-about-button{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 20px;min-height:50px;border:1px solid transparent;border-radius:5px;font-size:15px;font-weight:700;text-decoration:none;line-height:1.5;transition:background .15s,color .15s}
#tp-about .tp-about-button-primary{color:#fff;background:#d9582b;border-color:#d9582b}
#tp-about .tp-about-button-primary:hover{background:#b9461e}
#tp-about .tp-about-button-secondary{color:#066a75;border-color:#087b86;background:#fff}
#tp-about .tp-about-button-secondary:hover{background:#e7f5f4}
#tp-about a:focus-visible{outline:3px solid #1c7684;outline-offset:4px}
@media(min-width:1600px){#tp-about .tp-about-hero-photo{left:36%}#tp-about .tp-about-hero::after{background:linear-gradient(90deg,#fff 20%,rgba(255,255,255,.98) 35%,rgba(255,255,255,.8) 45%,transparent 66%)}}
@media(max-width:1050px) and (min-width:761px){#tp-about .tp-about-grid{column-gap:28px}#tp-about .tp-about-section{grid-template-columns:1fr}#tp-about .tp-about-photo{grid-column:1;grid-row:2;height:220px;margin-bottom:18px}#tp-about .tp-about-copy{grid-row:3}#tp-about h2{font-size:21px}#tp-about .tp-about-services{grid-row:4}#tp-about .tp-about-hero-photo{left:33%}#tp-about .tp-about-intro{max-width:450px}}
@media(max-width:760px){#tp-about{padding-bottom:40px;font-size:15px}#tp-about .tp-about-hero{display:flex;flex-direction:column;background:#fff;min-height:0}#tp-about .tp-about-hero::after{display:none}#tp-about .tp-about-hero-inner{order:0;width:100%;padding:26px 22px 24px}#tp-about .tp-about-intro{max-width:none}#tp-about .tp-about-hero-photo{position:relative;inset:auto;z-index:auto;order:1;height:245px;width:100%}#tp-about .tp-about-hero-photo img{object-position:center 62%}#tp-about h1{font-size:clamp(25px,6.6vw,36px);line-height:1.5;letter-spacing:0}#tp-about .tp-about-eyebrow{font-size:13px;margin-bottom:8px}#tp-about .tp-about-rule{margin:14px 0}#tp-about .tp-about-lead{font-size:15px;line-height:1.9;max-width:none}#tp-about .tp-about-license{max-width:none;font-size:12px;padding:12px 14px;margin-top:19px;gap:11px}#tp-about .tp-about-license strong{font-size:15px}#tp-about .tp-about-grid{display:block;padding:32px 22px 0}#tp-about .tp-about-section{display:flex;flex-direction:column;gap:0;border-bottom:1px solid #e6eeec;padding-bottom:28px;margin-bottom:30px}#tp-about .tp-about-section-heading{gap:14px;width:100%;margin-bottom:17px;order:0}#tp-about .tp-about-number{font-size:53px}#tp-about h2{font-size:22px;line-height:1.5}#tp-about .tp-about-kicker{font-size:10px;margin-bottom:5px}#tp-about .tp-about-photo{order:1;min-height:0;height:auto;width:100%;aspect-ratio:1.7;margin-bottom:17px}#tp-about .tp-about-copy{order:2;font-size:15px;line-height:1.95}#tp-about .tp-about-services{order:3;width:100%;gap:1px;margin-top:18px;grid-template-columns:repeat(3,minmax(0,1fr))}#tp-about .tp-about-services li{max-width:130px;justify-self:center;width:100%}#tp-about .tp-about-section-05{border-bottom:0;padding-bottom:0}#tp-about .tp-about-section-06{display:block;padding:24px 18px;margin-bottom:0;border:1px solid #e3efec}#tp-about .tp-about-section-06 .tp-about-section-heading{gap:11px}#tp-about .tp-about-section-06 .tp-about-number{font-size:46px}#tp-about .tp-about-section-06 h2{font-size:20px}#tp-about .tp-about-actions{margin-top:22px}#tp-about .tp-about-button{font-size:14px;padding:13px 15px}}
@media(prefers-reduced-motion:reduce){#tp-about .tp-about-button{transition:none}}
