/* Independent pages with shared navigation. */
.interior{background:#fff}
.page-heading{padding:108px 0 44px;border-bottom:1px solid #e6e6e6;background:#f7f7f7}
.page-heading .wrap,.interior .page-content>.wrap{max-width:1120px}
.interior .page-content>.service-detail{max-width:980px}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:9px 16px;list-style:none;padding:0;margin:0 0 28px;font-size:12px;line-height:1.8;color:#737373}
.breadcrumbs li+li:before{content:'/';display:inline-block;margin-right:16px;color:#aaa}
.breadcrumbs a:hover{color:var(--red)}
.page-english{margin:0 0 12px;color:var(--red);font-size:clamp(48px,4.8vw,68px);line-height:1.05;letter-spacing:-.045em;font-weight:700}
.page-heading h1{margin:0;font-size:28px;font-weight:500;line-height:1.5;letter-spacing:.02em;overflow-wrap:anywhere}
.interior main>.section{padding:64px 0 88px}
.footer-nav{display:flex;flex-wrap:wrap;gap:16px 34px;padding:35px 0;font-size:12px;color:#ccc;border-top:1px solid #ffffff25;margin-top:32px}
.footer-nav a:hover{color:#fff}
.home .hero h1{font-size:clamp(36px,4.15vw,64px);line-height:1.65}
.home .hero-main{top:49%}
.home .hero-actions{margin-top:42px}
.home-news{border-bottom:1px solid var(--line);background:#fff}
.home-news .wrap>a{display:grid;grid-template-columns:250px 1fr 30px;align-items:center;gap:30px;padding:35px 0}
.home-news h2{font-size:26px;letter-spacing:-.035em;font-weight:600;margin:0}
.home-news h2 small{font-size:11px;margin-left:22px;font-weight:400;letter-spacing:0}
.home-news p{font-size:13px;color:#666;margin:0}
.home-news a>span{font-size:23px;color:var(--red)}
.home-intro{padding-bottom:0}
.home-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%}
.home-intro h2{font-size:21px;font-weight:500;line-height:1.8;margin:0}
.home-intro-grid p{font-size:16px;line-height:2.1;margin:0 0 25px}
.home-section-title{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:45px}
.home-section-title p{color:var(--red);font-size:clamp(60px,6.5vw,88px);line-height:1.1;letter-spacing:-.05em;font-weight:700;margin:0 0 12px}
.home-section-title h2{font-size:18px;font-weight:500;margin:0}
.business-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.business-card{display:block;min-width:0}
.card-media{aspect-ratio:16/10;overflow:hidden;background:#efefef}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.22,.75,.2,1)}
.business-card:hover .card-media img{transform:scale(1.045)}
.card-title{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0 10px}
.card-title h2{margin:0;font-size:24px;font-weight:500}
.card-title>span{color:var(--red);font-size:25px;transition:transform .25s}
.business-card:hover .card-title>span{transform:translate(3px,-3px)}
.business-card>p{font-size:14px;line-height:1.8;color:#666;margin:0}
.sumile-visual{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#ededeb}
.sumile-visual>span{color:var(--red);font-size:clamp(36px,3.5vw,55px);font-weight:700;letter-spacing:-.04em}
.sumile-visual small{font-size:11px;letter-spacing:.12em;color:#666}
.home-directory{background:#f4f4f4}
.directory-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 9%}
.directory-grid>a{display:grid;grid-template-columns:1fr auto;align-items:center;padding:32px 0;border-bottom:1px solid #ccc}
.directory-en{font-size:42px;font-weight:500;letter-spacing:-.04em;line-height:1.2;margin-bottom:10px}
.directory-name{grid-column:1;font-size:13px}
.directory-grid>a>span:last-child{grid-row:1/3;grid-column:2;color:var(--red);font-size:26px;transition:transform .3s}
.directory-grid>a:hover>span:last-child{transform:translate(4px,-4px)}
.estate-intro{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:60px;align-items:center;margin-bottom:56px}
.estate-intro>img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.estate-intro .business-brand{font-size:24px;line-height:1.4;letter-spacing:.045em;margin:0}
.estate-intro>div>p:not(.business-brand){font-size:18px;line-height:1.95;margin:20px 0 0}
.estate-intro>div>.license-note{font-size:13px!important;color:#666;line-height:1.8}
.service-list{border-top:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:48px minmax(0,1fr) 32px;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}
.service-number{font-size:12px;color:#999;font-variant-numeric:tabular-nums}
.service-row h2{font-size:24px;line-height:1.5;font-weight:500;margin:0 0 9px;transition:color .2s}
.service-row p{font-size:15px;color:#666;margin:0;line-height:1.8}
.service-row>span:last-child{font-size:28px;color:var(--red);transition:transform .3s}
.service-row:hover h2{color:var(--red)}
.service-row:hover>span:last-child{transform:translate(4px,-4px)}
.service-detail{max-width:1000px}
.service-lead{font-size:20px;line-height:1.95;margin:0 0 48px;max-width:850px}
.service-topics>div{display:grid;grid-template-columns:220px 1fr;gap:40px;padding:32px 0;border-top:1px solid var(--line)}
.service-topics h2{font-size:18px;font-weight:500;margin:0;line-height:1.8}
.service-topics p{font-size:16px;line-height:1.95;margin:0;color:#555}
.service-contact{padding:45px 0;margin-top:25px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:24px 45px;align-items:center}
.service-contact h2{width:100%;font-size:18px;font-weight:500;margin:0}
.related-services{margin-top:45px;display:flex;flex-wrap:wrap;gap:17px 25px;font-size:12px;color:#777;border-top:1px solid var(--line);padding-top:30px;line-height:1.7}
.related-services .all-services{width:100%;font-size:14px;color:var(--ink)}
.related-services [aria-current=page]{color:var(--red)}
.page-back{margin-top:65px;padding-top:30px;border-top:1px solid var(--line)}
.interior .business-panel{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:6%}
.interior .business-copy h2{font-size:28px;font-weight:500;line-height:1.6;margin:0 0 24px}
.interior .business-copy>p{font-size:16px;line-height:1.95}
.interior .business-copy>.business-brand{font-size:14px}
.interior .business-copy>.development-note{font-size:13px}
.interior .company-grid,.interior .news-grid,.interior .recruit-grid{display:block;max-width:1000px}
.interior .recruit-content>h2{font-size:42px;font-weight:500;margin:0 0 40px}
.recruit-conditions h3{font-size:15px;font-weight:600;margin:28px 0 15px}
.interior .recruit-summary>div{grid-template-columns:170px 1fr;padding:25px 0}
.interior .recruit-conditions li{font-size:15px}
.interior .recruit-conditions{padding-top:15px}
.interior .group-row h2{font-size:24px;font-weight:500;margin:0 0 12px;line-height:1.5}
.interior .cooperators h2{font-size:16px;font-weight:500;margin:0}
.interior .sponsor h2,.interior .community h2{font-size:22px;font-weight:500;line-height:1.7;margin:12px 0}
.interior .message-copy p{font-size:16px;line-height:2;margin:0 0 28px}
.interior .company-details>div{font-size:16px;line-height:1.9}
.interior .company-details dt{font-size:14px}
.interior .group-field{font-size:14px;line-height:1.8}
.interior .company-url{font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.interior .message-copy .signature{margin-top:45px}
.profile-businesses{list-style:none;padding:0;margin:0}
.profile-businesses li{margin:0 0 6px}
.profile-businesses a:hover{color:var(--red)}
.interior .contact{background:#fff;color:var(--ink)}
.interior .contact-grid{max-width:1000px;align-items:start}
.contact-intro{font-size:16px;line-height:2;margin:0}
.fax-line{font-size:12px;color:#777;margin:15px 0 0}
.interior .news-empty{padding:40px 0 70px;font-size:16px;border-top:1px solid var(--line)}
.interior .sponsor>p:not(.partner-type),.interior .community p:not(.partner-type){font-size:16px;line-height:1.9}
.js-motion .business-card,.js-motion .service-row,.js-motion .directory-grid>a{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s cubic-bezier(.22,.75,.2,1)}
.js-motion .business-card.is-visible,.js-motion .service-row.is-visible,.js-motion .directory-grid>a.is-visible{opacity:1;transform:none}
.business-card:focus-visible,.service-row:focus-visible,.directory-grid>a:focus-visible{outline:2px solid var(--red);outline-offset:7px}
@media(max-width:1050px){
 .business-cards{gap:25px}.card-title h2{font-size:21px}.card-title{padding-top:20px}.home-intro-grid{grid-template-columns:1fr;gap:25px}.home-news .wrap>a{grid-template-columns:190px 1fr 25px;gap:25px}.estate-intro{gap:7%}.service-row h2{font-size:22px}
 .estate-intro{gap:36px}.estate-intro>div>p:not(.business-brand){font-size:17px}
}
@media(max-width:760px){
 .page-heading{padding:98px 0 40px}.breadcrumbs ol{font-size:9px;gap:6px 10px;margin-bottom:32px}.breadcrumbs li+li:before{margin-right:10px}.page-english{font-size:61px;margin-bottom:15px}.page-heading h1{font-size:20px;line-height:1.6}.interior main>.section{padding:45px 0 65px}
 .home .hero h1{font-size:clamp(23px,6.8vw,39px);line-height:1.75}.home .hero-actions{margin-top:32px}.home-news .wrap>a{grid-template-columns:1fr 20px;gap:12px;padding:27px 0}.home-news h2{font-size:25px}.home-news h2 small{margin-left:20px}.home-news p{grid-column:1;font-size:11px;line-height:1.8}.home-news a>span{grid-column:2;grid-row:1/3}.home-intro h2{font-size:18px}.home-intro-grid p{font-size:14px}.home-intro{padding-bottom:0}.home-section-title{margin-bottom:30px;align-items:center}.home-section-title p{font-size:59px}.home-section-title h2{font-size:15px}.home-section-title>.action-link{font-size:11px;gap:20px}
 .business-cards{grid-template-columns:1fr;gap:40px}.card-media{aspect-ratio:16/10}.card-title h2{font-size:23px}.card-title{padding-top:20px}.business-card>p{font-size:12px}.sumile-visual>span{font-size:50px}.directory-grid{grid-template-columns:1fr}.directory-grid>a{padding:27px 0}.directory-en{font-size:38px}.directory-name{font-size:12px}.footer-nav{gap:18px 25px;font-size:11px;padding:28px 0}
 .estate-intro{grid-template-columns:1fr;gap:30px;margin-bottom:45px}.estate-intro>div>p:not(.business-brand){font-size:14px}.service-row{grid-template-columns:23px minmax(0,1fr) 24px;gap:12px;padding:25px 0}.service-row h2{font-size:18px;margin-bottom:9px}.service-row p{font-size:11px}.service-number{font-size:10px}.service-row>span:last-child{font-size:22px}.service-lead{font-size:17px;margin-bottom:35px}.service-topics>div{grid-template-columns:1fr;gap:12px;padding:26px 0}.service-topics h2{font-size:17px}.service-topics p{font-size:13px}.service-contact{gap:25px;padding:30px 0;margin-top:10px}.service-contact h2{font-size:15px}.related-services{gap:15px 20px;font-size:11px;margin-top:25px}.page-back{margin-top:40px}
 .interior .business-copy h2{font-size:23px}.interior .group-row h2{font-size:19px}.interior .sponsor h2,.interior .community h2{font-size:19px}.interior .message-copy p{font-size:14px}.interior .recruit-content>h2{font-size:34px;margin-bottom:28px}.interior .recruit-summary>div{grid-template-columns:75px 1fr;padding:20px 0}.interior .recruit-conditions li{font-size:12px}.interior .contact-grid{gap:30px}.contact-intro{font-size:14px}.interior .news-empty{padding:20px 0 55px;font-size:13px}
}
@media(max-width:360px){.page-english{font-size:53px}.page-heading h1{font-size:18px}.service-row h2{font-size:17px}.home-section-title p{font-size:51px}.home-section-title>.action-link{gap:10px}}
@media(max-width:760px){
 .page-heading{padding:94px 0 34px}.breadcrumbs ol{font-size:10px;margin-bottom:25px}.page-english{font-size:clamp(38px,12vw,50px);line-height:1.1;margin-bottom:10px}.page-heading h1{font-size:24px;line-height:1.5}.interior main>.section{padding:36px 0 60px}
 .estate-intro{grid-template-columns:1fr;gap:26px;margin-bottom:36px}.estate-intro>img{aspect-ratio:16/9}.estate-intro .business-brand{font-size:21px}.estate-intro>div>p:not(.business-brand){font-size:16px;line-height:1.95;margin-top:17px}.estate-intro>div>.license-note{font-size:12px!important}
 .service-row{grid-template-columns:22px minmax(0,1fr) 22px;gap:12px;padding:24px 0}.service-row h2{font-size:19px;line-height:1.55;margin-bottom:8px}.service-row p{font-size:14px;line-height:1.75}.service-number{font-size:11px}.service-topics p{font-size:15px;line-height:1.9}
 .business-card>p{font-size:14px}.interior .business-panel{grid-template-columns:1fr;gap:28px}.interior .business-copy h2{font-size:24px}.interior .business-copy>p{font-size:16px}.interior .message-copy p{font-size:15px;line-height:2}.interior .company-details>div{font-size:15px}.interior .company-details dt{font-size:13px}.interior .group-field,.interior .company-url{font-size:13px}.interior .recruit-conditions li{font-size:14px}.interior .news-empty,.interior .contact-intro,.interior .sponsor>p:not(.partner-type),.interior .community p:not(.partner-type){font-size:15px}
}
@media(prefers-reduced-motion:reduce){.js-motion .business-card,.js-motion .service-row,.js-motion .directory-grid>a{opacity:1;transform:none;transition:none}}
