/*
Theme Name: layerworks_ds_02
Author: Layerworks
Description: ドリームストーンHDの独立テーマ。トップページをGutenbergの標準ブロックで編集できます。
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: layerworks-ds02
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
:root{--ds-navy:#202477;--ds-blue:#009ed8;--ds-ice:#eff8fc;--ds-ink:#30343b;--ds-serif:"Yu Mincho","Hiragino Mincho ProN",serif;--ds-sans:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--ds-gutter:clamp(24px,5.45vw,104px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ds-ink);background:#fff;font-family:var(--ds-sans);font-size:16px;line-height:1.95;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;vertical-align:middle}a{color:var(--ds-navy);text-underline-offset:5px}a:focus-visible,button:focus-visible{outline:3px solid var(--ds-blue);outline-offset:5px}button{font:inherit}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{font-family:var(--ds-serif);font-weight:500;color:var(--ds-navy);line-height:1.65;letter-spacing:.055em}p{margin-bottom:1.2em}h2{font-size:clamp(27px,2.7vw,43px);margin-bottom:22px}h3{font-size:clamp(23px,2vw,31px);margin-bottom:14px}.ds-container{width:calc(100% - var(--ds-gutter)*2);max-width:1400px;margin-right:auto;margin-left:auto}.ds-section{padding:84px 0}.ds-main>.wp-block-group{margin-block-start:0;margin-block-end:0}.ds-main .wp-block-group p:last-child{margin-bottom:0}.ds-header{position:relative;z-index:20;background:#fff}.ds-header-inner{max-width:1608px;width:calc(100% - 64px);min-height:96px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px}.ds-brand{flex-shrink:0;width:clamp(260px,29vw,450px)}.custom-logo-link{display:block}.custom-logo{display:block;width:100%;height:auto}.ds-menu{display:flex;align-items:center;justify-content:flex-end;gap:23px;list-style:none;margin:0;padding:0;font-size:14px;line-height:1.5}.ds-menu li{margin:0;white-space:nowrap}.ds-menu a{text-decoration:none;transition:color .2s}.ds-menu a:hover{color:var(--ds-blue)}.ds-menu li+li{position:relative}.ds-navigation .ds-menu li+li:before{content:"/";position:absolute;left:-14px;color:#a5acbc;font-size:10px}.ds-nav-pending{color:#646873}.ds-navigation .ds-menu li:last-child a{display:block;padding:14px 21px;background:var(--ds-navy);color:#fff}.ds-navigation .ds-menu li:last-child:before{content:none}.ds-menu-toggle{display:none}.skip-link{position:fixed;top:0;left:20px;z-index:99;padding:12px 24px;transform:translateY(-130%);background:#fff}.skip-link:focus{transform:none}
.ds-hero{position:relative;isolation:isolate;min-height:680px;height:clamp(620px,46.6vw,850px);overflow:hidden;background:#def3fa}.ds-hero-image{position:absolute;inset:0;z-index:-2;margin:0!important;width:100%;height:100%}.ds-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 48%}.ds-hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,transparent 45%,rgba(238,248,252,.18) 60%,rgba(238,248,252,.28))}.ds-hero-inner{display:flex;justify-content:flex-end;height:100%;align-items:center;padding-bottom:40px}.ds-hero-copy{width:45%;max-width:635px;margin:0}.ds-hero h1{font-size:clamp(58px,5.3vw,86px);line-height:1.53;letter-spacing:.11em;margin-bottom:34px}.ds-hero-copy p{max-width:540px;font-size:clamp(15px,1.1vw,18px);line-height:2}.ds-hero-copy .ds-hero-lead{font-weight:500;margin-bottom:12px}.ds-scroll{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);font-family:Georgia,serif;font-size:13px!important;letter-spacing:.02em;text-align:center;margin:0!important}.ds-scroll a{text-decoration:none;display:block}.ds-scroll a:after{content:"";display:block;width:1px;height:48px;background:var(--ds-navy);margin:12px auto 0}
.ds-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}.ds-about-image{margin:0;width:100%;height:100%;min-height:510px}.ds-about-image img{display:block;width:100%;height:100%;max-height:620px;min-height:510px;object-fit:cover;object-position:center}.ds-eyebrow{font-size:15px;line-height:1.6;letter-spacing:.09em;color:var(--ds-blue);margin-bottom:30px!important}.ds-eyebrow span[lang]{font-family:Georgia,serif}.ds-label-ja{color:var(--ds-navy);font-size:12px;letter-spacing:.03em}.ds-about-copy h2{font-size:clamp(27px,2.65vw,42px);line-height:1.65;margin-bottom:30px}.ds-about-copy>p:not(.ds-eyebrow):not(.ds-text-link){font-size:16px;line-height:2.1}.ds-text-link{margin-top:32px}.ds-text-link a{display:inline-flex;align-items:center;gap:28px;text-decoration:none;border-bottom:1px solid var(--ds-navy);padding-bottom:9px;font-size:16px}.ds-text-link a:hover{color:var(--ds-blue);border-color:var(--ds-blue)}
.ds-business{background:var(--ds-ice)}.ds-business .ds-eyebrow{margin-bottom:22px!important}.ds-intro{margin-bottom:42px}.ds-business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.ds-business-card{min-width:0}.ds-business-image{margin:0 0 26px;aspect-ratio:1.15}.ds-business-image img{width:100%;height:100%;object-fit:cover}.ds-business-en{color:var(--ds-blue);font-family:Georgia,serif;font-size:16px;line-height:1.5;letter-spacing:.035em;margin-bottom:12px}.ds-number{font-size:30px;margin-right:5px}.ds-business-card h3{margin-bottom:15px}.ds-business-card>p:last-child{font-size:16px;line-height:2.05}.ds-outline-link{text-align:center;margin-top:48px!important}.ds-outline-link a{display:inline-flex;align-items:center;justify-content:center;gap:30px;border:1px solid var(--ds-navy);min-height:66px;min-width:440px;max-width:100%;padding:15px 32px;text-decoration:none;font-size:16px;transition:background .2s,color .2s}.ds-outline-link a:hover{background:var(--ds-navy);color:#fff}
.ds-value{padding-bottom:70px}.ds-value .ds-eyebrow{margin-bottom:24px!important}.ds-value-intro{max-width:1080px}.ds-value-intro p{margin-bottom:12px;line-height:2.05}.ds-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:46px}.ds-direction{text-align:center;position:relative;min-width:0}.ds-value-number{font-family:Georgia,serif;color:var(--ds-blue);font-size:50px;line-height:1.3;margin-bottom:18px!important}.ds-direction:not(:last-child):after{content:"";position:absolute;top:32px;left:calc(50% + 52px);width:calc(100% - 72px);height:1px;background:#7fcaf0}.ds-direction h3{font-size:clamp(21px,1.9vw,28px);letter-spacing:.06em;margin-bottom:12px}.ds-direction>p:last-child{max-width:335px;margin-inline:auto;font-size:16px;line-height:2}.ds-companies{padding:20px 0 74px}.ds-companies .ds-eyebrow{margin-bottom:26px!important}.ds-company-grid{display:flex;justify-content:center;gap:30px}.ds-company-banner{flex:1;max-width:360px;margin:0;min-width:0}.ds-company-banner a{display:block;transition:opacity .2s,transform .2s}.ds-company-banner a:hover{opacity:.75;transform:translateY(-3px)}.ds-company-banner img{display:block;width:100%;height:auto}
.ds-footer{border-top:1px solid #e7eef2;padding:38px 32px 26px}.ds-footer-inner{max-width:1400px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:36px}.ds-footer .ds-brand{width:300px}.ds-footer .ds-menu{gap:22px;font-size:12px;flex-wrap:wrap}.ds-copyright{font-size:12px;letter-spacing:.07em;color:#757a83;text-align:center;margin:38px 0 0}.ds-page{min-height:65vh;padding-top:80px;padding-bottom:100px}.ds-page h1{font-size:40px}.ds-page .alignfull{max-width:none}.ds-main .wp-block-group{box-sizing:border-box}
@media(min-width:1800px){.ds-hero-copy{width:46%}.ds-section{padding-block:104px}.ds-about-grid{gap:64px}.ds-companies{padding-bottom:94px}}
@media(max-width:1250px){.ds-header-inner{width:calc(100% - 40px);gap:24px}.ds-brand{width:320px}.ds-menu{gap:18px;font-size:12px}.ds-navigation .ds-menu li+li:before{left:-11px}.ds-about-grid{gap:36px}.ds-about-image,.ds-about-image img{min-height:480px}.ds-footer-inner{flex-direction:column;gap:25px}.ds-footer .ds-menu{justify-content:center}.ds-business-grid{gap:26px}}
@media(max-width:1280px){.ds-header-inner{min-height:82px;flex-wrap:wrap}.ds-brand{width:340px}.ds-navigation{width:100%}.ds-navigation .ds-menu{display:flex;justify-content:flex-start;flex-wrap:wrap;padding:0 0 24px;font-size:15px;gap:22px}.ds-js .ds-menu-toggle{display:flex;align-items:center;gap:12px;padding:12px 5px;border:0;background:transparent;color:var(--ds-navy);cursor:pointer;min-height:48px}.ds-menu-label{font-size:13px}.ds-menu-icon{display:block;width:25px;height:16px;border-top:1px solid;border-bottom:1px solid;position:relative}.ds-menu-icon:after{content:"";position:absolute;top:7px;left:0;width:25px;height:1px;background:currentColor}.ds-js .ds-navigation{display:none}.ds-js .ds-menu-toggle[aria-expanded="true"]+.ds-navigation{display:block}.ds-hero{height:650px;min-height:0}.ds-hero h1{font-size:clamp(38px,5.25vw,58px)}.ds-hero-copy{width:47%}.ds-hero-copy p{font-size:15px}.ds-section{padding-block:64px}.ds-about-copy h2{font-size:28px}.ds-about-copy>p:not(.ds-eyebrow):not(.ds-text-link){font-size:15px}.ds-about-image,.ds-about-image img{min-height:460px}.ds-business-card>p:last-child{font-size:15px}.ds-business-en{font-size:12px}.ds-direction h3{font-size:22px}.ds-value-grid{gap:24px}}
@media(max-width:767px){:root{--ds-gutter:24px}.ds-header-inner{width:calc(100% - 36px);min-height:72px;gap:0}.ds-brand{width:min(70%,310px)}.ds-menu-label{font-size:11px}.ds-menu-toggle{gap:8px!important}.ds-navigation .ds-menu{display:grid;grid-template-columns:1fr 1fr;gap:0;padding-top:12px}.ds-navigation .ds-menu li{border-top:1px solid #e7eef2;white-space:normal}.ds-navigation .ds-menu a,.ds-navigation .ds-nav-pending{display:block;padding:15px 8px;min-height:50px;font-size:14px}.ds-navigation .ds-menu li+li:before{display:none}.ds-navigation .ds-menu li:last-child a{padding:15px 8px}.ds-hero{height:auto;min-height:0;padding-bottom:56px;overflow:visible;background:#edf8fc}.ds-hero-image{position:relative;inset:auto;z-index:auto;height:auto;aspect-ratio:1.18;width:100%}.ds-hero-image img{object-position:35% 45%}.ds-hero:after{display:none}.ds-hero-inner{height:auto;padding:30px 0 0;display:block}.ds-hero-copy{width:100%;max-width:none}.ds-hero h1{font-size:clamp(42px,9.5vw,66px);line-height:1.55;margin-bottom:22px;letter-spacing:.1em}.ds-hero-copy p{font-size:15px;max-width:none}.ds-hero-copy .ds-hero-lead{margin-bottom:10px}.ds-scroll{position:relative;bottom:auto;left:auto;transform:none;margin-top:30px!important;font-size:12px!important}.ds-scroll a{display:inline-block}.ds-scroll a:after{height:28px;margin-top:8px}.ds-section{padding:56px 0}.ds-about-grid{display:flex;flex-direction:column;gap:30px}.ds-about-image{width:100%;min-height:0;height:auto;aspect-ratio:1.2}.ds-about-image img{min-height:0;max-height:none;width:100%;height:100%}.ds-eyebrow{font-size:13px;margin-bottom:20px!important;letter-spacing:.055em}.ds-label-ja{font-size:11px}.ds-about-copy h2,h2{font-size:clamp(25px,5.8vw,32px);line-height:1.65;margin-bottom:22px}.ds-about-copy>p:not(.ds-eyebrow):not(.ds-text-link){font-size:16px}.ds-text-link{margin-top:26px}.ds-text-link a{font-size:15px}.ds-intro{font-size:16px;margin-bottom:30px}.ds-business-grid{grid-template-columns:1fr;gap:42px}.ds-business-image{aspect-ratio:1.32;margin-bottom:18px}.ds-business-en{font-size:15px;margin-bottom:8px}.ds-number{font-size:28px}.ds-business-card h3{font-size:27px;margin-bottom:12px}.ds-business-card>p:last-child{font-size:16px}.ds-outline-link{margin-top:32px!important}.ds-outline-link a{min-width:0;width:100%;min-height:60px;font-size:14px;padding:15px 18px;gap:20px}.ds-value-intro p{font-size:16px}.ds-value-grid{grid-template-columns:1fr;gap:30px;margin-top:32px}.ds-direction{padding-bottom:28px;border-bottom:1px solid #d9eaf4}.ds-direction:last-child{padding-bottom:0;border:0}.ds-direction:not(:last-child):after{display:none}.ds-value-number{font-size:42px;margin-bottom:10px!important}.ds-direction h3{font-size:25px}.ds-direction>p:last-child{max-width:350px}.ds-companies{padding:0 0 56px}.ds-company-grid{flex-direction:column;align-items:center;gap:18px}.ds-company-banner{width:100%;max-width:360px}.ds-footer{padding:30px 24px 22px}.ds-footer-inner{align-items:flex-start;gap:27px}.ds-footer .ds-brand{width:280px;max-width:100%}.ds-footer nav{width:100%}.ds-footer .ds-menu{display:grid;grid-template-columns:1fr 1fr;gap:15px 16px;font-size:12px}.ds-footer .ds-menu li{white-space:normal}.ds-footer .ds-menu a{display:inline-block;min-height:28px}.ds-copyright{margin-top:28px;font-size:11px}.ds-page{padding-top:45px;padding-bottom:60px}.ds-page h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Keep the original hero subject clear of the message on wide screens. */
@media(min-width:768px){.ds-hero-image{background:#ccecf7}.ds-hero-image img{width:88%;max-width:none;mask-image:linear-gradient(to right,#000 78%,transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 78%,transparent 100%)}}

/* Language selector: one row, after Contact, with a deliberate 32px separation. */
.ds-header-inner{column-gap:24px}.ds-navigation{margin-left:auto}.ds-translate{flex-shrink:0;margin-left:8px;min-width:140px;min-height:38px;display:flex;align-items:center;justify-content:flex-end}.ds-translate .goog-te-gadget-simple{display:flex;align-items:center;background:#fff;border:1px solid #dbe2ec;padding:9px 10px;font-family:var(--ds-sans);font-size:13px;white-space:nowrap}.ds-translate .goog-te-gadget-simple a{color:var(--ds-navy)}
@media(max-width:1280px){.ds-header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;padding:15px 0 10px}.ds-header-inner>.ds-brand{grid-column:1;grid-row:1;max-width:100%}.ds-menu-toggle{grid-column:2;grid-row:1}.ds-navigation{grid-column:1/-1;grid-row:3;margin-left:0}.ds-translate{grid-column:1/-1;grid-row:2;margin-left:0;margin-top:8px;min-height:34px}.ds-translate .goog-te-gadget-simple{padding:7px 9px;font-size:12px}.ds-js .ds-menu-toggle[aria-expanded="true"]+.ds-navigation{display:block}}
@media(max-width:767px){.ds-header-inner>.ds-brand{width:min(100%,310px)}.ds-header-inner{padding-top:10px;column-gap:16px}}
/* Translation can expand copy; retain readable headings without clipping. */
/* Contact keeps its existing destination state until its page is published. */
.ds-navigation .ds-menu li:last-child>a,.ds-navigation .ds-menu li:last-child>.ds-nav-pending{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;padding:12px 20px;border:1px solid var(--ds-navy);border-radius:3px;background:var(--ds-navy);color:#fff;line-height:1.5;text-decoration:none}
.ds-navigation .ds-menu li:last-child>a:after,.ds-navigation .ds-menu li:last-child>.ds-nav-pending:after{content:"→";font-family:Arial,sans-serif}
.ds-navigation .ds-menu li:last-child>a:hover{background:#303b93;border-color:#303b93;color:#fff}
@media(max-width:1280px){.ds-navigation .ds-menu li:last-child{border-top:0;align-self:center}.ds-navigation .ds-menu li:last-child>a,.ds-navigation .ds-menu li:last-child>.ds-nav-pending{margin-block:8px}}
@media(max-width:767px){.ds-navigation .ds-menu li:last-child{grid-column:1/-1}.ds-navigation .ds-menu li:last-child>a,.ds-navigation .ds-menu li:last-child>.ds-nav-pending{display:flex;width:100%;min-height:48px;padding:12px 20px}}
.translated-ltr .ds-hero h1,.translated-rtl .ds-hero h1{font-size:clamp(36px,3.5vw,60px);line-height:1.3;letter-spacing:.02em;overflow-wrap:anywhere}
.translated-ltr .ds-menu,.translated-rtl .ds-menu{font-size:12px;gap:18px}
.translated-ltr .ds-direction h3,.translated-rtl .ds-direction h3{line-height:1.5;letter-spacing:.02em}
@media(min-width:1281px){.translated-ltr .ds-header .ds-brand,.translated-rtl .ds-header .ds-brand{width:clamp(260px,25vw,380px)}}
@media(max-width:767px){.translated-ltr .ds-hero h1,.translated-rtl .ds-hero h1{font-size:clamp(36px,9vw,48px)}.translated-ltr .ds-navigation .ds-menu,.translated-rtl .ds-navigation .ds-menu{gap:0}}
/* Desktop header logo reduced to 80%; mobile and footer retain their sizes. */
@media(min-width:1281px){.ds-header .ds-brand,.translated-ltr .ds-header .ds-brand,.translated-rtl .ds-header .ds-brand{width:clamp(260px,23.2vw,360px)}}
/* City hero: full-width photograph, editable text on the quiet sky. */
.ds-hero.ds-hero-city .ds-hero-image{width:100%;background:#e5f3fc}
.ds-hero.ds-hero-city .ds-hero-image img{width:100%;max-width:100%;mask-image:none;-webkit-mask-image:none;object-position:center}
.ds-hero.ds-hero-city:after{background:linear-gradient(90deg,transparent 40%,rgba(245,250,255,.12))}
@media(max-width:767px){.ds-hero.ds-hero-city{height:650px;padding-bottom:0;overflow:hidden}.ds-hero.ds-hero-city .ds-hero-image{position:absolute;inset:0;height:100%;aspect-ratio:auto;z-index:-2}.ds-hero.ds-hero-city .ds-hero-image img{object-position:62% center}.ds-hero.ds-hero-city .ds-hero-inner{position:relative;padding-top:48px;height:auto}.ds-hero.ds-hero-city h1{font-size:clamp(40px,9.5vw,58px);margin-bottom:24px}.ds-hero.ds-hero-city .ds-scroll{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);margin:0!important}.ds-hero.ds-hero-city:after{display:block;background:linear-gradient(to bottom,rgba(242,249,255,.28),transparent 72%)}}
/* Hero variant 02; variant 01 keeps its original city rules above. */
.ds-hero.ds-hero-gradient:after{background:linear-gradient(90deg,transparent 40%,rgba(255,255,255,.25))}
@media(max-width:767px){.ds-hero.ds-hero-gradient .ds-hero-image img{object-position:80% center}.ds-hero.ds-hero-gradient:after{background:linear-gradient(to bottom,rgba(255,255,255,.6),rgba(255,255,255,.3) 65%,transparent)}}
/* Variant 03: centered copy within the upward-looking buildings. */
.ds-hero.ds-hero-buildings .ds-hero-inner{justify-content:center;align-items:center;padding-bottom:70px}
.ds-hero.ds-hero-buildings .ds-hero-copy{width:100%;max-width:650px;text-align:center}
.ds-hero.ds-hero-buildings .ds-hero-copy p{margin-left:auto;margin-right:auto;max-width:580px}
.ds-hero.ds-hero-buildings .ds-hero-image img{object-position:center 43%}
.ds-hero.ds-hero-buildings:after{background:radial-gradient(ellipse at 50% 43%,rgba(255,255,255,.72) 0%,rgba(255,255,255,.48) 28%,transparent 66%)}
@media(max-width:767px){.ds-hero.ds-hero-buildings .ds-hero-inner{padding-top:55px;padding-bottom:0}.ds-hero.ds-hero-buildings .ds-hero-image img{object-position:52% center}.ds-hero.ds-hero-buildings:after{background:radial-gradient(ellipse at 50% 37%,rgba(255,255,255,.86),rgba(255,255,255,.65) 38%,rgba(255,255,255,.12) 78%)}.ds-hero.ds-hero-buildings .ds-hero-copy p{max-width:340px}}
/* Variant 04: white centered copy over the city panorama. */
.ds-hero.ds-hero-panorama .ds-hero-inner{justify-content:center;align-items:center;padding-bottom:60px}
.ds-hero.ds-hero-panorama .ds-hero-copy{width:100%;max-width:720px;text-align:center;color:#fff;text-shadow:0 2px 12px rgba(0,20,40,.35)}
.ds-hero.ds-hero-panorama h1{color:#fff}
.ds-hero.ds-hero-panorama .ds-hero-copy p{max-width:620px;margin-left:auto;margin-right:auto}
.ds-hero.ds-hero-panorama .ds-hero-image img{object-position:center 48%}
.ds-hero.ds-hero-panorama:after{background:linear-gradient(180deg,rgba(5,24,43,.27),rgba(5,24,43,.52) 52%,rgba(5,24,43,.24))}
.ds-hero.ds-hero-panorama .ds-scroll,.ds-hero.ds-hero-panorama .ds-scroll a{color:#fff}
.ds-hero.ds-hero-panorama .ds-scroll:after{background:#fff}
@media(max-width:767px){.ds-hero.ds-hero-panorama .ds-hero-inner{padding-top:55px;padding-bottom:0}.ds-hero.ds-hero-panorama .ds-hero-image img{object-position:60% center}.ds-hero.ds-hero-panorama .ds-hero-copy p{max-width:340px}.ds-hero.ds-hero-panorama:after{background:linear-gradient(180deg,rgba(5,24,43,.42),rgba(5,24,43,.57) 50%,rgba(5,24,43,.22))}}
/* Variant 04 revision: left-aligned message, bright city on the right. */
.ds-hero.ds-hero-panorama .ds-hero-inner{justify-content:flex-start;padding-bottom:50px}
.ds-hero.ds-hero-panorama .ds-hero-copy{width:52%;max-width:650px;text-align:left}
.ds-hero.ds-hero-panorama .ds-hero-copy p{max-width:560px;margin-left:0;margin-right:0}
.ds-hero.ds-hero-panorama:after{background:linear-gradient(90deg,rgba(3,28,48,.63) 0%,rgba(3,28,48,.44) 35%,rgba(3,28,48,.12) 65%,transparent 100%)}
.ds-hero.ds-hero-panorama .ds-scroll{left:auto;right:5%;transform:none}
@media(max-width:767px){.ds-hero.ds-hero-panorama .ds-hero-inner{padding-top:55px;padding-bottom:0}.ds-hero.ds-hero-panorama .ds-hero-copy{width:100%;max-width:none}.ds-hero.ds-hero-panorama .ds-hero-copy p{max-width:340px}.ds-hero.ds-hero-panorama:after{background:linear-gradient(90deg,rgba(3,28,48,.65),rgba(3,28,48,.38))}.ds-hero.ds-hero-panorama .ds-scroll{left:auto;right:24px;transform:none}}
/* Image-free About section: editorial two-column layout. */
.ds-about.ds-about-text-only{padding:110px 0;background:#fff}
.ds-about-text-only .ds-about-grid{display:grid;grid-template-columns:36% minmax(0,1fr);gap:7%;align-items:start}
.ds-about-text-only .ds-about-label .ds-eyebrow{font-size:12px;letter-spacing:.18em;margin-bottom:22px}
.ds-about-text-only .ds-about-title{font-family:var(--ds-serif);font-size:30px;letter-spacing:.12em;color:var(--ds-navy);line-height:1.6}
.ds-about-text-only .ds-about-copy h2{font-size:clamp(27px,2.4vw,38px);line-height:1.8;margin-bottom:38px}
.ds-about-text-only .ds-about-copy>p:not(.ds-text-link){color:#5f7382;line-height:2.3;margin-bottom:25px}
.ds-about-text-only .ds-text-link{border-top:1px solid #d4dfe7;padding-top:26px;margin-top:38px}
@media(max-width:767px){.ds-about.ds-about-text-only{padding:64px 0}.ds-about-text-only .ds-about-grid{grid-template-columns:minmax(0,1fr);gap:34px}.ds-about-text-only .ds-about-title{font-size:25px}.ds-about-text-only .ds-about-copy h2{font-size:26px;line-height:1.75;margin-bottom:26px}}
/* Text-only business cards with large two-line English titles. */
.ds-business.ds-business-text-only{padding:100px 0;background:#eff5f7;color:#1b394c}
.ds-business-text-only .ds-business-top{display:grid;grid-template-columns:1.35fr 1fr;gap:70px;align-items:start;margin-bottom:64px}
.ds-business-text-only .ds-business-top h2{font-size:clamp(26px,2.3vw,36px);line-height:1.7;margin:0}
.ds-business-text-only .ds-business-top .ds-intro{font-size:15px;line-height:2.1;margin:0;color:#607786}
.ds-business-text-only .ds-business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.ds-business-text-only .ds-business-card{padding:10px 32px 20px;background:transparent}
.ds-business-text-only .ds-business-card:first-child{padding-left:0}
.ds-business-text-only .ds-business-card:last-child{padding-right:0}
.ds-business-text-only .ds-business-card+.ds-business-card{border-left:1px solid #c9d9e1}
.ds-business-text-only .ds-business-index{font:13px/1.5 Arial,sans-serif;color:#267493;margin:0 0 42px}
.ds-business-text-only .ds-business-display{font-family:Arial,Helvetica,sans-serif;font-size:clamp(24px,2.55vw,42px);font-weight:400;line-height:1.25;letter-spacing:0;color:#1b394c;margin:0 0 26px}
.ds-business-text-only .ds-business-card h3{font-family:var(--ds-sans);font-size:18px;font-weight:600;line-height:1.6;color:#1b394c;margin-bottom:20px}
.ds-business-text-only .ds-business-card>p:last-child{font-size:15px;line-height:2.1;color:#607786}
.ds-business-text-only .ds-outline-link{margin-top:48px}
@media(max-width:767px){.ds-business.ds-business-text-only{padding:64px 0}.ds-business-text-only .ds-business-top{grid-template-columns:1fr;gap:24px;margin-bottom:36px}.ds-business-text-only .ds-business-grid{grid-template-columns:1fr}.ds-business-text-only .ds-business-card,.ds-business-text-only .ds-business-card:first-child,.ds-business-text-only .ds-business-card:last-child{padding:30px 0}.ds-business-text-only .ds-business-card+.ds-business-card{border-left:0;border-top:1px solid #c9d9e1}.ds-business-text-only .ds-business-index{margin-bottom:24px}.ds-business-text-only .ds-business-display{font-size:clamp(28px,8vw,38px)}}
/* Group company list, replacing the value section and image banners. */
.ds-companies.ds-company-list-section{padding:90px 0 70px;background:#fff;color:#1b394c}
.ds-company-list-grid{display:grid;grid-template-columns:30% minmax(0,1fr);gap:7%}

.ds-company-list-label h2{font-size:32px;font-weight:400;letter-spacing:.12em;color:#1b394c}
.ds-company-row{display:grid;grid-template-columns:22px minmax(0,1fr) 22px;gap:18px;align-items:center;min-height:190px;padding:30px 0;border-top:1px solid #d2dfe6}
.ds-company-row:last-child{border-bottom:1px solid #d2dfe6}
.ds-company-index{font:12px/1.5 Arial,sans-serif;color:#4488a1;margin:0}
.ds-company-info h3{font-family:var(--ds-sans);font-weight:400;font-size:22px;line-height:1.6;margin:0 0 10px;color:#1b394c}
.ds-company-info h3 a{color:inherit;text-decoration:none}
.ds-company-info h3 a:hover{text-decoration:underline;text-underline-offset:5px}
.ds-company-info p{font-size:13px;line-height:1.9;color:#687e8d;margin:0}
.ds-company-motto{writing-mode:vertical-rl;font-size:12px;line-height:1.5;letter-spacing:.08em;color:#39829b;margin:0;justify-self:end}
@media(max-width:767px){.ds-companies.ds-company-list-section{padding:64px 0}.ds-company-list-grid{grid-template-columns:1fr;gap:30px}.ds-company-list-label h2{font-size:27px}.ds-company-row{grid-template-columns:18px minmax(0,1fr) 18px;gap:12px;min-height:180px;padding:25px 0}.ds-company-info h3{font-size:18px}.ds-company-info p{font-size:12px}.ds-company-motto{font-size:11px}}

/* Company label matches the two-line About label. */
.ds-company-list-label .ds-eyebrow{font-size:12px;letter-spacing:.18em;margin-bottom:22px}
.ds-company-list-label .ds-company-label-title{font-family:var(--ds-serif);font-size:30px;letter-spacing:.12em;color:var(--ds-navy);line-height:1.6;font-weight:400;margin:0}
@media(max-width:767px){.ds-company-list-label .ds-company-label-title{font-size:25px}}
/* Company profile follows the group company list. */
.ds-profile{padding:60px 0 90px;background:#fff;color:#1b394c}
.ds-profile-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:0;padding:25px 0;border-top:1px solid #d2dfe6;align-items:start}
.ds-profile-row:last-child{border-bottom:1px solid #d2dfe6}
.ds-profile-row p{margin:0;font-size:15px;line-height:1.9}
.ds-profile-key{color:#687e8d}
.ds-profile-value{color:#1b394c}
@media(max-width:767px){.ds-profile{padding:30px 0 64px}.ds-profile-row{grid-template-columns:1fr;gap:8px;padding:20px 0}.ds-profile-row p{font-size:14px}}

/* Full-width closing message and persistent scroll-to-top control. */
.ds-closing{background:#092d42;color:#fff;padding:64px 0;margin:0;width:100%}
.ds-closing .ds-closing-title{color:#fff;font-family:var(--ds-serif);font-size:clamp(28px,2.6vw,40px);font-weight:400;letter-spacing:.14em;line-height:1.6;margin:0 0 24px}
.ds-closing .ds-closing-en{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.28em;color:#b6ccd8;margin:0}
.ds-back-to-top{position:fixed;right:32px;bottom:32px;z-index:100;width:50px;height:50px;padding:0;border:1px solid #78909e;border-radius:50%;background:#092d42;color:#fff;font:28px/1 Arial,sans-serif;cursor:pointer;display:grid;place-items:center;box-shadow:0 2px 8px #0002}
.ds-back-to-top[hidden]{display:none}
.ds-back-to-top:hover{background:#174960}
.ds-back-to-top:focus-visible{outline:3px solid #009ed8;outline-offset:4px}
@media(max-width:767px){.ds-closing{padding:48px 0}.ds-closing .ds-closing-title{font-size:28px;letter-spacing:.08em}.ds-back-to-top{right:18px;bottom:18px;width:46px;height:46px}}

/* Business section label aligned with About and Company sections. */
.ds-business-heading .ds-eyebrow{font-size:12px;letter-spacing:.18em;margin-bottom:22px}
.ds-business-text-only .ds-business-heading h2{font-family:var(--ds-serif);font-size:30px;font-weight:400;letter-spacing:.12em;color:var(--ds-navy);line-height:1.6;margin:0}
@media(max-width:767px){.ds-business-text-only .ds-business-heading h2{font-size:25px}}
/* Variant 04: world message composition. */
.ds-hero.ds-hero-world{height:clamp(680px,52vw,920px)}
.ds-hero.ds-hero-world .ds-hero-inner{align-items:flex-start;padding-top:clamp(72px,7vw,120px);padding-bottom:100px}
.ds-hero.ds-hero-world .ds-hero-copy{width:62%;max-width:800px}
.ds-hero.ds-hero-world .ds-hero-kicker{font-family:Arial,sans-serif;font-size:12px;font-weight:600;letter-spacing:.27em;line-height:1.5;margin:0 0 38px}
.ds-hero.ds-hero-world h1{font-size:clamp(52.2px,4.77vw,79.2px);line-height:1.65;letter-spacing:.14em;margin:0 0 50px}
.ds-hero.ds-hero-world .ds-hero-about-link{font-size:14px;line-height:1.6;margin:0}
.ds-hero-about-link a{display:inline-flex;align-items:center;justify-content:space-between;gap:46px;min-width:175px;padding:12px 0 16px;border-bottom:1px solid #ffffff80;color:#fff;text-decoration:none}
.ds-hero-about-link a:hover{border-color:#fff}
.ds-hero-about-link span{font:24px/1 Arial,sans-serif}
.ds-hero-bottom{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:space-between;align-items:end;gap:24px;color:#fff}
.ds-hero-bottom p{margin:0;font-size:12px;letter-spacing:.12em}
.ds-hero-bottom .ds-hero-explore{font:9px/1.6 Arial,sans-serif;letter-spacing:.18em}
@media(max-width:767px){.ds-hero.ds-hero-world{height:650px}.ds-hero.ds-hero-world .ds-hero-inner{padding-top:64px}.ds-hero.ds-hero-world .ds-hero-copy{width:100%}.ds-hero.ds-hero-world .ds-hero-kicker{font-size:10px;margin-bottom:30px}.ds-hero.ds-hero-world h1{font-size:clamp(30.6px,8.1vw,52.2px);letter-spacing:.07em;line-height:1.7;margin-bottom:35px}.ds-hero-bottom{display:block;bottom:24px}.ds-hero-bottom .ds-hero-tagline{font-size:10px;letter-spacing:.04em}.ds-hero-bottom .ds-hero-explore{margin-top:14px;font-size:8px}}
/* Philosophy and vision: spacious, left-aligned typography. */
.ds-philosophy{padding:110px 0 125px;background:#fff;color:#092d42}
.ds-philosophy-content{max-width:1000px}
.ds-philosophy .ds-philosophy-label{font-family:var(--ds-sans);font-size:22px;font-weight:600;letter-spacing:.08em;line-height:1.6;color:#267493;margin:0 0 28px}
.ds-philosophy .ds-philosophy-message{font-family:var(--ds-serif);font-size:clamp(43.7px,4.275vw,68.4px);font-weight:400;letter-spacing:.12em;line-height:1.7;color:#092d42;margin:0 0 60px}
.ds-vision{border-top:1px solid #d2dfe6;padding-top:40px}
.ds-philosophy .ds-vision-heading{font-family:var(--ds-serif);font-size:clamp(30px,3.1vw,48px);font-weight:400;letter-spacing:.08em;line-height:1.65;color:#092d42;margin:0 0 32px}
.ds-vision>p:not(.ds-philosophy-label){font-size:16px;line-height:2.3;color:#687e8d;margin:0 0 24px}
.ds-vision>p:last-child{margin-bottom:0}
@media(max-width:767px){.ds-philosophy{padding:64px 0 72px}.ds-philosophy .ds-philosophy-label{font-size:18px;margin-bottom:22px}.ds-philosophy .ds-philosophy-message{font-size:clamp(36.1px,9.025vw,55.1px);letter-spacing:.08em;margin-bottom:40px}.ds-vision{padding-top:30px}.ds-philosophy .ds-vision-heading{font-size:28px;letter-spacing:.04em;margin-bottom:24px}.ds-vision>p:not(.ds-philosophy-label){font-size:15px;line-height:2.1}}
/* Business v2: product, lifestyle, and travel. */
.ds-business-v2 .ds-business-section-title{font-family:var(--ds-serif);font-size:30px;font-weight:400;line-height:1.6;color:#1b394c;letter-spacing:.08em;margin:0 0 60px}
.ds-business-v2 .ds-business-display{font-size:clamp(22px,2.05vw,34px);line-height:1.3;margin-bottom:30px}
.ds-business-v2 .ds-business-card h3{font-size:18px;min-height:58px;margin-bottom:26px}
.ds-business-v2 .ds-business-card .ds-business-catch{font-family:var(--ds-serif);font-size:22px;line-height:1.8;color:#1b394c;margin:0 0 26px}
.ds-business-v2 .ds-business-card .ds-business-description{font-size:15px;line-height:2.1;color:#607786;margin:0 0 18px}
.ds-business-v2 .ds-business-card .ds-business-description:last-child{margin-bottom:0}
@media(max-width:767px){.ds-business-v2 .ds-business-section-title{font-size:27px;margin-bottom:30px}.ds-business-v2 .ds-business-display{font-size:clamp(23px,6.7vw,32px)}.ds-business-v2 .ds-business-card h3{min-height:0;margin-bottom:30px}.ds-business-v2 .ds-business-card .ds-business-catch{font-size:21px}}

/* Philosophy page: editable core blocks, full-width values background. */
.ds-philosophy-page{color:#607786}
.ds-philosophy-page>.wp-block-group{margin-block:0}
.ds-ph-page-title{padding-top:85px;padding-bottom:65px}
.ds-ph-page-title h1{font-size:clamp(34px,3.5vw,52px);margin:0}
.ds-ph-page-title .ds-eyebrow{margin-bottom:20px}
.ds-ph-page-inner{max-width:1000px}
.ds-ph-page-intro{padding-bottom:100px}
.ds-philosophy-page .ds-ph-page-message{font-size:clamp(42px,4.5vw,72px);line-height:1.7;letter-spacing:.12em;color:#092d42;margin:0 0 60px}
.ds-ph-page-vision{border-top:1px solid #d2dfe6;padding-top:42px}
.ds-philosophy-page .ds-ph-page-label{font-family:var(--ds-sans);font-size:22px;font-weight:600;color:#22718c;margin-bottom:30px}
.ds-philosophy-page .ds-ph-page-vision-title{font-size:clamp(28px,3vw,46px);color:#092d42;margin-bottom:32px}
.ds-ph-page-vision p{font-size:16px;line-height:2.3;max-width:850px}
.ds-ph-page-values{background:#eff5f7;padding:90px 0}
.ds-ph-page-values h2{font-size:32px;color:#092d42;margin-bottom:38px}
.ds-ph-value-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:30px;align-items:baseline;border-top:1px solid #cbdde5;padding:25px 0}
.ds-ph-value-row:last-child{border-bottom:1px solid #cbdde5}
.ds-ph-value-row h3{font-size:25px;color:#092d42;margin:0}
.ds-ph-value-row p{margin:0;line-height:2}
.ds-ph-greeting{padding-top:100px;padding-bottom:110px}
.ds-ph-greeting-inner{max-width:850px;margin:auto}
.ds-philosophy-page .ds-ph-greeting-title{font-size:clamp(26px,2.4vw,36px);color:#092d42;margin-bottom:40px}
.ds-ph-greeting p{line-height:2.3;margin-bottom:28px}
.ds-ph-greeting .ds-ph-signature{text-align:right;color:#1b394c;margin-top:45px;margin-bottom:0}
@media(max-width:767px){.ds-ph-page-title{padding-top:48px;padding-bottom:40px}.ds-ph-page-intro{padding-bottom:64px}.ds-philosophy-page .ds-ph-page-message{font-size:clamp(36px,9vw,54px);margin-bottom:38px}.ds-ph-page-vision{padding-top:30px}.ds-philosophy-page .ds-ph-page-label{font-size:19px;margin-bottom:24px}.ds-ph-page-vision p,.ds-ph-greeting p{font-size:15px}.ds-ph-page-values{padding:56px 0}.ds-ph-page-values h2{font-size:26px}.ds-ph-value-row{grid-template-columns:1fr;gap:10px;padding:22px 0}.ds-ph-value-row h3{font-size:23px}.ds-ph-value-row p{font-size:15px}.ds-ph-greeting{padding-top:64px;padding-bottom:70px}}

/* Business detail page. */
.ds-business-page{color:#607786}
.ds-business-page>.wp-block-group{margin-block:0}
.ds-biz-title{padding-top:85px;padding-bottom:36px}
.ds-biz-title h1{font-size:clamp(34px,3.5vw,52px);margin-bottom:32px}
.ds-biz-intro{max-width:850px;line-height:2.2}
.ds-biz-nav{display:flex;flex-wrap:wrap;gap:16px 36px;padding-bottom:65px}
.ds-biz-nav p{margin:0;font-size:14px}.ds-biz-nav a{display:inline-block;text-decoration:none;border-bottom:1px solid #cbdde5;padding:12px 0;color:#1b394c}.ds-biz-nav span{margin-left:12px}
.ds-biz-section{padding:90px 0;background:#eff5f7}
.ds-biz-section-lifestyle{background:#fff}
.ds-biz-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;align-items:start}
.ds-biz-image{margin:0;align-self:start;padding-top:45px}
.ds-biz-image img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.ds-biz-number{font-size:13px;color:#22718c;margin-bottom:24px}
.ds-biz-display{font-family:var(--ds-sans);font-size:clamp(27px,2.65vw,42px);line-height:1.25;color:#1b394c;margin-bottom:22px;letter-spacing:0}
.ds-biz-name{font-family:var(--ds-sans);font-size:19px;font-weight:600;color:#1b394c;margin-bottom:35px}
.ds-biz-catch{font-family:var(--ds-serif);font-size:clamp(25px,2.15vw,33px);line-height:1.8;color:#092d42;margin-bottom:26px}
.ds-biz-copy>p:not(.ds-biz-display):not(.ds-biz-catch):not(.ds-biz-number){font-size:15px;line-height:2.15}
.ds-biz-details{margin-top:36px}
.ds-biz-details h3{font-family:var(--ds-sans);font-size:16px;color:#22718c;margin-bottom:15px;letter-spacing:.04em}
.ds-biz-detail-row{border-top:1px solid #cbdde5;display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;padding:16px 0}
.ds-biz-detail-row:last-child{border-bottom:1px solid #cbdde5}
.ds-biz-detail-row h4{font-family:var(--ds-sans);font-size:14px;font-weight:500;margin:0;color:#1b394c}
.ds-biz-detail-row p{font-size:14px;line-height:1.95;margin:0}
@media(max-width:767px){.ds-biz-title{padding-top:48px;padding-bottom:20px}.ds-biz-intro{font-size:15px}.ds-biz-nav{display:block;padding-bottom:40px}.ds-biz-nav a{width:100%}.ds-biz-section{padding:56px 0}.ds-biz-layout{grid-template-columns:1fr;gap:32px}.ds-biz-image{padding-top:0;grid-row:1}.ds-biz-image img{aspect-ratio:4/3}.ds-biz-display{font-size:clamp(26px,7vw,36px)}.ds-biz-name{font-size:17px;margin-bottom:26px}.ds-biz-detail-row{grid-template-columns:1fr;gap:6px}.ds-biz-number{margin-bottom:18px}}

/* Two-tier business layout: supporting image above, information below. */
.ds-biz-layout{display:block}
.ds-biz-heading-row{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:60px;align-items:center;padding-bottom:40px}
.ds-biz-heading .ds-biz-catch{margin-bottom:0}
.ds-biz-image{position:static;width:100%;max-width:300px;margin:0;padding:0;align-self:center;opacity:1;filter:saturate(.55);mask-image:none;-webkit-mask-image:none}
.ds-biz-image img{aspect-ratio:5/3;object-fit:cover}
.ds-biz-body-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;padding-top:36px;border-top:1px solid #cbdde5}
.ds-biz-description p{font-size:15px;line-height:2.15;margin-bottom:18px}
.ds-biz-description p:last-child{margin-bottom:0}
.ds-biz-body-row .ds-biz-details{margin-top:0}
@media(max-width:767px){.ds-biz-heading-row{grid-template-columns:1fr;gap:26px;padding-bottom:28px}.ds-biz-image{grid-row:auto;width:240px;max-width:80%;justify-self:end}.ds-biz-image img{aspect-ratio:5/3}.ds-biz-body-row{grid-template-columns:1fr;gap:30px;padding-top:28px}}

/* Business alternative 02: offset imagery and an editorial rhythm. */
.ds-business-offset .ds-biz-section{background:#fff;padding:100px 0 115px}
.ds-business-offset .ds-biz-section-lifestyle{background:#eff5f7;padding-top:80px;margin-top:30px}
.ds-business-offset .ds-biz-heading-row{grid-template-columns:minmax(0,1fr) minmax(240px,30%);gap:10%;padding-bottom:65px;align-items:start}
.ds-business-offset .ds-biz-display{font-size:clamp(30px,3.5vw,54px);line-height:1.15;letter-spacing:-.02em}
.ds-business-offset .ds-biz-number{margin-bottom:32px}
.ds-business-offset .ds-biz-name{margin-top:26px;margin-bottom:38px}
.ds-business-offset .ds-biz-image{max-width:none;width:100%;filter:saturate(.65);align-self:start;margin-top:105px}
.ds-business-offset .ds-biz-image img{aspect-ratio:1.6;object-fit:cover}
.ds-business-offset .ds-biz-body-row{margin-left:15%;gap:8%;padding-top:32px}
.ds-business-offset .ds-biz-section-lifestyle .ds-biz-heading-row{grid-template-columns:28% minmax(0,1fr);gap:15%;padding-bottom:55px}
.ds-business-offset .ds-biz-section-lifestyle .ds-biz-image{grid-column:1;grid-row:1;margin-top:-120px}
.ds-business-offset .ds-biz-section-lifestyle .ds-biz-image img{aspect-ratio:3/4}
.ds-business-offset .ds-biz-section-lifestyle .ds-biz-heading{grid-column:2;grid-row:1;padding-top:35px}
.ds-business-offset .ds-biz-section-lifestyle .ds-biz-body-row{margin-left:15%}
.ds-business-offset .ds-biz-section-travel .ds-biz-image{margin-top:205px}
.ds-business-offset .ds-biz-section-travel .ds-biz-image img{aspect-ratio:1.9;object-position:50% 65%}
.ds-business-offset .ds-biz-section-travel .ds-biz-heading-row{padding-bottom:65px}
@media(max-width:767px){.ds-business-offset .ds-biz-section{padding:60px 0}.ds-business-offset .ds-biz-heading-row{grid-template-columns:1fr;gap:28px;padding-bottom:30px}.ds-business-offset .ds-biz-display{font-size:clamp(28px,8vw,40px)}.ds-business-offset .ds-biz-image{width:70%;max-width:280px;margin-top:0;justify-self:end}.ds-business-offset .ds-biz-body-row{margin-left:0;gap:28px}.ds-business-offset .ds-biz-section-lifestyle{margin-top:0;padding-top:60px}.ds-business-offset .ds-biz-section-lifestyle .ds-biz-heading-row{grid-template-columns:1fr;gap:28px;padding-bottom:30px}.ds-business-offset .ds-biz-section-lifestyle .ds-biz-heading{grid-column:1;grid-row:1;padding-top:0}.ds-business-offset .ds-biz-section-lifestyle .ds-biz-image{grid-column:1;grid-row:2;width:52%;margin-top:0;justify-self:start;margin-left:6%}.ds-business-offset .ds-biz-section-lifestyle .ds-biz-body-row{margin-left:0}.ds-business-offset .ds-biz-section-travel .ds-biz-image{width:82%;margin-top:0}.ds-business-offset .ds-biz-section-travel .ds-biz-heading-row{padding-bottom:30px}}

/* Business 01: text-led services and company introductions. */
.ds-biz-heading-text-only{grid-template-columns:1fr}
.ds-biz-companies{padding:100px 0;background:#fff}
.ds-biz-companies h2{margin-bottom:55px}
.ds-biz-company{display:grid;grid-template-columns:minmax(220px,30%) minmax(0,1fr);gap:7%;padding:55px 0;border-top:1px solid #d2dfe6;align-items:start}
.ds-biz-company:last-child{border-bottom:1px solid #d2dfe6}
.ds-biz-company-logo{width:100%;max-width:360px;margin:0}
.ds-biz-company-logo img{width:100%;height:auto;display:block}
.ds-biz-company-copy h3{font-size:27px;color:#1b394c;margin-bottom:24px}
.ds-biz-company-copy>p:not(.ds-text-link){font-size:15px;line-height:2.2;color:#607786}
.ds-biz-company-copy .ds-text-link{margin:24px 0 0}
@media(max-width:767px){.ds-biz-companies{padding:60px 0}.ds-biz-companies h2{margin-bottom:32px}.ds-biz-company{grid-template-columns:1fr;gap:26px;padding:36px 0}.ds-biz-company-logo{max-width:300px}.ds-biz-company-copy h3{font-size:23px}}

/* SDGs: supplied goal icons and declaration, in the site's visual language. */
.ds-sdgs-page{color:#607786}.ds-sdgs-page>.wp-block-group{margin-block:0}
.ds-sdg-title{padding-top:85px;padding-bottom:60px}.ds-sdg-title h1{font-size:clamp(32px,3.5vw,52px)}
.ds-sdgs-page .ds-sdg-bar{background:#092d42;color:#fff;font-family:var(--ds-sans);font-size:22px;font-weight:500;padding:20px 28px;margin-bottom:32px;letter-spacing:.04em}
.ds-sdg-declaration-text{font-size:16px;line-height:2.2}
.ds-sdg-symbols{display:grid;grid-template-columns:minmax(0,500px) 40px 320px;justify-content:center;gap:40px;align-items:center;padding:65px 0 95px}
.ds-sdg-brand{margin:0}.ds-sdg-brand img{width:100%;height:auto}.ds-sdg-cross{text-align:center;font-size:30px;margin:0;color:#092d42}
.ds-sdg-all{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.ds-sdg-icon{margin:0}.ds-sdg-icon img{display:block;width:100%;height:auto;aspect-ratio:1}
.ds-sdg-initiative{padding:35px 0 50px}.ds-sdg-initiative h3{font-family:var(--ds-sans);font-size:22px;color:#1b394c;background:#eff5f7;padding:18px 24px;margin-bottom:26px;font-weight:500}
.ds-sdg-initiative>p{font-size:16px;line-height:2.2}.ds-sdg-initiative h4{font-size:16px;color:#1b394c;border-bottom:1px solid #d2dfe6;padding-bottom:12px;margin:30px 0 18px}
.ds-sdg-initiative ul{padding-left:1.4em;font-size:15px;line-height:2.1}.ds-sdg-initiative li{margin-bottom:8px}
.ds-sdg-goals{display:flex;flex-wrap:wrap;gap:24px;margin-top:28px}.ds-sdg-goals .ds-sdg-icon{width:110px;flex:0 0 110px}
.ds-sdg-signature{text-align:right;padding-top:15px;padding-bottom:90px;font-size:15px;color:#1b394c}
@media(max-width:767px){.ds-sdg-title{padding-top:48px;padding-bottom:30px}.ds-sdgs-page .ds-sdg-bar{font-size:18px;padding:18px}.ds-sdg-symbols{grid-template-columns:1fr;gap:22px;padding:40px 0 60px;justify-items:center}.ds-sdg-brand{max-width:340px}.ds-sdg-all{width:280px;max-width:100%}.ds-sdg-cross{font-size:24px}.ds-sdg-initiative{padding:20px 0 35px}.ds-sdg-initiative h3{font-size:19px;padding:16px}.ds-sdg-initiative>p{font-size:15px}.ds-sdg-goals{gap:12px}.ds-sdg-goals .ds-sdg-icon{width:80px;flex-basis:80px}.ds-sdg-signature{padding-bottom:60px}}

/* Company profile, history and access. */
.ds-company-page{color:#607786}.ds-company-page>.wp-block-group{margin-block:0}
.ds-company-title{padding-top:85px;padding-bottom:50px}.ds-company-title h1{font-size:clamp(34px,3.5vw,52px);margin:0}
.ds-company-information{padding-bottom:100px}.ds-company-information-inner{max-width:1100px}
.ds-company-page .ds-profile-row{grid-template-columns:190px minmax(0,1fr)}
.ds-company-page .ds-profile-value{line-height:2.1}.ds-company-page .ds-profile-value a{color:#1b394c}
.ds-company-history{background:#eff5f7;padding:90px 0}.ds-company-history h2{margin-bottom:45px}
.ds-company-history-row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:0;padding:27px 0;border-top:1px solid #cbdde5;align-items:baseline}
.ds-company-history-row:last-child{border-bottom:1px solid #cbdde5}.ds-company-history-row p{margin:0;font-size:15px;line-height:2.1}
.ds-company-history-row .ds-company-year{font-size:28px;color:#22718c;letter-spacing:.05em}
.ds-company-access{padding-top:90px;padding-bottom:100px}.ds-company-access>p{font-size:16px;line-height:2.1}
.ds-company-map{display:block;width:100%;height:450px;margin-top:35px;background:#eff5f7}
@media(max-width:767px){.ds-company-title{padding-top:48px;padding-bottom:35px}.ds-company-information{padding-bottom:60px}.ds-company-page .ds-profile-row{grid-template-columns:1fr}.ds-company-history{padding:60px 0}.ds-company-history-row{grid-template-columns:70px minmax(0,1fr);gap:16px;padding:22px 0}.ds-company-history-row .ds-company-year{font-size:22px}.ds-company-history-row p{font-size:14px}.ds-company-access{padding-top:60px;padding-bottom:65px}.ds-company-map{height:320px}.ds-company-access>p{font-size:15px}}

/* Contact: MW WP Form input, confirmation and completion. */
.ds-contact-title{padding-top:85px;padding-bottom:50px}.ds-contact-title h1{font-size:clamp(34px,3.5vw,52px)}
.ds-contact-content{max-width:1040px;padding-bottom:100px;color:#607786}.ds-contact-input-note,.ds-contact-confirm-note{margin-bottom:40px}.ds-contact-help{font-size:14px}.ds-contact-confirm-note{display:none}.mw_wp_form_confirm .ds-contact-input-note{display:none}.mw_wp_form_confirm .ds-contact-confirm-note{display:block}
.ds-contact-row{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;padding:25px 0;border-top:1px solid #d2dfe6;align-items:start}.ds-contact-row>label{font-size:15px;color:#1b394c;padding-top:10px}.ds-field-status{display:inline-block;margin-left:10px;font-size:11px;padding:2px 7px;color:#607786;background:#eff5f7}.ds-field-status.is-required{background:#1b394c;color:white}
.ds-contact-row input,.ds-contact-row textarea{box-sizing:border-box;width:100%;max-width:100%;padding:12px 14px;border:1px solid #cbdde5;background:#f8fafb;color:#1b394c;font:inherit;border-radius:0}.ds-contact-row textarea{resize:vertical}.ds-contact-row input:focus,.ds-contact-row textarea:focus{outline:2px solid #009fc5;outline-offset:2px}.ds-contact-row p{margin:0}.ds-contact-row .error{margin-top:7px}.ds-contact-actions{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:45px}.ds-contact-actions input{padding:18px 36px;border:1px solid #092d42;background:#092d42;color:#fff;font:inherit;cursor:pointer}.ds-contact-actions input[name="submitBack"]{background:#fff;color:#092d42}.mw_wp_form_confirm .ds-contact-row>div{padding-top:10px;overflow-wrap:anywhere}.ds-contact-complete{padding:25px 0 60px}.ds-contact-complete h2{font-size:32px}.ds-contact-complete p{line-height:2.1}
@media(max-width:767px){.ds-contact-title{padding-top:48px;padding-bottom:30px}.ds-contact-content{padding-bottom:60px}.ds-contact-row{grid-template-columns:1fr;gap:12px;padding:20px 0}.ds-contact-row>label{padding-top:0}.ds-contact-actions{gap:12px}.ds-contact-actions input{width:100%;padding:16px 20px}.ds-contact-complete h2{font-size:26px}}
.ds-contact-row>p:empty{display:none}.ds-contact-row>div{grid-column:2}.ds-contact-actions>p:empty{display:none}
@media(max-width:767px){.ds-contact-row>div{grid-column:1}}

/* Privacy policy. */
.ds-privacy-title{padding-top:85px;padding-bottom:50px}.ds-privacy-title h1{font-size:clamp(28px,3.5vw,52px)}
.ds-privacy-content{max-width:1040px;padding-bottom:100px;color:#607786}.ds-privacy-content p,.ds-privacy-content li{font-size:16px;line-height:2.2}.ds-privacy-content p{margin-bottom:24px}.ds-privacy-content h2{font-family:var(--ds-sans);font-size:22px;font-weight:500;color:#1b394c;margin:48px 0 24px;padding-top:28px;border-top:1px solid #d2dfe6}.ds-privacy-content ul{padding-left:1.4em;margin:20px 0 30px}.ds-privacy-content .ds-text-link{margin-top:35px}
@media(max-width:767px){.ds-privacy-title{padding-top:48px;padding-bottom:30px}.ds-privacy-content{padding-bottom:60px}.ds-privacy-content p,.ds-privacy-content li{font-size:15px}.ds-privacy-content h2{font-size:20px;margin-top:36px;padding-top:24px}}

/* Visitor sitemap. */
.ds-sitemap-title{padding-top:85px;padding-bottom:50px}.ds-sitemap-title h1{font-size:clamp(34px,3.5vw,52px)}
.ds-sitemap-content{max-width:1040px;padding-bottom:100px}.ds-sitemap-links{list-style:none;margin:0;padding:0}.ds-sitemap-links li{margin:0;border-top:1px solid #d2dfe6}.ds-sitemap-links li:last-child{border-bottom:1px solid #d2dfe6}.ds-sitemap-links a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 8px;color:#1b394c;text-decoration:none;font-size:17px;transition:color .2s,background .2s}.ds-sitemap-links a span{color:#009fc5}.ds-sitemap-links a:hover,.ds-sitemap-links a:focus-visible{background:#eff5f7;color:#0084ab}
@media(max-width:767px){.ds-sitemap-title{padding-top:48px;padding-bottom:30px}.ds-sitemap-content{padding-bottom:60px}.ds-sitemap-links a{font-size:16px;padding:22px 4px}}

/* Group companies: standalone identities with generous white space. */
.ds-biz-companies-refined .ds-biz-company{grid-template-columns:minmax(0,35fr) minmax(0,65fr);gap:7%;padding:65px 0}
.ds-biz-companies-refined .ds-biz-company-brand{padding:12px 24px 30px 0}
.ds-biz-companies-refined .ds-biz-company-logo{max-width:none;margin:0;width:100%}
.ds-biz-companies-refined .ds-biz-company-logo img{width:100%;height:auto;object-fit:contain}
.ds-biz-companies-refined .ds-biz-company-sakura .ds-biz-company-logo{width:84%}
.ds-biz-companies-refined .ds-biz-company-toyoda .ds-biz-company-logo{width:94%}
.ds-biz-companies-refined .ds-biz-company-copy .ds-biz-company-category{font-family:var(--ds-sans);font-size:14px;font-weight:500;letter-spacing:.08em;color:#22718c;margin:0 0 25px}
.ds-biz-companies-refined .ds-biz-company-copy>p:not(.ds-text-link){margin:0 0 18px;line-height:2.15}
.ds-biz-companies-refined .ds-text-link{font-size:14px}
@media(max-width:767px){.ds-biz-companies-refined .ds-biz-company{grid-template-columns:1fr;gap:30px;padding:40px 0}.ds-biz-companies-refined .ds-biz-company-brand{padding:5px 0 10px;max-width:340px}.ds-biz-companies-refined .ds-biz-company-copy .ds-biz-company-category{font-size:13px;margin-bottom:20px}}

/* Home section links to the full pages. */
.ds-home-detail-link{margin-top:42px;margin-bottom:0}.ds-company-list-grid>.ds-home-detail-link{grid-column:2}
@media(max-width:767px){.ds-home-detail-link{margin-top:30px}.ds-company-list-grid>.ds-home-detail-link{grid-column:1}}

/* Tighten only the home company-profile detail link spacing. */
#company-profile .ds-company-list-grid{row-gap:0}
#company-profile .ds-home-detail-link{margin-top:32px}
@media(max-width:767px){#company-profile .ds-company-list-label{margin-bottom:30px}#company-profile .ds-home-detail-link{margin-top:20px}}

/* Telephone and fax before the enquiry form. */
.ds-contact-phone-wrap{max-width:1040px;margin-bottom:50px}.ds-contact-phone{background:#eff5f7;padding:32px 36px;color:#1b394c}.ds-contact-phone h2{font-family:var(--ds-sans);font-size:20px;font-weight:500;margin:0 0 24px}.ds-contact-phone p{margin:0 0 8px;font-size:15px}.ds-contact-phone .ds-contact-phone-number{display:inline-block;margin-right:35px;margin-bottom:20px;font-size:20px}.ds-contact-phone-number a{color:inherit;text-underline-offset:5px}.ds-contact-phone .ds-contact-phone-note{font-size:13px;margin-bottom:0}
@media(max-width:767px){.ds-contact-phone-wrap{margin-bottom:35px}.ds-contact-phone{padding:25px 20px}.ds-contact-phone h2{font-size:18px}.ds-contact-phone .ds-contact-phone-number{display:block;font-size:19px;margin-right:0;margin-bottom:14px}}

/* English header identity, matched to the supplied reference. */
.ds-header .ds-header-inner>.ds-brand{width:260px;max-width:100%}
.ds-english-logo{display:flex;align-items:center;gap:16px;width:max-content;max-width:100%;text-decoration:none;color:#19394c;line-height:1}
.ds-english-symbol{position:relative;display:block;flex:0 0 66px;width:66px;height:44px;font-family:Georgia,'Times New Roman',serif;font-size:50px;font-weight:400;line-height:44px;letter-spacing:0}
.ds-english-symbol svg{position:absolute;width:40px;height:40px;right:0;top:3px}
.ds-english-wordmark{display:flex;flex-direction:column;gap:9px;font-family:Arial,Helvetica,sans-serif;font-size:20px;font-weight:700;letter-spacing:1.8px;white-space:nowrap}
.ds-english-wordmark small{font-size:10px;font-weight:600;letter-spacing:6px}
@media(max-width:767px){.ds-header .ds-header-inner>.ds-brand{width:238px}.ds-english-logo{gap:12px}.ds-english-symbol{flex-basis:56px;width:56px;font-size:44px;height:40px;line-height:40px}.ds-english-symbol svg{width:35px;height:35px}.ds-english-wordmark{font-size:17px;letter-spacing:1.4px;gap:8px}.ds-english-wordmark small{font-size:9px;letter-spacing:5px}}

/* Hero heading shadow matched to the supplied sample. */
.ds-hero.ds-hero-world h1{text-shadow:0 2px 18px rgba(3,30,48,.28)}

/* Match the sample's hero font preference. */
.ds-hero.ds-hero-world h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif}

/* Match the reference typography across section labels and English text. */
.ds-eyebrow span[lang],.ds-business-text-only .ds-business-display,.ds-closing .ds-closing-en,.ds-hero.ds-hero-world .ds-hero-kicker,.ds-english-wordmark{font-family:var(--ds-sans)}

/* Philosophy strategy: numbered headings and spacious text rows. */
.ds-ph-strategy-row{border-top:1px solid #cbdde5;padding:32px 0}
.ds-ph-strategy-row:last-child{border-bottom:1px solid #cbdde5}
.ds-ph-strategy-row h3{display:flex;align-items:baseline;gap:22px;font-size:25px;line-height:1.65;color:#092d42;margin:0 0 16px}
.ds-ph-strategy-number{flex:none;font-family:var(--ds-sans);font-size:15px;font-weight:400;color:#22718c;border-right:1px solid #cbdde5;padding-right:22px;letter-spacing:.06em}
.ds-ph-strategy-row p{font-size:16px;line-height:2.2;margin:0;max-width:900px}
@media(max-width:767px){.ds-ph-strategy-row{padding:26px 0}.ds-ph-strategy-row h3{font-size:21px;gap:14px;margin-bottom:14px}.ds-ph-strategy-number{font-size:13px;padding-right:14px}.ds-ph-strategy-row p{font-size:15px;line-height:2.1}}

/* History dates include months; keep dates readable at narrow widths. */
.ds-company-history-dated .ds-company-year{font-size:22px;white-space:nowrap}
@media(max-width:767px){.ds-company-history-dated{grid-template-columns:1fr;gap:8px}.ds-company-history-dated .ds-company-year{font-size:20px}}
