/*
 * ============================================================
 * 本サイト・キャリア採用サイト 共通フッタースタイル
 * 両サイトのフッター修正はここに記述してください
 * ============================================================
 */

:root {
  --white: #FFFFFF;
  --black: #212121;
  --gray: #BEBFBF;
  --base-color: #D9F1F4;
  --main-color: #0774A4;
  --shadow-primary: 0px 2px 8px rgb(0 0 0 / .04);
  --shadow-secondary: 2px 2px 3px rgb(45 127 134 / .16);
  --shadow-tertiary: 0px 17px 10px rgb(29 82 139 / .30);
  --gradient-primary: linear-gradient(115deg,rgba(0, 177, 255, 1) 0%, rgba(7, 116, 164, 1) 55%, rgba(154, 219, 114, 1) 100%);
  --gradient-primary-reverse: linear-gradient(115deg,rgba(154, 219, 114, 1) 0%, rgba(7, 116, 164, 1) 55%, rgba(0, 177, 255, 1) 100%);
  --radius-sm: clamp(3px, 2.171px + 0.221vw, 5px);
  --radius-md: clamp(5px, 2.928px + 0.552vw, 10px);
  --radius-lg: clamp(8px, 5.099px + 0.773vw, 15px);
  --radius-xl: clamp(15px, 8.785px + 1.657vw, 30px);
  --radius-xxl: clamp(60px, 35.138px + 6.63vw, 120px);
  --radius-full: calc(1px / 0);
  --family-primary: "Noto Sans JP", sans-serif;
  --family-secondary: "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
  --line-height-tight: 1.2;
  --line-height-snug: 1.4;
  --line-height-default: 1.5;
  --line-height-normal: 1.75;
  --line-height-relaxed: 2;
  --header-height: 100px;
  --header-height-sm: 60px;
  --spacing-gutter: clamp(15px, 0.497px + 3.867vw, 50px);
  --spacing-gutter-outer: clamp(8px, 1.370px + 1.768vw, 24px);
  --leading-trim: calc((1em - 1lh) / 2);
  --text-box: trim-both cap alphabetic;
}

:root {
  --icon-logo: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="138.041" height="138.04" viewBox="0 0 138.041 138.04"><path d="M57.978,138.04C47.234,101.635,17.666,86.434,0,80.063V57.977C40.792,44.426,50.608,17.431,57.978,0H80.063c7.816,28.32,29.6,49.027,57.978,57.977V80.063c-32.523,9.149-47.4,27.707-57.978,57.977ZM10.615,69.511S51.8,83.23,69.02,126.935c16.891-45.127,58.406-57.424,58.406-57.424C83.584,52.555,68.039,11.1,68.039,11.1S58.042,48.873,10.615,69.511Zm57.378,46.127c-16.6-32.79-45.608-45.041-45.9-45.161l-2.326-.959,2.244-1.138C54.8,51.775,67.054,22.774,67.174,22.482l1-2.432,1.11,2.386c.136.291,13.926,29.325,46.745,45.944l2.244,1.138-2.326.959c-.291.12-29.293,12.371-45.9,45.161l-1.029,2.03ZM25.133,69.355a104.685,104.685,0,0,1,43.888,43.263,104.692,104.692,0,0,1,43.887-43.263A113.75,113.75,0,0,1,68.293,25.524,104.67,104.67,0,0,1,25.133,69.355Zm48.8,11.381a3.415,3.415,0,0,1-1.479-2.7V71.459h5.064V76.1a.534.534,0,0,0,.239.464.983.983,0,0,0,.573.167.875.875,0,0,0,.591-.166.6.6,0,0,0,.185-.464V56.009h5.656V77.447a3.906,3.906,0,0,1-1.774,3.474A8.255,8.255,0,0,1,78.333,82.1,6.793,6.793,0,0,1,73.935,80.736ZM60,80.958a3.953,3.953,0,0,1-1.959-3.512V55.934H63.7V75.948a.7.7,0,0,0,.25.574,1.172,1.172,0,0,0,.749.2,1.092,1.092,0,0,0,.731-.2.728.728,0,0,0,.229-.574V55.934h5.656V77.409a3.913,3.913,0,0,1-1.866,3.474A8.526,8.526,0,0,1,64.7,82.1,8.662,8.662,0,0,1,60,80.958Zm-13.529.851V55.935H57.119v5.08h-4.99v5.2H56.6v4.968H52.129v10.63Zm39.439,0V55.933h5.656V81.807Z" fill="black"/></svg>');
  --icon-logo-shape: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="138" height="138" viewBox="0 0 138 138"><path d="M2022.2-2507.439h-21.977a88.33,88.33,0,0,1-58.016,58.017v21.97a88.335,88.335,0,0,1,58.016,58.013H2022.2a88.4,88.4,0,0,1,58.007-58.013v-21.97a88.312,88.312,0,0,1-58.007-58.017m-10.988,127.069a102.513,102.513,0,0,0-58.019-58.062,102.514,102.514,0,0,0,58.019-58.052,102.463,102.463,0,0,0,58.022,58.052,102.446,102.446,0,0,0-58.022,58.062" transform="translate(-1942.207 2507.439)" fill="black"/></svg>');
  --icon-arrow: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="13.853" height="13.147" viewBox="0 0 13.853 13.147"><path d="M13.8,6.855a.751.751,0,0,0,0-.563.636.636,0,0,0-.077-.121.669.669,0,0,0-.071-.113L8.15.235a.75.75,0,0,0-1.09,1.03l4.3,4.558H.75a.75.75,0,0,0,0,1.5H11.365l-4.3,4.558a.75.75,0,1,0,1.09,1.031l5.5-5.824a.66.66,0,0,0,.071-.112.729.729,0,0,0,.077-.121" fill="black"/></svg>');
  --icon-arrow-circle-sm: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><path d="M20,40A20.005,20.005,0,0,1,12.215,1.572a20.005,20.005,0,0,1,15.57,36.856A19.875,19.875,0,0,1,20,40ZM14.63,19.893a.63.63,0,1,0,0,1.26h8.919l-3.617,3.83a.63.63,0,1,0,.915.866l4.622-4.893a.264.264,0,0,0,.041-.062c.006-.011.012-.022.018-.032l.02-.028a.32.32,0,0,0,.045-.074.628.628,0,0,0,0-.472.316.316,0,0,0-.047-.078l-.018-.024c-.006-.01-.012-.021-.018-.031a.283.283,0,0,0-.042-.064L20.848,15.2a.63.63,0,1,0-.915.866l3.617,3.83Z" fill="black"/></svg>');
  --icon-arrow-circle-lg: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="25.219" height="25.219" viewBox="0 0 25.219 25.219"><path d="M12.609,25.219A12.609,12.609,0,0,1,3.693,3.693,12.609,12.609,0,1,1,21.526,21.526,12.527,12.527,0,0,1,12.609,25.219ZM7.63,11.893a.63.63,0,1,0,0,1.26h8.919l-3.617,3.83a.63.63,0,1,0,.916.866l4.621-4.893a.263.263,0,0,0,.04-.059c.007-.012.013-.024.021-.035s.015-.023.024-.034a.325.325,0,0,0,.041-.068.63.63,0,0,0,0-.473.335.335,0,0,0-.045-.074l-.02-.028c-.007-.011-.014-.023-.02-.035a.28.28,0,0,0-.04-.06L13.848,7.2a.63.63,0,1,0-.916.866l3.617,3.829Z" fill="black"/></svg>');
  --icon-next: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="7.572" height="14.093" viewBox="0 0 7.572 14.093"><path d="M.75,14.094a.75.75,0,0,1-.54-1.271L5.78,7.047.21,1.271A.75.75,0,1,1,1.29.23l6.072,6.3a.75.75,0,0,1,0,1.041l-6.072,6.3a.751.751,0,0,1-.54.229" fill="black"/></svg>');
  --icon-prev: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="7.572" height="14.093" viewBox="0 0 7.572 14.093"><path d="M6.822,14.093a.75.75,0,0,0,.54-1.271L1.792,7.047l5.57-5.776A.75.75,0,1,0,6.282.23L.21,6.527a.75.75,0,0,0,0,1.041l6.072,6.3a.751.751,0,0,0,.54.229" fill="black"/></svg>');
  --icon-tel: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="28.517" height="28.518" viewBox="0 0 28.517 28.518"><path d="M17.29,27.614a29.366,29.366,0,0,1-9.721-6.666A29.372,29.372,0,0,1,.9,11.227C-.43,7.767-.284,4.981,1.317,3.38L3.522,1.175A3.837,3.837,0,0,1,6.022,0h.053A2.926,2.926,0,0,1,8.188.932l3.573,3.574a3.774,3.774,0,0,1,.787,1.371,3.04,3.04,0,0,1-.821,3.143l-1.9,1.9a18.328,18.328,0,0,0,3.323,4.448A18.668,18.668,0,0,0,17.6,18.689l1.9-1.9a3,3,0,0,1,3.143-.821,3.776,3.776,0,0,1,1.37.787l.024.022,3.551,3.551a2.916,2.916,0,0,1,.931,2.166,3.837,3.837,0,0,1-1.174,2.5l-2.2,2.2a4.9,4.9,0,0,1-3.614,1.319A11.98,11.98,0,0,1,17.29,27.614ZM5.065,2.66l-.02.021L2.831,4.9c-.937.937-.91,3.016.07,5.562a27.2,27.2,0,0,0,6.182,8.976,27.2,27.2,0,0,0,8.976,6.182,10,10,0,0,0,3.456.758,2.918,2.918,0,0,0,2.106-.688l2.239-2.238a1.721,1.721,0,0,0,.514-.994.817.817,0,0,0-.3-.609l-3.528-3.528a1.751,1.751,0,0,0-.57-.311.971.971,0,0,0-.271-.042.939.939,0,0,0-.689.343L18.9,20.415a1.6,1.6,0,0,1-1.168.536,1.513,1.513,0,0,1-.358-.044,17.23,17.23,0,0,1-5.731-4.024l-.008-.008A17.246,17.246,0,0,1,7.61,11.141,1.555,1.555,0,0,1,8.1,9.615L10.212,7.5a.875.875,0,0,0,.3-.96,1.706,1.706,0,0,0-.312-.57L6.674,2.446a.821.821,0,0,0-.6-.3H6.062A1.726,1.726,0,0,0,5.065,2.66Z" fill="black"/></svg>');
}

.footer {
  background-color: var(--white);
  padding-top: clamp(5rem, 3.02rem + 8.13vw, 8.75rem);
  padding-bottom: clamp(1.25rem, -4.03rem + 21.68vw, 11.25rem);
  position: relative;
}

.footer__wrapper {
  border-top: 2px solid #263770;
  padding-top: 40px;
  display: flex;
  justify-content: space-between;
  gap: 50px 40px;
}
@media (max-width: 1080px) {
  .footer__wrapper {
    display: grid;
    grid-template-columns: 1fr;
  }
}

.footer__meta address {
  font-size: clamp(0.75rem, 0.65rem + 0.407vw, 0.9375rem);
  font-weight: 700;
  line-height: var(--line-height-normal);
  margin-block: 1.5em;
}
@media (max-width: 1080px) {
  .footer__meta address {
    text-align: center;
  }
}
.footer__meta ul a {
  display: block;
  transition: opacity 0.2s ease-in-out;
}
.footer__meta ul a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .footer__meta ul a:hover {
    opacity: 0.7;
  }
}
@media (max-width: 1080px) {
  .footer__meta li {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}

.footer__logo a {
  display: block;
  transition: opacity 0.2s ease-in-out;
}
.footer__logo a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .footer__logo a:hover {
    opacity: 0.7;
  }
}
.footer__logo img {
  width: clamp(10rem, 5.91rem + 6.504vw, 10.5rem);
}
@media (max-width: 1080px) {
  .footer__logo{
    text-align: center;
  }
  .footer__logo img {
    margin-inline: auto;
  }
}

.footer__nav {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}
@media (min-width: 1440px) {
  .footer__nav {
    justify-content: end;
    gap: 5vw;
  }
}
@media (max-width: 1180px) {
  .footer__nav {
    gap: 24px;
  }
}
@media (max-width: 599px) {
  .footer__nav {
    display: block;
    max-width: 380px;
    width: 100%;
    margin-inline: auto;
    border-bottom: 1px solid #eee;
  }
}

.f-nav a {
  transition: color 0.2s ease-in;
}
.f-nav a:focus-visible {
  color: var(--main-color);
}
@media (any-hover: hover) {
  .f-nav a:hover {
    color: var(--main-color);
  }
}

@media (max-width: 599px) {
  .f-nav__item {
    border-top: 1px solid #eee;
  }
}
.f-nav__item > a {
  font-size: clamp(0.875rem, 0.81rem + 0.271vw, 1rem);
  font-weight: 700;
}
@media (max-width: 599px) {
  .f-nav__item > a {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 0.5em;
    padding: 1.2em 1em;
  }
}
.f-nav__item + .f-nav__item {
  margin-top: 1em;
}
@media (max-width: 599px) {
  .f-nav__item + .f-nav__item {
    margin-top: 0;
  }
}
@media (max-width: 599px) {
  .f-nav__item br {
    display: none;
  }
}

.f-nav-child {
  margin-top: 0.5em;
}
@media (max-width: 599px) {
  .f-nav-child {
    margin-top: 0;
    margin-bottom: 1em;
    padding-left: 1em;
  }
}

.f-nav-child__item > a {
  font-size: clamp(0.75rem, 0.72rem + 0.136vw, 0.8125rem);
  font-weight: 400;
  line-height: 1.85;
}
@media (max-width: 599px) {
  .f-nav-child__item > a {
    display: grid;
    grid-template-columns: max-content 1fr;
    align-items: center;
    gap: 0.8em;
    padding: 0.5em;
  }
}
@media (max-width: 599px) {
  .f-nav-child__item > a::before {
    content: "";
    display: inline-block;
    width: 0.6em;
    height: 1px;
    background-color: var(--main-color);
    opacity: 0.5;
    translate: 0 0.1em;
  }
}


.footer__pagetop {
  position: absolute;
  bottom: 24px;
  right: 24px;
  z-index: 100;
  border-radius: 50%;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.24);
  transition: opacity 0.2s ease-in-out;
}
.footer__pagetop:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .footer__pagetop:hover {
    opacity: 0.7;
  }
}
@media (max-width: 979px) {
  .footer__pagetop {
    bottom: 20px;
    right: 20px;
  }
}
.footer__pagetop img {
  width: clamp(2.5rem, 1.24rem + 5.149vw, 4.875rem);
  height: clamp(2.5rem, 1.24rem + 5.149vw, 4.875rem);
}/*# sourceMappingURL=footer.css.map */





.footer__bottom{
  margin-top: 40px;
  border-bottom: 1px solid #263770;
  padding-bottom: 20px;
  display: flex;
}

.footer__under{
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer__logo-group a {
  display: block;
  transition: opacity 0.2s ease-in-out;
}

.footer__logo-group a:focus-visible {
  opacity: 0.7;
}

.footer__copyright {
  font-family: var(--family-secondary);
  font-size: 1rem;
  font-weight: bold;
  text-align: right;
}

@media (any-hover: hover) {
  .footer__logo-group a:hover {
    opacity: 0.7;
  }
}

@media (max-width: 1080px) {
  .footer__bottom {
    justify-content: center;
  }
  .footer__bottom__sns{
    text-align: center;
  }
  .footer__logo-group img {
    margin-inline: auto;
  }
  .footer__copyright {
    text-align: center;
  }
}

@media (max-width: 599px) {
  .footer__under{
    flex-direction: column;
  }
  .footer__logo-group{
    margin-bottom: 50px;
  }
  .footer__copyright{
    font-size: 12px;
  }
}