:root{--ink:#1c2c3b;--muted:#52616a;--orange:#ea6427;--orange-dark:#ae4315;--line:#dfe7e9;--paper:#fff;--soft:#faf8f4}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.95;-webkit-text-size-adjust:100%;line-break:strict;word-break:auto-phrase;overflow-wrap:break-word}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700;line-height:1.55;text-wrap:pretty}a{color:inherit;text-underline-offset:5px}img{display:block;max-width:100%;height:auto}svg{display:block}button,summary,a{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #174f79;outline-offset:5px}.wrap{width:min(1120px,calc(100% - 80px));margin-inline:auto}.skip-link{position:absolute;z-index:30;top:0;left:20px;transform:translateY(-130%);background:#fff;padding:10px 20px}.skip-link:focus{transform:none}.header{position:relative;z-index:5;background:#fff}.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap;font-size:24px;font-weight:750;letter-spacing:-.03em}.brand img{width:40px;height:40px;border-radius:9px}.desktop-nav{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:600}.desktop-nav a{text-decoration:none;padding:10px 0;border-bottom:2px solid transparent}.desktop-nav a:hover{border-color:var(--orange)}.mobile-menu{display:none}.hero{overflow:hidden;border-bottom:1px solid var(--line)}.hero-inner{position:relative;min-height:640px;display:flex;align-items:center;padding-block:80px 105px}.hero-copy{position:relative;z-index:1;max-width:630px}.eyebrow{font-size:14px;letter-spacing:.04em;font-weight:650;border-left:4px solid var(--orange);padding-left:13px;margin-bottom:23px}.hero h1{font-size:clamp(34px,3.35vw,49px);letter-spacing:.01em;line-height:1.7}.hero h1>span{display:table;background:rgba(255,255,255,.95);padding:0 10px 2px 0}.hero-lead{max-width:390px;background:rgba(255,255,255,.94);margin-top:22px;font-size:16px;line-height:1.9;padding-right:10px}.hero .button{margin-top:28px}.hero-art{position:absolute;width:890px;max-width:none;right:-100px;top:35px;z-index:0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:56px;border-radius:50px;background:#fff;border:2px solid #fd7702;color:var(--ink);padding:10px 26px;text-decoration:none;font-size:16px;font-weight:600;line-height:1.65;transition:background .15s}.button:hover{background:#fff4e9}.button>span{font-size:20px;font-weight:400;line-height:1}.section{padding-block:80px;border-bottom:1px solid var(--line)}.section-title{font-size:28px;position:relative;padding-left:20px;margin-bottom:32px;letter-spacing:.02em}.section-title:before,.marked-title:before{content:"";position:absolute;left:0;top:.3em;width:4px;height:1em;background:var(--orange)}.about{display:grid;grid-template-columns:1fr 1fr;gap:25px 70px;align-items:center}.about .section-title{margin-bottom:25px}.about-copy{grid-column:1;grid-row:1}.profile-name{font-size:32px;line-height:1.5;font-weight:700;letter-spacing:-.025em;margin-bottom:5px}.profile-place{font-size:14px;color:var(--muted);margin-bottom:18px}.about-art{grid-column:2;grid-row:1/3;border-radius:7px}.concept{grid-column:1;grid-row:2}.marked-title{position:relative;padding-left:17px;font-size:18px;margin-bottom:14px}.concept p{font-size:16px}.services{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:34px}.service{text-align:center;padding:8px 24px 24px}.service+.service{border-left:1px solid var(--line)}.service-icon{width:112px;height:94px;margin:0 auto 17px;stroke:#35536a;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.service h3{font-size:19px}.approach{background:var(--soft);padding:25px 30px;border-radius:6px}.approach p{color:#394c59}.works-band{background:#f8fafb}.works-band .section{border:0}.section-intro{color:var(--muted);margin-top:-17px;margin-bottom:35px}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.work{min-width:0;display:flex;flex-direction:column}.work-image{display:block;overflow:hidden;border:1px solid #d9e2e6;border-radius:5px;background:#eef1f1;aspect-ratio:8/5}.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.work-image:hover img{transform:scale(1.025)}.work-copy{padding:24px 2px 0;display:flex;flex-direction:column;align-items:flex-start;flex:1}.work-copy h3{font-size:20px;margin-bottom:12px}.work-copy p:not(.work-type){font-size:15px;color:var(--muted)}.work-copy .work-type{color:var(--muted);font-size:13px;margin-bottom:5px}
.redesign{margin-top:64px;padding-top:40px;border-top:1px solid #dfe6e9}
.redesign-title{font-size:17px;margin-bottom:24px}
.work-wide{display:grid;grid-template-columns:1fr 2fr;gap:30px;align-items:center}
.work-wide .work-copy{padding-top:0}.text-link{display:inline-flex;align-items:center;gap:20px;color:var(--orange-dark);font-size:15px;font-weight:700;margin-top:20px;padding-block:8px;text-decoration:none}.text-link:hover{text-decoration:underline}.prices{display:grid;grid-template-columns:1fr 1fr;gap:28px}.price{padding:30px 34px;border:1px solid var(--line);border-radius:6px}.price h3{font-size:19px}.price>p:last-child{font-size:15px;color:var(--muted)}.price-value{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;margin:10px 0 13px;line-height:1.3}.price-value strong{font-size:46px;letter-spacing:-.04em;color:var(--orange);font-weight:750;white-space:nowrap}.price-value strong span{font-size:.53em;letter-spacing:0}.tax{font-size:14px}.price-note{margin-top:24px}.details-list{margin:25px 0 0}.details-list>div{display:grid;grid-template-columns:185px 1fr;gap:25px;padding:20px 0;border-top:1px solid var(--line)}.details-list dt{font-size:15px;font-weight:700}.details-list dd{margin:0;color:var(--muted);font-size:16px}.expense-note{font-size:14px;color:var(--muted);margin-top:14px}.steps{padding:0;margin:0 0 38px;list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:25px}.steps li{position:relative;display:flex;align-items:center;flex-direction:column;gap:10px;font-size:15px;font-weight:600;text-align:center}.steps li>span{background:#fff0e7;color:#ae4315;display:grid;place-items:center;font-size:18px;font-weight:600;width:38px;height:38px;border-radius:50%;position:relative;z-index:1}.steps li:not(:last-child):after{content:"";position:absolute;top:19px;left:65%;width:80%;border-top:1px solid #c7d4d8}.faq{margin:0}.faq>div{padding:24px 0;border-bottom:1px solid var(--line)}.faq>div:first-child{padding-top:0}.faq>div:last-child{border:0;padding-bottom:0}.faq dt,.faq dd{position:relative;padding-left:45px}.faq dt{font-weight:700;font-size:17px}.faq dd{color:var(--muted);margin:12px 0 0;font-size:16px}.faq dt>span,.faq dd>span{position:absolute;left:0;top:0;width:29px;height:29px;display:grid;place-items:center;border-radius:50%;font-size:14px;font-weight:700;line-height:1;background:#fce5d6;color:#793309}.faq dd>span{background:#e7f1ee;color:#305249}.contact{background:#faf8f2;margin-top:28px;overflow:hidden}.contact-inner{position:relative;min-height:430px;display:flex;align-items:center;padding-block:70px}.contact-copy{position:relative;z-index:1;max-width:570px}.contact h2{font-size:28px;line-height:1.65;margin-bottom:18px}.contact-copy>p{max-width:450px}.email{display:block;width:fit-content;font-size:21px;font-weight:650;margin:20px 0 23px;text-decoration:none;overflow-wrap:anywhere}.email:hover{text-decoration:underline}.contact-art{position:absolute;right:-140px;width:780px;max-width:none;bottom:0;mix-blend-mode:multiply;opacity:.9}.contact-copy{background:linear-gradient(90deg,rgba(250,248,242,.98),rgba(250,248,242,.8) 75%,transparent);padding-right:40px}.footer{text-align:center;padding:30px 24px;font-size:18px;font-weight:700}.footer a{text-decoration:none}
@media(max-width:1050px){.desktop-nav{gap:17px;font-size:12px}.brand{font-size:22px}.hero-inner{min-height:570px}.hero-art{right:-170px;width:850px;top:5px}.hero h1{font-size:37px}.about{gap:25px 35px}.works-grid{gap:22px}.work-copy h3{font-size:18px}.contact-art{right:-220px}}
@media(max-width:850px){.redesign{margin-top:48px;padding-top:32px}.work-wide{display:flex;gap:0}.work-wide .work-copy{padding-top:20px}.wrap{width:calc(100% - 48px)}.header-inner{min-height:76px}.desktop-nav{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{list-style:none;display:flex;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{display:block;background:var(--ink);height:2px;width:24px}.mobile-menu nav{position:absolute;right:0;top:52px;width:230px;padding:15px 20px;background:white;box-shadow:0 10px 40px #1c2c3b19;border:1px solid var(--line);border-radius:4px}.mobile-menu nav a{display:block;text-decoration:none;padding:10px 0;font-size:15px}.hero-inner{display:flex;flex-direction:column;align-items:stretch;padding-top:28px;padding-bottom:0;min-height:0}.hero-copy{max-width:none}.hero h1{font-size:37px}.hero h1>span{background:none;padding:0;display:block}.hero-lead{max-width:450px;padding:0}.hero-art{position:relative;width:100%;right:auto;top:auto;margin-top:20px;max-width:100%}.section{padding-block:55px}.section-title{font-size:26px}.about{gap:24px;grid-template-columns:1fr}.about-copy,.about-art,.concept{grid-column:1;grid-row:auto}.about-art{width:100%;max-height:390px;object-fit:cover}.concept{margin-top:8px}.services{grid-template-columns:1fr;gap:12px}.service{text-align:left;padding:16px 22px;display:flex;align-items:center;gap:22px;border:1px solid var(--line);border-radius:5px}.service+.service{border-left:1px solid var(--line)}.service-icon{width:72px;height:60px;margin:0;flex-shrink:0}.service h3{font-size:18px}.approach{padding:23px}.works-grid{grid-template-columns:1fr;gap:42px}.work-copy{padding:20px 0 0}.work-copy h3{font-size:22px}.work-copy p:not(.work-type){font-size:16px}.text-link{margin-top:12px}.prices{grid-template-columns:1fr;gap:18px}.price{padding:27px 30px}.details-list>div{grid-template-columns:1fr;gap:8px}.steps{grid-template-columns:1fr;gap:0;margin-bottom:24px}.steps li{flex-direction:row;text-align:left;gap:20px;font-size:17px;min-height:72px}.steps li:not(:last-child):after{left:18px;top:calc(50% + 19px);width:0;height:calc(100% - 38px);border-top:none;border-left:1px solid #c7d4d8}.steps li>span{width:38px;height:38px;flex-shrink:0}.contact{margin-top:0}.contact-inner{flex-direction:column;align-items:stretch;padding-top:48px;padding-bottom:0;min-height:0}.contact-copy{padding:0;background:none;max-width:none}.contact h2{font-size:27px}.contact-copy>p{max-width:none}.contact-art{position:relative;right:auto;bottom:auto;width:100%;max-width:100%;margin-top:28px;opacity:1}.email{font-size:19px}}
@media(max-width:480px){.brand{font-size:21px;gap:9px}.brand img{width:32px;height:32px}.header-inner{min-height:70px}.hero-inner{padding-top:25px}.hero h1{font-size:clamp(26px,7.2vw,34px);letter-spacing:0;line-height:1.6}.eyebrow{font-size:12px;letter-spacing:0;margin-bottom:18px;padding-left:10px}.hero-lead{margin-top:18px}.hero .button{margin-top:24px}.button{width:100%;padding:14px 24px;gap:18px;min-height:55px}.hero-art{margin-top:22px}.section{padding-block:43px}.section-title{font-size:24px;margin-bottom:25px;padding-left:17px}.profile-name{font-size:28px}.profile-place{font-size:13px}.marked-title{font-size:17px;line-height:1.75}.about{gap:22px}.about .section-title{margin-bottom:20px}.about-art{border-radius:4px}.service{padding:13px 12px;gap:14px}.service-icon{width:62px;height:55px}.service h3{font-size:16px}.services{margin-bottom:26px}.approach{padding:20px 18px}.approach p{font-size:15px}.section-intro{margin-top:-7px;font-size:14px;margin-bottom:27px}.work-copy h3{font-size:20px}.work-type{font-size:13px}.prices{gap:16px}.price{padding:24px 22px}.price h3{font-size:18px}.price-value strong{font-size:43px}.price-note{font-size:15px}.details-list dd{font-size:16px}.steps li{font-size:16px;gap:18px;min-height:68px}.faq dt{font-size:16px}.faq dd{font-size:16px}.faq dt,.faq dd{padding-left:38px}.faq dt>span,.faq dd>span{width:26px;height:26px}.contact h2{font-size:25px}.email{font-size:17px}.footer{padding-block:25px;font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.phrase{display:inline-block}
