:root{--ink:#202326;--muted:#686b69;--line:#d8d5cd;--ivory:#fbfaf6;--soft:#f3f0e8;--soft2:#f7f4ed;--bronze:#4a3d35;--bronze-light:#c9b69d;--navy:#173451;--accent:#9b3d35;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Noto Sans JP",sans-serif;line-height:1.9;letter-spacing:.035em;background:var(--ivory);line-break:strict;word-break:normal}a{color:inherit;text-decoration:none}p,h1,h2,h3,h4,summary,address{overflow-wrap:normal;word-break:normal;text-wrap:pretty}h1,h2,h3,.team-lead,.team-close,.professional-call{font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif}
.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:rgba(251,250,246,.97);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(32,35,38,.08)}.brand{display:block;width:165px;line-height:0}.brand img{display:block;width:100%;height:auto}.site-header nav{display:flex;gap:28px;align-items:center;font-size:13px}.contact-nav{border:1px solid rgba(32,35,38,.75);padding:9px 16px}
.hero{min-height:760px;position:relative;overflow:hidden;display:flex;align-items:center}.hero-image{position:absolute;inset:0;background:url('assets/hero.png') center/cover no-repeat;transform:scale(1.002)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.28),rgba(255,255,255,.12) 58%,rgba(255,255,255,.2))}.hero-inner{position:relative;z-index:2;width:min(var(--max),92vw);margin:auto;padding:70px 0}.hero-inner::before{content:"";position:absolute;z-index:-1;left:-48px;top:36px;bottom:36px;width:min(980px,84vw);background:linear-gradient(135deg,rgba(35,84,125,.88),rgba(16,42,68,.92));box-shadow:0 24px 70px rgba(8,25,40,.20)}.target{display:inline-block;font-size:16px;font-weight:700;letter-spacing:.12em;margin:0 0 27px;color:#fff;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.7)}.hero h1{font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;font-size:61px;line-height:1.35;margin:0 0 32px;letter-spacing:.025em;color:#fff;font-weight:600;white-space:nowrap}.hero-copy{font-size:19px;line-height:1.9;color:#fff;font-weight:700}.hero-copy p{margin:0 0 24px}.hero-copy strong{font-weight:800;font-size:1.08em}.hero-sign{margin-top:46px;padding-top:20px;border-top:1px solid rgba(255,255,255,.42);display:flex;flex-direction:column;gap:3px;width:max-content;max-width:100%;font-size:17px;color:#fff}.hero-sign strong:first-child{font-size:18px}.hero-sign strong:last-child{font-size:20px;letter-spacing:.09em}
.section{width:min(var(--max),90vw);margin:auto;padding:112px 0}.section-label{font-family:Georgia,"Times New Roman",serif;font-size:16px;letter-spacing:.22em;color:#6f665f;font-weight:700;margin:0 0 24px;display:flex;align-items:center;gap:18px}.section-label:after{content:"";display:block;width:58px;height:1px;background:currentColor;opacity:.55}.section h2,.office-copy h2{font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:45px;line-height:1.35;margin:0 0 40px;letter-spacing:.025em;font-weight:600}.about{max-width:var(--max)}.about .lead{font-size:19px;line-height:1.9;max-width:1000px}.team h2{font-family:Georgia,"Times New Roman",serif;letter-spacing:.055em;font-weight:500}.team h2 .you{color:var(--accent);position:relative}.team h2 .you:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--accent)}.team-lead{font-size:23px;line-height:1.7;font-weight:700;margin-bottom:32px}.team>p:not(.section-label):not(.team-lead){font-size:18px}.team-close{margin-top:44px;display:flex;flex-direction:column;font-size:23px;line-height:1.7}
.professional{background:var(--bronze);color:#fff}.professional-inner{padding:112px 0 0;display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);gap:28px;align-items:end}.professional-copy{padding-bottom:92px}.professional .section-label{color:var(--bronze-light)}.professional h2{font-size:45px;max-width:620px}.professional p{font-size:18px}.professional-call{font-size:31px!important;line-height:1.7;font-weight:700;margin:42px 0 22px;white-space:nowrap}.professional-team{display:block;width:112%;max-width:none;margin-left:-6%;max-height:690px;object-fit:contain;object-position:center bottom;align-self:end}
.services{background:var(--ivory)}.services h2,.faq h2,.access h2,.contact-section h2{margin-bottom:46px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);background:rgba(255,255,255,.18)}.service-grid article{padding:38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:300px}.service-grid .primary-service{grid-column:1/-1;min-height:auto;padding:52px}.service-grid span{font-family:Georgia,"Times New Roman",serif;font-size:31px;line-height:1;color:#8a7259}.service-grid h3{font-size:27px;margin:14px 0}.service-grid h4{display:inline-block;font-size:18px;margin:0 0 18px;padding-bottom:7px;border-bottom:1px solid #8a7259}.service-grid p{font-size:18px;line-height:1.9}.primary-service p{font-size:18px;max-width:980px}
.faq{max-width:var(--max);position:relative}.faq:before{content:"";position:absolute;z-index:-1;left:50%;top:0;bottom:0;width:100vw;transform:translateX(-50%);background:var(--soft2)}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:0 4px}summary{list-style:none;cursor:pointer;font-weight:700;font-size:18px;padding:24px 44px 24px 38px;position:relative}summary::-webkit-details-marker{display:none}summary:before{content:"Q";position:absolute;left:5px;font-family:Georgia,"Times New Roman",serif;font-size:14px;color:#7f7a72}summary:after{content:"＋";position:absolute;right:8px;font-weight:400}details[open] summary:after{content:"−"}details p{margin:0;padding:0 38px 26px;color:#555955;font-size:17px;line-height:1.9}.sample-note{font-size:13px;color:#8b8c87;margin-top:18px}
.message{background:var(--ivory)}.message-grid{display:grid;grid-template-columns:minmax(320px,.9fr) 1.1fr;gap:7vw;align-items:start}.message figure{margin:0;position:sticky;top:120px}.message img{width:100%;display:block;max-height:680px;object-fit:contain;object-position:center top}.profile{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:3px;font-size:16px;line-height:1.8}.profile>span:first-child{font-family:Georgia,"Times New Roman",serif;letter-spacing:.16em;color:#766d65;margin-bottom:5px}.profile strong{font-weight:700}.message-copy h2{font-size:45px}.message-copy p{margin:0 0 22px;font-size:18px;line-height:1.9}.signature{margin-top:42px;text-align:right;font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;font-size:22px;font-weight:500}
.office-wrap{width:min(var(--max),90vw);margin:0 auto;padding:112px 0;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:stretch}.office-photo{min-height:600px;background:url('assets/office.jpg') center/cover no-repeat}.office-copy{font-size:18px;line-height:1.9;display:flex;flex-direction:column;justify-content:center}.office-copy h3{font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;font-size:22px;margin:0 0 20px}.office-copy address{font-style:normal}.access{background:var(--soft2);max-width:none;width:100%;padding-left:max(5vw,calc((100vw - var(--max))/2));padding-right:max(5vw,calc((100vw - var(--max))/2))}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:stretch}.access-copy{font-size:18px;display:flex;flex-direction:column;justify-content:center}.map-embed{min-height:470px;border:1px solid var(--line);background:#eee}.map-embed iframe{display:block;border:0;width:100%;height:100%;min-height:470px}.map-link{display:inline-block;width:max-content;margin-top:16px;border-bottom:1px solid var(--ink);font-weight:700}
.contact-section{max-width:none;width:100%;padding-left:max(5vw,calc((100vw - var(--max))/2));padding-right:max(5vw,calc((100vw - var(--max))/2));background:var(--ivory)}.contact-intro{font-size:18px;margin-bottom:40px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:rgba(255,255,255,.36)}.contact-grid>a,.contact-grid>div{min-width:0;padding:38px 40px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:14px}.contact-grid>*:last-child{border-right:0}.contact-grid small{font-family:Georgia,"Times New Roman",serif;letter-spacing:.2em;color:#77736d;font-size:14px}.contact-grid strong{font-family:Arial,"Helvetica Neue",sans-serif;font-size:clamp(25px,2vw,27px);font-weight:500;letter-spacing:.01em;overflow-wrap:anywhere;word-break:normal}.contact-grid span{font-size:14px;color:#77736d}.hours{font-size:14px;color:#77736d;margin-top:18px}.closing-photo{width:100%;height:min(56vw,720px);overflow:hidden}.closing-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
footer{background:#262522;color:#e9e5dc;padding:55px max(5vw,calc((100vw - var(--max))/2)) 34px;font-size:16px;line-height:1.8}.footer-main{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:28px}.footer-info{display:grid;gap:8px}.footer-brand{font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;font-size:18px}.footer-brand strong{font-size:24px;margin-left:7px}.footer-credit{text-align:right;display:flex;flex-direction:column;line-height:1.55}.footer-credit span{font-family:Georgia,"Times New Roman",serif;font-size:13px;letter-spacing:.14em;color:#bbb4aa}.footer-credit strong{font-family:Georgia,"Times New Roman",serif;font-size:18px;letter-spacing:.05em;font-weight:500}.footer-main+small{font-size:13px;color:#aaa49b}.mobile-actions{display:none}
@media(max-width:820px){body{letter-spacing:.025em}.site-header{height:66px;padding:0 18px}.brand{width:165px}.site-header nav a:not(.contact-nav){display:none}.contact-nav{padding:7px 10px;font-size:11px}.hero{min-height:710px;align-items:flex-start}.hero-image{background-position:62% center}.hero-overlay{background:rgba(255,255,255,.12)}.hero-inner{width:88vw;padding:58px 0 46px}.hero-inner::before{left:-6vw;right:-6vw;top:28px;bottom:24px;width:auto}.target{font-size:13px;margin-bottom:20px}.hero h1{font-size:clamp(32px,8.6vw,40px);line-height:1.42;white-space:normal}.hero-copy{font-size:16px;line-height:1.95}.hero-sign{margin-top:34px;font-size:14px}.hero-sign strong:first-child{font-size:15px}.hero-sign strong:last-child{font-size:17px}.section{width:88vw;padding:80px 0}.section-label{font-size:13px}.section h2,.office-copy h2,.professional h2,.message-copy h2{font-size:32px}.about .lead{font-size:17px;line-height:2}.team-lead,.team-close{font-size:19px}.team>p:not(.section-label):not(.team-lead),.professional p,.service-grid p,.primary-service p,.message-copy p{font-size:16px}.professional-inner{padding:82px 0 0;display:flex;flex-direction:column;gap:10px}.professional-copy{padding-bottom:20px}.professional-call{font-size:25px!important;white-space:normal}.professional-team{width:112%;max-width:none;margin-left:-6%;max-height:none}.service-grid{grid-template-columns:1fr}.service-grid .primary-service{grid-column:auto;padding:30px}.service-grid article{padding:30px;min-height:auto}.service-grid span{font-size:24px}.service-grid h3{font-size:24px}.service-grid h4{font-size:16px}.message-grid{grid-template-columns:1fr;gap:42px}.message figure{position:static}.message img{max-height:none}.profile{font-size:15px}.office-wrap{width:88vw;padding:80px 0;grid-template-columns:1fr;gap:35px}.office-copy{font-size:16px}.office-photo{min-height:390px}.access{padding-left:6vw;padding-right:6vw}.access-grid{grid-template-columns:1fr;gap:35px}.access-copy{font-size:16px}.map-embed,.map-embed iframe{min-height:350px}.contact-section{padding-left:6vw;padding-right:6vw}.contact-grid{grid-template-columns:1fr}.contact-grid>a,.contact-grid>div{border-right:0;border-bottom:1px solid var(--line);padding:28px 26px}.contact-grid>*:last-child{border-bottom:0}.contact-grid strong{font-size:22px;overflow-wrap:normal;word-break:keep-all}.closing-photo{height:62vw;min-height:300px}footer{padding:45px 6vw 95px;font-size:14px}.footer-main{flex-direction:column;align-items:flex-start;gap:32px}.footer-credit{text-align:left}.mobile-actions{position:fixed;z-index:30;display:grid;grid-template-columns:1fr 1fr;left:0;right:0;bottom:0;height:58px;background:var(--ivory);border-top:1px solid #d3d0c8}.mobile-actions a{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.mobile-actions a+a{background:var(--bronze);color:#fff}}
@media(max-width:390px){.hero h1{font-size:32px}.contact-grid strong{font-size:20px}.site-header{padding:0 14px}.brand{width:155px}.contact-nav{font-size:10px}.hero-copy br{display:none}.hero-copy p+p{margin-top:14px}}

/* 07 desktop review refinements */
.hero h1{margin-bottom:50px}
.hero-highlight{color:#f1dfb5;font-size:1em}
.hero-sign .professional-sign{font-family:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;font-size:18px;font-weight:500}
.about-intro{font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:23px;line-height:1.7;font-weight:700;max-width:1050px;margin:0 0 32px}
.about .lead{margin:0 0 28px}
.professional-inner{grid-template-columns:minmax(0,48fr) minmax(0,52fr);gap:10px;overflow:visible}
.professional-copy{position:relative;z-index:2}
.professional h2{max-width:none;white-space:nowrap}
.professional-team{width:150%;margin-left:-25%;max-height:none;height:690px;object-fit:contain;object-position:center bottom}
.message-spaced{margin-top:44px!important}
.office-wrap{grid-template-columns:1fr 1fr;gap:70px}
.office-photo{background-position:center center}
.access{width:min(var(--max),90vw);padding-left:0;padding-right:0;background:transparent}
.access:before{content:"";position:absolute;z-index:-1;left:50%;top:0;bottom:0;width:100vw;transform:translateX(-50%);background:var(--soft2)}
.access{position:relative}
.access-grid{grid-template-columns:1fr 1fr;gap:70px;min-height:600px}
.map-embed,.map-embed iframe{min-height:600px}
.access-copy .section-label{margin-bottom:24px}
.access-copy h2{font-size:45px;line-height:1.35;margin:0 0 40px;letter-spacing:.025em;font-weight:600}
.contact-section{width:min(var(--max),90vw);padding-left:0;padding-right:0}
.footer-credit strong{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:17px;letter-spacing:.12em;font-weight:500}
@media(max-width:820px){
 .hero h1{margin-bottom:36px}
 .about-intro{font-size:19px}
 .professional h2{white-space:normal}
 .professional-team{width:112%;height:auto;margin-left:-6%}
 .office-wrap{grid-template-columns:1fr}
 .office-photo{order:1}.office-copy{order:2}
 .access{width:88vw;padding-left:0;padding-right:0}
 .access-grid{grid-template-columns:1fr;min-height:0}
 .map-embed,.map-embed iframe{min-height:350px}
 .access-copy h2{font-size:32px}
 .contact-section{width:88vw;padding-left:0;padding-right:0}
}

/* 08 final desktop refinements */
.team .customer-highlight{color:var(--accent);position:relative;display:inline-block}
.team .customer-highlight:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--accent)}
.message-spaced{margin-top:44px!important;margin-bottom:44px!important}
.office-wrap,.access-grid{gap:105px}
@media (min-width:821px){
  .professional{background:linear-gradient(90deg,#4a3d35 0%,#4a3d35 43%,#62554d 62%,#b5aaa0 100%);overflow:hidden}
  .professional-inner{position:relative;display:block;min-height:790px;padding-top:112px;padding-bottom:0;overflow:visible}
  .professional-copy{position:relative;z-index:2;width:58%;max-width:680px;padding-bottom:92px}
  .professional h2{max-width:none;white-space:nowrap}
  .professional-copy p:last-child{white-space:nowrap}
  .professional-team{position:absolute;z-index:1;width:auto;height:790px;max-width:none;max-height:none;margin:0;right:-270px;bottom:0;object-fit:contain;object-position:center bottom}
}
@media(max-width:820px){
  .pc-only{display:none}
  .office-wrap,.access-grid{gap:35px}
}

/* 09 review refinements */
@media (min-width:821px){.site-header nav{font-size:18px}}
.message-copy p{margin-bottom:44px}
.footer-credit strong{font-size:15px;font-weight:400;letter-spacing:.10em;color:#c7c1b7}
.message-spaced{margin-top:0!important;margin-bottom:44px!important}


/* 10 review refinements */
/* TEAM: equal breathing room around the explanatory block */
.team-lead{margin-bottom:44px}
.team-close{margin-top:44px}

/* PROFESSIONAL: preserve approved scale; open the center gap by shifting the group right */
@media (min-width:821px){
  .professional-team{right:-330px}
}

/* MESSAGE: keep the generous headline-to-body gap, while tightening body paragraph rhythm */
.message-copy p{margin:0 0 26px}
.message-copy h2{margin-bottom:40px}
.message-copy .message-connect{margin-bottom:0}

/* OFFICE / ACCESS: same measured center gap */
.office-wrap,.access-grid{gap:58px}

/* Footer production credit: thin, quiet, secondary */
.footer-credit span,
.footer-credit strong{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-weight:300}
.footer-credit span{font-size:13px;letter-spacing:.14em;color:#bbb4aa}
.footer-credit strong{font-size:14px;letter-spacing:.10em;color:#aaa49b}

@media(max-width:820px){
  .office-wrap,.access-grid{gap:35px}
  .message-copy p{margin-bottom:24px}
  .message-copy .message-connect{margin-bottom:0}
}


/* 11 final PC review refinements */
/* Header: quiet Gothic wordmark rather than the image logo */
.brand{width:auto;line-height:1;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Noto Sans JP",sans-serif;font-size:20px;font-weight:500;letter-spacing:.025em;white-space:nowrap}

/* OFFICE / ACCESS: more generous separation between visual and copy */
@media (min-width:821px){.office-wrap,.access-grid{gap:80px}}

/* Production credit stays deliberately light and understated */
.footer-credit span,.footer-credit strong{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-weight:300}
.footer-credit strong{font-size:14px;letter-spacing:.10em;color:#aaa49b}

@media(max-width:820px){.brand{width:auto;font-size:16px;letter-spacing:.015em}}

/* 14 PC alignment refinement
   MESSAGE is the fixed reference. Do not alter its grid, portrait, or copy.
   OFFICE / ACCESS visuals also stay fixed; move only their copy blocks so
   their left edge follows the current MESSAGE copy left edge. */
@media (min-width:821px){
  .office-copy,
  .access-copy{
    transform:translateX(clamp(-48px, calc(3.85vw - 59px), 24px));
  }
}


/* 15 mobile refinement — PC layout remains unchanged */
@media(max-width:820px){
  /* Let the FV photograph breathe: compact the navy panel vertically. */
  .hero{min-height:620px}
  .hero-inner{padding:44px 0 34px}
  .hero-inner::before{top:20px;bottom:14px}
  .target{margin-bottom:15px}
  .hero h1{margin-bottom:22px}
  .hero-copy{line-height:1.8}
  .hero-copy p{margin-top:10px;margin-bottom:10px}
  .hero-sign{margin-top:24px}

  /* TEAM title is intentionally two lines on mobile. */
  .team h2 .team-title-line1,
  .team h2 .team-title-line2{display:block}

  /* Slightly calmer mobile reading size; headings retain their strength. */
  .about .lead{font-size:16px}
  .team>p:not(.section-label):not(.team-lead),
  .professional p,
  .service-grid p,
  .primary-service p,
  .message-copy p{font-size:15px}

  /* The source PNG has a large transparent area on its left.
     Enlarge and offset the unchanged image so the four people fill the
     mobile section instead of appearing as a small isolated group. */
  .professional{overflow:hidden}
  .professional-inner{gap:0}
  .professional-team{
    width:190%;
    max-width:none;
    height:auto;
    margin:-4px 0 0 -78%;
    align-self:flex-start;
  }
}

/* Version 16: mobile-only type, paragraph rhythm and vertical gradient */
@media(max-width:820px){
 .hero-copy .hero-mobile-break{display:block}
 .hero-copy .hero-highlight{font-size:1em}
 .about .about-intro{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Noto Sans JP",sans-serif;font-size:16px;font-weight:400;line-height:2;letter-spacing:.025em;margin-bottom:28px}
 .professional h2{font-size:clamp(27px,7.1vw,30px);line-height:1.5}
 .professional{background:linear-gradient(to bottom,#4a3d35 0%,#4a3d35 28%,#55463e 62%,#746157 100%)}
}
@media(max-width:390px){.hero-copy .hero-mobile-break{display:block}}

/* Version 17: three mobile-only text layout changes */
.mobile-only-break,.mobile-message-heading{display:none}
@media(max-width:820px){.mobile-only-break{display:block}.pc-message-heading{display:none}.mobile-message-heading{display:inline}}

/* Version 18: mobile-only image scale, preserve bottom alignment */
@media(max-width:820px){
  .professional-team{width:209%;margin-left:-88.5%;margin-top:-4px;}
}

/* Version 19: quieter production credit on mobile only.
   The four-person photograph was already enlarged in version 18. */
@media(max-width:820px){
  .footer-credit span{font-size:11px}
  .footer-credit strong{font-size:12px}
}

/* 2026-10-08: approved refinements 01–10 */
.brand{font-size:22px;font-weight:700}
.professional-pride{font-size:1.1em;color:var(--bronze-light);line-height:1.8}
.service-grid article p+p{margin-top:1.15em}
.service-note{font-size:14px;color:#77736d;margin:20px 0 0;line-height:1.8}
/* Keep original three-person photograph intact; crop only its transparent margins. */
@media(min-width:821px){
 .professional{background:linear-gradient(100deg,#4a3d35 0%,#50423a 43%,#75635a 75%,#968279 100%)}
 .professional-team{right:-48px;height:740px;width:auto;filter:drop-shadow(0 11px 10px rgba(31,24,20,.16))}
}
@media(max-width:820px){
 .brand{font-size:17.6px;font-weight:700;letter-spacing:0;}
 .professional{background:linear-gradient(to bottom,#4a3d35 0%,#4a3d35 25%,#625047 57%,#a08a7b 100%)}
 .professional-team{width:auto;height:clamp(290px,95vw,470px);max-width:none;margin:0 auto;align-self:center;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 7px 7px rgba(30,23,20,.16))}
 .professional-pride{font-size:1.1em}
 .service-note{font-size:12px}
}
@media(max-width:390px){.brand{font-size:17.1px}}

/* 2026-10-08: refinements 11–15 */
/* 11: Wordmark only; keep the header's quiet, logo-free design. */
.brand{font-size:24.2px}
/* 13: More presence for the closing statement. */
.professional-pride{font-size:1.21em}
@media(min-width:821px){
 /* 12: Spread the two focal points without changing the team's scale. */
 .professional-copy{transform:translateX(-35px)}
 .professional-team{right:-95px}
 /* 14: Preserve the exact copy and typographic height; tighten only its horizontal fit. */
 .service-grid article:nth-child(3) h4{white-space:nowrap;letter-spacing:0;transform:scaleX(.83);transform-origin:left center}
}
@media(max-width:820px){
 .brand{font-size:19.36px}
 .professional-pride{font-size:1.21em}
}
@media(max-width:390px){
 .brand{font-size:18.81px}
}

/* 2026-10-08: refinements 17–18 */
@media(min-width:821px){
  /* Increase the desktop wordmark by 15%; preserve header height. */
  .site-header .brand{font-size:27.83px}
  /* Editorial line breaks for the ABOUT section, desktop only. */
  .desktop-about-break{display:block}
}
@media(max-width:820px){
  .desktop-about-break{display:none}
}

/* Refinement 20: ABOUT body emphasis only on desktop. */
@media(min-width:821px){
  .about .lead{font-size:20.9px;font-weight:500}
}

/* Refinement 21: restrained scroll-triggered section heading reveal. */
.section-label::after{width:90px;flex:0 0 90px;transform-origin:left center}
@media (prefers-reduced-motion:no-preference){
  .fl-reveal-ready{opacity:0;transform:translateY(16px)}
  .fl-reveal-ready.fl-visible{opacity:1;transform:translateY(0);transition:opacity .75s ease,transform .75s ease}
  .section-label.fl-reveal-ready::after{transform:scaleX(0)}
  .section-label.fl-visible::after{transform:scaleX(1);transition:transform .95s cubic-bezier(.22,.61,.36,1) .25s}
  h2.fl-reveal-ready.fl-visible{transition-delay:.18s}
}
@media (prefers-reduced-motion:reduce){
  .section-label::after{transform:none!important}
}

/* Refinement 22: first-view audience callout, soft lift and left-to-right underline. */
@media (prefers-reduced-motion:no-preference){
 .hero .target.fl-target-ready{border-bottom-color:transparent;position:relative;opacity:0;transform:translateY(15px)}
 .hero .target.fl-target-ready::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:rgba(255,255,255,.7);transform:scaleX(0);transform-origin:left center}
 .hero .target.fl-target-visible{opacity:1;transform:translateY(0);transition:opacity .7s ease .25s,transform .7s ease .25s}
 .hero .target.fl-target-visible::after{transform:scaleX(1);transition:transform .8s cubic-bezier(.22,.61,.36,1) .55s}
}

/* Comparison version 26: fade and slide. Entire lines move as one, no wipe or typing effect. */
.fl-line-heading .fl-line{display:block;overflow:hidden;width:max-content;max-width:100%;padding-right:.07em}
@media(prefers-reduced-motion:no-preference){
  .fl-lines-ready .fl-line-inner{
    display:block;
    opacity:0;
    transform:translateX(-24px);
  }
  .fl-lines-ready.fl-lines-visible .fl-line-inner{
    opacity:1;
    transform:translateX(0);
    transition:opacity 1.3s cubic-bezier(.22,.61,.36,1),transform 1.3s cubic-bezier(.22,.61,.36,1);
  }
  .fl-lines-ready.fl-lines-visible .fl-line:nth-child(2) .fl-line-inner{transition-delay:.4s}
  .fl-lines-ready.fl-lines-visible .fl-line:nth-child(3) .fl-line-inner{transition-delay:.8s}
}
/* Refinement 24: align ACCESS heading to the map's top edge on desktop only. */
@media(min-width:821px){
  .access-copy{justify-content:flex-start;align-self:start}
  .access-copy .section-label{margin-top:0}
}

/* Photo refinement 31: desktop horizontal positioning only; mobile unchanged. */
@media(min-width:821px){.professional-team{transform:translateX(95px)}}

/* Layout preview: TEAM right-side artwork, quiet closing echo, and hero spacing. */
@media(min-width:821px){
  .hero .target{margin-bottom:62px}
  .team-with-image{display:grid;grid-template-columns:minmax(0, 1.35fr) minmax(0, 1fr);align-items:center;gap:clamp(24px,3.5vw,70px)}
  .team-with-image .team-content{min-width:0}
  .team-shadow-figure{margin:0;min-width:0;align-self:center}
  .team-shadow-figure img{display:block;width:100%;height:auto}
}
.closing-shadow{min-height:370px;display:flex;align-items:center;justify-content:flex-end;padding:36px max(6vw,calc((100vw - var(--max))/2));background:var(--ivory)}
.closing-shadow img{display:block;width:clamp(205px,20vw,290px);height:auto}
@media(max-width:820px){
  .hero .target{margin-bottom:44px}
  .team-shadow-figure{margin:38px 0 0 auto;width:min(85%,390px)}
  .team-shadow-figure img{display:block;width:100%;height:auto}
  .closing-shadow{min-height:260px;padding:28px 8vw}
  .closing-shadow img{width:clamp(155px,45vw,220px)}
}


/* TEAM: true independent columns; artwork stretches to the copy's full height. */
@media (min-width:821px) {
  .team-with-image {
    display:grid;
    grid-template-columns:minmax(0, 1.7fr) minmax(0, 1fr);
    column-gap:clamp(22px,2.6vw,42px);
    align-items:stretch;
  }
  .team-with-image .team-content {position:relative;z-index:1;width:auto;min-width:0;}
  .team-with-image .team-content h2 {white-space:nowrap;font-size:clamp(32px,3vw,45px);}
  .team-with-image .team-shadow-figure {
    position:relative;inset:auto;z-index:0;align-self:stretch;
    min-width:0;width:100%;height:100%;margin:0;overflow:hidden;pointer-events:none;
    -webkit-mask-image:linear-gradient(to right, transparent 0%, #000 19%, #000 77%, rgba(0,0,0,.97) 82%, rgba(0,0,0,.85) 87%, rgba(0,0,0,.62) 92%, rgba(0,0,0,.28) 97%, transparent 100%), linear-gradient(to bottom, #000 0%, #000 79%, rgba(0,0,0,.97) 85%, rgba(0,0,0,.78) 91%, rgba(0,0,0,.35) 97%, transparent 100%);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(to right, transparent 0%, #000 19%, #000 77%, rgba(0,0,0,.97) 82%, rgba(0,0,0,.85) 87%, rgba(0,0,0,.62) 92%, rgba(0,0,0,.28) 97%, transparent 100%), linear-gradient(to bottom, #000 0%, #000 79%, rgba(0,0,0,.97) 85%, rgba(0,0,0,.78) 91%, rgba(0,0,0,.35) 97%, transparent 100%);
    mask-composite:intersect;
  }
  .team-with-image .team-shadow-figure img {
    position:absolute;inset:0;display:block;width:100%;height:100%;
    object-fit:cover;object-position:center;filter:none;
  }
}
@media (max-width:820px) {
  .team-with-image .team-shadow-figure {margin:38px 0 0 auto;width:min(85%,390px);overflow:hidden;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 22%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 22%,#000 100%);}
  .team-with-image .team-shadow-figure img {display:block;width:100%;height:auto;}
}

/* TEAM photo horizontal expansion: keep text column, gap and full-height alignment unchanged. */
@media (min-width:821px) {
  .team-with-image .team-shadow-figure {
    width:calc(100% + clamp(110px, 11vw, 185px));
    max-width:none;
    justify-self:start;
  }
  .team-with-image .team-shadow-figure img {
    object-position:center center;
  }
}

/* TEAM: shift only the artwork 35px right on desktop; preserve text, size and height. */
@media (min-width:821px) {
  .team-with-image .team-shadow-figure { transform:translate(35px, 40px); }
}

/* PC body text comparison: 18px -> 20px only. Keep ABOUT, FAQ, headings and mobile unchanged. */
@media (min-width: 821px) {
  .team > p:not(.section-label):not(.team-lead):not(.team-close),
  .professional p:not(.professional-call):not(.professional-pride),
  .service-grid p,
  .primary-service p,
  .message-copy p,
  .office-copy,
  .access-copy,
  .contact-intro { font-size: 20px; }
}

/* TEAM explanatory paragraphs: match PROFESSIONAL body text, without affecting the lead or closing lines. */
@media (min-width:821px){.team-with-image .team-content > p:not(.section-label):not(.team-lead){font-size:20px;font-weight:400;}}
@media (max-width:820px){.team-with-image .team-content > p:not(.section-label):not(.team-lead){font-size:15px;font-weight:400;}}

/* TEAM: one continuous paragraph, equal generous spacing for each sentence. */
.team-with-image .team-content > p.team-description { line-height:1.9; margin-top:0; margin-bottom:0; }

/* Desktop alignment: align PROFESSIONAL copy left edge with TEAM;
   shift the three-person portrait right to preserve breathing room for the pride line.
   Mobile layout and TEAM artwork remain unchanged. */
@media (min-width:821px) {
  .professional-copy { transform:translateX(0); }
  .professional-team { transform:translateX(130px); }
}

/* Final copy refinements: 2026-10-09 */
.team-with-image .team-description .team-paragraph{display:block;}
.team-with-image .team-description .team-paragraph + .team-paragraph{margin-top:12px;}
@media(max-width:820px){.desktop-service-break{display:none;}}

/* ACCESS editorial layout */
.access-copy .station{padding:0 0 26px;margin:0 0 26px;border-bottom:1px solid #d9d2c7}
.access-copy .station-title{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:14px;row-gap:0}
.access-copy .station-title h3{font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;font-size:27px;font-weight:500;line-height:1.5;margin:0}
.access-copy .station-title span{font-size:11px;letter-spacing:.11em;color:#857c72}
.access-copy .station-lines{font-size:13px;color:#857c72;margin:3px 0 16px}
.access-copy .station-exit{display:flex;align-items:baseline;gap:12px;margin:3px 0;line-height:1.8}
.access-copy .station-exit b{font-size:19px;min-width:27px;color:#a16b4f;font-weight:600}
.access-copy .station-exit span{font-size:17px}
.access-copy .map-link{margin-top:0;font-size:15px}
@media(max-width:820px){.access-copy .station-title h3{font-size:25px}.access-copy .station-exit span{font-size:15px}.access-copy .station{margin-bottom:24px;padding-bottom:24px}}
/* ACCESS: make walking directions legible while retaining the approved design */
.access-copy .station-exit{gap:14px;margin:6px 0;line-height:1.9}
.access-copy .station-exit b{font-size:20px;min-width:30px}
.access-copy .station-exit span{font-size:20px}
@media(max-width:820px){.access-copy .station-exit span{font-size:18px}.access-copy .station-exit b{font-size:19px}}

/* ACCESS: clearer rail lines and tighter exit labels */
.access-copy .station-lines{font-size:16px}
.access-copy .station-exit{gap:6px}
.access-copy .station-exit b{min-width:23px}
@media(max-width:820px){.access-copy .station-lines{font-size:15px}.access-copy .station-exit{gap:5px}.access-copy .station-exit b{min-width:22px}}
/* ACCESS: slightly emphasize bronze exit numbers */
@media (min-width:821px){.access-copy .station-exit b{font-size:22px}}

/* Final mobile review: scoped overrides; desktop design untouched. */
.office-name-mobile,.brand-mobile-access{display:none}
@media(max-width:820px){
  .site-header .brand{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;width:auto;min-width:0;line-height:1.2;white-space:nowrap;font-size:clamp(15px,4.5vw,19.36px)}
  .brand-name{display:block}
  .site-header .brand-mobile-access{display:block;font-size:10px;line-height:1.25;letter-spacing:.06em;font-weight:600;color:#a16b4f}
  .site-header nav{flex-shrink:0;margin-left:8px}
  .team-with-image .team-shadow-figure{width:100vw;max-width:none;margin:38px 0 0 calc(50% - 50vw);overflow:hidden}
  .team-with-image .team-shadow-figure img{width:100%;height:auto}
  .professional .professional-inner{width:88vw;max-width:88vw;margin-inline:auto;display:flex;flex-direction:column;overflow:visible;transform:none}
  .professional .professional-copy{width:100%;max-width:100%;min-width:0;margin:0;padding:0 0 20px;transform:none;left:auto;right:auto}
  .professional .professional-copy .fl-line-heading{white-space:normal;max-width:100%;font-size:clamp(23px,6.8vw,30px)}
  .professional .professional-copy .fl-line{max-width:100%;width:auto;overflow:visible}
  .professional .professional-copy .fl-line-inner{max-width:100%;white-space:normal}
  .professional .professional-copy p{white-space:normal;overflow-wrap:normal}
  .professional .professional-pride{font-size:1em;color:var(--bronze-light);line-height:inherit}
  .professional .professional-team{transform:none}
  .access-grid{display:flex;flex-direction:column;gap:32px;min-height:0}
  .access-copy{order:1;min-width:0}
  .map-embed{order:2;width:100%;min-width:0;min-height:350px}
  .map-embed iframe{min-height:350px}
  .office-name-pc{display:none}
  .office-name-mobile{display:inline;line-height:1.9}
  .office-name-mobile ruby{white-space:nowrap;ruby-position:over}
  .office-name-mobile rt{font-size:.45em;font-family:-apple-system,BlinkMacSystemFont,"Yu Gothic",sans-serif;font-weight:400;letter-spacing:.04em}
}
@media(max-width:360px){.site-header .brand{font-size:14px}.site-header{padding-inline:12px}.contact-nav{padding:7px 8px}}

/* Desktop header: match the approved mobile brand lockup. */
@media (min-width:821px){
  .site-header .brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;line-height:1.15;white-space:nowrap}
  .site-header .brand-mobile-access{display:block;color:#a16b4f;font-size:12px;font-weight:600;letter-spacing:.06em;line-height:1.25}
  .site-header .brand-name{display:block}
}

/* Quiet anti-fraud notice, immediately before the footer */
.anti-fraud-notice{background:#f4f1ec;color:#615d58;padding:27px 24px 29px;}
.anti-fraud-inner{max-width:1240px;margin:0 auto;}
.anti-fraud-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 13px;margin-bottom:9px;}
.anti-fraud-heading h2{font-family:inherit;font-size:13px;line-height:1.65;font-weight:600;letter-spacing:.03em;margin:0;color:#504d49;}
.anti-fraud-heading span{font-size:10px;letter-spacing:.1em;font-weight:600;color:#a47b60;}
.anti-fraud-notice p{font-size:12px;line-height:1.85;margin:0;max-width:none;}
@media(min-width:1100px){.anti-fraud-notice p{white-space:nowrap;}}
/* Clear, accessible back-to-top control */
.back-to-top{position:fixed;right:22px;bottom:24px;z-index:90;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:#343c4b;color:#fff;box-shadow:0 3px 13px rgba(0,0,0,.22);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .2s,visibility .2s;}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.back-to-top svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.back-to-top:focus-visible{outline:3px solid #a47b60;outline-offset:3px;}
@media(max-width:820px){
  .anti-fraud-notice{padding:25px 6vw 28px;}
  .anti-fraud-notice p{font-size:11px;}
  .back-to-top{right:14px;bottom:calc(82px + env(safe-area-inset-bottom, 0px));width:50px;height:50px;}
}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none;}}

/* Final desktop alignment: policy and footer share one left guide. */
@media (min-width: 821px) {
  .anti-fraud-notice {
    padding-left: max(5vw, calc((100vw - var(--max)) / 2));
    padding-right: 3vw;
  }
  .anti-fraud-inner {
    max-width: none;
    margin: 0;
  }
  footer {
    padding-right: 3vw;
  }
}

/* Desktop footer: align the production credit with the copyright baseline,
   while keeping a dedicated clear area for the floating back-to-top button. */
@media (min-width: 821px) {
  footer { position: relative; }
  .footer-credit {
    position: absolute;
    right: calc(3vw + 86px);
    bottom: 34px;
    text-align: right;
  }
}

/* Final desktop composition: centered policy, left-aligned corporate details,
   right-aligned production credit. Keep the floating arrow unobstructed. */
@media (min-width: 821px) {
  footer { padding-left: 6vw; }
}

/* Final desktop balance: centered notice block and symmetric footer insets. */
@media (min-width: 821px) {
  .anti-fraud-notice { padding-left: 24px; padding-right: 24px; }
  .anti-fraud-inner {
    width: max-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  footer { padding-left: calc(6vw + 86px); padding-right: calc(6vw + 86px); }
  .footer-credit { right: calc(6vw + 86px); }
}

/* ABOUT FORLINK body: match TEAM descriptive body typography. */
@media (min-width:821px) {
  .about p.lead { font-size:20px; font-weight:400; line-height:1.9; }
}
@media (max-width:820px) {
  .about p.lead { font-size:15px; font-weight:400; line-height:1.9; }
}

/* 2026-10-10: additions to approved base; ACCESS layout intentionally untouched. */
.message-section-title{font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;font-size:45px;line-height:1.35;font-weight:600;margin:0 0 44px;text-align:left}
.signature-art{display:inline-block;width:min(285px,85%);height:auto;max-height:none!important;object-fit:contain}
/* Keep faces and suits sharp; soften only the photo's outer silhouette and grounding. */
.professional-team{filter:drop-shadow(0 16px 13px rgba(28,20,18,.18));-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 91%,rgba(0,0,0,.92) 97%,rgba(0,0,0,.72) 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 91%,rgba(0,0,0,.92) 97%,rgba(0,0,0,.72) 100%)}
@media(min-width:821px){.professional-team{height:720px;right:-95px;transform:translateX(0)}}
@media(max-width:820px){.message-section-title{font-size:32px;margin-bottom:32px}.professional-team{width:min(115%,530px);height:auto;margin-left:auto;margin-right:auto;transform:none}}

/* 2026-10-10 final: tighter original three-person photo, no facial retouching. */
.professional-team{width:100%;height:auto;max-height:720px;max-width:100%;margin-left:0;object-fit:contain;object-position:center bottom;align-self:end;right:auto;transform:none;filter:drop-shadow(0 10px 10px rgba(25,18,14,.14));-webkit-mask-image:none;mask-image:none}
/* Small draft name mark below the final paragraph, aligned with the copy's right edge. */
.message-copy .signature{display:flex;justify-content:flex-end;align-items:center;margin-top:18px;text-align:right}
.message-copy .signature-art{display:block;width:180px;max-width:48%;height:auto;max-height:none!important;object-fit:contain}
@media(max-width:820px){.professional-team{width:min(100%,480px);max-width:100%;height:auto;margin:0 auto;transform:none}.message-copy .signature-art{width:155px;max-width:48%}}

/* 2026-10-10: PROFESSIONAL aligned to TEAM artwork start, not text; no image regeneration. */
@media (min-width:821px) {
  .professional .professional-inner { position:relative; overflow:visible; }
  .professional .professional-copy { position:relative; z-index:2; }
  .professional .professional-team {
    position:absolute; z-index:1; left:61.5%; right:auto; bottom:0; top:auto;
    width:auto; height:690px; max-width:none; max-height:none;
    margin:0; transform:none; object-fit:contain; object-position:left bottom;
    filter:drop-shadow(0 8px 8px rgba(25,18,14,.12));
  }
}
/* Preserve stacked layout on mobile. */
@media (max-width:820px) {
  .professional .professional-team { position:relative; left:auto; right:auto; bottom:auto;
    width:min(100%,480px); height:auto; max-width:100%; max-height:none; margin:0 auto; transform:none; }
}
.message-copy .signature-art { width:235px; max-width:55%; }
@media (max-width:820px) { .message-copy .signature-art { width:190px; max-width:58%; } }

/* 2026-10-10 final positioning: match user-supplied two-section reference.
   Keep the original transparent portrait untouched, shoes fully visible. */
@media (min-width:821px) {
  .professional .professional-team {
    left:55.5%;
    filter:drop-shadow(0 5px 5px rgba(25,18,14,.10));
    -webkit-mask-image:none;
    mask-image:none;
  }
}

/* 2026-10-10: user-requested desktop portrait scale and spacing adjustment.
   Independently control portrait scale (height) and horizontal placement (left).
   Preserve all copy typography, line breaks, and other sections. */
@media (min-width:821px) {
  .professional .professional-inner { min-height:850px; }
  .professional .professional-team {
    left:65%;
    right:auto;
    bottom:0;
    width:auto;
    height:800px;
    max-width:none;
    max-height:none;
    margin:0;
    transform:none;
    object-fit:contain;
    object-position:left bottom;
    -webkit-mask-image:none;
    mask-image:none;
    filter:drop-shadow(0 5px 5px rgba(25,18,14,.10));
  }
}


/* PROFESSIONAL: subtle background integration comparison.
   No portrait regeneration, resizing, position or typography changes. */
.professional .professional-team {
  filter: brightness(.975) saturate(.88) sepia(.055)
          drop-shadow(0 4px 7px rgba(43, 29, 23, .075));
}

/* Cropped transparent margins: preserve original visible portrait scale on desktop. */
@media(min-width:821px){.professional .professional-team{height:510px;left:65%;bottom:0;width:auto;max-width:none;max-height:none;}}

/* Signature: transparent supplied handwriting, larger visible ink, right aligned. */
.message-copy .signature-art{width:285px;max-width:70%;height:auto;}
@media(max-width:820px){.message-copy .signature-art{width:235px;max-width:70%;}}

/* 2026-10-10 comparison: larger people without altering the copy. */
@media(min-width:821px){
 .professional .professional-team{height:680px;left:61%;right:auto;bottom:0;width:auto;max-width:none;max-height:none;}
}
/* Slightly larger handwriting; preserve its right alignment. */
.message-copy .signature-art{width:315px;max-width:70%;height:auto;}
@media(max-width:820px){.message-copy .signature-art{width:255px;max-width:70%;}}

/* 2026-10-10: larger three-person group, aligned visually with TEAM right artwork.
   Lift shoes above section bottom; do not change text or TEAM artwork. */
@media (min-width:821px) {
  .professional .professional-inner { min-height:880px; }
  .professional .professional-team {
    height:800px; left:58%; right:auto; bottom:24px;
    width:auto; max-width:none; max-height:none; margin:0; transform:none;
    object-fit:contain; object-position:left bottom;
  }
}

/* 2026-10-10: shift the three-person group right only; retain all sizing and spacing. */
@media (min-width:821px) { .professional .professional-team { left:calc(58% + 36px); } }

/* 2026-10-10: add breathing room between copy and people; gentle grounding shadow. */
@media (min-width:821px) {
  .professional .professional-team { left:calc(58% + 66px); }
  .professional .professional-inner::after {
    content:"";
    position:absolute;
    left:calc(58% + 74px);
    bottom:20px;
    width:455px;
    height:22px;
    border-radius:50%;
    background:radial-gradient(ellipse at center, rgba(31,22,19,.24) 0%, rgba(31,22,19,.10) 46%, rgba(31,22,19,0) 75%);
    filter:blur(8px);
    pointer-events:none;
    z-index:0;
  }
}

/* 2026-10-10 approved finishing edits. Desktop PROFESSIONAL remains unchanged. */
.mobile-professional-title{display:none}
.office-contact-lines{display:grid;grid-template-columns:3.4em minmax(0,1fr);column-gap:.4em;row-gap:0;line-height:inherit;margin:0 0 1.5em;align-items:baseline}
.office-contact-lines span{min-width:0}
@media(max-width:820px){
  /* TEAM: preserve paragraph spacing, remove only hard line breaks. */
  .team-with-image .team-description .team-paragraph br{display:none}
  /* PROFESSIONAL: intentional three-line title and lift portrait 10px. */
  .desktop-professional-title{display:none}
  .mobile-professional-title{display:inline}
  .professional .professional-team{transform:translateY(-10px)}
  /* Commercial registration: single-line audience label on mobile. */
  .service-grid article:nth-child(3) h4{white-space:nowrap;font-size:clamp(12px,3.45vw,16px);letter-spacing:0}
  .office-contact-lines{grid-template-columns:2.9em minmax(0,1fr);column-gap:.3em}
}

/* Mobile TEAM: line break before だからこそ only. */
.team-mobile-break{display:block}
@media(max-width:820px){.team-with-image .team-description .team-paragraph br.team-mobile-break{display:block}}

/* 2026-10-11: supplied four-person cutout; only image positioning and subtle grounding. */
@media(min-width:821px){
 .professional .professional-team{position:absolute;left:auto;right:0;bottom:18px;top:auto;width:min(43vw,540px);height:auto;max-width:48%;max-height:none;object-fit:contain;transform:none;margin:0;filter:drop-shadow(0 5px 5px rgba(25,18,14,.12));}
 .professional .professional-inner::after{left:auto;right:15px;bottom:14px;width:min(40vw,490px);height:17px;opacity:.38;}
}
@media(max-width:820px){
 .professional .professional-team{position:relative;left:auto;right:auto;bottom:auto;top:auto;width:min(100%,480px);max-width:100%;height:auto;margin:0 auto;transform:none;filter:drop-shadow(0 5px 5px rgba(25,18,14,.12));}
}

/* 2026-10-11: desktop PROFESSIONAL four-person image alignment with TEAM artwork.
   Preserve all text, colors and mobile rules. */
@media (min-width:821px) {
  .professional .professional-team {
    left:auto; right:-260px; bottom:0; top:auto;
    width:auto; height:660px; max-width:none; max-height:none;
    object-fit:contain; object-position:right bottom; margin:0; transform:none;
  }
  .professional .professional-inner::after {
    left:auto; right:-245px; bottom:1px; width:700px; height:22px;
  }
}

/* 2026-10-11: PC only. Align leftmost member with leading TEAM shadow,
   raise heads to the first heading line, and leave space beneath shoes. */
@media (min-width:821px) {
  .professional .professional-team {
    left:auto; right:-430px; top:auto; bottom:38px;
    width:auto; height:730px; max-width:none; max-height:none;
    object-fit:contain; object-position:right bottom; transform:none;
  }
  .professional .professional-inner::after {
    left:auto; right:-410px; bottom:30px; width:770px; height:22px;
  }
}

/* 2026-10-11: PC-only enlargement and slight left alignment requested by ISSYO. */
@media (min-width:821px) {
  .professional .professional-team {
    height:830px; right:-375px; bottom:36px;
  }
  .professional .professional-inner::after {
    right:-355px; bottom:28px; width:850px;
  }
}

/* 2026-10-11: PC only - align heads with PROFESSIONAL label and restore copy gap. */
@media (min-width:821px) {
  .professional .professional-team { height:775px; right:-390px; bottom:36px; }
  .professional .professional-inner::after { right:-370px; bottom:28px; width:790px; }
}

/* 2026-10-11: PC only — slightly smaller four-person portrait, shifted right. */
@media (min-width:821px) {
  .professional .professional-team { height:750px; right:-415px; bottom:36px; }
  .professional .professional-inner::after { right:-395px; bottom:28px; width:765px; }
}

/* 2026-10-11: PC only — move supplied four-person image 20px left and 25px up; keep size. */
@media (min-width:821px) {
  .professional .professional-team { right:-395px; bottom:61px; }
  .professional .professional-inner::after { right:-375px; bottom:53px; }
}

/* 2026-10-11: PC responsive fit — keep all four members visible at 100% zoom.
   Restrict the image to the right-hand available space instead of using
   a fixed 750px height and a negative right offset. Mobile untouched. */
@media (min-width:821px) {
  .professional .professional-team {
    left:auto; right:0; top:auto; bottom:61px;
    width:min(40vw, 650px); height:auto; max-width:100%; max-height:none;
    object-fit:contain; object-position:right bottom; margin:0; transform:none;
  }
  .professional .professional-inner::after {
    left:auto; right:12px; bottom:53px; width:min(37vw, 600px);
  }
}

/* PC: keep portrait right of copy; viewport-dependent safe placement. */
@media (min-width:1501px) {
  .professional .professional-team {left:auto;right:-210px;bottom:40px;width:min(35vw,650px);height:auto;max-width:none;max-height:none;margin:0;transform:none;}
  .professional .professional-inner::after {left:auto;right:-195px;bottom:32px;width:min(33vw,620px);}
}
@media (min-width:821px) and (max-width:1500px) {
  .professional .professional-team {left:auto;right:0;bottom:40px;width:min(36vw,490px);height:auto;max-width:none;max-height:none;margin:0;transform:none;}
  .professional .professional-inner::after {left:auto;right:8px;bottom:32px;width:min(34vw,460px);}
}

/* 2026-10-12: PC only. Modest 15% portrait enlargement; preserve text gap and right edge. */
@media (min-width:1501px) {
  .professional .professional-team {
    left:auto; right:-70px; bottom:45px;
    width:min(40vw,750px); height:auto; max-width:none; max-height:none;
    object-fit:contain; object-position:right bottom;
  }
  .professional .professional-inner::after {
    left:auto; right:-55px; bottom:37px; width:min(37vw,700px);
  }
}
@media (min-width:821px) and (max-width:1500px) {
  .professional .professional-team {
    left:auto; right:0; bottom:45px;
    width:min(39vw,550px); height:auto; max-width:none; max-height:none;
  }
  .professional .professional-inner::after {
    left:auto; right:8px; bottom:37px; width:min(36vw,510px);
  }
}

/* 2026-10-12: PC only. Shift portraits right to clear the copy, keeping image size and height. */
@media (min-width:1501px) {
  .professional .professional-team { right:-200px; }
  .professional .professional-inner::after { right:-185px; }
}
@media (min-width:821px) and (max-width:1500px) {
  .professional .professional-team { right:-25px; }
  .professional .professional-inner::after { right:-17px; }
}

/* 2026-10-12: PROFESSIONAL desktop structural layout fix.
   Override legacy absolute/negative-offset portrait positioning.
   Copy and image are independent grid items, so the full four-person
   image always stays inside the viewport at normal browser zoom. */
@media (min-width:821px) {
  .professional .professional-inner {
    width:min(1500px, 92vw);
    max-width:92vw;
    margin-inline:auto;
    display:grid;
    grid-template-columns:minmax(0, 1.13fr) minmax(0, 1fr);
    column-gap:clamp(30px, 3vw, 58px);
    align-items:end;
    position:relative;
    min-height:0;
    padding:clamp(78px, 6vw, 112px) 0 0;
    overflow:visible;
  }
  .professional .professional-copy {
    grid-column:1;
    position:relative;
    z-index:2;
    width:100%;
    max-width:none;
    min-width:0;
    padding:0 0 90px;
    margin:0;
    transform:none;
  }
  .professional .professional-copy h2 {
    font-size:clamp(29px, 2.45vw, 45px);
    white-space:normal;
  }
  .professional .professional-copy p:last-child {white-space:normal;}
  .professional .professional-team {
    grid-column:2;
    display:block;
    position:relative;
    inset:auto;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    width:100%;
    max-width:100%;
    height:auto;
    max-height:none;
    min-width:0;
    margin:0;
    padding:0;
    transform:none;
    object-fit:contain;
    object-position:center bottom;
    align-self:end;
    z-index:1;
    filter:drop-shadow(0 9px 8px rgba(25,18,14,.13));
    -webkit-mask-image:none;
    mask-image:none;
  }
  .professional .professional-inner::after {
    content:none;
    display:none;
  }
}

/* PROFESSIONAL: align copy with the common 1180px section grid.
   Keep portrait entirely inside its independent right column. */
@media (min-width:821px) {
  .professional .professional-inner {
    width:min(var(--max), 90vw);
    max-width:min(var(--max), 90vw);
    grid-template-columns:minmax(0, 1.16fr) minmax(0, 1fr);
    column-gap:clamp(18px, 2vw, 36px);
  }
  .professional .professional-copy { min-width:0; }
  .professional .professional-team { width:100%; max-width:100%; }
}

/* FINAL PROFESSIONAL desktop layout: anchored to shared section left edge;
   photo is a normal-flow grid item, aligned to top, never bottom anchored. */
@media (min-width: 821px) {
  .professional .professional-inner {
    box-sizing:border-box;
    width:calc(100% - max(5vw, (100vw - 1180px)/2));
    max-width:none;
    margin-left:max(5vw, (100vw - 1180px)/2);
    margin-right:0;
    display:grid;
    grid-template-columns:minmax(0, 650px) minmax(0, 1fr);
    gap:clamp(18px, 2vw, 38px);
    align-items:start;
    min-height:0;
    padding:90px clamp(24px, 4vw, 75px) 75px 0;
    overflow:visible;
  }
  .professional .professional-copy {
    grid-column:1;
    align-self:start;
    width:100%;max-width:650px;
    padding:0;margin:0;
    transform:none;
  }
  .professional .professional-team {
    grid-column:2;
    position:static;
    align-self:start;
    justify-self:center;
    width:100%;max-width:690px;
    height:auto;max-height:none;
    margin:0;padding:0;
    transform:none;
    object-fit:contain;
    object-position:center top;
  }
  .professional .professional-inner::after {display:none;content:none;}
}
@media (min-width:821px) and (max-width:1250px) {
  .professional .professional-inner {grid-template-columns:minmax(0, 54%) minmax(0, 46%);gap:16px;padding-right:3vw;}
  .professional .professional-copy h2 {font-size:clamp(26px,3vw,40px);}
  .professional .professional-copy p {font-size:clamp(14px,1.35vw,18px);}
  .professional .professional-call {font-size:clamp(22px,2.2vw,31px)!important;}
}

/* Final phrase remains on one line; portrait CSS unchanged. */
@media(min-width:821px){.professional .professional-pride-ending{white-space:nowrap;display:inline-block;}}

/* Only the final pride sentence: explicit desktop two-line typography. */
@media (min-width:821px){
 .professional .professional-pride-firstline,.professional .professional-pride-secondline{white-space:nowrap;}
 .professional .professional-pride-linebreak{display:block;}
}
@media (max-width:820px){.professional .professional-pride-linebreak{display:none;}}

/* Desktop: entire pride sentence stays on ONE line; do not modify portrait layout. */
@media (min-width:821px){.professional .professional-pride-one-line{display:inline-block;white-space:nowrap;position:relative;z-index:3;}.professional .professional-copy p:has(>.professional-pride-one-line){overflow:visible;}}

/* PROFESSIONAL atmospheric backdrop trial — portraits, text and grid unchanged. */
.professional {
  background-color:#4a3d35;
  background-image:
    radial-gradient(ellipse 55% 85% at 77% 43%, rgba(205,178,153,.20) 0%, rgba(151,121,103,.09) 45%, transparent 83%),
    radial-gradient(ellipse 75% 65% at 69% 105%, rgba(39,27,24,.30) 0%, transparent 76%),
    radial-gradient(ellipse 65% 95% at 10% 5%, rgba(27,20,18,.15) 0%, transparent 80%),
    repeating-linear-gradient(35deg, rgba(255,255,255,.008) 0px, rgba(255,255,255,.008) 1px, transparent 1px, transparent 4px),
    linear-gradient(108deg,#453830 0%,#514039 40%,#746057 73%,#90796c 100%);
}
@media (min-width:821px) {
  .professional .professional-inner {position:relative;isolation:isolate;}
  .professional .professional-inner::after {
    content:"";
    display:block;
    position:absolute;
    left:auto;
    right:clamp(24px,4vw,75px);
    bottom:64px;
    width:min(40vw,590px);
    height:34px;
    border-radius:50%;
    background:radial-gradient(ellipse at center,rgba(28,20,17,.36) 0%,rgba(30,22,19,.18) 43%,transparent 75%);
    filter:blur(10px);
    opacity:.8;
    pointer-events:none;
    z-index:0;
  }
  .professional .professional-team {position:relative;z-index:1;}
  .professional .professional-copy {position:relative;z-index:2;}
}

/* Replace broad floating shadow with subtle shoe-specific contact shadows baked into the unchanged-size transparent portrait asset. */
@media(min-width:821px){.professional .professional-inner::after{display:none!important;content:none!important;}}

/* Mobile-only finishing adjustment: lift the four-person portrait 14px.
   No desktop styles, copy, portrait dimensions, or other layout changed. */
@media (max-width:820px) {
  .professional .professional-team { transform:translateY(-14px); }
}

/* Header navigation typography trial: desktop only; all other layout unchanged. */
@media (min-width:821px) {
  .site-header nav a {
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
    font-size:15px;
    font-weight:600;
    letter-spacing:.055em;
    color:#79513e;
    text-decoration:none;
    text-underline-offset:7px;
    text-decoration-thickness:1px;
  }
  .site-header nav a:hover, .site-header nav a:focus-visible {
    text-decoration:underline;
    color:#4a3d35;
  }
  .site-header nav a.contact-nav {
    border-color:rgba(121,81,62,.65);
  }
}

/* Hero line breaks: hidden on desktop, shown only on mobile */
@media (min-width: 821px) { .hero-copy br.hero-mobile-break { display: none !important; } }

/* Hero: fixed line breaks on both PC and mobile */
.hero-copy br.hero-fixed-break { display: block !important; }

/* Hero copy: intentional sentence group spacing (desktop and mobile) */
.hero-copy p.hero-first { margin-bottom: 30px; }
.hero-copy p.hero-first + p { margin-top: 0; margin-bottom: 30px; }
.hero-copy p.hero-first + p + p { margin-top: 0; }
@media (max-width:820px) {
  .hero-copy p.hero-first { margin-bottom: 22px; }
  .hero-copy p.hero-first + p { margin-bottom: 22px; }
}

/* Header brand hierarchy: preserve the original gothic typeface */
.site-header .brand-legal{font-size:.83em;font-weight:inherit}.site-header .brand-forlink{font-size:1em;font-weight:inherit}.site-header .brand-name{white-space:nowrap}

/* Final wordmark spacing: retain existing sizes and weights */
.site-header .brand-forlink{margin-left:.16em}

/* ABOUT: opening and closing statements share the same typography. */
.about .about-intro,.about .about-outro{font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:23px;line-height:1.7;font-weight:700;letter-spacing:normal}
.about .about-outro{margin:32px 0 0}
@media(max-width:820px){.about .about-intro,.about .about-outro{font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:19px;line-height:1.7;font-weight:700;letter-spacing:normal}}

/* Final fine adjustment: tighten header wordmark tracking only. */
.site-header .brand-name{letter-spacing:-.025em}
.site-header .brand-forlink{margin-left:.10em}

/* FORLINK letters only: subtle tracking restoration */
.site-header .brand-name .brand-forlink{letter-spacing:.015em}

/* PROFESSIONAL portrait layout — trimmed transparent PNG (861 x 779).
   Single authoritative portrait block; no zoom-specific overrides appended.
   Width uses viewport units so perceived size remains stable when browser zoom changes. */
@media (min-width: 1301px) {
  .professional .professional-inner {
    position:relative;
    isolation:isolate;
    min-height:750px;
  }
  .professional .professional-copy {position:relative;z-index:2;}
  .professional .professional-team {
    position:absolute;
    grid-column:2;
    width:36vw;
    height:auto;
    max-width:none;
    max-height:none;
    top:75px;
    right:5vw;
    bottom:auto;
    left:auto;
    margin:0;
    padding:0;
    transform:none;
    object-fit:contain;
    z-index:1;
  }
}
/* Enlarged/125% browser zoom: keep the approved stacked layout,
   but remove empty transparent space around the four people. */
@media (min-width:821px) and (max-width:1300px) {
  .professional .professional-inner {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:clamp(16px,3vw,36px);
    min-height:0;
    padding-right:clamp(24px,5vw,70px);
  }
  .professional .professional-copy {
    grid-column:1;
    width:100%;
    max-width:none;
  }
  .professional .professional-team {
    grid-column:1;
    position:relative;
    justify-self:end;
    align-self:start;
    width:min(100%,760px);
    height:auto;
    max-width:100%;
    max-height:none;
    top:auto;
    right:auto;
    bottom:auto;
    left:auto;
    margin:0;
    padding:0;
    transform:none;
  }
}
/* Mobile: preserve the existing single-column presentation with cropped asset. */
@media (max-width:820px) {
  .professional .professional-team {
    width:min(100%,480px);
    height:auto;
    max-width:100%;
    max-height:none;
    margin:0 auto;
    transform:none;
  }
}

/* ACCESS: station suffix only; preserve the existing station layout. */
.access-copy .station-title h3 .station-suffix{font-size:.68em;}
