/* v02 — 日本語の組版、情報密度、モーション、詳細ページ */
body{font-family:"Noto Sans JP",sans-serif;font-weight:400;letter-spacing:.025em}h1,h2,h3,.hero-description{font-family:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;font-weight:500}.eyebrow,.card-meta,.breadcrumbs,.hero-location{font-family:Arial,"Noto Sans JP",sans-serif}.hero{min-height:620px;height:min(800px,calc(100svh - 121px));display:grid;place-items:center}.hero-content{text-align:center;padding:0 0 50px}.hero-brand{width:clamp(290px,35vw,460px);height:auto;margin:auto;filter:drop-shadow(0 2px 25px #0009)}.hero-description{font-size:15px;letter-spacing:.12em;margin-top:28px;color:#fff;text-shadow:0 2px 10px #000}.hero .text-link{margin-top:20px}.hero-landscape{filter:none;opacity:.92;background-position:center;inset:-7%;animation:stage-pan 24s ease-in-out infinite alternate}.hero:after{background:linear-gradient(0deg,#111113c9,transparent 28%,#10101830),linear-gradient(90deg,#11111336,#11111325)}.hero-light{position:absolute;z-index:-1;width:50%;height:120%;top:-35%;transform-origin:50% 0;pointer-events:none;filter:blur(30px);mix-blend-mode:screen;background:linear-gradient(100deg,transparent 30%,#d2efff18 48%,transparent 62%);animation:light-sweep 12s ease-in-out infinite alternate}.hero-light-one{left:-5%}.hero-light-two{left:45%;animation-delay:-6s;animation-duration:17s;opacity:.6}.hero-location{font-size:9px;letter-spacing:.15em;color:#dddddf}.latest{background:#eeede9;color:#18181b;width:100%;padding:23px max(56px,calc((100vw - 1320px)/2));border:0}.latest .eyebrow{font-weight:700;white-space:nowrap}.latest time{color:#68686d}.latest>a{font-size:13px}.latest .orbit-arrow{margin-left:auto;flex-shrink:0}.latest>a:hover{color:#000}.section-heading h2{font-size:clamp(34px,3.5vw,48px)}
.works-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 22px}.works-grid .work-card:nth-child(n){grid-column:auto;grid-row:auto;display:block;border:0;padding:0}.works-grid .work-card:nth-child(n) .visual{aspect-ratio:1.5;grid-row:auto}.works-grid .work-card:nth-child(n) h3{font-size:12px;line-height:1.9;font-weight:500;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.works-grid .work-card:nth-child(n) .card-meta{margin:13px 0 7px;font-size:8px}.works-grid .work-card:nth-child(n) .work-client{font-size:10px;margin-top:6px}.image-arrow{display:none}.work-card .visual:after,.news-card .visual:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;transform:scaleX(0);transform-origin:left;background:currentColor;transition:transform .55s}.work-card:hover .visual:after,.news-card:hover .visual:after{transform:scaleX(1)}.archive-grid .work-card h3{font-size:14px}.service-image small{font-size:7px;letter-spacing:.16em;left:auto;right:5px;bottom:3px;padding:1px 5px;background:#0005;color:#d0d0d0}.service-image img{filter:none}.service h3{font-weight:500}.service{grid-template-columns:30px minmax(0,1fr) 35% 48px}.service-image{aspect-ratio:1.65}.service:first-child .service-image img{object-fit:contain;background:#18181b}.words-block{margin-top:55px;padding-top:55px;border-top:1px solid var(--line)}.words-intro{display:grid;grid-template-columns:1fr 1fr;gap:8px 45px}.words-intro .eyebrow{grid-column:1/-1;color:var(--muted)}.words-intro h3{font-size:38px;line-height:1.5}.words-intro>p:not(.eyebrow){font-size:13px;color:var(--muted);grid-column:2;grid-row:2/4}.words-intro .text-link{justify-self:start;grid-column:1;margin-top:12px}.words-gallery{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px;margin-top:38px}.words-gallery img{width:100%;aspect-ratio:1.5;object-fit:cover;background:#eee;transition:transform .8s}.words-gallery figure{overflow:hidden}.words-gallery figure:hover img{transform:scale(1.025)}.words-gallery figcaption{font-size:10px;color:var(--muted);margin-top:12px}.film-section{background:#101012;padding-top:80px;padding-bottom:80px}.film-section .section-heading{margin-bottom:30px}.film-section h2{font-size:32px}.film-frame{aspect-ratio:16/9;background:#050505;overflow:hidden;max-width:1040px;margin:auto}.film-frame iframe{width:100%;height:100%;border:0;display:block}.film-fallback{display:table;margin:15px auto 0;font-size:11px;color:var(--muted);border-bottom:1px solid var(--line)}
.marquee{padding:38px 0;perspective:800px;background:#141416;position:relative}.marquee:before,.marquee:after{content:"";position:absolute;inset:0 auto 0 0;width:7%;background:linear-gradient(90deg,#141416,transparent);z-index:2;pointer-events:none}.marquee:after{left:auto;right:0;transform:rotate(180deg)}.marquee>div{animation:marquee 36s linear infinite}.marquee .motion-word{display:inline-block;white-space:pre;margin:0 .15em;color:inherit;-webkit-text-stroke:0;font-weight:400}.marquee .motion-char{display:inline-block;animation:type-wave 4.8s cubic-bezier(.4,0,.6,1) infinite;animation-delay:calc(var(--i)*-.12s);transform-origin:50% 65%;will-change:transform}.marquee .outline-word .motion-char{color:transparent;-webkit-text-stroke:1px #96969e}.orbit-arrow{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 46px;vertical-align:middle;position:relative}.orbit-arrow svg{display:block;width:100%;height:100%;overflow:visible}.orbit-track{stroke:currentColor;stroke-width:.7;stroke-dasharray:82 22 9 19;transform-origin:center;animation:orbit-spin 7s linear infinite;opacity:.6}.orbit-dot{fill:currentColor;transform-origin:24px 24px;animation:orbit-spin 7s linear infinite}.arrow-stem{stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;transform-origin:center;animation:arrow-breathe 5s ease-in-out infinite}.text-link span.orbit-arrow{font-size:inherit;transition:transform .6s}.text-link:hover span.orbit-arrow{transform:rotate(360deg)}a:hover .orbit-track,button:hover .orbit-track{animation-duration:2s}a:hover .arrow-stem,button:hover .arrow-stem{animation:arrow-pass .7s var(--ease)}.nav-contact{display:inline-flex;align-items:center;gap:22px}.nav-contact .orbit-arrow{margin:0;width:26px;height:26px;flex-basis:26px}.nav-contact .orbit-track,.nav-contact .orbit-dot{display:none}.text-link{gap:30px}.outline-button{gap:40px;padding:9px 20px}.outline-button .orbit-arrow{width:34px;height:34px;flex-basis:34px}.service>.orbit-arrow{width:48px;height:48px}.contact-link>.orbit-arrow{width:110px;height:110px;flex-basis:110px}.member-links .orbit-arrow{margin-left:auto;width:30px;height:30px;flex-basis:30px}.member-links .orbit-track,.member-links .orbit-dot{display:none}.footer-links a:hover{text-decoration:underline}.recent-section{background:#18181b;border-top:1px solid var(--line);padding:45px 0}.recent-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.recent-heading>a{font-size:11px;color:var(--muted)}.recent-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.recent-list>a{display:grid;grid-template-columns:1fr 28px;align-items:start;gap:10px 12px;padding-top:15px;border-top:1px solid var(--line);font-size:11px;line-height:1.9}.recent-list time{grid-column:1/-1;font:10px Arial;color:var(--muted)}.recent-list .orbit-arrow{width:28px;height:28px;flex-basis:28px}.recent-list .orbit-track,.recent-list .orbit-dot{display:none}.recent-list>a>span:not(.orbit-arrow){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.recent-list>a:hover>span:not(.orbit-arrow){text-decoration:underline}.archive-controls:empty{display:none}.archive-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.archive-hero h1{font-family:"Zen Kaku Gothic New",sans-serif;letter-spacing:-.025em}.article-page{padding-top:55px}.article-heading{max-width:1050px}.article-heading h1{font-size:clamp(25px,3vw,40px);line-height:1.7;letter-spacing:.035em;margin:22px 0 50px}.article-meta{display:flex;gap:22px;align-items:center;font-size:11px;color:var(--muted)}.article-meta>span{border:1px solid var(--line);padding:4px 12px}.article-meta time{font-family:Arial,sans-serif}.article-cover{max-width:1150px;width:calc(100% - 112px);margin:0 auto 55px;background:#1b1b1e}.article-cover img{width:100%;max-height:560px;height:auto;object-fit:contain}.article-body{max-width:820px;width:calc(100% - 48px);margin:auto;font-size:15px;line-height:2.2;color:#d2d2d6}.article-body p{margin:0 0 1.8em}.article-body p:empty{display:none}.article-body h2{font-size:27px;border-top:1px solid var(--line);padding-top:28px;margin:55px 0 22px}.article-body h3{font-size:23px;margin:35px 0 18px}.article-body h4{font-size:19px;margin:28px 0 16px}.article-body a{text-decoration:underline;text-underline-offset:5px;color:#f5f5f5;overflow-wrap:anywhere}.article-body img{height:auto;max-width:100%;margin:25px auto;object-fit:contain}.article-body figure{margin:32px 0}.article-body figcaption{font-size:11px;color:var(--muted);text-align:center;line-height:1.8;margin-top:12px}.article-body ul,.article-body ol{padding-left:1.4em;margin:22px 0}.article-body blockquote{border-left:2px solid #aaa;padding:12px 24px;margin:30px 0;color:#bdbdc4}.article-body iframe{display:block;max-width:100%;width:100%;height:auto;aspect-ratio:16/9;border:0}.article-body .wp-block-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.article-body .wp-block-gallery img{margin:0}.article-body .wp-block-gallery figure{margin:0}.article-body table{width:100%;border-collapse:collapse;display:block;overflow-x:auto;font-size:12px}.article-body td,.article-body th{border:1px solid var(--line);padding:12px}.article-body pre{overflow-x:auto}.article-body hr{border:0;border-top:1px solid var(--line);margin:35px 0}.article-end{width:min(820px,calc(100% - 48px));margin:60px auto 90px;border-top:1px solid var(--line);padding-top:30px;display:flex;gap:24px;align-items:center;justify-content:space-between}.original-link{font-size:10px;color:var(--muted)}.plain-page{max-width:820px;width:calc(100% - 48px);margin:25px auto 100px;font-size:14px;line-height:2.2}.plain-page h2{font-size:30px;margin:45px 0 25px}.plain-page>p{color:#bdbdc4}.company-data{margin:20px 0 30px}.company-data>div{display:grid;grid-template-columns:150px 1fr;gap:30px;padding:24px 0;border-top:1px solid var(--line)}.company-data dt{font-size:12px;color:var(--muted)}.company-data dd{margin:0}.company-data a{border-bottom:1px solid #777}.note{font-size:11px;color:var(--muted)}.contact-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:90px;padding:30px 0 100px}.contact-guide h2{font-size:31px;margin:20px 0}.contact-guide>p:not(.eyebrow){font-size:13px;color:var(--muted)}.demo-notice{font-size:11px;color:#bdbdc4;border-top:1px solid var(--line);margin-top:40px;padding-top:22px;line-height:2}.demo-notice a{text-decoration:underline}.contact-form fieldset{margin:0 0 30px;padding:0;border:0}.contact-form legend,.contact-form>label,.field-pair>label{font-size:12px;display:block}.contact-form legend{margin-bottom:15px}.contact-form em,.contact-form legend>span{font-size:9px;font-style:normal;border:1px solid #777;color:#ccc;margin-left:10px;padding:1px 6px}.contact-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-choices label{font-size:11px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:14px;cursor:pointer}.contact-choices label:has(input:checked){background:#303035;border-color:#ccc}.contact-form input[type=radio],.contact-form input[type=checkbox]{accent-color:#eee;width:16px;height:16px;flex-shrink:0}.contact-form input:not([type=radio]):not([type=checkbox]),.contact-form textarea{display:block;width:100%;margin-top:10px;background:#1e1e22;border:1px solid #515157;border-radius:0;padding:14px;color:white;font:14px "Noto Sans JP",sans-serif}.contact-form textarea{resize:vertical}.contact-form>label,.field-pair{margin-bottom:26px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form .privacy-check{display:flex;gap:10px;align-items:flex-start;font-size:11px;margin:25px 0 30px}.privacy-check a{text-decoration:underline}.contact-form .outline-button{min-width:300px;justify-content:space-between}.form-note{font-size:10px;color:var(--muted);margin-top:15px}.form-review{margin-top:35px;padding:25px;background:#25252a;border:1px solid #777}.form-review h3{font-size:23px}.form-review>p{font-size:12px;margin-top:14px}.form-review dl{margin:20px 0}.form-review dt{font-size:11px;color:var(--muted);margin-top:17px}.form-review dd{margin:4px 0 0;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}
@keyframes stage-pan{0%{transform:scale(1.01) translate(-1%,0)}50%{transform:scale(1.06) translate(0,1%)}100%{transform:scale(1.1) translate(1%,-1%)}}@keyframes light-sweep{from{transform:rotate(-25deg);opacity:.25}to{transform:rotate(32deg);opacity:.8}}@keyframes type-wave{0%,100%{transform:translateY(0) rotateX(0) scaleY(1);filter:blur(0)}25%{transform:translateY(-8px) rotateX(22deg) skewX(-4deg) scaleY(1.08);filter:blur(.25px)}60%{transform:translateY(8px) rotateX(-18deg) skewX(3deg) scaleY(.94);filter:blur(0)}}@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes arrow-breathe{0%,100%{transform:translateX(-1px)}50%{transform:translateX(2px)}}@keyframes arrow-pass{0%{transform:translateX(0);opacity:1}45%{transform:translateX(8px);opacity:0}46%{transform:translateX(-8px);opacity:0}100%{transform:translateX(0);opacity:1}}
@media(max-width:1050px){.works-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.header nav{gap:19px}.header{padding-inline:30px}.nav-contact{padding:8px 12px;gap:10px}.service{grid-template-columns:25px 1fr 32% 38px;gap:20px}.service>.orbit-arrow{width:38px;height:38px;flex-basis:38px}.latest{padding-inline:32px}.contact-layout{gap:45px;grid-template-columns:1fr 1.6fr}.contact-choices{grid-template-columns:1fr}.words-intro h3{font-size:32px}}
@media(max-width:720px){.header{padding-inline:20px}.hero{height:calc(100svh - 104px);min-height:590px;max-height:760px}.hero-brand{width:min(88%,360px)}.hero-content{padding:0 0 50px}.hero-description{font-size:13px;margin-top:18px}.hero .text-link{font-size:11px;gap:15px}.hero-landscape{background-position:42% center;opacity:.9}.hero-location{font-size:7px;max-width:130px;text-align:right}.hero-light{width:100%}.hero-light-two{left:20%}.latest{padding:20px}.latest>a{display:grid;grid-template-columns:1fr 35px;font-size:12px}.latest time{font-size:10px}.latest .orbit-arrow{grid-column:2;grid-row:2;width:32px;height:32px;flex-basis:32px}.section-heading h2{font-size:32px}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.works-grid .work-card:nth-child(n) .visual{aspect-ratio:1.4}.works-grid .work-card:nth-child(n) h3{font-size:11px}.service{grid-template-columns:20px 1fr 34px;gap:12px}.service>.orbit-arrow{grid-column:3;grid-row:1;width:34px;height:34px}.service-image{grid-column:2;grid-row:2;aspect-ratio:1.7}.service-image img{object-fit:cover}.service h3{font-size:24px}.words-block{margin-top:35px;padding-top:35px}.words-intro{display:block}.words-intro h3{margin:12px 0 18px;font-size:30px}.words-intro>p:not(.eyebrow){font-size:12px}.words-gallery{grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}.words-gallery figure:first-child{grid-column:1/-1}.words-gallery img{aspect-ratio:1.45}.words-gallery figcaption{font-size:9px}.film-section{padding-block:60px}.film-section h2{font-size:27px}.film-section .section-lead{font-size:11px}.film-frame{width:calc(100% + 40px);margin-left:-20px}.marquee{padding:30px 0}.marquee>div{font-size:64px}.orbit-arrow{width:36px;height:36px;flex-basis:36px}.outline-button{gap:20px}.contact-link>.orbit-arrow{width:65px;height:65px;flex-basis:65px}.contact-link{font-size:28px}.recent-list{grid-template-columns:1fr;gap:20px}.recent-list>a{font-size:12px;gap:7px 15px}.recent-section{padding:35px 0}.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-content .news-card h3,.archive-grid .work-card h3{font-size:11px}.article-page{padding-top:35px}.article-heading h1{font-size:24px;line-height:1.75;margin-bottom:30px}.article-cover{width:100%;margin-bottom:35px}.article-body{font-size:14px;line-height:2.15;width:calc(100% - 40px)}.article-body h2{font-size:23px;margin-top:38px}.article-body h3{font-size:20px}.article-body .wp-block-gallery{gap:10px}.article-end{flex-direction:column;align-items:flex-start;gap:20px;margin-block:40px 65px}.plain-page{width:calc(100% - 40px);font-size:13px;margin-bottom:65px}.plain-page h2{font-size:26px}.company-data>div{grid-template-columns:85px 1fr;gap:15px;font-size:12px}.company-data dt{font-size:11px}.contact-layout{grid-template-columns:1fr;gap:30px;padding-top:0;padding-bottom:65px}.contact-guide h2{font-size:26px}.demo-notice{margin-top:22px}.contact-choices{grid-template-columns:1fr 1fr}.contact-choices label{padding:12px 8px;font-size:10px;gap:6px}.field-pair{grid-template-columns:1fr;gap:24px}.contact-form input:not([type=radio]):not([type=checkbox]),.contact-form textarea{font-size:16px}.contact-form .outline-button{width:100%;min-width:0}.form-review{padding:20px}.article-body .wp-block-gallery figure{min-width:0}}
@media(prefers-reduced-motion:reduce){.hero-landscape,.hero-light,.marquee>div,.marquee .motion-char,.orbit-track,.orbit-dot,.arrow-stem{animation:none!important}.text-link:hover span.orbit-arrow{transform:none}.marquee .motion-char{filter:none;transform:none}}

/* MOSAIC ONE entrance banner; retain the MOSAIC LIVE banner alongside it. */
.mosaic-one-banner{isolation:isolate;background:#101016}
.mosaic-one-banner::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#10101618 0%,#101016b8 42%,#101016f5 100%);pointer-events:none}
.service .mosaic-one-banner .mosaic-one-photo{filter:saturate(.85)}
.mosaic-one-banner-brand{position:absolute;inset:auto 8% 11%;z-index:2;display:flex;flex-direction:column;align-items:center;gap:4px;color:#fff;text-align:center}
.service .mosaic-one-banner-brand img{display:block;width:100%;height:auto;object-fit:contain;filter:none;transform:none}
.mosaic-one-banner-brand>span{font-size:clamp(8px,.76vw,11px);line-height:1.5;letter-spacing:.03em;white-space:nowrap}
@media(max-width:720px){.mosaic-one-banner-brand>span{font-size:clamp(8px,2.1vw,12px)}}
