:root{--paper:rgb(225,225,225);--ink:rgb(77,77,77);--muted:#5f5a51;--line:rgba(25,25,25,0.14);--orange:rgb(194,69,28);--deep-orange:rgb(194,69,28);--blue:rgb(116,132,193);--accent:rgb(179,179,179);--text:rgb(0,0,0);--pill-bg:var(--ink);--pill-color:#ffffff;--frame:var(--ink);--deep-blue:rgb(116,132,193);--cream-top:#ffffff;--cream-bottom:#ffffff;--hero-offset-top:-16px;--page-max-width:1280px;--page-inline-space:24px;--page-aligned-inline-space:max(var(--page-inline-space),calc(50vw - (var(--page-max-width) / 2)));--footer-inline-space:var(--page-aligned-inline-space);--font-size-1:clamp(1.25rem,3.5vw,2.5rem);--font-size-2:clamp(1.35rem,2.6vw,2.3rem);--font-size-3:clamp(1.125rem,2.5vw,2rem);--font-size-4:clamp(0.875rem,1.6vw,1.3rem);--font-size-5:clamp(0.8125rem,1.2vw,1rem);--font-jp:"dnp-shuei-gothic-gin-std","DNP ShueiGoGinStd","Hiragino Sans","Yu Gothic",sans-serif;--font-en:"din-2014","DIN 2014","futura-pt","Futura PT","Avenir Next","Helvetica Neue",sans-serif;--font-num:"din-2014","DIN 2014","futura-pt","Futura PT",sans-serif;--font-body:var(--font-jp);--font-display:var(--font-en),var(--font-jp);--font-data:var(--font-en),var(--font-jp)}*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;min-height:100vh;overflow-x:clip;color:var(--text);background:var(--paper);font-family:var(--font-body)}body:before{content:none}.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease}.reveal--visible{opacity:1;transform:translateY(0)}.page-shell{position:relative;width:min(var(--page-max-width),calc(100% - (var(--page-inline-space) * 2)));margin:0 auto;padding:0 0 40px;background:transparent}.page-shell:before{content:none}.meta-value,h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:400}.pricing-base-pill-text{margin:0;font-family:var(--font-data)}.pricing-value{font-weight:400}.contact-label,.eyebrow,.meta-label,.plan-caption,.project-type{margin:0;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-family:var(--font-data);font-size:var(--font-size-5)}.site-header{position:fixed;top:0;right:0;left:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:84px;padding:14px var(--page-inline-space) 14px calc(var(--page-inline-space) + 16px);background:transparent;transition:background-color .3s ease}.site-header--scrolled{background:rgba(240,240,240,.7)}.site-header__logo-link{display:flex;align-items:center;flex-shrink:0;opacity:0;pointer-events:none;transition:opacity .3s ease}.site-header--scrolled .site-header__logo-link{opacity:1;pointer-events:auto}.site-header__logo-img{width:100px;height:auto}.site-header__logo{display:flex;align-items:center;gap:24px;width:320px;min-height:40px}.site-header__logo-image{width:calc((100% - 24px) / 2);height:auto}.site-header__logo-image:first-child{margin-left:32px}.site-header__nav{display:flex;gap:38px;align-items:center;height:100%;margin-right:0}.site-header__link{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:100%;color:var(--text);font-family:var(--font-jp);font-size:var(--font-size-5);line-height:1;letter-spacing:.02em;text-decoration:none;transition:color .14s ease}.site-header__link:before{width:100%;height:4px;background:var(--ink);content:"";transition:background-color .14s ease}.site-header__link:focus-visible,.site-header__link:hover{color:var(--orange)}.site-header__link:focus-visible:before,.site-header__link:hover:before{background:var(--orange)}.site-header__cta{display:inline-flex;align-items:center;justify-content:center;padding:7px 22px;border-radius:999px;background:#000000;color:#ffffff;font-family:var(--font-jp);font-size:var(--font-size-5);line-height:1;letter-spacing:.02em;text-decoration:none;transition:background-color .14s ease}.site-header__cta:focus-visible,.site-header__cta:hover{background:var(--orange)}.site-header__controls{position:relative;display:flex;align-items:center;gap:5px}.site-header__hamburger{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:60px;height:60px;padding:0;border:none;background:transparent;cursor:pointer}.site-header__bar{display:block;width:30px;height:2px;background:#000000;border-radius:2px;transition:transform .2s ease,opacity .2s ease}.site-header__hamburger--open .site-header__bar:first-child{transform:translateY(7px) rotate(45deg)}.site-header__hamburger--open .site-header__bar:nth-child(2){opacity:0}.site-header__hamburger--open .site-header__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.site-header__overlay{position:fixed;inset:0;z-index:-1;background:rgba(77,77,77,.4)}.site-header__menu{position:fixed;top:0;right:0;bottom:0;z-index:30;display:flex;flex-direction:column;width:50vw;min-width:240px;max-width:400px;padding-top:80px;background:rgba(240,240,240,1);box-shadow:-4px 0 24px rgba(66,33,11,.18);animation:slide-in-right .24s ease forwards}@keyframes slide-in-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}.site-header__menu-link{padding:18px 32px;color:var(--text);font-family:var(--font-jp);font-size:var(--font-size-5);line-height:1;letter-spacing:.02em;text-decoration:none;transition:background-color .12s ease,color .12s ease}.site-header__menu-link:hover{background:rgba(0,0,0,.04);color:var(--orange)}.site-header__menu-close{position:absolute;top:20px;right:20px;background:none;border:none;color:var(--text);font-size:1.8rem;line-height:1;cursor:pointer;opacity:.6;transition:opacity .12s ease;padding:4px}.site-header__menu-close:hover{opacity:1}.site-header__menu-footer{margin-top:auto;padding:32px 24px 32px 32px;display:flex;flex-direction:column;align-items:flex-end;gap:12px;text-align:right}.site-header__menu-logo-link{display:inline-block;opacity:.8;transition:opacity .12s ease}.site-header__menu-logo-link:hover{opacity:1}.site-header__menu-copy{margin:0;color:var(--muted);font-family:var(--font-en);font-size:.6rem;letter-spacing:.04em}.hero{position:relative;height:100vh;padding-bottom:0;margin-top:0;margin-bottom:150px;overflow:visible}.hero-visual{position:relative;width:auto;height:100%;min-height:100vh;margin-right:calc(50% - 50vw);margin-left:calc(50% - 50vw);overflow:hidden}.hero-image{display:block;width:100%;min-height:100vh;object-fit:cover;filter:saturate(.88) contrast(1.02)}.hero-image-mobile{display:none}.hero-logo{position:absolute;top:30px;left:calc(var(--page-inline-space) - var(--page-aligned-inline-space)*.5);z-index:10}.hero-logo-image{width:clamp(90px,15vw,180px);height:auto}.hero-copy{position:absolute;top:50%;left:calc(var(--page-inline-space) - var(--page-aligned-inline-space)*.5);z-index:10;transform:translateY(-50%)}.hero-copy-heading{margin:0 0 12px;font-size:clamp(30px,3.5vw,60px);font-weight:700;line-height:1.2}.hero-copy-body,.hero-copy-heading{color:var(--text);font-family:var(--font-jp),var(--font-en);letter-spacing:.02em}.hero-copy-body{margin:0;font-size:clamp(15px,1.4vw,30px);line-height:1.75}.hero-banner{position:absolute;right:0;bottom:48px;z-index:10;display:flex;align-items:center;gap:clamp(5px,2vw,25px);padding:clamp(5px,1.5vw,10px) clamp(24px,7vw,100px) clamp(5px,1.5vw,10px) clamp(18px,5.25vw,50px);background:var(--orange);border-radius:9999px 0 0 9999px}.hero-banner-plan{color:rgba(255,255,255);font-family:var(--font-jp);font-size:clamp(10px,2vw,20px);font-weight:700;line-height:1.4;letter-spacing:.08em}.hero-banner-item{display:flex;flex-direction:column;align-items:center;gap:4px}.hero-banner-row{display:flex;align-items:baseline;justify-content:center;gap:2px}.hero-banner-label{color:#fff;font-family:var(--font-jp),var(--font-en);font-size:clamp(14px,2vw,45px);font-weight:700}.hero-banner-value{color:#fff;font-family:var(--font-en);font-size:clamp(30px,6vw,90px);font-weight:700;line-height:1}.hero-banner-unit{color:#fff;font-size:clamp(12px,2vw,40px);font-weight:700}.hero-banner-note,.hero-banner-unit{font-family:var(--font-jp),var(--font-en)}.hero-banner-note{width:100%;color:rgba(255,255,255,.85);font-size:clamp(8px,1vw,18px);line-height:1.4;text-align:center}.hero-banner-divider{color:rgba(255,255,255,.6);font-family:var(--font-jp),var(--font-en);font-size:clamp(20px,2.5vw,32px);padding:0 4px}.hero-overlay{background:rgba(255,255,255,.3);pointer-events:none}.hero-anim-mobile,.hero-anim-pc,.hero-overlay{position:absolute;inset:0}.hero-anim-mobile{display:none}main{display:grid;grid-gap:150px;gap:150px}.section{display:grid;grid-gap:18px;gap:18px;padding-top:12px;scroll-margin-top:116px}.section-content{width:100%;max-width:100%;margin:32px auto 0}.concept-copy{display:grid;grid-gap:20px;gap:20px;max-width:920px;margin:88px auto;justify-items:center}.concept-paragraph{margin:0;color:var(--text);font-size:var(--font-size-4);line-height:1.9;text-align:left}.section-heading{position:relative;display:flex;align-items:flex-end;justify-content:flex-start;gap:16px;padding-bottom:0}.section-heading:after{position:absolute;right:calc(50% - 50vw);bottom:-.02em;left:calc(50% - 50vw);z-index:0;height:clamp(2px,1vw,10px);background:var(--accent);content:""}.section-heading>*{position:relative;z-index:1}h2{font-family:var(--font-jp);font-size:var(--font-size-3);line-height:1;letter-spacing:.02em}.plan-heading{position:relative;display:flex;align-items:baseline;justify-content:flex-start;gap:16px;padding-bottom:0}.plan-heading:after{position:absolute;right:calc(50% - 50vw);bottom:-.02em;left:calc(50% - 50vw);z-index:0;height:clamp(2px,1vw,10px);background:var(--accent);content:""}.plan-heading>*{position:relative;z-index:1}.plan-heading .section-heading:after{content:none}.plan-caption{display:block;color:var(--text);font-size:var(--font-size-4);line-height:1}.concept-list{margin:0;padding:0;list-style:none;display:grid}.concept-item{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;grid-column-gap:32px;column-gap:32px;grid-row-gap:16px;row-gap:16px;padding:48px 0;border-bottom:3px solid var(--accent)}.concept-item:last-child{border-bottom:none}.concept-item-badge{grid-column:1;grid-row:1;align-self:center;display:flex;align-items:center;justify-content:center;min-width:64px;padding:7px 20px;border-radius:999px;background:var(--pill-bg);color:var(--pill-color);font-family:var(--font-en);font-size:var(--font-size-4);font-weight:400;line-height:1;letter-spacing:.04em}.concept-item-title{grid-row:1;align-self:center;color:var(--orange);font-size:var(--font-size-3);font-weight:700;line-height:1.4;letter-spacing:.02em}.concept-item-body,.concept-item-title{grid-column:2;margin:0;font-family:var(--font-jp)}.concept-item-body{grid-row:2;color:var(--text);font-size:var(--font-size-5);line-height:1.9}.concept-item-body a{color:var(--text);text-decoration:underline;transition:color .12s ease}.concept-item-body a:hover{color:var(--orange)}.pricing-board{padding:0 0 16px;margin-top:32px}.pricing-tabs{display:flex;gap:4px;position:relative;z-index:1;margin-bottom:-2px}.pricing-tab{flex:1 1;text-align:center;padding:16px 28px;border:2px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;background:var(--accent);color:var(--frame);font-family:var(--font-jp);font-size:var(--font-size-4);line-height:1;letter-spacing:.02em;cursor:pointer;transition:background-color .12s ease,color .12s ease}.pricing-tab--active{background:var(--frame);color:#f5f0ea;border-color:var(--frame);position:relative;z-index:2}.pricing-main-card{position:relative;z-index:3;border:5px solid var(--frame);border-radius:0 0 12px 12px;padding:48px 40px;background:#ffffff}.pricing-card-header{display:flex;align-items:baseline;justify-content:center;gap:10px;margin-bottom:20px}.pricing-card-note--ghost{visibility:hidden}.pricing-card-title{margin:0;font-size:var(--font-size-2);font-weight:400;line-height:1}.pricing-card-note,.pricing-card-title{font-family:var(--font-jp);color:var(--text)}.pricing-card-note{max-width:900px;margin:-20px auto 0;text-align:right;font-size:var(--font-size-5);white-space:nowrap}.pricing-base-pill{display:flex;align-items:center;justify-content:center;min-height:64px;padding:0 48px;border-radius:999px;background:var(--orange);margin:0 auto 20px;max-width:900px}.pricing-base-pill-text{color:#ffffff;font-family:var(--font-jp);font-size:var(--font-size-2);font-weight:400;line-height:1;letter-spacing:.01em}.pricing-kome{font-size:.55em;vertical-align:super}.pricing-price-yen{font-family:var(--font-en)}.pricing-analysis-types{margin:0 0 28px;color:var(--text);font-family:var(--font-jp);font-size:var(--font-size-4);text-align:center}.pricing-card-body{display:grid;grid-template-columns:minmax(0,360px) minmax(0,400px);grid-gap:40px;gap:40px;align-items:center;justify-content:center;margin-top:32px}.pricing-image-stack-wrap{display:grid;grid-gap:10px;gap:10px;justify-items:center}.pricing-image-stack{position:relative;width:100%;padding-top:16px;padding-bottom:calc((100% - 16px) * 9 / 16)}.pricing-stack-img-wrap{position:absolute;border-radius:4px;overflow:hidden;width:calc(100% - 16px);aspect-ratio:16/9;border:2px solid var(--frame)}.pricing-stack-img-wrap--back{top:0;right:0;z-index:1}.pricing-stack-img-wrap--mid{top:8px;right:8px;z-index:2}.pricing-stack-img-wrap--front{bottom:0;left:0;z-index:3}.pricing-stack-img{object-fit:cover}.pricing-images-note{margin:0;color:var(--text);font-family:var(--font-jp);font-size:var(--font-size-5);text-align:center}.pricing-card-includes{display:grid;align-content:start;grid-gap:10px;gap:10px}.pricing-includes-label{margin:0;color:var(--text);font-family:var(--font-jp);font-size:var(--font-size-4)}.pricing-includes-list{margin:0;padding:0;list-style:none}.pricing-includes-list li{color:var(--orange);font-family:var(--font-jp);font-size:var(--font-size-4);font-weight:700;line-height:1.8}.pricing-includes-list li:before{content:"・"}.pricing-consult-content{display:grid;place-items:center;min-height:200px}.pricing-consult-message{margin:0;color:var(--orange);font-family:var(--font-jp);font-size:var(--font-size-2);font-weight:400}.pricing-plus{margin:40px auto;width:75px;height:75px;color:var(--frame)}.pricing-plus svg{width:100%;height:100%}.pricing-options-card{border:5px solid var(--frame);border-radius:12px;padding:32px 40px;background:#ffffff;max-width:800px;margin-left:auto;margin-right:auto}.pricing-options-title{margin:0 0 24px;color:var(--text);font-family:var(--font-jp);font-size:var(--font-size-2);font-weight:400;text-align:center;line-height:1}.pricing-table{display:grid;grid-gap:0;gap:0;border-top:3px solid var(--frame)}.pricing-row{display:grid;grid-template-columns:1fr auto;align-items:baseline;grid-gap:24px;gap:24px;padding:20px 8px;border-bottom:3px solid var(--frame)}.pricing-name{color:var(--text);font-family:var(--font-jp)}.pricing-name,.pricing-value{margin:0;font-size:var(--font-size-4)}.pricing-value{color:var(--orange);font-family:var(--font-data);font-weight:700;line-height:1.2;white-space:nowrap}.pricing-leadtime{font-family:var(--font-jp);font-size:.85em;font-weight:400;color:var(--text)}.pricing-stack-img-wrap{cursor:zoom-in}.pricing-lightbox{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.75);animation:pricing-lightbox-in .18s ease forwards}@keyframes pricing-lightbox-in{0%{opacity:0}to{opacity:1}}.pricing-lightbox-inner{position:relative;width:min(90vw,1200px,calc((85vh - 2em) * 16 / 9))}.pricing-lightbox-img-wrap{position:relative;width:100%;aspect-ratio:16/9;border-radius:4px;overflow:hidden}.pricing-lightbox-img{object-fit:contain}.pricing-lightbox-close{position:absolute;top:-1em;right:0;background:none;border:none;color:#fff;font-family:var(--font-en);font-size:var(--font-size-2);font-weight:300;line-height:1;cursor:pointer;padding:0;transition:color .12s ease}.pricing-lightbox-close:hover{color:#fff}.pricing-tax-note{max-width:800px;margin:8px auto 0;color:var(--text);font-family:var(--font-jp);font-size:var(--font-size-5);text-align:right}.guide-steps{max-width:1100px;margin:0 auto;--guide-timeline-w:clamp(18px,4.5vw,56px);--guide-center-x:calc(var(--guide-timeline-w) / 2);--guide-line-w:clamp(3px,0.7vw,7px)}.guide-step-row{position:relative;display:grid;grid-template-columns:var(--guide-timeline-w) clamp(28px,6vw,72px) 1fr;grid-column-gap:clamp(6px,2.5vw,32px);column-gap:clamp(6px,2.5vw,32px);align-items:start;padding-bottom:16px}.guide-step-row:last-child{padding-bottom:0}.guide-step-row:not(:last-child):after{content:"";position:absolute;top:47px;bottom:-47px;left:calc(var(--guide-center-x) - var(--guide-line-w) / 2);width:var(--guide-line-w);background:rgba(150,150,150,.4);z-index:0}.guide-step-timeline{position:relative;display:flex;flex-direction:column;align-items:center;padding-top:37px;z-index:1}.guide-step-dot{width:clamp(10px,2vw,25px);height:clamp(10px,2vw,25px);border-radius:50%;background:var(--orange);flex-shrink:0}.guide-timeline-note{position:absolute;top:calc(100% + 16px + 28px);left:50%;transform:translateX(calc(-100% - 14px));margin:0;color:var(--text);font-family:var(--font-jp);font-size:var(--font-size-4);line-height:1.6;letter-spacing:.1em;writing-mode:vertical-rl;-webkit-text-orientation:upright;text-orientation:upright;white-space:nowrap}.guide-step-number{padding-top:23px;color:var(--accent);font-family:var(--font-en);font-size:clamp(.9rem,5vw,3.6rem);font-weight:700;line-height:1;letter-spacing:.02em;writing-mode:horizontal-tb;-webkit-text-orientation:mixed;text-orientation:mixed}.guide-step-body{padding-top:28px}.guide-step-title{margin:0 0 16px;color:var(--text);font-family:var(--font-jp);font-size:var(--font-size-1);font-weight:700;line-height:1.25;letter-spacing:.02em}.guide-step-list{margin:0;padding:0;list-style:none}.guide-step-list li{color:var(--text);font-size:var(--font-size-4);line-height:1.75}.guide-step-list li:before{content:"・"}.project-samples{display:grid;grid-gap:22px;gap:22px;margin-top:0;margin-bottom:32px}.project-sample-item{display:grid;grid-gap:28px;gap:28px}.project-sample-item+.project-sample-item{padding-top:26px}.project-sample-divider{width:100%;height:4px;margin-inline:auto;border-radius:999px;background:var(--accent)}.project-sample-layout{position:relative;display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.62fr);grid-gap:30px;gap:30px;padding:26px 0 8px}.project-sample-copy,.project-sample-visuals{position:relative;z-index:1}.project-sample-copy{display:grid;align-content:start;grid-gap:24px;gap:24px}.project-copy-group{display:grid;grid-gap:12px;gap:12px}.project-pill{width:-moz-fit-content;width:fit-content;margin-bottom:8px;padding:7px 22px;border-radius:999px;background:var(--pill-bg);color:var(--pill-color);font-family:var(--font-display);font-size:var(--font-size-5);font-weight:400;line-height:1}.project-sample-title{margin:0;color:var(--text);font-family:var(--font-jp);font-size:var(--font-size-3);line-height:1.18;letter-spacing:.02em}.project-sample-title-primary,.project-sample-title-secondary{display:block}.project-sample-title-secondary{margin-top:.3em;font-size:.6em}.project-sample-period{margin:0;color:var(--text);font-family:var(--font-data);font-size:var(--font-size-3)}.project-sample-meta,.project-sample-note{max-width:28rem;margin:22px 0 0;line-height:1.75}.project-sample-note{margin-top:0;color:var(--text);font-size:var(--font-size-5)}.project-sample-list{margin:2px 0 0;padding:0;list-style:none}.project-sample-list li{color:var(--text);font-size:var(--font-size-5);line-height:1.75}.project-sample-list li:before{content:"・"}.project-sample-meta{margin-top:8px;color:var(--text);font-size:var(--font-size-5)}.project-sample-meta p{margin:0}.project-sample-visuals{display:block}.project-visual-main,.project-visual-sub{position:relative;overflow:hidden;background:#8d8d8d}.project-visual-main{aspect-ratio:1.92/1.08}.project-visual-sub{aspect-ratio:1.5/1}.project-sample-image{object-fit:cover}.project-visual-caption{margin:6px 0 0;color:var(--text);font-family:var(--font-en);font-size:var(--font-size-5);font-weight:400;line-height:1;letter-spacing:.03em;text-align:right}.faq-list{margin:0;padding:0;list-style:none;display:grid}.faq-item{padding:40px 0;border-bottom:3px solid var(--accent)}.faq-summary{display:grid;grid-template-columns:auto 1fr auto;grid-column-gap:28px;column-gap:28px;align-items:center;list-style:none;cursor:pointer}.faq-summary::-webkit-details-marker{display:none}.faq-summary:after{content:"+";font-family:var(--font-en);font-size:var(--font-size-2);font-weight:300;color:var(--muted);line-height:1}.faq-item[open]>.faq-summary:after{content:"×"}.faq-badge{min-width:72px;padding:7px 16px;border-radius:999px;font-family:var(--font-en);font-size:var(--font-size-5);font-weight:400;line-height:1;letter-spacing:.04em;text-align:center}.faq-badge--q{background:var(--pill-bg);color:var(--pill-color)}.faq-badge--a{background:transparent;color:var(--text);border:1.5px solid var(--ink)}.faq-question{margin:0;color:var(--text);font-family:var(--font-jp);font-size:var(--font-size-4);font-weight:600;line-height:1.7}.faq-question a{color:inherit;text-decoration:underline;transition:color .12s ease}.faq-question a:hover{color:var(--orange)}.faq-answer-row{display:grid;grid-template-columns:auto 1fr;grid-column-gap:28px;column-gap:28px;align-items:start;margin-top:20px}.faq-answer{margin:0;color:var(--text);font-family:var(--font-jp);font-size:var(--font-size-4);line-height:1.9}.faq-answer a{color:var(--text);text-decoration:underline;transition:color .12s ease}.faq-answer a:hover{color:var(--orange)}.contact-panel{grid-template-columns:1fr;align-items:center;grid-gap:28px;gap:28px;min-height:340px;padding:20px 0 8px}.contact-copy,.contact-panel{display:grid;justify-items:center}.contact-copy{align-content:start;grid-gap:30px;gap:30px}.contact-cta{display:inline-flex;align-items:center;justify-content:center;width:min(130%,1000px);min-height:64px;padding:14px 34px;border-radius:999px;background:var(--ink);text-decoration:none;transition:background-color .14s ease}.contact-cta-label{color:#ffffff;font-family:var(--font-jp);font-size:var(--font-size-2);line-height:1.1}.contact-cta:focus-visible,.contact-cta:hover{background:var(--orange)}.contact-note{width:min(80%,1000px);max-width:none;margin:0;color:var(--text);font-size:var(--font-size-4);line-height:1.35;text-align:center}.contact-form-wrap{max-width:860px;margin:48px auto 0}.contact-form{display:grid;grid-gap:32px;gap:32px}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px 40px;gap:24px 40px}.contact-form-field--full{grid-column:1/-1}.contact-form-field{display:grid;grid-gap:8px;gap:8px}.contact-form-label{color:var(--text);font-family:var(--font-jp);font-size:var(--font-size-5);line-height:1;letter-spacing:.02em}.contact-form-required{margin-left:4px;color:var(--orange)}.contact-form-input,.contact-form-select,.contact-form-textarea{width:100%;padding:12px 16px;border:none;border-radius:6px;background:#fff;color:var(--text);font-family:var(--font-jp);font-size:var(--font-size-5);line-height:1.5;outline:none;transition:border-color .12s ease,box-shadow .12s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none}.contact-form-input:focus,.contact-form-select:focus,.contact-form-textarea:focus{box-shadow:0 0 0 3px rgba(116,132,193,.2)}.contact-form-input::placeholder,.contact-form-textarea::placeholder{color:var(--muted);opacity:.7}.contact-form-input--error{box-shadow:0 0 0 1.5px var(--orange)}.contact-form-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235f5a51' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-color:#fff;padding-right:40px}.contact-form-textarea{resize:vertical;min-height:140px}.contact-form-error{line-height:1}.contact-form-error,.contact-form-server-error{margin:0;color:var(--orange);font-family:var(--font-jp);font-size:var(--font-size-5)}.contact-form-server-error{padding:14px 18px;border-radius:6px;background:rgba(194,69,28,.08);text-align:center}.contact-form-server-error--hidden{display:none}.contact-form-footer{display:flex;align-items:center;justify-content:space-between;gap:24px}.contact-form-privacy{margin:0;color:var(--text);font-family:var(--font-jp);font-size:var(--font-size-5);line-height:1.5}.contact-form-submit{flex-shrink:0;padding:14px 48px;border:none;border-radius:999px;background:var(--ink);color:var(--pill-color);font-family:var(--font-jp);font-size:var(--font-size-4);line-height:1;letter-spacing:.04em;cursor:pointer;transition:background-color .14s ease}.contact-form-submit:focus-visible,.contact-form-submit:hover{background:var(--orange)}.contact-form-submit:disabled{background:var(--muted);cursor:not-allowed}.contact-form-success{display:grid;place-items:center;grid-gap:20px;gap:20px;min-height:280px;padding:48px 32px;border:2px solid var(--orange);border-radius:12px;text-align:center}.contact-form-success-title{margin:0;color:var(--text);font-family:var(--font-jp);font-size:var(--font-size-2);font-weight:400;line-height:1}.contact-form-success-body{margin:0;color:var(--text);font-family:var(--font-jp);font-size:var(--font-size-4);line-height:1.8}.contact-form-reset{padding:10px 28px;border:1.5px solid var(--ink);border-radius:999px;background:var(--ink);color:#ffffff;font-family:var(--font-jp);font-size:var(--font-size-5);cursor:pointer;transition:background-color .14s ease,color .14s ease}.contact-form-reset:hover{background:var(--orange);border-color:var(--orange);color:#ffffff}.contact-modal-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.contact-modal{display:grid;grid-gap:28px;gap:28px;width:min(100%,600px);max-height:90vh;overflow-y:auto;padding:40px 48px;border-radius:12px;background:#fff;box-shadow:0 8px 40px rgba(66,33,11,.18)}.contact-modal-title{margin:0;color:var(--text);font-family:var(--font-jp);font-size:var(--font-size-2);font-weight:400;text-align:center;line-height:1}.contact-modal-body{display:grid;grid-gap:0;gap:0;margin:0;border-top:1.5px solid rgba(66,33,11,.15)}.contact-modal-row{display:grid;grid-template-columns:160px 1fr;grid-gap:16px;gap:16px;padding:14px 4px;border-bottom:1.5px solid rgba(66,33,11,.15)}.contact-modal-label{color:#000}.contact-modal-label,.contact-modal-value{font-family:var(--font-jp);font-size:var(--font-size-5);line-height:1.6}.contact-modal-value{margin:0;color:var(--text);white-space:pre-wrap;word-break:break-all}.contact-modal-actions{display:flex;justify-content:center;gap:16px}.contact-modal-back{padding:12px 36px;border:1.5px solid var(--ink);border-radius:999px;background:#fff;color:#000;font-family:var(--font-jp);font-size:var(--font-size-5);cursor:pointer;transition:background-color .14s ease,color .14s ease}.contact-modal-back:hover:not(:disabled){background:var(--ink);color:#f8ebd3}.contact-modal-back:disabled{opacity:.5;cursor:not-allowed}.contact-modal-submit{padding:12px 48px;border:none;border-radius:999px;background:var(--orange);color:var(--pill-color);font-family:var(--font-jp);font-size:var(--font-size-5);cursor:pointer;transition:opacity .14s ease}.contact-modal-submit:hover:not(:disabled){opacity:.85}.contact-modal-submit:disabled{background:var(--muted);cursor:not-allowed}.contact-form-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.site-footer{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:24px;gap:24px;width:100%;min-height:88px;padding:14px 0 14px var(--footer-inline-space);background:var(--accent)}.site-footer__copy{margin:0;color:var(--text);font-family:var(--font-en);font-size:var(--font-size-5);letter-spacing:.01em}.site-footer__logo{display:flex;align-items:center;width:120px;margin-right:var(--footer-inline-space)}.site-footer__logo-image{width:100%;height:auto}@media (max-width:1024px){:root{--page-inline-space:20px}.contact-panel,.hero,.project-sample-layout,.project-sample-visuals{grid-template-columns:1fr}.concept-features{gap:16px}.hero{min-height:auto;padding-bottom:0}.pricing-base-layout,.pricing-categories{grid-template-columns:1fr}.pricing-base-layout{gap:20px;padding:0}.pricing-base-copy{order:1}.pricing-base-visual{order:2}.pricing-base-image{width:100%}.pricing-row{gap:10px}.project-visual-main,.project-visual-sub{aspect-ratio:1.5/1}.contact-circle{justify-self:start;width:min(56vw,360px)}.site-header{height:74px;padding:12px 20px}.hero-logo{top:26px;left:16px}.site-header__logo{width:210px;min-height:34px}.site-header__nav{gap:22px}.site-header__link{font-size:.96rem}}@media (max-width:500px){.pricing-base-pill{flex-direction:column;gap:4px;text-align:center}.pricing-price-yen{display:block}}@media (max-width:720px){:root{--page-inline-space:16px}.project-sample-copy{order:2}.project-sample-visuals{order:1}.plan-heading:after,.section-heading:after{height:4px}.concept-item,.faq-item{border-bottom-width:1.5px}.project-sample-divider{height:1.5px}.pricing-table{border-top-width:1.5px}.pricing-row{border-bottom-width:1.5px}main{gap:56px}.section{gap:12px;padding-top:8px}.section-content{margin-top:16px}.contact-form-wrap,.pricing-board{margin-top:0}.pricing-base-pill,.pricing-card-header{margin-bottom:8px}.pricing-card-note{margin-top:-8px;font-size:.6rem}.pricing-main-card{padding:28px 20px}.pricing-options-card{padding:20px}.pricing-card-body{margin-top:20px;gap:4px}.pricing-plus{margin-top:16px;margin-bottom:16px}.faq-item{padding:24px 0}.concept-item{padding:20px 0}.guide-step-row{grid-template-columns:var(--guide-timeline-w) 1fr;grid-template-rows:auto 1fr}.guide-step-timeline{padding-top:12px}.guide-step-row:not(:last-child):after{top:17px;bottom:-17px}.guide-step-number{grid-column:2;grid-row:1;padding-top:8px}.guide-step-body{grid-column:2;grid-row:2;padding-top:2px}.guide-timeline-note{top:calc(100% + 16px + 28px);left:var(--guide-center-x);transform:translateX(-50%)}.page-shell{padding:98px 0 24px}.hero{margin-top:-98px}.contact-cta{min-height:104px;padding:18px 20px;font-size:clamp(1.5rem,8vw,2.4rem)}.contact-note{margin-left:0;font-size:1rem}.contact-circle{width:min(72vw,280px)}.pricing-card-body{grid-template-columns:1fr}.pricing-tab{padding:8px 16px;font-size:var(--font-size-4)}.pricing-tab,.pricing-tab--active{border-width:1.5px}.pricing-main-card,.pricing-options-card{border-width:3px}.pricing-plus{width:24px;height:24px;margin:24px auto;display:block}.contact-form-grid{grid-template-columns:1fr;gap:20px}.contact-form-footer{flex-direction:column;align-items:stretch;gap:16px}.contact-form-submit{width:100%;padding:16px}.contact-modal{padding:28px 24px;gap:20px}.site-header{height:64px;padding:10px 14px}.hero-logo{top:22px;left:16px}.site-header__logo{width:148px;min-height:28px}.site-header__logo-image:first-child{margin-left:0;width:100%}.site-header__logo-image:last-child{display:none}.site-header__nav{gap:12px}.site-header__link{font-size:var(--font-size-5)}.site-header__link:before{top:-10px;height:2px}.site-footer{min-height:120px;padding:20px 18px}.site-footer__logo{width:80px}}@media (max-width:540px){:root{--page-inline-space:14px}.plan-heading:after,.section-heading:after{height:2px}.concept-features{grid-template-columns:1fr;justify-items:center}.concept-feature-card{width:min(320px,100%)}.page-shell{padding:78px 0 20px}main{gap:22px}.section{gap:14px;scroll-margin-top:88px;padding-bottom:50px}.site-header{height:54px;padding:8px 18px}.hero-logo{top:15px;left:14px}.site-header__logo{width:120px;min-height:20px}.site-header__nav{gap:6px}.site-header__link{min-height:20px;padding:0 2px;font-size:.6rem;letter-spacing:0}.site-header__cta{padding:7px 12px;font-size:.6rem}.faq-badge{min-width:0;padding:7px 14px;font-size:.6rem}.concept-item-badge{min-width:0;padding:7px 14px;font-size:.75rem}.concept-item{column-gap:16px}.concept-item-body{line-height:1.5}.site-header__menu-logo-link img{width:90px!important;height:auto!important}.site-header__logo-img{width:70px}.site-header__hamburger{width:48px;height:48px;gap:5px;margin-right:-12px}.site-header__bar{width:24px}.pricing-tab{padding:8px 10px;font-size:.8rem;letter-spacing:0}.pricing-card-header{flex-direction:column;align-items:center;gap:6px}.pricing-card-note--ghost{display:none}.site-header__link:before{top:-5px;height:1px}.hero{margin-top:-78px;margin-bottom:44px}.hero-visual{margin-right:calc(50% - 50vw);margin-left:calc(50% - 50vw)}.hero-image-desktop{display:none}.hero-image-mobile{display:block}.hero-copy{top:auto;left:auto;right:0;bottom:200px;transform:none;text-align:right}.hero-copy-body{font-weight:700}.hero-banner{bottom:115px}.hero-anim-pc{display:none}.hero-anim-mobile{display:block}.plan-heading{gap:8px;align-items:baseline}.plan-heading:after,.section-heading:after{height:4px}.plan-caption{font-size:var(--font-size-4);letter-spacing:.12em}.pricing-board{padding:0 0 10px;margin-top:0}.pricing-base-layout{gap:12px}.pricing-base-visual{width:100%;margin-left:0;margin-right:0}.pricing-base-label-text{font-size:var(--font-size-4)}.pricing-base-pill{width:min(100%,320px);min-height:54px;margin-top:16px;padding:0 18px}.pricing-price-space{display:none}.pricing-card-note{max-width:min(100%,320px);margin-top:-8px;font-size:.6rem}.pricing-tax-note{font-size:.6rem}.pricing-base-pill-text{display:block;width:100%;text-align:center;font-size:var(--font-size-3);line-height:1.4}.pricing-base-note{margin-top:18px;font-size:var(--font-size-5);line-height:1.7}.pricing-plus{margin:28px auto}.pricing-plus svg line{stroke-width:13}.pricing-categories{gap:18px;padding:0 4px 8px}.pricing-chip{padding:9px 20px;font-size:var(--font-size-4)}.pricing-category-items{margin-top:14px;font-size:var(--font-size-5);line-height:1.6}.pricing-category-priced{margin-bottom:10px}.pricing-consult-card{padding:14px 8px}.pricing-category-note{margin-top:10px;font-size:var(--font-size-4)}.pricing-row{gap:6px;padding:14px 0}.pricing-name,.pricing-value{font-size:var(--font-size-5)}.project-samples{gap:16px;margin-bottom:16px}.project-sample-item{gap:16px}.project-sample-item+.project-sample-item{padding-top:0}.project-sample-divider{height:1.5px;margin-bottom:8px}.project-sample-layout{gap:8px;padding:0}.project-sample-copy{order:2;gap:12px}.project-copy-group{gap:8px}.project-pill{margin-bottom:2px;padding:7px 12px;font-size:.6rem}.project-sample-title{font-size:var(--font-size-4);font-weight:600;margin-left:.5em;line-height:1.25}.project-sample-list li{font-size:var(--font-size-5);line-height:1.6}.project-sample-visuals{order:1;width:100%;margin-left:0;margin-right:0;margin-bottom:8px}.project-visual-main,.project-visual-sub{aspect-ratio:16/9;background:transparent}.project-sample-image{object-fit:contain}.contact-panel{gap:18px;min-height:auto;padding:8px 0 0}.contact-copy{gap:14px;width:100%}.contact-cta{width:min(100%,320px);min-height:54px;padding:14px 18px}.contact-cta-label{font-size:var(--font-size-2);line-height:1.2}.contact-note{width:min(100%,320px);font-size:var(--font-size-4);line-height:1.5}.site-footer{min-height:96px;padding:16px 18px}.site-footer__logo{width:80px;margin-right:0}.site-footer__copy{font-size:.5rem}.contact-form-wrap{margin-top:0}.contact-form{gap:20px}.contact-form-grid{gap:16px}.contact-form-input,.contact-form-select,.contact-form-textarea{padding:10px 12px;font-size:var(--font-size-5)}.contact-form-textarea{min-height:110px}.contact-modal-overlay{padding:12px;align-items:flex-end}.contact-modal{width:100%;max-height:92vh;padding:24px 18px;border-radius:16px 16px 0 0;gap:18px}.contact-modal-title{font-size:var(--font-size-3)}.contact-modal-row{grid-template-columns:1fr;gap:4px;padding:12px 4px}.contact-modal-label{font-size:var(--font-size-5)}.contact-modal-actions{flex-direction:column-reverse;gap:10px}.contact-modal-back,.contact-modal-submit{width:100%;padding:14px;text-align:center}.contact-form-success{min-height:200px;padding:32px 20px}.guide-step-row{grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:16px;row-gap:12px;padding:20px 0;border-bottom:1.5px solid var(--accent)}.guide-step-row:last-child{border-bottom:none;padding-bottom:0}.guide-step-row:not(:last-child):after,.guide-step-timeline{display:none}.guide-step-number{grid-column:1;grid-row:1;align-self:center;padding-top:0;font-size:clamp(1.4rem,7vw,2.8rem);font-weight:700;line-height:1}.guide-step-body{grid-column:2;grid-row:1/3;padding-top:0;align-self:center}.guide-step-list li{line-height:1.5;padding-left:1em;text-indent:-1em}}@keyframes dissolve-fade-in{0%{opacity:0}to{opacity:1}}