.wf-page .im-only-tbsp{display:none !important}
@media (max-width: 1024px){.wf-page .im-only-desk{display:none !important}.wf-page .im-only-tbsp{display:flex !important}.wf-page .im-svc-num{font-size:56px !important}.wf-page .im-svc-title{font-size:36px !important}.wf-page .im-photo-full{flex:1 1 100% !important;min-width:0 !important;aspect-ratio:4/3 !important}.wf-page .im-reuse{flex-direction:column !important;align-items:stretch !important}.wf-page .im-reuse-main{flex:none !important;width:100% !important;min-width:0 !important}.wf-page .im-reuse-arrow{align-self:center;transform:rotate(90deg)}.wf-page .im-reuse-list{flex:none !important;width:100% !important}.wf-page .im-stack > li{flex:1 1 100% !important}.wf-page .im-two{flex:1 1 300px !important}.wf-page .im-rows{flex-direction:column !important}.wf-page .im-rows > li{flex:none !important;display:flex !important;align-items:center;gap:20px;padding:20px 24px !important}.wf-page .im-rows-num{font:italic 700 32px/1 var(--ja) !important;color:#2c1e46 !important;flex:0 0 48px}.wf-page .im-rows > li > br{display:none}.wf-page .im-hflow{min-width:0 !important}.wf-page .im-hflow-line{display:none !important}.wf-page .im-hflow-ol{grid-template-columns:minmax(0,1fr) !important;gap:16px !important}.wf-page .im-hflow-ol > li{display:grid !important;grid-template-columns:42px minmax(0,1fr);column-gap:16px;row-gap:2px}.wf-page .im-hflow-ol > li > span:first-child{grid-row:span 2}.wf-page .im-sns-fv{flex-wrap:nowrap !important}.wf-page .im-sns-phone{flex:0 0 100px !important}.wf-page .im-sns-boxes{flex-wrap:nowrap !important}.wf-page .im-sns-box{padding:10px 4px !important}.wf-page .im-sns-box b{font-size:17px !important}.wf-page .im-ind-grid{grid-template-columns:repeat(5,minmax(0,1fr)) !important}.wf-page .im-ind-circle{width:88px !important;height:88px !important}.wf-page .im-stack{gap:10px !important}.wf-page .im-stack > li{display:grid !important;grid-template-columns:32px minmax(0,1fr) 48px;column-gap:16px !important;row-gap:2px !important;align-items:center;padding:16px 20px !important}.wf-page .im-stack > li > div:first-child{display:contents !important}.wf-page .im-stack > li > div:first-child > span:first-child{grid-column:1;grid-row:1 / span 2}.wf-page .im-stack > li > div:first-child > span:last-child{grid-column:3;grid-row:1 / span 2;width:48px !important;height:48px !important}.wf-page .im-stack > li > b{grid-column:2;grid-row:1}.wf-page .im-stack > li > span{grid-column:2;grid-row:2}.wf-page .im-svc-body{flex-direction:row !important;flex-wrap:wrap;align-items:flex-end}.wf-page .im-svc-body > p{flex:1 1 100%}.wf-page .im-svc-body > ul{flex:1 1 auto;min-width:0}.wf-page .im-svc-more{margin-left:auto;align-self:flex-end !important}}
@media (min-width: 601px) and (max-width: 1024px){.wf-page .im-sns-fv{justify-content:space-between !important;gap:32px !important}.wf-page .im-sns-phone-l{display:none !important}.wf-page .im-sns-phone{flex:0 0 32% !important}.wf-page .im-sns-copy{flex:1 1 0 !important;align-items:flex-start !important;text-align:left !important}.wf-page .im-sns-copy > div{justify-content:flex-start !important}}
@media (max-width: 600px){.wf-page .im-ind-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.wf-page .im-sns-fv{flex-wrap:wrap !important}.wf-page .im-sns-boxes{flex-wrap:wrap !important}}
.wf-page .im-only-sp{display:none !important}
@media (max-width: 600px){.wf-page .im-only-pc{display:none !important}.wf-page .im-only-sp{display:block !important}}
a{color:#2c1e46}a:hover{color:#9162a8}

@media (max-width: 600px){.wf-page .im-svc-head{flex-direction:row !important;align-items:baseline;gap:14px !important}.wf-page .im-svc-num{font-size:48px !important}.wf-page .im-svc-title{font-size:30px !important}.wf-page .im-flow{display:flex;flex-direction:column}.wf-page .im-ord-first{order:-1}.wf-page .im-ord-last{order:1}.wf-page .im-ord-end{order:2}.wf-page .im-bleed-32{margin:-32px -32px 0 !important;border-top:0 !important;border-left:0 !important;border-right:0 !important}.wf-page .im-bleed-24{margin:-24px -24px 0 !important;border-top:0 !important;border-left:0 !important;border-right:0 !important}.wf-page .im-bleed-20{margin:-20px -20px 0 !important;border-top:0 !important;border-left:0 !important;border-right:0 !important}.wf-page .im-bleed-16{margin:-16px -16px 0 !important;border-top:0 !important;border-left:0 !important;border-right:0 !important}.wf-page .im-fv-catch{font-size:15px !important;letter-spacing:0}.wf-page .im-fv-h1{font-size:24px !important;line-height:1.45 !important}.wf-page .im-edge{display:grid !important;grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);gap:16px 0 !important}.wf-page .im-edge > span:first-child{grid-column:2;grid-row:1;justify-self:center;align-self:center;margin:0;font-size:28px !important;line-height:1 !important;position:relative;z-index:1}.wf-page .im-edge > span:nth-child(2){color:transparent !important}.wf-page .im-edge > span:nth-child(2){grid-column:2;grid-row:1;width:80px}.wf-page .im-edge > div{grid-column:1 / -1}.wf-page .im-svc-body > ul{flex:1 1 100% !important}.wf-page .im-svc-more{margin:4px auto 0 !important;align-self:center !important}.wf-page .im-sns-copy{position:relative;box-sizing:border-box;aspect-ratio:9 / 18;justify-content:center;gap:22px !important;border:8px solid #2c1e46;border-radius:44px;background:#FFFFFF;padding:46px 16px 34px !important}.wf-page .im-sns-copy::before{content:'';position:absolute;top:12px;left:50%;transform:translateX(-50%);width:80px;height:18px;border-radius:999px;background:#2c1e46}.wf-page .im-sns-copy::after{content:'';position:absolute;bottom:10px;left:50%;transform:translateX(-50%);width:96px;height:4px;border-radius:999px;background:#2c1e46}.wf-page .im-sns-boxes{flex-wrap:nowrap !important;gap:6px !important}.wf-page .im-sns-box{padding:8px 2px !important}.wf-page .im-sns-box b{font-size:14px !important}.wf-page .im-sns-box span{font-size:11px !important}.wf-page .im-qa{display:grid !important;grid-template-columns:minmax(0,1fr);gap:8px !important}.wf-page .im-qa > span[aria-hidden]{display:none !important}.wf-page .im-qa > b,.wf-page .im-qa > span:last-child{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:baseline}.wf-page .im-qa > b::before{content:'Q';font:700 17px var(--en);color:#999999}.wf-page .im-qa > span:last-child::before{content:'A';font:700 17px var(--en);color:#2c1e46}.wf-page .im-qa-mark{display:none}.wf-page .im-qa > span:last-child{font-size:17px !important;font-weight:700}.wf-page .im-chips{gap:6px !important}.wf-page .im-chips > span{flex:1 1 100%;font-size:12px !important;margin-right:0 !important}.wf-page .im-chips button{min-height:34px !important;padding:0 10px !important;font-size:12px !important}.wf-page .im-hflow-ol > li{column-gap:24px !important}.wf-page .im-h2-fit{font-size:min(5.6vw, 22px) !important}.wf-page .im-news > li > a{flex:1 1 100%}.wf-page .im-checks{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px !important}.wf-page .im-checks > label{font-size:14px}.wf-page .im-why-h2{font-size:32px !important}.wf-page .im-stack > li{grid-template-columns:32px minmax(0,1fr) !important}.wf-page .im-stack > li > div:first-child > span:last-child{display:none !important}.wf-page .im-rows > li > span.im-only-tbsp{display:none !important}.wf-page .im-line-btn{font-size:15px !important;padding:0 16px !important;white-space:nowrap}}


/* v57 geometry is retained in the page templates; only palette and type are shared with TOP. */
.wf-page{--ja:'Zen Kaku Gothic New',sans-serif;--en:'Helvetica Neue',Arial,sans-serif;background:#fff;color:#2c1e46;font-family:var(--ja);font-size:15px;line-height:1.8}
.wf-page *, .wf-page *::before,.wf-page *::after{box-sizing:border-box}
.wf-page [hidden]{display:none!important}
.wf-page h1,.wf-page h2,.wf-page h3,.wf-page b,.wf-page strong{font-weight:600!important}
.wf-page h1,.wf-page h2,.wf-page h3{overflow-wrap:anywhere}
.wf-page a{color:inherit}
.wf-page a:hover{color:#9162a8}
.wf-page a:focus-visible,.wf-page button:focus-visible,.wf-page summary:focus-visible{outline:3px solid #9162a8;outline-offset:5px}
.wf-page a[style*="background: #2c1e46"]:hover{color:white}
.wf-page p{word-break:normal;overflow-wrap:anywhere}
.wf-page img{max-width:100%;display:block}
.wf-page button,.wf-page input,.wf-page select,.wf-page textarea{font-family:var(--ja);font-size:inherit}
.wf-page button,.wf-page summary{cursor:pointer}
.wf-placeholder{background:#d4d4d4!important;background-image:none!important;color:#525252!important;border:0!important;display:flex!important;align-items:center;justify-content:center;text-align:center;min-height:80px;padding:18px;line-height:1.7;font-size:14px!important}
.wf-image{position:relative;overflow:hidden}
.wf-image img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}
.wf-video-hero{isolation:isolate}
.wf-video-hero>div{position:relative;z-index:1}
.wf-video-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.35}
.wf-video-hero:after{position:absolute;inset:0;z-index:-1;content:'';background:rgba(20,13,33,.35);pointer-events:none}
.wf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}
.wf-grid>*{min-width:0}
.wf-page .im-portfolio-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}
.wf-work-card h3{font-size:15px;line-height:1.7;margin:6px 0 0}
.wf-work-image{display:block;aspect-ratio:16/9;overflow:hidden;background:#f4f0f6}
.wf-work-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.wf-work-image:hover img{transform:scale(1.025)}
.wf-caption{font-size:13px;color:#6c6372;margin:10px 0 4px}
.wf-page .im-portfolio-meta{padding:12px 0}
.wf-page .im-portfolio-meta h3{font-size:15px;line-height:1.6;margin:6px 0}
.wf-page .im-portfolio-meta p{font-size:13px}
.wf-page .im-film-category{font-size:12px;letter-spacing:0}
.wf-design-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:clamp(180px,21vw,320px);background:#f4f0f6;overflow:hidden}
.wf-design-strip img{width:100%;height:100%;object-fit:cover}
.wf-design .wf-grid{margin-top:18px;grid-template-columns:repeat(3,minmax(0,1fr))}
.wf-design .wf-grid .wf-caption{color:#ddd2e5}
.wf-design .wf-grid h3{font-size:13px}
.wf-featured-case{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center;border:1px solid #dcd6e1;padding:28px;margin-bottom:28px}
.wf-featured-case h3{font-size:24px;line-height:1.5}
.wf-button{display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:48px;padding:10px 26px;border:1px solid currentColor;text-decoration:none;font-weight:600;font-size:14px;background:transparent;color:inherit}
.wf-button span{transition:transform .2s;display:inline-block}
.wf-button:hover span{transform:translate(3px,-3px)}
.wf-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px;padding:20px 0;border-block:1px solid #dcd6e1}
.wf-filters button{border:1px solid #b2a8ba;background:white;color:#2c1e46;min-height:44px;padding:8px 24px}
.wf-filters button[aria-pressed=true]{background:#2c1e46;border-color:#2c1e46;color:white}
.wf-news-list{padding:0;margin:0;list-style:none}
.wf-news-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;border-bottom:1px solid #dcd6e1;padding:24px 0}
.wf-news-list time{font-family:var(--en);font-size:13px;min-width:7em;color:#6c6372}
.wf-news-list li>span{font-size:11px;border:1px solid #b2a8ba;padding:1px 8px}
.wf-news-list li>a{flex:1;min-width:200px;font-size:15px}
.wf-form-input{display:flex;flex-direction:column;gap:20px}
.wf-form-input input:not([type=checkbox]),.wf-form-input textarea,.wf-form-input select{width:100%;min-width:0;background:#fff;color:#2c1e46;border-radius:0}
.wf-form-input input[type=checkbox]{width:18px;height:18px;flex:none;accent-color:#9162a8}
.wf-form-notice{background:#f4f0f6;padding:14px 16px;font-size:13px!important;border-left:3px solid #9162a8}
.wf-page .im-form-review{border:1px solid #dcd6e1;padding:24px}
.wf-page .im-form-review dl{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px}
.wf-page .im-form-review dd{margin:0;overflow-wrap:anywhere}
.wf-school p,.wf-school li{font-size:18px!important}
.wf-school a.wf-button,.wf-school a[style*="min-height"]{min-height:64px!important}
.wf-school .wf-placeholder{font-size:16px!important}
.wf-container{max-width:1000px;margin-inline:auto}
.wf-detail-heading{padding:clamp(48px,6vw,80px) clamp(16px,4vw,40px) 40px}
.wf-detail-heading h1{font-size:clamp(26px,3.4vw,44px);line-height:1.5;letter-spacing:.01em;margin:24px 0 18px}
.wf-detail-content{padding:0 clamp(16px,4vw,40px) clamp(56px,7vw,96px)}
.wf-detail-image{display:block;background:#f4f0f6}
.wf-detail-image img{width:100%;max-height:780px;object-fit:contain}
.wf-facts{display:grid;grid-template-columns:150px minmax(0,1fr);margin:36px 0}
.wf-facts>*{padding:16px 0;border-bottom:1px solid #dcd6e1;margin:0;font-size:14px}
.wf-facts dt{font-weight:600}
.wf-detail-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:56px 0}
.wf-detail-panels h2{font:600 28px var(--en);margin:0 0 12px}
.wf-detail-panels h3{font-size:16px}
.wf-testimonial{padding:28px;border:1px solid #dcd6e1;margin-top:32px}
.wf-testimonial h2{font-size:20px}
.wf-detail-description{padding:30px 0;max-width:720px}
.wf-detail-description h2{font-size:26px}
.wf-detail-links{display:flex;flex-wrap:wrap;gap:12px;padding:32px 0}
.wf-prev-next{max-width:1000px;margin:40px auto;display:flex;justify-content:space-between;gap:12px;padding-inline:16px}
.wf-page .im-glitch:not(.im-heading-ink)::before,.wf-page .im-glitch:not(.im-heading-ink)::after{display:none}
.wf-plain .page-hero{padding:64px max(20px,calc((100vw - 1000px)/2));background:#fff;min-height:auto}
.wf-plain .page-hero h1{font-family:var(--en);font-size:clamp(40px,7vw,88px)}
.wf-plain .page-hero h2{font-family:var(--ja);font-size:clamp(24px,3vw,36px)}
@media(max-width:1024px){.wf-grid,.wf-page .im-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wf-featured-case{grid-template-columns:1fr}.wf-page [style*="min-width: 700px"]{min-width:0!important}.wf-page .im-mosaic{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media(max-width:600px){
 .wf-page .wf-grid,.wf-page .im-portfolio-grid{grid-template-columns:minmax(0,1fr)}
 .wf-page .wf-design-strip{height:180px}
 .wf-design .wf-grid{grid-template-columns:minmax(0,1fr)}
 .wf-page [style*="white-space: nowrap"]{white-space:normal!important}
 .wf-page [style*="min-width: 220px"]{min-width:0!important}
 .wf-page dl[style*="12em"]{grid-template-columns:6em minmax(0,1fr)!important;column-gap:16px}
 .wf-page .im-mosaic{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .wf-page .im-mosaic>div:nth-child(n+10){display:none}
 .wf-video-hero{min-height:620px!important}
 .wf-filters button{padding-inline:15px}
 .wf-news-list li>a{flex-basis:100%}
 .wf-featured-case{padding:18px;gap:20px}
 .wf-detail-panels{grid-template-columns:1fr;gap:32px}
 .wf-facts{grid-template-columns:100px minmax(0,1fr);gap:0 12px}
 .wf-page .im-form-review dl{grid-template-columns:1fr}
 .wf-prev-next{flex-wrap:wrap;justify-content:center}
 .wf-prev-next .wf-button{padding-inline:16px}
 .wf-school [style*="padding: 32px"]{padding:24px!important}
}
@media(prefers-reduced-motion:reduce){.wf-page *{animation:none!important;transition:none!important}.wf-video-background{display:none}}


.site-inner:has(.wf-page) #main{padding-top:105px}
.wf-page .im-film-filters button{border-radius:0;min-height:40px;padding:8px 16px;font-size:13px}
.wf-page [aria-disabled=true]{opacity:.6;cursor:default}
@media(max-width:540px){.site-inner:has(.wf-page) #main{padding-top:90px}}

.wf-page [data-wf-english]{font-family:var(--en)}
.wf-page .wf-price-tabs button{flex:1;padding:12px 16px!important;background:transparent!important;color:#2c1e46!important}
.wf-page .wf-price-tabs button[aria-selected=true]{background:#2c1e46!important;color:white!important}
@media(max-width:600px){.wf-page .wf-price-tabs button{font-size:13px!important;padding-inline:6px!important}}

/* Give longer purpose descriptions the full row on narrow screens. */
@media (max-width: 600px) {
  .wf-video .wf-video-menu__item { display: grid !important; grid-template-columns: 100px minmax(0, 1fr); column-gap: 16px; row-gap: 14px; }
  .wf-video .wf-video-menu__copy { display: contents !important; }
  .wf-video .wf-video-menu__copy > b { align-self: center; }
  .wf-video .wf-video-menu__copy > span { grid-column: 1 / -1; }
}
