@font-face{font-family:Aurexa Sans;src:url(../assets/fonts/noto-sans-jp.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Aurexa Serif";src:url(../assets/fonts/noto-serif-jp.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--ink:#302b25;--muted:#75685e;--accent:#816149;--accent-hover:#654a37;--ivory:#f5f2ed;--line:#d9d1c9;--white:#fff;font-family:Aurexa Sans,Yu Gothic,Hiragino Kaku Gothic ProN,sans-serif;color:var(--ink);background:var(--white);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font-size:14px;line-height:1.7}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}h1,h2,h3,p,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}h1,h2{font-family:"Aurexa Serif",Yu Mincho,Hiragino Mincho ProN,serif;font-weight:400}.container{width:74.5%;max-width:1160px;margin-inline:auto}.skip-link{position:fixed;top:8px;left:12px;width:1px;height:1px;overflow:hidden;padding:0;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;background:var(--white);border:1px solid var(--accent);z-index:5}.skip-link:focus{width:auto;height:auto;overflow:visible;padding:8px 18px;clip:auto;clip-path:none}.site-header{border-bottom:1px solid var(--line);background:var(--white)}.brand-row{height:91px;display:flex;align-items:center;justify-content:center}.brand{display:inline-flex;justify-content:center;align-items:center}.brand img{width:170px;height:77px;object-fit:contain}.site-navigation ul{display:flex;align-items:center;justify-content:center;height:43px}.site-navigation li+li{border-left:1px solid var(--line)}.site-navigation a{display:flex;align-items:center;justify-content:center;min-height:24px;padding:0 40px;letter-spacing:.09em;font-size:14px;transition:color .16s ease}.site-navigation a[aria-current=page]{color:var(--accent);text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}.text-link{display:inline-flex;align-items:center;min-height:36px;font-size:12px;letter-spacing:.04em;color:var(--accent);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px}.about-column .text-link{margin-top:8px}.home-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.home-section-heading .text-link{white-space:nowrap}.category-list a{display:block}.page-banner{width:100%;aspect-ratio:3/1;overflow:hidden;background:var(--ivory)}.page-banner img{width:100%;height:100%;object-fit:cover}.page-heading{padding:25px 20px 29px;text-align:center;background:var(--ivory)}.page-heading .section-eyebrow{margin-bottom:7px}.page-heading h1{font-size:34px;line-height:1.5;letter-spacing:.08em}.breadcrumb{padding-top:21px;font-size:11px;letter-spacing:.025em;color:var(--muted)}.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.breadcrumb li+li:before{content:"/";margin-right:12px;color:#b8aaa0}.breadcrumb a{display:inline-flex;align-items:center;min-height:26px}.about-section--page{padding-block:41px 65px}.about-section--page h2{margin-bottom:20px}.about-section--page p:not(.section-eyebrow){font-size:15px;line-height:2}.about-section--page p+p:not(.section-eyebrow){margin-top:10px}.page--about .contact-section{background:var(--white)}.category-page{padding-block:30px 65px;max-width:920px}.category-introduction{font-size:15px;line-height:2;letter-spacing:.02em;margin-bottom:36px}.category-directory{border-top:1px solid var(--line)}.category-directory li{display:flex;align-items:center;gap:35px;padding:23px 8px;border-bottom:1px solid var(--line);scroll-margin-top:24px}.category-number{font-size:14px;letter-spacing:.1em;color:var(--accent);width:35px;flex-shrink:0}.category-directory h2{font-size:27px;line-height:1.6;letter-spacing:.04em}.category-page .category-note{font-size:12px;text-align:left;line-height:1.9;margin-top:22px}.page--company .company-section{padding-top:38px}.page--company .section-heading h2{font-size:29px;line-height:1.65;letter-spacing:.01em}.contact-page{padding-block:48px 79px;text-align:center}.contact-page .contact-description{font-size:16px;line-height:2.1}.contact-page .contact-actions{margin-top:32px}.contact-page .contact-email{margin-top:22px;font-size:14px}.contact-company{border-top:1px solid var(--line);max-width:640px;margin:40px auto 0;padding-top:24px;font-size:13px;line-height:2;color:var(--muted)}.hero-photograph{width:100%;height:clamp(310px,31.13vw,480px);overflow:hidden}.hero-photograph img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-statement{padding:22px 24px 18px;background:var(--ivory);text-align:center}.hero-eyebrow{font-size:14px;color:var(--accent);letter-spacing:.07em;line-height:1.6;margin-bottom:1px}.hero h1{font-size:clamp(36px,3.46vw,54px);letter-spacing:.025em;line-height:1.5;margin-bottom:3px}.hero-description{font-size:17px;line-height:1.65;letter-spacing:.02em}.hero-description span{display:block}.contact-actions{display:flex;justify-content:center;gap:16px;margin-top:16px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;width:242px;padding:7px 18px;border:1px solid var(--accent);letter-spacing:.055em;font-size:16px;line-height:1.7;transition:background-color .16s ease,color .16s ease}.button--primary{background:var(--accent);color:var(--white)}.button--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--white)}.button--outline{color:var(--accent)}.button--outline:hover{background:#ece5dc}.identity-strip{border-bottom:1px solid var(--line)}.identity-grid{display:grid;grid-template-columns:1fr 1fr .75fr;padding-block:17px}.identity-grid>div{min-width:0;padding-inline:14% 16px}.identity-grid>div:first-child{padding-left:0}.identity-grid>div+div{border-left:1px solid var(--line)}.identity-grid dt{color:var(--muted);font-size:11px;letter-spacing:.07em;margin-bottom:4px}.identity-grid dd{font-size:14px;line-height:1.5}.identity-grid dd span,.identity-grid dd a{display:block}.identity-grid dd a{width:fit-content}.about-section{display:grid;grid-template-columns:1fr 1fr;padding-top:23px;padding-bottom:10px}.about-column{padding-right:40px}.business-column{padding-left:60px;padding-right:0;border-left:1px solid var(--line)}.section-eyebrow{font-size:11px;line-height:1.5;letter-spacing:.16em;color:var(--muted);margin-bottom:5px}.about-section h2{font-size:27px;line-height:1.5;letter-spacing:.025em;margin-bottom:7px}.about-section p:not(.section-eyebrow){font-size:13px;line-height:1.6;letter-spacing:.015em}.category-section{padding-bottom:28px}.category-section h2{font-family:Aurexa Sans,sans-serif;font-size:22px;font-weight:400;line-height:1.6;margin-bottom:4px}.category-list{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #b8aaa0;padding-block:11px}.category-list li{text-align:center;font-size:14px;line-height:1.6;padding-inline:8px}.category-list li+li{border-left:1px solid var(--line)}.category-note{text-align:right;color:var(--muted);font-size:10px;line-height:1.65}.flow-section{background:var(--ivory);padding-block:65px 70px}.section-heading h2{font-size:32px;line-height:1.5;letter-spacing:.04em}.flow-list{display:grid;grid-template-columns:repeat(4,1fr);margin-top:30px}.flow-list li{padding-inline:26px}.flow-list li:first-child{padding-left:0}.flow-list li:last-child{padding-right:0}.flow-list li+li{border-left:1px solid var(--line)}.step-number{display:block;font-size:28px;font-weight:400;color:var(--accent);letter-spacing:.05em;line-height:1.3;margin-bottom:14px}.flow-list h3{font-size:16px;font-weight:500;line-height:1.7;margin-bottom:10px}.flow-list p{font-size:13px;line-height:1.9;color:var(--muted)}.company-section{display:grid;grid-template-columns:28% 1fr;gap:40px;padding-block:75px 82px}.company-details{border-top:1px solid var(--line)}.company-detail{display:grid;grid-template-columns:190px 1fr;gap:20px;padding-block:16px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.9}.company-detail dt{color:var(--muted)}.company-detail dd{overflow-wrap:anywhere}.company-detail a{text-decoration:underline;text-decoration-color:#c3b2a2;text-underline-offset:4px}.contact-section{padding-block:62px 66px;background:var(--ivory);text-align:center}.contact-section h2{font-size:34px;line-height:1.6;margin-bottom:18px;letter-spacing:.04em}.contact-description{font-size:14px;line-height:2}.contact-section .contact-actions{margin-top:26px}.contact-email{display:inline-block;font-size:13px;letter-spacing:.04em;text-decoration:underline;text-underline-offset:4px;margin-top:19px;padding:4px 8px}.site-footer{padding-top:44px;border-top:1px solid var(--line)}.footer-content{display:flex;align-items:center;gap:65px}.brand--footer img{width:145px;height:66px}.footer-company{font-size:12px;line-height:1.9}.footer-company p:first-child{margin-bottom:2px}.footer-links{display:flex;gap:23px;flex-wrap:wrap}.footer-navigation ul{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:0 28px;margin:30px 20px 0}.footer-navigation a{display:flex;align-items:center;min-height:32px;font-size:11px;letter-spacing:.04em;color:var(--muted)}.footer-navigation a[aria-current=page]{color:var(--accent)}.copyright{margin-top:30px;padding-block:19px;border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:10px;letter-spacing:.06em}@media(min-width:1600px){.hero h1{font-size:56px}.hero-statement{padding-block:28px}.about-section{padding-top:30px;padding-bottom:24px}.about-section p:not(.section-eyebrow){font-size:14px}}@media(max-width:1050px){.container{width:calc(100% - 64px)}.site-navigation a{padding-inline:27px}.identity-grid>div{padding-left:24px}.business-column{padding-left:32px}.about-column:first-child{padding-right:32px}.company-section{grid-template-columns:1fr;gap:30px}.company-detail{grid-template-columns:200px 1fr}.flow-list li{padding-inline:20px}}@media(max-width:700px){html{scroll-padding-top:18px}.container{width:calc(100% - 40px)}.brand-row{height:86px}.brand img{width:151px;height:69px}.site-navigation ul{height:auto;display:flex;flex-wrap:wrap;padding:0 10px 10px}.site-navigation li+li{border-left:none}.site-navigation li{flex:0 0 auto}.site-navigation a{min-height:44px;padding-inline:13px;font-size:12px;letter-spacing:.015em}.site-navigation a[aria-current=page]{text-underline-offset:5px}.text-link{min-height:44px;font-size:12px}.about-column .text-link{margin-top:9px}.page-banner{aspect-ratio:1.8/1}.page-heading{padding-block:22px 25px}.page-heading h1{font-size:29px;letter-spacing:.04em}.breadcrumb{padding-top:15px;font-size:10px}.breadcrumb a{min-height:32px}.about-section--page{padding-block:23px 40px;gap:32px}.about-section--page p:not(.section-eyebrow){font-size:14px;line-height:2}.about-section--page h2{margin-bottom:15px}.category-page{padding-block:23px 40px}.category-introduction{font-size:14px;line-height:1.95;margin-bottom:27px}.category-directory li{gap:18px;padding:19px 0}.category-number{font-size:12px;width:29px}.category-directory h2{font-size:clamp(20px,5.7vw,24px);letter-spacing:.02em}.category-page .category-note{font-size:11px;margin-top:18px}.page--company .company-section{padding-top:24px}.page--company .section-heading h2{font-size:25px}.contact-page{padding-block:27px 43px}.contact-page .contact-description{font-size:14px;line-height:2}.contact-page .contact-actions{margin-top:25px}.contact-page .contact-email{margin-top:17px;font-size:13px}.contact-company{margin-top:28px;padding-top:22px;font-size:12px;line-height:2;overflow-wrap:anywhere}.hero-photograph{height:auto;aspect-ratio:2.1}.hero-photograph img{object-position:66% center}.hero-statement{padding:27px 20px 30px}.hero-eyebrow{font-size:11px;margin-bottom:11px}.hero h1{font-size:clamp(27px,7.5vw,40px);line-height:1.65;letter-spacing:.03em;margin-bottom:14px}.hero h1 span{display:block}.hero-description{font-size:13px;line-height:1.9;letter-spacing:0;max-width:360px;margin-inline:auto}.hero-description span{display:inline}.contact-actions{flex-direction:column;align-items:center;gap:10px;margin-top:21px}.button{width:min(100%,320px);min-height:48px;font-size:14px;padding-block:10px}.identity-grid{grid-template-columns:1fr;padding-block:8px}.identity-grid>div,.identity-grid>div:first-child{padding:12px 0;display:grid;grid-template-columns:76px 1fr;gap:12px}.identity-grid>div+div{border-left:none;border-top:1px solid var(--line)}.identity-grid dt{padding-top:1px;margin:0;font-size:11px}.identity-grid dd{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.identity-grid dd a{min-height:30px;display:flex;align-items:center}.about-section{grid-template-columns:1fr;padding-block:35px 26px;gap:29px}.about-column,.business-column,.about-column:first-child{padding:0;border:0}.business-column{padding-top:28px;border-top:1px solid var(--line)}.section-eyebrow{font-size:10px;margin-bottom:7px}.about-section h2{font-size:25px;margin-bottom:12px}.about-section p:not(.section-eyebrow){font-size:14px;line-height:1.95}.category-section{padding-bottom:36px}.category-section h2{font-size:23px;margin-bottom:10px}.category-list{grid-template-columns:1fr;padding:0}.category-list li{text-align:left;font-size:14px;min-height:45px;display:flex;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.category-list li+li{border-left:none}.category-note{font-size:11px;text-align:left;line-height:1.9;margin-top:13px}.flow-section{padding-block:38px 43px}.section-heading h2{font-size:27px}.flow-list{grid-template-columns:1fr;margin-top:23px}.flow-list li,.flow-list li:first-child,.flow-list li:last-child{padding:20px 0 22px 51px;position:relative}.flow-list li+li{border-left:0;border-top:1px solid var(--line)}.step-number{position:absolute;left:0;top:21px;font-size:24px;margin:0}.flow-list h3{font-size:16px;margin-bottom:8px}.flow-list p{font-size:13px;line-height:1.9}.company-section{gap:25px;padding-block:42px 46px}.company-detail{grid-template-columns:1fr;gap:5px;padding-block:14px;font-size:14px;line-height:1.85}.company-detail dt{font-size:12px}.company-detail a{display:inline-block;min-height:30px}.contact-section{padding-block:40px 43px}.contact-section h2{font-size:28px;margin-bottom:15px}.contact-description{font-size:14px;line-height:1.95}.desktop-break{display:none}.contact-section .contact-actions{margin-top:23px}.contact-email{font-size:14px;padding-block:8px}.site-footer{padding-top:29px}.footer-content{flex-direction:column;gap:22px;text-align:center}.brand--footer img{width:136px;height:62px}.footer-company{font-size:11px;line-height:1.95}.footer-links{justify-content:center;gap:3px 15px;margin-top:7px}.footer-links a{padding-block:4px}.footer-navigation ul{gap:0 20px;margin-top:20px}.footer-navigation a{min-height:44px;font-size:11px}.copyright{margin-top:24px;font-size:9px;padding-block:17px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a{transition:none!important}}
