:root{--mint-font:"Manrope","Noto Sans JP","Yu Gothic",sans-serif;--mint-text-heading:var(--mint-text);--mint-radius-header:20px;--mint-brand-soft:color-mix(in srgb,var(--mint-accent) 8%,var(--mint-canvas));--mint-header-glass:color-mix(in srgb,var(--mint-canvas) 84%,transparent);--mint-display-weight:800;--mint-reveal-duration:900ms}
html{scroll-behavior:smooth;scroll-padding-top:120px}body{overflow-x:clip}::selection{background:var(--mint-accent);color:var(--mint-canvas)}h1,h2,h3,p{margin:0}a{text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}img{max-width:100%;height:auto}.wrap{width:min(1380px,calc(100% - 112px));margin-inline:auto}.section-space{padding-block:132px}.eyebrow{font-size:.8125rem;font-weight:600;letter-spacing:.13em;line-height:1.6}.section-label{display:flex;gap:22px;align-items:center;margin-bottom:36px}.section-number{font-size:.8125rem;color:var(--mint-muted)}.accent-line{color:var(--mint-accent)}.skip-link{position:fixed;top:-100px;left:25px;z-index:100}.skip-link:focus{top:20px}.header-shell{position:fixed;z-index:30;top:20px;left:28px;right:28px;--mint-surface:var(--mint-header-glass);--mint-line-surface:var(--mint-line-faint);backdrop-filter:blur(20px);border-radius:var(--mint-radius-header)}.site-header-inner{justify-content:space-between}.wordmark{font-size:2.2rem;line-height:1;font-weight:800;letter-spacing:-.08em}.mint-app .wordmark{color:var(--mint-text)}.wordmark span{color:var(--mint-accent)}.wordmark-period{margin-left:3px}.desktop-nav{display:flex;gap:28px;margin-left:auto;margin-right:20px}.mint-app .desktop-nav a{color:var(--mint-text);font-size:.875rem;font-weight:500}.mint-app .desktop-nav a:hover{color:var(--mint-accent)}.header-contact{gap:26px}.mobile-nav{display:none}.hero{position:relative;min-height:850px;height:100svh;max-height:1160px;isolation:isolate;overflow:hidden}.hero-art{position:absolute;z-index:-3;right:-7%;top:0;width:110%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%;animation:hero-arrive 1.6s var(--mint-ease-out) both}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,var(--mint-canvas) 0%,color-mix(in srgb,var(--mint-canvas) 75%,transparent) 24%,transparent 66%),linear-gradient(0deg,var(--mint-canvas),transparent 22%)}.hero-content{padding-top:clamp(170px,19vh,250px);position:relative}.hero-eyebrow{color:var(--mint-accent);margin-bottom:30px}.hero h1{font-size:clamp(3.5rem,6.65vw,7rem);line-height:1.22;letter-spacing:-.07em;font-weight:900;max-width:800px}.hero h1>span{display:block;animation:title-arrive 1s var(--mint-ease-out) both}.hero h1>span:nth-child(2){animation-delay:90ms}.hero h1>span:nth-child(3){animation-delay:180ms}.hero-description{font-size:1rem;line-height:1.95;margin-top:32px;font-weight:500}.hero-more{margin-top:25px;display:inline-flex;align-items:center;gap:32px;font-size:.875rem;font-weight:600}.hero-more span{display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--mint-line-accent);border-radius:50%}.hero-bottom{position:absolute;bottom:27px;left:0;right:0;display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.13em;color:var(--mint-muted)}.scroll-cue{display:flex;gap:28px}.about-section{display:grid;grid-template-columns:1fr 2.65fr;gap:30px}.about-section>.section-label{align-self:start}.about-content h2{font-size:clamp(2.5rem,4.4vw,4.8rem);line-height:1.6;letter-spacing:-.055em;font-weight:700}.about-content h2 span{color:var(--mint-muted)}.about-body{max-width:600px;margin-top:40px;margin-left:auto}.about-body p{margin-bottom:25px;font-size:1rem;line-height:2.15;color:var(--mint-text-body)}.about-body p:first-child{font-size:1.2rem;font-weight:600;color:var(--mint-text)}.text-link{display:inline-flex;align-items:center;gap:42px;padding-bottom:10px;border-bottom:1px solid var(--mint-line-accent);font-size:.875rem;font-weight:600}.text-link span{font-size:1.5rem;line-height:1}.business-section{background:var(--mint-surface-section);border-top:1px solid var(--mint-line-soft);border-bottom:1px solid var(--mint-line-soft)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:68px}.section-heading h2,.news-section h2{font-size:clamp(2.25rem,4.2vw,4.5rem);line-height:1.45;letter-spacing:-.05em;font-weight:700}.section-heading>p{color:var(--mint-text-body);line-height:2}.service-row{display:grid;grid-template-columns:.72fr 1.55fr 1.55fr 56px;gap:40px;align-items:center;padding:52px 0;border-top:1px solid var(--mint-border);color:var(--mint-text);transition:padding var(--mint-duration-control) var(--mint-ease-out)}.service-row:last-child{border-bottom:1px solid var(--mint-border)}.service-row:hover{padding-inline:12px}.service-index>span{font-size:3.5rem;line-height:1;font-weight:400;letter-spacing:-.07em;color:var(--mint-muted)}.service-index p{font-size:.75rem;letter-spacing:.06em;line-height:1.5;margin-top:20px;max-width:170px;color:var(--mint-muted)}.service-label{font-size:.875rem;color:var(--mint-accent);margin-bottom:18px}.service-title h3{font-size:clamp(1.7rem,2.5vw,2.6rem);line-height:1.55;letter-spacing:-.045em;color:var(--mint-text)}.service-title h3 span{display:block}.service-description>p{font-size:.9375rem;line-height:2;color:var(--mint-text-body)}.service-tags{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:20px;font-size:.75rem;color:var(--mint-muted)}.round-arrow{width:50px;height:50px;display:grid;place-items:center;border:1px solid var(--mint-line-accent);border-radius:50%;font-size:1.6rem;transition:background var(--mint-duration-control)}.service-row:hover .round-arrow{background:var(--mint-accent);color:var(--mint-canvas)}.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.work-item{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere;min-height:310px;border-top:1px solid var(--mint-accent);padding-top:20px}.work-top{display:flex;justify-content:space-between;gap:20px;font-size:.75rem;letter-spacing:.05em;color:var(--mint-muted)}.work-client{font-size:.875rem;margin-top:40px;color:var(--mint-text-body)}.work-item :is(h2,h3){font-size:clamp(1.4rem,1.65vw,1.9rem);font-weight:600;letter-spacing:-.035em;line-height:1.7;color:var(--mint-text);margin-top:15px}.work-item :is(h2,h3) span{display:block}.work-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:35px;font-size:.75rem;letter-spacing:.1em}.work-bottom>span:last-child{font-size:2rem;transition:transform var(--mint-duration-control)}.work-item:hover .work-bottom>span:last-child{transform:translate(4px,-4px)}.news-section{display:grid;grid-template-columns:1fr 1.9fr;gap:65px;border-top:1px solid var(--mint-border);padding-top:100px}.news-section .text-link{margin-top:34px}.news-row{display:grid;grid-template-columns:1fr 24px;gap:16px 25px;padding:30px 0;border-bottom:1px solid var(--mint-border)}.news-row:first-child{padding-top:0}.news-meta{grid-column:1 / -1;display:flex;gap:25px;color:var(--mint-muted);font-size:.8125rem}.news-row h3{font-size:1rem;line-height:1.9;color:var(--mint-text);font-weight:500}.news-row>span{align-self:center;font-size:1.4rem}.contact-section{background:var(--mint-accent);color:var(--mint-canvas);padding:72px 76px;display:flex;justify-content:space-between;align-items:center;gap:50px;border-radius:var(--mint-radius-panel);margin-bottom:100px}.contact-section .eyebrow{margin-bottom:25px}.contact-section h2{font-size:clamp(2.5rem,4.4vw,4.75rem);letter-spacing:-.05em;line-height:1.35}.contact-section p:last-child{margin-top:22px;line-height:1.9}.mint-app .contact-link{color:var(--mint-canvas);font-size:1.125rem;font-weight:600;display:flex;gap:70px;align-items:center;padding:20px 0;border-bottom:1px solid var(--mint-canvas)}.contact-link span{font-size:3rem;line-height:1}.site-footer{padding-bottom:32px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--mint-border);padding-top:25px;color:var(--mint-muted);font-size:.75rem;letter-spacing:.05em}.footer-bottom small{font-size:.75rem}.will-reveal{opacity:0;transform:translateY(30px);transition:opacity var(--mint-reveal-duration) var(--mint-ease-out),transform var(--mint-reveal-duration) var(--mint-ease-out)}.will-reveal.is-visible{opacity:1;transform:none}@keyframes title-arrive{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes hero-arrive{from{opacity:0;transform:scale(1.045)}to{opacity:1;transform:scale(1)}}
@media(min-width:1600px){.hero-art{width:105%;right:0}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.desktop-nav{gap:16px;margin-right:5px}.header-contact{gap:12px}.about-section{grid-template-columns:1fr 3fr}.service-row{gap:25px;grid-template-columns:.6fr 1.6fr 1.5fr 45px}.hero{min-height:800px}.works-grid{gap:22px}.work-item :is(h2,h3){font-size:1.35rem}.contact-section{padding:60px 45px}.news-section{gap:35px}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.section-space{padding-block:85px}.header-shell{top:12px;left:12px;right:12px}.desktop-nav,.header-contact{display:none}.wordmark{font-size:1.8rem}.site-header-inner{min-height:64px}.mobile-nav{display:block;position:relative;font-size:.875rem;--mint-radius-card:var(--mint-radius-control)}.mobile-links{display:flex;flex-direction:column;gap:18px;position:absolute;right:-8px;top:calc(100% + 20px);width:min(320px,calc(100vw - 48px));padding:28px;background:var(--mint-surface-section);border:1px solid var(--mint-border);border-radius:var(--mint-radius-panel);box-shadow:var(--mint-shadow-card)}.hero{height:900px;min-height:0;max-height:none}.hero-content{padding-top:150px}.hero-eyebrow{font-size:.75rem;letter-spacing:.1em;margin-bottom:30px}.hero h1{font-size:clamp(3.25rem,9vw,5.5rem)}.hero-art{height:73%;width:160%;top:27%;right:-20%;object-position:60% 50%}.hero-shade{background:linear-gradient(180deg,var(--mint-canvas),transparent 45%),linear-gradient(90deg,color-mix(in srgb,var(--mint-canvas) 55%,transparent),transparent 80%),linear-gradient(0deg,var(--mint-canvas),transparent 20%)}.hero-description{margin-top:24px;font-size:.9375rem}.hero-bottom{font-size:.75rem;bottom:20px}.scroll-cue{gap:12px}.about-section{display:block}.section-label{margin-bottom:28px}.about-content h2{font-size:clamp(2.1rem,5.8vw,3.4rem)}.about-body{margin-top:30px;margin-left:0}.about-body p{font-size:.9375rem}.desktop-break{display:none}.section-heading{align-items:flex-start;flex-direction:column;margin-bottom:44px;gap:24px}.section-heading h2,.news-section h2{font-size:2.5rem}.section-heading>p{font-size:.9375rem}.service-row{grid-template-columns:55px 1fr 38px;gap:15px;padding:32px 0}.service-index{align-self:start}.service-index>span{font-size:2.3rem}.service-index p{display:none}.service-title h3{font-size:1.7rem}.service-label{font-size:.8125rem;margin-bottom:10px}.service-description{grid-column:2/4;grid-row:2}.service-description>p{font-size:.9375rem}.round-arrow{grid-column:3;grid-row:1;width:38px;height:38px;font-size:1.3rem}.service-row:hover{padding-inline:0}.works-grid{grid-template-columns:minmax(0,1fr)}.work-item{min-height:0;padding-bottom:25px}.work-client{margin-top:28px}.work-item :is(h2,h3){font-size:1.55rem}.work-item :is(h2,h3) span{display:inline}.work-bottom{padding-top:20px}.news-section{display:block}.news-list{margin-top:44px}.news-section .text-link{margin-top:24px}.contact-section{width:calc(100% - 24px);flex-direction:column;align-items:stretch;padding:42px 28px;gap:36px;margin-bottom:60px}.contact-section h2{font-size:clamp(1.8rem,8vw,2.8rem)}.contact-section p:last-child{font-size:.9375rem}.mint-app .contact-link{justify-content:space-between;font-size:1rem;padding:15px 0}.footer-bottom{flex-direction:column;gap:8px;font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.will-reveal{opacity:1;transform:none}}
@media(max-width:800px){.site-header-inner{display:none}.mobile-nav{position:static;--mint-space-6:18px;border-radius:var(--mint-radius-header)}.mobile-menu-label{display:flex;align-items:center;gap:12px}.mobile-links{position:static;width:auto;padding:0 24px 24px;border:0;border-radius:0;box-shadow:none;background:var(--mint-canvas);gap:0}.mobile-links a{padding-block:12px;border-top:1px solid var(--mint-line-subtle)}}
.work-image{aspect-ratio:3/2;width:100%;object-fit:cover;margin-bottom:22px;border-radius:var(--mint-radius-control)}.inner-page{padding-top:150px;padding-bottom:120px;min-height:60vh}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.8125rem;color:var(--mint-muted);line-height:1.8}.breadcrumbs>span:last-child{max-width:80ch}.page-heading{padding-block:55px 60px;border-bottom:1px solid var(--mint-border);margin-bottom:52px}.page-heading .eyebrow{color:var(--mint-accent);margin-bottom:24px}.page-heading h1{font-size:clamp(2.3rem,4.3vw,4.5rem);line-height:1.5;letter-spacing:-.055em;max-width:1200px;overflow-wrap:anywhere}.page-heading time{display:block;margin-top:30px;font-size:.875rem;color:var(--mint-muted)}.archive-intro{max-width:780px;margin:0 0 55px;font-size:1.125rem;line-height:2.2;color:var(--mint-text-body)}.archive-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px 32px}.archive-item{display:block;min-width:0;overflow-wrap:anywhere;padding-top:20px;border-top:1px solid var(--mint-border)}.archive-item>img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--mint-radius-control);margin-bottom:22px}.archive-item-meta{display:flex;justify-content:space-between;color:var(--mint-muted);font-size:.8125rem}.archive-item-meta span:last-child{font-size:1.6rem;color:var(--mint-accent)}.archive-item h2{font-size:1.25rem;color:var(--mint-text);font-weight:600;line-height:1.8;margin-top:18px}.archive-item>p{color:var(--mint-text-body);font-size:.9375rem;line-height:1.95;margin-top:16px}.archive-list-news{display:block;max-width:1000px;margin-left:auto}.archive-list-news .archive-item{padding:28px 0}.archive-list-news .archive-item h2{margin-top:10px;font-size:1.125rem}.article-shell{max-width:920px;margin-inline:auto}.article-cover{display:block;width:100%;height:auto;max-height:570px;object-fit:cover;border-radius:var(--mint-radius-panel);margin-bottom:56px}.article-body{font-size:1rem;color:var(--mint-text-body);line-height:2.15;overflow-wrap:anywhere}.article-body p{margin:20px 0}.article-body :is(h2,h3,h4,h5,h6){color:var(--mint-text);font-weight:600;line-height:1.65;letter-spacing:-.025em}.article-body h2{font-size:1.75rem;margin:56px 0 24px}.article-body h3{font-size:1.375rem;margin:36px 0 16px}.article-body h4{font-size:1.125rem;margin:28px 0 12px}.article-body h5{font-size:1.0625rem;margin:24px 0 10px}.article-body h6{font-size:1rem;margin:24px 0 10px}.article-body img{max-width:100%;max-height:600px;object-fit:contain;width:auto;height:auto;margin:28px 0;border-radius:var(--mint-radius-control)}.article-body a{text-decoration:underline;overflow-wrap:anywhere}.article-body td p{margin:0}.article-body ul,.article-body ol{padding-left:1.6em}.article-end{border-top:1px solid var(--mint-border);padding-top:38px;margin-top:60px}
@media(max-width:800px){.inner-page{padding-top:110px;padding-bottom:80px}.page-heading{padding-block:38px;margin-bottom:36px}.page-heading h1{font-size:2rem;line-height:1.65}.archive-intro{font-size:1rem}.archive-list{grid-template-columns:minmax(0,1fr);gap:32px}.archive-item h2{font-size:1.25rem}.article-body h2{font-size:1.5rem;margin-top:40px}.article-body h3{font-size:1.25rem;margin-top:30px}.article-body img{margin-block:18px}.article-cover{margin-bottom:25px}.work-image{margin-bottom:20px}}
@media(max-width:800px){.hero-art{top:40%;height:67%;width:160%;right:-15%}.hero-shade{background:linear-gradient(180deg,var(--mint-canvas) 32%,transparent 68%),linear-gradient(0deg,var(--mint-canvas),transparent 20%)}}
@media(max-width:800px){.section-heading h2,.news-section h2{font-size:clamp(1.85rem,8.4vw,2.5rem)}.hero-description,.service-description>p,.about-body p{font-size:1rem}}
/* A shared crop keeps work cards aligned; article images retain their full ratio. */
.inner-page .archive-item>.original-archive-image,.work-image{display:block;width:100%;height:auto;max-height:none;aspect-ratio:830/495;object-fit:cover;object-position:center}
.archive-list-works{grid-auto-rows:1fr}.archive-list-works .archive-item{display:flex;flex-direction:column}.archive-list-works .archive-item>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.article-media-link{display:block;width:fit-content;max-width:100%;margin:0 auto 40px}.inner-page .original-article-cover{width:auto;max-width:min(100%,600px);height:auto;max-height:340px;aspect-ratio:auto;object-fit:contain;margin:0}.article-media-link{cursor:zoom-in}.article-shell-works .article-body img{display:block;max-width:min(100%,600px);max-height:340px;object-fit:contain;margin:28px auto}.message-content{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px;align-items:start}.message-portrait{margin:8px 0 0}.message-portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:53% 50%;border-radius:var(--mint-radius-control)}.message-content .article-body h3:first-child{margin-top:0}
@media(max-width:800px){.inner-page .original-article-cover,.article-shell-works .article-body img{max-height:240px}.article-media-link{margin-bottom:30px}.message-content{grid-template-columns:1fr;gap:28px}.message-portrait{width:148px;margin:0}.article-shell-works .article-body img{margin-block:22px}}

/* Article tables flow with the page; long values wrap instead of scrolling. */
.article-document-link{display:block;width:fit-content;max-width:100%;margin:28px auto;cursor:zoom-in}.article-shell-works .article-body .article-document-link img{margin:0}
.article-body .mint-table-wrap{max-height:none;overflow:visible}
.article-body .mint-table{table-layout:fixed;border-radius:inherit}
.article-body .mint-table :is(th,td){position:static;white-space:normal;overflow-wrap:anywhere}
.article-body .mint-table td{text-align:left}
.article-body .mint-table tr:first-child>:first-child{border-top-left-radius:var(--mint-radius-panel)}
.article-body .mint-table tr:first-child>:last-child{border-top-right-radius:var(--mint-radius-panel)}
.article-body .mint-table tr:last-child>:first-child{border-bottom-left-radius:var(--mint-radius-panel)}
.article-body .mint-table tr:last-child>:last-child{border-bottom-right-radius:var(--mint-radius-panel)}
.profile-label{width:30%}.history-year{width:96px}.history-month{width:76px}
@media(max-width:600px){.article-body .mint-table :is(th,td){padding:16px 10px}.article-body .mint-table th{font-size:.875rem}.history-year{width:76px}.history-month{width:56px}.profile-label{width:31%}}
/* Japanese line breaking: no small kana or ー at a line start; headings and short copy break between phrases where supported. */
body{line-break:strict}
:is(h1,h2,h3,.archive-intro,.hero-description,.project-subtitle,.contact-link){word-break:auto-phrase}
:is(p,li,td,th){text-wrap:pretty}

.article-body .message-signature-en{display:block;margin-top:.4em;font-size:.875em;font-weight:400;letter-spacing:normal;line-height:1.6;color:var(--mint-text)}

.breadcrumbs a{display:inline-flex;align-items:center;min-height:24px}
.message-heading-rule{color:var(--mint-text)}.message-heading-freedom{color:var(--mint-accent)}

/* Article hierarchy uses heading size and spacing, with every level aligned left. */
.article-body .article-subsection{margin:36px 0 0}
.article-body .article-subsection+.article-subsection{margin-top:36px}
.article-body .article-subsection h3{margin:0 0 16px}
.article-body .article-subsection>:is(p,ul):first-of-type{margin-top:0}
.article-body .article-subsection>:last-child{margin-bottom:0}
@media(max-width:800px){.article-body .article-subsection,.article-body .article-subsection+.article-subsection{margin-top:30px}}

/* Works listings use the homepage work cards (owner, 2026-09-28), in rows. */
.works-grid.works-archive{row-gap:72px}
@media(max-width:800px){.works-grid.works-archive{row-gap:48px}}
/* Primary link buttons keep dark text when the generic anchor hover turns mint. */
.mint-app .mint-button[data-variant="primary"]{color:var(--mint-canvas)}
.mint-app .contact-link:is(:hover,:focus-visible){color:var(--mint-canvas)}
.mint-app .contact-link:focus-visible{outline-color:var(--mint-canvas)}
