*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Yu Gothic",Meiryo,sans-serif;color:#17232f;line-height:1.8}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.narrow{max-width:850px}.topbar{background:#03111f;color:#abb7c2;font-size:11px}.topbar .wrap{text-align:right;padding:6px 0}.site-header{position:sticky;top:0;z-index:20;background:#071c32f7;color:white}.header-main{height:86px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:13px;align-items:center}.brand img{width:58px;height:58px;object-fit:cover}.brand span,.footer-brand div{display:flex;flex-direction:column}.brand b{font-size:21px;letter-spacing:.12em}.brand small,.footer-brand small{font-size:9px;color:#d7ac49;letter-spacing:.22em}.nav{display:flex;gap:21px;align-items:center;font-size:13px}.contact-link{border:1px solid #c99b36;padding:9px 13px;color:#e3bd63}.menu-toggle{display:none}.hero{min-height:650px;background:radial-gradient(circle at 80% 45%,#b98a2840,transparent 27%),linear-gradient(110deg,#06182d,#0c2d4b);color:#fff;display:flex;align-items:center;position:relative;overflow:hidden}.hero-logo{position:absolute;right:6%;width:440px;height:440px;background:url("../images/shinwa-logo.png") center/contain no-repeat;opacity:.18}.hero-content{position:relative;z-index:2}.eyebrow,.title span,.page-hero span{color:#dfb451;letter-spacing:.22em;font-size:12px;font-weight:bold}.eyebrow.dark{color:#98701c}.hero h1{font-size:clamp(43px,6vw,75px);line-height:1.2;margin:20px 0}.hero h1 em{font-style:normal;color:#e0b24c}.hero p{color:#dbe3e9}.actions{display:flex;gap:14px;margin-top:34px}.btn{display:inline-block;padding:14px 27px}.gold{background:linear-gradient(135deg,#b78623,#e0b34e);color:#fff}.outline{border:1px solid #ffffff77}.section{padding:95px 0}.intro{text-align:center}.intro h2{font-size:43px;line-height:1.5}.intro p{color:#687582}.business{background:#071c32}.business .title h2{color:#fff}.title{margin-bottom:38px}.title h2{font-size:36px;margin:5px 0}.title.row{display:flex;justify-content:space-between;align-items:flex-end}.business-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px}.business-card{padding:50px;min-height:360px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.blue{background:linear-gradient(145deg,#103a60,#09233c)}.goldbg{background:linear-gradient(145deg,#a17c31,#5c461c)}.business-card h3{font-size:31px;margin:10px 0}.business-card b{margin-top:20px;font-size:11px}.gray{background:#f4f5f6}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:#fff;box-shadow:0 8px 25px #071c3210}.placeholder,.big-placeholder,.mini-gallery div{display:grid;place-items:center;background:linear-gradient(135deg,#dfe4e8,#eef1f3);color:#8b969f;letter-spacing:.15em}.placeholder{aspect-ratio:16/10}.card-body{padding:22px}.card-body small{color:#697582}.card-body h3{margin:4px 0}.card-body b{color:#99721e}.cta{padding:85px 0;text-align:center;background:#0c2c49;color:#fff}.cta>div>span{color:#dfb451;letter-spacing:.2em}.cta h2{font-size:38px}.cta strong{display:block;margin-top:20px;font-size:22px}.page-hero{padding:90px 0;background:linear-gradient(120deg,#071c32,#123d62);color:#fff}.page-hero.recruit{background:linear-gradient(120deg,#5c451b,#a27d31)}.page-hero h1{font-size:48px;margin:5px 0}.lead2{font-size:20px;margin-bottom:40px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.services article,.two article{background:#f4f5f6;padding:38px;border-top:3px solid #c6962f}.services b,.two small{color:#9b7420}.license{text-align:center;padding:30px;background:#09243d;color:#fff}.gold-license{background:#76591f}.two{display:grid;grid-template-columns:1fr 1fr;gap:24px}.two a{color:#916b19;font-weight:bold}.search{display:grid;grid-template-columns:1fr 260px 100px;gap:10px;margin-bottom:35px}.search input,.search select,.form input,.form select,.form textarea{padding:14px;border:1px solid #ccd4da;background:#fff;width:100%}.search button,.form button{border:0;background:#0a2b48;color:#fff;padding:14px}.detail{max-width:950px}.big-placeholder{height:480px}.mini-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 35px}.mini-gallery div{height:140px}.detail table,.company table{width:100%;border-collapse:collapse;margin-bottom:35px}.detail th,.detail td,.company th,.company td{padding:18px;border-bottom:1px solid #dce2e6;text-align:left}.detail th,.company th{width:28%;background:#f6f7f8}.joblist{display:grid;gap:12px}.joblist>a{padding:25px;background:#f4f5f6;border-left:3px solid #c6962f;display:flex;justify-content:space-between;align-items:center}.joblist h2{margin:3px 0}.joblist p{margin:0;color:#687582}.company{display:grid;grid-template-columns:280px 1fr;gap:65px}.logo-panel{padding:20px;background:linear-gradient(135deg,#7e6022,#d7aa41);align-self:start}.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:35px 0}.contact-cards a{padding:28px;background:#f4f5f6}.contact-cards small{display:block;color:#9a7220}.contact-cards strong{font-size:21px}.form{display:grid;gap:18px}.form label{font-weight:bold}.form button{cursor:pointer}.note{font-size:12px;color:#6c7781}footer{background:#031321;color:#c3cdd5;padding:60px 0 20px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}.footer-brand{display:flex;gap:14px;align-items:center}.footer-brand img{width:75px;height:75px;object-fit:cover}.footer-brand b{color:#fff;font-size:20px}.copyright{text-align:center;border-top:1px solid #ffffff1a;margin-top:35px;padding-top:18px;font-size:11px}
@media(max-width:900px){.topbar{display:none}.header-main{height:70px}.brand img{width:46px;height:46px}.brand b{font-size:16px}.menu-toggle{display:block;background:none;color:#fff;border:1px solid #ffffff55;padding:7px 10px}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#071c32;padding:22px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.hero{min-height:570px}.hero-logo{right:-120px;width:370px;height:370px}.section{padding:65px 0}.intro h2{font-size:31px}.business-grid,.cards,.services,.two,.company,.footer-grid,.contact-cards{grid-template-columns:1fr}.search{grid-template-columns:1fr}.page-hero h1{font-size:36px}.detail th,.detail td,.company th,.company td{display:block;width:100%}.title.row{flex-direction:column;align-items:flex-start}.mini-gallery{grid-template-columns:1fr 1fr}.big-placeholder{height:300px}}.coming-soon{background:#fff;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid #e0e4e7;padding:55px 25px}.coming-soon span{font-size:11px;letter-spacing:.25em;color:#a57d25;font-weight:bold}.coming-soon h2,.coming-soon h3{font-size:38px;margin:10px 0;color:#102a43}.coming-soon p{color:#6b7782}.coming-soon.large{min-height:430px}.coming-soon .btn{margin-top:20px}.coming-soon h3{font-size:34px}

/* Bright corporate redesign */
body{background:#fff;color:#243443}.site-header{background:rgba(255,255,255,.97);color:#17324a;box-shadow:0 2px 18px #16314a14}.topbar{background:#f6f2e8;color:#786538}.brand b{color:#17324a}.nav a{color:#274157}.contact-link{background:#c6962f!important;color:#fff!important;border-color:#c6962f}.menu-toggle{color:#17324a;border-color:#17324a44}
.bright-hero{position:relative;min-height:680px;background:#edf3f7;color:#17324a}.slides,.slide,.hero-wash{position:absolute;inset:0}.slide{overflow:hidden;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease,transform 7s ease;transform:scale(1.03)}.slide.active{opacity:1;transform:scale(1.08)}.hero-wash{background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.87) 38%,rgba(255,255,255,.35) 65%,rgba(255,255,255,.08) 100%)}.bright-hero .hero-content{position:relative;z-index:3}.bright-hero .hero-content>p:not(.eyebrow){color:#44596a}.bright-hero h1{color:#17324a;text-shadow:0 1px 0 #fff}.bright-hero h1 em{color:#b38322}.whitebtn{background:#fff;color:#17324a;border:1px solid #cbd5dc}.slide-dots{display:flex;gap:9px;margin-top:42px}.dot{width:34px;height:3px;border:0;background:#17324a33;padding:0;cursor:pointer}.dot.active{background:#c6962f}.intro{background:#fff}.business{background:#f7f8f8}.business .title h2{color:#17324a}.business-grid{gap:24px;background:transparent}.business-card{box-shadow:0 15px 40px #17324a12;min-height:340px}.business-card.blue{background:linear-gradient(145deg,#1d5276,#2f7296)}.business-card.goldbg{background:linear-gradient(145deg,#d0a64b,#a77d26)}.gray{background:#f5f7f8}.cta{background:linear-gradient(120deg,#f7f4ec,#edf5f8);color:#17324a}.cta h2{color:#17324a}.cta>div>span{color:#a67b22}.page-hero{background:linear-gradient(120deg,#f4f8fa,#e4eff4);color:#17324a}.page-hero.recruit{background:linear-gradient(120deg,#fbf8ef,#f1e5c7)}footer{background:#17324a}.coming-soon{box-shadow:0 15px 45px #17324a0d}
@media(max-width:900px){.nav{background:#fff;box-shadow:0 12px 25px #17324a18}.bright-hero{min-height:600px}.hero-wash{background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.72))}.business-grid{gap:16px}}

.slide-city{background:linear-gradient(180deg,#cfeeff 0%,#f8fcff 58%,#e7eef1 59%,#dce5e8 100%)}
.skyline{position:absolute;left:45%;right:0;bottom:0;height:68%;opacity:.72;background:linear-gradient(90deg,transparent 0 4%,#9eb9c6 4% 11%,transparent 11% 13%,#bdd0d8 13% 22%,transparent 22% 24%,#86aab9 24% 33%,transparent 33% 36%,#c8d7dc 36% 43%,transparent 43% 45%,#789ead 45% 58%,transparent 58% 61%,#abc4ce 61% 72%,transparent 72% 74%,#8faebb 74% 84%,transparent 84% 87%,#c2d4da 87% 100%);clip-path:polygon(0 44%,8% 44%,8% 15%,18% 15%,18% 55%,27% 55%,27% 28%,38% 28%,38% 8%,49% 8%,49% 40%,58% 40%,58% 20%,70% 20%,70% 52%,78% 52%,78% 0,90% 0,90% 35%,100% 35%,100% 100%,0 100%)}
.slide-building{background:linear-gradient(135deg,#fff8e8,#dff3fb 55%,#b9dce8)}
.tower{position:absolute;bottom:-8%;background:linear-gradient(90deg,#a8c8d3,#f5fbfd 45%,#8db3c1);box-shadow:0 20px 40px #375e6d22;transform:skewY(-3deg)}
.tower:after{content:"";position:absolute;inset:4% 8%;background:repeating-linear-gradient(0deg,#ffffff55 0 5px,#6f9aaa55 5px 8px),repeating-linear-gradient(90deg,transparent 0 24px,#ffffff88 24px 27px)}
.t1{right:5%;width:20%;height:78%}.t2{right:27%;width:16%;height:58%}.t3{right:45%;width:11%;height:42%}
.slide-connect{background:linear-gradient(120deg,#fff 0%,#f8f2e4 45%,#e8f4f8 100%)}
.curve{position:absolute;border:2px solid #c6962f44;border-radius:50%;width:680px;height:680px;right:-130px;top:-220px}.c2{width:900px;height:900px;right:-310px;top:-320px;border-color:#6fa7bb33}.slide-mark{position:absolute;width:310px;height:310px;object-fit:contain;right:12%;top:50%;transform:translateY(-50%);opacity:.22}

.photo-slide{background-size:cover!important;background-position:center!important}
.bright-hero .hero-wash{background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.90) 35%,rgba(255,255,255,.50) 60%,rgba(255,255,255,.14) 100%)}

.brand b{letter-spacing:.08em}
.en-company{font-size:13px;letter-spacing:.12em;color:#9a7425}

/* New bright slideshow visuals */
.visual-slide{overflow:hidden}
.slide-office{background:linear-gradient(145deg,#e8f7fd 0%,#ffffff 48%,#dceef5 100%)}
.glass-building{position:absolute;bottom:-5%;background:linear-gradient(100deg,#9fc8d8 0%,#effaff 38%,#86b5c8 72%,#d9edf5 100%);box-shadow:0 18px 45px rgba(45,92,112,.15);clip-path:polygon(10% 0,100% 8%,94% 100%,0 100%)}
.glass-building:after{content:"";position:absolute;inset:3%;background:repeating-linear-gradient(0deg,transparent 0 23px,rgba(255,255,255,.72) 23px 26px),repeating-linear-gradient(90deg,transparent 0 34px,rgba(255,255,255,.65) 34px 37px)}
.g1{right:4%;width:23%;height:83%}.g2{right:27%;width:18%;height:66%;opacity:.9}.g3{right:45%;width:13%;height:48%;opacity:.75}

.slide-property{background:linear-gradient(155deg,#fffaf0 0%,#fff 45%,#e8f5f8 100%)}
.property-block{position:absolute;bottom:8%;border-radius:2px;box-shadow:0 20px 55px rgba(53,82,93,.12);background:linear-gradient(135deg,#fff,#dcebf0);border:1px solid rgba(177,142,66,.18)}
.property-block:after{content:"";position:absolute;inset:12%;background:repeating-linear-gradient(0deg,#b9d1da 0 10px,transparent 10px 25px),repeating-linear-gradient(90deg,transparent 0 44px,rgba(191,151,61,.28) 44px 47px)}
.p1{right:7%;width:31%;height:53%}.p2{right:31%;width:22%;height:39%;bottom:7%}.p3{right:2%;width:13%;height:34%;bottom:6%}
.sun-glow{position:absolute;right:11%;top:10%;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,#e8bd5b 0%,rgba(232,189,91,.35) 35%,transparent 72%)}

.slide-business{background:linear-gradient(120deg,#fdfbf5 0%,#f1f8fa 55%,#e1f1f5 100%)}
.biz-line{position:absolute;height:2px;background:linear-gradient(90deg,transparent,#bd8e2d,transparent);transform:rotate(-24deg);transform-origin:right center;right:-8%;width:62%}.line1{top:30%}.line2{top:49%;opacity:.55}.line3{top:68%;opacity:.3}
.biz-circle{position:absolute;border-radius:50%;border:1px solid rgba(184,139,45,.28)}.bc1{width:440px;height:440px;right:3%;top:9%}.bc2{width:620px;height:620px;right:-15%;top:-7%;border-color:rgba(80,147,171,.22)}
.slide-brand-mark{position:absolute;right:14%;top:50%;width:270px;height:270px;object-fit:contain;transform:translateY(-50%);opacity:.28}

/* Header brand refinement */
.header-company{
  display:flex;
  flex-direction:column;
  justify-content:center;
  line-height:1.15;
}
.header-company b{
  font-family:"Avenir Next","Nunito","Trebuchet MS","Yu Gothic",Meiryo,sans-serif;
  font-weight:600;
  letter-spacing:.055em;
  font-size:22px;
  color:#17324a;
}
.header-company small{
  margin-top:6px;
  font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-size:10px;
  font-weight:500;
  letter-spacing:.16em;
  color:#9a7425;
}
.nav{
  font-family:"Avenir Next","Nunito","Trebuchet MS","Yu Gothic",Meiryo,sans-serif;
  font-weight:500;
}
@media(max-width:900px){
 .header-company b{font-size:17px}
 .header-company small{font-size:9px;margin-top:4px}
}

.property-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.property-category{background:#fff;padding:32px 25px;border:1px solid #e4e8eb;min-height:230px;transition:.3s;position:relative;box-shadow:0 10px 30px rgba(23,50,74,.05)}
.property-category:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(23,50,74,.10);border-color:#d4b15e}
.property-category>span{font-size:11px;color:#b1882e;position:absolute;right:20px;top:18px}
.property-category small,.property-prep-list small{font-size:10px;letter-spacing:.15em;color:#a27a24}
.property-category h3{font-size:21px;color:#17324a;margin:35px 0 12px}
.property-category p{display:inline-block;margin-top:22px;padding:6px 12px;background:#f5f1e7;color:#96701e;font-size:12px;letter-spacing:.08em}
.property-prep-list{display:grid;gap:15px}
.property-prep-list article{background:#fff;border:1px solid #e1e6e9;padding:30px 34px;display:flex;justify-content:space-between;align-items:center;scroll-margin-top:120px}
.property-prep-list h2{margin:3px 0;font-size:24px;color:#17324a}
.property-prep-list p{margin:3px 0;color:#71808b}
.property-prep-list strong{white-space:nowrap;color:#9a7425;background:#f6f1e5;padding:9px 16px;font-size:12px}
.prep-contact{text-align:center;margin-top:50px}
@media(max-width:900px){.property-category-grid{grid-template-columns:1fr 1fr}.property-prep-list article{align-items:flex-start;gap:20px}}
@media(max-width:560px){.property-category-grid{grid-template-columns:1fr}.property-prep-list article{flex-direction:column}}

/* 4-photo hero slideshow */
.photo-slide{
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  transform:scale(1.025);
}
.photo-slide.active{animation:photoZoom 7s ease-out forwards}
@keyframes photoZoom{from{transform:scale(1.025)}to{transform:scale(1.085)}}
.hero-wash{
  background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.80) 36%,rgba(255,255,255,.24) 68%,rgba(255,255,255,.08) 100%);
}

.hero-en-copy{
  margin-top:16px;
  font-family:"Avenir Next","Nunito","Trebuchet MS",sans-serif;
  font-size:12px;
  letter-spacing:.16em;
  font-weight:600;
  color:#a37a25;
}

.contact-form{max-width:820px;margin:35px auto 0}
.form-row{margin-bottom:22px}
.form-row label{display:block;margin-bottom:8px;font-weight:600;color:#17324a}
.form-row label span{font-size:10px;color:#a37a25;margin-left:6px}
.form-row input,.form-row select,.form-row textarea{width:100%;box-sizing:border-box;border:1px solid #d8dfe3;background:#fff;padding:13px 14px;font:inherit;border-radius:3px;outline:none}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:#b58a2d;box-shadow:0 0 0 3px rgba(181,138,45,.08)}
.form-submit{text-align:center;margin-top:28px}
.form-submit button{border:0;cursor:pointer}
.form-note{text-align:center;margin-top:14px;font-size:12px;color:#77838b}
