
:root{--navy:#152d43;--gold:#927448;--ink:#253442;--muted:#62717a;--paper:#fff;--tint:#f5f4f1;--line:#dedfdc}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:"Yu Gothic","Meiryo",sans-serif;font-size:16px;line-height:1.95;background:white}a{color:inherit;text-decoration:none}a:hover{color:var(--gold)}button,input,textarea,select{font:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Yu Mincho","Noto Serif JP",serif;font-weight:500}h2{font-size:32px;line-height:1.65;letter-spacing:.07em}h3{font-size:20px;font-weight:500;line-height:1.65}p{color:var(--muted);margin-bottom:22px}header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:white;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:17px;color:var(--navy)}.brand b{font-family:Georgia,serif;font-size:40px;letter-spacing:.08em;font-weight:500}.brand span{font-size:14px;letter-spacing:.12em;border-left:1px solid var(--line);padding-left:16px}nav{display:flex;align-items:center;gap:32px}nav a{font-size:14px}nav a.active{color:var(--gold)}nav .contact-nav{padding:12px 24px;background:var(--navy);color:white}.menu-button{display:none}.hero{height:420px;background-image:var(--hero);background-size:cover;background-position:center;position:relative;display:flex;align-items:center}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.7),rgba(255,255,255,.15) 57%,transparent 75%)}.home-hero{height:650px}.hero-copy{position:relative;margin-left:8%;max-width:660px}.eyebrow{font-size:12px;letter-spacing:.19em;color:var(--gold);font-family:Arial,sans-serif;font-weight:600;margin-bottom:17px}.hero h1{font-size:46px;line-height:1.6;letter-spacing:.08em;color:var(--navy);margin-bottom:22px}.home-hero h1{font-size:48px}.hero-copy>p:not(.eyebrow){font-size:16px;line-height:2;color:var(--navy);max-width:550px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;background:var(--navy);color:white;padding:13px 28px;border:1px solid var(--navy);font-size:14px;cursor:pointer}.button:hover{background:#29465e;color:white}.wrap{max-width:1160px;margin:auto;padding-left:28px;padding-right:28px}.section{padding-top:88px;padding-bottom:88px}.section-heading{margin-bottom:38px}.intro{padding-top:85px;padding-bottom:65px;display:grid;grid-template-columns:1fr 1fr;column-gap:80px}.intro>.eyebrow{grid-column:1/-1}.intro h2{font-size:34px}.intro p:last-child{margin:0}.services{display:grid;grid-template-columns:1fr 1fr;gap:34px}.service-card{border-bottom:1px solid var(--line)}.service-card img{aspect-ratio:1.75;object-fit:cover}.service-card>div{padding:27px 0 32px;position:relative}.service-card .number{position:absolute;right:0;top:25px}.service-card h3{font-family:"Yu Mincho",serif;font-size:27px;letter-spacing:.04em}.service-card p:not(.eyebrow){font-size:15px;line-height:1.9;max-width:90%}.number{font:36px Georgia,serif;color:#a78e69}.text-link{font-size:14px;color:var(--navy);border-bottom:1px solid var(--gold);padding-bottom:5px;display:inline-block}.company-preview{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:var(--tint);margin-top:20px}.company-preview>img{height:560px;width:100%;object-fit:cover;object-position:75% center}.company-preview>div{padding:55px 12%}.company-preview h2{font-size:29px}.news-row{display:grid;grid-template-columns:130px 100px 1fr auto;gap:24px;align-items:center;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.news-row time{font-size:14px;color:var(--muted)}.tag{font-size:12px;text-align:center;border:1px solid #cdd3d6;color:var(--muted);padding:2px 10px}.news-row strong{font-size:16px;font-weight:500}.news-block>.text-link{margin-top:28px}.cta{background:var(--navy);color:white;padding:65px max(8%,28px);display:flex;justify-content:space-between;align-items:center;gap:35px}.cta h2{font-size:30px;margin-bottom:12px}.cta p{color:#d0d9df}.cta .eyebrow{color:#d8c4a3}.cta p:last-child{margin-bottom:0}.light{background:white;color:var(--navy);border-color:white;white-space:nowrap}footer{padding:55px 8% 25px;background:#fafafa}.footer-top{display:flex;justify-content:space-between;gap:45px}.footer-links{display:grid;grid-template-columns:repeat(2,auto);gap:10px 45px;font-size:14px}.footer-address{font-size:17.5px;line-height:1.9;margin-top:16px}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;margin-top:30px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.lead{max-width:760px;margin-bottom:45px}.tint{background:var(--tint)}.three,.four{display:grid;gap:36px;grid-template-columns:repeat(3,1fr)}.four{grid-template-columns:repeat(4,1fr);gap:28px}.three article,.four article{border-top:1px solid #b8b1a6;padding-top:25px}.three p,.four p{font-size:15px;line-height:1.9}.three .number,.four .number{display:block;margin-bottom:17px}.split-copy{display:grid;grid-template-columns:1fr 1fr;gap:70px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;list-style:none;padding:0}.steps li{border-top:2px solid var(--navy);padding-top:22px}.steps span{color:var(--gold);font:28px Georgia,serif;display:block;margin-bottom:16px}.steps p{font-size:15px}.note{font-size:14px;padding:18px 25px;background:var(--tint);color:var(--muted);margin-top:30px}.statement{text-align:center;max-width:750px;margin:auto}.statement h2{font-size:42px}.company-message{max-width:1000px}.company-message p{line-height:2.2}.narrow{max-width:900px}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:160px 1fr;padding:22px 0;border-top:1px solid var(--line)}dt{font-weight:500}dd{margin:0;color:var(--muted)}.company-table>div:last-child{border-bottom:1px solid var(--line)}.news-list{min-height:450px}.article h2{margin:30px 0}.article .text-link{margin-top:35px}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}form{background:var(--tint);padding:40px}form h2{font-size:25px;margin-bottom:30px}label{display:block;font-size:14px;margin-bottom:23px}input,select,textarea{display:block;width:100%;background:white;border:1px solid #c7ccce;padding:12px;margin-top:9px;color:var(--ink);border-radius:0}input:focus,textarea:focus,select:focus{outline:2px solid var(--gold);outline-offset:2px}.required{color:var(--gold);font-size:12px;margin-left:8px}.check{display:flex;align-items:center;gap:12px}.check input{width:17px;height:17px;margin:0}.check a{border-bottom:1px solid var(--gold)}.telephone{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;margin:35px 0}.telephone small{display:block;font-size:14px;color:var(--muted)}.telephone a{font:29px Georgia,serif;color:var(--navy)}.address{font-size:14px}.policy h3{margin-top:34px}#form-status{margin-top:20px;font-size:14px;color:var(--navy)}.breadcrumb{max-width:1160px;margin:auto;padding:14px 28px;font-size:12px;color:var(--muted)}
@media(max-width:760px){header{height:76px;padding:0 22px}.brand b{font-size:32px}.brand span{font-size:12px}.menu-button{display:block;border:1px solid var(--line);background:white;color:var(--navy);padding:7px 12px;font-size:14px}nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;z-index:10;padding:22px;flex-direction:column;align-items:stretch;gap:15px}nav.open{display:flex}.hero{height:350px;background-position:62% center}.home-hero{height:560px}.hero:before{background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.65) 60%,rgba(255,255,255,.15))}.hero-copy{margin:0 24px;max-width:95%}.hero h1,.home-hero h1{font-size:31px;letter-spacing:.03em}.hero-copy>p:not(.eyebrow){font-size:14px}.eyebrow{font-size:12px}.wrap{padding-left:24px;padding-right:24px}.section{padding-top:55px;padding-bottom:55px}h2,.intro h2{font-size:27px}.intro{padding-top:50px;padding-bottom:20px;grid-template-columns:1fr;gap:15px}.services,.split-copy,.contact-layout{grid-template-columns:1fr;gap:38px}.company-preview{grid-template-columns:1fr}.company-preview>img{height:280px}.company-preview>div{padding:36px 24px}.news-row{grid-template-columns:100px 90px;gap:15px;padding:23px 0}.news-row strong{grid-column:1/-1}.news-row .text-link{grid-column:1/-1;justify-self:start}.cta{padding:42px 24px;align-items:flex-start;flex-direction:column;gap:25px}.cta h2{font-size:24px}.cta p{font-size:14px}.three,.four,.steps{grid-template-columns:1fr;gap:24px}.three p,.four p,.steps p{margin-bottom:0}.four h3{margin-bottom:12px}.statement h2{font-size:31px}.company-table>div{grid-template-columns:100px 1fr;font-size:14px}.company-message p{font-size:15px}.footer-top{flex-direction:column;gap:22px}.footer-links{gap:10px 20px}.footer-bottom{flex-direction:column;gap:12px}footer{padding:40px 24px 25px}form{padding:25px 20px}.section-heading{margin-bottom:26px}.news-list{min-height:360px}}

header .brand {
  flex: 0 1 224px;
  min-width: 0;
  margin-right: 20px;
}
.brand-logo {
  display: block;
  max-width: 100%;
  height: auto;
}
footer .brand-logo {
  width: 160px;
}
nav a.contact-nav.active {
  color: #ffd46b;
}
#contact-success {
  width: min(440px, calc(100% - 40px));
  padding: 28px;
  border: 1px solid var(--line);
  color: var(--navy);
  background: var(--paper);
}
#contact-success::backdrop {
  background: rgba(21, 45, 67, .55);
}
#contact-success h2 {
  margin: 0;
  font-size: 20px;
}
#contact-success p {
  margin: 12px 0 20px;
}
#contact-success form {
  padding: 0;
  background: transparent;
  margin: 0;
}
#contact-success .button {
  cursor: pointer;
}
@media (max-width: 760px) {
  header .brand {
    flex-basis: 190px;
  }
  header .menu-button {
    flex-shrink: 0;
  }
}

.home-video-player {
  position: relative;
  max-width: 960px;
  margin-inline: auto;
  background: var(--navy);
}
.home-video-player video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}
.home-video-play {
  position: absolute;
  inset: 0;
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.home-video-play[hidden] {
  display: none;
}
.home-video-play::before {
  content: "";
  grid-area: 1 / 1;
  width: clamp(54px, 8vw, 80px);
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 50%;
  background: rgba(21, 45, 67, .84);
}
.home-video-play::after {
  content: "";
  grid-area: 1 / 1;
  margin-left: 4px;
  border-block: 10px solid transparent;
  border-left: 16px solid white;
}
.home-video-play:hover::before,
.home-video-play:focus-visible::before {
  background: var(--navy);
}
.home-video-play:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

.footer-branding {
  max-width: 340px;
  margin: 0 0 20px;
  text-align: center;
  color: #111;
}
.footer-brand-mark {
  display: block;
  width: min(128px, 45%);
  margin: 0 auto 18px;
}
.footer-brand-mark img {
  width: 100%;
  height: auto;
}
.footer-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}
.footer-values li {
  position: relative;
  padding-inline: 6px;
  line-height: 1.35;
}
.footer-values li + li::before {
  content: "";
  position: absolute;
  inset: 2px auto 1px 0;
  width: 1px;
  border-radius: 3px;
  background: linear-gradient(90deg, #a76715, #ffdc77, #bb7e24);
}
.footer-value-initial,
.footer-values strong,
.footer-brand-line {
  font-family: Georgia, "Times New Roman", serif;
}
.footer-value-initial {
  display: block;
  font-size: 26px;
  line-height: .96;
}
.footer-values strong {
  display: block;
  font-size: 14px;
}
.footer-values li > span {
  display: block;
  margin-top: 3px;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 11px;
  font-weight: 600;
  line-break: strict;
}
.footer-brand-line {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin: 14px 0 0;
  color: inherit;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .035em;
  text-transform: uppercase;
  white-space: nowrap;
}
.footer-brand-line::before,
.footer-brand-line::after {
  content: "";
  flex: 1 1 0;
  max-width: 35px;
  height: 1px;
  background: linear-gradient(90deg, #b98023, #f7d775, #b98023);
}
.footer-brand-line i {
  flex: 0 0 auto;
  width: 4px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #fff5ad, #e5a42c 55%, #a76715);
}
.footer-contact {
  min-width: 0;
}
.footer-contact .footer-address {
  margin-top: 0;
}
.footer-top .footer-links {
  align-content: start;
}
