.hero{height:90vh;min-height:560px;margin-top:var(--header-h);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}#hero-canvas{z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero__inner{z-index:1;text-align:center;padding:0 24px;position:relative}.hero__h1{font-weight:400}.hero__line{letter-spacing:normal;color:var(--ink-2);font-size:8.6vw;font-weight:900;line-height:1.1;display:block}.hero__line.is-green{color:var(--green)}.cat{border-bottom:1px solid var(--green);align-items:baseline;gap:22px;margin-top:70px;padding-bottom:14px;display:flex}.cat .en{color:var(--green);letter-spacing:1px;font-size:24px;font-weight:700;line-height:1.3}.cat .ja{color:var(--muted);font-size:18px;font-weight:500;line-height:1.3}.svc{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:60px;padding:56px 24px;display:grid}.svc:last-of-type{border-bottom:none}.svc__name{font-size:40px;font-weight:900;line-height:1.5}.svc__text{color:var(--ink-2);word-break:auto-phrase;margin-top:18px;font-size:16px;font-weight:500;line-height:1.7}.svc__fig{justify-content:center;align-items:center;display:flex}.svc__fig img{width:var(--lw);max-width:100%;height:auto}.btn{border:1px solid var(--green);background:var(--white);width:284px;height:53px;color:var(--green);justify-content:center;align-items:center;margin-top:28px;font-size:18px;font-weight:700;line-height:19px;text-decoration:none;transition:background .18s,color .18s;display:inline-flex}.btn:hover{background:var(--green);color:#fff}.btn.is-disabled{cursor:default;pointer-events:none}.marquee-band{align-items:center;height:110px;display:flex;position:relative;overflow:hidden}#marqueeCanvas{z-index:0;width:100%;height:100%;position:absolute;inset:0}.marquee-track{z-index:1;white-space:nowrap;align-items:center;animation:40s linear infinite marqueeScroll;display:flex;position:relative}.marquee-track:hover{animation-play-state:paused}.marquee-item{padding:0 6px;font-size:20.6px;font-weight:900}.marquee-item em{color:var(--green);font-style:italic}.marquee-dot{background:var(--green);border-radius:50%;flex:none;width:7px;height:7px;margin:0 20px}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.about__body{grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);align-items:start;gap:60px;margin-top:80px;display:grid}.about__tag{color:var(--ink-2);font-size:40px;font-weight:700;line-height:1.3}.about__tag .is-green{color:var(--green)}.about__lead{color:var(--ink-2);margin-top:26px;font-size:15px;line-height:2}.about__table{border-collapse:collapse;width:100%}.about__table th,.about__table td{text-align:left;letter-spacing:1px;border-bottom:1px solid var(--line);vertical-align:top;padding:22px 0;font-size:14px;font-weight:500;line-height:25px}.about__table th{width:170px;padding-left:44px;font-weight:500;line-height:19px}.about__table tr:first-child th,.about__table tr:first-child td{border-top:1px solid var(--line)}.contact{background:var(--bg-soft);padding:120px 0}.contact__grid{grid-template-columns:306px minmax(0,1fr);align-items:start;display:grid}.contact__card{background:var(--white);padding:56px 40px 64px}.contact__title{text-align:center;font-size:26px;font-weight:700}.contact__lead{color:var(--ink-2);word-break:auto-phrase;margin-top:22px;font-size:15px;line-height:1.9}.form{background:var(--white);border:1px solid #efefef;border-radius:12px;width:min(606px,100%);margin:34px auto 0;padding:34px 30px 36px;box-shadow:0 2px 14px #0000000d}.form__section{letter-spacing:.04em;border-bottom:1px solid var(--line);align-items:baseline;gap:2px;margin-bottom:22px;padding-bottom:10px;font-size:13px;font-weight:700;display:flex}.form__section+.form__section{margin-top:30px}.form__section .en{color:var(--green)}.form__row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.field{flex-direction:column;gap:7px;margin-bottom:18px;display:flex}.field>label{align-items:center;gap:5px;font-size:14px;font-weight:500;display:flex}.req{color:var(--green);font-size:11px;font-weight:700}.field input,.field select,.field textarea{width:100%;color:var(--ink);border:1px solid var(--line);background:var(--white);border-radius:6px;padding:12px 14px;font-family:inherit;font-size:15px}.field textarea{resize:vertical;min-height:120px;line-height:1.7}.field input::placeholder,.field textarea::placeholder{color:#aaa}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #39c41726}.field select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23666' stroke-width='1.6'/></svg>");background-position:right 14px center;background-repeat:no-repeat;padding-right:38px}.field.is-error input,.field.is-error select,.field.is-error textarea{border-color:var(--danger)}.err{color:var(--danger);font-size:12.5px;line-height:1.6;display:none}.field.is-error .err{display:block}.privacy{flex-direction:column;gap:10px;margin-top:6px;display:flex}.privacy>a{color:var(--green);cursor:pointer;width:fit-content;font-size:14px;text-decoration:underline}.privacy>a:after{content:"↗";margin-left:3px;text-decoration:none;display:inline-block}.agree{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.agree input{width:17px;height:17px;accent-color:var(--green);flex:none}.privacy.is-error .agree{color:var(--danger)}.privacy #privacyErr{display:none}.privacy.is-error #privacyErr{display:block}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.submit{background:var(--green);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;margin-top:26px;padding:17px 0;font-family:inherit;font-size:17px;font-weight:700;transition:background .15s}.submit:hover:not(:disabled){background:var(--green-dark)}.submit:disabled{opacity:.6;cursor:not-allowed}.form__note{color:var(--muted);text-align:center;margin-top:14px;font-size:13px;line-height:1.7}.form__error{color:var(--danger);background:#fdecec;border-radius:6px;margin-top:16px;padding:13px 15px;font-size:14px;line-height:1.7;display:none}.form__error.is-shown{display:block}@media (width<=900px){.hero{--fv-top:calc(var(--header-h) + 80px);height:66.7svh;min-height:380px;padding-top:var(--fv-top);margin-top:0}#hero-canvas{top:var(--fv-top);height:calc(100% - var(--fv-top))}.hero__line{font-size:12vw}.cat{gap:14px;margin-top:44px}.cat .en{font-size:20px}.cat .ja{font-size:16px}.svc{grid-template-columns:1fr;gap:26px;padding:44px 10px}.svc__fig{order:-1}.svc__fig img{width:calc(var(--lw) * .706)}.svc__name{font-size:24px}.svc__text{margin-top:14px;font-size:13px;line-height:1.7}.btn{width:100%;max-width:338px;font-size:13px}.marquee-band{height:74px}.marquee-item{font-size:16px}.marquee-dot{margin:0 16px}.about__body{grid-template-columns:1fr;gap:34px;margin-top:44px}.about__tag{font-size:32px;line-height:1.1}.about__table th{width:110px;padding-left:0;padding-right:8px;font-size:13px}.about__table td{font-size:13px}.about__table th,.about__table td{padding:16px 0}.contact{padding:72px 0}.contact__grid{grid-template-columns:1fr;gap:28px}.contact__card{padding:40px 20px 48px}.form{padding:26px 20px 30px}.form__row{grid-template-columns:1fr;gap:0}}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}
