@charset "UTF-8";
:root{--navy:#0b253b;--blue:#14609a;--accent:#96d4f0;--ink:#132e44;--muted:#526371;--line:#d7e0e7;--pale:#f2f6f9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--ink);background:#fff;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #0785c5;outline-offset:6px}img{display:block;max-width:100%;object-fit:cover}.skip{position:fixed;left:20px;top:-100px;background:white;padding:10px;z-index:20}.skip:focus{top:10px}.header{display:flex;justify-content:space-between;align-items:center;padding:18px 5%;border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:22px}.brand-name{font-family:Arial,sans-serif;font-style:italic;font-size:44px;line-height:1;font-weight:800;letter-spacing:-2px}.brand-dot{color:var(--blue)}.brand-ja{font-size:14px;font-weight:700;letter-spacing:.12em}.header nav{display:flex;align-items:center;gap:36px;font-size:14px;font-weight:700}.nav-contact{background:var(--navy);color:white;padding:13px 22px}.nav-contact span{margin-left:22px}.hero{position:relative;display:grid;grid-template-columns:49% 51%;background:var(--navy);color:white;padding:0 0 50px;overflow:hidden}.hero-copy{padding:60px 8% 64px 10.2%;position:relative;z-index:2}.eyebrow{font-family:Arial,sans-serif;letter-spacing:.16em;font-size:13px;font-weight:700;margin:0 0 28px}.hero .eyebrow{color:var(--accent)}h1{font-size:clamp(36px,4.15vw,66px);line-height:1.48;letter-spacing:.025em;margin:0 0 25px;font-weight:700}h1 span{color:#a9d9f0}.hero-description{color:#dae4eb;font-size:16px;line-height:2.05;margin:0 0 28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:58px;padding:13px 22px;background:white;color:var(--navy);font-size:15px;font-weight:700}.button:hover{background:#c5e7f8}.hero-visual{position:relative;min-height:620px;overflow:hidden;margin:28px 28px 28px 0}.hero-visual>img{height:100%;width:100%;position:absolute;inset:0}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#071c32bd)}.photo-caption{position:absolute;bottom:24px;left:28px;right:28px;display:flex;justify-content:space-between;gap:14px;z-index:1;font-size:14px}.photo-caption span:first-child{font:12px Arial;letter-spacing:.14em}.vertical-label{position:absolute;right:18px;top:20px;writing-mode:vertical-rl;font:12px Arial;letter-spacing:.18em;text-shadow:0 1px 3px #000}.hero-bottom{position:absolute;bottom:0;left:5%;right:5%;height:50px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff30;font-size:12px;letter-spacing:.13em}.section{padding:100px 8%;scroll-margin-top:20px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:50px}.section .eyebrow{color:var(--blue);margin-bottom:18px}h2{font-size:clamp(28px,3vw,44px);line-height:1.55;letter-spacing:.04em;margin:0}p{margin:0 0 16px}.section-heading>p{color:var(--muted);margin:0 0 6px}.service{border-top:1px solid var(--line);padding:36px 0;display:grid;grid-template-columns:18% 1fr 28%;gap:32px;align-items:start}.service-number{font:40px Arial,sans-serif;color:var(--blue);padding-top:5px}.service-number span{display:block;font-size:11px;letter-spacing:.06em;margin-top:18px;line-height:1.6}.service-content h3{font-size:25px;line-height:1.6;margin:0 0 15px}.service-content>p{color:var(--muted)}.service-content ul{padding:0;list-style:none;margin:22px 0 0;display:flex;gap:8px;flex-wrap:wrap}.service-content li{font-size:14px;background:var(--pale);padding:5px 10px}.service>img{width:100%;height:215px}.service-note{font-size:14px;border-left:3px solid var(--blue);padding-left:12px;margin-top:22px}.service-digital{border-bottom:1px solid var(--line)}.text-link{font-size:15px;border-bottom:1px solid var(--navy);padding:10px 0;align-self:center;display:flex;justify-content:space-between;gap:15px}.company{background:var(--pale);display:grid;grid-template-columns:1fr 1fr;gap:70px}.company h2{font-size:32px}.company-intro{margin-top:30px;color:var(--muted)}dl{margin:0}dl>div{display:grid;grid-template-columns:100px 1fr;padding:20px 0;border-bottom:1px solid var(--line);gap:20px}dl>div:first-child{padding-top:0}dt{font-size:14px;color:var(--muted)}dd{margin:0}dd a:hover{text-decoration:underline}.contact{background:var(--navy);color:white}.contact .eyebrow{color:var(--accent)}.contact-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px}.contact-heading p{color:#c1d0dc;margin:0}.contact-options{display:grid;grid-template-columns:1fr 1fr;margin-top:45px;border-top:1px solid #ffffff40;border-bottom:1px solid #ffffff40}.contact-options>a{position:relative;padding:28px 50px 28px 0;display:flex;flex-direction:column;gap:5px}.contact-options>a+a{padding-left:35px;border-left:1px solid #ffffff40}.contact-options span{font-size:14px;color:#c1d0dc}.contact-options strong{font:clamp(22px,2.8vw,39px) Arial,sans-serif;line-height:1.6}.contact-options .contact-arrow{position:absolute;right:25px;top:45%;font-size:25px;color:var(--accent)}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:38px 5%;font-size:13px}footer .brand-name{font-size:36px}a:hover{transition:background .15s,color .15s}.header nav>a:not(.nav-contact):hover,footer>a:hover{color:var(--blue)}
@media(min-width:1600px){.hero-copy{padding-left:max(10.2%,calc((100vw - 1440px)/2))}.section{padding-left:max(8%,calc((100vw - 1400px)/2));padding-right:max(8%,calc((100vw - 1400px)/2))}}
@media(max-width:900px){.brand-ja{display:none}.header nav{gap:22px}.hero-copy{padding-top:45px}.hero-visual{min-height:600px;margin-right:16px}.service{grid-template-columns:12% 1fr;gap:24px}.service>img{grid-column:2;height:240px}.service-digital .text-link{grid-column:2;justify-self:start;gap:40px}.section{padding:70px 6%}.company{gap:30px}.contact-heading{display:block}.contact-heading p{margin-top:24px}.photo-caption{display:block}.photo-caption span{display:block}}
@media(max-width:600px){html{scroll-padding-top:20px}.header{padding:18px 5%}.brand-name{font-size:36px}.header nav{gap:16px;font-size:13px}.header nav>a:nth-child(2){display:none}.nav-contact{padding:9px 12px}.nav-contact span{display:none}.hero{grid-template-columns:1fr;padding-bottom:48px}.hero-copy{padding:38px 6% 34px}.eyebrow{font-size:11px;margin-bottom:23px}h1{font-size:40px;line-height:1.45;letter-spacing:.02em}.hero-description{font-size:15px}.hero-visual{min-height:0;height:275px;margin:0 6% 25px}.hero-visual>img{object-position:center}.photo-caption{left:18px;bottom:18px;display:flex;align-items:end}.photo-caption span{font-size:12px}.hero-bottom{font-size:10px;letter-spacing:.02em;left:6%;right:6%}.hero-bottom>span:last-child{font-size:9px}.section{padding:56px 6%}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:23px;font-size:15px}.section h2{font-size:30px}.service{grid-template-columns:1fr;gap:16px;padding:28px 0}.service-number{font-size:28px;display:flex;align-items:center;gap:14px}.service-number span{font-size:11px;margin:0}.service-content h3{font-size:23px}.service>img{grid-column:auto;height:215px}.service-digital .text-link{grid-column:auto}.company{grid-template-columns:1fr;gap:28px}.company-intro{margin-top:18px}.company dl>div{grid-template-columns:80px 1fr;gap:12px}dd{overflow-wrap:anywhere}.contact-options{grid-template-columns:1fr;margin-top:30px}.contact-options>a{padding:22px 35px 22px 0}.contact-options>a+a{padding:22px 35px 22px 0;border-left:0;border-top:1px solid #ffffff40}.contact-options strong{font-size:29px}.contact-options .contact-arrow{right:8px}footer{flex-wrap:wrap;padding:28px 6%;gap:20px}footer span{margin-left:auto}footer>a:last-child{margin-left:auto}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.brand-logo{width:66px;height:60px;object-fit:contain}.product-band{background:#14609a;color:white}.product-band .eyebrow{color:#b9e5f9}.product-band p:not(.eyebrow){margin:24px 0}.detail-intro{background:var(--navy);color:white}.detail-intro h1{font-size:clamp(32px,4vw,54px)}.detail-intro .eyebrow{color:var(--accent)}.detail-intro>p:last-child{max-width:850px}.detail-body{max-width:1080px;margin:auto}.detail-body h2{font-size:27px;margin:38px 0 18px}.detail-body h2:first-child{margin-top:0}.detail-body p,.detail-body ul{margin-bottom:25px}.dark-button{background:var(--navy);color:white;margin-top:30px}.detail-body .text-link{max-width:600px}@media(max-width:1100px){.header nav{gap:18px}.brand-ja{display:none}}@media(max-width:600px){.header{flex-wrap:wrap;gap:14px}.brand-logo{width:55px;height:50px}.header nav{width:100%;justify-content:space-between;gap:8px;font-size:12px}.header nav>a:nth-child(2){display:block}.header nav>a:nth-child(4){display:none}.header .brand-ja{display:block;font-size:13px}.detail-body h2{font-size:23px}.hero-visual>img{object-position:center}.hero-bottom>span:last-child{display:none}}

.contact-options>a:only-child{grid-column:1 / -1}
