/* Review direction: richer photographs and an aligned corporate lockup. */
.brand-lockup,.footer-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}.logo-d{display:block;flex-shrink:0;width:59px;height:64px;background-image:url('./logo.png');background-repeat:no-repeat;background-size:455px auto;background-position:-16px -6px}.logo-text{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:240px}.word-logo{position:relative;width:240px;height:39px;display:block;overflow:hidden}.word-logo img{display:block;position:absolute;left:-9px;top:-7px;width:258px;max-width:none;height:auto}.logo-text .company-name{display:block;font-family:"Yu Gothic",Meiryo,sans-serif;font-size:10px;line-height:1.5;letter-spacing:1.1px;color:#45627a;margin:0;padding:0;text-align:left}.brand-lockup .logo-text small{margin:0}.footer-brand>.logo-d{display:block}.footer-brand>.logo-text{display:flex;font:inherit;letter-spacing:normal;margin:0}.footer-brand .word-logo{display:block;margin:0}.footer-brand .company-name{display:block;margin:0;font-size:10px}.site-header{padding-top:13px;padding-bottom:13px}.site-footer{background:linear-gradient(140deg,#f0f8ff,#fff 65%);border-top:1px solid #d7e8f6;padding-top:65px}.footer-main{grid-template-columns:1.55fr 1fr 1fr}.footer-main p{margin-top:25px}.footer-brand{gap:12px}.compact-news .news-row,.news-list .news-row{padding-top:10px;padding-bottom:10px;line-height:1.65;min-height:0;font-size:14px}.compact-news .news-row time,.news-list .news-row time{line-height:1.9;font-size:11px}.news-row:hover{padding-top:10px;padding-bottom:10px}.compact-news>.eyebrow{margin-bottom:12px}.compact-news>h2{margin-bottom:19px}.compact-news .news-list{margin:14px 0 22px}.visual-services{max-width:1400px}.visual-services .outline-number{font-size:140px;letter-spacing:-10px;color:#7fb7e5;opacity:1;font-weight:600}.service-selector small{font-size:19px!important;font-weight:500;color:#5594c6;line-height:1.2;letter-spacing:-.5px}.service-selector button[aria-pressed=true] small{color:#076ad1}.hero-pagination .slide-counter{font-size:38px;letter-spacing:-2px;font-weight:600}.hero-service-label>span:first-child{font-size:17px;padding:5px 13px;letter-spacing:0}.service-content .smallcaps{font-size:11px;letter-spacing:1px}.visual-service .service-image{height:245px}.vs-assist990 .service-image{height:100%}.photo-mosaic{max-width:1400px;display:grid;grid-template-columns:.8fr 1.2fr;gap:26px;padding-top:80px;padding-bottom:80px;align-items:stretch}.mosaic-intro{padding:20px 25px 15px 0;position:relative}.mosaic-intro h2{font-size:clamp(32px,3.2vw,46px);line-height:1.6;margin-bottom:22px}.mosaic-intro h2 em{font-style:normal;color:var(--electric)}.mosaic-intro p{font-size:14px;color:var(--muted);line-height:2}.mosaic-word{display:block;margin-top:35px;font:700 58px/.95 Arial;color:#c8e3f8;letter-spacing:-3px}.photo-mosaic figure{position:relative;margin:0;overflow:hidden;border-radius:14px}.photo-mosaic img{display:block;width:100%;height:100%;object-fit:cover}.mosaic-main{min-height:370px}.photo-mosaic figcaption{position:absolute;right:10px;bottom:9px;font-size:9px;background:#ffffffe8;padding:2px 8px;color:#59768c;border-radius:3px}.mosaic-sub{min-height:250px}.mosaic-statement{background:#0962bb;color:#fff;border-radius:14px;display:flex;align-items:center;justify-content:space-between;padding:35px 40px;gap:20px}.mosaic-statement>span{font:700 40px/1.2 Arial;letter-spacing:1px}.mosaic-statement small{font-size:11px;color:#d8edff;max-width:155px}.photo-essay{max-width:1600px;margin:25px auto 20px;position:relative;min-height:460px;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:#133a59}.photo-essay figure{position:absolute;inset:0;margin:0;z-index:-2}.photo-essay img{width:100%;height:100%;object-fit:cover;object-position:center}.photo-essay:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#051e37dd,#071c3655 65%,#102e4c11);z-index:-1}.photo-essay-copy{width:100%;max-width:1240px;margin:auto;padding:65px 32px}.photo-essay h2{color:white;font-size:clamp(30px,3.3vw,48px);max-width:600px;line-height:1.6;letter-spacing:-.025em}.photo-essay .eyebrow{color:#a8dcff;font-size:11px}.photo-essay-copy>p{color:#e2f0fc;line-height:2.1;font-size:14px;margin-top:25px;max-width:540px}.photo-essay figcaption{position:absolute;right:25px;bottom:16px;background:#ffffffdd;color:#47667e;font-size:9px;padding:3px 9px}.detail-section[data-chapter]{position:relative;isolation:isolate}.detail-section[data-chapter]:before{content:attr(data-chapter);position:absolute;right:30px;top:58px;font:600 100px/.9 Arial;letter-spacing:-7px;color:#d2e8fa;z-index:-1;pointer-events:none}.detail-section[data-chapter]>.eyebrow,.detail-section[data-chapter]>h2{max-width:calc(100% - 110px)}.detail-section .card.photo-card,.card.photo-card{overflow:hidden;padding-top:0;position:relative}.card-photo{margin:0 -30px 0;position:relative;height:195px;overflow:hidden;background:#deeffa}.card-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s}.photo-card:hover .card-photo img{transform:scale(1.05)}.card-photo figcaption{position:absolute;bottom:7px;right:8px;font-size:8px;padding:2px 5px;background:#ffffffe8;color:#5f7c91}.detail-section .photo-card .index,.photo-card .index{display:block;width:auto;height:auto;border-radius:0;background:none;font:600 67px/.95 Arial;letter-spacing:-4px;color:#0966bf;margin:18px 0 15px;box-shadow:none}.photo-card h3{font-size:21px}.detail-section .flow li>span,.flow li>span{font-size:44px;line-height:1;letter-spacing:-2px;font-weight:500;min-width:53px;padding-top:4px}.detail-section .flow li,.flow li{gap:18px;padding-top:30px;padding-bottom:30px}.detail-section .flow h3{font-size:18px}.corporate-intro{max-width:1320px;margin:10px auto 35px;padding:0 32px;display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.corporate-intro>.page-hero{padding:30px 0;border:0}.corporate-intro h1{font-size:clamp(35px,4vw,55px);letter-spacing:-.025em}.corporate-intro .lead{font-size:15px}.corporate-intro figure{position:relative;margin:0;overflow:hidden;border-radius:22px 4px}.corporate-intro img{width:100%;aspect-ratio:1.2;object-fit:cover;display:block}.corporate-intro figcaption{position:absolute;right:10px;bottom:10px;font-size:9px;background:#ffffffe8;color:#5c7689;padding:3px 8px}.card.photo-card{border-radius:12px;background:white;box-shadow:0 8px 25px #1c55750a}.photo-card>.index{margin-top:20px}.section .cards>.photo-card>p{line-height:2;font-size:14px}
@media(max-width:1150px){.logo-text{width:210px}.word-logo{width:210px;height:35px}.word-logo img{width:226px;top:-6px;left:-8px}.logo-d{width:52px;height:57px;background-size:405px auto;background-position:-14px -5px}.logo-text .company-name{font-size:9px;letter-spacing:.9px}.brand-lockup,.footer-brand{gap:10px}.site-header{gap:18px}#main-nav{gap:20px}#main-nav>a{font-size:12px}.mosaic-word{font-size:48px}.mosaic-statement{padding:30px}.mosaic-statement>span{font-size:32px}.card-photo{height:170px}.visual-service .service-image{height:215px}.vs-assist990 .service-image{height:100%}.footer-main{grid-template-columns:1.4fr 1fr 1fr;gap:35px}}
@media(max-width:780px){.site-header{padding:12px 20px}.logo-d{width:44px;height:49px;background-size:350px auto;background-position:-12px -5px}.logo-text{width:185px;gap:2px}.word-logo{width:185px;height:29px}.word-logo img{width:199px;left:-7px;top:-5px}.logo-text .company-name{font-size:8px;letter-spacing:.5px;line-height:1.5}.brand-lockup,.footer-brand{gap:8px}.site-header .menu-toggle{font-size:10px;padding:8px 9px;min-height:40px}.site-header{gap:10px}.footer-brand>.logo-text{width:210px}.footer-brand .word-logo{width:210px;height:34px}.footer-brand .word-logo img{width:226px;left:-8px;top:-6px}.footer-brand .company-name{font-size:9px}.footer-brand>.logo-d{width:50px;height:55px;background-size:395px auto;background-position:-14px -5px}.footer-main{display:grid;grid-template-columns:1fr 1fr}.service-selector small{font-size:17px!important}.hero-pagination .slide-counter{font-size:28px}.hero-service-label>span:first-child{font-size:14px}.visual-services .outline-number{font-size:90px;letter-spacing:-6px}.visual-service .service-image{height:190px}.vs-assist990 .service-image{height:100%}.photo-mosaic{padding:55px 24px;grid-template-columns:1fr 1fr;gap:17px}.mosaic-intro{grid-column:1/-1;padding:0;display:block}.mosaic-intro h2{font-size:34px;margin-bottom:20px}.mosaic-intro h2 br{display:none}.mosaic-intro p{font-size:13px}.mosaic-word{font-size:50px;margin-top:22px}.mosaic-main{grid-column:1/-1;min-height:0;aspect-ratio:1.6}.mosaic-sub{min-height:210px}.mosaic-statement{padding:22px 18px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:17px}.mosaic-statement>span{font-size:24px}.mosaic-statement small{font-size:9px}.photo-essay{min-height:380px;margin:5px auto}.photo-essay-copy{padding:50px 24px}.photo-essay h2{font-size:32px;max-width:420px}.photo-essay-copy>p{font-size:13px;max-width:400px}.photo-essay:after{background:linear-gradient(90deg,#051e37d9,#061e3775)}.photo-essay figcaption{font-size:8px;right:14px;bottom:13px}.detail-section[data-chapter]:before{font-size:74px;right:24px;top:47px;letter-spacing:-5px}.detail-section[data-chapter]>.eyebrow,.detail-section[data-chapter]>h2{max-width:calc(100% - 75px)}.detail-section .card.photo-card{padding:0 26px 26px}.card.photo-card{padding-top:0}.card-photo{height:220px;margin-left:-26px;margin-right:-26px}.detail-section .photo-card .index,.photo-card .index{font-size:60px;margin:18px 0 13px}.detail-section .flow li>span,.flow li>span{font-size:38px;min-width:45px}.corporate-intro{grid-template-columns:1fr;margin:0 auto 25px;padding:0 24px;gap:20px}.corporate-intro>.page-hero{padding:12px 0 8px}.corporate-intro h1{font-size:36px}.corporate-intro .lead{font-size:14px}.corporate-intro img{aspect-ratio:1.55}.compact-news .news-row,.news-list .news-row{padding-top:9px;padding-bottom:9px;font-size:12px;grid-template-columns:80px 1fr 14px;gap:10px}.compact-news .news-row time,.news-list .news-row time{font-size:10px}.compact-news>h2{margin-bottom:14px}}
@media(max-width:460px){.visual-service .service-image{height:235px}.vs-assist990 .service-image{height:235px}.logo-text{width:170px}.word-logo{width:170px;height:27px}.word-logo img{width:183px;left:-6.5px;top:-5px}.logo-d{width:40px;height:45px;background-size:325px auto;background-position:-11px -4px}.logo-text .company-name{font-size:7.5px;letter-spacing:.3px}.brand-lockup{gap:7px}.site-header{padding-left:16px;padding-right:16px}.mosaic-statement>span{font-size:23px}.photo-mosaic{gap:14px}.mosaic-sub{min-height:210px}.photo-essay h2{font-size:29px}.photo-essay{min-height:360px}.card-photo{height:210px}.corporate-intro h1{font-size:32px}.detail-section[data-chapter]>.eyebrow,.detail-section[data-chapter]>h2{max-width:calc(100% - 60px)}.detail-section[data-chapter]:before{font-size:63px}.footer-main{gap:25px}.compact-news .news-row,.news-list .news-row{font-size:12px}}
@media(max-width:350px){.logo-text{width:145px}.word-logo{width:145px;height:23px}.word-logo img{width:156px;left:-5.5px;top:-4px}.logo-d{width:35px;height:40px;background-size:285px auto;background-position:-10px -4px}.logo-text .company-name{font-size:6.7px;letter-spacing:0}.brand-lockup{gap:6px}}
/* The d glyph uses the original brand artwork, isolated by its CSS viewport. */
.logo-d{width:52px;height:68px;background-size:700px auto;background-position:-28.8px -23px}.word-logo img{left:-11px}
@media(max-width:1150px){.logo-d{width:45px;height:59px;background-size:610px auto;background-position:-25.1px -20px}.word-logo img{left:-9.6px}}
@media(max-width:780px){.logo-d{width:39px;height:51px;background-size:525px auto;background-position:-21.6px -17.5px}.word-logo img{left:-8.45px}.footer-brand>.logo-d{width:45px;height:59px;background-size:610px auto;background-position:-25.1px -20px}.footer-brand .word-logo img{left:-9.6px}}
@media(max-width:460px){.logo-d{width:34px;height:45px;background-size:460px auto;background-position:-18.9px -15.3px}.word-logo img{left:-7.8px}}
@media(max-width:350px){.logo-d{width:30px;height:40px;background-size:405px auto;background-position:-16.65px -13.5px}.word-logo img{left:-6.62px}}
/* Supplied standalone d mark; both lockup rows share the same left edge. */
.brand-lockup>.logo-d,.footer-brand>.logo-d{background:none;width:66px;height:66px;display:block;flex-shrink:0;overflow:visible}.logo-d img{display:block;width:100%;height:100%;object-fit:contain}.logo-text .company-name,.footer-brand .company-name{font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:14px;font-weight:800;line-height:1.45;letter-spacing:0;color:#193c68;display:block;width:100%;white-space:nowrap;text-align:justify;text-align-last:justify;text-justify:inter-character;margin:0}.logo-text{gap:4px}
@media(max-width:1150px){.brand-lockup>.logo-d,.footer-brand>.logo-d{width:58px;height:58px}.logo-text .company-name,.footer-brand .company-name{font-size:12px}}
@media(max-width:780px){.brand-lockup>.logo-d{width:48px;height:48px}.logo-text .company-name{font-size:10.5px}.footer-brand>.logo-d{width:58px;height:58px}.footer-brand .company-name{font-size:12px}.site-header .menu-toggle{border:3px solid #165aa4;color:#144579;font-weight:700;border-radius:3px;padding:7px 9px;min-height:42px}.logo-text{gap:3px}}
@media(max-width:460px){.brand-lockup>.logo-d{width:43px;height:43px}.logo-text .company-name{font-size:10px}.site-header .menu-toggle{padding:6px 7px;gap:7px}}
@media(max-width:350px){.brand-lockup>.logo-d{width:37px;height:37px}.logo-text .company-name{font-size:8.5px}.site-header .menu-toggle{font-size:9px;gap:4px;padding:6px}}
/* Compact, heavy Gothic company name matching the supplied brand reference. */
@font-face{font-family:"Drcom Brand Company";src:url("./drcom-company-black.woff2") format("woff2");font-style:normal;font-weight:900;font-display:swap}
.logo-text .company-name,.footer-brand .company-name{font-family:"Drcom Brand Company","Noto Sans JP",Meiryo,sans-serif;font-size:17.1px;font-weight:900;font-synthesis:none;line-height:1.18;letter-spacing:0;font-kerning:none;font-feature-settings:"palt" 0;text-align:left;text-align-last:auto;text-justify:auto;color:#08066d}.logo-text{gap:3px}
@media(max-width:1150px){.logo-text .company-name,.footer-brand .company-name{font-size:15px}}
@media(max-width:780px){.logo-text .company-name{font-size:13.2px}.footer-brand .company-name{font-size:15px}}
@media(max-width:460px){.brand-lockup .logo-text .company-name{font-size:12.1px}}
@media(max-width:350px){.brand-lockup .logo-text .company-name{font-size:10.35px}}
