:root{color-scheme:only light;--paper: #f4f3ef;--ink: #1a1a1a;--gray: #8a8a85;--line: #dddcd6;--accent: #b5442a;--mincho: "Noto Serif TC", "Songti TC", "Hiragino Mincho ProN", serif;--didone: "Playfair Display", "Didot", "Times New Roman", serif;--sans: "Noto Sans TC", "PingFang TC", sans-serif;--pad-x: 56px;--max-w: 1280px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-width:320px;background:var(--paper);color:var(--ink);font-family:var(--mincho);font-size:17px;line-height:1.85;-webkit-font-smoothing:antialiased}a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.site-nav{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:34px var(--pad-x)}.site-nav .brand{color:var(--ink);font-family:var(--didone);font-style:italic;font-size:17px;letter-spacing:.04em;text-decoration:none}.site-nav .links{display:flex;gap:44px}.site-nav .links a{color:var(--ink);font-family:var(--didone);font-size:14px;letter-spacing:.18em;text-decoration:none}.site-nav .links a:hover,.site-nav .links a[aria-current=page]{border-bottom:1px solid var(--ink)}.hero{min-height:calc(100svh - 96px);position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.hero .intro{padding:0 0 26px var(--pad-x);font-size:17px;line-height:2}.hero .intro .en{font-family:var(--didone);font-style:italic;font-size:14px;color:var(--gray);letter-spacing:.04em}.hero .wordmark{font-family:var(--didone);font-weight:700;font-size:100px;line-height:.78;letter-spacing:-.015em;white-space:nowrap;display:inline-block;align-self:flex-start;transform-origin:left bottom;transform:translateY(.06em)}.vertical-note{writing-mode:vertical-rl;letter-spacing:.42em;font-size:14px;color:var(--gray);position:absolute;right:var(--pad-x);top:18vh}.section{padding:130px var(--pad-x);max-width:var(--max-w);margin:0 auto}.sec-head{display:flex;align-items:baseline;gap:20px;margin-bottom:64px}.sec-head .num{font-family:var(--didone);font-style:italic;font-size:15px;color:var(--accent)}.sec-head h2{font-size:26px;font-weight:700;letter-spacing:.3em}.sec-head .en{font-family:var(--didone);font-size:13px;letter-spacing:.22em;color:var(--gray)}.works{display:grid;grid-template-columns:repeat(3,1fr)}.work{background:var(--paper);border:1px solid var(--line);margin:0 -1px -1px 0;padding:44px 36px 40px;min-height:300px;display:flex;flex-direction:column;justify-content:space-between;color:var(--ink);text-decoration:none}.work:hover{border-color:var(--gray);position:relative;z-index:1}.work .tag{font-family:var(--didone);font-style:italic;font-size:13px;color:var(--gray);letter-spacing:.06em}.work h3{font-size:22px;line-height:1.6;letter-spacing:.06em;margin-top:18px}.work p{font-size:14.5px;line-height:1.9;color:var(--gray);margin-top:14px}.work .go{font-family:var(--didone);font-size:13px;letter-spacing:.2em;margin-top:26px}.post-row{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:30px 4px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.post-rows .post-row:first-child{border-top:1px solid var(--line)}.post-row:hover h3{border-bottom:1px solid var(--ink)}.post-row h3{font-size:19px;font-weight:400;letter-spacing:.05em;line-height:1.7}.post-row time{font-family:var(--didone);font-style:italic;font-size:13.5px;color:var(--gray);white-space:nowrap}.post-row .desc{display:none}.post-rows.with-desc .post-row{flex-direction:column;gap:8px;align-items:flex-start}.post-rows.with-desc .post-row .desc{display:block;font-size:14.5px;line-height:1.9;color:var(--gray)}.post-row .row-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:16px}.post-row .row-tag{font-size:12.5px;color:var(--gray);letter-spacing:.12em}.post-row .row-tag:before{content:"#";color:var(--accent);margin-right:2px}.tag-nav{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:36px}.tag-chip{color:var(--ink);text-decoration:none;font-size:14px;letter-spacing:.1em;border:1px solid var(--line);padding:7px 16px}.tag-chip:hover{border-color:var(--ink)}.tag-chip .count{font-family:var(--didone);font-style:italic;font-size:12px;color:var(--accent);margin-left:4px}.back-link{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}.back-link:hover{border-color:var(--ink)}.article-head .meta a.tag-item{color:var(--gray);text-decoration:none}.article-head .meta a.tag-item:hover{color:var(--ink);border-bottom:1px solid var(--ink)}.more-link{display:inline-block;margin-top:40px;color:var(--ink);font-family:var(--didone);font-size:14px;letter-spacing:.22em;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:5px}.service-card{border:1px solid var(--ink);padding:72px 64px;display:flex;justify-content:space-between;align-items:center;gap:40px;color:var(--ink);text-decoration:none}.service-card h3{font-size:30px;letter-spacing:.14em;line-height:1.7}.service-card p{font-size:15.5px;line-height:2;color:var(--gray);margin-top:16px;max-width:30em}.service-card .go{font-family:var(--didone);font-size:14px;letter-spacing:.22em;white-space:nowrap;border-bottom:1px solid var(--ink);padding-bottom:6px}.page-head{padding:110px var(--pad-x) 0;max-width:900px;margin:0 auto}.page-head .en-label{font-family:var(--didone);font-style:italic;font-size:14px;color:var(--accent);letter-spacing:.1em}.page-head h1{font-size:clamp(30px,5vw,44px);letter-spacing:.1em;line-height:1.6;margin-top:18px}.page-head .lede{font-size:18px;line-height:2;margin-top:28px;max-width:32em}.page-body{padding:0 var(--pad-x) 130px;max-width:900px;margin:0 auto}.svc-block{margin-top:96px}.svc-block>h2{font-size:21px;letter-spacing:.26em;margin-bottom:36px;display:flex;align-items:baseline;gap:16px}.svc-block>h2 .num{font-family:var(--didone);font-style:italic;font-size:14px;color:var(--accent)}.svc-block p{margin-bottom:1.2em}.svc-block ul{list-style:none}.svc-block ul li{padding:14px 2px;border-bottom:1px solid var(--line);line-height:1.9}.svc-block ul li:first-child{border-top:1px solid var(--line)}.case{border:1px solid var(--line);padding:44px 40px}.case h3{font-size:19px;letter-spacing:.08em;line-height:1.8;margin-bottom:18px}.case p{color:var(--ink)}.case .note{font-size:14px;color:var(--gray);margin-top:14px;margin-bottom:0}.plans{display:grid;grid-template-columns:1fr 1fr}.plan{border:1px solid var(--line);margin:0 -1px -1px 0;padding:44px 40px}.plan .tag{font-family:var(--didone);font-style:italic;font-size:13px;color:var(--accent);letter-spacing:.06em}.plan h3{font-size:24px;letter-spacing:.1em;margin-top:14px}.plan p{font-size:15px;line-height:2;color:var(--gray);margin-top:18px;margin-bottom:0}.plan ul{margin-top:18px}.plan ul li{font-size:15px;border:0!important;padding:6px 0}.plans-note{font-size:15px;color:var(--gray);margin-top:28px}.steps{counter-reset:step;list-style:none}.steps li{counter-increment:step;display:flex;gap:24px;align-items:baseline;padding:22px 2px;border-bottom:1px solid var(--line);line-height:1.9}.steps li:first-child{border-top:1px solid var(--line)}.steps li:before{content:"0" counter(step);font-family:var(--didone);font-style:italic;font-size:14px;color:var(--accent);flex-shrink:0}.closing{margin-top:96px;font-size:16px;color:var(--gray);text-align:center}.article-head{padding:110px var(--pad-x) 0;max-width:780px;margin:0 auto}.article-head .meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:16px;font-family:var(--didone);font-style:italic;font-size:14px;color:var(--gray)}.article-head .meta .tag-item{letter-spacing:.08em}.article-head h1{font-size:clamp(28px,4.6vw,40px);letter-spacing:.06em;line-height:1.7;margin-top:22px}.article-body{padding:64px var(--pad-x) 130px;max-width:780px;margin:0 auto}.toc{border:1px solid var(--line);padding:32px 36px;margin-bottom:72px}.toc-label{font-family:var(--didone);font-size:12px;letter-spacing:.22em;color:var(--gray);margin-bottom:18px}.toc ol{list-style:none}.toc li{margin-bottom:10px}.toc li:last-child{margin-bottom:0}.toc-depth-3{padding-left:24px}.toc a{color:var(--ink);text-decoration:none}.toc a:hover{border-bottom:1px solid var(--ink)}.prose h2,.prose h3{font-weight:700;scroll-margin-top:32px}.prose h2{font-size:24px;letter-spacing:.12em;line-height:1.7;margin:84px 0 28px;padding-bottom:16px;border-bottom:1px solid var(--line)}.prose h2:before{content:"—";color:var(--accent);margin-right:14px}.prose h3{font-size:19px;letter-spacing:.08em;margin:52px 0 20px}.prose p{margin-bottom:1.6em}.prose a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--accent)}.prose a:hover{color:var(--accent)}.prose ul,.prose ol{margin:0 0 1.6em 1.5em}.prose li{margin-bottom:.5em}.prose blockquote{margin:56px 0;padding:8px 0 8px 32px;border-left:1px solid var(--accent);font-size:18px;line-height:2.1;color:var(--ink)}.prose code{font-size:14.5px;padding:2px 7px;border:1px solid var(--line);background:transparent}.prose pre{margin-bottom:1.8em;padding:28px;overflow-x:auto;border:1px solid var(--line);background:transparent;line-height:1.7}.prose pre code{padding:0;border:0}.prose img{max-width:100%;border:1px solid var(--line)}.prose hr{margin:72px auto;border:0;border-top:1px solid var(--line);width:120px}.article-end{width:48px;margin:96px auto 0;border:0;border-top:1px solid var(--accent)}.article-head .meta .read-time:before,.article-head .meta .updated:before{content:"・";margin-right:12px;color:var(--line)}.article-head .meta .updated{color:var(--accent)}.author-box{margin-top:72px;border:1px solid var(--line);padding:32px 36px}.author-box .author-name{font-family:var(--didone);font-style:italic;font-size:15px;margin-bottom:10px}.author-box .author-bio{font-size:15px;line-height:2;color:var(--gray)}.author-box .author-bio a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}.author-box .author-bio a:hover{border-color:var(--ink)}.related{margin-top:72px}.related-label,.prev-next .pn-label{font-family:var(--didone);font-size:12px;letter-spacing:.22em;color:var(--gray)}.related-label{margin-bottom:8px}.related .post-row h3{font-size:17px}.prev-next{margin-top:72px;display:flex;justify-content:space-between;gap:24px}.prev-next .pn{display:flex;flex-direction:column;gap:10px;color:var(--ink);text-decoration:none;max-width:46%}.prev-next .pn.next{text-align:right;align-items:flex-end}.prev-next .pn-title{font-size:15.5px;line-height:1.8}.prev-next .pn:hover .pn-title{border-bottom:1px solid var(--ink)}.site-footer{padding:110px var(--pad-x) 60px;max-width:var(--max-w);margin:0 auto;display:flex;justify-content:space-between;align-items:flex-end;gap:32px}.site-footer .doors{display:flex;gap:36px}.site-footer .doors a{color:var(--ink);font-family:var(--didone);font-size:14px;letter-spacing:.2em;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:4px}.site-footer .doors a:hover{border-color:var(--ink)}.site-footer .mini{font-family:var(--didone);font-style:italic;font-size:12px;color:var(--gray)}@media(max-width:900px){:root{--pad-x: 32px}.works{grid-template-columns:1fr 1fr}.section{padding-top:96px;padding-bottom:96px}.service-card{flex-direction:column;align-items:flex-start;padding:48px 36px}.plans{grid-template-columns:1fr}}@media(max-width:600px){:root{--pad-x: 20px}.site-nav{padding-top:22px;padding-bottom:22px;gap:16px}.site-nav .links{gap:20px}.site-nav .links a{font-size:12px;letter-spacing:.12em}.hero{min-height:calc(92svh - 70px)}.hero .intro{font-size:15px;padding-bottom:18px}.hero .intro .en{font-size:12px}.vertical-note{top:12vh;font-size:12.5px;letter-spacing:.34em}.section{padding-top:72px;padding-bottom:72px}.sec-head{gap:12px;margin-bottom:40px}.sec-head h2{font-size:21px;letter-spacing:.22em}.works{grid-template-columns:1fr}.work{min-height:0;padding:32px 24px 28px}.work h3{font-size:19px}.post-row{flex-direction:column;align-items:flex-start;gap:8px;padding:22px 2px}.post-row h3{font-size:17px}.service-card{padding:40px 24px;gap:28px}.service-card h3{font-size:23px}.page-head{padding-top:72px}.page-body{padding-bottom:88px}.svc-block{margin-top:64px}.case,.plan{padding:32px 24px}.article-head{padding-top:64px}.article-body{padding-top:48px;padding-bottom:88px}.toc{padding:24px;margin-bottom:48px}.prose h2{margin-top:60px}.site-footer{flex-direction:column;align-items:flex-start;padding-top:72px;padding-bottom:44px}.site-footer .doors{gap:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
