/* SUGI HOME — editorial rhythm and considered motion */
:root{--ease-out:cubic-bezier(.22,1,.36,1);--ink:#354e59}
body{color:var(--ink)}::selection{background:#f6dc92;color:#354e59}
.wrap{max-width:1160px;padding-inline:32px}.sec{padding-block:112px}.h2{letter-spacing:.035em;line-height:1.55}.section-kicker{font:700 11px/1.6 sans-serif;letter-spacing:.18em;color:#42788e;text-align:center;margin-bottom:18px}.h2:before{display:none}
.hd{padding:14px 30px}.gnav{gap:21px}.gnav a{font-size:13px}.hd__tel{padding-left:22px;border-left:1px solid #cce3eb}.hd:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:#50b7d1;transform:scaleX(var(--reading-progress,0));transform-origin:left}
.hero{min-height:860px}.hero__in{max-width:1240px;padding-top:164px;padding-bottom:125px}.hero__ttl{font-size:clamp(42px,5.1vw,70px);line-height:1.4;letter-spacing:-.015em}.hero__area{margin-bottom:15px}.hero__lead{margin-top:25px;margin-bottom:30px;line-height:2}.hero__pts{margin-top:28px}.eyebrow{letter-spacing:.22em}.hero-scroll{position:absolute;right:42px;bottom:32px;z-index:3;display:flex;align-items:center;gap:18px;color:#277b9b}.hero-scroll span{font:700 10px sans-serif;letter-spacing:.18em}.hero-scroll i{width:1px;height:55px;background:#92cedd;position:relative;overflow:hidden}.hero-scroll i:after{content:"";position:absolute;inset:0;background:#197ea4;transform:translateY(-100%);animation:scroll-cue 2.5s ease infinite}@keyframes scroll-cue{70%,100%{transform:translateY(100%)}}
.home-intro{padding-block:130px}.home-intro__label{font-family:sans-serif;font-size:11px}.home-intro h2{line-height:1.65}.home-intro__lead{font-size:18px}.home-intro__rule{margin-block:28px 33px}
#trouble .wrap{padding:58px 55px;background:#ffffffd9;border:1px solid #d8edf3;border-radius:36px;box-shadow:0 20px 60px #286b8510}.trouble{gap:12px;margin-top:40px}.trouble li{background:#f2fafd;box-shadow:none;border:0;font-size:15px}.trouble li:before{width:21px;height:21px}.trouble li:after{left:24px}.section-actions{margin-top:35px}
#strength .h2,#strength .section-kicker,#service .h2,#service .section-kicker{text-align:left}#strength .lead{text-align:left;max-width:780px;margin-bottom:45px}.trio{gap:0;counter-reset:craft}.card{background:#ffffff9c;border:0;border-top:1px solid #a7d3e1;border-radius:0;box-shadow:none;padding:32px 28px;position:relative;counter-increment:craft}.card+.card{border-left:1px solid #d5e9f1}.card:after{content:"0" counter(craft);position:absolute;right:28px;top:32px;font:500 13px sans-serif;color:#41809a}.card .ic{border-radius:16px;width:53px;height:53px;background:#e3f3f9}.card h3{margin-top:24px}.card:hover{background:#fff;box-shadow:none;transform:translateY(-4px)}
.comparison{box-shadow:0 20px 60px #1865860c}.comparison__table th,.comparison__table td{padding-block:25px}.comparison__table strong{font-size:21px}#why .note{max-width:100%;font-size:12px}
.svc{gap:38px 30px;margin-top:44px}.svc__i{border:1px solid #d3e9f2;border-radius:24px;box-shadow:0 12px 35px #185f7b08;transition:transform .5s var(--ease-out),box-shadow .5s}.svc__photo{aspect-ratio:16/10}.svc__photo img{transition:transform 1s var(--ease-out)}.svc__i:hover .svc__photo img{transform:scale(1.045)}.svc__body{padding:30px}.svc__body p{line-height:1.95}.svc__body:before{font-family:sans-serif;letter-spacing:.1em;font-size:11px;padding:4px 10px}.svc__link{border-radius:12px;font-size:14px}.other{margin-top:44px;background:#ffffffb3;border:1px solid #d4e8f1;padding:35px;border-radius:22px}.other p{font-size:15px;max-width:850px;margin-top:8px}
.flow{gap:24px;margin-top:48px}.flow li{padding:37px 27px 28px;box-shadow:none;min-height:218px}.flow li:before{font-family:sans-serif;font-size:14px}.flow h3{margin-bottom:10px}.flow p{line-height:1.95}.area{gap:14px;margin-top:40px}.area li{font-size:18px;background:#ffffffc9;padding:14px 30px}
#maizuru .wrap{border-block:1px solid #b9dce8;padding-block:65px}.badge{font-size:12px;padding:5px 16px;margin-bottom:22px}#maizuru .h2{font-size:clamp(32px,4vw,50px)}#maizuru .lead{font-size:17px;line-height:2.25}#maizuru .section-kicker{margin-bottom:25px}
#faq .wrap{max-width:860px}details{border:1px solid #d5e9f1;border-radius:14px;margin-bottom:14px}summary{padding:24px 62px 24px 27px;font-size:16px}details p{padding:0 27px 24px;line-height:2;color:#526e7a}details[open]{border-color:#88c6dc}#faq .center{margin-top:32px}
main.has-continuous-air>#contact{background:linear-gradient(120deg,#daf2fae6,#eefaffb3);border-block:1px solid #c9e8f2}#contact .h2{font-size:clamp(34px,4.2vw,53px)}#contact .lead{font-size:16px}#contact .btn{min-width:290px}.company-wrap{max-width:1200px}.ft{padding-block:55px 40px}.ft__home img{width:185px}.ft-nav{margin-block:25px 30px}.ft small{font-size:11px;color:#5d7d8b}
.action,.btn,.svc__link{transition:background .3s,transform .4s var(--ease-out),box-shadow .4s}.action:hover{transform:translateY(-3px);box-shadow:0 10px 25px #086a9e24}.action span,.svc__link b{transition:transform .4s var(--ease-out)}.action:hover span,.svc__i:hover .svc__link b{transform:translate(2px,-2px)}.gnav a.is-current{color:#147ca8}.gnav a.is-current:after{width:100%}
@media(min-width:1000px){#service .svc__i:nth-child(even){transform:translateY(42px)}#service .svc__i:nth-child(even):hover{transform:translateY(36px)}#service .other{margin-top:85px}}
@media(max-width:1100px) and (min-width:861px){.hd{padding-inline:18px;gap:12px}.gnav{gap:12px}.gnav a{font-size:12px}.hd__tel{font-size:15px;padding-left:12px}.hero__ttl{font-size:53px}}
@media(max-width:860px){.hd{padding:10px 18px}.wrap{padding-inline:23px}.sec{padding-block:74px}.hero{min-height:0}.hero__in{padding:240px 23px 65px}.hero__ttl{font-size:clamp(30px,7.4vw,58px)}.hero-scroll{display:none}.hero__pts{margin-top:23px}.home-intro{padding-block:80px}#trouble{padding-inline:16px}#trouble .wrap{padding:40px 20px;border-radius:25px}.trouble{margin-top:28px}.trouble li{font-size:14px}.h2{font-size:clamp(27px,6.3vw,38px)}.section-kicker{font-size:10px;margin-bottom:14px}.trio{gap:0}.card{padding:27px 10px}.card+.card{border-left:0}.card h3{margin-top:18px}.svc{gap:25px;margin-top:30px}.svc__body{padding:25px 22px}.svc__i h3{font-size:22px}.svc__photo{aspect-ratio:3/2}.other{padding:25px 22px}.flow li{min-height:0;padding:32px 24px 26px}.flow{gap:35px}.area{gap:10px}.area li{font-size:16px;padding:10px 22px}#maizuru .wrap{margin-inline:23px;padding:44px 0}#maizuru .lead{font-size:15px}summary{font-size:15px;padding:20px 48px 20px 20px}details p{padding-inline:20px}.comparison__table th,.comparison__table td{padding:20px 7px}.comparison__table strong{font-size:16px}#contact .btn{min-width:0}.ft{padding-bottom:110px}.company-map iframe{position:static}.hero .btn{min-height:61px}.hero .hero__lead{font-size:15px}.ft-nav{font-size:13px}.backtop{bottom:calc(80px + env(safe-area-inset-bottom))}}
@media(max-width:360px){.wrap{padding-inline:18px}.hero__in{padding-inline:18px}.hero__ttl{font-size:27px}.hero__pts li{padding-inline:6px;font-size:10px}.hero__pts b{font-size:13px}.home-intro h2{font-size:22px}.action{font-size:13px;padding-inline:17px}.svc__link{font-size:13px}.comparison__table strong{font-size:14px}.comparison__table tbody td,.comparison__table tbody th{font-size:12px}}
@media(prefers-reduced-motion:reduce){.hero-scroll i:after{animation:none}.svc__i,.svc__photo img,.action,.btn{transition:none}}
.hero.is-resting .air-bubble,.hero.is-resting .hero-glints i,.hero.is-resting .hero__air path,.hero.is-resting .hero__wind path{animation-play-state:paused}
.show-air-intro .hero .air-bubble,.show-air-intro .hero .hero-glints i{animation-play-state:paused}

/* 技術説明は句点で改行し、文節の途中で単語を分断しない */
#strength .card p{line-height:1.95;text-wrap:wrap;word-break:normal;overflow-wrap:break-word}
#strength .card p .copy-line+.copy-line{margin-top:.35em}
#strength .card p .copy-chunk{white-space:normal;max-width:100%}
