:root{--black:#111;--dark:#181818;--gray:#707070;--light:#f4f4f1;--line:#d5d5d0;--accent:#b9d43a;--white:#fff;--max:1180px;--narrow:880px}html{font-size:62.5%;scroll-padding-top:70px}body{font-family:"Helvetica Neue","Noto Sans JP",Arial,sans-serif;color:var(--black);background:#fff;font-size:1.6rem;line-height:1.8;letter-spacing:.035em}body *{border-radius:0!important}.pc-only{display:block}.inner{width:calc(100% - 80px);max-width:var(--max);margin:0 auto}.inner--narrow{max-width:var(--narrow)}.section{padding:140px 0}.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;height:70px;background:rgba(17,17,17,.92);color:#fff;backdrop-filter:blur(10px)}.site-header__inner{height:100%;width:calc(100% - 48px);max-width:1400px;margin:auto;display:flex;align-items:center;justify-content:space-between}.site-header__logo{font-size:1.2rem;letter-spacing:.18em;font-weight:700}.site-header__link{font-size:1.3rem;border-bottom:1px solid #fff}.hero{position:relative;min-height:820px;height:100svh;overflow:hidden;background:#111;color:#fff;display:grid;align-items:center;padding-top:70px}.hero__canvas,.hero__grid{position:absolute;inset:0;width:100%;height:100%}.hero__grid{background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to bottom,#000,transparent 95%)}.hero__inner{position:relative;z-index:2;width:calc(100% - 80px);max-width:1180px;margin:auto}.hero__eyebrow,.section-heading__en,.result__eyebrow,.final-cta__en,.contact-complete__en{font-size:1.2rem;letter-spacing:.22em;font-weight:700}.hero__eyebrow{margin-bottom:24px;color:var(--accent)}.hero__title{font-size:clamp(4.2rem,6vw,8.2rem);line-height:1.25;letter-spacing:-.02em;font-weight:700}.hero__lead{margin-top:28px;font-size:1.8rem;color:#d7d7d7}.button{min-height:58px;padding:0 28px;border:1px solid var(--black);display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:transparent;color:var(--black);font-weight:600;transition:.25s}.button:hover{opacity:.78}.button--primary{background:var(--accent);border-color:var(--accent)}.button--secondary{background:#fff}.button--light{background:#fff;border-color:#fff}.button__arrow{position:relative;width:28px;height:1px;background:currentColor}.button__arrow::after{content:"";position:absolute;right:0;top:-4px;width:8px;height:8px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}.hero__cta{margin-top:44px}.hero__points{display:flex;flex-wrap:wrap;gap:14px 30px;margin-top:38px;font-size:1.3rem;color:#d7d7d7}.hero__points li{display:flex;align-items:center;gap:10px}.line-icon{width:16px;height:16px;border:1px solid var(--accent);position:relative}.line-icon::after{content:"";position:absolute;width:7px;height:4px;border-left:1px solid var(--accent);border-bottom:1px solid var(--accent);transform:rotate(-45deg);left:4px;top:4px}.section-heading{margin-bottom:58px}.section-heading--center{text-align:center}.section-heading__en{color:#747474;margin-bottom:16px}.section-heading h2,.profile__content h2,.contact__heading h2{font-size:clamp(3.2rem,5vw,5.6rem);line-height:1.35;font-weight:700;letter-spacing:-.025em}.section-heading>p:last-child,.contact__heading>p:last-child{margin-top:18px;color:var(--gray)}.trust{background:var(--light)}.trust__layout{display:grid;grid-template-columns:1.15fr 1fr;gap:100px}.trust__lead{font-size:2.1rem;line-height:2}.trust__list>div{display:grid;grid-template-columns:64px 1fr;padding:22px 0;border-top:1px solid #bbb}.trust__list>div:last-child{border-bottom:1px solid #bbb}.trust__list dt{font-size:1.2rem;color:#777}.trust__list dd{font-size:1.8rem}.simulator{background:#fff}.simulator-box{border:1px solid var(--line);padding:48px;background:#fff;box-shadow:0 18px 60px rgba(0,0,0,.06)}.simulator-progress__text{display:flex;justify-content:space-between;font-size:1.2rem;font-weight:700;letter-spacing:.12em}.simulator-progress__bar{height:3px;background:#e4e4e1;margin-top:14px}.simulator-progress__bar span{display:block;height:100%;width:16.67%;background:var(--black);transition:width .3s}.question{padding:54px 0 30px}.question__number{font-size:1.2rem;color:#777;letter-spacing:.15em;margin-bottom:12px}.question h3{font-size:2.8rem;line-height:1.5;font-weight:500}.question__hint{font-size:1.4rem;color:#777;margin-top:8px}.options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:36px}.option{position:relative}.option input{position:absolute;opacity:0;pointer-events:none}.option label{min-height:64px;border:1px solid #bcbcbc;padding:16px 18px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:.2s;background:#fff}.option label::before{content:"";flex:0 0 18px;width:18px;height:18px;border:1px solid #777}.option input[type=radio]+label::before{border-radius:50%!important}.option input:checked+label{border-color:var(--black);background:#f1f1ed;box-shadow:inset 4px 0 0 var(--accent)}.option input:checked+label::before{background:var(--black);box-shadow:inset 0 0 0 4px #fff}.option input:focus-visible+label{outline:2px solid #3759c7;outline-offset:2px}.simulator-actions{display:flex;justify-content:space-between;gap:16px;margin-top:18px}.simulator-actions .button{min-width:150px}.form-error,.field-error{min-height:1.6em;color:#b00020;font-size:1.3rem}.result{margin-top:60px;border-top:8px solid var(--black);padding-top:58px;animation:resultIn .45s ease both}@keyframes resultIn{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0)}}.result__header{text-align:center;margin-bottom:38px}.result__header h2{font-size:4.2rem;font-weight:500}.result__price-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--black)}.price-panel{padding:38px;text-align:center}.price-panel+ .price-panel{border-left:1px solid var(--black)}.price-panel--campaign{background:var(--black);color:#fff}.price-panel__campaign-name{font-size:1.2rem;letter-spacing:.08em;color:var(--accent);margin-bottom:8px}.price-panel__label{font-weight:700}.price-panel__value{font-size:clamp(2.7rem,5vw,5.2rem);line-height:1.25;font-weight:700;margin-top:8px;letter-spacing:-.04em}.price-panel:first-child .price-panel__value{text-decoration:line-through;text-decoration-thickness:2px}.price-panel__tax{font-size:1.2rem;color:#777}.price-panel--campaign .price-panel__tax{color:#bbb}.result__detail{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:48px 0;border-bottom:1px solid var(--line)}.result__detail h3,.campaign-reason h3,.contact__summary h3{font-size:1.8rem;margin-bottom:18px}.result__detail li,.campaign-reason li,.contact__summary li{position:relative;padding:8px 0 8px 20px;border-bottom:1px solid #e1e1de}.result__detail li::before,.campaign-reason li::before,.contact__summary li::before{content:"";position:absolute;left:0;top:20px;width:8px;height:1px;background:var(--black)}.result__note{margin-top:24px;font-size:1.3rem;color:#666}.campaign-reason{margin-top:48px;padding:36px;background:var(--light)}.campaign-reason>p{margin-bottom:18px}.campaign-reason .small-text{margin:22px 0 0;font-size:1.3rem;color:#666}.text-button{border:0;border-bottom:1px solid var(--black);background:none;padding:0;margin-top:28px}.contact{margin-top:80px;background:#f5f5f2;padding:54px}.contact__heading{margin-bottom:42px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}.form-field--full{grid-column:1/-1}.form-field label{display:flex;align-items:center;gap:8px;font-weight:700;margin-bottom:8px}.form-field label span{font-size:1rem;background:var(--black);color:#fff;padding:1px 7px}.form-field label .optional{background:#d5d5d0;color:#333}.form-field input,.form-field textarea{width:100%;border:1px solid #aaa;background:#fff;padding:15px;outline:none;appearance:none}.form-field input:focus,.form-field textarea:focus{border-color:var(--black);box-shadow:0 0 0 1px var(--black)}.contact__summary{margin-top:34px;padding:26px;background:#fff;border:1px solid var(--line)}.contact__summary>p{font-size:2rem;font-weight:700;margin-bottom:12px}.privacy-check{display:flex;gap:12px;align-items:flex-start;margin-top:28px;cursor:pointer}.privacy-check input{position:absolute;opacity:0}.privacy-check__box{width:20px;height:20px;border:1px solid #777;background:#fff;position:relative;flex:0 0 20px;margin-top:4px}.privacy-check input:checked+.privacy-check__box{background:var(--black)}.privacy-check input:checked+.privacy-check__box::after{content:"";position:absolute;left:5px;top:3px;width:7px;height:11px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg)}.privacy-check input:focus-visible+.privacy-check__box{outline:2px solid #3759c7;outline-offset:2px}.privacy-check a{text-decoration:underline}.contact__submit{width:100%;margin-top:26px}.contact__submit[disabled]{opacity:.55;cursor:wait}.contact__status{text-align:center;margin-top:12px;font-size:1.4rem}.contact-complete{text-align:center;padding:80px 20px;background:#fff}.contact-complete h3{font-size:2.7rem;margin:12px 0}.hp-field{position:absolute!important;left:-9999px!important}.profile{background:var(--black);color:#fff}.profile__layout{display:grid;grid-template-columns: .85fr 1.15fr;gap:90px;align-items:center}.profile__visual{aspect-ratio:4/5;border:1px solid #555;background:linear-gradient(135deg,#282828,#151515);display:grid;place-items:center;color:#777;font-size:1.2rem;letter-spacing:.15em}.profile__content>p:not(.section-heading__en){color:#ccc;margin-top:22px}.profile__data{margin-top:34px;border-top:1px solid #555}.profile__data>div{display:grid;grid-template-columns:120px 1fr;padding:16px 0;border-bottom:1px solid #555}.profile__data dt{color:#999}.profile__links{display:flex;gap:24px;margin-top:32px}.profile__links a{border-bottom:1px solid #fff;font-size:1.2rem;letter-spacing:.12em}.works__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.work-card__image{aspect-ratio:16/10;background:#e5e5e0;display:grid;place-items:center;font-size:1.2rem;letter-spacing:.15em;color:#777}.work-card__category{margin-top:18px;font-size:1.1rem;color:#777;letter-spacing:.13em}.work-card h3{font-size:2rem;margin-top:6px}.work-card>p:last-child{color:#777;font-size:1.3rem}.flow{background:var(--light)}.flow__list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #aaa}.flow__list li{display:grid;grid-template-columns:56px 1fr;gap:20px;padding:30px 20px;border-bottom:1px solid #aaa}.flow__list li:nth-child(odd){border-right:1px solid #aaa}.flow__list>li>span{font-size:1.2rem;color:#777}.flow__list h3{font-size:2rem}.flow__list p{font-size:1.4rem;color:#666}.faq__list{border-top:1px solid var(--black)}.faq details{border-bottom:1px solid var(--black)}.faq summary{padding:26px 56px 26px 0;font-weight:700;position:relative;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary::before,.faq summary::after{content:"";position:absolute;right:12px;top:50%;width:20px;height:1px;background:var(--black)}.faq summary::after{transform:rotate(90deg);transition:.2s}.faq details[open] summary::after{transform:rotate(0)}.faq details p{padding:0 56px 26px 0;color:#666}.final-cta{padding:130px 0;background:var(--accent);text-align:center}.final-cta h2{font-size:clamp(3.2rem,5vw,5.8rem);line-height:1.4;font-weight:500;margin:20px 0 38px}.footer{background:#111;color:#fff;padding:70px 0 30px}.footer__inner{display:grid;grid-template-columns:1fr auto;gap:50px}.footer__logo{font-size:1.2rem;letter-spacing:.18em;font-weight:700}.footer nav{display:flex;gap:24px;font-size:1.2rem;color:#bbb}.footer__copy{grid-column:1/-1;padding-top:24px;border-top:1px solid #444;font-size:1.1rem;color:#777}
@media(max-width:767px){html{scroll-padding-top:68px}.pc-only{display:none}.inner,.hero__inner{width:calc(100% - 40px)}.section{padding:80px 0}.site-header{height:68px}.site-header__inner{width:calc(100% - 30px)}.site-header__link{font-size:1.1rem}.hero{min-height:720px;padding-top:58px}.hero__grid{background-size:42px 42px}.hero__eyebrow{font-size:1rem;margin-bottom:18px}.hero__title{font-size:4rem}.hero__lead{font-size:1.5rem}.hero__cta{width:100%;margin-top:32px}.hero__points{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:1.15rem}.section-heading{margin-bottom:38px}.section-heading h2,.profile__content h2,.contact__heading h2{font-size:3.4rem}.trust__layout,.profile__layout{grid-template-columns:1fr;gap:42px}.trust__lead{font-size:1.8rem}.simulator-box{padding:24px 18px}.question{padding:40px 0 22px}.question h3{font-size:2.3rem}.options{grid-template-columns:1fr;margin-top:26px}.option label{min-height:58px}.simulator-actions .button{min-width:0;flex:1}.result__header h2{font-size:3.2rem}.result__price-grid,.result__detail{grid-template-columns:1fr}.price-panel+ .price-panel{border-left:0;border-top:1px solid var(--black)}.price-panel{padding:28px 18px}.result__detail{gap:34px}.campaign-reason{padding:24px 18px}.contact{margin-top:60px;padding:34px 18px}.form-grid{grid-template-columns:1fr}.form-field--full{grid-column:auto}.profile__layout{gap:40px}.profile__visual{max-width:420px}.profile__data>div{grid-template-columns:95px 1fr}.works__grid{grid-template-columns:1fr;gap:42px}.flow__list{grid-template-columns:1fr}.flow__list li:nth-child(odd){border-right:0}.final-cta{padding:90px 0}.footer__inner{grid-template-columns:1fr}.footer nav{flex-direction:column;gap:12px}.footer__copy{grid-column:auto}img.img-profile {
  width: 80%;
}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero__canvas{display:none}}

/* PC typography and spacing refinement */
body{font-family:"Noto Sans JP","Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif}
@media (min-width:768px){
  body{font-size:1.5rem;line-height:1.75;letter-spacing:.025em}
  .section{padding:100px 0}
  .inner,.hero__inner{width:calc(100% - 96px)}
  .hero{min-height:680px}
  .hero__eyebrow{margin-bottom:18px}
  .hero__title{font-size:clamp(3.6rem,4vw,5.6rem);line-height:1.6;letter-spacing:0em}
  .hero__lead{margin-top:22px;font-size:1.6rem}
  .hero__cta{margin-top:32px}
  .hero__points{margin-top:28px}
  .section-heading{margin-bottom:42px}
  .section-heading h2,.profile__content h2,.contact__heading h2{font-size:clamp(2.4rem,3.2vw,3.5rem);line-height:1.7}
  .section-heading>p:last-child,.contact__heading>p:last-child{margin-top:14px}
  .trust__layout{gap:72px}
  .trust__lead{font-size:1.8rem;line-height:1.9}
  .trust__list>div{padding:18px 0}
  .trust__list dd{font-size:1.6rem}
  .simulator-box{padding:38px}
  .question{padding:42px 0 24px}
  .question h3{font-size:2.3rem}
  .options{margin-top:28px}
  .option label{min-height:58px;padding:14px 16px}
  .button{min-height:52px;padding:0 24px}
  .result{margin-top:48px;padding-top:46px}
  .result__header{margin-bottom:30px}
  .result__header h2{font-size:3.4rem}
  .price-panel{padding:30px}
  .price-panel__value{font-size:clamp(2.3rem,3.7vw,3rem)}
  .result__detail{gap:48px;padding:38px 0}
  .campaign-reason{margin-top:38px;padding:30px}
  .contact{margin-top:60px;padding:42px}
  .contact__heading{margin-bottom:34px}
  .contact-complete{padding:60px 20px}
  .contact-complete h3{font-size:2.4rem}
  .profile__layout{gap:70px}
  .profile__content>p:not(.section-heading__en){margin-top:18px}
  .profile__data{margin-top:28px}
  .works__grid{gap:18px}
  .work-card h3{font-size:1.8rem}
  .flow__list li{padding:24px 18px}
  .flow__list h3{font-size:1.8rem}
  .faq summary{padding:22px 56px 22px 0}
  .final-cta{padding:96px 0}
  .final-cta h2{font-size:clamp(3rem,3.6vw,3.4rem);margin:16px 0 30px}
  .footer{padding:54px 0 26px}
}

/* ===== Refined visual system / interaction layer ===== */
:root{
  --accent:#c9e43f;
  --ink:#0d0f10;
  --surface:#f3f4ef;
  --surface-2:#e9ebe4;
  --hairline:rgba(13,15,16,.16);
  --shadow:0 24px 70px rgba(13,15,16,.09);
}
body{background:#fbfbf9;color:var(--ink);overflow-x:hidden}
::selection{background:var(--accent);color:var(--ink)}
a,button,label,summary{ -webkit-tap-highlight-color:transparent }
.section{position:relative}
.section::before{content:"";position:absolute;left:max(20px,calc((100% - var(--max))/2));top:0;width:48px;height:1px;background:var(--ink);opacity:.3}
.section-heading{position:relative;padding-left:24px}
.section-heading::before{content:"";position:absolute;left:0;top:.35em;width:1px;height:calc(100% - .7em);background:var(--accent)}
.section-heading--center{padding-left:0}
.section-heading--center::before{display:none}
.section-heading__en,.hero__eyebrow,.result__eyebrow,.final-cta__en{font-family:Arial,sans-serif;text-transform:uppercase}
.site-header{background:rgba(13,15,16,.78);border-bottom:1px solid rgba(255,255,255,.1);transition:background .35s ease,transform .35s ease}
.site-header.is-scrolled{background:rgba(13,15,16,.94)}
.site-header__link{position:relative;border-bottom:0;padding-bottom:4px}
.site-header__link::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--accent);transform:scaleX(.25);transform-origin:left;transition:transform .3s ease}
.site-header__link:hover::after{transform:scaleX(1)}
.hero{isolation:isolate;background:radial-gradient(circle at 80% 25%,rgba(201,228,63,.10),transparent 26%),#0d0f10}
.hero::after{content:"";position:absolute;right:-12vw;bottom:-22vw;width:50vw;height:50vw;border:1px solid rgba(201,228,63,.22);transform:rotate(32deg);pointer-events:none}
.hero__inner::after{content:"WEB / DESIGN / DEVELOPMENT";position:absolute;right:0;bottom:-90px;color:rgba(255,255,255,.16);font:700 1rem/1 Arial,sans-serif;letter-spacing:.38em;writing-mode:vertical-rl}
.hero__title{max-width:900px;}
.hero__title span,.hero__title strong{color:var(--accent)}
.hero__lead{max-width:640px}
.button{position:relative;overflow:hidden;isolation:isolate;transition:color .3s ease,border-color .3s ease,transform .3s ease,background .3s ease}
.button::before{content:"";position:absolute;inset:0;background:var(--ink);transform:translateX(-102%);transition:transform .38s cubic-bezier(.22,1,.36,1);z-index:-1}
.button:hover{opacity:1;color:#fff;transform:translateY(-2px)}
.button:hover::before{transform:translateX(0)}
.button--primary:hover{border-color:#c9e43f}
.button--light::before{background:var(--accent)}
.button--light:hover{color:var(--ink);border-color:#fff}
.trust{background:linear-gradient(135deg,#f3f4ef 0%,#eceee7 100%)}
.trust__layout{align-items:start}
.trust__lead{position:sticky;top:120px}
.trust__list>div{transition:padding-left .3s ease,background .3s ease}
.trust__list>div:hover{padding-left:14px;background:rgba(255,255,255,.45)}
.simulator{background:linear-gradient(#fbfbf9,#f1f3ec)}
.simulator-box{position:relative;border-color:rgba(13,15,16,.2);box-shadow:var(--shadow);overflow:hidden}
.simulator-box::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--accent) 0 20%,var(--ink) 20% 100%)}
.simulator-progress__bar{overflow:hidden}
.simulator-progress__bar span{position:relative;background:var(--ink)}
.simulator-progress__bar span::after{content:"";position:absolute;right:0;top:0;width:34px;height:100%;background:var(--accent);box-shadow:0 0 18px rgba(201,228,63,.65)}
.option label{position:relative;overflow:hidden;transition:border-color .22s ease,background .22s ease,transform .22s ease,box-shadow .22s ease}
.option label::after{content:"";position:absolute;right:-22px;bottom:-22px;width:44px;height:44px;border:1px solid rgba(13,15,16,.12);transform:rotate(45deg);transition:transform .25s ease,border-color .25s ease}
.option label:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 10px 24px rgba(13,15,16,.07)}
.option label:hover::after{transform:rotate(45deg) scale(1.18);border-color:var(--accent)}
.option input:checked+label{background:#eef2dc;box-shadow:inset 4px 0 0 var(--accent),0 10px 24px rgba(13,15,16,.06)}
.result{position:relative}
.result::before{content:"ESTIMATE";position:absolute;right:0;top:20px;font:700 clamp(4rem,9vw,10rem)/1 Arial,sans-serif;letter-spacing:-.06em;color:rgba(13,15,16,.035);pointer-events:none}
.result__price-grid{box-shadow:0 20px 50px rgba(13,15,16,.08)}
.price-panel--campaign{position:relative;overflow:hidden}
.price-panel--campaign::after{content:"50% OFF";position:absolute;right:-38px;top:22px;width:150px;padding:7px 0;background:var(--accent);color:var(--ink);font:700 1rem/1 Arial,sans-serif;letter-spacing:.12em;transform:rotate(45deg)}
.contact{position:relative;border:1px solid rgba(13,15,16,.14);box-shadow:0 24px 70px rgba(13,15,16,.07)}
.contact::before{content:"";position:absolute;left:-1px;top:-1px;width:90px;height:90px;border-top:1px solid var(--accent);border-left:1px solid var(--accent);pointer-events:none}
.form-field input,.form-field textarea{transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.form-field input:hover,.form-field textarea:hover{border-color:#555}
.profile{position:relative;background:linear-gradient(120deg,#0d0f10 0%,#171a1b 100%);overflow:hidden}
.profile::after{content:"";position:absolute;right:-12%;top:12%;width:38vw;height:38vw;border:1px solid rgba(201,228,63,.16);transform:rotate(22deg)}
.profile__visual{position:relative;z-index:1;background:linear-gradient(145deg,#252829,#111);box-shadow:24px 24px 0 rgba(201,228,63,.12)}
.profile__content{position:relative;z-index:1}
.work-card{position:relative;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.work-card:hover{transform:translateY(-8px)}
.work-card__image{position:relative;overflow:hidden;background:linear-gradient(135deg,#e4e6de,#f7f7f3)}
.work-card__image::before{content:"";position:absolute;inset:-30%;background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.8) 50%,transparent 62%);transform:translateX(-70%) rotate(8deg);transition:transform .8s ease}
.work-card:hover .work-card__image::before{transform:translateX(70%) rotate(8deg)}
.flow__list li{position:relative;overflow:hidden;transition:background .3s ease}
.flow__list li::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--accent);transition:width .45s cubic-bezier(.22,1,.36,1)}
.flow__list li:hover{background:rgba(255,255,255,.55)}
.flow__list li:hover::after{width:100%}
.faq details{transition:background .25s ease}
.faq details:hover,.faq details[open]{background:#f2f4ed}
.final-cta{position:relative;overflow:hidden;background:var(--accent)}
.final-cta::before,.final-cta::after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(13,15,16,.18);transform:rotate(45deg)}
.final-cta::before{left:-280px;top:-250px}.final-cta::after{right:-280px;bottom:-250px}
.footer{border-top:1px solid rgba(255,255,255,.08)}

/* Reveal motion: applied by JS, content remains visible without JS */
.js-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.js-reveal.is-visible{opacity:1;transform:none}
.js-reveal[data-delay="1"]{transition-delay:.08s}.js-reveal[data-delay="2"]{transition-delay:.16s}.js-reveal[data-delay="3"]{transition-delay:.24s}

@media (min-width:768px){
  .hero__title{font-size:clamp(3.8rem,4.2vw,5rem)}
  .section-heading h2,.profile__content h2,.contact__heading h2{font-size:clamp(2.4rem,3vw,3.4rem)}
  .works__grid{gap:28px}
}

@media (max-width:767px){
  body{font-size:1.6rem;line-height:1.75;letter-spacing:.02em}
  .section{padding:72px 0}
  .section::before{left:20px;width:32px}
  .section-heading{padding-left:16px;margin-bottom:34px}
  .section-heading__en{font-size:1rem;margin-bottom:10px;letter-spacing:.18em}
  .section-heading h2,.profile__content h2,.contact__heading h2{font-size:clamp(2.7rem,7vw,3.4rem);line-height:1.38}
  .hero{min-height:680px;height:auto;padding:118px 0 72px}
  .hero::after{right:-42vw;bottom:-20vw;width:95vw;height:95vw}
  .hero__inner::after{display:none}
  .hero__title{font-size:clamp(2.5rem,9.5vw,2.8rem);line-height:1.52;letter-spacing:0em}
  .hero__lead{font-size:1.5rem;line-height:1.8;margin-top:22px}
  .hero__points{grid-template-columns:1fr;gap:10px;margin-top:28px;font-size:1.3rem}
  .button{min-height:54px;padding:0 18px;font-size:1.4rem}
  .trust__lead{position:static;font-size:1.7rem;line-height:1.9}
  .trust__list dd{font-size:1.55rem}
  .simulator-box{padding:24px 16px;box-shadow:0 18px 45px rgba(13,15,16,.08)}
  .question{padding:34px 0 18px}
  .question h3{font-size:2.1rem;line-height:1.55}
  .question__hint{font-size:1.3rem}
  .options{gap:10px;margin-top:22px}
  .option label{min-height:56px;padding:14px 13px;font-size:1.45rem;line-height:1.55}
  .option label:hover{transform:none;box-shadow:none}
  .simulator-actions{position:sticky;bottom:8px;z-index:8;padding:8px;background:rgba(251,251,249,.94);backdrop-filter:blur(8px);margin-inline:-8px}
  .result{margin-top:44px;padding-top:42px;border-top-width:5px}
  .result::before{top:22px;font-size:5rem}
  .result__header h2{font-size:2.8rem;line-height:1.45}
  .price-panel__value{font-size:clamp(2.8rem,7,5vw,4rem)}
  .price-panel--campaign::after{right:-42px;top:19px}
  .result__detail{padding:34px 0}
  .campaign-reason{margin-top:34px}
  .contact{padding:34px 16px;margin-top:52px;box-shadow:none}
  .contact__summary>p{font-size:1.8rem}
  .form-field input,.form-field textarea{font-size:1.6rem;min-height:52px;padding:14px}
  .profile__visual{box-shadow:12px 12px 0 rgba(201,228,63,.12)}
  .profile__content>p:not(.section-heading__en){font-size:1.5rem}
  .work-card:hover{transform:none}
  .flow__list li{grid-template-columns:42px 1fr;padding:24px 10px}
  .flow__list h3{font-size:1.8rem}
  .flow__list p{font-size:1.4rem;line-height:1.75}
  .faq summary{padding:22px 40px 22px 0;font-size:1.55rem;line-height:1.6}
  .faq details p{padding:0 8px 22px 0;font-size:1.45rem}
  .final-cta{padding:78px 0}
  .final-cta h2{font-size:2.4rem;line-height:1.5}
  .footer{padding-top:50px}
  .js-reveal{transform:translateY(18px)}
}
.final-cta h2 {
  font-weight: 700;
}

.site-header__inner .button.hero__cta {
  margin: 0px!important;
  width: 230px;

}
.contact-complete {
  text-align: center;
  padding: 60px 20px;
  background: #fff;
  height: auto;
  min-height: auto !important;
}
