@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;600;700&display=swap');

:root{--navy:#071b49;--navy-2:#0d2c62;--gold:#d2aa48;--ink:#162039;--muted:#667085;--mist:#f2f5f8;--line:#d9dfe7;--white:#fff;--content:1180px;--section:80px;--serif:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--serif);font-size:16px;line-height:1.7;background:#fff}body.menu-open{overflow:hidden}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3{margin:0 0 20px;line-height:1.35;font-weight:700;letter-spacing:.045em}p{margin:0 0 1em}.container{width:min(calc(100% - 48px),var(--content));margin-inline:auto}.section{padding-block:var(--section)}.section--mist{background:var(--mist)}.eyebrow{display:block;margin-bottom:8px;color:var(--gold);font-size:.77rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.section-title{text-align:center;font-size:clamp(1.8rem,3vw,2.55rem);color:var(--navy)}.section-lead{max-width:720px;margin:0 auto 44px;text-align:center;color:var(--muted)}.gold-rule{width:52px;height:3px;margin:15px auto 28px;background:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 28px;border:1px solid var(--navy);background:var(--navy);color:#fff;font-weight:700;letter-spacing:.045em;transition:.25s ease}.btn:hover,.btn:focus-visible{background:var(--navy-2);transform:translateY(-2px)}.btn--gold{border-color:var(--gold);background:var(--gold);color:var(--navy)}.btn--ghost{background:transparent;color:var(--navy)}.btn--white{border-color:#fff;background:#fff;color:var(--navy)}
.notice{position:relative;z-index:50;padding:7px 20px;background:var(--navy);color:#fff;text-align:center;font-size:.78rem;letter-spacing:.08em}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{display:flex;align-items:center;min-height:78px;gap:28px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;font-weight:700;font-size:1.55rem;letter-spacing:.08em;color:var(--navy)}.brand img{width:42px;height:42px;object-fit:cover;object-position:top}.nav{display:flex;align-items:center;gap:28px;margin-left:auto}.nav a{position:relative;padding:25px 0 22px;font-weight:700;font-size:.9rem}.nav a::after{content:'';position:absolute;left:0;right:100%;bottom:17px;height:2px;background:var(--gold);transition:right .25s}.nav a:hover::after,.nav a[aria-current='page']::after{right:0}.header-contact{display:flex;align-items:center;gap:18px}.header-phone{font-size:.82rem;line-height:1.35}.header-phone strong{display:block;color:var(--navy);font-size:1.15rem}.menu-toggle{display:none;width:46px;height:46px;border:0;background:transparent;padding:9px}.menu-toggle span{display:block;height:2px;margin:7px 0;background:var(--navy);transition:.28s}
.hero{position:relative;min-height:620px;display:grid;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(4,18,48,.94) 0%,rgba(4,18,48,.74) 41%,rgba(4,18,48,.08) 72%),url('../images/hero.png') center/cover}.hero-content{max-width:700px;padding-block:70px}.hero h1{font-size:clamp(2.35rem,5vw,4.5rem);letter-spacing:.035em}.hero p{font-size:1.12rem}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.hero .btn--ghost{border-color:#fff;color:#fff}.pathways{position:relative;margin-top:-42px;z-index:2}.pathway-grid{display:grid;grid-template-columns:.92fr 1.08fr;box-shadow:0 14px 42px rgba(7,27,73,.16)}.pathway{min-height:150px;padding:28px 34px;display:flex;flex-direction:column;justify-content:center;background:#fff;border:1px solid var(--line)}.pathway--recruit{background:var(--gold);border-color:var(--gold);color:var(--navy)}.pathway h2{font-size:1.28rem;margin-bottom:6px}.pathway p{margin:0;color:var(--muted)}.pathway--recruit p{color:#28354c}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card,.works-card,.voice-card{background:#fff;border:1px solid var(--line);overflow:hidden;transition:.28s}.service-card:hover,.works-card:hover,.voice-card:hover{transform:translateY(-6px);box-shadow:0 18px 38px rgba(7,27,73,.1)}.service-card img{aspect-ratio:16/9;object-fit:cover}.card-body{padding:24px}.card-body h3{color:var(--navy);font-size:1.2rem}.card-body p{color:var(--muted)}.strength-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.strength{padding:28px 26px;background:#fff;border-top:4px solid var(--navy)}.strength-number{font-size:1.85rem;font-weight:700;color:var(--gold)}
.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.works-card img{aspect-ratio:16/10;object-fit:cover}.works-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.tag{padding:3px 9px;background:#e9eef5;color:var(--navy);font-size:.7rem;font-weight:700}.works-card[hidden]{display:none}.filter-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;margin-bottom:32px;padding:22px;background:var(--mist);border:1px solid var(--line)}.filter-bar select{width:100%;min-height:48px;padding:8px 38px 8px 13px;border:1px solid #bdc7d4;background:#fff;color:var(--ink)}.filter-status{margin-top:18px;text-align:center;color:var(--muted)}
.recruit-band{position:relative;min-height:480px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(4,18,48,.97) 0%,rgba(4,18,48,.83) 43%,rgba(4,18,48,.12) 67%),url('../images/recruit.png') center/cover}.recruit-copy{width:52%;padding-block:70px}.recruit-copy h2{font-size:clamp(2.1rem,4vw,3.7rem)}.company-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}.company-grid img{aspect-ratio:16/10;object-fit:cover}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left}.data-table th{width:34%;color:var(--navy);background:var(--mist)}
.voice-card{padding:30px}.voice-card blockquote{margin:0 0 20px;font-size:1.03rem}.voice-person{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.83rem}.avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700}.news-list{border-top:1px solid var(--line)}.news-item{display:grid;grid-template-columns:130px 120px 1fr;gap:18px;padding:18px 8px;border-bottom:1px solid var(--line)}.news-item time{color:var(--muted)}
.contact-band{background:var(--navy);color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr}.contact-box{padding:48px 8%;text-align:center}.contact-box+ .contact-box{border-left:1px solid rgba(255,255,255,.25)}.contact-box--recruit{background:var(--gold);color:var(--navy)}.contact-box strong{display:block;margin:14px 0;font-size:1.9rem}.footer{padding:56px 0 22px;background:#041435;color:#fff}.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:40px}.footer h2,.footer h3{font-size:1rem}.footer ul{margin:0;padding:0;list-style:none}.footer a{color:#dce5f3}.footer small{display:block;margin-top:42px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);text-align:center;color:#bfc9da}
.page-hero{padding:88px 0 72px;background:linear-gradient(135deg,var(--navy),#123b75);color:#fff}.page-hero h1{font-size:clamp(2.35rem,5vw,4.1rem)}.breadcrumb{margin-bottom:24px;font-size:.8rem;color:#d6e0ef}.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.split img{aspect-ratio:16/11;object-fit:cover}.content-block{padding:34px;background:var(--mist);border-left:4px solid var(--gold)}.job-card{padding:30px;border:1px solid var(--line);background:#fff}.job-card ul{padding-left:1.25em}.form{display:grid;gap:18px;max-width:780px;margin:auto}.form-row{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:start}.form label{font-weight:700;color:var(--navy)}.form input,.form textarea,.form select{width:100%;padding:13px 14px;border:1px solid #b8c2cf;background:#fff}.form textarea{min-height:150px;resize:vertical}.privacy-note{font-size:.85rem;color:var(--muted)}
.mdens-cf7 .form-row{display:block}.mdens-cf7 .form-row>p{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;align-items:start;margin:0}.mdens-cf7 .wpcf7-form-control-wrap{display:block;width:100%}.mdens-cf7 .required{color:#a52a2a;font-size:.75rem}.mdens-cf7 .form-consent{max-width:600px;margin:8px auto;text-align:center}.mdens-cf7 .wpcf7-acceptance input{width:auto;margin-right:8px}.mdens-cf7 input[type="submit"]{width:auto}.mdens-cf7 .form-submit{text-align:center}.mdens-cf7 .wpcf7-not-valid-tip{margin-top:5px;font-size:.82rem}.mdens-cf7 .wpcf7-response-output{margin:20px 0 0!important;padding:14px 18px!important}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .72s ease,transform .72s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}.skip-link{position:fixed;left:12px;top:-100px;z-index:100;background:#fff;color:var(--navy);padding:10px 16px}.skip-link:focus{top:12px}
@media(max-width:768px){:root{--section:58px}.container{width:min(calc(100% - 32px),var(--content))}.notice{font-size:.7rem}.header-inner{min-height:68px}.brand{font-size:1.25rem}.brand img{width:36px;height:36px}.menu-toggle{display:block;margin-left:auto;z-index:60}.menu-open .menu-toggle span:nth-child(1){transform:translateY(9px) rotate(45deg)}.menu-open .menu-toggle span:nth-child(2){opacity:0}.menu-open .menu-toggle span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.nav{position:fixed;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;padding:90px 12vw;background:rgba(4,20,53,.98);transform:translateX(100%);transition:transform .38s cubic-bezier(.65,0,.35,1)}.menu-open .nav{transform:none}.nav a{width:100%;padding:17px 0;color:#fff;font-size:1.16rem;border-bottom:1px solid rgba(255,255,255,.18)}.nav a::after{display:none}.header-contact{display:none}.hero{min-height:610px;background:linear-gradient(0deg,rgba(4,18,48,.94),rgba(4,18,48,.45)),url('../images/hero.png') 62% center/cover}.hero-content{align-self:end;padding-bottom:74px}.hero h1{font-size:2.35rem}.pathways{margin-top:0}.pathway-grid,.card-grid,.strength-grid,.works-grid,.company-grid,.contact-grid,.footer-grid,.split{grid-template-columns:1fr}.pathway{min-height:130px}.filter-bar{grid-template-columns:1fr}.recruit-band{min-height:570px;align-items:end;background:linear-gradient(0deg,rgba(4,18,48,.96),rgba(4,18,48,.2)),url('../images/recruit.png') 65% center/cover}.recruit-copy{width:100%;padding-bottom:56px}.company-grid{gap:30px}.contact-box+ .contact-box{border-left:0;border-top:1px solid rgba(255,255,255,.25)}.news-item{grid-template-columns:100px 1fr}.news-item .tag{grid-row:2}.form-row{grid-template-columns:1fr;gap:7px}.footer-grid{gap:28px}.section-lead{margin-bottom:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.nav,.menu-toggle span,.btn{transition:none}}

/* Gutenberg content presentation carried over from the M-DENS core theme. */
.mdens-managed .l-content.l-container{max-width:none;padding-top:0!important;padding-left:0;padding-right:0}
.mdens-managed .l-content{margin-top:0!important}
.mdens-managed .l-mainContent,.mdens-managed .l-mainContent__inner{width:100%;max-width:none;margin:0;padding:0}
.mdens-managed .post_content{margin:0;padding:0}
.mdens-managed .post_content>.wp-block-group,.mdens-managed .post_content>.wp-block-cover{margin-block:0}
.mdens-managed .post_content .wp-block-image{margin:0}
.mdens-managed .post_content .wp-block-columns{margin-bottom:0}
.mdens-managed .post_content .wp-block-button__link{border-radius:0}
.mdens-managed .post_content h2.wp-block-heading{padding:0;border:0;background:none;color:var(--navy)}
.mdens-managed .post_content h2.wp-block-heading::before{display:none}
.mdens-managed .post_content .wp-block-button__link{min-height:52px;padding:12px 28px;border:1px solid var(--navy);background:var(--navy);color:#fff;font-weight:700;letter-spacing:.045em}
.mdens-managed .post_content .wp-block-button.is-style-outline>.wp-block-button__link{background:transparent;color:var(--navy)}
.mdens-managed .post_content .has-mist-background-color{background:var(--mist)!important}
.mdens-managed:not(.home) .c-pageTitle{display:none}
.mdens-managed .p-breadcrumb{display:none}
.home-hero{min-height:620px;display:grid;align-content:center;color:#fff;background:linear-gradient(90deg,rgba(4,18,48,.94),rgba(4,18,48,.72) 44%,rgba(4,18,48,.08) 74%),url('../images/hero.png') center/cover}
.home-hero>*{width:min(calc(100% - 48px),1180px);margin-inline:auto}
.home-hero h1{max-width:760px;font-size:clamp(2.35rem,5vw,4.5rem);color:#fff}
.home-hero p{font-size:1.12rem}
.recruit-hero{min-height:520px;display:grid;align-content:center;color:#fff;background:linear-gradient(90deg,rgba(4,18,48,.97),rgba(4,18,48,.8) 46%,rgba(4,18,48,.08) 72%),url('../images/recruit.png') center/cover}
.recruit-hero>*{width:min(calc(100% - 48px),1180px);margin-inline:auto}
.recruit-hero h1,.recruit-hero h2{color:#fff}
.mdens-card{height:100%;border:1px solid var(--line);background:#fff;overflow:hidden}
.mdens-card>h3,.mdens-card>p{margin-inline:22px}
.mdens-card .wp-block-image img{aspect-ratio:16/9;object-fit:cover}
.mdens-strength{height:100%;padding:26px;background:#fff;border-top:4px solid var(--navy)}
.mdens-work{height:100%;padding-bottom:20px;border:1px solid var(--line);background:#fff}
.mdens-work h3,.mdens-work p{padding-inline:18px}
.mdens-work img{aspect-ratio:16/10;object-fit:cover}
.mdens-work[hidden]{display:none}
.mdens-filter{margin-bottom:30px}
.page-intro{padding:88px 0 72px;background:linear-gradient(135deg,var(--navy),#123b75);color:#fff}
.page-intro>*{width:min(calc(100% - 48px),1180px);margin-inline:auto}
.page-intro h1{font-size:clamp(2.35rem,5vw,4.1rem);color:#fff}
.alignwide{width:min(calc(100% - 48px),1180px);margin-inline:auto}
.mdens-managed .post_content .alignwide{position:static!important;left:auto!important;right:auto!important;width:100%;max-width:1180px;margin-left:auto!important;margin-right:auto!important}
.section>*{width:min(calc(100% - 48px),1180px);margin-inline:auto}

/* SWELL shell: keep its accessible header/menu behavior and apply M-DENS styling. */
body{font-family:var(--serif);font-size:16px;line-height:1.7}
.l-header{border-bottom:1px solid var(--line);box-shadow:none}
.l-header,.l-fixHeader{font-family:var(--serif)}
.c-headLogo__link{color:var(--navy);font-weight:700;letter-spacing:.08em}
.c-gnav>.menu-item>a{font-weight:700;letter-spacing:.035em}
.c-gnav>.menu-item>a:after{height:4px!important;background:#c99a32!important;box-shadow:0 -1px 0 rgba(201,154,50,.24);transform-origin:center;transition:transform .28s ease!important}
.l-footer{background:#041435;color:#fff}
.l-footer a{color:#fff}

.editor-styles-wrapper{font-family:var(--serif);font-size:16px;line-height:1.7}
.editor-styles-wrapper .home-hero,.editor-styles-wrapper .recruit-hero{padding:60px 32px}

@media(max-width:768px){
  .mdens-cf7 .form-row>p{grid-template-columns:1fr;gap:7px}
  .home-hero{min-height:610px;background:linear-gradient(0deg,rgba(4,18,48,.94),rgba(4,18,48,.4)),url('../images/hero.png') 62% center/cover}
  .recruit-hero{min-height:580px;align-content:end;padding-bottom:52px;background:linear-gradient(0deg,rgba(4,18,48,.96),rgba(4,18,48,.16)),url('../images/recruit.png') 65% center/cover}
  .section>*,.home-hero>*,.recruit-hero>*,.page-intro>*,.alignwide{width:min(calc(100% - 32px),1180px)}
}
