
:root{--navy:#07364f;--teal:#008c8a;--green:#54b849;--yellow:#e6e52b;--paper:#fffefa;--muted:#607985;--line:#dce9e7}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}a{color:inherit;text-decoration:none}img{width:100%;height:100%;object-fit:cover;display:block}.wrap{width:min(1200px,calc(100% - 48px));margin:auto}
header{height:86px;position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid #edf3f1}.nav{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{font-size:25px;font-weight:950}nav{display:flex;gap:30px;align-items:center;font-size:14px;font-weight:900}nav a:not(.contact){padding:30px 0 22px;position:relative;transition:.25s}nav a:not(.contact):after{content:"";position:absolute;bottom:18px;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--teal),var(--yellow));transition:.25s}nav a:not(.contact):hover{transform:translateY(-3px)}nav a:not(.contact):hover:after{width:100%}.contact,.button{border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:900;transition:.25s}.contact{padding:15px 24px;color:white;background:linear-gradient(110deg,var(--teal),var(--navy))}.button{padding:16px 25px}.button:hover,.contact:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(4,70,90,.16)}.primary{color:#fff;background:linear-gradient(110deg,var(--teal),var(--navy))}.outline{background:#fff;border:2px solid var(--navy)}
.hero{height:700px;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0 0 0 35%;background:url("site-img-2b8a4400dba0.jpg") center/cover no-repeat;animation:appear 1.2s ease both}.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0,rgba(255,255,255,.98) 8%,rgba(255,255,255,.45) 28%,transparent 46%)}.hero-copy{position:relative;z-index:2;width:50%;padding-top:90px;animation:rise .9s .12s both}.eyebrow{font:700 21px/1.7 "Yu Mincho","Hiragino Mincho ProN",serif;margin-bottom:20px}h1,h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif}h1{font-size:68px;line-height:1.27;margin:0 0 24px;letter-spacing:.02em}.marker{position:relative;z-index:0}.marker:after{content:"";position:absolute;z-index:-1;left:-3%;right:-3%;bottom:8%;height:20%;background:linear-gradient(90deg,var(--green),var(--yellow));transform:scaleX(0) skewX(-10deg);transform-origin:left;animation:mark .7s .8s forwards}.lead{font-weight:700;line-height:2;max-width:550px}.buttons{display:flex;gap:14px;margin-top:27px}
.section{padding:105px 0;position:relative;overflow:hidden}.section:before{content:"";position:absolute;width:360px;height:180px;right:-100px;top:20px;background:radial-gradient(ellipse,rgba(25,168,192,.10),transparent 65%);transform:rotate(-15deg)}.head{display:grid;grid-template-columns:300px 1fr;gap:50px;align-items:end;margin-bottom:45px}.label{font-size:52px;font-weight:950;letter-spacing:-.04em}.label small{font-size:14px;margin-left:10px}h2{font-size:39px;line-height:1.5;margin:0 0 12px}.copy{color:var(--muted);line-height:2}
.services{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service{background:white;border:1px solid var(--line);box-shadow:0 15px 35px rgba(6,61,77,.07);overflow:hidden;transition:.3s}.service:hover{transform:translateY(-8px);box-shadow:0 22px 42px rgba(6,61,77,.13)}.service figure{height:205px;margin:0;overflow:hidden}.service img{transition:.5s}.service:hover img{transform:scale(1.045)}.service-body{padding:23px}.no{font-size:19px;font-weight:950;color:var(--teal)}h3{font-size:23px;margin:8px 0;color:var(--navy)}.service p{font-size:14px;color:var(--muted);line-height:1.8}
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.art{height:470px;position:relative;overflow:hidden;background:#eef8f5;box-shadow:0 22px 55px rgba(6,61,77,.08)}.art img{transition:.6s}.art:hover img{transform:scale(1.025)}.art:after{content:"";position:absolute;inset:auto 0 0;height:12%;background:linear-gradient(0deg,rgba(0,141,139,.08),transparent)}.more{display:inline-block;font-weight:900;margin-top:16px;padding-bottom:5px;border-bottom:2px solid var(--teal)}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px}.gallery figure{height:250px;margin:0;overflow:hidden;position:relative;background:#eef7f5}.gallery img{transition:.5s}.gallery figure:hover img{transform:scale(1.035)}.gallery figcaption{position:absolute;left:18px;bottom:16px;background:rgba(255,255,255,.9);padding:8px 13px;font-weight:900;backdrop-filter:blur(5px)}
.reason-section{position:relative;overflow:hidden;background:linear-gradient(135deg,#f9fdfc 0%,#fff 45%,#fbfdf4 100%)}.reason-section:before{content:"";position:absolute;width:520px;height:520px;right:-180px;top:-170px;border-radius:50%;background:radial-gradient(circle,rgba(63,194,176,.13),rgba(63,194,176,0) 68%);pointer-events:none}.reason-section:after{content:"";position:absolute;width:440px;height:190px;left:-100px;bottom:40px;background:linear-gradient(100deg,rgba(30,179,150,.11),rgba(241,222,45,.13),transparent);transform:rotate(-8deg);filter:blur(2px);pointer-events:none}.reason-intro{max-width:560px}.reason-intro .paint-line{width:210px;height:8px;margin-top:24px;background:linear-gradient(90deg,#20b990,#d7e829,#ffd32e);clip-path:polygon(0 18%,100% 0,96% 85%,3% 100%)}.reasons{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:54px}.reason{position:relative;min-height:250px;padding:38px 38px 34px 128px;background:rgba(255,255,255,.88);border:1px solid rgba(9,75,94,.12);box-shadow:0 18px 50px rgba(6,61,77,.07);overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.reason:before{content:"";position:absolute;inset:auto -45px -55px auto;width:160px;height:160px;border-radius:45% 55% 48% 52%;background:linear-gradient(135deg,rgba(33,184,148,.10),rgba(244,219,42,.14));transform:rotate(20deg)}.reason:hover{transform:translateY(-7px);box-shadow:0 25px 65px rgba(6,61,77,.12);border-color:rgba(20,148,142,.3)}.reason-no{position:absolute;left:28px;top:30px;font:800 58px/1 Arial,sans-serif;letter-spacing:-.05em;color:rgba(8,67,86,.10)}.reason-icon{position:absolute;left:38px;top:104px;width:62px;height:62px;border-radius:22px 30px 24px 28px;display:grid;place-items:center;background:linear-gradient(135deg,#0d8d87,#0a526b);box-shadow:0 12px 28px rgba(7,103,111,.20);color:#fff}.reason-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.reason h3{font-size:25px;margin:0 0 13px;color:#073e55}.reason .copy{font-size:15px;line-height:2;margin:0;max-width:390px}.reason-tag{display:inline-block;margin-top:20px;padding:7px 12px;border-radius:999px;background:#edf9f6;color:#0b7e78;font-size:11px;font-weight:800;letter-spacing:.12em}.reason:nth-child(2),.reason:nth-child(3){transform:translateY(24px)}.reason:nth-child(2):hover,.reason:nth-child(3):hover{transform:translateY(17px)}.people{background:linear-gradient(110deg,#fff 0 45%,#f0fbf8 100%)}.contact-box{display:grid;grid-template-columns:1fr 1.2fr;gap:35px;align-items:stretch;background:#fff;border:1px solid var(--line);box-shadow:0 18px 50px rgba(6,61,77,.08)}.contact-copy{padding:48px}.contact-city{min-height:340px;position:relative}.contact-city:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0,transparent 28%)}.reveal{opacity:0;transform:translateY(28px);transition:.75s ease}.reveal.show{opacity:1;transform:none}
@keyframes appear{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes mark{to{transform:scaleX(1) skewX(-10deg)}}
@media(max-width:700px){.reasons{grid-template-columns:1fr;gap:14px;margin-top:34px}.reason,.reason:nth-child(2),.reason:nth-child(3){transform:none;min-height:0;padding:30px 24px 28px 96px}.reason:nth-child(2):hover,.reason:nth-child(3):hover,.reason:hover{transform:translateY(-4px)}.reason-no{left:20px;top:24px;font-size:46px}.reason-icon{left:22px;top:84px;width:52px;height:52px;border-radius:18px}.reason-icon svg{width:25px;height:25px}.reason h3{font-size:21px}.reason-section:before{width:320px;height:320px}.reason-intro .paint-line{width:150px}}
@media(max-width:900px){header{height:70px}nav a:not(.contact){display:none}.hero{height:auto;padding-bottom:50px}.hero-bg{position:relative;inset:auto;height:390px}.hero-bg:after{background:linear-gradient(0deg,#fff,transparent 40%)}.hero-copy{width:100%;padding-top:35px}h1{font-size:46px}.section{padding:75px 0}.head,.split,.contact-box{grid-template-columns:1fr;gap:28px}.services,.reasons{grid-template-columns:1fr 1fr}.contact-city{min-height:280px}}
@media(max-width:560px){.wrap{width:calc(100% - 30px)}.brand{font-size:20px}.contact{padding:12px 15px}.hero-bg{height:310px}h1{font-size:39px}.buttons{display:grid}.services,.reasons,.gallery{grid-template-columns:1fr}.label{font-size:42px}h2{font-size:31px}}

/* final polish */
.section{padding:112px 0}.section h2,.section h3{letter-spacing:.02em}.service-card,.reason-card{transition:transform .28s ease,box-shadow .28s ease}.service-card:hover,.reason-card:hover{transform:translateY(-6px);box-shadow:0 18px 42px rgba(7,54,79,.10)}
.service-card img,.works img{image-rendering:auto;backface-visibility:hidden;transform:translateZ(0)}
@media(max-width:900px){header{height:72px}.wrap{width:min(100% - 28px,1200px)}nav{gap:14px}.hero{height:auto;min-height:760px}.section{padding:80px 0}}
@media(max-width:700px){nav a:not(.contact){display:none}.brand{font-size:21px}.contact{padding:12px 17px}.section{padding:64px 0}}

/* ABOUT image refinement */
#about .art{overflow:hidden;background:#fff;box-shadow:0 22px 60px rgba(7,54,79,.08)}
#about .art img{display:block;width:100%;height:100%;min-height:520px;object-fit:cover;object-position:center;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
#about .art:hover img{transform:scale(1.018)}
@media(max-width:800px){#about .art img{min-height:360px}}


.company-profile{position:relative;background:linear-gradient(135deg,#fff 0%,#fbfffe 62%,#f5fbf4 100%);overflow:hidden}
.company-profile:before,.company-profile:after{content:"";position:absolute;pointer-events:none;opacity:.42;filter:blur(.2px);transform:rotate(-10deg)}
.company-profile:before{width:380px;height:110px;right:-80px;top:70px;background:linear-gradient(90deg,transparent,#55c7d9 28%,#6fc96b 66%,#f1df38);clip-path:polygon(0 38%,100% 0,92% 42%,12% 100%)}
.company-profile:after{width:300px;height:80px;left:-100px;bottom:65px;background:linear-gradient(90deg,#58c8df,#67ca79,#e9e43b,transparent);clip-path:polygon(4% 28%,100% 0,88% 58%,0 100%)}
.company-grid{display:grid;grid-template-columns:.82fr 1.45fr;gap:90px;align-items:start;position:relative;z-index:1}
.company-heading{position:sticky;top:130px}.company-heading .eyebrow{margin:0 0 12px;font-size:13px;letter-spacing:.22em;font-weight:900;color:var(--teal)}
.company-heading h2{font-size:clamp(46px,5vw,72px);line-height:1;margin:0 0 24px;font-weight:950;letter-spacing:-.04em}.paint-line{width:170px;height:7px;background:linear-gradient(90deg,var(--teal),#62c867,var(--yellow));transform:skewX(-20deg);margin-bottom:34px}.company-lead{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:25px;line-height:1.9;margin:0;color:var(--navy)}
.company-table{border-top:1px solid #cfdedb;background:rgba(255,255,255,.72);backdrop-filter:blur(4px)}.company-table dl{display:grid;grid-template-columns:150px 1fr;margin:0;padding:22px 8px;border-bottom:1px solid #dce8e5}.company-table dt{font-weight:900;color:var(--navy)}.company-table dd{margin:0;color:#476674;line-height:1.8}.company-table a{font-weight:800;border-bottom:1px solid #98c9c2}.company-table a:hover{color:var(--teal)}
@media(max-width:800px){.company-grid{grid-template-columns:1fr;gap:42px}.company-heading{position:static}.company-table dl{grid-template-columns:1fr;gap:8px;padding:18px 4px}.company-heading h2{font-size:46px}.company-lead{font-size:21px}}


/* FINAL POLISH OVERRIDES */
html{scroll-padding-top:86px}body{overflow-x:hidden}.hero{min-height:680px;height:min(700px,calc(100vh - 86px));background:#fff}.hero-bg{inset:0 0 0 32%;background-size:cover;background-position:center center;transform:none!important;transition:none!important}.hero:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 20%,rgba(255,255,255,.84) 31%,rgba(255,255,255,.30) 43%,rgba(255,255,255,0) 58%);pointer-events:none}.hero .wrap{position:relative;z-index:2}.hero-copy{max-width:570px;margin:0;padding-top:105px}.hero h1{font-size:clamp(48px,5.15vw,76px);line-height:1.18;letter-spacing:-.045em;margin:20px 0 25px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif}.hero p{max-width:510px;line-height:2;font-weight:700}.hero .buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.section{padding:112px 0}.head{gap:70px}.services{align-items:stretch}.service{overflow:hidden;background:#fff}.service figure{height:230px;background:#eef7f5}.service figure img{object-fit:cover;transform:none!important;transition:transform .5s ease}.service:hover figure img{transform:scale(1.025)!important}.split{align-items:center;gap:80px}.art{overflow:hidden}.art img{transform:none!important}.works-grid img{transform:none!important;transition:transform .5s ease}.works-grid figure{overflow:hidden}.works-grid figure:hover img{transform:scale(1.025)!important}.people img{transform:none!important}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.show{opacity:1;transform:none}nav a:not(.contact):hover{transform:translateY(-2px)}
@media(max-width:900px){header{height:72px}.wrap{width:min(100% - 32px,1200px)}nav a:not(.contact){display:none}.brand{font-size:21px}.contact{padding:12px 18px}.hero{height:auto;min-height:760px;padding-bottom:0}.hero-bg{position:absolute;inset:310px 0 0 0;background-size:cover;background-position:58% center}.hero:before{background:linear-gradient(180deg,#fff 0%,#fff 36%,rgba(255,255,255,.92) 44%,rgba(255,255,255,.18) 61%,rgba(255,255,255,0) 75%)}.hero-copy{padding-top:60px;max-width:none}.hero h1{font-size:clamp(42px,11vw,62px);max-width:650px}.hero p{max-width:620px}.section{padding:80px 0}.head,.split{grid-template-columns:1fr!important;gap:42px}.services{grid-template-columns:repeat(2,1fr)!important}.service figure{height:220px}}
@media(max-width:560px){.wrap{width:calc(100% - 28px)}.brand{font-size:18px}.contact{font-size:12px;padding:11px 14px}.hero{min-height:720px}.hero-bg{inset:350px 0 0 0;background-position:55% center}.hero h1{font-size:42px}.hero p{font-size:14px;line-height:1.8}.button{width:100%;padding:15px 18px}.services{grid-template-columns:1fr!important}.service figure{height:250px}.section{padding:68px 0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}

/* final polish */
.section{padding:112px 0}.section h2,.section h3{letter-spacing:.02em}.service-card,.reason-card{transition:transform .28s ease,box-shadow .28s ease}.service-card:hover,.reason-card:hover{transform:translateY(-6px);box-shadow:0 18px 42px rgba(7,54,79,.10)}
.service-card img,.works img{image-rendering:auto;backface-visibility:hidden;transform:translateZ(0)}
@media(max-width:900px){header{height:72px}.wrap{width:min(100% - 28px,1200px)}nav{gap:14px}.hero{height:auto;min-height:760px}.section{padding:80px 0}}
@media(max-width:700px){nav a:not(.contact){display:none}.brand{font-size:21px}.contact{padding:12px 17px}.section{padding:64px 0}}


/* ===== SERVICE high-resolution rebuild ===== */
.service-redesign{
  position:relative; overflow:hidden; background:#fff; padding:112px 0 126px;
}
.service-redesign .service-wash{
  position:absolute; inset:0; pointer-events:none; opacity:.55;
  background:
    radial-gradient(circle at 7% 20%, rgba(49,188,185,.14), transparent 23%),
    radial-gradient(circle at 93% 14%, rgba(122,205,83,.13), transparent 22%),
    linear-gradient(115deg, transparent 0 46%, rgba(8,124,153,.035) 46% 49%, transparent 49%);
}
.service-redesign .service-inner{position:relative;z-index:1}
.service-head{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px;align-items:end;margin-bottom:52px}
.service-head .eyebrow{margin:0 0 9px;color:#0b918c;font-size:12px;font-weight:800;letter-spacing:.22em}
.service-title-row{display:flex;align-items:flex-end;gap:18px}
.service-title-row h2{margin:0;color:#07384e;font:900 clamp(52px,5.2vw,82px)/.9 Arial,sans-serif;letter-spacing:-.055em}
.service-title-row span{padding-bottom:8px;color:#173f50;font-weight:800}
.service-copy h3{margin:0 0 18px;color:#07384e;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(31px,3.1vw,49px);line-height:1.42;font-weight:700}
.service-copy h3:after{content:"";display:block;width:190px;height:7px;margin-top:13px;background:linear-gradient(90deg,#1ca98c,#b9d91d,#ffd938);transform:skewX(-18deg)}
.service-copy p{margin:0;color:#56717d;font-size:15px;line-height:2}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.service-card{display:flex;min-width:0;flex-direction:column;color:inherit;text-decoration:none;background:#fff;border:1px solid rgba(8,74,94,.10);box-shadow:0 18px 45px rgba(5,49,66,.08);transition:transform .32s ease,box-shadow .32s ease}
.service-photo{position:relative;aspect-ratio:1.16/1;overflow:hidden;background:#eaf6f5}
.service-photo:after{content:"";position:absolute;inset:auto 0 0;height:16%;background:linear-gradient(0deg,#fff,transparent)}
.service-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(1.04) contrast(1.02);transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.service-body{display:flex;flex:1;flex-direction:column;padding:24px 25px 22px}
.service-no{color:#0a9a93;font-weight:900;font-size:18px}
.service-body h3{margin:8px 0 13px;color:#07384e;font-size:25px;line-height:1.35}
.service-body p{margin:0 0 24px;color:#607985;font-size:14px;line-height:1.8}
.service-more{margin-top:auto;display:flex;justify-content:space-between;align-items:center;color:#07384e;font-weight:800;font-size:14px}
.service-more b{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#087c8a;color:white;font-size:18px;transition:transform .3s ease}
.service-card:hover{transform:translateY(-8px);box-shadow:0 24px 54px rgba(5,49,66,.14)}
.service-card:hover img{transform:scale(1.045)}
.service-card:hover .service-more b{transform:translateX(4px)}
@media(max-width:980px){
  .service-head{grid-template-columns:1fr;gap:30px}
  .service-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .service-redesign{padding:76px 0 84px}
  .service-grid{grid-template-columns:1fr}
  .service-title-row h2{font-size:52px}
  .service-photo{aspect-ratio:1.5/1}
}

/* final polish */
.section{padding:112px 0}.section h2,.section h3{letter-spacing:.02em}.service-card,.reason-card{transition:transform .28s ease,box-shadow .28s ease}.service-card:hover,.reason-card:hover{transform:translateY(-6px);box-shadow:0 18px 42px rgba(7,54,79,.10)}
.service-card img,.works img{image-rendering:auto;backface-visibility:hidden;transform:translateZ(0)}
@media(max-width:900px){header{height:72px}.wrap{width:min(100% - 28px,1200px)}nav{gap:14px}.hero{height:auto;min-height:760px}.section{padding:80px 0}}
@media(max-width:700px){nav a:not(.contact){display:none}.brand{font-size:21px}.contact{padding:12px 17px}.section{padding:64px 0}}


/* FINAL LOCKED POLISH — preserves selected artwork and layout */
html{scroll-behavior:smooth} body{overflow-x:hidden}
header a, nav a{transition:transform .22s ease,color .22s ease,opacity .22s ease}
nav a:hover{transform:translateY(-3px);opacity:.72}
a.btn,button,.btn{transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
a.btn:hover,button:hover,.btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,64,80,.14)}
.hero,.hero-bg{transform:none!important}.hero-bg{will-change:auto!important}
.service-card,.work-card,.reason-card{transition:transform .28s ease,box-shadow .28s ease}
.service-card:hover,.work-card:hover,.reason-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px rgba(8,50,64,.10)}
.service-card img,.work-card img{width:100%;height:100%;object-fit:cover;display:block}
section{position:relative;isolation:isolate}
@media (max-width:900px){nav{gap:14px}.hero-copy{position:relative;z-index:3}.hero-bg{transform:none!important}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* 2026-09 service image refinement */
#service{scroll-margin-top:96px;overflow:hidden}
#service .service-photo{aspect-ratio:1.58/1;overflow:hidden;background:#eef7f5;position:relative}
#service .service-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;transform:none!important;filter:none!important;image-rendering:auto}
#service .service-card{overflow:hidden;min-width:0}
#service .service-card:hover .service-photo img{transform:scale(1.025)!important;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
#service .service-card .service-photo img{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
@media (min-width:901px){#service .service-grid{align-items:stretch}#service .service-card{height:100%}}
@media (max-width:900px){#service{scroll-margin-top:76px}#service .service-photo{aspect-ratio:16/10}}


/* Final service visual correction */
#service{scroll-margin-top:96px;overflow:hidden}
#service .service-grid,#service .cards,#service .service-cards{align-items:stretch!important}
#service article,#service .service-card,#service .card{overflow:hidden!important;background:#fff!important}
#service img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/10!important;object-fit:cover!important;object-position:center center!important;filter:none!important;transform:none!important}
#service article:hover img,#service .service-card:hover img,#service .card:hover img{transform:scale(1.018)!important;transition:transform .55s cubic-bezier(.2,.7,.2,1)!important}
@media(max-width:760px){#service img{aspect-ratio:16/10!important}}


/* REASON: each mark is one watercolor leaf of a four-leaf clover */
.reason-icon{
  position:absolute!important;left:29px!important;top:94px!important;
  width:82px!important;height:82px!important;background:transparent!important;
  box-shadow:none!important;border-radius:0!important;overflow:visible!important;
  display:block!important;
}
.reason-icon svg{display:none!important}
.reason-icon::before{
  content:"";position:absolute;left:9px;top:7px;width:62px;height:62px;
  /* single clover leaf: rounded outer lobes, tapered base */
  border-radius:72% 68% 66% 16% / 72% 70% 62% 18%;
  background:
    radial-gradient(circle at 28% 25%,rgba(255,255,255,.38) 0 8%,transparent 22%),
    radial-gradient(circle at 70% 38%,rgba(29,169,177,.38) 0 13%,transparent 36%),
    radial-gradient(circle at 34% 70%,rgba(222,221,50,.40) 0 10%,transparent 32%),
    linear-gradient(145deg,rgba(11,151,137,.82),rgba(80,190,111,.68) 48%,rgba(192,211,54,.62));
  box-shadow:
    inset 9px 7px 16px rgba(255,255,255,.22),
    inset -8px -7px 18px rgba(5,101,115,.10),
    0 8px 18px rgba(7,102,111,.10);
  opacity:.88;filter:blur(.12px) saturate(.95);
  transform-origin:88% 88%;
}
.reason-icon::after{
  content:"";position:absolute;left:18px;top:15px;width:46px;height:48px;
  border-radius:70% 65% 62% 18% / 70% 68% 58% 20%;
  background:
    radial-gradient(circle at 20% 35%,rgba(255,255,255,.32) 0 7%,transparent 18%),
    radial-gradient(circle at 62% 28%,rgba(255,255,255,.18) 0 6%,transparent 17%),
    radial-gradient(circle at 48% 72%,rgba(0,112,126,.13) 0 8%,transparent 25%);
  mix-blend-mode:screen;opacity:.78;pointer-events:none;
}
/* Four cards correspond to the four leaves of one clover */
.reason:nth-child(1) .reason-icon::before{transform:rotate(-48deg)}
.reason:nth-child(1) .reason-icon::after{transform:rotate(-48deg)}
.reason:nth-child(2) .reason-icon::before{transform:rotate(42deg);background:radial-gradient(circle at 30% 26%,rgba(255,255,255,.38) 0 8%,transparent 22%),radial-gradient(circle at 68% 40%,rgba(38,176,188,.36) 0 13%,transparent 36%),radial-gradient(circle at 35% 72%,rgba(233,214,49,.38) 0 10%,transparent 32%),linear-gradient(145deg,rgba(24,157,153,.80),rgba(76,186,128,.67) 48%,rgba(208,211,53,.60))}
.reason:nth-child(2) .reason-icon::after{transform:rotate(42deg)}
.reason:nth-child(3) .reason-icon::before{transform:rotate(-138deg);background:radial-gradient(circle at 28% 25%,rgba(255,255,255,.36) 0 8%,transparent 22%),radial-gradient(circle at 68% 38%,rgba(23,150,188,.38) 0 13%,transparent 36%),radial-gradient(circle at 34% 70%,rgba(154,207,65,.42) 0 10%,transparent 32%),linear-gradient(145deg,rgba(9,139,153,.80),rgba(53,181,143,.68) 50%,rgba(174,211,62,.61))}
.reason:nth-child(3) .reason-icon::after{transform:rotate(-138deg)}
.reason:nth-child(4) .reason-icon::before{transform:rotate(132deg);background:radial-gradient(circle at 28% 25%,rgba(255,255,255,.38) 0 8%,transparent 22%),radial-gradient(circle at 68% 38%,rgba(37,174,180,.34) 0 13%,transparent 36%),radial-gradient(circle at 34% 70%,rgba(238,211,47,.44) 0 10%,transparent 32%),linear-gradient(145deg,rgba(17,151,133,.80),rgba(94,190,102,.67) 48%,rgba(220,210,48,.62))}
.reason:nth-child(4) .reason-icon::after{transform:rotate(132deg)}
.reason:hover .reason-icon{transform:translateY(-3px) scale(1.05);transition:transform .38s ease}
.reason-icon{transition:transform .38s ease}
@media(max-width:700px){.reason-icon{left:13px!important;top:74px!important;width:72px!important;height:72px!important}.reason-icon::before{width:54px;height:54px}.reason-icon::after{width:40px;height:42px}}


/* REASON: decorative marks removed. Keep only the large 01–04 numbering. */
.reason-icon{
  display:none !important;
}
.reason{
  padding:108px 38px 38px !important;
}
.reason-no{
  left:36px !important;
  top:30px !important;
  font-size:58px !important;
}
.reason h3{
  margin-top:0 !important;
}
@media(max-width:700px){
  .reason{
    padding:96px 28px 32px !important;
  }
  .reason-no{
    left:28px !important;
    top:26px !important;
    font-size:52px !important;
  }
}


#recruit img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 42% !important;
  display:block !important;
}


.contact-refined{
  position:relative;
  overflow:hidden;
  padding:130px 0 70px;
  background:
    linear-gradient(145deg,#06364e 0%,#064c5b 57%,#08756f 100%);
  color:#fff;
}
.contact-refined-inner{position:relative;z-index:2}
.contact-refined-head{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:70px;
  align-items:end;
  margin-bottom:64px;
}
.contact-refined-eyebrow{
  margin-bottom:20px;
  color:#a8e5d5;
  font-size:12px;
  font-weight:900;
  letter-spacing:.22em;
}
.contact-refined h2{
  margin:0;
  color:#fff;
  font-size:clamp(48px,5.7vw,82px);
  line-height:1.16;
  letter-spacing:-.055em;
}
.contact-refined-head p{
  margin:0 0 8px;
  color:rgba(255,255,255,.72);
  font-size:15px;
  line-height:2.05;
}
.contact-refined-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.contact-method{
  position:relative;
  min-height:290px;
  padding:34px 38px 32px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:4px 42px 4px 4px;
  background:rgba(255,255,255,.075);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  color:#fff;
  overflow:hidden;
  transition:transform .35s ease,background .35s ease,border-color .35s ease;
}
.contact-method:before{
  content:"";
  position:absolute;
  right:-65px;top:-75px;
  width:220px;height:220px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 0 0 34px rgba(255,255,255,.025),0 0 0 68px rgba(255,255,255,.018);
}
.contact-method:hover{
  transform:translateY(-7px);
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.42);
}
.contact-method-no{
  position:absolute;
  right:31px;top:24px;
  font-size:52px;
  line-height:1;
  font-weight:900;
  color:rgba(255,255,255,.07);
}
.contact-method-label{
  color:#b7e9db;
  font-size:12px;
  font-weight:900;
  letter-spacing:.22em;
  margin-bottom:42px;
}
.contact-method-main{
  position:relative;
  z-index:1;
  font-size:clamp(30px,3.2vw,47px);
  font-weight:850;
  letter-spacing:-.035em;
  line-height:1.25;
}
.contact-email{
  font-size:clamp(22px,2.35vw,35px);
  overflow-wrap:anywhere;
}
.contact-method-bottom{
  position:absolute;
  left:38px;right:38px;bottom:31px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.17);
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:rgba(255,255,255,.78);
  font-size:13px;
  font-weight:700;
}
.contact-arrow{
  width:38px;height:38px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#fff;
  color:#075161;
  font-size:18px;
  transition:transform .3s ease;
}
.contact-method:hover .contact-arrow{transform:translateX(4px)}
.contact-refined-foot{
  margin-top:55px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  justify-content:space-between;
  color:rgba(255,255,255,.38);
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
}
.contact-watercolor{
  position:absolute;
  pointer-events:none;
  border-radius:47% 53% 58% 42% / 43% 45% 55% 57%;
  filter:blur(2px);
}
.contact-watercolor-a{
  width:520px;height:390px;
  right:-170px;top:-130px;
  transform:rotate(-14deg);
  background:
    radial-gradient(ellipse at 40% 50%,rgba(214,225,49,.25),rgba(65,188,112,.13) 42%,transparent 70%);
}
.contact-watercolor-b{
  width:420px;height:300px;
  left:-180px;bottom:-140px;
  transform:rotate(18deg);
  background:
    radial-gradient(ellipse at 50% 45%,rgba(41,188,185,.22),rgba(255,255,255,.04) 46%,transparent 72%);
}
@media(max-width:800px){
  .contact-refined{padding:88px 0 52px}
  .contact-refined-head{grid-template-columns:1fr;gap:26px;margin-bottom:42px}
  .contact-refined h2{font-size:clamp(43px,12vw,60px)}
  .contact-refined-head p br{display:none}
  .contact-refined-cards{grid-template-columns:1fr}
  .contact-method{min-height:245px;padding:29px 27px}
  .contact-method-label{margin-bottom:30px}
  .contact-method-main{font-size:clamp(29px,9vw,42px)}
  .contact-email{font-size:clamp(20px,6.3vw,30px)}
  .contact-method-bottom{left:27px;right:27px;bottom:25px}
  .contact-refined-foot{gap:20px;flex-direction:column}
}


.mobile-menu-btn{display:none}
@media(max-width:800px){
  html{scroll-padding-top:68px}
  body{overflow-x:hidden}
  .wrap{width:calc(100% - 34px)!important;max-width:none!important}
  header{height:68px!important}
  .nav{position:relative}
  .brand{font-size:17px!important;white-space:nowrap;position:relative;z-index:42}
  .mobile-menu-btn{
    display:flex;width:42px;height:42px;border:0;border-radius:50%;background:#f3f8f7;
    align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:0;
    position:relative;z-index:42;cursor:pointer
  }
  .mobile-menu-btn i{display:block;width:19px;height:2px;background:#07364f;border-radius:3px;transition:.25s}
  .mobile-menu-btn.open i:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .mobile-menu-btn.open i:nth-child(2){opacity:0}
  .mobile-menu-btn.open i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  header nav{
    position:fixed!important;left:0;right:0;top:68px;background:rgba(255,255,255,.98);
    display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;
    padding:14px 22px 24px;box-shadow:0 18px 35px rgba(7,54,79,.12);
    transform:translateY(-125%);opacity:0;pointer-events:none;transition:.28s;z-index:40
  }
  header nav.open{transform:translateY(0);opacity:1;pointer-events:auto}
  header nav a,header nav a:not(.contact){
    display:block!important;padding:15px 4px!important;border-bottom:1px solid #e8f0ef;
    transform:none!important
  }
  header nav a:not(.contact):after{display:none!important}
  header nav .contact{margin-top:14px!important;border:0!important;text-align:center!important;color:#fff!important;padding:14px 18px!important}

  .hero{height:auto!important;min-height:0!important;padding:0 0 52px!important;display:flex;flex-direction:column}
  .hero-bg{
    position:relative!important;inset:auto!important;order:0;width:100%!important;height:72vw!important;
    min-height:285px!important;max-height:430px!important;background-size:cover!important;
    background-position:center 34%!important
  }
  .hero>.wrap{order:1}
  .hero-copy{padding:32px 0 0!important;max-width:none!important;width:100%!important}
  .hero .eyebrow{font-size:13px!important;line-height:1.75!important;margin-bottom:14px!important}
  .hero h1{font-size:clamp(42px,12.3vw,58px)!important;line-height:1.14!important;letter-spacing:-.055em!important;margin:0 0 20px!important}
  .hero .lead{font-size:14px!important;line-height:1.9!important;max-width:none!important}
  .hero .buttons{margin-top:24px!important}
  .hero .button{width:100%;min-height:54px!important}

  .section{padding-top:72px!important;padding-bottom:72px!important}
  .service-head,.about-grid,.company-grid,.reason-grid,.contact-refined-head{grid-template-columns:1fr!important}
  .service-grid{grid-template-columns:1fr!important;gap:18px!important}
  .service-card{min-height:0!important}
  .service-photo{height:62vw!important;min-height:230px!important;max-height:330px!important}
  .service-head{gap:25px!important;margin-bottom:34px!important}
  .service-title-row h2{font-size:clamp(48px,15vw,72px)!important}
  .about-grid{gap:35px!important}
  .reason-grid{gap:0!important}
  .reason-item{padding:28px 0!important;border-bottom:1px solid #dce9e7}
  .reason-item:last-child{border-bottom:0}
  .reason-item .num,.reason-no{font-size:48px!important}
  .company-table,.company-list{font-size:13px!important}
  .company-table th,.company-table td{padding:15px 8px!important}
  .recruit-section,.recruit-wrap,.recruit-grid{grid-template-columns:1fr!important}
  .recruit-visual,.recruit-image{min-height:310px!important}
  .contact-refined{padding:72px 0 44px!important}
  .contact-refined-cards{grid-template-columns:1fr!important}
  .contact-method{min-height:225px!important}
  .contact-method-main{overflow-wrap:anywhere}
  footer{padding-bottom:28px!important}
}


@media(max-width:800px){
  .hero:before{display:none!important}
  .hero-bg{
    display:block!important;
    position:relative!important;
    z-index:1!important;
    background-size:cover!important;
    background-position:center 34%!important;
    background-repeat:no-repeat!important;
  }
  .hero>.wrap{position:relative!important;z-index:2!important}
}


@media(max-width:800px){
  .hero-bg{background-image:url("site-img-253ea1fb2d72.jpg")!important;background-size:cover!important;background-position:52% center!important;height:66vw!important;min-height:270px!important;max-height:390px!important}
  .reveal{opacity:1!important;transform:none!important}
}


.mobile-menu-open,.mobile-menu-panel,.mobile-menu-backdrop{display:none}
@media(max-width:800px){
  header{height:72px!important}
  header .nav{position:relative}
  header .brand{font-size:18px!important;white-space:nowrap;position:relative;z-index:104}
  header nav{display:none!important}

  .mobile-menu-open{
    display:flex!important;width:46px;height:46px;border-radius:50%;
    border:1px solid rgba(7,54,79,.12);background:#fff;
    align-items:center;justify-content:center;flex-direction:column;gap:5px;
    position:relative;z-index:105;box-shadow:0 8px 24px rgba(7,54,79,.08);
  }
  .mobile-menu-open i{display:block;width:20px;height:2px;background:var(--navy);border-radius:3px}

  .mobile-menu-backdrop{
    position:fixed;inset:0;background:rgba(3,28,42,.30);
    z-index:98;opacity:0;visibility:hidden;
  }
  .mobile-menu-panel{
    position:fixed;top:0;right:0;width:min(88vw,390px);height:100vh;height:100dvh;
    padding:108px 28px 34px;background:#fff;z-index:99;
    transform:translateX(105%);transition:transform .28s ease;
    flex-direction:column;overflow-y:auto;box-shadow:-18px 0 55px rgba(7,54,79,.16);
  }
  #mobile-menu:target{display:flex!important;transform:translateX(0)}
  #mobile-menu:target + .mobile-menu-backdrop{display:block!important;opacity:1;visibility:visible}

  .mobile-menu-close{
    position:absolute;right:28px;top:25px;width:46px;height:46px;border-radius:50%;
    border:1px solid rgba(7,54,79,.14);background:#fff;color:var(--navy);
    display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:300;
  }
  .mobile-menu-label{margin:0 0 20px;color:var(--teal);font-size:11px;font-weight:900;letter-spacing:.2em}
  .mobile-menu-panel a.menu-item{
    display:flex;align-items:center;justify-content:space-between;padding:18px 2px;
    border-bottom:1px solid var(--line);color:var(--navy);font-size:18px;font-weight:900;
  }
  .mobile-menu-panel a.menu-item:after{content:"→";color:var(--teal)}
  .mobile-menu-panel .mobile-contact{
    margin-top:26px;padding:17px 20px;justify-content:center;border:0;border-radius:999px;
    color:#fff;background:linear-gradient(110deg,var(--teal),var(--navy));
  }
  .mobile-menu-panel .mobile-contact:after{color:#fff}
}


@media(max-width:800px){
  /* 古いハンバーガーは完全に無効化 */
  .mobile-menu-btn{display:none!important;}

  /* お問い合わせボタン：文字・矢印を白に統一 */
  .mobile-menu-panel a.menu-item.mobile-contact{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    box-sizing:border-box;
    margin-top:26px;
    padding:18px 22px;
    border:0;
    border-radius:999px;
    background:linear-gradient(110deg,var(--teal),var(--navy));
    color:#fff!important;
    font-size:18px;
    font-weight:900;
    line-height:1.2;
    box-shadow:0 12px 28px rgba(7,54,79,.12);
  }
  .mobile-menu-panel a.menu-item.mobile-contact:after{
    color:#fff!important;
    margin-left:16px;
  }
}
