@charset 'UTF-8';

@media screen and (min-width: 768px) {
  /* .spをviewport切り替えに使用しているページは除いて指定する */
  /* service, emplyer, it(commonを使用しているページのみ) */
  .l-header--specialty:not(:has(.l-header__anchor--it)) .sp {
    display: none;
  }

  .l-header--specialty .l-header__imgOuter {
    max-width: 290px!important;
  }
}

@media screen and (max-width: 767px) {
  .l-header--specialty .l-header__anchor {
    width: 204px;
  }
}

/* l-header
-------------------------------------------------- */
header.l-header,
.l-header {
  /* TOPで指定されているfont-familyの打ち消し */
  /* font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif; */
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 10;
  -webkit-box-shadow: 0 3px 4px 0px rgba(0, 0, 0, 0.1);
  box-shadow: 0 3px 4px 0px rgba(0, 0, 0, 0.1);
  /* 領域で指定されていることがあるので打ち消し */
  font-feature-settings: 'palt' 0;
}

@media screen and (max-width: 767px) {
  .l-header {
    height: 60px;
    margin: 0;
    position: relative;
    -webkit-box-shadow: 0 3px 4px 0px rgba(0, 0, 0, 0.1);
    box-shadow: 0 3px 4px 0px rgba(0, 0, 0, 0.1)
  }
}

/* .l-header__titleOuter {
  position: relative;
  max-width: 1000px;
  width: 95%;
  margin: 0 auto
}

@media screen and (max-width: 767px) {
  .l-header__titleOuter {
    width: 100%;
    overflow: hidden;
    display: block;
    position: absolute;
    top: 69%;
    left: 10px;
    z-index: 100;
    width: 83%
  }
} */

/* .l-header__title {
  position: absolute;
  top: 10px;
  right: 161px;
  width: 369px;
  overflow: hidden;
  white-space: nowrap;
  color: #c3c3c3;
  font-size: 11px;
  font-weight: normal;
  -ms-overflow-style: none;
  scrollbar-width: none
}

.l-header__title::-webkit-scrollbar {
  display: none
}

@media screen and (max-width: 767px) {
  .l-header__title {
    position: static;
    width: 100%;
    white-space: nowrap;
    overflow-x: scroll;
    font-size: 10px;
    color: #c3c3c3
  }
} */

.l-header__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 1000px;
  width: 95%;
  margin: 0 auto;
  padding-top: 10px
}

@media screen and (max-width: 767px) {
  .l-header__inner {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 0
  }
}

@media screen and (max-width: 1024px) {
  .l-header__logo {
    display: flex;
    align-items: center;
  }
}

.l-header__logo img {
  max-width: 100%;
}

.l-header__imgOuter {
  /* max-width: 309px; */
  max-width: 243px!important;
  margin-top: 4px;
  position: relative;
}

@media screen and (max-width: 1024px) {
  .l-header__imgOuter {
    margin-top: -8px;
  }
}

@media screen and (max-width: 767px) {
  .l-header__imgOuter {
    margin-top: 0
  }
}

.l-header__anchor {
  display: block;
}

@media screen and (max-width: 767px) {
  .l-header__anchor {
    width: 160px;
    display: block;
    margin: 0 10px;
    /* padding-top: 18px */
    padding-top: 20px
  }

  .l-header__anchor picture {
    width: 100%;
    display: block
  }
}

@media screen and (max-width: 1024px) {
  .l-header__anchor picture img {
    /* width: 100%; */
    height: auto;
  }
}

@media screen and (max-width: 767px) {
  .l-header__search {
    position: absolute;
    top: 14px;
    right: 80px;
    text-align: justify;
  }
  .l-header__search a {
    color: #333;
    text-decoration: none;
  }
  .l-header__search img {
    width: 20px;
    height: auto;
    margin: 0 auto;
    display: block;
  }
  .l-header__search span {
    font-size: 12px;
    line-height: 2;
    display: block;
  }
}

.l-header__nav {
  line-height: 1.5
}

@media screen and (max-width: 767px) {
  .l-header__nav {
    /* ユーティリティクラスから直接指定に変更 */
    display: none;
  }
}

.l-header__navInner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end
}

.l-header__subList {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.l-header__subItem {
  font-size: 12px;
  padding-left: 8px;
  border-left: solid 1px #878787;
  color: #878787;
}

.l-header__subItem:nth-of-type(1) {
  color: #005eab;
  padding-left: 0;
  padding-right: 8px;
  border-left: none;
}

.l-header__subItem:nth-of-type(2) a.l-header__subAnchor {
  color: #878787;
}

a.l-header__subAnchor {
  text-decoration: none;
  color: inherit;
}

/* employer */
@media screen and (min-width: 600px) {
  .l-header__employerCV a {
    display: block;
    color: #fff;
    text-decoration: none;
    padding: 4px 10px;
    background: #308c0e;
    background: -moz-linear-gradient(top, #64c224 0%, #308c0e);
    background: -webkit-gradient(linear, left top, left bottom, from(#64c224), to(#b5b5b5));
    background: linear-gradient(to bottom, #64c224 0%, #308c0e);
    border-radius: 0 0 4px 4px;
    border: 1px solid #308c0e;
    border-top: none;
    box-shadow: 0 2px 0 #1a4d00;
    font-size: 12px;
    font-weight: 500;
    transition: .2s;
    line-height: 1;
    margin: -10px 0 3px 20px;
  }
	.l-header__employerCV a span {
		display: block;
		border-bottom: solid 1px #fff;
		padding-bottom: 2px;
		margin-bottom: 2px;
	}
}

/* c-nav
-------------------------------------------------- */
.c-nav__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex
}

.c-nav__anchor {
  display: block;
  text-decoration: none;
  font-size: 15px;
  font-weight: bold;
  color: #333;
  padding: 8px 18px 22px;
  text-align: center;
  -webkit-transition: color .4s;
  transition: color .4s
}
.c-nav__anchor:visited {
  color: #333!important;
}

.c-nav__anchor:last-child {
  padding: 8px 0 0 18px
}

.c-nav__anchor:hover span:nth-of-type(1) {
  color: #333;
  border-bottom: 2px solid #1262b2
}

.c-nav__anchor--span {
  padding-bottom: 2px;
  white-space: nowrap
}

.c-nav__anchor--hover {
  opacity: .5;
  position: absolute;
  top: 90%;
  left: 50%;
  width: 80px;
  height: 40px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 10;
  cursor: pointer;
  visibility: hidden;
  -webkit-transition: visibility .1s .1s;
  transition: visibility .1s .1s
}

.c-nav__anchor--hover::before {
  content: '';
  width: 300px;
  height: 100%;
  position: absolute;
  top: -50%;
  left: 100%;
  -webkit-transform: rotate(5deg);
  transform: rotate(5deg)
}

.c-nav__anchor--hover::after {
  content: '';
  width: 300px;
  height: 100%;
  position: absolute;
  top: -50%;
  right: 100%;
  -webkit-transform: rotate(-5deg);
  transform: rotate(-5deg)
}

.c-nav__anchor.is-blue {
  color: #1262b2
}

.c-nav__content {
  position: absolute;
  top: 100%;
  left: 0;
  background: rgba(255,255,255,0.9);
  width: 100%;
  display: none;
  -webkit-box-shadow: 0 3px 6px #c5c5c5;
  box-shadow: 0 3px 6px #c5c5c5;
  padding: 0 !important;
}

.c-nav__content.is-active {
  display: block
}

.c-nav__inContent {
  padding: 26px 0;
  margin: 0 auto;
  width: 1000px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
	.c-nav__inContent {
    width: 100%;
  }
}

.c-nav__inList {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 0 0 auto;
  width: 70%
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
	.c-nav__inList {
    width: 84%;
  }
}

.c-nav__inItem {
  position: relative;
  margin-bottom: 5px;
  width: calc((100% - 20px) / 3)
}

.c-nav__inAnchor {
  display: block;
  padding: 10px 12px;
  color: #333;
  font-size: 15px;
  text-decoration: none;
  white-space: nowrap;
}

/* @media screen and (max-width: 1024px) and (min-width: 768px) {
  .c-nav__inAnchor {
    font-size: 14px;
  }
} */

.c-nav__inAnchor:hover {
  color: #1262b2
}
.c-nav__inAnchor:visited {
  color: #333!important;
}

/* c-navSp
-------------------------------------------------- */
.c-navSp {
  /* ユーティリティクラスから直接指定に変更 */
  display: none
}

@media screen and (max-width: 767px) {
  .c-navSp {
    /* ユーティリティクラスから直接指定に変更 */
    display: block;
    background: #eee;
    position: absolute;
    right: -100%;
    top: 54px;
    z-index: 200;
    width: 75%;
    -webkit-transition: right .2s;
    transition: right .2s;
    overflow: hidden;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 0 0 0 20px
  }

  .c-navSp.is-active {
    right: 0;
    -webkit-box-shadow: rgba(0, 0, 0, 0.4) -5px 10px 15px 0px;
    box-shadow: rgba(0, 0, 0, 0.4) -5px 10px 15px 0px
  }
}

.c-navSp__modalBg {
  /* ユーティリティクラスから直接指定に変更 */
  display: none
}

@media screen and (max-width: 767px) {
  .c-navSp__modalBg {
    /* ユーティリティクラスから直接指定に変更 */
    display: block;
    position: absolute;
    right: -100%;
    height: 100%;
    width: 100%;
    z-index: 99;
    -webkit-transition: right .2s;
    transition: right .2s;
    top: 54px
  }

  .c-navSp__modalBg.is-active {
    right: 0
  }
}

/* 領域別で使用されているjsとバッティングするのでクラス名を変更 */
/* .c-navSp__button { */
.c-navSp__menuButton {
  /* ユーティリティクラスから直接指定に変更 */
  display: none
}

@media screen and (max-width: 767px) {
  /* .c-navSp__button { */
  .c-navSp__menuButton {
    /* ユーティリティクラスから直接指定に変更 */
    display: block;
    position: absolute;
    top: 14px;
    right: 10px;
    text-align: justify
  }

/* spTabMenuBtn スタイルの指定をidからclassに変更 */
  .c-navSp__menuText {
    font-size: 12px;
    line-height: 2;
    display: block;
  }

  .c-navSp__inButton {
    margin: 0 auto;
    position: relative;
    width: 26px;
    height: 20px
  }

  .c-navSp__line {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #0d66af;
    border-radius: 4px;
    -webkit-transition: all .4s;
    transition: all .4s
  }

  .c-navSp__line:nth-of-type(1) {
    top: 0
  }

  .c-navSp__line:nth-of-type(1).is-active {
    -webkit-transform: translateY(9px) rotate(-45deg);
    transform: translateY(9px) rotate(-45deg)
  }

  .c-navSp__line:nth-of-type(2) {
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
  }

  .c-navSp__line:nth-of-type(2).is-active {
    opacity: 0
  }

  .c-navSp__line:nth-of-type(3) {
    bottom: 0
  }

  .c-navSp__line:nth-of-type(3).is-active {
    -webkit-transform: translateY(-9px) rotate(45deg);
    transform: translateY(-9px) rotate(45deg)
  }

  .c-navSp__entry {
    padding: 4% 0
  }

  .c-navSp__entryAnchor {
    width: 90%;
    display: block;
    margin: 0 auto;
    -webkit-box-shadow: 0 3px 6px 0 #9a9a9a;
    box-shadow: 0 3px 6px 0 #9a9a9a;
    border-radius: 5px
  }
}

.c-navSp__entryAnchor img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .c-navSp__item,
  .c-navSp__item--search {
    font-size: 15.5px;
    color: #fff;
    background: #0a9fc2
  }

  .c-navSp__item--search {
    background: #005eab
  }

  .c-navSp__item--search a {
    border-bottom: none
  }


  .c-navSp__item:nth-last-of-type(1) a,
  .c-navSp__item--search:nth-last-of-type(1) a {
    border-bottom: none
  }

  .c-navSp__anchor {
    position: relative;
    color: #fff;
    width: 90%;
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border-bottom: 1px solid #fff;
    padding: 4% 0;
    text-decoration: none
  }

  .c-navSp__anchor:hover {
    text-decoration: none
  }

  .c-navSp__anchor::after {
    content: "";
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    width: 8px;
    height: 8px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-right: 5px
  }

  .c-navSp__heading {
    background: #0a9fc2;
    padding: 4% 0;
    width: 90%;
    margin: 0 auto;
    color: #FFF
  }

  .c-navSp__subList {
    background: #eee
  }

  .c-navSp__subItem,
  .c-navSp__subItem--heading {
    font-size: 14.5px;
    color: #0092b4;
    width: 90%;
    margin: 0 auto;
    border-bottom: 1px solid #fff;
    padding: 3% 0 3% 5%
  }

  .c-navSp__subItem--heading {
    font-size: 13px;
    padding: 3% 0
  }

  .c-navSp__subAnchor {
    position: relative;
    color: #0092b4;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    text-decoration: none;
  }

  .c-navSp__subAnchor:hover {
    text-decoration: none
  }

  .c-navSp__subAnchor::after {
    content: "";
    border-top: solid 2px #0092b4;
    border-right: solid 2px #0092b4;
    width: 8px;
    height: 8px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-right: 5px
  }

  .c-navSp__accordion {
    background: #005eab
  }

  .c-navSp__accordionTxt {
    position: relative;
    color: #fff;
    width: 90%;
    margin: 0 auto;
    font-size: 15.5px;
    padding: 4% 0;
    border-bottom: 1px solid #fff
  }

  .c-navSp__accordionTxt::before {
    content: '';
    position: absolute;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background: #fff;
    top: 50%;
    right: 7px;
    height: 16px;
    width: 2px
  }

  .c-navSp__accordionTxt::after {
    content: '';
    position: absolute;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background: #fff;
    top: 50%;
    right: 0;
    width: 16px;
    height: 2px
  }

  .c-navSp__accordionTxt.open {
    border-bottom: none
  }

  .c-navSp__accordionTxt.open::before {
    content: none
  }

  .c-navSp__accordionList {
    display: none
  }

  .c-navSp__accordionItem {
    background: #eee;
  }

  .c-navSp__accordionItem:nth-of-type(1) a {
    padding: 3% 0
  }

  .c-navSp__accordionAnchor {
    background: #eee;
    width: 90%;
    margin: 0 auto;
    color: #005eab;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 3% 0 3% 5%;
    font-size: 15px;
    border-bottom: 1px solid #fff;
    text-decoration: none
  }
  .c-navSp__accordionAnchor:hover {
    text-decoration: none
  }

  .c-navSp__accordionAnchor::after {
    content: "";
    border-top: solid 2px #005eab;
    border-right: solid 2px #005eab;
    width: 8px;
    height: 8px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-right: 5px
  }
}

.l-header {
  container-type: inline-size;
  container-name: header;
}
@container header (max-width: 979px) and (min-width: 768px) {
/* @media screen and (max-width: 979px) and (min-width: 768px) { */
  .l-header .l-header__inner {
    padding-top: 8px;
  }
  .l-header .l-header__imgOuter {
    width: 190px;
  }
  .l-header .l-header__subAnchor {
    font-size: 10px;
  }
  .l-header .c-nav__anchor {
    padding-bottom: 14px;
    font-size: 12px;
  }
  .l-header .c-nav__anchor:last-child {
    padding-left: 9px;
  }
}

/*
 specialty
-------------------------------------------------- */
@container header (max-width: 1024px) and (min-width: 768px) {
/* @media screen and (max-width: 1024px) and (min-width: 768px) { */
  .l-header--specialty .l-header__imgOuter {
    width: 230px;
    margin-top: -8px;
  }
}

.l-header--specialty .l-header__anchor--it-original picture {
  line-height: 1;
}

@media screen and (max-width: 1024px) {
  .l-header--specialty .l-header__anchor--it,
  .l-header--specialty .l-header__anchor--it-original {
    width: 260px;
  }
}

@container header (max-width: 767px) {
  .l-header--specialty .l-header__anchor--it,
  .l-header--specialty .l-header__anchor--it-original {
    width: 160px;
  }
}

@container header (min-width: 1025px) {
  .l-header__anchor--it,
  .l-header__anchor--it-original {
    margin-top: -4px;
  }
}

@container header (min-width: 1025px) {
  .l-header__anchor--maker {
    margin-top: 10px;
  }
}

/* @media screen and (max-width: 945px) {
  .c-nav__anchor {
    font-size: 14px;
  }
}

@media screen and (max-width: 915px) {
  .c-nav__anchor {
    padding: 8px 9px 22px;
  }
} */

/* ユーティリティクラスから直接指定に変更 */
/* .u-pcOnly {
  display: block !important
}

@media screen and (max-width: 767px) {
  .u-pcOnly {
    display: none !important
  }
}
.u-spOnly {
  display: none !important
}

@media screen and (max-width: 767px) {
  .u-spOnly {
    display: block !important
  }
} */



/* common打ち消し */
@media screen and (min-width: 768px) {
  #wrap #magFooter,
  #wrap #magFooter {
    border-top: none;
  }
  #wrap #magFooter #magFooterTitle,
  #magFooter #magFooterTitle {
    width: auto;
    border-bottom: none;
    display: block;
  }
  #wrap #magFooter #magFooterNav,
  #magFooter #magFooterNav {
    width: auto;
    background-image: none;
  }
}
@media screen and (max-width: 767px) {
  #wrap #magFooter,
  #magFooter {
    border-top: none;
    background-color: #fff;
  }
  #wrap #magFooter #magFooterTitle,
  #magFooter #magFooterTitle {
    display: none;
  }
}
/* footer
-------------------------------------------------- */
#magFooter {
  font-family: "ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
  /* 領域で指定されていることがあるので打ち消し */
  font-feature-settings: 'palt' 0;
}
/* ---- magFooter  ---- */
@media screen and (min-width: 768px) {
  #magFooter{
    background:#e8e8e8;
    /* font-family: tbudrgothic-std,sans-serif; */
    font-weight: 400;
    font-style: normal;
  }
  .footer__contentArea {
    max-width: 1000px;
    margin: 0 auto;
  }
  .footerList__link,
  a.footerList__link,
  .footerListBox__titLink,
  a.footerListBox__titLink {
    color: #333;
    text-decoration: none;
    white-space: nowrap;
  }
  .footerList__link:hover,
  .footerListBox__titLink:hover,
  .footer__otherlinkArea .footerList__link:hover {
    color: #115FAD;
    text-decoration: none;
  }

  /* footerTit */
  #magFooterTitle .footerTit {
    align-items: center;
    display: flex;
    justify-content: space-between;
  }
  #magFooterTitle .footerLogoBox {
    margin:20px 20px 20px 0;
    line-height: 1.2;
  }
  #magFooterTitle .footerLogoBox__link {
    background:url(/resource/common/img/sp/general_sp_logo_2023.svg) no-repeat center;
    background-size: contain;
    display:block;
    /* height:48px; */
    height:37px;
    width:232px;
  }
  #magFooterTitle .footerLogoBox__alt{
    display:none;
  }
  #magFooterTitle .footerLogoBox__txt{
    font-size: 11px;
    line-height: 1.4;
  }
  /* footerSitemapArea - footerSitelinkArea 共通 */
  .footerSitemapArea,
  .footerSitelinkArea {
    display: flex;
    padding: 20px 0;
    justify-content: space-between;
  }
  .footerSitemapArea .footerListBox:nth-child(1) {
    width: 200px;
  }
  .footerSitemapArea .footerListBox:nth-child(3) {
    width: 115px;
  }
  .footerListBox__titLink,
  .footerListBox__tit {
    /* font-family: tbudrgothic-std,sans-serif; */
    font-weight: bold;
    font-size: 14px;
    margin-bottom: 4px;
    white-space: nowrap;
  }
  /* footerSitemapArea */
  .footerSitemapArea {
    border-top:1px solid #d9d9d9;
    border-bottom:1px solid #d9d9d9;
  }
  .footerList__link{
    font-size: 11px;
    font-weight:normal;
    text-decoration:none;
    color:#7c7c7c;
    line-height:2;
  }
  .footerList__link:hover{
    text-decoration:none;
  }
  /* footerSitelinkArea */
  .footerSitelinkArea {
    border-bottom:1px solid #d9d9d9;
  }
  .footerSitelinkArea .footerList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .footerListBox--other {
    width: calc((100% - 220px ) / 2);
  }
  @media all and (-ms-high-contrast: none) { /* IE */
      .footerListBox--specialty {
        width: 86%;
      }
  }
  .footerSitelinkArea .footerListBox--specialty .footerList__item {
    width: calc(100% / 4);
  }
  .footerSitelinkArea .footerListBox--other .footerList__item {
    position: relative;
    width: calc(100% / 2);
  }
  .footerSitelinkArea .footerListBox--other .footerList__item:after {
    content: "";
    background: url(/resource/common/img/icon_blank_01.svg) no-repeat center;
    background-size: contain;
    margin-left: 6px;
    position: absolute;
    top: 50%;
      transform: translateY(-50%);
    height: 10px;
    width: 10px;
  }
  .footerList__item {
    line-height: 1.15;
  }
  .footerList__item.sp {
    display: none;
  }
  .footerList__item.pc {
    display: block;
  }
  .footerSitelinkArea .footerListBox__tit {
    border-left: 1px solid #333;
    padding-left: 10px;
  }
  /* footer__otherlinkArea */
  .footer__otherlinkArea {
    margin: 0 auto;
    padding: 20px 0;
    width: 614px;
  }
  .footer__otherlinkArea .footerList {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    text-align: center;
  }
  .footer__otherlinkArea .footerList:nth-child(2) {
    justify-content: space-around;
  }
  .footer__otherlinkArea .footerList__link {
    font-size: 14px;
    /* font-family: tbudrgothic-std,sans-serif; */
    font-weight: bold;
    color: #333;
  }
}
@media screen and (max-width: 767px) {
  .footerListBox .footer__acd-btn-sp + .acd-target,
  .footerListBox .footerList.acd-target {
    display: none;
  }
  .footerListBox,
  .footer__otherlinkArea .footerList__item {
    margin-bottom: 5px;
  }
  .footerListBox__tit,
  .footerList__item,
  .footer__otherlinkArea .footerList__item {
    font-size: 12px;
    line-height: 35px;
    height: 35px;
    position: relative;
    color: #333;
  }
  .footerSitemapArea .footerListBox__tit:after,
  .footerSitelinkArea .footerListBox__tit:after {
    content: "+";
    color: #005eab;
    display: table;
    font-size: 19px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 26px;
    margin: auto;
  }
  .footerSitemapArea .footerListBox__tit.open:after,
  .footerSitelinkArea .footerListBox__tit.open:after {
    content: "";
    display: block;
    background: #005eab;
    position: absolute;
    top: 1px;
    right: 28px;
    height: 2px;
    width: 12px;
  }
  .footerListBox .footerList__item {
    border-top: 1px solid #fff;
    position: relative;
  }
  .footerListBox .footerList__item:after,
  .footer__otherlinkArea .footerList__item:after {
    content: "";
    display: block;
    background: url(/resource/top/img/icon_arrow_brackets_blue_01.svg) no-repeat center;
    background-size: cover;
    margin: auto;
    position: absolute;
    right: 28px;
    top: 0;
    bottom: 0;
    height: 11px;
    width: 8px;
  }
  .footerSitemapArea .footerListBox__tit,
  .footerSitelinkArea .footerListBox__tit {
    font-weight: bold;
  }
  .footerSitemapArea .footerListBox__tit,
  .footerSitelinkArea .footerListBox__tit,
  .footerList__link {
    display: block;
    padding-left: 26px;
  }
  .footerList__link:hover{
    text-decoration:none;
  }
  .footerListBox__tit,
  .footer__otherlinkArea .footerList__item {
    background: #e8e8e8;
  }
  .footerListBox__titLink ,
  a.footerListBox__titLink {
    pointer-events: none;
    color: #333;
    text-decoration: none;
    white-space: nowrap;
  }
  .footer__otherlinkArea .footerList__item {
    position: relative;
  }
  .footerList__item {
    background: #f6f6f6;
  }
  .footerList__link ,
  a.footerList__link {
    color: #333;
    text-decoration: none;
  }
  .footerListBox .list {
    display: none;
  }
  .footerSitelinkArea .footerListBox--specialty .footerListBox__content {
    display: none;
  }
  .footerSitelinkArea .footerListBox--specialty .list {
    display: flex;
    flex-wrap: wrap;
  }
  .footerSitelinkArea .footerListBox--specialty .footerList__item {
    width: calc(100% / 1);
  }
  .footerSitelinkArea .footerListBox--specialty .footerList__item:nth-child(1) {
    order: 1;
  }
  .footerSitelinkArea .footerListBox--specialty .footerList__item:nth-child(5) {
    order: 2;
  }
  .footerSitelinkArea .footerListBox--specialty .footerList__item:nth-child(9) {
    order: 3;
  }
  .footerSitelinkArea .footerListBox--specialty .footerList__item:nth-child(13) {
    order: 4;
  }
  .footerSitelinkArea .footerListBox--specialty .footerList__item:nth-child(17) {
    order: 5;
  }
  .footerSitelinkArea .footerListBox--specialty .footerList__item:nth-child(2) {
    order: 6;
  }
  .footerSitelinkArea .footerListBox--specialty .footerList__item:nth-child(6) {
    order: 7;
  }
  .footerSitelinkArea .footerListBox--specialty .footerList__item:nth-child(10) {
    order: 8;
  }
  .footerSitelinkArea .footerListBox--specialty .footerList__item:nth-child(14) {
    order: 9;
  }
  .footerSitelinkArea .footerListBox--specialty .footerList__item:nth-child(3) {
    order: 10;
  }
  .footerSitelinkArea .footerListBox--specialty .footerList__item:nth-child(7) {
    order: 11;
  }
  .footerSitelinkArea .footerListBox--specialty .footerList__item:nth-child(4) {
    order: 12;
  }
  .footerSitelinkArea .footerListBox--specialty .footerList__item:nth-child(8) {
    order: 13;
  }
  .footerList__item.pc {
    display: none;
  }
  .footerSitelinkArea .footerListBox--other .footerList__link {
    position: relative;
  }
  .footerSitelinkArea .footerListBox--other .footerList__link:after {
    content: "";
    background: url(/resource/common/img/sp/icon_blank_01.svg) no-repeat center;
    background-size: contain;
    margin-left: 6px;
    position: absolute;
    top: 50%;
      transform: translateY(-50%);
    height: 10px;
    width: 10px;
  }
}
#magFooter {
  container-type: inline-size;
  container-name: footer;
}
@container footer (max-width: 1024px) and (min-width: 768px) {
/* @media screen and (max-width: 1024px) and (min-width: 768px) { */
	.footer__contentArea {
		width: 90%;
	}
}
/* 領域別 */
#magFooterTitle .footerLogoBox__link.footerLogoBox__link--it {
  background: url("/resource/it/common/img/it_logo_sp.svg") no-repeat center;
  background-size: contain;
}
#magFooterTitle .footerLogoBox__link.footerLogoBox__link--sales {
  background: url("/resource/sales/common/img/sales_logo_sp.svg") no-repeat center;
  background-size: contain;
}
#magFooterTitle .footerLogoBox__link.footerLogoBox__link--maker {
  background: url("/resource/maker/common/img/maker_logo_sp.svg") no-repeat center;
  background-size: contain;
}
#magFooterTitle .footerLogoBox__link.footerLogoBox__link--finance {
  background: url("/resource/finance/common/img/finance_logo_sp.svg") no-repeat center;
  background-size: contain;
}

/* copyright
-------------------------------------------------- */
@media screen and (min-width: 768px) {
  .footerCopyright {
    background:#115fad;
    width:100%;
    height:25px;
  }
  .footerCopyright p {
    font-family: Arial,Helvetica,sans-serif;
    color: #fff;
    line-height: 25px;
    text-align: center;
    font-size: 9px;
  }
}
@media screen and (max-width: 767px) {
  .footerCopyright {
    padding: 3px 0 4px;
    text-align: center;
    background: #1262b2;
    color: #fff;
    font-size: 10px;
  }
}

/* pagetop
-------------------------------------------------- */
.footerPagetop__link {
  border: none;
  background: transparent;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .footerPagetop {
    background: rgba(100,100,100,.4);
    border-radius: 50%;
    display: none;
    position: fixed;
    bottom: 80px;
    right: 20px;
    text-decoration: none;
    height: 50px;
    width: 50px;
    z-index: 10;
  }
  .footerPagetop:before {
    content: "▲";
    color: #fff;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
  }
  .footerPagetop__link {
    display: block;
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .footerPagetop {
    background: rgba(100,100,100,.4);
    border-radius: 50%;
    display: none;
    position: fixed;
    bottom: 75px;
    right: 12px;
    text-decoration: none;
    height: 40px;
    width: 40px;
    z-index: 10;
  }
  .footerPagetop:before {
    content: "▲";
    color: #fff;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
  }
  .footerPagetop__link {
    display: block;
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
  }
}

/* 共通パーツ フルレスポンシブ対応 */
.l-wrapper {
  overflow: hidden;
}

/* Breadcrumbs
------------------------------------*/
.l-breadcrumbArea {
  overflow: hidden;
  height: 30px;
  background: #f2f2f2;
}
.l-breadcrumbs {
  box-sizing: border-box;
  width: 100%;
  padding: 8px 12px 17px;
  white-space: nowrap;
  overflow: hidden;
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  font-size: 10px;
  max-width: 1000px;
  margin: 0 auto;
}

.l-breadcrumbs > a {
  color: #1262b2;
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  .l-breadcrumbs {
    font-size: 0.9em;
    color: #999999;
  }
}

@media screen and (min-width: 1024px) {
  .l-breadcrumbs {
    padding-inline: 0;
  }
}

/* Footer CV Button Area
------------------------------------*/
.entryFooterArea {
  position: static;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #ebebeb;
}

.entryFooterInner {
  padding-bottom: 15px;
  box-shadow: 0 -3px 5px rgba(6, 0, 1, 0.2);
}
.entryFooterInnerJS {
  background-color: #efeee8;
}
.entryFooterInner.reset {
  background: none;
  padding-bottom: 0;
}

.entryFooterArea .entryFBtn {
  box-shadow: 0 -3px 5px rgba(6, 0, 1, 0.2);
  padding: 0.5em 0 0.3em;
  text-align: center;
}
.entryFooterArea .entryFBtn img {
  width: 95%;
}

/*-- 20181207_フッターボタンテキスト版 --*/
.entryFooterArea .entryFBtn001 {
  padding: 0.5em 0 0.3em;
  text-align: center;
}
.entryFooterArea .entryFBtn001 a {
  display: block;
  width: 95%;
  min-height: 67px;
  margin: 0 auto 5px;
  padding: 20px 0;
  background: #d10042;
  color: #fff;
  font-size: 18px;
  line-height: 1.5;
  text-decoration: none;
  transition: 0.2s;
  font-weight: bold;
  border-radius: 10px;
  letter-spacing: 1px;
  text-align: center;
  position: relative;
  box-shadow: 0px 2px 6px #4e4e4e;
}
.entryFooterArea .entryFBtn001 a::after {
  position: absolute;
  content: ">";
  display: block;
  color: #fff;
  font-size: 13px;
  right: 10px;
  top: 23px;
  text-shadow: none;
  opacity: 0.6;
}
.entryFooterArea .entryFBtn001 a span.free {
  display: inline-block !important;
  font-size: 13px;
  vertical-align: text-top;
  background: #fff;
  color: #d10042;
  margin: 0 2px;
  padding: 0 3px;
  border-radius: 3px;
  text-shadow: none;
}

.entryFooterArea .entryFBtn001 a span.last {
  margin-right: 8px;
}
.entryFooterArea .entryFBtn001 a:active {
  text-decoration: none;
}

.entryFooterArea .entryFTxtSP {
  width: 80%;
  color: #666;
  line-height: 22px;
  margin: 5px auto 0;
  padding-top: 10px;
}
.entryFooterArea .entryFTxtSP strong {
  font-size: 1.2em;
  color: #666;
}
/*----------*/

.entryFooterArea .footBottomCvArea {
  margin: 0 10px;
}

.entryFooterArea .footBottomCvArea + .footBottomCvArea {
  margin-top: 15px;
}

.entryFooterArea .footBottomCvArea.first {
  margin-top: 12px;
}

.entryFooterArea .footBottomCvArea .title {
  height: 9px;
  margin-bottom: 10px;
  text-align: left;
  line-height: 1;
  font-size: 9px;
  font-weight: 600;
  color: #1262b2;
}

.entryFooterArea .footerBtns .footerBtn {
  width: 48%;
  float: left;
}

.entryFooterArea .footerBtns .footerBtn + .footerBtn {
  margin-left: 10px;
}

@media screen and (min-width: 768px) {
  /* footer entry btn
------------------------------------*/
  .entryFooterArea {
    background: #f1f1f1;
    box-shadow: 0 -3px 3px rgba(0, 0, 0, 0.1);
  }
  .entryFooterArea .entryFooterInner {
    margin: 0 auto;
    max-width: 810px;
    padding: 0 80px;
    box-shadow: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 20px;
    padding: 24px 20px 24px;
  }
  .entryFooterArea .entryFTxt {
    width: 324px;
    color: #4c4c4c;
    line-height: 2;
    line-height: 1.8;
    text-align: center;
  }
  .entryFooterArea .entryFTxt strong {
    font-size: 1.4em;
    font-weight: bold;
    line-height: 1;
    line-height: 1.3;
    padding: 5px 0 0;
    display: block;
  }
  .entryFooterArea .entryFBtn {
    float: right;
    padding: 20px 0 12px;
    width: 466px;
  }
  .entryFooterArea .entryFBtn a {
    display: inline-block;
    background: url(/resource/common/img/sprite_general.webp) no-repeat 0 -296px;
    width: 466px;
    height: 81px;
  }
  .entryFooterArea .entryFBtn a:hover {
    background-position: -466px -296px;
  }
  /* short ver */
  .entryFooterArea .entryFooterInner.short {
    width: 757px;
    padding: 0 102px 0 105px;
    height: 78px;
    overflow: hidden;
  }
  .entryFooterArea .entryFooterInner.short .entryFTxt {
    width: 321px;
    padding: 12px 0 14px;
  }
  .entryFooterArea .entryFooterInner.short .entryFBtn {
    width: 436px;
    padding: 9px 0 4px;
  }
  .entryFooterArea .entryFooterInner.short .entryFBtn a {
    background: url(/resource/common/img/sprite_general.webp) no-repeat 0 -546px;
    width: 436px;
    height: 61px;
  }
  .entryFooterArea .entryFooterInner.short .entryFBtn a:hover {
    background-position: -436px -546px;
  }
  #wrap #jsScrollEntry {
    position: static;
    bottom: 0;
    left: 0;
    width: 100%;
  }

  /*-- 20181207_繝輔ャ繧ｿ繝ｼ繝懊ち繝ｳ繝�く繧ｹ繝育沿 --*/
  .entryFooterArea .entryFBtn001 {
    width: 466px;
  }
  .entryFooterArea .entryFBtn001 a {
    display: inline-block;
    width: 466px;
    padding: 19px 0;
    min-height: auto;
    background: #d10042;
    color: #fff;
    font-size: 22px;
    text-decoration: none;
    transition: 0.2s;
    font-weight: bold;
    border-radius: 10px;
    letter-spacing: 1px;
    text-align: center;
    position: relative;
    box-shadow: 0px 0px 4px #6d6d6d;
  }
  .entryFooterArea .entryFBtn001 a::after {
    position: absolute;
    content: ">";
    display: block;
    color: #fff;
    opacity: 0.6;
    font-size: 16px;
    right: 12px;
    top: 22px;
    text-shadow: none;
  }
  .entryFooterArea .entryFBtn001 a span,
  .entryFooterArea .entryFBtn001 a span.free {
    display: inline-block;
    vertical-align: middle;
    font-size: 16px;
    background: #fff;
    color: #d10042;
    margin: 0 2px;
    padding: 1px 3px 0px 5px;
    border-radius: 3px;
    text-shadow: none;
  }
  .entryFooterArea .entryFBtn001 span.last {
    margin-right: 7px;
  }
  .entryFooterArea .entryFBtn001 a:hover {
    transform: scale(1.05);
    transition: all 0.2s;
  }
}

@media screen and (min-width: 840px) {
  .entryFooterArea .entryFooterInner {
    padding-inline: 0;
    gap: 0 20px;
  }
  .entryFooterArea .entryFTxt {
    text-align: left;
  }
}