/*
Theme Name: Rubys
Theme URI: https://rubys.co.jp/
Author: Ruby's
Description: 株式会社Ruby'sのコーポレートサイト用オリジナルテーマ。
Version: 1.0.0
Text Domain: rubys
*/
:root{--ink:#050505;--mist:#eef1f1;--line:#bfc3c3;--shell:1124px;--side:clamp(24px,11vw,158px)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:"Noto Sans JP",sans-serif;-webkit-font-smoothing:antialiased}body.menu-open,body.is-loading{overflow:hidden}a{color:inherit;text-decoration:none}a[href],button,[role="button"]{cursor:pointer}img{display:block;max-width:100%;height:auto}.sp-only{display:none}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-loader{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;background:#fff;opacity:1;visibility:visible;transition:opacity .75s cubic-bezier(.65,0,.35,1),visibility .75s}.has-visited .site-loader{display:none}.site-loader-logo{width:clamp(180px,20vw,280px);opacity:0;transform:scale(.94);animation:loader-logo 1.2s cubic-bezier(.22,1,.36,1) .12s forwards}.site-loader.is-finished{opacity:0;visibility:hidden;pointer-events:none}.site-loader.is-finished .site-loader-logo{transform:scale(1.04);transition:transform .75s ease}@keyframes loader-logo{0%{opacity:0;transform:scale(.94);filter:blur(4px)}55%{opacity:1;filter:blur(0)}100%{opacity:1;transform:scale(1)}}
.site-header{position:fixed;z-index:20;top:0;left:0;width:100%;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;background:transparent;transition:background-color .35s ease}.site-header.is-scrolled{background:rgba(255,255,255,.96)}.site-logo{width:160px;height:56px}.site-logo img{width:100%;height:100%;object-fit:contain}.menu-toggle{width:60px;height:60px;border:1px solid #959595;border-radius:50%;background:rgba(255,255,255,.15);display:grid;place-content:center;gap:6px;cursor:pointer}.menu-toggle span:not(.screen-reader-text){display:block;width:28px;height:1px;background:#777;transition:.25s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.global-menu{position:fixed;z-index:15;inset:0;display:flex;align-items:center;justify-content:center;padding:100px 24px 48px;background:rgba(245,247,247,.97);overflow:hidden;opacity:0;visibility:hidden;transition:opacity .45s cubic-bezier(.65,0,.35,1),visibility .45s}.global-menu::before{content:"RUBY'S";position:absolute;right:-.04em;bottom:-.2em;color:rgba(0,0,0,.025);font:500 clamp(120px,22vw,390px)/1 Roboto,sans-serif;letter-spacing:-.06em;white-space:nowrap;pointer-events:none}.global-menu.is-open{opacity:1;visibility:visible}.global-menu nav{position:relative;z-index:1;display:grid;width:min(760px,calc(100% - 48px));text-align:left}.global-menu a{display:flex;align-items:center;justify-content:space-between;padding:18px 2px;border-bottom:1px solid rgba(0,0,0,.24);font:400 clamp(26px,3.2vw,46px)/1.2 Roboto,sans-serif;letter-spacing:.1em;opacity:0;transform:translateY(18px);transition:opacity .45s ease,transform .55s cubic-bezier(.22,1,.36,1),color .25s,padding .25s}.global-menu a::after{content:"→";font-size:.55em;font-weight:400;opacity:.65;transition:transform .25s}.global-menu.is-open a{opacity:1;transform:none}.global-menu.is-open a:nth-child(1){transition-delay:.08s}.global-menu.is-open a:nth-child(2){transition-delay:.13s}.global-menu.is-open a:nth-child(3){transition-delay:.18s}.global-menu.is-open a:nth-child(4){transition-delay:.23s}.global-menu.is-open a:nth-child(5){transition-delay:.28s}.global-menu a:hover{color:#777;padding-left:10px}.global-menu a:hover::after{transform:translateX(5px)}
.hero{position:relative;height:100vh;min-height:720px;display:flex;align-items:center;justify-content:center;padding:70px 24px 0;overflow:hidden;background:#fff}.hero-poster,.hero-video,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-poster,.hero-video{object-fit:cover}.hero-video{opacity:0;transition:opacity .35s ease}.hero-video.is-playing{opacity:1}.hero-shade{background:rgba(255,255,255,.16)}.hero-inner{position:absolute;z-index:1;top:38.3333%;left:24px;right:24px;text-align:center;color:#000}.hero-words{display:flex;align-items:center;justify-content:center;gap:clamp(28px,4.7vw,68px);font:500 clamp(48px,5.56vw,80px)/1 Roboto,sans-serif}.hero-words span,.hero-tagline{opacity:0;transform:translateY(10px);will-change:opacity,transform}.hero-tagline{margin:64px 0 0;font:400 clamp(20px,2.64vw,38px)/1.3 Roboto,sans-serif;letter-spacing:.1em}.hero-intro-ready .hero-words span,.hero-intro-ready .hero-tagline{animation:hero-copy-in 1.5s ease-out forwards}.hero-intro-ready .hero-words span:nth-child(1){animation-delay:0s}.hero-intro-ready .hero-words span:nth-child(2){animation-delay:.32s}.hero-intro-ready .hero-words span:nth-child(3){animation-delay:.64s}.hero-intro-ready .hero-tagline{animation-delay:.96s}@keyframes hero-copy-in{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:none}}
.business{position:relative;min-height:620px;padding:0 0 90px}.business-photo{position:absolute;z-index:0;top:-97px;right:0;width:min(1094px,76%);height:542px;overflow:hidden}.business-photo img{width:100%;height:100%;object-fit:cover}.business-panel{position:relative;z-index:1;width:min(680px,calc(100% - 48px));height:400px;margin-left:max(24px,calc((100vw - 1244px)/2));top:-26px;padding:56px 60px;background:var(--mist)}
.section-kicker{margin:0 0 38px;font-size:16px;line-height:2;letter-spacing:.1em}.section-kicker::before{content:"";display:inline-block;width:8px;height:8px;margin-right:12px;border-radius:50%;background:#111}.section-title{margin:0;font:400 60px/1 Roboto,sans-serif;letter-spacing:.1em}.section-lead{margin:25px 0 66px;font-size:16px;line-height:2;letter-spacing:.15em}.text-link{display:flex;align-items:center;justify-content:space-between;width:100%;padding-bottom:3px;border-bottom:1px solid #111;font:400 18px/2 Roboto,sans-serif;letter-spacing:.1em}.text-link::after,.news-link::after{content:"→";font-size:18px;line-height:1}
@media(min-width:901px){
  .business{min-height:43.0556vw;padding-bottom:6.25vw}
  .business-photo{top:-6.7361vw;width:75.9722vw;height:37.6389vw}
  .business-panel{top:-1.8056vw;width:47.2222vw;height:27.7778vw;margin-left:6.8056vw;padding:3.8889vw 4.1667vw}
  .business .section-kicker{margin-bottom:2.6389vw;font-size:1.1111vw}
  .business .section-kicker::before{width:.5556vw;height:.5556vw;margin-right:.8333vw}
  .business .section-title{font-size:4.1667vw}
  .business .section-lead{margin:1.7361vw 0 4.5833vw;font-size:1.1111vw}
  .business .text-link{padding-bottom:3px;font-size:1.25vw;border-bottom-width:.0694vw}
  .business .text-link::after{font-size:1.25vw}
}
.news{min-height:430px;padding:38px var(--side) 120px}.news-title-wrap{width:min(260px,100%);display:flex;flex-direction:column}.news-layout{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(45px,5.9028vw,85px)}.news-list{margin:0;padding:0;border-top:1px solid var(--line);list-style:none}.news-item{border-bottom:1px solid var(--line)}.news-link{min-height:80px;display:grid;grid-template-columns:125px 1fr 18px;align-items:center;font-size:16px;letter-spacing:.1em}.news-link time{font-family:Roboto,sans-serif}.news-link::after{content:"";width:8px;height:13px;margin-right:10px;background:url("assets/icons/chevron-right.svg") center/8px 13px no-repeat;justify-self:end}.news-more{margin-top:auto}
@media(min-width:901px){.news-list{margin-top:150px}}
.site-footer{position:relative;min-height:400px;background:var(--mist);padding:80px var(--side) 25px}.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:60px}.footer-brand{width:340px}.footer-logo{width:160px;height:56px;margin-bottom:14px}.footer-address{font-size:13px;line-height:2;letter-spacing:.1em}.footer-nav{display:flex;gap:18px;flex-wrap:wrap;padding-top:14px;font-size:16px;letter-spacing:.08em}.footer-nav a:not(:last-child)::after{content:"｜";margin-left:18px}.footer-bottom{position:absolute;top:213px;right:var(--side);text-align:right;font-size:11px;letter-spacing:.1em}.footer-bottom>span{display:block;margin-top:36px}.privacy{font-size:13px}
@media(min-width:901px){
  .site-footer{min-height:27.7778vw;padding:5.5556vw 10.9722vw 1.7361vw}
  .footer-top{gap:4.1667vw}
  .footer-brand{width:23.6111vw}
  .footer-logo{width:11.1111vw;height:3.8889vw;margin-bottom:.9722vw}
  .footer-address{font-size:.9028vw}
  .footer-nav{gap:1.25vw;padding-top:.9722vw;font-size:1.1111vw}
  .footer-nav a:not(:last-child)::after{margin-left:1.25vw}
  .footer-bottom{top:14.7917vw;right:10.9722vw;font-size:.7639vw}
  .footer-bottom>span{margin-top:2.5vw}
  .privacy{font-size:.9028vw}
}
@media(max-width:900px){.hero{height:100svh;min-height:680px}.hero-inner{top:50%;transform:translateY(-50%)}.hero-words{flex-direction:column;gap:14px}.hero-tagline{margin-top:42px}.business{min-height:720px;padding-top:240px}.business-photo{top:-70px;width:88%;height:390px}.business-panel{top:0;height:auto;min-height:400px;margin:0 24px;padding:45px 38px}.news{padding-inline:24px}.news-layout{grid-template-columns:1fr;gap:42px}.news-title-wrap{width:260px;display:block}.news-more{margin-top:19px}.footer-top{display:block}.footer-nav{margin-top:48px}.footer-bottom{position:static;display:flex;justify-content:space-between;text-align:left}.footer-bottom>span{margin-top:0}}
@media(max-width:900px){body:not(.home) .site-header{background:#fff;transition:none}}
@media(max-width:600px){.site-header{padding:16px}.site-logo{width:116px;height:auto}.menu-toggle{width:48px;height:48px}.hero{height:100svh;min-height:610px;padding-inline:20px}.hero-words{font-size:48px}.hero-tagline{font-size:17px;line-height:1.8;letter-spacing:.08em}.business{padding-top:205px;min-height:650px}.business-photo{top:-52px;height:300px}.business-panel{min-height:365px;padding:38px 26px}.section-title{font-size:44px}.section-kicker{margin-bottom:28px}.section-lead{margin-bottom:45px;font-size:14px}.news{padding-top:25px}.news-link{grid-template-columns:1fr 18px;gap:7px;padding:18px 0}.news-link time{grid-column:1;font-size:13px}.news-link span{grid-column:1;font-size:14px;line-height:1.7}.news-link::after{grid-column:2;grid-row:1/3}.site-footer{padding:60px 24px 24px}.footer-nav{display:grid;gap:12px}.footer-nav a::after{display:none}.footer-bottom{display:block;margin-top:45px}.privacy{margin-bottom:20px}}
@media(max-width:600px){
  .site-header{padding:12px}.site-logo{width:120px;height:41.7px}.menu-toggle{width:40px;height:40px}.menu-toggle span:not(.screen-reader-text){width:18.6px;height:1px}
  .global-menu{align-items:flex-start;padding:116px 15px 40px}.global-menu::before{right:-.06em;bottom:.04em;font-size:33vw}.global-menu nav{width:100%}.global-menu a{padding:17px 0;font-size:clamp(20px,6.4vw,24px)}
  .hero{height:303px;min-height:303px;padding:0;background:#fff}.hero-poster,.hero-video,.hero-shade{top:69px;height:234px}.hero-inner{top:142px;left:15px;right:15px;transform:none}.hero-words{flex-direction:row;gap:14px;font-size:clamp(21px,6.8571vw,25.714px)}.hero-tagline{margin-top:24px;font-size:clamp(11px,3.7333vw,14px);line-height:1.2;letter-spacing:.07em;white-space:nowrap}
  .sp-only{display:block}.business{min-height:300px;padding:46px 15px 30px}.business-photo{display:none}.business-panel{position:static;width:100%;height:auto;min-height:0;margin:0;padding:0;background:transparent}.business .section-kicker,.news .section-kicker{margin:0 0 5px;font-size:13px;line-height:2;letter-spacing:.1em}.business .section-kicker::before,.news .section-kicker::before{width:6px;height:6px;margin-right:5px}.business .section-title,.news .section-title{font-size:32px;line-height:1.2;letter-spacing:.1em}.business .section-lead{margin:8px 0 35px;font-size:16px;line-height:2;letter-spacing:0}.business .section-lead{max-width:355px}.business .text-link,.news .text-link{height:40px;padding-bottom:3px;font-size:14px;line-height:2;letter-spacing:.1em}.business .text-link::after,.news .text-link::after{font-size:14px}
  .news{min-height:492px;padding:46px 15px 80px}.news-layout{display:grid;grid-template-columns:1fr;gap:0}.news-title-wrap{display:contents}.news .section-kicker{order:1;margin:0}.news .section-title{order:2;margin-top:1px}.news-list{order:3;margin-top:20px}.news-more{order:4;margin-top:37px}.news-link{min-height:99px;grid-template-columns:1fr 18px;grid-template-rows:auto auto;gap:5px 8px;padding:15px 0 10px}.news-link time{grid-column:1;grid-row:1;font-size:13px;line-height:1.3}.news-link span{grid-column:1;grid-row:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;line-height:1.5}.news-link::after{grid-column:2;grid-row:1/3;align-self:center;margin-right:10px}
  .site-footer{min-height:515px;padding:48px 24px 22px}.footer-brand{width:100%}.footer-logo{width:151px;height:56px;margin:0 0 20px}.footer-address{font-size:clamp(10px,3.4667vw,13px);line-height:2;letter-spacing:.06em}.footer-nav{display:grid;margin-top:20px;padding:0;gap:0;font-size:16px;line-height:2.4;letter-spacing:.1em}.footer-nav a::before{content:"> ";}.footer-nav a::after{display:none}.footer-bottom{position:absolute;right:23px;bottom:21px;left:24px;display:block;margin:0;text-align:right;font-size:11px}.footer-bottom>span{display:block;margin-top:20px}.privacy{margin:0;font-size:13px}
}
.business-page{overflow:hidden}.business-hero{position:relative;height:51.3889vw;min-height:600px;background:#fff}.business-hero-image{position:absolute;top:0;right:0;width:47.9167vw;height:51.3889vw;min-height:600px;overflow:hidden}.business-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}.business-hero-copy{position:absolute;left:6.9444vw;top:15.6944vw}.business-breadcrumb{margin:0 0 2.6389vw;font:400 1.1111vw/2 Roboto,sans-serif;letter-spacing:.1em}.business-breadcrumb span{display:inline-block;width:.5556vw;height:.5556vw;margin-right:.8333vw;border-radius:50%;background:#000}.business-hero-copy h1{margin:0;font:400 6.9048vw/1 Roboto,sans-serif;letter-spacing:.1em}.business-hero-jp{margin:3.6806vw 0 0;font-size:2.2222vw;letter-spacing:.1em}.business-hero-lead{margin:2.7778vw 0 0;font-size:1.1111vw;letter-spacing:.1em}.business-services{height:113.4028vw;padding:6.9444vw 0 7.5694vw 16.5278vw;background:var(--mist)}.business-services-card{position:relative;height:98.8889vw;padding:5.5556vw 9.8611vw 5.5556vw 5.5556vw;background:#fff}.business-service{position:relative}.business-service+.business-service{margin-top:5.4861vw;padding-top:5.4861vw;border-top:.0694vw solid #aaa}.business-service>img{width:68.0556vw;height:25vw;object-fit:cover}.business-service-copy h2{margin:2.7778vw 0 1.7361vw;font-size:2.2222vw;font-weight:500;line-height:1.5;letter-spacing:.1em}.business-service-copy p{margin:0;font-size:1.1111vw;line-height:2;letter-spacing:.1em}.business-service-number{position:absolute;left:-15.4861vw;top:0;font:400 2.7778vw/1 Roboto,sans-serif;letter-spacing:.1em}.business-service:first-child::before{content:"";position:absolute;left:-13.75vw;top:8.8194vw;width:.0694vw;height:34.375vw;background:#555}.business-brands{height:36.5278vw;padding-top:6.9444vw;background:#fff}.business-brands>h2{margin:0;text-align:center;font:400 4.1667vw/1 Roboto,sans-serif;letter-spacing:.1em}.business-brand-grid{position:relative;display:grid;grid-template-columns:20.8333vw 20.8333vw;justify-content:center;gap:18.1944vw;margin-top:3.2639vw}.business-brand-grid::after{content:"";position:absolute;top:0;left:50%;width:.0694vw;height:14.7917vw;background:#aaa}.business-brand{display:block}.business-brand-logo{display:block;width:20.8333vw;height:9.3056vw;overflow:hidden}.business-brand-logo img{width:100%;height:100%;object-fit:contain}.business-brand-link{display:flex;align-items:center;justify-content:space-between;height:3.3333vw;border-bottom:.0694vw solid #111;font-size:1.25vw;letter-spacing:.1em}.business-brand-link::after{content:"→"}
@media(max-width:900px){.business-hero{height:425px;min-height:425px}.business-hero-image{top:68px;width:100%;height:280px;min-height:0}.business-hero-image img{object-position:center}.business-hero-copy{top:251px;left:0;width:274px;height:174px;padding:18px 15px;background:#fff}.business-breadcrumb{margin:0 0 13px;font-size:8.357px}.business-breadcrumb span{width:4.179px;height:4.179px;margin-right:6px}.business-hero-copy h1{font-size:40px;letter-spacing:.04em}.business-hero-jp{margin:19px 0 0;font-size:15px}.business-hero-lead{margin:12px 0 0;font-size:12px}.business-services{height:781px;padding:37px 15px 40px 63px}.business-services-card{height:704px;padding:16px 8px 28px 9px}.business-service+.business-service{margin-top:22px;padding-top:22px;border-top:0}.business-service>img{width:280px;height:140px}.business-service-copy h2{margin:11px 0 8px;font-size:18px;line-height:1.5;letter-spacing:.04em}.business-service-copy p{font-size:13px;line-height:2;letter-spacing:0}.business-service-copy p br{display:none}.business-service-number{left:-53px;top:-21px;font-size:20px;letter-spacing:.04em}.business-service:first-child::before{left:-43px;top:38px;width:1px;height:341px}.business-brands{height:707px;padding-top:74px}.business-brands>h2{font-size:32px;letter-spacing:.04em}.business-brand-grid{display:grid;grid-template-columns:300px;gap:79px;margin-top:49px}.business-brand-grid::after{display:none}.business-brand-logo{width:300px;height:134px}.business-brand-link{height:40px;border-bottom:1px solid #111;font-size:18px}.business-brand-link::after{content:"";width:8px;height:13px;margin-right:8px;background:url("assets/icons/chevron-right.svg") center/contain no-repeat}}
.business-brand-link::after{content:"";width:.5556vw;height:.9028vw;margin-right:.5556vw;background:url("assets/icons/business-chevron-right.svg") center/contain no-repeat}
@media(max-width:900px){.business-brand-link::after{width:8px;height:13px;margin-right:8px;background-image:url("assets/icons/business-chevron-right.svg")}}
.business-hero-image img{object-position:90% 50%}
.business-brand-grid{margin-top:5vw}
.business-brand-link{margin-top:40px}
.business-service+.business-service .business-service-number{top:5.4861vw}
html:has(body.admin-bar){margin-top:0!important;margin-bottom:32px!important}body.admin-bar #wpadminbar{position:fixed!important;top:auto!important;bottom:0!important}
@media(max-width:900px){.business-brand-grid{margin-top:49px}.business-brands{height:787px}}
@media(max-width:782px){html:has(body.admin-bar){margin-bottom:46px!important}}
@media(max-width:900px){
  .site-header{padding:12px}.site-logo{width:120px;height:41.7px}.menu-toggle{width:40px;height:40px}.menu-toggle span:not(.screen-reader-text){width:18.6px;height:1px}
  .business-services{height:auto;min-height:0;padding:37px 15px 40px 63px}.business-services-card{height:auto;min-height:0;padding:16px 8px 16px 9px}.business-service>img{width:100%;height:auto;aspect-ratio:2/1;object-fit:cover}.business-service:first-child::before{top:22px;height:calc(100% + clamp(15px,4vw,36px) - 23px)}.business-service+.business-service{margin-top:clamp(15px,4vw,36px);padding-top:0}.business-service+.business-service .business-service-number{top:16px}.business-service-copy p{padding-bottom:0}.business-service-number{left:-53px}
  .site-footer{min-height:515px;padding:48px 24px 22px}.footer-brand{width:100%}.footer-logo{width:151px;height:56px;margin:0 0 20px}.footer-address{font-size:13px;line-height:2;letter-spacing:.06em}.footer-nav{display:grid;margin-top:20px;padding:0;gap:0;font-size:16px;line-height:2.4;letter-spacing:.1em}.footer-nav a::before{content:"> "}.footer-nav a::after{display:none}.footer-bottom{position:absolute;right:23px;bottom:21px;left:24px;display:block;margin:0;text-align:right;font-size:11px}.footer-bottom>span{display:block;margin-top:20px}.privacy{margin:0;font-size:13px}
}

/* Privacy */
.privacy-page{overflow:hidden}
.privacy-hero{position:relative;height:51.3889vw;min-height:600px;background:#fff}
.privacy-hero-image{position:absolute;top:0;right:0;width:47.9167vw;height:51.3889vw;min-height:600px;overflow:hidden}
.privacy-hero-image img{position:absolute;top:0;left:.06%;width:190.56%;max-width:none;height:100%;object-fit:fill}
.privacy-hero-copy{position:absolute;left:6.9444vw;top:15.6944vw}
.privacy-breadcrumb{margin:0 0 2.6389vw;font:400 1.1111vw/2 Roboto,sans-serif;letter-spacing:.1em}
.privacy-breadcrumb span{display:inline-block;width:.5556vw;height:.5556vw;margin-right:.8333vw;border-radius:50%;background:#000}
.privacy-hero h1{margin:0;font:400 6.9048vw/1 Roboto,sans-serif;letter-spacing:.1em}
.privacy-hero-copy>p:last-child{margin:3.6806vw 0 0;font-size:2.2222vw;letter-spacing:.1em}
.privacy-content{padding:8.3333vw 24px 10.4167vw;background:#fff}
.privacy-content-inner{width:min(1040px,100%);margin:0 auto}
.privacy-content h2{margin:0 0 3.4722vw;padding-bottom:1.3889vw;border-bottom:1px solid #777;font-size:clamp(26px,2.5vw,36px);font-weight:500;line-height:1.5;letter-spacing:.08em}
.privacy-content h3{margin:4.1667vw 0 1.3889vw;font-size:clamp(18px,1.5278vw,22px);font-weight:500;line-height:1.7;letter-spacing:.06em}
.privacy-content p,.privacy-content li{font-size:clamp(13px,1.0417vw,15px);line-height:2.15;letter-spacing:.06em}
.privacy-content p{margin:0}
.privacy-content ul{margin:2.0833vw 0 0;padding-left:1.5em}
.privacy-content a{text-decoration:underline;text-underline-offset:.25em}
@media(max-width:900px){
  .privacy-hero{height:425px;min-height:425px}
  .privacy-hero-image{top:68px;width:100%;height:280px;min-height:0}
  .privacy-hero-image img{left:.06%;width:190.56%;height:100%}
  .privacy-hero-copy{top:251px;left:0;width:300px;height:174px;padding:18px 15px;background:#fff}
  .privacy-breadcrumb{margin:0 0 13px;font-size:8.357px}
  .privacy-breadcrumb span{width:4px;height:4px;margin-right:6px}
  .privacy-hero h1{font-size:40px;letter-spacing:.04em}
  .privacy-hero-copy>p:last-child{margin:19px 0 0;font-size:15px}
  .privacy-content{padding:60px 15px 80px}
  .privacy-content h2{margin-bottom:30px;padding-bottom:15px;font-size:24px}
  .privacy-content h3{margin:44px 0 14px;font-size:18px}
  .privacy-content p,.privacy-content li{font-size:13px;line-height:2}
  .privacy-content ul{margin-top:22px;padding-left:1.4em}
}

/* NEWS switches to the SP layout together with the hamburger menu. */
@media(max-width:900px){
  .news{min-height:492px;padding:46px 15px 80px}
  .news-layout{display:grid;grid-template-columns:1fr;gap:0}
  .news-title-wrap{display:contents;width:auto}
  .news .section-kicker{order:1;margin:0 0 5px;font-size:13px;line-height:2;letter-spacing:.1em}
  .news .section-kicker::before{width:6px;height:6px;margin-right:5px}
  .news .section-title{order:2;margin-top:1px;font-size:32px;line-height:1.2;letter-spacing:.1em}
  .news-list{order:3;margin-top:20px}
  .news-more{order:4;margin-top:37px}
  .news-link{min-height:99px;grid-template-columns:1fr 18px;grid-template-rows:auto auto;gap:5px 8px;padding:15px 0 10px}
  .news-link time{grid-column:1;grid-row:1;font-size:13px;line-height:1.3}
  .news-link span{grid-column:1;grid-row:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;line-height:1.5}
  .news-link::after{grid-column:2;grid-row:1/3;align-self:center;margin-right:10px}
  .news .text-link{height:40px;padding-bottom:3px;font-size:14px;line-height:2;letter-spacing:.1em}
  .news .text-link::after{font-size:14px}
}

/* News archive */
.news-archive-page{overflow:hidden;background:#fff}
.news-page-hero{position:relative;height:51.3889vw;min-height:600px;background:#fff}
.news-page-hero-image{position:absolute;top:0;right:0;width:47.9167vw;height:51.3889vw;min-height:600px;overflow:hidden}
.news-page-hero-image img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.news-page-hero-copy{position:absolute;left:6.9444vw;top:15.6944vw}
.news-page-hero-copy h1{margin:0;font:400 6.9048vw/1 Roboto,sans-serif;letter-spacing:.1em}
.news-page-hero-copy>p:last-child{margin:3.6806vw 0 0;font-size:2.2222vw;letter-spacing:.1em}
.news-archive-content{padding:8.3333vw var(--side) 10.4167vw;background:#fff}
.news-archive-inner{width:min(1240px,100%);margin:0 auto}
.news-archive-heading{display:flex;flex-direction:column;align-self:start}
.news-archive-breadcrumb,.news-single-breadcrumb{margin:0 0 3.4722vw;font:400 1.1111vw/2 Roboto,sans-serif;letter-spacing:.1em}
.news-archive-breadcrumb span,.news-single-breadcrumb span{display:inline-block;width:.5556vw;height:.5556vw;margin-right:.8333vw;border-radius:50%;background:#000}
.news-archive-heading .section-kicker{margin-bottom:12px}
.news-archive-list{margin-top:0}
.news-pagination{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:4.1667vw}
.news-pagination .page-numbers{display:grid;width:42px;height:42px;border:1px solid #aaa;place-items:center;font:400 14px/1 Roboto,sans-serif;transition:background .2s,color .2s,border-color .2s}
.news-pagination .page-numbers.current,.news-pagination .page-numbers:hover{border-color:#111;background:#111;color:#fff}
.news-pagination .dots{border-color:transparent;background:transparent;color:#111}
.news-empty{margin:0;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:15px}

/* News single */
.news-single-page{padding:12.5vw 24px 10.4167vw;background:#fff}
.news-single-article{width:min(900px,100%);margin:0 auto}
.news-single-header{padding-bottom:2.7778vw;border-bottom:1px solid #aaa}
.news-single-header .section-kicker{margin-bottom:2.0833vw}
.news-single-header time{display:block;font:400 14px/1.5 Roboto,sans-serif;letter-spacing:.1em}
.news-single-header h1{margin:1.3889vw 0 0;font-size:clamp(26px,2.5vw,36px);font-weight:500;line-height:1.6;letter-spacing:.06em}
.news-single-content{padding:4.1667vw 0;font-size:clamp(14px,1.1111vw,16px);line-height:2.1;letter-spacing:.05em}
.news-single-content>*:first-child{margin-top:0}.news-single-content>*:last-child{margin-bottom:0}
.news-single-content img{margin:2.7778vw auto;max-width:100%;height:auto}
.news-single-content h2{margin:3.4722vw 0 1.3889vw;padding-bottom:12px;border-bottom:1px solid #aaa;font-size:clamp(22px,1.9444vw,28px)}
.news-single-content h3{margin:2.7778vw 0 1.1111vw;font-size:clamp(18px,1.5278vw,22px)}
.news-single-content a{text-decoration:none}
.news-single-nav{display:grid;grid-template-columns:1fr 180px 1fr;align-items:center;padding-top:2.7778vw;border-top:1px solid #aaa;font:400 13px/1 Roboto,sans-serif;letter-spacing:.1em}
.news-single-nav>div:last-child{text-align:right}.news-single-back{display:grid;height:48px;border:1px solid #111;place-items:center;text-align:center;transition:background .2s,color .2s}.news-single-back:hover{background:#111;color:#fff}
@media(max-width:900px){
  .news-page-hero{height:425px;min-height:425px}
  .news-page-hero-image{top:68px;width:100%;height:280px;min-height:0}
  .news-page-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}
  .news-page-hero-copy{position:absolute;top:251px;left:0;width:274px;height:174px;padding:18px 15px;background:#fff}
  .news-page-hero-copy h1{font-size:40px;letter-spacing:.04em}
  .news-page-hero-copy>p:last-child{margin:19px 0 0;font-size:15px}
  .news-archive-content{padding:60px 15px 80px}
  .news-archive-inner{display:block}
  .news-archive-heading{display:block}
  .news-archive-breadcrumb,.news-single-breadcrumb{margin-bottom:35px;font-size:10px}
  .news-archive-breadcrumb span,.news-single-breadcrumb span{width:5px;height:5px;margin-right:7px}
  .news-archive-heading .section-kicker{margin-bottom:5px}
  .news-archive-main{margin-top:0}
  .news-archive-list{margin-top:0}
  .news-pagination{margin-top:45px;gap:7px}.news-pagination .page-numbers{width:38px;height:38px;font-size:13px}
  .news-single-page{padding:100px 15px 80px}
  .news-single-header{padding-bottom:28px}.news-single-header .section-kicker{margin-bottom:20px}.news-single-header h1{margin-top:12px;font-size:24px}
  .news-single-content{padding:42px 0;font-size:14px;line-height:2}
  .news-single-content img{margin:28px auto}.news-single-content h2{margin:36px 0 15px}.news-single-content h3{margin:30px 0 12px}
  .news-single-nav{grid-template-columns:1fr 120px 1fr;gap:8px;padding-top:28px;font-size:11px}.news-single-back{height:44px}
}

/* Contact thanks */
.thanks-body{padding:8.3333vw 24px 10.4167vw;background:#fff}
.thanks-inner{width:min(900px,100%);margin:0 auto;text-align:center}
.thanks-inner h2{margin:0;font-size:clamp(28px,2.5vw,36px);font-weight:500;line-height:1.5;letter-spacing:.1em}
.thanks-message{margin-top:3.4722vw;font-size:clamp(13px,1.1111vw,16px);line-height:2.15;letter-spacing:.08em}
.thanks-message p{margin:0}
.thanks-message p+p{margin-top:1.3889vw}
.thanks-message .thanks-notes{margin-top:2.7778vw}
.thanks-home-link{display:flex;align-items:center;justify-content:space-between;width:280px;height:64px;margin:4.8611vw auto 0;padding:0 24px;border:1px solid #111;background:#111;color:#fff;font-size:15px;letter-spacing:.1em;transition:background .25s,color .25s}
.thanks-home-link:hover{background:#fff;color:#111}
@media(max-width:900px){
  .thanks-body{padding:64px 15px 88px}
  .thanks-inner h2{font-size:24px}
  .thanks-message{margin-top:32px;font-size:13px;line-height:2}
  .thanks-message p+p{margin-top:18px}
  .thanks-message .thanks-notes{margin-top:30px;text-align:left}
  .thanks-home-link{width:280px;max-width:100%;height:58px;margin-top:48px;padding:0 20px;font-size:14px}
}
.company-page{overflow:hidden}.company-hero{position:relative;height:51.3889vw;min-height:600px;background:#fff}.company-hero-image{position:absolute;top:0;right:0;width:47.9167vw;height:51.3889vw;min-height:600px;overflow:hidden}.company-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}.company-hero-copy{position:absolute;left:6.9444vw;top:15.6944vw}.company-breadcrumb{margin:0 0 2.6389vw;font:400 1.1111vw/2 Roboto,sans-serif;letter-spacing:.1em}.company-breadcrumb span{display:inline-block;width:.5556vw;height:.5556vw;margin-right:.8333vw;border-radius:50%;background:#000}.company-hero-copy h1{margin:0;font:400 6.9048vw/1 Roboto,sans-serif;letter-spacing:.1em}.company-hero-jp{margin:3.6806vw 0 0;font-size:2.2222vw;letter-spacing:.1em}.company-hero-lead{margin:2.7778vw 0 0;font-size:1.1111vw;letter-spacing:.1em}.company-profile{min-height:67.9861vw;padding:7.9167vw 9.8611vw 8.3333vw 14.0972vw;background:#fff}.company-profile-inner{display:grid;grid-template-columns:25.3472vw minmax(0,1fr);gap:5.2083vw;align-items:start}.company-building{width:25.3472vw;height:51.7361vw;object-fit:cover}.company-data{margin:3.8889vw 0 0}.company-data>div{display:grid;grid-template-columns:7.2222vw 1fr;min-height:4.0972vw;align-items:start}.company-data dt{font-size:1.1111vw;font-weight:500;line-height:1.8;letter-spacing:.1em}.company-data dd{margin:0;font-size:1.0417vw;line-height:1.8;letter-spacing:.1em}.company-data>div:nth-child(2){min-height:8.1944vw}.company-data>div:nth-child(7){min-height:10.1389vw}
@media(max-width:900px){.company-hero{height:425px;min-height:425px}.company-hero-image{top:68px;width:100%;height:280px;min-height:0}.company-hero-copy{top:251px;left:0;width:274px;height:174px;padding:18px 15px;background:#fff}.company-breadcrumb{margin:0 0 13px;font-size:8.357px}.company-breadcrumb span{width:4.179px;height:4.179px;margin-right:6px}.company-hero-copy h1{font-size:40px;letter-spacing:.04em}.company-hero-jp{margin:19px 0 0;font-size:15px}.company-hero-lead{margin:12px 0 0;font-size:12px;white-space:nowrap}.company-profile{min-height:1408px;padding:40px 15px 59px}.company-profile-inner{display:block}.company-building{width:100%;height:auto;aspect-ratio:345/232;object-fit:cover}.company-data{margin:48px 0 0}.company-data>div{display:block;min-height:93px;padding:16px 0 13px;border-bottom:1px solid #777}.company-data>div:first-child{min-height:75px;padding-top:0}.company-data>div:nth-child(2){min-height:156px}.company-data>div:nth-child(6){min-height:135px}.company-data>div:nth-child(7){min-height:180px}.company-data>div:nth-child(8),.company-data>div:nth-child(9){min-height:102px}.company-data dt{font-size:16px;line-height:1.5;letter-spacing:.04em}.company-data dd{margin:15px 0 0;font-size:15px;line-height:1.8;letter-spacing:.04em}}
@media(max-width:900px){.company-hero-image picture{display:block;width:100%;height:100%}.company-profile{min-height:0;padding-bottom:59px}.company-profile-inner>picture{display:block;width:100%}.company-data>div,.company-data>div:first-child,.company-data>div:nth-child(2),.company-data>div:nth-child(6),.company-data>div:nth-child(7),.company-data>div:nth-child(8),.company-data>div:nth-child(9){min-height:0;padding:16px 0 17px}.company-data>div:first-child{padding-top:0}.site-footer{display:flex;flex-direction:column}.site-footer .footer-top{flex:0 0 auto}.site-footer .footer-bottom{position:static;right:auto;bottom:auto;left:auto;width:100%;max-width:none;margin-top:auto;text-align:right;align-self:stretch}.site-footer .footer-bottom>span{margin-top:20px}}
.contact-page{overflow:hidden}.contact-hero{position:relative;height:38.8889vw;min-height:500px;background:#fff}.contact-hero-art{position:absolute;top:0;right:0;width:47.9167vw;height:100%;overflow:hidden;background:linear-gradient(135deg,#eef1f1 0%,#f9fafa 52%,#e6eaea 52%,#f7f8f8 100%)}.contact-hero-art::before,.contact-hero-art::after{content:"";position:absolute;border:1px solid rgba(0,0,0,.11);background:rgba(255,255,255,.38);backdrop-filter:blur(7px)}.contact-hero-art::before{top:13%;left:20%;width:42%;height:60%;transform:rotate(8deg)}.contact-hero-art::after{right:10%;bottom:8%;width:48%;height:42%;transform:rotate(-7deg)}.contact-hero-copy{position:absolute;left:6.9444vw;top:13.8889vw}.contact-breadcrumb{margin:0 0 2.6389vw;font:400 1.1111vw/2 Roboto,sans-serif;letter-spacing:.1em}.contact-breadcrumb span{display:inline-block;width:.5556vw;height:.5556vw;margin-right:.8333vw;border-radius:50%;background:#000}.contact-hero h1{margin:0;font:400 6.9048vw/1 Roboto,sans-serif;letter-spacing:.1em}.contact-hero-copy>p:last-child{margin:3.6806vw 0 0;font-size:2.2222vw;letter-spacing:.1em}.contact-body{padding:8.3333vw 0 9.7222vw;background:var(--mist)}.contact-intro{text-align:center}.contact-intro p{margin:0;font-size:1.1111vw;line-height:2;letter-spacing:.1em}.contact-intro p+p{margin-top:.6944vw}.contact-form-panel{width:68.0556vw;margin:5.5556vw auto 0;padding:5.5556vw 6.9444vw;background:#fff}.rubys-contact-form,.wpcf7-form{display:grid;gap:3.3333vw}.rubys-contact-form label,.wpcf7-form label{display:block}.form-label{display:flex;align-items:center;gap:.8333vw;margin-bottom:1.1111vw;font-size:1.25vw;font-weight:500;letter-spacing:.1em}.form-label em{display:inline-grid;min-width:3.3333vw;height:1.9444vw;padding:0 .5556vw;background:#111;color:#fff;font-size:.8333vw;font-style:normal;font-weight:400;place-items:center}.rubys-contact-form input:not([type=checkbox]),.rubys-contact-form textarea,.wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance){display:block;width:100%;border:0;border-bottom:.0694vw solid #777;border-radius:0;background:#fff;padding:1.1111vw 0;font:400 1.1111vw/1.6 "Noto Sans JP",sans-serif;letter-spacing:.06em;outline:none;transition:border-color .2s}.rubys-contact-form input:focus,.rubys-contact-form textarea:focus,.wpcf7-form-control:focus{border-color:#000}.rubys-contact-form textarea,.wpcf7-textarea{height:10.4167vw;resize:vertical}.form-acceptance,.wpcf7-acceptance .wpcf7-list-item-label{display:flex!important;align-items:center;justify-content:center;gap:.6944vw;font-size:1.1111vw;letter-spacing:.08em}.form-acceptance input,.wpcf7-acceptance input{width:1.25vw;height:1.25vw;margin:0}.form-acceptance a,.wpcf7-acceptance a{text-decoration:underline;text-underline-offset:.25em}.rubys-contact-form button,.wpcf7-submit{position:relative;width:27.7778vw;height:4.8611vw;margin:0 auto;border:0;background:#111;color:#fff;font:400 1.25vw/1 Roboto,sans-serif;letter-spacing:.15em;cursor:pointer;transition:background .2s}.rubys-contact-form button span{position:absolute;right:1.3889vw}.rubys-contact-form button:hover,.wpcf7-submit:hover{background:#555}.wpcf7-spinner{position:absolute}.wpcf7-response-output{margin:0!important;padding:1em!important;font-size:14px}
@media(max-width:900px){.contact-hero{height:360px;min-height:360px}.contact-hero-art{top:68px;width:100%;height:210px}.contact-hero-copy{top:224px;left:0;width:300px;height:136px;padding:18px 15px;background:#fff}.contact-breadcrumb{margin:0 0 12px;font-size:8.357px}.contact-breadcrumb span{width:4px;height:4px;margin-right:6px}.contact-hero h1{font-size:40px;letter-spacing:.04em}.contact-hero-copy>p:last-child{margin:15px 0 0;font-size:15px}.contact-body{padding:60px 15px 80px}.contact-intro p{font-size:13px}.contact-intro p+p{margin-top:8px}.contact-form-panel{width:100%;margin-top:40px;padding:42px 18px}.rubys-contact-form,.wpcf7-form{gap:34px}.form-label{gap:4px;margin-bottom:10px;font-size:16px}.form-label em{min-width:0;height:auto;padding:0;font-size:0}.form-label em::after{content:"*";font-size:16px}.rubys-contact-form input:not([type=checkbox]),.rubys-contact-form textarea,.wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance){padding:14px 16px;border-width:1px;font-size:15px}.rubys-contact-form textarea,.wpcf7-textarea{height:180px}.form-acceptance,.wpcf7-acceptance .wpcf7-list-item-label{gap:8px;font-size:14px}.form-acceptance input,.wpcf7-acceptance input{width:18px;height:18px}.rubys-contact-form button,.wpcf7-submit{width:160px;height:58px;font-size:16px}.rubys-contact-form button span{right:18px}}
.contact-hero-art{background:#eef1f1}.contact-hero-art::before,.contact-hero-art::after{display:none}.contact-hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.contact-body{background:#fff}.contact-intro p{font-size:clamp(13px,1.1111vw,16px)}.contact-form-panel{width:min(900px,calc(100% - 48px));margin-top:72px;padding:0;background:#fff}.rubys-contact-form,.wpcf7-form{gap:46px}.form-label{gap:4px;margin-bottom:12px;font-size:18px;font-weight:500;letter-spacing:.03em}.form-label em{min-width:0;height:auto;padding:0;background:none;color:#000;font-size:0}.form-label em::after{content:"*";font-size:18px}.rubys-contact-form input:not([type=checkbox]),.rubys-contact-form textarea,.wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance){min-height:64px;padding:16px 18px;border:1px solid #c7c9ca;border-radius:2px;background:#fff;font-size:16px}.rubys-contact-form textarea,.wpcf7-textarea{height:230px}.rubys-contact-form button,.wpcf7-submit{width:170px;height:64px;font-size:16px}.form-acceptance,.wpcf7-acceptance .wpcf7-list-item-label{font-size:15px}
@media(max-width:900px){.contact-form-panel{width:100%;margin-top:42px;padding:0 3px}.rubys-contact-form,.wpcf7-form{gap:34px}.form-label{font-size:16px}.form-label em::after{font-size:16px}.rubys-contact-form input:not([type=checkbox]),.rubys-contact-form textarea,.wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance){min-height:56px;padding:14px 15px;font-size:15px}.rubys-contact-form textarea,.wpcf7-textarea{height:180px}.rubys-contact-form button,.wpcf7-submit{width:150px;height:56px;font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.global-menu,.menu-toggle span,.site-loader,.site-header{transition:none}.site-loader-logo{animation:none;opacity:1;transform:none}.hero-words span,.hero-tagline{opacity:1;transform:none;filter:none}.hero-intro-ready .hero-words span,.hero-intro-ready .hero-tagline{animation:none}}

/* Link hover motion */
.site-logo,.footer-logo,.footer-nav a,.privacy{transition:opacity .35s ease,color .35s ease}
.text-link,.news-link,.business-brand-link{position:relative;overflow:hidden;transition:color .35s ease,opacity .35s ease}
.text-link::before,.news-link::before,.business-brand-link::before{content:"";position:absolute;z-index:1;right:0;bottom:-1px;left:0;height:2px;background:#777;transform:scaleX(0);transform-origin:left center;transition:transform .38s cubic-bezier(.22,1,.36,1);pointer-events:none}
.text-link::after,.news-link::after,.business-brand-link::after{transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .35s ease}
.text-link::after{margin-right:8px}
.news-link::after{margin-right:16px}
.business-brand-link::after{margin-right:14px}
@media(hover:hover) and (pointer:fine){
  .site-logo:hover,.footer-brand>a:hover .footer-logo{opacity:.62}
  .footer-nav a:hover,.privacy:hover{color:#777;opacity:.65}
  .text-link:hover,.news-link:hover,.business-brand:hover .business-brand-link{color:#777;opacity:.72}
  .text-link:hover::before,.news-link:hover::before,.business-brand:hover .business-brand-link::before{transform:scaleX(1)}
  .text-link:hover::after,.news-link:hover::after,.business-brand:hover .business-brand-link::after{transform:translateX(6px);opacity:.7}
}
@media(prefers-reduced-motion:reduce){.site-logo,.footer-logo,.footer-nav a,.privacy,.text-link,.news-link,.business-brand-link,.text-link::before,.news-link::before,.business-brand-link::before,.text-link::after,.news-link::after,.business-brand-link::after{transition:none}}

/* 404 */
.error-page{display:grid;min-height:calc(100svh - 100px);padding:clamp(150px,14vw,220px) 24px clamp(100px,10vw,150px);place-items:center;background:#fff;text-align:center}
.error-page-inner{width:min(720px,100%)}
.error-code{margin:0;color:#e9eded;font:500 clamp(120px,18vw,260px)/.75 Roboto,sans-serif;letter-spacing:.02em}
.error-page h1{margin:4.1667vw 0 0;font-size:clamp(26px,2.5vw,36px);font-weight:500;line-height:1.5;letter-spacing:.1em}
.error-message{margin:2.0833vw 0 0;font-size:clamp(13px,1.1111vw,16px);line-height:2;letter-spacing:.08em}
.error-home-link{display:flex;align-items:center;justify-content:space-between;width:280px;height:64px;margin:4.1667vw auto 0;padding:0 24px;border:1px solid #111;background:#111;color:#fff;font-size:15px;letter-spacing:.1em;transition:background .35s ease,color .35s ease,opacity .35s ease}
.error-home-link span:last-child{transition:transform .35s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){.error-home-link:hover{background:#fff;color:#111}.error-home-link:hover span:last-child{transform:translateX(6px)}}
@media(max-width:900px){.error-page{min-height:700px;padding:130px 15px 90px}.error-code{font-size:120px}.error-page h1{margin-top:44px;font-size:24px}.error-message{margin-top:24px;font-size:13px}.error-home-link{max-width:100%;height:58px;margin-top:48px;font-size:14px}}

/* Keep the stagger, while allowing each FV copy to fade in more slowly. */
.hero-intro-ready .hero-words span,.hero-intro-ready .hero-tagline{animation-duration:1.8s;animation-timing-function:ease-in-out}
.hero-intro-ready .hero-words span:nth-child(2){animation-delay:.36s}
.hero-intro-ready .hero-words span:nth-child(3){animation-delay:.72s}
.hero-intro-ready .hero-tagline{animation-delay:1.08s}

.hero-video{pointer-events:none;-webkit-user-select:none;user-select:none;transition:none}
.hero-video::-webkit-media-controls,.hero-video::-webkit-media-controls-panel,.hero-video::-webkit-media-controls-play-button,.hero-video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none;opacity:0!important}

/* Contact page refinements */
.contact-hero{height:51.3889vw;min-height:600px}
.contact-hero-art{width:47.9167vw;height:51.3889vw;min-height:600px}
.contact-hero-art img{position:static;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.contact-hero-copy{top:15.6944vw}
.rubys-contact-form,.wpcf7-form{gap:24px}
.form-label{gap:10px}
.form-label em{display:inline-grid;min-width:48px;height:24px;padding:0 8px;background:#d3223a;color:#fff;font-size:12px;line-height:1;font-style:normal;font-weight:500;place-items:center}
.form-label em::after{content:none}
.form-acceptance,.wpcf7-form .form-acceptance{display:flex!important;justify-content:center;align-items:center}
.wpcf7-form .form-acceptance .wpcf7-list-item{margin:0}
.wpcf7-form .form-acceptance label,.wpcf7-form .form-acceptance .wpcf7-list-item-label{display:inline-flex!important;align-items:center;justify-content:center;gap:8px}
.wpcf7-form .form-acceptance input{flex:0 0 auto;margin:0}
.rubys-contact-form button,.wpcf7-form .wpcf7-submit{display:block;margin-right:auto;margin-left:auto}
.wpcf7-form .wpcf7-form-control-wrap:has(.wpcf7-acceptance){display:flex;width:100%;justify-content:center}
.wpcf7-form .wpcf7-acceptance{display:flex!important;width:auto;justify-content:center}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item{display:block;margin:0}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item>label{display:inline-flex!important;align-items:center;justify-content:center;gap:10px;white-space:nowrap}
.wpcf7-form .wpcf7-acceptance input[type="checkbox"]{display:block;flex:0 0 auto;width:20px;height:20px;margin:0}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item-label{display:inline!important}
.rubys-contact-form button,.wpcf7-form .wpcf7-submit{width:280px;min-width:280px}
@media(max-width:900px){
  .contact-hero{height:425px;min-height:425px}
  .contact-hero-art{top:68px;width:100%;height:280px;min-height:0}
  .contact-hero-copy{top:251px;left:0;width:274px;height:174px;padding:18px 15px}
  .contact-hero-art img{width:100%;height:100%;object-fit:cover;object-position:center}
  .contact-form-panel{padding-right:3px;padding-left:3px}
  .rubys-contact-form,.wpcf7-form{gap:24px}
  .form-label{gap:8px}
  .form-label em{min-width:42px;height:22px;padding:0 7px;font-size:11px}
  .rubys-contact-form button,.wpcf7-form .wpcf7-submit{width:280px;min-width:280px;max-width:100%}
}
