.df{--fg:#1d1d1f;--sub:#6b6b70;--line:#e4e2dd;--bg:#ffffff;--gray:#f6f5f2;--accent:#e0752d;--accent-deep:#c45f1c;margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-jp),"Hiragino Sans",sans-serif;font-weight:500;line-height:1.8;-webkit-font-smoothing:antialiased}.df *,.df :after,.df :before{box-sizing:border-box}.df img{display:block;max-width:100%}.df a{color:inherit;text-decoration:none}.df dd,.df dl,.df figure,.df h1,.df h2,.df h3,.df p{margin:0}.df .wrap{width:min(1160px,100% - 32px);margin-inline:auto}.df .en{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.18em}.df .btn{display:inline-flex;align-items:center;gap:14px;background:#fff;color:var(--fg);padding:14px 26px;font-size:14px;font-weight:700;border:1px solid var(--fg);transition:background .2s,color .2s}.df .btn i{font-style:normal;color:var(--accent)}.df .btn:hover{background:var(--fg);color:#fff}.df .btn.line{margin-top:48px}.df .btn.white{border-color:#fff}.df .hd{position:sticky;top:0;z-index:10;justify-content:space-between;gap:24px;padding:14px clamp(16px,3vw,40px);background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.df .brand,.df .hd{display:flex;align-items:center}.df .brand{gap:14px}.df .logo{font-size:20px;font-weight:900;letter-spacing:.04em}.df .logo i{font-style:normal;color:var(--accent)}.df .brand span{color:var(--accent);font-size:12px;font-weight:700;white-space:nowrap}.df .hd nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:700}.df .dd>a:hover,.df .hd nav>a:not(.cta):hover{color:var(--accent)}.df .cta{background:var(--accent);color:#fff!important;padding:10px 20px}.df .cta:hover{background:var(--accent-deep)}.df .dd{position:relative}.df .dd-menu{position:absolute;top:100%;left:-16px;padding-top:12px;display:none}.df .dd-menu a{display:block;background:#fff;border:1px solid var(--line);border-top:0;padding:12px 18px;white-space:nowrap;font-weight:500}.df .dd-menu a:first-child{border-top:3px solid var(--accent)}.df .dd-menu a:hover{color:var(--accent)}.df .dd:focus-within .dd-menu,.df .dd:hover .dd-menu{display:block}@media (max-width:860px){.df .brand span,.df .hd nav>:not(.cta){display:none}}.df .hero{position:relative;height:min(86vh,760px);min-height:460px;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 90%,0 100%)}.df .hero>img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 62%;object-position:center 62%}@media (max-width:560px){.df .hero>img{-o-object-position:46% 50%;object-position:46% 50%}}.df .hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.45),rgba(0,0,0,0) 55%)}.df .hero-in{position:absolute;z-index:1;left:clamp(16px,7vw,120px);bottom:clamp(48px,9%,96px)}.df .hero-in .en{color:#fff;margin-bottom:18px}.df .hero h1{font-size:clamp(32px,4.2vw,58px);font-weight:900;line-height:1.55;letter-spacing:.04em}.df .hero h1 span{background:var(--accent);color:#fff;padding:2px 14px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.df .hero-sub{margin-top:22px;color:#fff;font-size:clamp(14px,1.3vw,17px);font-weight:700;line-height:1.9;text-shadow:0 1px 8px rgba(0,0,0,.5)}.df .hero .btn{margin-top:28px;border-color:#fff}.df .sec{padding:clamp(72px,10vw,128px) 0}.df .sec.gray{background:var(--gray)}.df .head{margin-bottom:28px}.df .head h2{font-size:clamp(26px,3.2vw,40px);font-weight:900;line-height:1.45;margin-top:8px}.df .head h2:after{content:"";display:block;width:40px;height:3px;background:var(--accent);margin-top:20px}.df .lead{color:var(--sub);font-size:clamp(14px,1.2vw,16px);max-width:720px}.df .ph{aspect-ratio:16/10;overflow:hidden;background:var(--gray);margin-bottom:20px}.df .ph img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s ease}.df h3{font-size:clamp(18px,1.6vw,22px);font-weight:900;line-height:1.5;margin:6px 0 10px}.df .svc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.4vw,32px);margin-top:56px}.df .svc-card{display:flex;flex-direction:column}.df .svc-card>p:not(.en){color:var(--sub);font-size:14px}.df a.svc-card:hover .ph img,.df a.wk-card:hover .ph img{transform:scale(1.04)}.df .more{margin-top:auto;padding-top:18px;font-size:14px;font-weight:700;display:inline-flex;gap:10px}.df .more i{font-style:normal}.df .more i,.df .more:hover{color:var(--accent)}@media (max-width:1000px){.df .svc{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.df .svc{grid-template-columns:1fr}}.df .wk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,36px);margin-top:48px}.df .wk-card>p:not(.en){color:var(--sub);font-size:13.5px}.df .wk-card .ph{border:1px solid var(--line);aspect-ratio:16/9}.df .ph-num{height:100%;display:grid;place-content:center;text-align:center;background:var(--accent);color:#fff}.df .ph-num b{font-size:clamp(36px,4vw,52px);font-weight:900;line-height:1.1}.df .ph-num small{font-size:12px;letter-spacing:.1em}@media (max-width:1000px){.df .wk{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.df .wk{grid-template-columns:1fr}}.df .cl-grp{margin-top:56px}.df .cl-k{font-size:15px;border-left:3px solid var(--accent);padding-left:12px;margin-bottom:20px}.df .cl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.df .cl img{width:100%;aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover}.df .cl figcaption{padding-top:10px;font-size:13px;line-height:1.6}.df .cl figcaption b{display:block}.df .cl figcaption small{color:var(--sub)}@media (max-width:860px){.df .cl{grid-template-columns:repeat(2,minmax(0,1fr))}}.df .msg{display:grid;align-items:center;grid-template-columns:320px 1fr;gap:clamp(24px,4vw,56px);margin-top:48px;scroll-margin-top:90px}.df .msg-ph img{width:100%;aspect-ratio:4/5;-o-object-fit:cover;object-fit:cover;-o-object-position:40% 30%;object-position:40% 30%}.df .prof p{color:var(--sub);font-size:15px;line-height:2}.df .prof p+p{margin-top:14px}.df .co{margin-top:64px;max-width:860px}.df .co>div{display:grid;grid-template-columns:110px 1fr;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}.df .co>div:first-child{border-top:1px solid var(--fg)}.df .co dt{color:var(--sub)}.df .co-k{font-size:15px;border-left:3px solid var(--accent);padding-left:12px;margin:0 0 16px}@media (max-width:860px){.df .msg{grid-template-columns:1fr}.df .msg-ph{max-width:260px}}.df .contact{background:var(--accent);color:#fff;padding:clamp(64px,8vw,104px) 0;text-align:center}.df .contact .en{color:#fff;opacity:.85}.df .contact h2{font-size:clamp(24px,3vw,36px);font-weight:900;margin:10px 0 14px}.df .contact p:not(.en){font-size:14px;opacity:.92}.df .contact .btn{margin-top:32px}.df .ft{background:#1d1d1f;color:#c9c9cc;padding:56px 0 32px;font-size:13px}.df .ft .wrap{display:flex;flex-wrap:wrap;gap:32px 64px}.df .ft .logo{color:#fff}.df .ft-cols{display:flex;flex-wrap:wrap;gap:32px 64px;flex:1;justify-content:flex-end}.df .ft nav{display:flex;flex-direction:column;gap:8px}.df .ft nav p{color:#fff;font-weight:700;margin-bottom:4px}.df .ft nav a:hover{color:#fff}.df .ft small{width:100%;color:#8a8a8f;border-top:1px solid #333;padding-top:20px}.df .pg-head{background:var(--gray);padding:clamp(40px,6vw,72px) 0 clamp(40px,5vw,64px)}.df .pg-head .head{margin-bottom:18px}.df .head h1{font-size:clamp(30px,4vw,48px);font-weight:900;line-height:1.4;margin:8px 0 0}.df .head h1:after{content:"";display:block;width:40px;height:3px;background:var(--accent);margin-top:20px}.df .crumb{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0 0 28px;font-size:12px;color:var(--sub)}.df .crumb li+li:before{content:"›";margin-right:6px}.df .crumb a:hover{color:var(--accent)}.df .h3{font-size:clamp(18px,1.6vw,22px);font-weight:900;margin:6px 0 10px}.df .svc-card .more{color:var(--fg)}.df .msg .more{margin-top:8px}.df .svc-list{display:grid;gap:clamp(32px,5vw,64px)}.df .svc-row{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(24px,4vw,56px);align-items:center}.df .svc-row:nth-child(2n)>.ph{order:2}.df .svc-row .ph{margin:0}.df .svc-row h2{font-size:clamp(22px,2.4vw,30px);font-weight:900;margin:8px 0 12px}.df .svc-row p:not(.en){color:var(--sub)}.df a.svc-row:hover .ph img{transform:scale(1.04)}@media (max-width:760px){.df .svc-row{grid-template-columns:1fr}.df .svc-row:nth-child(2n)>.ph{order:0}}.df .intro-in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center}.df .intro-lead{font-size:clamp(16px,1.4vw,19px);line-height:2.1;font-weight:700}.df .intro .ph{margin:0}@media (max-width:760px){.df .intro-in{grid-template-columns:1fr}}.df .feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:40px}.df .feat-item{background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent);padding:28px 24px}.df .feat-item .num{color:var(--accent);font-weight:900;font-size:13px;letter-spacing:.1em}.df .feat-item p{color:var(--sub);font-size:14px}.df .flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:40px 0 0;counter-reset:f}.df .flow li{position:relative;background:#fff;padding:28px 24px}.df .flow li:not(:last-child):after{content:"→";position:absolute;right:-14px;top:50%;transform:translateY(-50%);color:var(--accent);font-weight:900;z-index:1}.df .flow h3{margin-top:4px}.df .flow p{color:var(--sub);font-size:14px}@media (max-width:860px){.df .flow{grid-template-columns:1fr 1fr}.df .flow li:after{display:none}}@media (max-width:520px){.df .flow{grid-template-columns:1fr}}.df .ext{margin-top:32px}.df .diagram{margin-top:40px;background:#fff;padding:clamp(12px,2vw,28px);border:1px solid var(--line)}.df .case{display:grid;grid-template-columns:320px 1fr;gap:clamp(24px,4vw,48px);margin-top:40px;align-items:center}.df .case-num{background:var(--accent);color:#fff;aspect-ratio:4/3;display:grid;place-content:center;text-align:center}.df .case-num b{font-size:clamp(40px,5vw,60px);font-weight:900;line-height:1.1}.df .case-num small{font-size:12px;margin-top:8px}.df .case ol{margin:0;padding-left:1.2em;display:grid;gap:16px}.df .case li{color:var(--sub);font-size:14px}.df .case li b{display:block;color:var(--fg);font-size:16px}.df .note{margin-top:20px;color:var(--sub);font-size:12px}@media (max-width:760px){.df .case{grid-template-columns:1fr}}.df .others{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}.df .others h3{font-size:17px}.df .others a:hover .ph img{transform:scale(1.04)}@media (max-width:760px){.df .others{grid-template-columns:1fr 1fr}}.df #collab{scroll-margin-top:70px}.df .feat+.head{margin-top:clamp(56px,7vw,88px)}.df .others .sum{color:var(--sub);font-size:14px}.df .studio{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;margin-top:40px}.df .studio .ph{margin:0}.df .studio .co{margin-top:28px}@media (max-width:760px){.df .studio{grid-template-columns:1fr}}.df .cap{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);list-style:none;padding:0;margin:40px 0 0}.df .cap li{background:var(--accent);color:#fff;aspect-ratio:1;display:grid;place-content:center;text-align:center;padding:16px;font-size:clamp(16px,1.6vw,21px);font-weight:900;line-height:1.5;word-break:auto-phrase}@media (max-width:900px){.df .cap{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:520px){.df .cap{grid-template-columns:repeat(2,minmax(0,1fr))}.df .cap li{font-size:16px}}.df .sl-hero{background:#1d1d1f;color:#fff;padding:clamp(40px,6vw,72px) 0 clamp(64px,8vw,104px)}.df .sl-hero .crumb{color:#a9a9ae}.df .sl-hero .crumb a:hover{color:#fff}.df .sl-catch{font-size:clamp(34px,5.6vw,72px);font-weight:900;line-height:1.3;margin:14px 0 0}.df .sl-lead{max-width:760px;margin-top:24px;font-size:clamp(15px,1.5vw,19px);color:#e4e4e7}.df .sl-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.df .sl-hero .btn{background:var(--accent);border-color:var(--accent);color:#fff}.df .sl-hero .btn i{color:#fff}.df .sl-hero .btn:hover{background:var(--accent-deep)}.df .sl-hero .btn.ghost{background:transparent;border-color:#fff}.df .sl-hero .btn.ghost:hover{background:#fff;color:var(--fg)}.df .sl-hero .btn.ghost:hover i{color:var(--accent)}.df .sl-2col{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(32px,5vw,72px);align-items:start}.df .sl-catch,.df .sl-h2,.df .sl-h3{word-break:auto-phrase}.df .sl-h2{font-size:clamp(24px,3.2vw,38px);margin:6px 0 16px}.df .sl-h2,.df .sl-h3{font-weight:900;line-height:1.45}.df .sl-h3{font-size:clamp(20px,2.4vw,28px);margin:0 0 16px}.df .sl-body p+p{margin-top:16px}.df .sl-body p{color:#3a3a3f}.df .ref{color:var(--accent-deep);font-size:12px;margin-left:2px}.df .sl-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:36px}.df .sl-stats>div{background:#fff;padding:28px;border-top:3px solid var(--accent)}.df .sl-stats .who{color:var(--accent-deep);font-size:13px;font-weight:700}.df .sl-stats .num{font-size:clamp(40px,4.4vw,54px);font-weight:900;line-height:1.2;margin:6px 0 10px}.df .sl-stats p:last-child{font-size:14px;color:#3a3a3f}.df .sl-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;list-style:none;padding:0;margin:36px 0 0}.df .sl-steps li{background:#1d1d1f;color:#fff;padding:26px}.df .sl-steps span{display:block;color:var(--accent);font-size:30px;font-weight:900;line-height:1.2}.df .sl-steps strong{display:block;font-size:18px;margin:8px 0 6px}.df .sl-steps p{color:#d9d9dc;font-size:14px}.df .sl-case{background:#1d1d1f;color:#fff;padding:clamp(64px,8vw,112px) 0;scroll-margin-top:70px}.df .sl-case .sl-2col{align-items:center}.df .sl-case p{color:#e4e4e7}.df .sl-case .small{margin-top:14px;font-size:13px;color:#a9a9ae}.df .sl-kpi{display:grid;grid-template-columns:1fr 1fr;gap:16px}.df .sl-kpi>div{background:#2b2b2f;padding:26px 22px}.df .sl-kpi p{font-weight:700}.df .sl-kpi b{display:block;color:var(--accent);font-size:clamp(46px,6vw,68px);font-weight:900;line-height:1.2}.df .sl-compare{background:#fff;padding:clamp(22px,4vw,40px);margin-top:28px;display:grid;gap:28px}.df .bars{display:grid;gap:8px}.df .bars-k{font-weight:900}.df .bar{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:center;font-size:15px}.df .bar .b{height:42px;background:var(--accent);min-width:6px}.df .bar .b.gray{background:#6b6b70;color:#fff;padding-left:14px;font-weight:700}.df .b-wrap,.df .bar .b.gray{display:flex;align-items:center}.df .b-wrap{gap:10px}.df .b-wrap b{color:var(--accent-deep);font-weight:900}.df .tbl{overflow-x:auto}.df .tbl table{width:100%;min-width:520px;border-collapse:collapse;font-size:15px}.df .tbl td,.df .tbl th{padding:12px 8px;text-align:right}.df .tbl th[scope=row]{text-align:left;font-weight:500}.df .tbl thead tr{border-bottom:2px solid var(--fg)}.df .tbl tbody tr+tr{border-top:1px solid var(--line)}.df .tbl .hl td,.df .tbl .hl th{font-weight:900;color:var(--accent-deep)}.df .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.df .sl-compare .small{font-size:13px;color:var(--sub)}.df .sl-list{margin:0;padding-left:1.3em;display:grid;gap:8px}.df .sl-list li::marker{color:var(--accent)}.df .sl-uses{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:36px}.df .sl-uses>div{background:#fff;padding:28px 24px;border-top:3px solid var(--accent)}.df .sl-uses h3{font-size:20px}.df .sl-uses p:not(.en){color:var(--sub);font-size:14px}.df .sl-cta{background:var(--accent);color:#fff;padding:clamp(64px,8vw,104px) 0}.df .sl-cta h2{font-size:clamp(26px,4vw,46px);font-weight:900;line-height:1.35}.df .sl-cta p{margin:14px 0 28px}.df .sl-cta .btn{border-color:#fff}.df .sl-src{margin-top:64px;padding-top:28px;border-top:1px solid var(--line);font-size:12.5px;color:var(--sub);scroll-margin-top:70px}.df .sl-src>p{font-weight:700;margin-bottom:8px}.df .sl-src ol{margin:0;padding-left:1.4em}.df .sl-src a{color:var(--accent-deep);text-decoration:underline}.df .ph-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(20px,3vw,40px);margin-top:40px}.df .ph-item{border-top:3px solid var(--accent);padding-top:24px}.df .ph-item h3{font-size:clamp(24px,2.8vw,34px);line-height:1.45;margin:12px 0 18px}.df .ph-item .pif{display:block;color:var(--accent);font-size:.6em;letter-spacing:.04em;margin-bottom:4px}.df .ph-item>p:not(.en){color:#3a3a3f;line-height:2}.df .cf-wrap{display:grid;grid-template-columns:300px minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}.df .cf-points{list-style:none;padding:0;margin:0;display:grid;gap:12px}.df .cf-points li{position:relative;padding-left:26px;font-weight:700}.df .cf-points li:before{content:"";position:absolute;left:0;top:.5em;width:14px;height:8px;border-left:3px solid var(--accent);border-bottom:3px solid var(--accent);transform:rotate(-45deg)}.df .cf-mail{margin-top:36px;padding:24px;background:var(--gray)}.df .cf-mail p:not(.en){font-size:13px;color:var(--sub);margin:4px 0 6px}.df .cf-mail a{font-weight:700;word-break:break-all;color:var(--accent-deep);text-decoration:underline}.df .cf{display:grid;gap:22px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent);padding:clamp(24px,4vw,48px)}.df .cf-row{display:grid;gap:8px}.df .cf-row label{font-weight:700;font-size:14px;display:flex;align-items:center;gap:10px}.df .cf .opt,.df .cf .req{font-size:11px;font-weight:700;padding:1px 8px}.df .cf .req{background:var(--accent);color:#fff}.df .cf .opt{background:var(--gray);color:var(--sub)}.df .cf input,.df .cf select,.df .cf textarea{width:100%;font:inherit;font-size:16px;color:var(--fg);background:#fff;border:1px solid #cfccc6;border-radius:0;padding:12px 14px;min-height:48px}.df .cf textarea{resize:vertical;line-height:1.7}.df .cf input::-moz-placeholder,.df .cf textarea::-moz-placeholder{color:#a3a09a}.df .cf input::placeholder,.df .cf textarea::placeholder{color:#a3a09a}.df .cf input:focus,.df .cf select:focus,.df .cf textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.df .cf-submit{padding-top:8px}.df .btn.solid{background:var(--accent);border-color:var(--accent);color:#fff;cursor:pointer;font-family:inherit;min-height:52px}.df .btn.solid i{color:#fff}.df .btn.solid:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.df .btn.solid:disabled{opacity:.6;cursor:default}.df .cf-err{color:#b42318;background:#fef3f2;padding:12px 14px;font-size:14px}.df .cf-done{background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent);padding:clamp(32px,5vw,56px)}.df .cf-done h2{font-size:clamp(24px,3vw,32px);font-weight:900;margin:6px 0 10px}@media (max-width:860px){.df .cf-wrap{grid-template-columns:1fr}}