@charset "UTF-8";
/* ==========================================================================
上書き
========================================================================== */
html {
  scroll-behavior: smooth;
}

#contents {
  padding-bottom: 0 !important;
}

#main {
  float: none;
  padding-top: 0;
  width: 100%;
}

.local-nav__block {
  margin-top: 0;
  padding-bottom: 150px;
}
@media screen and (max-width: 767px) {
  .local-nav__block {
    padding-bottom: calc(3.2vw + 70px);
  }
}

/* ==========================================================================
コンポーネント
========================================================================== */
@media screen and (max-width: 767px) {
  .pc {
    content-visibility: auto;
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .sp {
    content-visibility: auto;
    display: none !important;
  }
}

.visually-hidden {
  position: fixed !important;
  top: 0px !important;
  left: 0px !important;
  width: 4px !important;
  height: 4px !important;
  opacity: 0 !important;
  overflow: hidden !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  visibility: visible !important;
}

.c-button-s, .c-button-m, .c-button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  border-radius: 99px;
  background-color: #0065B1;
  font-size: 1.6rem;
  font-weight: 800;
  overflow: hidden;
}
.c-button-s > span, .c-button-m > span, .c-button > span {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  column-gap: 4px;
  color: #FFF;
}
.c-button-s > span::before, .c-button-m > span::before, .c-button > span::before {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  background-color: #FFF;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='15' height='15' viewBox='0 0 15 15'%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Crect width='15' height='15' transform='translate(0 0)' fill='%23fff'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg transform='translate(0 0)' clip-path='url(%23a)'%3E%3Cpath d='M15,7.5a1.143,1.143,0,0,0-.33-.8L8.3.33A1.127,1.127,0,0,0,6.7,1.923l4.451,4.45H1.127a1.127,1.127,0,1,0,0,2.254H11.154L6.7,13.077A1.127,1.127,0,1,0,8.3,14.67L14.67,8.3A1.143,1.143,0,0,0,15,7.5Z' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='15' height='15' viewBox='0 0 15 15'%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Crect width='15' height='15' transform='translate(0 0)' fill='%23fff'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg transform='translate(0 0)' clip-path='url(%23a)'%3E%3Cpath d='M15,7.5a1.143,1.143,0,0,0-.33-.8L8.3.33A1.127,1.127,0,0,0,6.7,1.923l4.451,4.45H1.127a1.127,1.127,0,1,0,0,2.254H11.154L6.7,13.077A1.127,1.127,0,1,0,8.3,14.67L14.67,8.3A1.143,1.143,0,0,0,15,7.5Z' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
@media screen and (max-width: 767px) {
  .c-button-s, .c-button-m, .c-button {
    margin-right: auto;
    margin-left: auto;
  }
}
@media (any-hover: hover) {
  .c-button-s::before, .c-button-m::before, .c-button::before {
    content: "";
    position: absolute;
    top: 0;
    left: -102%;
    display: block;
    width: 100%;
    height: 100%;
    border: 1px solid #BEBEBE;
    border-radius: 99px;
    background-color: #FFF;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    transition: left 0.3s cubic-bezier(0, 0, 0.2, 1);
  }
  .c-button-s:hover, .c-button-m:hover, .c-button:hover {
    text-decoration: none;
  }
  .c-button-s:hover::before, .c-button-m:hover::before, .c-button:hover::before {
    left: 0;
  }
  .c-button-s:hover > span, .c-button-m:hover > span, .c-button:hover > span {
    color: #111;
  }
  .c-button-s:hover > span::before, .c-button-m:hover > span::before, .c-button:hover > span::before {
    background-color: #0065B1;
  }
}

.c-button {
  max-width: 359px;
  min-width: 320px;
  height: 68px;
}
@media screen and (max-width: 767px) {
  .c-button {
    max-width: 335px;
    min-width: min(100%, 335px);
    height: 60px;
  }
}

.c-button-m {
  max-width: 359px;
  min-width: 146px;
  height: 40px;
}
@media screen and (max-width: 767px) {
  .c-button-m {
    max-width: 221px;
    min-width: min(100%, 221px);
    height: 48px;
  }
}

.c-button-s {
  max-width: 359px;
  min-width: 127px;
  height: 30px;
}
@media screen and (max-width: 767px) {
  .c-button-s {
    max-width: 160px;
    min-width: min(100%, 160px);
    height: 44px;
  }
}

.c-button-secondary-s, .c-button-secondary-m, .c-button-secondary {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  border: 1px solid #BEBEBE;
  border-radius: 99px;
  background-color: #FFF;
  font-size: 1.6rem;
  font-weight: 800;
  overflow: hidden;
}
.c-button-secondary-s > span, .c-button-secondary-m > span, .c-button-secondary > span {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  column-gap: 4px;
  color: #111;
}
.c-button-secondary-s > span::before, .c-button-secondary-m > span::before, .c-button-secondary > span::before {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  background-color: #0065B1;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='15' height='15' viewBox='0 0 15 15'%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Crect width='15' height='15' transform='translate(0 0)' fill='%23fff'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg transform='translate(0 0)' clip-path='url(%23a)'%3E%3Cpath d='M15,7.5a1.143,1.143,0,0,0-.33-.8L8.3.33A1.127,1.127,0,0,0,6.7,1.923l4.451,4.45H1.127a1.127,1.127,0,1,0,0,2.254H11.154L6.7,13.077A1.127,1.127,0,1,0,8.3,14.67L14.67,8.3A1.143,1.143,0,0,0,15,7.5Z' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='15' height='15' viewBox='0 0 15 15'%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Crect width='15' height='15' transform='translate(0 0)' fill='%23fff'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg transform='translate(0 0)' clip-path='url(%23a)'%3E%3Cpath d='M15,7.5a1.143,1.143,0,0,0-.33-.8L8.3.33A1.127,1.127,0,0,0,6.7,1.923l4.451,4.45H1.127a1.127,1.127,0,1,0,0,2.254H11.154L6.7,13.077A1.127,1.127,0,1,0,8.3,14.67L14.67,8.3A1.143,1.143,0,0,0,15,7.5Z' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
@media screen and (max-width: 767px) {
  .c-button-secondary-s, .c-button-secondary-m, .c-button-secondary {
    margin-right: auto;
    margin-left: auto;
  }
}
@media (any-hover: hover) {
  .c-button-secondary-s::before, .c-button-secondary-m::before, .c-button-secondary::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -102%;
    display: block;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    border-radius: 99px;
    background-color: #0065B1;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    transition: left 0.3s cubic-bezier(0, 0, 0.2, 1);
  }
  .c-button-secondary-s:hover, .c-button-secondary-m:hover, .c-button-secondary:hover {
    border-color: #0065B1;
    text-decoration: none;
  }
  .c-button-secondary-s:hover::before, .c-button-secondary-m:hover::before, .c-button-secondary:hover::before {
    left: 0;
  }
  .c-button-secondary-s:hover > span, .c-button-secondary-m:hover > span, .c-button-secondary:hover > span {
    color: #FFF;
  }
  .c-button-secondary-s:hover > span::before, .c-button-secondary-m:hover > span::before, .c-button-secondary:hover > span::before {
    background-color: #FFF;
  }
}

.c-button-secondary {
  max-width: 359px;
  min-width: 320px;
  height: 68px;
}
@media screen and (max-width: 767px) {
  .c-button-secondary {
    max-width: 335px;
    min-width: min(100%, 335px);
    height: 60px;
  }
}

.c-button-secondary-m {
  max-width: 359px;
  min-width: 146px;
  height: 40px;
}
@media screen and (max-width: 767px) {
  .c-button-secondary-m {
    max-width: 221px;
    min-width: min(100%, 221px);
    height: 48px;
  }
}

.c-button-secondary-s {
  max-width: 359px;
  min-width: 127px;
  height: 30px;
}
@media screen and (max-width: 767px) {
  .c-button-secondary-s {
    max-width: 160px;
    min-width: min(100%, 160px);
    height: 44px;
  }
}

.page-top {
  position: sticky;
  bottom: 61px;
  z-index: 99;
  display: block;
  width: 70px;
  height: 70px;
  margin: -120px 4.1333333333% 0 auto;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='70'%3E%3Ccircle cx='35' cy='35' r='35' fill='%230065b1'/%3E%3Cpath fill='%23fff' d='M35 1a34.009 34.009 0 0 0-13.234 65.329A34.009 34.009 0 0 0 48.234 3.671 33.8 33.8 0 0 0 35 1m0-1A35 35 0 1 1 0 35 35 35 0 0 1 35 0'/%3E%3Cpath fill='%23fff' d='M22.977 38.762h-1.834v3.105H19.35V33.23h3.762a3.06 3.06 0 0 1 2.074.668 2.59 2.59 0 0 1 .773 2.069 2.65 2.65 0 0 1-.773 2.162 3.4 3.4 0 0 1-2.209.633m.844-1.8a1.25 1.25 0 0 0 .352-.984 1.17 1.17 0 0 0-.354-.961 1.54 1.54 0 0 0-.993-.287h-1.683v2.543h1.682a1.47 1.47 0 0 0 .996-.306Zm7.716 3.13h-3.182l-.598 1.775h-1.891l3.087-8.637h2.039l3.058 8.637h-1.957Zm-.5-1.488-1.078-3.4-1.113 3.4Zm9.419 3.052a3.3 3.3 0 0 1-1.758.44 3.65 3.65 0 0 1-2.812-1.19 4.54 4.54 0 0 1-1.141-3.269 4.8 4.8 0 0 1 1.152-3.364 3.93 3.93 0 0 1 3.053-1.265 4 4 0 0 1 2.646.835 3.1 3.1 0 0 1 1.149 2.083h-1.779a1.69 1.69 0 0 0-1-1.236 2.5 2.5 0 0 0-.99-.193 2.15 2.15 0 0 0-1.714.788 3.58 3.58 0 0 0-.671 2.37 2.94 2.94 0 0 0 .724 2.255 2.4 2.4 0 0 0 1.652.662 2.13 2.13 0 0 0 1.488-.524 2.27 2.27 0 0 0 .715-1.374h-2v-1.442h3.6v4.635h-1.195l-.182-1.078a4.1 4.1 0 0 1-.937.867m10.068-3.562h-4.196v2.221h4.782v1.552h-6.545V33.23h6.333v1.529h-4.57v1.834h4.2Zm-20.593 8.673v1.529h-2.584v7.108h-1.816v-7.107h-2.596v-1.53Zm4.703 8.877a3.77 3.77 0 0 1-2.834-1.008 4.66 4.66 0 0 1-1.308-3.562 4.57 4.57 0 0 1 1.308-3.563 3.77 3.77 0 0 1 2.834-1.007 3.77 3.77 0 0 1 2.83 1.008 4.58 4.58 0 0 1 1.307 3.562 4.67 4.67 0 0 1-1.307 3.562 3.77 3.77 0 0 1-2.83 1.008m1.705-2.32a3.55 3.55 0 0 0 .627-2.25 3.54 3.54 0 0 0-.63-2.247 2.06 2.06 0 0 0-1.7-.794 2.09 2.09 0 0 0-1.711.791 3.5 3.5 0 0 0-.639 2.25 3.5 3.5 0 0 0 .639 2.25 2.09 2.09 0 0 0 1.711.791 2.07 2.07 0 0 0 1.703-.791m7.493-1.025h-1.834v3.105h-1.793v-8.637h3.762a3.06 3.06 0 0 1 2.074.668 2.59 2.59 0 0 1 .773 2.069 2.65 2.65 0 0 1-.773 2.162 3.4 3.4 0 0 1-2.209.633m.844-1.8a1.25 1.25 0 0 0 .352-.984 1.17 1.17 0 0 0-.354-.961 1.54 1.54 0 0 0-.993-.287h-1.683v2.543h1.682a1.47 1.47 0 0 0 .996-.306Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.page-top.is-active {
  opacity: 1;
  pointer-events: visible;
}
.page-top::before {
  content: "";
  position: absolute;
  top: 13px;
  left: 50%;
  transform: translateX(-50%);
  width: 14.57px;
  height: 14.57px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14.571' height='14.571' viewBox='0 0 14.571 14.571'%3E%3Cpath d='M34.786,12.5a1.11,1.11,0,0,0-.774.321l-6.191,6.191a1.095,1.095,0,0,0,1.547,1.548l4.323-4.324v9.741a1.095,1.095,0,1,0,2.19,0V16.236L40.2,20.56a1.095,1.095,0,0,0,1.547-1.548L35.56,12.821a1.11,1.11,0,0,0-.772-.321Z' transform='translate(-27.5 -12.5)' fill='%23fff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .page-top {
    bottom: 75px;
    margin-top: -95px;
    margin-bottom: 3.2vw;
    margin-right: 12px;
  }
}
@media (any-hover: hover) {
  .page-top::before {
    transition: top 0.3s cubic-bezier(0, 0, 0.2, 1);
  }
  .page-top:hover::before {
    top: 8.5px;
  }
}

.ls-0 {
  letter-spacing: 0;
}

/* ==========================================================================
タイトル
========================================================================== */
.headline1 {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) min(9.3333333333%, 140px) min(81.3333333333%, 1220px) min(9.3333333333%, 140px) minmax(0, 1fr);
  align-items: center;
  width: 100%;
  min-width: 1172.9651162791px;
  height: 176px;
  margin-right: auto;
  margin-left: auto;
  border-image: linear-gradient(#0065B1, #0065B1);
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw;
  color: #FFF;
  overflow: hidden;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-size: 4.7rem;
  line-height: 1.6;
}
.headline1::before {
  content: "";
  grid-column: 1/-1;
  position: absolute;
  top: -524px;
  left: 50%;
  transform: translateX(-212px);
  width: 1528px;
  height: 1367px;
  background-image: url(/company/action/training/diversity/img/bg-title-lv1.webp);
  background-repeat: no-repeat;
  background-size: contain;
}
.headline1 > span {
  z-index: 1;
  grid-column: 3/4;
}
@media screen and (max-width: 767px) {
  .headline1 {
    grid-template-columns: 5.3333333333% 1fr 5.3333333333%;
    min-width: 100%;
    height: 120px;
    font-weight: 700;
    letter-spacing: 0.05em;
    font-size: 3.2rem;
    line-height: 1.4;
  }
  .headline1::before {
    top: -272px;
    width: 798px;
    height: 714px;
    transform: translateX(-218.5px);
  }
  .headline1 > span {
    grid-column: 2/3;
  }
}

/* ==========================================================================
ページ内ナビゲーション
========================================================================== */
.page-menu {
  position: sticky !important;
  top: 70px;
  z-index: 20;
  padding: 16px 0 18px;
}
@media screen and (max-width: 767px) {
  .page-menu {
    grid-template-columns: 0 1fr 0 !important;
    top: inherit;
    padding: 0;
    bottom: 0;
  }
}

.page-menu_list {
  --column: 2 / 25;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 8.5755813953%;
  border-radius: 36px;
  background-color: rgba(255, 255, 255, 0.9);
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.16));
}
@media screen and (max-width: 767px) {
  .page-menu_list {
    width: 100%;
    padding: 0;
    background-color: #FFF;
    border-top: 1px solid #D6D6D6;
    border-radius: 0;
  }
}

.page-menu_item {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 72px;
  font-weight: 400;
  letter-spacing: 0;
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-menu_item {
    flex-direction: column;
    font-size: 1.2rem;
    font-weight: 400;
  }
  .page-menu_item + .page-menu_item {
    border-left: 1px solid #D6D6D6;
  }
}
.page-menu_item:not([href]) {
  line-height: 1;
  pointer-events: none;
}
.page-menu_item:hover {
  color: inherit;
  text-decoration: none;
}
.page-menu_item:hover .page-menu_text {
  color: #0065B1;
}
.page-menu_item:hover .page-menu_text::before {
  width: 22.5px;
  opacity: 1;
}
.page-menu_item:visited {
  color: inherit;
}
.page-menu_item.is-active {
  color: #0065B1;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .page-menu_item.is-active {
    color: inherit;
  }
}

.page-menu_icon {
  display: none;
}
@media screen and (max-width: 767px) {
  .page-menu_icon {
    display: block;
    height: 21px;
    margin-top: 4px;
  }
}

.page-menu_text {
  display: block;
  position: relative;
  transition: color 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .page-menu_text {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 2.4em;
    margin-top: 4px;
    line-height: 1.2;
  }
}
.page-menu_text::before {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 4px;
  border-radius: 2px;
  background-color: #0065B1;
  opacity: 0;
  transition: width, opacity;
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
@media screen and (max-width: 767px) {
  .page-menu_text::before {
    content: none;
  }
}
.is-active .page-menu_text::before {
  width: 22.5px;
  opacity: 1;
}