@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;500;600;700&display=swap");
.u-pc-hide {
  display: none;
}
@media screen and (max-width: 961px) {
  .u-pc-hide {
    display: block;
  }
}

.u-tablet-hide {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-tablet-hide {
    display: block;
  }
}

.u-sp-hide {
  display: block;
}
@media screen and (max-width: 961px) {
  .u-sp-hide {
    display: none;
  }
}

body {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, -apple-system, BlinkMacSystemFont, YuGothic, "游ゴシック体", sans-serif;
}

.c-entry__button {
  font-family: "Poppins", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  color: #0054A7;
  padding: 0 22px;
  width: 100%;
  height: 77px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(246, 247, 247, 0.8);
  border-radius: 4px;
  transition: 0.3s;
}
.c-entry__button--pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .c-entry__button--pc {
    display: inline-flex;
    width: 360px;
    height: 77px;
  }
}
.c-entry__button--sp {
  display: inline-flex;
  width: 100%;
  height: 80px;
  margin: 0 0 30px;
}
@media screen and (min-width: 768px) {
  .c-entry__button--sp {
    display: none;
  }
}
.c-entry__button:hover {
  color: #0054A7;
  background: rgb(246, 247, 247);
}
.c-entry__button:hover img {
  animation: forward 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.header__entry {
  width: 160px;
  height: 40px;
  background-color: #0054A7;
  border-radius: 24px;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: 2rem;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 25px;
  transition: 0.3s;
}
.header__entry span {
  font-size: 0;
}
.header__entry:hover {
  background-color: #006EDA;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .header__entry {
    display: none;
  }
}
.header__logo__text--ja {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
  margin-top: 0.3em;
  display: block;
}
@media screen and (max-width: 961px) {
  .header__logo__text--ja {
    font-size: 1rem;
  }
}
.header__menu {
  background-color: #0054A7;
  padding-bottom: 0;
}
.header__menu-container {
  width: 100%;
  padding: 86px 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  .header__menu-container {
    width: 100%;
    padding: 0;
  }
}
@media screen and (min-width: 961px) {
  .header__menu-container {
    width: 965px;
  }
}
.header__menu__title {
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.25em;
  width: auto;
  padding-left: 30px;
}
@media screen and (min-width: 768px) {
  .header__menu__title {
    position: absolute;
    left: 37px;
    top: 29px;
    padding: 0;
  }
}
@media screen and (min-width: 961px) {
  .header__menu__title {
    left: 0;
    top: 23px;
  }
}
.header__menu__title--ja {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0;
  display: block;
  margin-top: 0.3em;
}
@media screen and (min-width: 768px) {
  .header__menu__title--ja {
    font-size: 1.4rem;
  }
}
.header__menu__col {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .header__menu__col {
    width: 710px;
    flex-direction: row;
  }
}
.header__menu__list {
  border-top: 1px solid #A3A3A3;
  list-style: none;
  padding-left: 0;
  width: 100%;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .header__menu__list {
    width: 309px;
  }
}
@media screen and (max-width: 767px) {
  .header__menu__list:last-of-type {
    border-top: none;
  }
}
.header__menu__item {
  list-style: none;
  border-bottom: 1px solid #A3A3A3;
}
.header__menu__item-link {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.3;
  font-family: "Poppins", sans-serif;
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 30px;
}
@media screen and (min-width: 768px) {
  .header__menu__item-link {
    font-size: 2.5rem;
    padding: 35px 0;
  }
}
@media screen and (min-width: 961px) {
  .header__menu__item-link {
    padding: 25px 0;
  }
}
.header__menu__item-link--ja {
  display: block;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, -apple-system, BlinkMacSystemFont, YuGothic, "游ゴシック体", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
}
.header__menu__item-link:hover {
  color: #fff;
}
.header__menu__item-link:hover .header__menu__item-arrow img {
  animation: forward 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@media screen and (min-width: 768px) {
  .header__menu__item--guideline .header__menu__sublist {
    margin-top: 5px;
  }
}
@media screen and (min-width: 768px) {
  .header__menu__item--guideline .header__menu__subitem:last-of-type {
    padding-bottom: 39px;
  }
}
.header__menu__item--entry {
  margin: 32px 30px 16px;
  border-bottom: none;
}
@media screen and (min-width: 768px) {
  .header__menu__item--entry {
    margin: 32px 0 16px;
  }
}
.header__menu__item--corporate {
  border-bottom: none;
}
.header__menu__item--corporate .header__menu__item-link {
  font-size: 1.4rem;
  font-weight: 600;
  justify-content: left;
  gap: 0.75em;
  transition: 0.3s;
}
.header__menu__item--corporate .header__menu__item-link:after {
  content: "";
  background-image: url(../images/pages/front/ic_arrow06.svg);
  background-size: cover;
  width: 7px;
  height: 10px;
  display: block;
}
.header__menu__item--corporate .header__menu__item-link:hover {
  opacity: 0.5;
}
.header__menu__sublist {
  list-style: none;
  padding-left: 30px;
}
@media screen and (min-width: 768px) {
  .header__menu__sublist {
    padding-left: 0;
  }
}
.header__menu__subitem {
  list-style: none;
  padding-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .header__menu__subitem {
    padding-bottom: 24px;
  }
}
.header__menu__subitem-link {
  color: #fff;
  font-size: 1.4rem;
  font-weight: 600;
  transition: 0.3s;
}
.header__menu__subitem-link:hover {
  color: #fff;
  opacity: 0.5;
}

.front {
  background-color: #fff;
}
.front h2, .front h3, .front p {
  margin: 0;
}
.front-mv {
  height: calc(100svh - 90px);
  background-size: cover;
  background-position: center;
  background-image: url(../images/pages/front/img_mv393.jpg);
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .front-mv {
    height: auto;
    aspect-ratio: 1.04/1;
    background-image: url(../images/pages/front/img_mv960.jpg);
  }
}
@media screen and (min-width: 961px) {
  .front-mv {
    background: none;
    height: 600px;
    aspect-ratio: auto;
    display: grid;
    grid-template-columns: 11.8% 38.2% 38.2% 11.8%;
  }
}
@media screen and (min-width: 1441px) {
  .front-mv {
    grid-template-columns: 14.1% 35.9% 35.9% 14.1%;
  }
}
.front-mv__img {
  display: none;
  background-size: cover;
}
@media screen and (min-width: 961px) {
  .front-mv__img {
    display: block;
    height: 100%;
  }
}
.front-mv__img--1 {
  background-image: url(../images/pages/front/img_mv01.jpg);
  background-position: 80%;
}
@media screen and (min-width: 1441px) {
  .front-mv__img--1 {
    background-position: 0%;
  }
}
.front-mv__img--2 {
  background-image: url(../images/pages/front/img_mv02.jpg);
  background-position: 50%;
}
@media screen and (min-width: 1441px) {
  .front-mv__img--2 {
    background-position: 50% 13%;
  }
}
@media screen and (min-width: 1921px) {
  .front-mv__img--2 {
    background-position: 50% 29%;
  }
}
.front-mv__img--3 {
  background-image: url(../images/pages/front/img_mv03.jpg);
  background-position: 69%;
}
@media screen and (min-width: 1441px) {
  .front-mv__img--3 {
    background-position: 69% 13%;
  }
}
@media screen and (min-width: 1921px) {
  .front-mv__img--3 {
    background-position: 69% 21%;
  }
}
.front-mv__img--4 {
  background-image: url(../images/pages/front/img_mv04.jpg);
  background-position: 56%;
}
.front-mv:before {
  content: "";
  width: 87.2%;
  aspect-ratio: 3.8/1;
  display: block;
  background-image: url(../images/pages/front/img_mv_ttl.png);
  background-size: cover;
  position: absolute;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .front-mv:before {
    width: 89.4%;
  }
}
@media screen and (min-width: 961px) {
  .front-mv:before {
    width: 860px;
    bottom: 0;
  }
}
@media screen and (min-width: 1441px) {
  .front-mv:before {
    width: 1100px;
  }
}
.front-mv:after {
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(246, 247, 247, 0) 47%, rgb(0, 84, 167) 85%);
  opacity: 0.27;
  position: absolute;
  bottom: 0;
  left: 0;
  display: none;
}
@media screen and (min-width: 961px) {
  .front-mv:after {
    display: block;
  }
}
.front .sec {
  position: relative;
}
@media screen and (min-width: 961px) {
  .front .sec {
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
  }
}
.front .sec__inner {
  width: 84.2%;
  margin-inline: auto;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .front .sec__inner {
    width: 83.3%;
    max-width: 800px;
  }
}
@media screen and (min-width: 961px) {
  .front .sec__inner {
    width: 1000px;
    max-width: 1000px;
  }
}
.front-first {
  padding: 100px 0;
  background-color: #0054A7;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 1.5s;
  z-index: 2;
}
.front-first.is-visible {
  background-color: #00366D;
}
@media screen and (min-width: 768px) {
  .front-first {
    padding: 0;
    height: 750px;
  }
}
@media screen and (min-width: 768px) {
  .front-first .sec__inner {
    width: 89.3%;
  }
}
@media screen and (min-width: 961px) {
  .front-first .sec__inner {
    width: 1000px;
  }
}
.front-first__content {
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  flex-direction: column-reverse;
  padding-left: 10px;
}
@media screen and (min-width: 768px) {
  .front-first__content {
    flex-direction: row;
    justify-content: center;
    width: 100%;
    padding: 0;
    gap: 40px;
  }
}
@media screen and (min-width: 961px) {
  .front-first__content {
    width: 790px;
    justify-content: space-between;
    gap: 20px;
  }
}
.front-first__character {
  display: flex;
  align-items: flex-end;
  gap: 11px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .front-first__character {
    flex-direction: column;
    align-items: center;
    width: 16.5%;
    gap: 24px;
  }
}
@media screen and (min-width: 961px) {
  .front-first__character {
    width: 114px;
  }
}
.front-first__character img {
  width: 85px;
}
@media screen and (min-width: 768px) {
  .front-first__character img {
    width: 100%;
  }
}
.front-first__character__desc {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0;
  margin-top: 20px;
}
.front-first__desc {
  font-size: 1.8rem;
  line-height: 2.4;
  margin: 6px 0 28px 30px !important;
}
@media screen and (min-width: 768px) {
  .front-first__desc {
    font-size: 1.6rem;
    margin: 6px 0 0 0 !important;
  }
}
@media screen and (min-width: 961px) {
  .front-first__desc {
    font-size: 1.9rem;
  }
}
.front__heading {
  display: flex;
  gap: 23px;
  align-items: flex-start;
  line-height: 1;
}
.front__heading__text {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.front__heading--en {
  font-family: "Poppins", sans-serif;
  color: #0054A7;
  font-weight: 600;
  font-size: 4.8rem;
  letter-spacing: 0;
  display: inline-block;
}
.front__heading--ja {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
  display: inline-block;
}
.front__heading--blue {
  color: #0054A7;
  font-weight: 700;
}
.front__button {
  width: 74px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 0 14px;
  background-color: #0054A7;
  border-radius: 2rem;
  transition: 0.3s;
}
.front__button:hover {
  background-color: #006EDA;
}
.front__arrow {
  width: -moz-fit-content;
  width: fit-content;
  overflow: hidden;
  display: block;
}
.front-message {
  padding: 80px 0 120px;
  position: relative;
}
@media screen and (min-width: 961px) {
  .front-message {
    padding: 210px 0;
    background-image: url(../images/pages/front/bg_message1440.jpg);
  }
}
@media screen and (min-width: 1441px) {
  .front-message {
    background-image: url(../images/pages/front/bg_message1920.jpg);
  }
}
.front-message.is-visible:before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100vh;
  background-image: url(../images/pages/front/bg_message393.jpg);
  background-size: cover;
  background-position: center;
}
@media screen and (min-width: 768px) {
  .front-message.is-visible:before {
    background-image: url(../images/pages/front/bg_message960.jpg);
  }
}
@media screen and (min-width: 961px) {
  .front-message.is-visible:before {
    display: none;
  }
}
.front-message.is-invisible:before {
  display: none !important;
}
@media screen and (min-width: 768px) {
  .front-message .sec__inner {
    width: 78.4%;
    max-width: 657px;
  }
}
@media screen and (min-width: 961px) {
  .front-message .sec__inner {
    width: 689px;
    max-width: 689px;
  }
}
.front-message:after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 58, 116, 0.93);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.front-message .front__heading {
  align-items: center;
}
@media screen and (max-width: 767px) {
  .front-message .front__heading {
    align-items: end;
  }
}
.front-message .front__heading--en {
  color: #fff;
  font-weight: 300;
}
@media screen and (max-width: 767px) {
  .front-message .front__heading--en {
    font-size: 4rem;
  }
}
.front-message__content {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 48px;
  color: #fff;
  margin-top: 50px;
}
@media screen and (min-width: 768px) {
  .front-message__content {
    flex-direction: row;
    margin-top: 60px;
    gap: 0;
  }
}
.front-message__catch {
  font-size: 2.4rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  line-height: 1.66;
}
.front-message__text {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.front-message__text__desc {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.2;
  letter-spacing: 0.1em;
  margin: 0;
}
.front-message__text__desc span {
  display: block;
  padding-top: 1.7em;
}
@media screen and (min-width: 768px) {
  .front-message__text__desc span {
    display: inline;
    padding: 0;
  }
}
.front-about {
  padding: 70px 0 60px;
  background-color: #F6F7F7;
}
@media screen and (min-width: 768px) {
  .front-about {
    padding: 40px 0 120px;
  }
}
@media screen and (min-width: 961px) {
  .front-about {
    padding: 80px 0 85px;
  }
}
.front-about .sec__inner {
  padding-top: 40px;
}
@media screen and (min-width: 768px) {
  .front-about .sec__inner {
    padding-top: 40px;
  }
}
@media screen and (min-width: 961px) {
  .front-about .sec__inner {
    padding-top: 40px;
  }
}
.front-about__content {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-direction: column;
  gap: 30px;
  padding: 25px 0 0 0;
}
@media screen and (min-width: 768px) {
  .front-about__content {
    flex-direction: row;
    gap: 0;
    padding: 50px 0 0 0;
  }
}
@media screen and (min-width: 961px) {
  .front-about__content {
    padding: 70px 68px 0 142px;
  }
}
.front-about__content:first-of-type {
  align-items: center;
  padding: 35px 0 40px 0;
  border-bottom: 1px solid #A3A3A3;
  gap: 40px;
}
@media screen and (min-width: 768px) {
  .front-about__content:first-of-type {
    padding: 0 0 64px 0;
    gap: 0;
  }
}
@media screen and (min-width: 961px) {
  .front-about__content:first-of-type {
    padding: 0 27px 72px 142px;
  }
}
@media screen and (min-width: 961px) {
  .front-about__content:first-of-type .front-about__text {
    padding-top: 40px;
  }
}
@media screen and (min-width: 768px) {
  .front-about__content:first-of-type .front-about__img {
    width: 334px;
  }
}
@media screen and (min-width: 961px) {
  .front-about__content:first-of-type .front-about__img {
    width: 368px;
  }
}
@media screen and (min-width: 768px) {
  .front-about__text {
    width: 43.1%;
    max-width: 345px;
  }
}
@media screen and (min-width: 961px) {
  .front-about__text {
    min-width: 370px;
  }
}
.front-about__text__heading {
  font-family: "Poppins", sans-serif;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  color: #0054A7;
}
.front-about__text h3.front-about__text__heading {
  margin-bottom: 20px;
}
.front-about__text__subheading {
  font-size: 1.5rem;
  font-weight: 600;
  color: #0054A7;
}
.front-about__text p.front-about__text__subheading {
  margin-bottom: 10px;
}
.front-about__text__desc {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.86;
}
.front-about__text__link {
  color: #0054A7;
  font-weight: 600;
  margin-top: 30px;
  display: flex;
  align-items: center;
  gap: 5px;
}
.front-about__text__link:after {
  content: "";
  background-image: url(../images/pages/front/ic_link.svg);
  background-size: cover;
  width: 6px;
  height: 10px;
  display: block;
  transition: 0.3s;
}
.front-about__text__link:hover:after {
  content: "";
  background-image: url(../images/pages/front/ic_link02.svg);
}
.front-about__text__link _::-webkit-full-page-media, .front-about__text__link _:future, :root .front-about__text__link:after {
  margin-top: -2px;
}
.front-about__text__list {
  margin: 32px 0 0 0;
}
@media screen and (min-width: 768px) {
  .front-about__text__list {
    margin: 20px 0 0 0;
  }
}
@media screen and (min-width: 961px) {
  .front-about__text__list {
    width: 370px;
  }
}
.front-about__text__item--dt {
  font-size: 1.3rem;
  font-weight: 600;
  color: #0054A7;
  padding: 12px 0 0;
  border-top: 1px solid #A3A3A3;
}
.front-about__text__item--dd {
  margin: 0;
  padding: 2px 0 12px;
}
.front-about__text__item--dd:last-of-type {
  border-bottom: 1px solid #A3A3A3;
}
.front-about__img {
  width: 100%;
  min-width: 300px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media screen and (min-width: 768px) {
  .front-about__img {
    width: 44.5%;
  }
}
@media screen and (min-width: 961px) {
  .front-about__img {
    width: 315px;
  }
}
.front-memberinterview {
  padding: 40px 0;
  background-color: #fff;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .front-memberinterview {
    padding: 100px 0 120px;
  }
}
.front-memberinterview .sec__inner {
  padding-top: 40px;
}
@media screen and (min-width: 768px) {
  .front-memberinterview .sec__inner {
    padding-top: 40px;
  }
}
.front-memberinterview__heading {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 32px;
}
@media screen and (min-width: 768px) {
  .front-memberinterview__heading {
    flex-direction: row;
    align-items: center;
    gap: 0;
  }
}
.front-memberinterview__heading .front__heading__img {
  width: 59px;
}
.front-memberinterview__heading__desc {
  font-size: 1.6rem;
  color: #727171;
  font-weight: 500;
}
.front-memberinterview__content {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 64px;
  padding: 45px 0;
}
@media screen and (min-width: 768px) {
  .front-memberinterview__content {
    flex-direction: row;
    gap: 0;
    padding: 96px 0 0;
  }
}
.front-memberinterview__item {
  position: relative;
}
@media screen and (min-width: 768px) {
  .front-memberinterview__item {
    width: 45.5%;
  }
}
.front-memberinterview__item:first-of-type:before {
  content: "01";
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-size: 6.4rem;
  line-height: 1;
  color: #0054A7;
  position: absolute;
  left: 0;
  top: -0.4em;
  z-index: 1;
}
.front-memberinterview__item:last-of-type:before {
  content: "02";
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-size: 6.4rem;
  line-height: 1;
  color: #0054A7;
  position: absolute;
  left: 0;
  top: -0.4em;
  z-index: 1;
}
.front-memberinterview__item__img {
  width: 100%;
  aspect-ratio: 455/318;
  overflow: hidden;
  display: block;
  position: relative;
}
.front-memberinterview__item__img img {
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s;
}
.front-memberinterview__item__img:hover img {
  transform: scale(1.1);
}
.front-memberinterview__item__catch {
  font-size: 1.6rem;
  font-weight: 500;
  color: #727171;
}
.front-memberinterview__item p.front-memberinterview__item__catch {
  margin: 16px 0 10px;
}
@media screen and (min-width: 768px) {
  .front-memberinterview__item p.front-memberinterview__item__catch {
    margin: 32px 0 20px;
  }
}
.front-memberinterview__item__info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  letter-spacing: 0;
}
.front-workstyle {
  background-color: #fff;
  z-index: 2;
}
.front-workstyle .front__heading--ja {
  font-weight: 400;
}
.front-workstyle__content {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media screen and (min-width: 768px) {
  .front-workstyle__content {
    flex-direction: row;
    align-items: end;
    gap: 50px;
  }
}
@media screen and (min-width: 961px) {
  .front-workstyle__content {
    gap: 60px;
  }
}
.front-workstyle__img {
  margin: 0;
  padding: 0;
}
.front-workstyle__img--sp {
  width: 92.1%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 124px);
}
@media screen and (min-width: 768px) {
  .front-workstyle__img--sp {
    display: none;
  }
}
.front-workstyle__img--sp:last-of-type {
  grid-template-rows: repeat(1, 124px);
}
.front-workstyle__img--pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .front-workstyle__img--pc {
    display: grid;
    width: calc(50% + 30px);
    max-width: 570px;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 127px);
  }
}
@media screen and (min-width: 961px) {
  .front-workstyle__img--pc {
    width: calc(50% + 180px);
    max-width: calc(50% + 180px);
    grid-template-rows: repeat(2, 200px);
  }
}
.front-workstyle__img-item {
  list-style: none;
}
.front-workstyle__img-pic {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.front-workstyle__text {
  text-align: right;
}
@media screen and (max-width: 767px) {
  .front-workstyle__text {
    width: 92.1%;
    padding-left: 22.9%;
  }
}
.front-workstyle__text .front__heading {
  text-align: left;
}
.front-workstyle__text__desc {
  font-family: 300;
  text-align: left;
  margin: 21px 0 28px !important;
}
.front-guideline {
  padding: 80px 0 65px;
  background-color: #fff;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .front-guideline {
    padding: 120px 0 112px;
  }
}
.front-guideline .front__heading--ja {
  font-weight: 400;
}
@media screen and (min-width: 961px) {
  .front-guideline .sec__inner {
    width: 970px;
  }
}
.front-guideline__content {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 64px;
}
@media screen and (min-width: 768px) {
  .front-guideline__content {
    flex-direction: row;
    gap: 0;
  }
}
.front-guideline__list {
  border-top: 1px solid #727171;
  padding: 0;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .front-guideline__list {
    width: 51.6%;
  }
}
@media screen and (min-width: 961px) {
  .front-guideline__list {
    width: 486px;
  }
}
.front-guideline__item {
  border-bottom: 1px solid #727171;
  list-style: none;
}
.front-guideline__item__link {
  display: flex;
  justify-content: space-between;
  padding: 31px 6px;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.2em;
}
@media screen and (min-width: 768px) {
  .front-guideline__item__link {
    padding: 35px 6px;
  }
}
.front-guideline__item__link:hover img {
  animation: forward 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.front-contact {
  padding: 40px 0 0;
  background-attachment: local !important;
  background-position: bottom !important;
  background-size: cover !important;
  position: relative;
  background-image: url(../images/pages/front/bg_contact393.jpg);
}
@media screen and (min-width: 768px) {
  .front-contact {
    padding: 70px 0 0;
    height: 410px;
    background-image: url(../images/pages/front/bg_contact960.jpg);
  }
}
@media screen and (min-width: 961px) {
  .front-contact {
    padding: 78px 0 0;
    background-image: url(../images/pages/front/bg_contact.jpg);
    height: 405px;
  }
}
.front-contact:after {
  content: "";
  width: 84.2%;
  aspect-ratio: 3.95/1;
  background-image: url(../images/pages/front/img_nbbird04.png);
  background-size: cover;
  display: block;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 29px;
}
@media screen and (min-width: 768px) {
  .front-contact:after {
    width: 472px;
    position: absolute;
    bottom: 2px;
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  .front-contact .sec__inner {
    width: 700px;
  }
}
@media screen and (min-width: 961px) {
  .front-contact .sec__inner {
    width: 697px;
  }
}
.front-contact__content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.front-contact .front__heading--en {
  color: #fff;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .front-contact__text {
    width: 100%;
  }
}
.front-contact__text-desc {
  font-size: 1.6rem;
  color: #fff;
  margin-bottom: 35px !important;
}
@media screen and (min-width: 768px) {
  .front-contact__text-desc {
    display: none;
  }
}
.front-contact__text--tell, .front-contact__text--mail {
  color: white !important;
  font-size: 1.5rem;
  letter-spacing: 0.03em;
}
@media screen and (min-width: 768px) {
  .front-contact__text--tell, .front-contact__text--mail {
    font-size: 1.6rem;
  }
}
.front-contact__text--tell {
  margin-bottom: 1em !important;
}
.front-contact__text--tell .flex {
  display: inline-flex;
}
.front-contact__text--tell span {
  font-size: 1.2rem;
  display: block;
}
.front-contact__text--tell a {
  color: #fff;
  display: inline;
}
@keyframes forward {
  0% {
    transform: translate(0%, 0%);
  }
  30% {
    transform: translate(110%, 0);
  }
  30.1% {
    transform: translate(-110%, 0);
  }
  to {
    transform: translate(0%, 0%);
  }
}

.footer {
  position: relative;
}