@charset "UTF-8";
.page-header {
  margin-bottom: max(65.641025641px, min(20.5128205128vw, max(80px, min(5.5555555556vw, 80px))));
}
@media only screen and (min-width: 768px) {
  .page-header {
    background: url("../images/common/page-header-bg_pc.jpg") no-repeat center/cover;
  }
}
@media only screen and (max-width: 767px) {
  .page-header {
    background: url("../images/common/page-header-bg_sp.jpg") no-repeat center/cover;
  }
}

@media only screen and (max-width: 767px) {
  .sitemap_wrap .page-header__title {
    padding: max(43.4871794872px, min(13.5897435897vw, max(53px, min(3.6805555556vw, 53px)))) 0;
  }
}

.sitemap {
  margin-bottom: max(65.641025641px, min(20.5128205128vw, max(80px, min(5.5555555556vw, 80px))));
}
.sitemap .inner {
  padding-left: max(19.6923076923px, min(6.1538461538vw, max(24px, min(3.3333333333vw, 48px))));
  padding-right: max(19.6923076923px, min(6.1538461538vw, max(24px, min(3.3333333333vw, 48px))));
}
.sitemap .map__title {
  font-size: max(19.6923076923px, min(6.1538461538vw, max(24px, min(2.5vw, 36px))));
  line-height: 1.2;
  letter-spacing: 0.005em;
  margin-bottom: max(19.6923076923px, min(6.1538461538vw, max(24px, min(1.6666666667vw, 24px))));
}
@media only screen and (max-width: 767px) {
  .sitemap .map__title {
    margin-bottom: max(39.3846153846px, min(12.3076923077vw, max(48px, min(3.3333333333vw, 48px))));
  }
}
.sitemap .map:nth-child(2) .map__title {
  margin-top: max(39.3846153846px, min(12.3076923077vw, max(48px, min(6.6666666667vw, 96px))));
}
.sitemap .map:nth-child(3) .map__title {
  margin-top: max(39.3846153846px, min(12.3076923077vw, max(48px, min(6.6666666667vw, 96px))));
}
.sitemap .map a {
  color: #000;
}
.sitemap .map__list {
  border-top: 1px solid #D8DADF;
}
.sitemap .map__list .grid_box {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px 48px;
}
@media only screen and (max-width: 767px) {
  .sitemap .map__list .grid_box {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.sitemap .map__list .list {
  display: inline-block;
  font-size: max(13.1282051282px, min(4.1025641026vw, max(16px, min(1.6666666667vw, 24px))));
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: 0.01em;
  overflow-wrap: anywhere;
  color: #000;
  padding-top: max(19.6923076923px, min(6.1538461538vw, max(24px, min(3.3333333333vw, 48px))));
  position: relative;
}
.sitemap .map__list .list.link::after {
  content: "";
  width: 19px;
  height: 19px;
  background-image: url("data:image/svg+xml,%3Csvg width='19' height='19' viewBox='0 0 19 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='9.5' r='9.5' fill='%230B2545'/%3E%3Cpath d='M8 6L12 9.5L8 13' stroke='white' stroke-width='1.2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 19px 19px;
  vertical-align: baseline;
  padding: 27px;
}
@media only screen and (max-width: 767px) {
  .sitemap .map__list .list.link::after {
    width: 15px;
    height: 15px;
    background-size: 15px 15px;
    padding: 23px;
  }
}
.sitemap .map__list .list.blank::after {
  content: "";
  width: 14px;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14 0V6.3H12.74V2.151L7.4455 7.4455L6.5545 6.5545L11.849 1.26H7.7V0H14ZM10.64 12.74H1.26V3.36H4.9V2.1H0V14H11.9V9.1H10.64V12.74Z' fill='%230B2545'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px 14px;
  vertical-align: baseline;
  padding: 22px;
}
@media only screen and (max-width: 767px) {
  .sitemap .map__list .list.blank::after {
    width: 12px;
    height: 12px;
    background-size: 12px 12px;
    padding: 19px;
  }
}
.sitemap .map__list .list.pdf::after {
  content: "";
  width: 24px;
  height: 24px;
  background: url(../images/common/icon-pdf.svg) no-repeat center/contain;
  background-size: 24px 24px;
  vertical-align: baseline;
  padding: 20px;
}
@media only screen and (max-width: 767px) {
  .sitemap .map__list .list.pdf::after {
    width: 12px;
    height: 12px;
    background-size: 12px 12px;
    padding: 19px;
  }
}
.sitemap .map {
  /* サービス：大カテゴリ一覧（フッターの「サービス」〜「事例から探す」と同じ構成・並び方）
     PC: 3列×3行グリッド（1〜2行目が大カテゴリ、3行目がカテゴリ・課題・事例から探す）。3列とも行の開始位置を揃える。
         3列目の2行目だけ、ブランディング支援と転職支援の2グループを __stack にまとめて1セルに収める
     SP: 全カテゴリ・インデックスリンクを DOM 順にそのまま縦積み */
}
.sitemap .map__service-grid {
  margin-top: max(24.6153846154px, min(7.6923076923vw, max(30px, min(2.0833333333vw, 30px))));
}
@media only screen and (min-width: 768px) {
  .sitemap .map__service-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 48px;
    row-gap: max(39.3846153846px, min(12.3076923077vw, max(48px, min(3.3333333333vw, 48px))));
  }
}
@media only screen and (max-width: 767px) {
  .sitemap .map__service-grid > * + * {
    margin-top: max(26.2564102564px, min(8.2051282051vw, max(32px, min(2.2222222222vw, 32px))));
  }
}
@media only screen and (min-width: 768px) {
  .sitemap .map__service-stack {
    display: flex;
    flex-direction: column;
    gap: max(22.9743589744px, min(7.1794871795vw, max(28px, min(1.9444444444vw, 28px))));
  }
}
@media only screen and (max-width: 767px) {
  .sitemap .map__service-stack > * + * {
    margin-top: max(26.2564102564px, min(8.2051282051vw, max(32px, min(2.2222222222vw, 32px))));
  }
}
.sitemap .map__service-sub {
  margin-top: 20px;
}
.sitemap .map__service-sub li + li {
  margin-top: 20px;
}

/* サイトマップページ専用の間隔調整（download.html は同じ .sitemap/.map 構造を再利用しているため影響させない） */
@media only screen and (min-width: 768px) {
  .sitemap:not(.download) .map .map__list .grid_box > li:nth-child(n+4) .list {
    padding-top: 0;
  }
}
@media only screen and (max-width: 767px) {
  .sitemap:not(.download) .map .map__list .grid_box > li:nth-child(n+2) .list {
    padding-top: 0;
  }
}
@media only screen and (max-width: 767px) {
  .sitemap:not(.download) .map .map__title {
    margin-bottom: max(19.6923076923px, min(6.1538461538vw, max(24px, min(1.6666666667vw, 24px))));
  }
}
@media only screen and (min-width: 768px) {
  .sitemap:not(.download) .map:nth-child(1) .grid_box {
    row-gap: 50px;
  }
}
@media only screen and (min-width: 768px) {
  .sitemap:not(.download) .map:nth-child(3) .grid_box {
    row-gap: 50px;
    column-gap: 48px;
  }
}
@media only screen and (max-width: 767px) {
  .sitemap:not(.download) .map:nth-child(3) .grid_box {
    margin-top: max(19.6923076923px, min(6.1538461538vw, max(24px, min(1.6666666667vw, 24px))));
    gap: 24px;
  }
}

/* _link.scss の a:has(.link-text){ display:inline-block } を上書きするため a. を明示 */
.sitemap a.map__service-heading,
.sitemap a.map__service-sub-link {
  display: flex;
  align-items: center;
}

.sitemap a.map__service-heading {
  gap: 8px;
  font-size: max(13.1282051282px, min(4.1025641026vw, max(16px, min(1.25vw, 18px))));
  font-weight: bold;
  color: #000;
}
.sitemap a.map__service-heading::after {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  transform: rotate(-45deg);
}

.sitemap a.map__service-sub-link {
  font-size: max(11.4871794872px, min(3.5897435897vw, max(14px, min(0.9722222222vw, 14px))));
  color: #000;
}
.sitemap a.map__service-sub-link::before {
  content: "";
  flex-shrink: 0;
  display: inline-block;
  width: 8px;
  height: 4px;
  transform: scaleY(0.5);
  margin-right: max(12.3076923077px, min(3.8461538462vw, max(15px, min(1.0416666667vw, 15px))));
  background-color: #000;
}

.download {
  margin-bottom: max(65.641025641px, min(20.5128205128vw, max(80px, min(8.3333333333vw, 120px))));
}
.download .map__list {
  border-top: none;
}
.download .map__list li:nth-child(-n+3) a {
  padding-top: 0;
}
@media only screen and (max-width: 767px) {
  .download .map__list li:nth-child(-n+3) a {
    padding-top: max(19.6923076923px, min(6.1538461538vw, max(24px, min(1.6666666667vw, 24px))));
  }
  .download .map__list li:nth-child(-n+3) a li:nth-child(1) a {
    padding-top: 0;
  }
}
@media only screen and (max-width: 767px) {
  .download .map__list li:nth-child(1) a {
    padding-top: 0;
  }
}
.download .map__list .list {
  font-size: max(13.1282051282px, min(4.1025641026vw, max(16px, min(1.1111111111vw, 16px))));
  line-height: 1.5;
}

.page404 {
  margin-bottom: max(65.641025641px, min(20.5128205128vw, max(80px, min(8.3333333333vw, 120px))));
  text-align: center;
}
.page404 .inner {
  padding: max(65.641025641px, min(20.5128205128vw, max(80px, min(8.3333333333vw, 120px))));
}
.page404 .inner .error-page__code {
  margin: 0;
  font-size: max(65.641025641px, min(20.5128205128vw, max(80px, min(5.5555555556vw, 80px))));
  line-height: 1;
  font-weight: 700;
  color: #0B2545;
}
.page404 .inner .error-page__code_en {
  font-size: max(16.4102564103px, min(5.1282051282vw, max(20px, min(1.6666666667vw, 24px))));
  font-weight: 700;
  color: #A1AABA;
}
.page404 .inner .error-page__title {
  margin: 30px 0 0;
  font-size: max(16.4102564103px, min(5.1282051282vw, max(20px, min(1.6666666667vw, 24px))));
  font-weight: 700;
}
.page404 .inner .error-page__button {
  margin-top: max(32.8205128205px, min(10.2564102564vw, max(40px, min(2.7777777778vw, 40px))));
}
.page404 .inner .error-page__button a {
  padding: max(13.1282051282px, min(4.1025641026vw, max(16px, min(1.1111111111vw, 16px)))) 0;
  text-align: center;
}
.page404 .inner .error-page__button a::after {
  left: 26px;
  right: auto;
  border-top: 1px solid #000;
  border-left: 1px solid #000;
  border-right: none;
  border-bottom: none;
  transform: translateY(-50%) rotate(-45deg);
  transition: transform 0.3s ease, border-color 0.45s ease;
}
@media (hover: hover) {
  .page404 .inner .error-page__button a:hover::after {
    border-top-color: #fff;
    border-left-color: #fff;
  }
}

.link-text {
  position: relative;
}

.underline-bar {
  position: absolute;
  height: var(--underline-height, 1.5px);
  background: var(--underline-color, currentColor);
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.3s ease var(--delay-out, 0s);
}

.link.is-hover .underline-bar {
  transform: scaleX(1);
  transform-origin: left center;
  transition: transform 0.3s ease var(--delay-in, 0s);
}

/*# sourceMappingURL=sitemap.css.map */
