/* 2026リニューアル追補：動き、修理サービス、問い合わせ */
.hero-inner{z-index:2}
.hero-motion{position:absolute;z-index:1;right:9%;top:16%;height:350px;width:370px;pointer-events:none;opacity:.9}
.motion-orbit{position:absolute;right:5%;top:3%;width:280px;height:280px;border:1px dashed rgba(72,143,181,.48);border-radius:50%;animation:rotateOrbit 23s linear infinite}
.motion-orbit::before{content:"";position:absolute;inset:29px;border:1px solid rgba(255,255,255,.64);border-radius:50%;box-shadow:0 0 24px #fff8}
.motion-orbit i{position:absolute;width:14px;height:14px;left:50%;top:-7px;border-radius:50%;background:#e6fbff;box-shadow:0 0 0 6px #d4f7ff66,0 0 25px 10px #7bccf2aa}
.motion-orbit b{position:absolute;bottom:20px;left:25px;width:6px;height:6px;background:#72bfdb;border-radius:50%}
.motion-label{position:absolute;right:-15px;bottom:13px;display:flex;align-items:center;gap:13px;background:rgba(255,255,255,.7);backdrop-filter:blur(16px);padding:14px 22px;border:1px solid #fff9;border-radius:5px;box-shadow:0 15px 35px #2a699221;font:800 10px/1.5 "DM Sans",sans-serif;letter-spacing:.18em;color:#275c80;animation:floatLabel 5s ease-in-out infinite}
.motion-label small{font-size:9px;letter-spacing:.24em;color:#77a4bc}
.motion-dot{width:8px;height:8px;background:#49b9dc;border-radius:50%;box-shadow:0 0 0 6px #49b9dc29;animation:pulseGlow 2.4s ease-in-out infinite}
.hero-glow{position:absolute;width:35%;height:150%;top:-25%;right:-20%;transform:rotate(27deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);animation:lightSweep 10s ease-in-out infinite}
.sparkle{position:absolute;width:5px;height:5px;border-radius:50%;background:white;box-shadow:0 0 18px 7px #d8faff}
.sparkle-a{top:40px;left:30px;animation:twinkle 4s ease-in-out infinite}.sparkle-b{bottom:65px;left:40px;animation:twinkle 5.5s ease-in-out infinite 1s}
@keyframes rotateOrbit{to{transform:rotate(360deg)}}@keyframes floatLabel{50%{transform:translateY(-19px)}}@keyframes pulseGlow{50%{box-shadow:0 0 0 12px #49b9dc0c}}@keyframes twinkle{50%{opacity:.15;transform:scale(.5)}}@keyframes lightSweep{0%,12%{transform:translateX(80%) rotate(27deg);opacity:0}35%{opacity:1}65%,100%{transform:translateX(-200%) rotate(27deg);opacity:0}}
.repair-card{display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:35px;margin-top:22px;padding:36px 45px;background:linear-gradient(110deg,#e9f3f8,#fff 65%);border:1px solid #d8e8f0;border-radius:6px;position:relative;overflow:hidden}
.repair-card::after{content:"";position:absolute;width:280px;height:280px;left:-90px;top:-160px;border:1px solid #a9cde1;border-radius:50%}
.repair-icon{height:115px;position:relative;display:flex;align-items:center;justify-content:center}
.repair-icon .screen{display:block;position:relative;width:110px;height:71px;border:6px solid #327ca8;border-bottom-width:9px;border-radius:6px;background:linear-gradient(130deg,#d7f3fa,#7bb9d7);box-shadow:0 12px 24px #1c5a8033;transform:perspective(300px) rotateY(-12deg)}
.repair-icon .screen::after{content:"";position:absolute;left:-18px;right:-18px;bottom:-18px;height:8px;border-radius:2px 2px 8px 8px;background:#326d94}
.repair-icon .screen i{position:absolute;width:26px;height:26px;border:2px solid white;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg);border-radius:5px}
.repair-pulse{position:absolute;width:8px;height:8px;background:#64bdda;border-radius:50%;box-shadow:0 0 0 5px #64bdda26}.pulse-a{top:7px;right:6px;animation:twinkle 3.5s infinite}.pulse-b{bottom:2px;left:9px;animation:twinkle 4.2s infinite}
.repair-content .overline{color:#4484aa}.repair-content h3{font-size:23px;line-height:1.4;margin:12px 0}.repair-content p{font-size:13px;line-height:1.95;color:#667f8f;margin:0;max-width:580px}
.repair-card .btn{white-space:nowrap;min-width:210px}
.more-guides>div:last-child{grid-template-columns:repeat(3,minmax(0,1fr))}
.contact-section{background:linear-gradient(145deg,#f1f7fa,#eaf2f7)}
.contact-layout{display:grid;grid-template-columns:34% minmax(0,1fr);gap:35px;align-items:start}
.contact-aside{padding:40px 28px 0 0}.contact-aside>.overline{color:#5f98b9}.contact-aside h3{font-size:clamp(24px,2.2vw,33px);line-height:1.6;letter-spacing:-.05em;color:#174e79;margin:20px 0}.contact-aside>p{font-size:14px;line-height:2;color:#637a8b}
.contact-email{border-top:1px solid #bcd4e1;border-bottom:1px solid #bcd4e1;padding:25px 0;margin:35px 0 20px;overflow-wrap:anywhere}.contact-email small{font-size:11px;color:#7292a8;display:block;margin-bottom:9px}.contact-email strong{font:800 clamp(15px,1.5vw,21px) "DM Sans",sans-serif;letter-spacing:.01em;color:#1c608d}
.contact-aside .contact-note{font-size:11px;color:#8196a5;line-height:1.7}
.contact-form{padding:42px 45px;background:#fff;border-radius:5px;border:1px solid #dfe9ef;box-shadow:0 18px 45px #144b7710}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:block;font-size:12px;font-weight:800;color:#284b65;margin-bottom:22px}
.field em{font-style:normal;font-size:10px;color:#fff;background:#d35b61;padding:2px 6px;margin-left:5px;border-radius:2px}.field small{font-size:10px;color:#8499a6;font-weight:600;margin-left:5px}
.field input,.field select,.field textarea{appearance:none;border:1px solid #d6e4ec;border-radius:3px;display:block;width:100%;margin-top:10px;padding:13px 15px;background:#fafcfd;color:#1d3f5a;font-family:inherit;font-size:13px;line-height:1.65;transition:border-color .2s,box-shadow .2s}
.field textarea{resize:vertical;min-height:165px}.field select{background-image:linear-gradient(45deg,transparent 50%,#4b799a 50%),linear-gradient(135deg,#4b799a 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:#377fae;box-shadow:0 0 0 3px #377fae22}
.field input::placeholder,.field textarea::placeholder{color:#9dadb9;font-weight:400}
.privacy-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:#506e83;margin:20px 0 23px;cursor:pointer}.privacy-consent input{width:17px;height:17px;margin-top:3px;accent-color:#1f608e;flex:none}.privacy-consent a{color:#1e6795;text-decoration:underline;text-underline-offset:3px}
.submit-btn{border:0;cursor:pointer;width:100%;justify-content:center;gap:50px}.submit-btn:disabled{background:#a6b7c4;box-shadow:none;cursor:not-allowed;transform:none}
.form-note{font-size:10px;color:#8297a6;margin:15px 0 0}.preview-form-notice{background:#fff7dc;border:1px solid #ecdba1;color:#806936;border-radius:4px;padding:13px 15px;font-size:12px;line-height:1.7;margin-top:16px}
.honey-wrap{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;left:-9999px}
@media(max-width:1050px){.repair-card{grid-template-columns:100px 1fr;gap:20px}.repair-card .btn{grid-column:2;justify-self:start}.contact-layout{grid-template-columns:1fr}.contact-aside{padding:0}.contact-aside h3 br{display:none}.contact-email{margin:20px 0}.contact-form{padding:35px}}
@media(max-width:700px){.hero-motion{right:-95px;top:21%;transform:scale(.64);transform-origin:right top;opacity:.65}.motion-label{display:none}.repair-card{grid-template-columns:1fr;padding:30px 27px;gap:12px}.repair-icon{justify-content:flex-start;margin-left:15px}.repair-content h3{font-size:22px}.repair-card .btn{grid-column:auto;width:100%;min-width:0}.more-guides>div:last-child{grid-template-columns:1fr}.contact-form{padding:26px 21px}.field-grid{grid-template-columns:1fr;gap:0}.contact-aside h3{font-size:27px}.contact-aside h3 br{display:block}.contact-section{padding-top:85px;padding-bottom:85px}}
.thanks-main{min-height:73vh;padding:85px 20px;display:grid;place-items:center;background:radial-gradient(circle at 80% 15%,#b4dae8,#edf5f9 49%,#f8fafb)}
.thanks-card{background:#fff;border:1px solid #dce7ec;max-width:690px;width:100%;text-align:center;padding:55px 70px 65px;box-shadow:0 25px 70px #18476614;border-radius:6px}
.thanks-symbol{background:#e3f3e9;color:#24895f;border-radius:50%;width:64px;height:64px;display:grid;place-items:center;font-size:36px;margin:0 auto 24px}
.thanks-card h1{font-size:clamp(29px,4vw,42px);line-height:1.5;letter-spacing:-.06em;color:#16486f;margin:17px 0 25px}
.thanks-card>p:not(.kicker){font-size:14px;color:#587588;line-height:2}.thanks-card .thanks-small{font-size:11px!important;color:#90a0ac!important;margin:27px 0}
.thanks-card .btn{min-width:260px;margin:12px auto 0}
@media(max-width:700px){.thanks-main{padding:50px 17px;min-height:75vh}.thanks-card{padding:43px 21px 48px}.thanks-card .btn{min-width:0;width:100%}}
@media(prefers-reduced-motion:reduce){.motion-orbit,.motion-label,.hero-glow,.sparkle,.repair-pulse,.motion-dot{animation:none!important}}
/* 旧サイトの日本語ハッシュリンクを新デザインでも使えるようにする。 */
.anchor-alias { display: block; height: 0; position: relative; top: -88px; visibility: hidden; }
