:root{--paper:#fff;--soft:#f7f7f5;--ink:#242424;--muted:#656561;--line:#e5e5df;--brand:#ed722e;--brand-dark:#a44818;--night:#222522;--wrap:1120px;--sans:'Noto Sans TC','Inter',sans-serif;--display:'Space Grotesk','Noto Sans TC',sans-serif;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:100px;-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased;}
h1,h2,h3,p,figure{margin:0;}
h1,h2,h3{line-height:1.35;}
a{color:inherit;text-underline-offset:4px;}
button,input,textarea,select{font:inherit;}
button,a,select{-webkit-tap-highlight-color:transparent;}
img{display:block;max-width:100%;height:auto;}
svg{display:block;width:20px;height:20px;flex:none;}
button,select,summary{cursor:pointer;}
button:disabled{cursor:wait;opacity:.65;}
:focus-visible{outline:2px solid var(--brand-dark);outline-offset:5px;}
.wrap{width:min(100%,var(--wrap));margin-inline:auto;padding-inline:28px;}
.section{padding-block:100px;}
.eyebrow{font-size:12px;font-weight:500;letter-spacing:.12em;color:var(--brand-dark);margin-bottom:20px;}
.section-head{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:60px;margin-bottom:50px;}
.section-head h2{font-size:clamp(26px,3.1vw,36px);font-weight:500;letter-spacing:-.03em;text-wrap:balance;}
.section-head p{color:var(--muted);max-width:30em;font-size:15px;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:13px 22px;min-height:48px;border:1px solid transparent;border-radius:7px;font-size:14px;font-weight:600;line-height:1.5;text-decoration:none;transition:background .2s,color .2s;}
.btn-primary{color:#fff;background:var(--ink);}
.btn-primary:hover{background:#454942;}
.btn-line{background:#06c755;border-color:#06c755;color:#fff;box-shadow:0 6px 16px rgba(6,199,85,.14);}
.btn-line:hover{background:#05b34d;border-color:#05b34d;}
.btn-outline{border-color:var(--line);background:transparent;color:var(--ink);}
.btn-outline:hover{background:var(--soft);border-color:#b9b9b2;}
.text-link{display:inline-flex;align-items:center;gap:10px;color:var(--brand-dark);font-size:14px;text-decoration:none;}
.text-link:hover{text-decoration:underline;}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:82px;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none;}
.brand img{width:86px;height:auto;}
.brand-name{font-size:14px;font-weight:700;white-space:nowrap;}
.nav{display:flex;gap:28px;align-items:center;margin-left:auto;}
.nav a{text-decoration:none;font-size:13px;white-space:nowrap;color:var(--muted);}
.nav a:hover{color:var(--brand-dark);}
.header-actions{display:flex;align-items:center;gap:18px;}
.language-control{display:flex;align-items:center;gap:5px;color:var(--muted);}
.language-control svg{width:16px;height:16px;}
.language-control select{max-width:115px;min-height:44px;padding:8px 2px;border:0;background:transparent;color:var(--ink);font-size:12px;}
.header-contact{min-height:42px;padding:10px 16px;font-size:12px;white-space:nowrap;}
.nav-toggle{display:none;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);background:transparent;border-radius:6px;flex:none;}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{display:block;width:16px;height:1.5px;background:var(--ink);position:relative;}
.nav-toggle span::before,.nav-toggle span::after{content:'';position:absolute;left:0;}
.nav-toggle span::before{top:-5px;}.nav-toggle span::after{top:5px;}
.nav-toggle[aria-expanded='true'] span{background:transparent;}
.nav-toggle[aria-expanded='true'] span::before{top:0;transform:rotate(45deg);}
.nav-toggle[aria-expanded='true'] span::after{top:0;transform:rotate(-45deg);}
.hero{padding-block:78px 94px;}
.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:68px;align-items:center;}
.hero h1{font-family:var(--display);font-size:clamp(34px,4.5vw,52px);font-weight:600;line-height:1.3;letter-spacing:-.045em;text-wrap:balance;}
.hero-slogan{margin-top:18px;color:var(--brand-dark);font-family:var(--display);font-size:20px;font-weight:700;}
.hero-lead{color:var(--muted);font-size:15px;line-height:1.95;max-width:30em;margin-top:24px;}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;}
.hero-download{margin-top:22px;font-size:12px;color:var(--muted);}
.hero-download svg{width:15px;height:15px;}
.hero-visual{min-width:0;}
.hero-visual video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#f7f8fa;border-radius:10px;}
.video-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:14px;font-size:11px;color:var(--muted);}
.video-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.video-actions button{font-size:11px;border:1px solid var(--line);border-radius:4px;background:#fff;padding:6px 10px;min-height:34px;color:var(--ink);}
.video-actions a{text-decoration:none;}.video-actions a:hover{text-decoration:underline;}
#services{background:var(--soft);}
.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:68px;row-gap:0;}
.service{padding:30px 0 34px;border-top:1px solid #dcded5;min-width:0;}
.service-heading{display:flex;align-items:baseline;gap:18px;margin-bottom:14px;}
.service-number{font-family:var(--display);font-size:12px;color:var(--brand-dark);}
.service h3{font-size:21px;font-weight:500;letter-spacing:-.02em;}
.service-description{font-size:15px;color:var(--muted);margin-left:35px;max-width:30em;}
.service details{margin:16px 0 0 35px;font-size:13px;}
.service summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;color:var(--muted);width:100%;min-height:34px;}
.service summary::-webkit-details-marker{display:none;}
.service summary::after{content:'+';font-size:18px;font-weight:400;color:var(--brand-dark);}
.service details[open] summary::after{content:'−';}
.service details p{padding:10px 0;color:var(--muted);line-height:1.9;}
.service-note{margin-top:24px;display:flex;justify-content:space-between;align-items:center;gap:22px;padding-top:28px;border-top:1px solid var(--line);font-size:14px;color:var(--muted);}
.process{background:var(--night);color:#fff;}
.process .eyebrow{text-align:center;}
.process .section-head{display:block;text-align:center;margin-bottom:58px;}
.process .section-head h2{font-weight:600;font-size:clamp(28px,3.5vw,40px);}
.process .section-head p{max-width:46em;margin:20px auto 0;font-size:16px;}
.process .eyebrow{color:#ecad86;}.process .section-head p{color:#bec5bb;}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px;}
.step{position:relative;padding:0;}
.step:not(:last-child)::after{content:'→';position:absolute;right:-25px;top:9px;color:#b27b51;font-size:23px;}
.step-number{display:block;font-family:var(--display);font-size:64px;font-weight:700;line-height:1.1;letter-spacing:-.05em;color:#ff9a53;}
.step h3{font-size:20px;font-weight:600;margin-top:22px;}
.step p{font-size:15px;line-height:1.9;color:#bec5bb;margin-top:12px;}
.process-note{border-top:1px solid #53594f;margin-top:44px;padding-top:24px;display:flex;justify-content:space-between;gap:28px;color:#bec5bb;font-size:13px;}
.process-note a{color:#ecad86;white-space:nowrap;}
.about-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;}
.about-item h3{font-size:16px;font-weight:500;margin-bottom:12px;}
.about-item p{font-size:14px;color:var(--muted);}
.contact{background:var(--soft);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start;}
.contact h2{font-size:clamp(30px,3.4vw,40px);font-weight:500;letter-spacing:-.03em;text-wrap:balance;}
.contact-intro{font-size:15px;color:var(--muted);margin-top:20px;max-width:27em;}
.reply-note{font-size:12px;color:var(--brand-dark);margin-top:18px;}
.contact-methods{margin-top:34px;}
.contact-method{display:flex;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none;min-width:0;}
.contact-method:first-child{border-top:1px solid var(--line);}
.contact-line{width:100%;min-height:66px;border:0!important;border-radius:7px;padding:16px 20px;margin-bottom:12px;background:#06c755;color:#fff;box-shadow:0 6px 16px rgba(6,199,85,.14);}
.contact-line .method-icon,.contact-line .method-detail{color:#fff;}
.contact-line:hover{background:#05b34d;}.contact-method.contact-line:hover .method-title{color:#fff;}
.method-icon{color:var(--muted);width:23px;flex:none;}
.method-icon.line{color:#168344;}
.method-text{flex:1;min-width:0;}
.method-title{font-size:14px;font-weight:500;display:block;}
.method-detail{font-size:12px;color:var(--muted);display:block;overflow-wrap:anywhere;}
.contact-method .arrow{color:var(--muted);width:17px;height:17px;}
.contact-method:hover .method-title{color:var(--brand-dark);}
.email-method>a{display:flex;align-items:center;gap:16px;flex:1;min-width:0;text-decoration:none;}
.copy-btn{border:0;border-radius:4px;background:transparent;color:var(--brand-dark);font-size:12px;padding:8px;white-space:nowrap;}
.copy-btn:hover{background:#efece5;}
.contact-form{background:#fff;border:1px solid var(--line);border-radius:10px;padding:30px;display:flex;flex-direction:column;gap:20px;}
.contact-form h3{font-size:18px;font-weight:500;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-group{display:flex;flex-direction:column;gap:7px;min-width:0;}
.form-label{font-size:12px;font-weight:500;}
.field{width:100%;background:#fff;border:1px solid #d5d7ce;border-radius:5px;padding:11px 12px;font-size:14px;line-height:1.6;min-width:0;}
.field:focus{outline:1px solid var(--brand-dark);border-color:var(--brand-dark);}
.field::placeholder{color:#797b73;}
textarea.field{resize:vertical;min-height:130px;}
.form-hint{font-size:12px;color:var(--muted);line-height:1.8;}
.form-send{align-self:flex-start;min-width:140px;}
.form-status{font-size:13px;line-height:1.7;}
.form-status:empty{display:none;}
.form-status.err{color:#a43223;}.form-status.ok{color:#326735;}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.site-footer{padding-block:48px 25px;background:#fff;color:var(--muted);}
.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.footer-logo{width:88px;margin-bottom:15px;}
.footer-brand-name{font-size:13px;font-weight:500;color:var(--ink);}
.footer-slogan{font-family:var(--display);font-size:12px;margin-top:6px;}
.footer-meta{font-size:12px;text-align:right;line-height:2.1;}
.footer-shanke{font-size:12px;color:var(--muted);margin-top:16px;}
.footer-bottom{border-top:1px solid var(--line);margin-top:32px;padding-top:20px;font-size:11px;display:flex;justify-content:space-between;gap:20px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.skip-link{position:fixed;top:8px;left:8px;background:#fff;padding:8px 14px;z-index:100;transform:translateY(-150%);}
.skip-link:focus{transform:none;}
html[lang='en'] .hero h1{font-size:clamp(30px,3.4vw,42px);}
html[lang='ja'] .hero h1{font-size:clamp(30px,3.7vw,43px);}
@media(max-width:1040px){
 .header-inner{gap:20px;}.nav{gap:18px;}.brand-name{display:none;}.header-actions{gap:12px;}
 .hero-grid{gap:40px;}.contact-grid{gap:48px;}.section-head{gap:40px;}
}
@media(max-width:760px){
 .wrap{padding-inline:24px;}.section{padding-block:68px;}.header-inner{min-height:70px;gap:12px;}.brand img{width:76px;}
 .header-actions{margin-left:auto;gap:10px;}.header-contact{display:none;}.nav-toggle{display:flex;}
 .nav{display:none;position:absolute;top:70px;left:0;right:0;padding:18px 24px;background:#fff;border-bottom:1px solid var(--line);margin:0;gap:0;flex-direction:column;align-items:stretch;max-height:calc(100dvh - 70px);overflow-y:auto;}
 .nav.open{display:flex;}.nav a{padding:12px 0;font-size:15px;}.nav-mobile-contact{display:block!important;}
 .hero{padding-block:46px 64px;}.hero-grid{grid-template-columns:1fr;gap:34px;}.hero-visual img{aspect-ratio:1.5;}.hero h1{font-size:38px;}.hero-lead{max-width:32em;}
 .section-head{grid-template-columns:1fr;gap:18px;margin-bottom:34px;}.section-head p{max-width:35em;}.eyebrow{margin-bottom:14px;}
 .services-grid{column-gap:32px;}.service h3{font-size:18px;}.service-description,.service details{margin-left:0;}.service-heading{gap:12px;}
 .service-note{align-items:flex-start;flex-direction:column;gap:12px;}.steps{grid-template-columns:1fr 1fr;gap:30px;}.process-note{flex-direction:column;gap:12px;}
 .step:nth-child(2)::after{display:none;}.process .section-head{margin-bottom:40px;}.step-number{font-size:54px;}
 .about-grid{grid-template-columns:1fr 1fr;gap:30px;}.contact-grid{grid-template-columns:1fr;gap:40px;}.contact-intro{max-width:35em;}.contact-form{padding:24px;}
 .footer-grid{grid-template-columns:1fr;gap:24px;}.footer-meta{text-align:left;}.footer-bottom{flex-direction:column;gap:8px;}
}
@media(max-width:480px){
 html[lang='ja'] .hero h1{font-size:clamp(21px,6.5vw,28px);}
 .services-grid{grid-template-columns:1fr;}.service{padding-block:25px;}.service h3{font-size:21px;}.service-description,.service details{margin-left:32px;}.service-description{font-size:14px;}
 .hero h1{font-size:34px;}.hero-lead{font-size:14px;}.hero-actions .btn{padding-inline:18px;}.hero-download{margin-top:18px;}
 .form-grid{grid-template-columns:1fr;}.contact-form{padding:22px 18px;}.field{font-size:16px;}.steps{gap:26px 20px;}.step h3{font-size:16px;}.step p{font-size:13px;}
 .steps{grid-template-columns:1fr;gap:30px;}.step{padding-left:76px;min-height:66px;}.step-number{position:absolute;left:0;top:0;font-size:46px;}.step h3{margin-top:0;font-size:19px;}.step p{font-size:14px;margin-top:7px;}.step:not(:last-child)::after{display:none;}
 .about-grid{grid-template-columns:1fr;gap:24px;}.about-item p{max-width:30em;}.language-control select{font-size:12px;max-width:106px;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{transition:none!important;}}
