/* A案：媒体の説明から仕事別の会社紹介へ進むトップ構成。 */
body.layout-revision.theme-navy-flat.edition-five .main-nav {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
body.layout-revision.theme-navy-flat.edition-five .main-nav a {
  white-space: nowrap;
}

body.layout-revision.theme-navy-flat.edition-five .about-section {
  background: #fff;
  border-bottom: 1px solid #d9e5ec;
  padding: 55px 0 58px;
}
body.layout-revision.theme-navy-flat.edition-five .about-section .about-layout {
  display: grid;
  grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
  align-items: center;
  gap: clamp(24px, 3vw, 38px);
}
body.layout-revision.theme-navy-flat.edition-five .about-section .about-title {
  display: flex;
  align-items: center;
  gap: 15px;
  min-width: 0;
  margin: 0;
}
body.layout-revision.theme-navy-flat.edition-five .about-section .about-title .editorial-motion {
  width: 90px;
  height: 68px;
}
body.layout-revision.theme-navy-flat.edition-five .about-section .about-title h2 {
  color: #142f4c;
  font-size: clamp(24px, 2.3vw, 30px);
  line-height: 1.5;
  letter-spacing: .025em;
  margin: 7px 0 0;
  white-space: nowrap;
}
body.layout-revision.theme-navy-flat.edition-five .about-section .about-content p {
  max-width: 600px;
  color: #29465c;
  font-size: 15px;
  line-height: 1.95;
  letter-spacing: .015em;
  text-wrap: pretty;
  margin: 0;
}
body.layout-revision.theme-navy-flat.edition-five .about-section .about-content p + p {
  margin-top: 10px;
}
body.layout-revision.theme-navy-flat.edition-five .about-section .about-word {
  display: inline-block;
  white-space: nowrap;
}
body.layout-revision.theme-navy-flat.edition-five .about-section .about-content .text-link {
  min-height: 42px;
  margin-top: 20px;
  padding: 8px 19px;
  font-size: 12px;
}

body.layout-revision.theme-navy-flat.edition-five .directory-section {
  background: #eef3f6;
  padding: 46px 0 53px;
}
body.layout-revision.theme-navy-flat.edition-five .directory-section .directory-heading {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 23px;
}
body.layout-revision.theme-navy-flat.edition-five .directory-section .directory-heading .section-motion {
  width: 105px;
  height: 76px;
}
body.layout-revision.theme-navy-flat.edition-five .directory-section .directory-heading h2 {
  color: #142f4c;
  font-size: clamp(23px, 2.3vw, 29px);
  line-height: 1.45;
}
body.layout-revision.theme-navy-flat.edition-five .directory-section .category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
}
body.layout-revision.theme-navy-flat.edition-five .directory-section .category-tile {
  min-height: 194px;
  padding: 12px 15px 16px;
  justify-content: center;
  border: 1px solid #cbdce6;
  background: #fff;
}
body.layout-revision.theme-navy-flat.edition-five .directory-section .category-number {
  align-self: start;
  margin-left: 0;
  color: #607c8e;
  font-size: 10px;
}
body.layout-revision.theme-navy-flat.edition-five .directory-section .category-art {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 121px;
  margin: 0 0 8px;
}
body.layout-revision.theme-navy-flat.edition-five .directory-section .category-art .outline-crop {
  max-width: 124px;
}
body.layout-revision.theme-navy-flat.edition-five .directory-section .category-label {
  color: #142f4c;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0;
  white-space: normal;
}
body.layout-revision.theme-navy-flat.edition-five .directory-section .directory-all {
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-width: 220px;
  min-height: 44px;
  padding: 9px 24px;
  margin: 26px auto 0;
  border: 1px solid #88a9bd;
  background: #fff;
  color: #142f4c;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
body.layout-revision.theme-navy-flat.edition-five .directory-section .directory-all:hover,
body.layout-revision.theme-navy-flat.edition-five .directory-section .directory-all:focus-visible {
  border-color: #142f4c;
  background: #f8fbfd;
}
/* 旧検索フォームと企業カードを生成元が残しても、今回のトップには出さない。 */
body.layout-revision.theme-navy-flat.edition-five .directory-section :is(.compact-search, .purpose-links, .search-feedback, .company-heading, .directory-list) {
  display: none !important;
}

body.layout-revision.theme-navy-flat.edition-five .latest {
  padding-top: 57px;
  padding-bottom: 65px;
}
body.layout-revision.theme-navy-flat.edition-five .latest .latest-heading {
  margin-bottom: 27px;
}
body.layout-revision.theme-navy-flat.edition-five .latest .story-list {
  gap: 30px 24px;
}
body.layout-revision.theme-navy-flat.edition-five .latest .story-card h3 {
  margin-top: 11px;
  min-height: 0;
  font-size: 16px;
  line-height: 1.7;
}
body.layout-revision.theme-navy-flat.edition-five .latest .story-tags {
  margin-top: 10px;
}
body.layout-revision.theme-navy-flat.edition-five .latest .story-card:last-child .story-media {
  object-position: center 23%;
}
body.layout-revision.theme-navy-flat.edition-five .interview-feature {
  display: block;
  background: #eef3f6;
}
body.layout-revision.theme-navy-flat.edition-five .interview-feature > a {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
  align-items: stretch;
}
body.layout-revision.theme-navy-flat.edition-five .interview-feature {
  margin-bottom: 29px;
}
body.layout-revision.theme-navy-flat.edition-five .interview-feature > img,
body.layout-revision.theme-navy-flat.edition-five .interview-feature > a > img {
  width: 100%;
  height: 100%;
  min-height: 250px;
  max-height: 370px;
  object-fit: cover;
}
body.layout-revision.theme-navy-flat.edition-five .interview-feature-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-width: 0;
  padding: clamp(23px, 3vw, 38px);
}
body.layout-revision.theme-navy-flat.edition-five .interview-feature-copy :is(h3, h2) {
  font-size: clamp(20px, 2vw, 27px);
  line-height: 1.65;
  letter-spacing: .015em;
}
body.layout-revision.theme-navy-flat.edition-five .interview-feature-copy .story-tags {
  margin: 0 0 12px;
}

body.layout-revision.theme-navy-flat.edition-five .knowledge-section {
  padding-top: 58px;
  padding-bottom: 62px;
}
body.layout-revision.theme-navy-flat.edition-five .contact-section {
  padding-top: 62px;
  padding-bottom: 69px;
}

@media (max-width: 760px) {
  body.layout-revision.theme-navy-flat.edition-five .main-nav {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  body.layout-revision.theme-navy-flat.edition-five .main-nav a {
    white-space: normal;
  }
  body.layout-revision.theme-navy-flat.edition-five .main-nav a:nth-child(-n+3) {
    grid-column: span 2;
  }
  body.layout-revision.theme-navy-flat.edition-five .main-nav a:nth-child(n+4) {
    grid-column: span 3;
  }
  body.layout-revision.theme-navy-flat.edition-five .main-nav a:nth-child(3) {
    border-right: 0;
  }
  body.layout-revision.theme-navy-flat.edition-five .main-nav a:nth-child(4) {
    border-bottom: 0;
  }
  body.layout-revision.theme-navy-flat.edition-five .about-section {
    padding: 32px 0 35px;
  }
  body.layout-revision.theme-navy-flat.edition-five .about-section .about-layout {
    display: block;
  }
  body.layout-revision.theme-navy-flat.edition-five .about-section .about-title {
    gap: 11px;
    margin-bottom: 13px;
  }
  body.layout-revision.theme-navy-flat.edition-five .about-section .about-title .editorial-motion {
    width: 70px;
    height: 54px;
  }
  body.layout-revision.theme-navy-flat.edition-five .about-section .about-title h2 {
    font-size: 21px;
    line-height: 1.45;
    margin-top: 4px;
  }
  body.layout-revision.theme-navy-flat.edition-five .about-section .about-content p {
    font-size: 14px;
    line-height: 1.85;
  }
  body.layout-revision.theme-navy-flat.edition-five .about-section .about-content p + p {
    margin-top: 8px;
  }
  body.layout-revision.theme-navy-flat.edition-five .about-section .about-content .text-link {
    margin-top: 16px;
    min-height: 40px;
    font-size: 11px;
  }
  body.layout-revision.theme-navy-flat.edition-five .directory-section {
    padding: 31px 0 35px;
  }
  body.layout-revision.theme-navy-flat.edition-five .directory-section .directory-heading {
    gap: 9px;
    margin-bottom: 16px;
  }
  body.layout-revision.theme-navy-flat.edition-five .directory-section .directory-heading .section-motion {
    width: 76px;
    height: 57px;
  }
  body.layout-revision.theme-navy-flat.edition-five .directory-section .directory-heading h2 {
    font-size: 20px;
    text-wrap: balance;
  }
  body.layout-revision.theme-navy-flat.edition-five .directory-section .category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }
  body.layout-revision.theme-navy-flat.edition-five .directory-section .category-tile {
    min-height: 139px;
    padding: 9px 7px 12px;
  }
  body.layout-revision.theme-navy-flat.edition-five .directory-section .category-number {
    font-size: 9px;
  }
  body.layout-revision.theme-navy-flat.edition-five .directory-section .category-art {
    height: 78px;
    margin-bottom: 5px;
  }
  body.layout-revision.theme-navy-flat.edition-five .directory-section .category-art .outline-crop {
    max-width: 82px;
  }
  body.layout-revision.theme-navy-flat.edition-five .directory-section .category-label {
    font-size: 11px;
    line-height: 1.4;
  }
  body.layout-revision.theme-navy-flat.edition-five .directory-section .directory-all {
    min-width: 210px;
    min-height: 42px;
    margin-top: 19px;
    font-size: 11px;
  }
  body.layout-revision.theme-navy-flat.edition-five .latest {
    padding-top: 35px;
    padding-bottom: 42px;
  }
  body.layout-revision.theme-navy-flat.edition-five .latest .latest-heading {
    margin-bottom: 20px;
  }
  body.layout-revision.theme-navy-flat.edition-five .interview-feature,
  body.layout-revision.theme-navy-flat.edition-five .interview-feature > a {
    display: block;
  }
  body.layout-revision.theme-navy-flat.edition-five .interview-feature {
    margin-bottom: 22px;
  }
  body.layout-revision.theme-navy-flat.edition-five .interview-feature > img,
  body.layout-revision.theme-navy-flat.edition-five .interview-feature > a > img {
    width: 100%;
    height: 188px;
    min-height: 0;
  }
  body.layout-revision.theme-navy-flat.edition-five .interview-feature-copy {
    padding: 17px 18px 20px;
  }
  body.layout-revision.theme-navy-flat.edition-five .interview-feature-copy :is(h3, h2) {
    font-size: 17px;
  }
  body.layout-revision.theme-navy-flat.edition-five .latest .story-list {
    gap: 24px 14px;
  }
  body.layout-revision.theme-navy-flat.edition-five .latest .story-card h3 {
    font-size: 13px;
    line-height: 1.65;
  }
  body.layout-revision.theme-navy-flat.edition-five .latest .story-tags {
    margin-top: 9px;
  }
  body.layout-revision.theme-navy-flat.edition-five .latest .story-card:last-child {
    grid-column: 1 / -1;
  }
  body.layout-revision.theme-navy-flat.edition-five .latest .story-card:last-child a {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    align-items: start;
    column-gap: 13px;
  }
  body.layout-revision.theme-navy-flat.edition-five .latest .story-card:last-child .story-media {
    grid-row: 1 / 3;
    height: 100%;
    min-height: 135px;
    aspect-ratio: 1;
    object-position: center 20%;
  }
  body.layout-revision.theme-navy-flat.edition-five .latest .story-card:last-child h3 {
    margin-top: 0;
  }
  body.layout-revision.theme-navy-flat.edition-five .latest .story-card:last-child .story-tags {
    grid-column: 2;
  }
  body.layout-revision.theme-navy-flat.edition-five .knowledge-section {
    padding-top: 37px;
    padding-bottom: 38px;
  }
  body.layout-revision.theme-navy-flat.edition-five .contact-section {
    padding-top: 38px;
    padding-bottom: 43px;
  }
}


/* 写真のトップと、仕事別アイコンに移した動き。 */
body.layout-revision.theme-navy-flat.edition-five .home-photo-hero{height:640px;max-width:1360px;padding:0;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;isolation:isolate;overflow:hidden;background:#ecf5f7}
body.layout-revision.theme-navy-flat.edition-five .home-photo-board{position:relative;z-index:1;width:min(550px,calc(100% - 40px));padding:44px 24px 48px;border:8px solid #16364c;background:#fff;text-align:center;box-shadow:0 12px 34px #142f4c0b}
body.layout-revision.theme-navy-flat.edition-five .home-photo-board p{margin:0 0 24px;color:#16364c;font-size:15px;font-weight:600;letter-spacing:.08em;line-height:1.85}
body.layout-revision.theme-navy-flat.edition-five .home-photo-board h1{display:block;width:100%;max-width:430px;height:auto;overflow:visible;margin:0 auto}
body.layout-revision.theme-navy-flat.edition-five .home-photo-board h1 img{display:block;width:100%;height:auto;mix-blend-mode:normal}
.home-photo-row{position:absolute;inset-inline:0;overflow:hidden;pointer-events:none}
.home-photo-top{top:22px}.home-photo-bottom{bottom:22px}
.home-photo-track,.home-photo-group{display:flex;width:max-content}.home-photo-track{animation:home-photo-scroll 85s linear infinite}.home-photo-bottom .home-photo-track{animation-direction:reverse}
.home-photo-group{gap:16px;padding-right:16px}.home-photo-group img{flex:none;width:270px;height:145px;object-fit:cover}
@keyframes home-photo-scroll{to{transform:translateX(-50%)}}
body.layout-revision.theme-navy-flat.edition-five .directory-section .category-art svg{display:block;width:124px;max-width:100%;max-height:121px;height:auto;stroke:none;fill:none}
@media(max-width:650px){
 body.layout-revision.theme-navy-flat.edition-five .home-photo-hero{height:570px;padding:0;justify-content:center}
 body.layout-revision.theme-navy-flat.edition-five .home-photo-board{width:min(420px,calc(100% - 34px));border-width:5px;padding:37px 17px 40px}
 body.layout-revision.theme-navy-flat.edition-five .home-photo-board p{font-size:12px;letter-spacing:.02em;margin-bottom:20px}
 body.layout-revision.theme-navy-flat.edition-five .home-photo-board h1{width:100%;height:auto;margin:0}
 .home-photo-group img{width:190px;height:128px}
 body.layout-revision.theme-navy-flat.edition-five .directory-section .category-art svg{width:92px;max-height:90px}
}
@media(prefers-reduced-motion:reduce){.home-photo-track{animation:none}}
/* サイト共通のアニメーション停止設定に対し、写真帯だけを有効にする。 */
body.layout-revision.theme-navy-flat.edition-five .home-photo-track{animation:home-photo-scroll 85s linear infinite !important}
@keyframes home-photo-scroll-three{to{transform:translateX(-33.3333333333%)}}
body.layout-revision.theme-navy-flat.edition-five .home-photo-track[data-photo-repeat="3"]{animation-name:home-photo-scroll-three!important}
body.layout-revision.theme-navy-flat.edition-five .home-photo-bottom .home-photo-track{animation-direction:reverse !important}
@media(prefers-reduced-motion:reduce){body.layout-revision.theme-navy-flat.edition-five .home-photo-track{animation:none !important}}
body.layout-revision.theme-navy-flat.edition-five .about-section .about-title .section-motion{width:90px;height:68px;flex:none}
@media(max-width:760px){body.layout-revision.theme-navy-flat.edition-five .about-section .about-title .section-motion{width:62px;height:52px}}
/* ロゴ枠の外で、この媒体の内容を簡潔に伝える。 */
body.layout-revision.theme-navy-flat.edition-five .home-photo-hero{height:700px}
body.layout-revision.theme-navy-flat.edition-five .home-photo-center{position:relative;z-index:1;width:100%;text-align:center}
body.layout-revision.theme-navy-flat.edition-five .home-photo-center .home-photo-board{margin-inline:auto}
body.layout-revision.theme-navy-flat.edition-five .home-photo-description{color:#29465c;font-size:14px;font-weight:600;line-height:1.8;letter-spacing:.02em;margin:16px 18px 0}
body.layout-revision.theme-navy-flat.edition-five .home-photo-description span{display:inline-block}
@media(max-width:650px){body.layout-revision.theme-navy-flat.edition-five .home-photo-hero{height:620px}body.layout-revision.theme-navy-flat.edition-five .home-photo-description{font-size:12px;margin:14px 15px 0}}

/* 採用した③案：説明はロゴと同じ枠内に置く。 */
body.layout-revision.theme-navy-flat.edition-five .home-photo-board{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center}
body.layout-revision.theme-navy-flat.edition-five .home-photo-board h1{margin:0 auto}
body.layout-revision.theme-navy-flat.edition-five .home-photo-board{background:#edf4df}
html:has(body.layout-revision){scroll-behavior:smooth}
body.layout-revision #find,body.layout-revision #knowledge{scroll-margin-top:88px}
@media(prefers-reduced-motion:reduce){html:has(body.layout-revision){scroll-behavior:auto}}
body.layout-revision.theme-navy-flat.edition-five .home-photo-board .home-photo-inside{font-size:13px;line-height:1.7;letter-spacing:0;margin:0 0 18px;text-wrap:pretty;word-break:keep-all}
body.layout-revision.theme-navy-flat.edition-five .home-quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;width:min(550px,calc(100% - 40px));gap:0;margin:14px auto 0;padding:0 16px}
body.layout-revision.theme-navy-flat.edition-five .home-quick-links a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:5px 2px;color:#16364c;font-size:14px;font-weight:700;line-height:1.6;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;text-decoration-color:#7b9ead}
body.layout-revision.theme-navy-flat.edition-five .home-quick-links a:hover{color:#006c95;text-decoration-color:currentColor}
body.layout-revision.theme-navy-flat.edition-five .home-quick-links a:focus-visible{outline:2px solid #008fb9;outline-offset:4px}
@media(max-width:650px){body.layout-revision.theme-navy-flat.edition-five .home-photo-board{min-height:185px}body.layout-revision.theme-navy-flat.edition-five .home-photo-board .home-photo-inside{font-size:12px;margin-bottom:16px}body.layout-revision.theme-navy-flat.edition-five .home-quick-links{width:min(420px,calc(100% - 34px));gap:0;margin-top:10px;padding-inline:0}}
/* 見出しと線画を横にまとめ、見出し周りの余白を整える。 */
body.layout-revision.theme-navy-flat.edition-five #people .simple-heading,
body.layout-revision.theme-navy-flat.edition-five #knowledge .section-heading{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;text-align:left;margin:0 0 22px}
body.layout-revision.theme-navy-flat.edition-five #people .simple-heading>div,
body.layout-revision.theme-navy-flat.edition-five #knowledge .section-heading>div{text-align:left}
body.layout-revision.theme-navy-flat.edition-five #people{padding-block:34px}
body.layout-revision.theme-navy-flat.edition-five #knowledge{padding-block:34px}
body.layout-revision.theme-navy-flat.edition-five .heading-mark{display:block;flex:0 0 74px;width:74px;height:62px}
body.layout-revision.theme-navy-flat.edition-five .heading-mark svg{display:block;width:100%;height:100%}
body.layout-revision.theme-navy-flat.edition-five #knowledge .section-heading .section-motion{width:74px;height:62px;margin:0;flex:0 0 74px}
@media(max-width:760px){
 body.layout-revision.theme-navy-flat.edition-five .about-section .about-title{justify-content:center;text-align:center}
 body.layout-revision.theme-navy-flat.edition-five .about-section .about-content{max-width:350px;margin:20px auto 0;text-align:center}
 body.layout-revision.theme-navy-flat.edition-five .about-section .about-content p{margin-inline:auto;text-align:center}
 body.layout-revision.theme-navy-flat.edition-five #people,body.layout-revision.theme-navy-flat.edition-five #knowledge{padding-block:26px}
 body.layout-revision.theme-navy-flat.edition-five #people .simple-heading,body.layout-revision.theme-navy-flat.edition-five #knowledge .section-heading{gap:8px;margin-bottom:16px}
 body.layout-revision.theme-navy-flat.edition-five .heading-mark,body.layout-revision.theme-navy-flat.edition-five #knowledge .section-heading .section-motion{flex:0 0 54px;width:54px;height:46px}
 body.layout-revision.theme-navy-flat.edition-five .directory-section .directory-heading h2{font-size:21px}
}
