/* Top-page styles. Shared navigation belongs to owner ①. */
:root{--header-surround:#fff;--navy:#0d2149;--ink:#16233d;--muted:#55617a;--red:#c8102e;--pink:#ff9cad;--rule:#dbe1ed;--tint:#f4f6fb}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#fff;color:var(--ink);font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.95;-webkit-text-size-adjust:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:700;line-height:1.5;letter-spacing:.025em}a{color:inherit;text-underline-offset:5px}img{display:block;max-width:100%;height:auto}a:focus-visible{outline:3px solid #1760da;outline-offset:5px}h2{font-size:clamp(25px,3.2vw,38px)}h3{font-size:clamp(23px,2.4vw,30px)}.wrap{width:min(1200px,100%);margin-inline:auto;padding-inline:28px}.section{padding-block:clamp(58px,7.4vw,100px)}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--red);font-size:12px;font-family:Arial,sans-serif;font-weight:700;letter-spacing:.15em;margin-bottom:20px}.eyebrow:before{content:"";width:30px;height:2px;background:currentColor}.btn{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;min-height:52px;max-width:100%;padding:13px 23px;border:1px solid var(--navy);font-size:14px;font-weight:700;line-height:1.7;text-decoration:none;transition:background .18s,color .18s}.btn--primary{background:var(--red);border-color:var(--red);color:#fff}.btn--primary:hover{background:#a30d26;border-color:#a30d26}.btn--onnavy{border-color:#c1cde2;color:#fff}.btn--onnavy:hover{background:#fff;color:var(--navy)}.btn-row{display:flex;flex-wrap:wrap;gap:12px}.more{display:inline-flex;gap:28px;align-items:center;min-height:48px;font-size:14px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor}.more:hover{color:var(--red)}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:590px;background:#fff;color:var(--ink);padding:92px 0 100px}.hero:before{content:"";position:absolute;z-index:-2;pointer-events:none;width:940px;height:940px;right:-180px;top:50%;transform:translateY(-50%);background:url("../images/hero-arrow-globe.png") center/contain no-repeat;opacity:.9}.hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#fff 12%,#ffffffed 32%,#ffffff9c 52%,#ffffff00 78%)}.hero__grid{position:relative}.hero__copy{width:68%}.hero .eyebrow{color:var(--red)}.hero__title{font-size:clamp(30px,4.4vw,58px);line-height:1.5;letter-spacing:0}.hero__title .accent{display:block;color:var(--red)}.hero__origin{display:block;font-size:clamp(18px,2.2vw,29px);line-height:1.6;margin-bottom:10px}.hero__promise{display:block}.hero__sub{font-size:clamp(17px,1.7vw,21px);font-weight:700;margin-top:24px}.hero__body{color:var(--muted);font-size:15px;max-width:48ch;margin-top:16px}.hero__cta{margin-top:28px}.hero .btn--onnavy{border-color:var(--navy);color:var(--navy)}.hero .btn--onnavy:hover{background:var(--navy);color:#fff}
.entry-strip{border-bottom:1px solid var(--rule);background:#fff}.entry-grid{display:grid;grid-template-columns:1fr 1fr}.entry{padding:28px 24px;display:grid;grid-template-columns:1fr auto;gap:0 16px;text-decoration:none}.entry:first-child{border-right:1px solid var(--rule);padding-left:0}.entry:last-child{padding-right:0}.entry__tag{font-size:12px;font-weight:700;color:var(--red)}.entry strong{font-size:clamp(16px,1.7vw,20px);line-height:1.7;grid-column:1}.entry__action{font-size:12px;color:var(--muted);margin-top:5px;grid-column:1}.entry__arrow{grid-column:2;grid-row:1/4;align-self:center;font-size:25px}.entry:hover strong{text-decoration:underline;text-underline-offset:5px}
.about-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:start}.about-grid>.about-copy{max-width:760px}.about-copy p+p{margin-top:16px}.about-copy .text-link{color:#007fa8;font-weight:700;text-decoration-line:underline;text-decoration-thickness:2px;text-underline-offset:4px}.about-copy .text-link:hover{color:#006482}.about-copy .more{margin-top:20px}.services{background:var(--tint)}.services__intro{max-width:660px;color:var(--muted);margin-top:20px}.scope-note{font-size:13px;color:var(--muted);margin-top:22px}.contact{background:var(--navy);color:#fff}.contact .eyebrow{color:var(--pink)}.contact-grid{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center}.contact p:not(.eyebrow){margin-top:20px;color:#e2e9f6}.contact .btn{min-width:250px}.ohga-footer{border-top:1px solid #ffffff30}
#services-heading span,.about-grid h2 span{display:inline-block}

@media(max-width:1050px){.hero{padding-top:48px}.hero__grid{gap:28px}.hero__title{font-size:clamp(27px,4vw,38px)}.hero__body{font-size:14px}.hero__cta .btn{padding:12px 17px;gap:16px}.about-grid{gap:36px}}
@media(max-width:760px){.hero{min-height:540px}.hero__copy{width:100%}.hero:before{width:560px;height:560px;right:-200px;top:58%;opacity:.65}.hero:after{background:linear-gradient(90deg,#ffffffeb,#ffffffa6 65%,#ffffff1a)}.wrap{padding-inline:22px}.hero{padding-block:42px}.hero__grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.hero__title{font-size:clamp(24px,5.5vw,39px)}.hero__sub{margin-top:20px}.hero__body{max-width:none;font-size:15px}.hero__media{max-width:560px}.hero__media img{aspect-ratio:16/9}.hero__caption{font-size:11px}.entry-grid{grid-template-columns:1fr}.entry,.entry:first-child,.entry:last-child{padding:22px 0;border-right:0}.entry:first-child{border-bottom:1px solid var(--rule)}.entry strong{font-size:18px}.entry__action{font-size:13px}.contact .btn{width:fit-content;min-width:0}.about-grid{gap:22px}.eyebrow{margin-bottom:15px}}
@media(max-width:380px){.wrap{padding-inline:18px}.hero__cta{display:grid}.hero__cta .btn{width:100%}.hero__title{font-size:24px;letter-spacing:-.02em}.entry strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* Adopted service cards, 2026-10-18. Scoped to this top page. */
.services__heading{display:block;margin-bottom:34px}
.services #services-heading span{display:block}
.services__heading .services__intro{max-width:800px;margin:18px 0 0;font-size:14px;line-height:2}.services__intro br{display:none}
.service-cards{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.service-card{--service-accent:#007fa8;position:relative;isolation:isolate;display:flex;flex-direction:column;min-width:0;padding:28px 34px 30px;background:#fff;border:1px solid var(--rule);border-radius:24px;box-shadow:0 5px 16px #15284904;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.service-card--product{--service-accent:var(--red)}
.service-card:hover,.service-card:focus-within{transform:translateY(-8px);box-shadow:0 22px 45px #15284913;border-color:color-mix(in srgb,var(--service-accent) 30%,var(--rule))}
.service-card__meta{display:flex;align-items:center;gap:12px;font:700 10px/1.5 Arial,sans-serif;letter-spacing:.13em;color:var(--muted)}
.service-card__number{font-size:18px;font-weight:500;color:var(--service-accent)}
.service-card__logo{position:relative;display:flex;align-items:center;justify-content:center;height:166px;margin:14px 0 20px;border-radius:13px;background:linear-gradient(135deg,#f8fbfc,#eef7fa);overflow:hidden}
.service-card--product .service-card__logo{background:linear-gradient(135deg,#fffafb,#fcf0f2)}
.service-card__logo img{width:92%;height:auto;object-fit:contain}
.service-card__logo--business img{width:91%;aspect-ratio:3.2;object-fit:cover}
.service-card h3{font-size:25px;line-height:1.55;letter-spacing:.02em;margin:0 0 13px}
.service-card__description{min-height:82px;font-size:14px;line-height:1.95;color:var(--muted);margin:0 0 19px}
.service-card__tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 24px;padding:0;list-style:none}
.service-card__tags li{padding:6px 9px;border-radius:5px;background:#f4f7f9;font-size:10px;line-height:1.5;color:#52637b}
.service-card--product .service-card__tags li{background:#fcf4f5}
.service-card .more{display:flex;justify-content:space-between;gap:12px;min-height:58px;margin-top:0;padding:13px 18px;border:1px solid var(--service-accent);border-radius:12px;background:var(--service-accent);color:#fff;font-size:14px;line-height:1.5;transition:background .2s,border-color .2s}
.service-card .more:hover{background:color-mix(in srgb,var(--service-accent) 85%,var(--navy));border-color:transparent;color:#fff}
.service-card__arrow{display:flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border:1px solid var(--rule);border-radius:50%;font-size:22px;font-weight:400;transition:background .25s,color .25s,transform .25s,border-color .25s}
.service-card:hover .service-card__arrow,.service-card:focus-within .service-card__arrow{background:var(--service-accent);border-color:var(--service-accent);color:#fff;transform:translateX(3px)}
.service-card .more:focus-visible{outline:3px solid var(--service-accent);outline-offset:6px;border-radius:4px}
.service-card__note{font-size:11px;line-height:1.8;color:var(--muted);margin:15px 0 0}
@media(max-width:1050px){.service-card{padding-inline:25px}.service-card h3{font-size:23px}}
@media(max-width:760px){.services__intro br{display:initial}.services__heading{display:block;margin-bottom:26px}.services__heading .services__intro{max-width:none;margin:18px 0 0;font-size:13px}.service-cards{grid-template-columns:1fr;gap:22px}.service-card{padding:23px 23px 25px;border-radius:20px}.service-card__logo{height:145px;margin:10px 0 18px}.service-card h3{font-size:22px}.service-card__description{font-size:13px;min-height:0}.service-card__tags{margin-bottom:21px}.service-card__note{font-size:12px}}
@media(max-width:380px){.service-card{padding-inline:19px}.service-card h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){.service-card,.service-card__arrow{transition:none}.service-card:hover,.service-card:focus-within,.service-card:hover .service-card__arrow,.service-card:focus-within .service-card__arrow{transform:none}}

/* The service-logo panels are direct links to their respective detail pages. */
.service-card__logo-link{text-decoration:none}
.service-card__logo-arrow{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--rule);border-radius:50%;background:#fff;color:var(--ink);font:22px/1 Arial,sans-serif;box-shadow:0 2px 6px #16233d0a;transition:background .2s,color .2s,transform .2s}
.service-card__logo-link:hover .service-card__logo-arrow,.service-card__logo-link:focus-visible .service-card__logo-arrow{background:var(--service-accent);border-color:var(--service-accent);color:#fff;transform:translateX(2px)}
.service-card__logo-link:focus-visible{outline:3px solid var(--service-accent);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.service-card__logo-arrow{transition:none}.service-card__logo-link:hover .service-card__logo-arrow,.service-card__logo-link:focus-visible .service-card__logo-arrow{transform:none}}

/* Clear, full-width detail buttons; service conditions stay below the action. */
.service-card .more .service-card__arrow{flex-basis:30px;width:30px;height:30px;border-color:#ffffff70;background:transparent;color:#fff}
.service-card:hover .more .service-card__arrow,.service-card:focus-within .more .service-card__arrow{background:#fff;border-color:#fff;color:var(--service-accent)}

/* Company heading D is static; the separate copy-side card is the action. */
.about-entry{display:block;position:relative;width:100%;max-width:480px;padding:25px 0;color:var(--ink);isolation:isolate;cursor:default}
.about-entry .about-entry__ghost{display:block;position:absolute;top:-19px;left:-3px;font:800 clamp(42px,6vw,80px)/1 Arial,sans-serif;letter-spacing:-.05em;color:currentColor;opacity:.055;pointer-events:none;white-space:nowrap}
.about-entry .about-entry__en{display:block;position:relative;font:700 11px/1.4 Arial,sans-serif;letter-spacing:.2em;color:#c8102e;margin-bottom:15px}
.about-entry .about-entry__text{display:block;position:relative;font-size:46px;font-weight:700;line-height:1.35;letter-spacing:.08em;color:var(--ink)}
.about-entry .about-entry__bottom{display:flex;align-items:center;justify-content:space-between;margin-top:25px;border-bottom:1px solid var(--rule);padding-bottom:12px}
.about-entry .about-entry__hint{display:block;font:700 11px/1.5 Arial,sans-serif;letter-spacing:.12em;color:var(--muted)}
.ohga-scene-dark .about-entry .about-entry__en{color:#ff879b}
.about-copy .about-profile-link{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;max-width:360px;min-height:78px;margin-top:26px;padding:18px 22px;border:1px solid #ead4d9;border-radius:18px;background:#fff;color:#16233d;text-decoration:none;box-shadow:0 9px 24px #0d214917;transition:transform .25s,box-shadow .25s,border-color .25s}
.about-profile-link__label{color:#16233d;font-size:17px;font-weight:700;line-height:1.6}
.about-profile-link__arrow{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:#c8102e;color:#fff;font:26px/1 Arial,sans-serif;transition:transform .25s}
.about-copy .about-profile-link:hover,.about-copy .about-profile-link:focus-visible{transform:translateY(-4px);border-color:#c8102e;box-shadow:0 17px 32px #0d214924}
.about-profile-link:hover .about-profile-link__arrow,.about-profile-link:focus-visible .about-profile-link__arrow{transform:translateX(3px)}
.about-copy .about-profile-link:focus-visible{outline:3px solid #c8102e;outline-offset:5px}
@media(max-width:760px){.about-entry{max-width:none}.about-entry .about-entry__text{font-size:40px}.about-entry .about-entry__ghost{font-size:clamp(42px,12vw,67px)}.about-copy .about-profile-link{max-width:100%;gap:16px}}
@media(prefers-reduced-motion:reduce){.about-copy .about-profile-link,.about-profile-link__arrow{transition:none}.about-copy .about-profile-link:hover,.about-copy .about-profile-link:focus-visible,.about-profile-link:hover .about-profile-link__arrow,.about-profile-link:focus-visible .about-profile-link__arrow{transform:none}}
