.js-loading {
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  content:"";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 998;
  transition: background-color 0s .5s;
  overflow: hidden;
  perspective: 1000
}
.js-loading.is-animated {
  background-color: transparent;
}

.js-loading::after {
  background: #e4007f;
  bottom: 0;
  content: '';
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: translate(100%, 0);
  z-index: 999;
  perspective: 1000
}
.js-loading.is-animated::after {
  -webkit-animation: mask-bg 1s cubic-bezier(0.8, 0, 0.17, 1) 0s;
          animation: mask-bg 1s cubic-bezier(0.8, 0, 0.17, 1) 0s;
}

/* layout */
.l-inner {
  width: calc(100% - 40px);
  max-width: 1280px;
  margin: 0 auto;
}
@media (min-width: 641px) {
  .l-inner {
      width: calc(100% - 80px);
  }
}

.l-recruit-wrap {
  color: #333;
  overflow-x: hidden;
}
.l-recruit-wrap a {
  text-decoration: none;
  color: inherit;
}
.l-recruit-wrap img {
  width: initial;
  max-width: 100%;
  height: auto;
}

.l-page-wrap {
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 200px;
}
.l-page-section {
  margin-bottom: 160px;
}
.l-page-section:last-child {
  margin-bottom: 0;
}
.l-page-section .o-heading {
  margin-bottom: 50px;
}
@media (max-width: 640px) {
  .l-page-section .o-heading--large {
      font-size: 24px;
  }
}
@media (min-width: 641px) {
  .l-page-section .o-heading {
      margin-bottom: 100px;
  }
}


/* link */
a.o-link {
  color: #e4007f;
  font-size: .8125em;
  line-height: 1.6;
  padding: .2em;
  display: inline-block;
  font-weight: 500;
  position: relative;
}
a.o-link:before {
  content: '';
  display: block;
  position: absolute;
  height: 1px;
  width: 100%;
  bottom: 0;
  left: auto;
  right: 0;
  background-color: currentColor;
  transition: 0.3s;
}
a.o-link:hover:before {
  width: 0;
  left: auto;
  right: 0;
}

/* heading */
.o-heading {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 30px;
}
.o-heading .__en {
  font-weight: bold;
  display: block;
}
.o-heading .__ja {
  display: block;
  font-size: 12px;
  font-weight: 400;
}
.o-heading--small {
  font-size: 15px;
}
.o-heading--small .__en {
  margin-block: calc((1em - 1lh) / 2);
  margin-bottom: .1em;
}
.o-heading--large {
  text-align: center;
}
.o-heading--large {
  font-size: 30px;
}
@media (min-width: 641px) {
  .o-heading {
      font-size: 38px;
  }
  .o-heading .__ja {
      font-size: 15px;
  }
  .o-heading--small {
      font-size: 26px;
  }
  .o-heading--small .__en {
      margin-bottom: .3em;
  }
  .o-heading--large {
      font-size: 46px;
  }
}

/* button */
.o-button {
  width: 480px;
  height: 4.7em;
  font-size: 1.0625em;
  letter-spacing: 0;
  font-weight: bold;
  max-width: 100%;
}
.o-button + .o-button {
  margin-top: .88em;
}
.o-button a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: #fff;
  border-radius: 2.35em;
  position: relative;
  border: 1px solid currentColor;
  transition: color .3s;
  overflow: hidden;
  z-index: 1;
}
.o-button a span {
  position: relative;
  z-index: 3;
}
.o-button a::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  display: block;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s;
  z-index: 2;
}
.o-button a:hover {
  color: #fff;
}
.o-button a:hover::after {
  transform: scaleX(100%);
}
.o-button .__icon {
  position: absolute;
  right: 61px;
  top: 50%;
  transform: translateY(-50%);
  transition: right .3s;
}
.o-button:hover .__icon {
  right: 57px;
}
.o-button a::after{
  background: #333;
}
.o-button--blue {
  color: #0068b7;
}
.o-button--blue a::after{
  background: #0068b7;
}
.o-button--green {
  color: #65a631;
}
.o-button--green a::after{
  background: #65a631;
}


.o-flow-button {
  margin: 0 auto;
  max-width: 27.6em;
  height: 3.6em;
  font-size: 1em;
  letter-spacing: 0.05em;
  background: linear-gradient(to left,#f8b62b,#e4007f);
  border-radius: 1.8em;
  padding: 1px;
  position: relative;
}
.o-flow-button__inner {
  width: 100%;
  height: 100%;
  border-radius: 1.8em;
  z-index: 1;
  position: relative;
  overflow: hidden;
}
.o-flow-button__inner::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  /* background: linear-gradient(to left,#f8b62b,#e4007f); */
  z-index: 2;
  transform-origin: 100% 50%;
  transition: transform .3s;
  transform: scaleX(1);
}
.o-flow-button:hover .o-flow-button__inner::after {
  transform: scaleX(0);
}

.o-flow-button a {
  border: none;
  position: relative;
  z-index: 3;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background:linear-gradient(to left,#f8b62b,#e4007f);
background-clip:text;
-webkit-background-clip:text;
-webkit-text-fill-color: transparent;
  transition: background-color .3s;
}
.o-flow-button:hover a {
  background: #fff;
  background-clip:text;
-webkit-background-clip:text;
}
@media(min-width:641px) {
  .o-flow-button {
      font-size: 1.875em;
  }
}

.o-voice-button {
  margin: 0 auto;
  max-width: 28.2em;
  height: 4.7em;
  font-size: 1em;
  letter-spacing: 0.05em;
  background: linear-gradient(to left,#f8b62b,#e4007f);
  border-radius: 2.35em;
  padding: 1px;
  position: relative;
}
.o-voice-button__inner {
  width: 100%;
  height: 100%;
  border-radius: 2.35em;
  z-index: 1;
  position: relative;
  overflow: hidden;
}
.o-voice-button__inner::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  /* background: linear-gradient(to left,#f8b62b,#e4007f); */
  z-index: 2;
  transform-origin: 100% 50%;
  transition: transform .3s;
  transform: scaleX(1);
}
.o-voice-button:hover .o-voice-button__inner::after {
  transform: scaleX(0);
}

.o-voice-button a {
  border: none;
  position: relative;
  z-index: 3;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background:linear-gradient(to left,#f8b62b,#e4007f);
background-clip:text;
-webkit-background-clip:text;
-webkit-text-fill-color: transparent;
  transition: background-color .3s;
}
.o-voice-button:hover a {
  background: #fff;
  background-clip:text;
-webkit-background-clip:text;
}
@media(min-width:641px) {
  .o-voice-button {
      font-size: 1.0625em;
  }
}

/* box */
.o-box {
  background: #fff;
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
  padding: 40px 20px;
}
@media(min-width:641px) {
  .o-box {
      box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.2);
      padding: 60px;
  }
}
@media(min-width:1024px) {
  .o-box {
      box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.2);
      padding: 80px;
  }
}

/* table */
.o-table th, .o-table td {
  border-bottom: 1px solid #ccc;
  padding: 1.3em 0;
  font-size: 1em;
  line-height: 2;
  letter-spacing: 0.05em;
  vertical-align: top;
}
.o-table th {
  font-weight: bold;
  width: 6em;
}
.o-table small {
  display: inline-block;
  font-size: 81.25%;
}
.o-table small.__block {
  display: block;
  line-height: 1.77;
}
.o-table small.__inline {
  display: inline;
}
.o-table span {
  display: inline-block;
}
.o-table .__indent {
  padding: .5em 0;
}
@media(min-width:641px) {
  .o-table th {
      width: 9em;
  }
}
@media(min-width:1024px) {
  .o-table th {
      width: 10.625em;
  }
  .o-table .__indent {
      text-indent: -11.5em;
      padding-left: 11.5em;
  }
}


/* header */
@media (min-width:600px) {
  body.recruit_new header,
  body.recruit_new .header-Spacer {
      display: block !important;
      visibility: visible;
      pointer-events: initial;
  }
}

.g-recruit-header__wrapper {
  position: fixed;
  transition: .4s;

  z-index: 105;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;

  padding: 0 20px;
  height: 60px;
}

.g-recruit-header {
  display: flex;
  align-items: center;
}
.g-recruit-header__title {
  display: none;
}
.g-recruit-header__logo {
  width: 120px;
  margin-right: 1rem;
}

body.page-parent .g-recruit-header {
  opacity: 0;
  transform: translateX(-40px);
}
body.is-loaded .g-recruit-header {
  opacity: 1;
  transform: translate(0);
  transition: 1s 1.25s;
}
body.page-child .g-recruit-header {
  opacity: 1;
  transform: translate(0);
  transition: 0s 0s;
}

.g-recruit-headerNav {
  position: relative;
  display: flex;
  align-items: center;
}

body.page-parent .g-recruit-headerNav {
  opacity: 0;
  transform: translateX(40px);
}
body.is-loaded .g-recruit-headerNav {
  opacity: 1;
  transform: translate(0);
  transition: 1s 1.25s;
}
body.page-child .g-recruit-headerNav {
  opacity: 1;
  transform: translate(0);
  transition: 0s 0s;
}


.c-recruit-menuButton {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0px 3px 30px 0px rgba(0, 0, 0, 0.25);
  transition: color .3s;
  cursor: pointer;
  flex-shrink: 0;
  pointer-events: initial;
}
.c-recruit-menuButton span {
  display: block;
  position: absolute;
  background-color: currentColor;
  height: 2px;
  width: 54%;
  transition: .3s;
}
.c-recruit-menuButton span:nth-child(1) {
  right: 23%;
  top: calc(35% - 2px);
  transform-origin: 50% 50%;
}
.c-recruit-menuButton span:nth-child(2) {
  right: 23%;
  top: calc(50% - 2px);
  opacity: 1;
}
.c-recruit-menuButton span:nth-child(3) {
  right: 23%;
  top: calc(65% - 2px);
  transform-origin: 50% 50%;
}
.is-recruitNaviOpened .c-recruit-menuButton span:nth-child(1) {
  top: calc(50% - 2px);
  transform: rotate(45deg);
}
.is-recruitNaviOpened .c-recruit-menuButton span:nth-child(2) {
  opacity: 0;
}
.is-recruitNaviOpened .c-recruit-menuButton span:nth-child(3) {
  top: calc(50% - 2px);
  transform: rotate(-45deg);
}

.c-recruit-title {
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 0.025em;
}
.c-recruit-title .__border {
  display: inline-block;
  width: 100%;
  border: 1px solid currentColor;
  text-align: center;
  background: #fff;
}
.c-recruit-nav {
  display: none;
}
.c-recruit-nav ul {
  display: flex;
  align-items: center;
  height: 60px;
  background: #fff;
  border-radius: 30px;
  box-shadow: 0px 3px 30px 0px rgba(0, 0, 0, 0.25);
  padding: 0 24px;
}

.c-recruit-nav li {
  margin: 0 .5em;
}

.c-recruit-nav li a {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 0.025em;
  text-decoration: none;
  color: #333;
  transition: color .3s;
}
.c-recruit-nav li a:hover {
  color: #e4007f;
}

.c-recruit-sns {
  display: flex;
  justify-content: flex-end;
}
.c-recruit-sns li {
  margin-left: 10px;
}
.c-recruit-sns li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0px 3px 30px 0px rgba(0, 0, 0, 0.25);
  transition: color .3s;
}
.c-recruit-sns li a:hover {
  color: #e4007f;;
}
/* ドロワーの挙動 */
@media (max-width: 1360px) {
  .g-recruit-headerNav {
      position: absolute;
      top: 10px;
      right: 20px;
      width: 16em;
      /* height: 30em; */
      padding: 2.5em;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      pointer-events: none;
  }
  .g-recruit-headerNav::before {
      content: "";
      z-index: -1;
      position: absolute;
      top: 0;
      right: 0;
      width: 40px;
      height: 40px;
      border-radius: 20px;
      background: #fff;
      box-shadow: 0px 3px 30px 0px rgba(0, 0, 0, 0.25);
      transition: .2s;
  }
  .g-recruit-headerNav__sns {
      margin-top: 15px;
      transition: opacity .1s;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
  }
  .g-recruit-headerNav__sns li {
      margin-left: 0;
      margin-right: 15px;
  }
  .g-recruit-headerNav__sns li a {
      width: auto;
      height: auto;
      background: transparent;
      box-shadow: none;
  }
  .g-recruit-headerNav__title {
      margin-bottom: 10px;
      transition: opacity .1s;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
  }
  .c-recruit-nav {
      display: block;
      transition: opacity .1s;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
  }
  .c-recruit-nav ul {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      padding: 0;
      height: auto;
      box-shadow: none;
      background: transparent;
  }
  .c-recruit-nav li {
      margin: .7em 0;
  }
  .c-recruit-menuButton {
      position: absolute;
      top: 0;
      right: 0;
      box-shadow: none;
      background: transparent;
  }
  .is-recruitNaviOpened .g-recruit-headerNav::before {
      width: 100%;
      height: 100%;
      transition: .4s;
  }
  .is-recruitNaviOpened .c-recruit-nav {
      opacity: 1;
      visibility: visible;
      pointer-events: all;
      transition: opacity .2s .2s;
  }
  .is-recruitNaviOpened .g-recruit-headerNav .g-recruit-headerNav__sns {
      opacity: 1;
      visibility: visible;
      pointer-events: all;
      transition: opacity .2s .2s;
  }
  .is-recruitNaviOpened .g-recruit-headerNav__title {
      opacity: 1;
      visibility: visible;
      pointer-events: all;
      transition: opacity .2s .2s;
  }
}
/*▲ ドロワーの挙動 */

@media (min-width: 1361px) {
  .g-recruit-header__wrapper {
      height: auto;
      /* padding: 33px 40px 33px;*/
      padding: 33px 3.125% 60px;
      background-color: transparent;
      border-bottom: none;
  }
  .g-recruit-header__logo {
      width: 140px;
  }
  .g-recruit-header__title {
      display: block;
  }
  /* .g-recruit-headerNav__sns {
      position: absolute;
      top: calc(100% + 10px);
      right: 0;
  } */
  .c-recruit-menuButton {
      display: none;
  }
  .c-recruit-nav {
      display: block;
  }
  .g-recruit-headerNav__sns {
      display: block;
  }
  .g-recruit-headerNav__title {
      display: none;
  }

  .g-recruit-header {
      flex-shrink: 0;
  }
  .g-recruit-header .g-recruit-headerNav__sns {
      margin-left: 1rem;
      margin-right: 1rem;
  }
  .g-recruit-headerNav .g-recruit-headerNav__sns {
      display: none;
  }
}
@media (min-width: 1361px) {
  .g-recruit-header__title {
      font-size: 14px;
  }
  .g-recruit-header__logo {
      width: 170px;
      margin-right: 2rem;
  }
  .c-recruit-nav ul {
      font-size: calc(7px + 7/1920*100vw);
      padding: 0 3em;
      /* padding: 0 48px; */
  }
  .c-recruit-nav li {
      margin: 0 1em;
  }
  /* .c-recruit-nav li a{
      font-size: 14px;
  } */
}



/* top entry banner */
#js-stickyBanner {
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 104;
  max-width: 100%;
}

.c-top-entryBanner {
  border-radius: 15px;
  background-image: -moz-linear-gradient( 135deg, rgb(248,182,43) 0%, rgb(228,0,127) 100%);
  background-image: -webkit-linear-gradient( 135deg, rgb(248,182,43) 0%, rgb(228,0,127) 100%);
  background-image: -ms-linear-gradient( 135deg, rgb(248,182,43) 0%, rgb(228,0,127) 100%);
  box-shadow: 0px 3px 30px 0px rgba(0, 0, 0, 0.25);
  padding: 15px;
  width: calc(100% - 20px);
  height: auto;
  max-width: max-content;
  margin-right: 0;
  margin-left: auto;
}

body.page-parent .c-top-entryBanner {
  opacity: 0;
  transform: translateY(40px);
}
body.is-loaded .c-top-entryBanner {
  opacity: 1;
  transform: translate(0);
  transition: 1s 1.25s;
}
body.page-child .c-top-entryBanner {
  opacity: 1;
  transform: translate(0);
  transition: 0s 0s;
}


.c-top-entryBanner__head {
  color: #fff;
  font-size: 11px;
  margin-bottom: 15px;
}
.c-top-entryBanner__head .__en {
  margin-right: 7px;
}
.c-top-entryBanner__head .__ja {
  line-height: 1;
  vertical-align: bottom;
}
.c-top-entryBanner__buttons {
  display: flex;
}
@media (min-width: 641px) {
  .c-top-entryBanner {
      /* bottom: 40px; */
      width: 200px;
      height: 150px;
      padding: 22px 18px;
  }
  .c-top-entryBanner__buttons {
      display: block;
  }
}

.o-entryBanner-button {
  width: 165px;
  height: 32px;
  font-size: 14px;
  letter-spacing: 0.025em;
  font-weight: bold;
}
.o-entryBanner-button + .o-entryBanner-button {
  margin-left: 10px;
}
.o-entryBanner-button a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: #fff;
  border-radius: 16px;
  position: relative;

  overflow: hidden;
  z-index: 1;
  transition: color .3s;
}
.o-entryBanner-button a span {
  position: relative;
  z-index: 3;
}
.o-entryBanner-button a::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: -1px;
  left: 0;
  content: "";
  display: block;
  transform: scaleX(0);
  transform-origin: 0% 50%;
  transition: transform .3s;
  z-index: 2;
}
.o-entryBanner-button a:hover {
  color: #fff;
}
.o-entryBanner-button a:hover::after {
  transform: scaleX(100%);
}
.o-entryBanner-button .__icon {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  transition: right .3s;
}
.o-entryBanner-button:hover .__icon {
  right: 18px;
}
.o-entryBanner-button--blue {
  color: #0068b7;
}
.o-entryBanner-button--blue a:after{
  background: #0068b7;
}
.o-entryBanner-button--green {
  color: #65a631;
}
.o-entryBanner-button--green a:after{
  background: #65a631;
}
@media (min-width: 641px) {
  .o-entryBanner-button + .o-entryBanner-button {
      margin-left: 0;
      margin-top: 10px;
  }
}



/* top mv */
.t-top-mv {
  height: calc(100vh - 60px);
  min-height: 150vw;
  max-height: 200vw;
  overflow: hidden;
  position: relative;
  display: flex;
  align-items: center;
}
.t-top-mv__bg {
  position: absolute;
  bottom: 0;
  left: -50%;
  width: 185%;
}
.t-top-mv__bg:before {
  display: block;
  content: "";
  padding-top: 67.5%;
}
.t-top-mv__bg img {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left bottom;
}
.t-top-mv__content {
  position: relative;
  z-index: 1;
  padding-top: 4%;
  margin-left: 20px;
  width: 67%;
}
.t-top-mv__content img {
  width: 100%;
  height: auto;
}
.t-top-mv__content .__en {
  position: relative;
  display: inline-block;
  width: 100%;

  opacity: 0;
  transform: translateX(-40px);
}
.t-top-mv__content .__script {
  position: absolute;
  right: -13%;
  width: 98%;
  top: 48%;
}
.t-top-mv__content .__catch {
  width: 75.2%;
  margin-top: 9.73%;

  opacity: 0;
  transform: translateX(-40px);
}

@media (min-width: 641px) {
  .t-top-mv {
      height: 100vh;
      min-height: 50vw;
      max-height: 75vw;
  }
  .t-top-mv__bg {
      left: 0;
      width: 62.8125%;
  }
  .t-top-mv__content {
      margin-left: 16.7%;
      width: 21.4%;/*32.1%*/
  }
}

.c-top-mvPhoto {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  width: 100%;
  transform: rotate(-30deg) translate(108%,0);
}
.c-top-mvPhoto__column {
  width: 20%;
}

.c-top-mvPhoto__column .__photo {
  margin: 7.7% 3.85%;/*20px 10px*/
  position: relative;
}
.c-top-mvPhoto__column .__photo::before {
  display: block;
  content: "";
  padding-top: 133%;
}
.c-top-mvPhoto__column .__photo img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 641px) {
  .c-top-mvPhoto {
      width: 67.7%;/*1300px*/
      transform: rotate(-30deg) translate(90%,0);
  }
}

.c-top-mvPhoto__column .__scrollUp {
  animation: infinity-scroll-up 80s infinite linear 0.5s both;
}
.c-top-mvPhoto__column .__scrollDown {
  animation: infinity-scroll-down 80s infinite linear 0.5s both;
}
@keyframes infinity-scroll-up {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-100%);
  }
}
@keyframes infinity-scroll-down {
  from {
      transform: translateY(-100%);
  }
  to {
      transform: translateY(0);
  }
}

body.is-loaded .t-top-mv__content .__en {
  opacity: 1;
  transform: translate(0);
  transition: .5s 0s;
}
body.is-loaded .t-top-mv__content .__catch {
  opacity: 1;
  transform: translate(0);
  transition: .5s .25s;
}

/* top news */
.t-top-news {
  position: relative;
  padding:70px 0;
}
.t-top-news__bg {
  position: absolute;
  z-index: -2;
  top: 0;
  right: -44%;
  width: 300%;
}
.t-top-news__bg:before {
  display: block;
  content: "";
  padding-top: 46.46%;
}
.t-top-news__bg img {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: right top;
}
.t-top-news__box {
  background-color: rgb(255, 255, 255);
  box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.2);
  padding: 40px;
}
.t-top-news__box .o-heading {
  margin-bottom: 40px;
}
.t-top-news__box .o-heading .__en {
  margin-block: calc((1em - 1lh) / 2);
  margin-bottom: .125em;
}
@media(min-width: 641px) {
  .t-top-news__bg {
      right: 0;
      width: 100%;
  }
}
@media (min-width: 1024px) {
  .t-top-news {
      padding:140px 0;
  }
  .t-top-news__box .o-heading {
      margin-bottom: 0;
      margin-right: 93px;
  }
  .t-top-news__box {
      padding: 80px;
      display: flex;
  }
}

.c-news-articleList {
  flex: 1;
}
.c-news-articleList__item {
  display: block;
  border-bottom: 1px solid #ccc;
  letter-spacing: 0.05em;
  padding-bottom: 1.375em;/*22px*/
  margin-bottom: 2.75em;/*44px*/
  transition: .3s;
}
.c-news-articleList__item:hover {
  color: #e4007f;
  border-bottom: 1px solid #e4007f;
}
.c-news-articleList__item:last-child {
  margin-bottom: 0;
}
.c-news-articleList__item .__date {
  width: 9.375em;
  font-size: 1em;
  font-weight: 400;
  display: block;
  margin-bottom: 0.5em;
  flex-shrink: 0;
  line-height: 1.6875;
}
.c-news-articleList__item .__title {
  font-size: 1.125em;
}
@media (min-width: 641px) {
  .c-news-articleList__item {
      display: flex;
  }
  .c-news-articleList__item .__date {
      margin-bottom: 0;
  }
}

/* top recruitment */
.t-top-recruitment {
  padding-bottom: 75px;
}
.t-top-recruitment__link {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.t-top-recruitment__linkItem {
  display: block;
  width: 48.5%;
  margin-bottom: 2em;
}
.t-top-recruitment__linkItem .__image {
  position: relative;
  z-index: -2;
  overflow: hidden;
}
.t-top-recruitment__linkItem .__image img {
  transition: transform .4s;
}
.t-top-recruitment__linkItem .__text {
  position: relative;
  background-color: #fff;
  font-size: 1.17em;
  padding: .44em 1.43em;
  margin-right: 1em;
  font-family: "Noto Sans JP", sans-serif;
  margin-top: -1.43em;/*-30px*/
}
.t-top-recruitment__linkItem .__text::before {
  position: absolute;
  z-index: -1;
  content: "";
  bottom: -.5em;
  right: -.5em;
  left: .5em;
  top: .5em;
  background: currentColor;
}
.t-top-recruitment__linkItem:hover .__image img {
  transform: scale(1.08);
}
@media (min-width: 641px) {
  .t-top-recruitment {
      padding-bottom: 150px;
  }
  .t-top-recruitment__link {
      margin-top: 60px;
  }
  .t-top-recruitment__linkItem {
      width: 24.21875%;
      margin-bottom: 0;
  }
}
@media (min-width: 1024px) {
  .t-top-recruitment__linkItem .__text {
      font-size: 1.3125em;/*21px*/
  }
}

/* top voice */
.t-top-voice {
  display: block;
  position: relative;
}
.t-top-voice__bg {
  display: flex;
  transform: scale(.9375);
  margin: 0 auto;
  transition: transform .3s;
}
.t-top-voice__bg .__image {
  flex: 1;
}
/* .t-top-voice__bg .__image:last-child,
.t-top-voice__bg .__image:first-child {
  display: none;
} */
.t-top-voice__content {
  display: block;
  text-align: center;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-40%);
  background: rgba(255,255,255,.9);
  width: 800px;
  max-width: 90%;
  padding: 24px 24px 26px;
}
.t-top-voice__content .o-heading {
  position: relative;
  display: inline-block;
}
.t-top-voice__content .__catch {
  width: 63.27%;
  margin: 0 auto 1.5%;
}
.t-top-voice__content .__script {
  position: absolute;
  right: -14%;
  bottom: 24%;
  width: 4em;
}
.t-top-voice:hover .t-top-voice__bg {
  transform: scale(1);
}
@media not all and (min-width: 480px){
.t-top-voice{
  padding-bottom: 32%;
  margin-bottom: -10%;
}}
@media (min-width: 641px) {
  .t-top-voice__bg .__image:first-child {
      display: block;
  }
  .t-top-voice__content .__script {
      right: -30%;
      bottom: 10%;
      width: 5em;
  }
}
@media (min-width: 1024px) {
  .t-top-voice__bg .__image:last-child {
      display: block;
  }
  .t-top-voice__content .__script {
      right: -42%;
      bottom: 3%;
      width: 6.17em;
  }
}
@media (min-width: 1361px) {
  .t-top-voice__content {
      transform: translate(-50%,-30%);
      padding: 2.5% 2.5% 2.7%;
  }
}

/* top about */
.t-top-about {
  padding-top: 70px;
  padding-bottom: 100px;
}
@media (min-width: 641px) {
  .t-top-about {
      padding-top: 140px;
      padding-bottom: 200px;
  }
}

/* top others */
.t-top-others {
  margin-top: 100px;
}
.t-top-others__link {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 150px;
  max-width: 626px;
  margin-left: auto;
  margin-right: auto;
}
.t-top-others__linkItem {
  position: relative;
  width: 48.9%;
  transition: color .3s;
  margin-bottom: 30px;
}
.t-top-others__linkItem:hover {
  color: #e4007f;
}
.t-top-others__linkItem .__image {
  overflow: hidden;
  margin-bottom: 15px;
}
.t-top-others__linkItem .__image img {
  transition: transform .4s;
}
.t-top-others__linkItem:hover  .__image img {
  transform: scale(1.08);
}
.t-top-others__linkItem:has(svg) {
  text-align: center;
}
.t-top-others__linkItem  .__image svg * {
transition: .3s;
}
.t-top-others__linkItem:hover  .__image svg * {
fill: #e4007f;
}
.t-top-others__linkItem--large {
  width: 100%;
  margin-top: 30px;
  margin-bottom: 0;
}
.t-top-others__linkItem--large .__image {
  margin-bottom: 0;
}
.t-top-others__linkItem--large .o-heading {
  position: absolute;
  top: 17.5%;/*42px;*/
  left: 7.7%;/*48px;*/
}
@media (min-width: 1024px) {
  .t-top-others {
      margin-top: 200px;
  }
  .t-top-others__link {
      max-width: initial;
      margin-bottom: 200px;
  }
  .t-top-others__linkItem {
      width: 23.4375%;
      margin-bottom: 0;
  }
  .t-top-others__linkItem--large {
      width: 48.9%;
      margin-top: 80px;
  }
  .t-top-others__linkItem .__image {
      margin-bottom: 32px;
  }
}
@media not all and (min-width: 480px){
.t-top-others__linkItem  .__image svg {
  height: 80px;
  translate: 5px 0;
}}

/* top entry */
.t-top-entry {
  position: relative;
}
.t-top-entry__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.t-top-entry__bg::before {
  content: "";
  background-image: -moz-linear-gradient( 135deg, rgb(248,182,43) 0%, rgb(228,0,127) 100%);
  background-image: -webkit-linear-gradient( 135deg, rgb(248,182,43) 0%, rgb(228,0,127) 100%);
  background-image: -ms-linear-gradient( 135deg, rgb(248,182,43) 0%, rgb(228,0,127) 100%);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.t-top-entry__bg img {
  width: 100%;
  height: 50%;
  object-fit: cover;
  mix-blend-mode: soft-light;
}
.t-top-entry__content {
  height: 160vw;
}
.t-top-entry__left {
  display: flex;
  align-items: center;
  /* padding: 35% 0; */
  max-width: 480px;
  height: 50%;
  margin-left: auto;
  margin-right: auto;
}
.t-top-entry__left .__catch {
  width: 81%;
  position: relative;
}
.t-top-entry__left .__script {
  position: absolute;
  width: 90%;
  right: -6%;
  bottom: -78%;
}
.t-top-entry__right {
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: 25px 0;
  max-width: 480px;
  height: 50%;
  margin-left: auto;
  margin-right: auto;
}

.t-top-entry__content .o-heading {
  color: #fff;
  margin-bottom: 25px;
  text-align: left;
}
.t-top-entry__content .o-heading .__en {
  display: inline-block;
}
.t-top-entry__content .o-heading .__ja {
  display: inline-block;
  margin-left: 1em;
}
@media (min-width: 1024px) {
  .t-top-entry__bg {
      display: flex;
  }
  .t-top-entry__bg img {
      width: 50%;
      height: 100%;
  }
  .t-top-entry__content {
      height: auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
      /* padding: 0 98px 0 82px; */
  }
  .t-top-entry__content .o-heading {
      margin-bottom: 50px;
  }
  .t-top-entry__left {
      width: 50%;
      padding: 0 0 0 6.4%;
      max-width: initial;
  }
  .t-top-entry__right {
      width: 50%;
      display: block;
      padding: 86px 7.65625% 125px 5%;
      max-width: initial;
  }

}



/* child page */
.g-pageTitle {
  position: relative;
  height: 53vw;
  max-height: 480px;
}
.g-pageTitle__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.g-pageTitle__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.g-pageTitle__text {
  padding-top: 12%;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
}
.g-pageTitle__text .__en {
  font-size: calc(5px + 95/1280*100vw);
  font-family: "Alata", sans-serif;
  font-style:italic;
  text-transform: uppercase;
  line-height: 1;
  white-space: nowrap;
  margin-bottom: 0.225em;
}
.g-pageTitle__text .__ja {
  font-size: 10px;
  font-family: "Noto Sans JP", sans-serif;
}
@media(min-width:1361px) {
  .g-pageTitle__text {
      padding-top: 125px;
  }
  .g-pageTitle__text .__en {
      font-size: 100px;
  }
  .g-pageTitle__text .__ja {
      font-size: 15px;
  }
}

.g-breadcrumb {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  letter-spacing: 0.05em;
  padding: 2.2em 0;
  margin-bottom: 4em;
}
.g-breadcrumb__list-item {
  display: inline;
}
.g-breadcrumb__list-item.is-active {
  color: #ccc;
}
.g-breadcrumb__list-item:not(:last-child)::after {
  color: #ccc;
  content: "\03e";
  display: inline-block;
  margin: 0 1em 0 0;
}
.g-breadcrumb a {
  margin-right: 1em;
  transition: color .3s;
}
.g-breadcrumb a:hover {
  color: #e4007f;
}
@media(min-width:641px) {
  .g-breadcrumb {
      margin-bottom: 8em;
  }
}

/* flow */
.c-flowStep-box {
  position: relative;
  border: 1px solid currentColor;
  margin-bottom: 38px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 40px 34px;
}
.c-flowStep-box:nth-child(1) {
  color: #e60012;
}
.c-flowStep-box:nth-child(2) {
  color: #90c31f;
}
.c-flowStep-box:nth-child(3) {
  color: #f7ee12;
}
.c-flowStep-box:nth-child(4) {
  color: #26a7e1;
}
.c-flowStep-box:last-child {
  margin-bottom: 0;
}
.c-flowStep-box:after {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  width: 48px;
  height: 18px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: currentColor;
}
.c-flowStep-box:last-child:after {
  display: none;
}
.c-flowStep-box__number {
  color: #333;
  border-right: 1px solid currentColor;
  padding-right: 30px;
  margin-right: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  height: 100px;
}
.c-flowStep-box__number .__small {
  font-size: 10px;
  letter-spacing: 0.12em;
  padding-left: .12em;
  line-height: 1.2;
}
.c-flowStep-box__number .__large {
  font-size: 34px;
  line-height: 1;
}
.c-flowStep-box__image {
  width: 50%;
  flex-grow: 1;
}
.c-flowStep-box__text {
  width: 100%;
  color: #333;
  margin-top: 2em;
}
.c-flowStep-box__text .__title {
  font-size: 1.7em;
  margin-bottom: 0.5em;
  font-weight: bold;
  line-height: 1.44;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
.c-flowStep-box__text .__title .__small {
  font-size: 0.67em;
  display: block;
  margin-top: 0;
}
.c-flowStep-box__text .__desc {
  font-size: 1em;
  line-height: 2;
  letter-spacing: 0.05em;
}
.c-flowStep-box a {
  font-size: 0.875em;
  font-weight: bold;
  margin-top: 1em;
}
@media(min-width: 1024px) {
  .c-flowStep-box {
      flex-wrap: nowrap;
      border: 2px solid currentColor;
      margin-bottom: 76px;
      padding: 80px 5.3%;
  }
  .c-flowStep-box:after {
      width: 96px;
      height: 36px;
  }
  .c-flowStep-box__number {
      padding-right:5.3%;
      margin-right:5.3%;
      height: 198px;
  }
  .c-flowStep-box__number .__small {
      font-size: 20px;
  }
  .c-flowStep-box__number .__large {
      font-size: 68px;
  }
  .c-flowStep-box__image {
      width: 35.2%;
      margin-right: 5.3%;
      flex-shrink: 0;
      flex-grow: 0;
  }
  .c-flowStep-box__text {
      width: 45%;
      margin-top: 0;
      flex-grow: 1;
  }
  .c-flowStep-box__text .__title {
      font-size: 1.875em;/*30px;*/
  }
}
/* news */
.t-archive-news .c-news-articleList__item {
  padding-left: 10.9275%;
  padding-right: 10.9275%;
  padding-top: 2.1em;
  padding-bottom: 2.1em;
  margin-bottom: 0;
  position: relative;
  border-color: currentColor;
}
.t-archive-news .c-news-articleList__item .__date {
  width: 10.4375em;
}
.t-archive-news .c-news-articleList__item .__title {
  font-size: 1.25em;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.t-archive-news .c-news-articleList__item .__icon {
  position: absolute;
  right: 0;
  bottom: 2.1em;
  padding: .2em 0;
  margin-right: 6.25%;
  transition: .1s;
}
.t-archive-news .c-news-articleList__item .__icon svg {
  width: .6875em;
  height: auto;
}
.t-archive-news .c-news-articleList__item:hover .__icon {
  right: -2px;
}
.c-news-pager {
  margin-top: 100px;
  font-size: 1em;
}
.c-news-pager ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-news-pager ul li {
  padding: 0 .7em;
}
.c-news-pager ul li .current {
  color: #e4007f;
}
.c-news-pager ul li a {
  transition: color .3s;
}
.c-news-pager ul li a:hover {
  color: #e4007f;
}
.c-news-pager ul li .__icon svg {
  width: .43em;
  height: auto;
}
@media (min-width:641px) {
  .c-news-pager {
      font-size: 1.875em;
  }
}

.t-news-detail__head {
  border-bottom: 1px solid currentColor;
  padding-bottom: 35px;
  margin-bottom: 40px;
}
.t-news-detail__head .__date {
  display: block;
  font-size: 1em;
  letter-spacing: 0.05em;
  margin-bottom: 1.75em;
}
.t-news-detail__head .__title {
  font-size: 1.5em;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.633;
}
.t-news-detail__cont {
  margin-bottom: 100px;
}
.t-news-detail__cont p {
  font-size: 1em;
  line-height: 2.5;
  letter-spacing: 0.05em;
  margin-bottom: 2.125em;
}
.t-news-detail__cont p:last-child {
  margin-bottom: 0;
}
.t-news-detail__foot .o-button {
  margin: 0 auto;
}
@media (min-width:641px) {
  .t-news-detail__head {
      padding-bottom: 70px;
      margin-bottom: 80px;
  }
  .t-news-detail__head .__title {
      font-size: 1.875em;
  }
}

/* benefit */
.t-benefit-box {
  display: flex;
  flex-wrap: wrap;
  max-width: 1120px;
  margin: 0 auto;
}
.c-benefit-item {
  border-bottom: 1px solid #ccc;
  width: 100%;
  display: flex;
  padding-bottom: 40px;
  margin-bottom: 40px;
}
.c-benefit-item__image {
  width: 7.14%;
  min-width: 40px;
  margin-right: 2.86%;
  flex-shrink: 0;
}
.c-benefit-item__text .__title {
  font-size: 24px;
  font-weight: bold;
  margin-top: -.25em;
  line-height: 1.5;
  margin-bottom: 0.2em;
}
.c-benefit-item__text .__desc {
  font-size: 1.125em;
  line-height: 1.78;
  font-weight: 400;
}
@media (min-width:641px) {
  .c-benefit-item {
      padding-bottom: 80px;
      margin-bottom: 40px;
  }
  .c-benefit-item__text .__title {
      font-size: 1.875em;
  }
  .c-benefit-item--small {
      border: none;
      /* width: 46.85%; */
      width: 43.7%;
      padding-top: 56px;
      /* padding-bottom: 0; */
      margin-bottom: 0;
  }
  .c-benefit-item--small {
      margin-right: 6.3%;
  }
  .c-benefit-item--small .c-benefit-item__image {
      width: 17%;
      margin-right: 4.2%;
  }
}

/* support */
.c-support-item {
  position: relative;
  margin-bottom: 80px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.c-support-item:last-child {
  margin-bottom: 0;
}
.c-support-item__image {
  width: 50%;
  flex-grow: 1;
}
.c-support-item__text {
  width: 100%;
  color: #333;
  margin-top: 2em;
}
.c-support-item__text .__title {
  font-size: 1.7em;
  margin-bottom: 0.5em;
  font-weight: bold;
  line-height: 1.44;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
.c-support-item__text .__title .__small {
  font-size: 0.67em;
  display: block;
  margin-top: 0;
}
.c-support-item__text .__desc {
  font-size: 1em;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media(min-width: 641px) {
  .c-support-item {
      flex-wrap: nowrap;
      justify-content: space-between;
  }
  .c-support-item__image {
      width: 39%;
      margin-right: 4.6875%;
      flex-shrink: 0;
      flex-grow: 0;
  }
  .c-support-item__text {
      width: 56.3125%;
      margin-top: 0;
      flex-grow: 1;
  }
  .c-support-item__text .__title {
      font-size: 1.875em;/*30px;*/
  }
}

/* recruitment */
.c-recruitment-box {
  font-size: 13px;
  width: 100%;
  height: 225px;
  position: relative;
  z-index: -1;
  box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.2);
  margin-bottom: 34px;
}
.c-recruitment-box__text {
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  width: 74%;
  height: 100%;
  clip-path: polygon(0% -1%, 74% -1%, 100% 101%, 0% 101%);
  background: #e60012;
  padding: 2.4em 15% 2.4em 3.36%;
}
.c-recruitment-box__text .__title {
  font-size: 1.4em;
  font-weight: bold;
  margin-bottom: 0.4em;
}
.c-recruitment-box__text .__desc {
  font-size: 1em;
  letter-spacing: 0.05em;
  line-height: 1.6875;
}
.c-recruitment-box__button {
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 10em;
  height: 2.38em;/*50px*/
  font-size: 1.1em;
  padding-left: 1.43em;/*30px*/
  display: flex;
  align-items: center;
  background: #fff;
}
.c-recruitment-box__button::before {
  position: absolute;
  content: "";
  z-index: -1;
  width: 100%;
  height: 100%;
  bottom: -10px;
  right: -10px;
  background: currentColor;
}
.c-recruitment-box__image {
  width: 46%;
  height: 100%;
  margin-right: 0;
  margin-left: auto;
  overflow: hidden;
}
.c-recruitment-box__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 25%;
  transition: transform .3s;
}
a:hover .c-recruitment-box__image img {
  transform: scale(1.05);
}
.c-recruitment-box--red .c-recruitment-box__text {
  background: #e60012;
}
.c-recruitment-box--green .c-recruitment-box__text {
  background: #90c31f;
}
.c-recruitment-box--yellow .c-recruitment-box__text {
  background: #f7ee12;
}
.c-recruitment-box--blue .c-recruitment-box__text {
  background: #26a7e1;
}
@media(min-width:641px) {
  .c-recruitment-box {
      font-size: 15px;
  }
}
@media(min-width:1024px) {
  .c-recruitment-box {
      font-size: 16px;
      height: 225px;
  }
  .c-recruitment-box__text .__title {
      font-size: 1.875em;
  }
  .c-recruitment-box__button {
      font-size: 1.3125em;
      width: 13.8em;/*290px*/
  }
  .c-recruitment-box__text {
      width: 56%;
      padding-right: 10%;
  }
  .c-recruitment-box__image {
      width: 100%;
  }
  .c-recruitment-box__image img {
      width: 100%;
      /* object-fit: contain; */
      object-position: right;
  }
}

.c-recruitment-intro {
  position: relative;
  margin-bottom: 80px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.c-recruitment-intro__image {
  width: 50%;
  flex-grow: 1;
  position: relative;
  margin-left: calc(50% - 50vw);
}
.c-recruitment-intro__image::before {
  position: absolute;
  z-index: -1;
  right: -3.6%;
  bottom: -5.1%;
  width: 100%;
  height: 100%;
  background: currentColor;
  content: "";
}
.c-recruitment-intro__text {
  width: 100%;
  color: #333;
  margin-top: 3em;
}
.c-recruitment-intro__text .__title {
  font-size: 1.7em;
  margin-bottom: 1em;
  line-height: 1.44;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
.c-recruitment-intro__text .__desc {
  font-size: 1em;
  line-height: 2.8125;
  letter-spacing: 0.05em;
}
@media(min-width: 641px) {
  .c-recruitment-intro {
      flex-wrap: nowrap;
      justify-content: space-between;
  }
  .c-recruitment-intro__image {
      width: calc((50vw - 50%) + 505/1280*100%);
      margin-right: 8.75%;
      flex-shrink: 0;
      flex-grow: 0;
  }
  .c-recruitment-intro__text {
      width: 56.3125%;
      margin-top: 0;
      flex-grow: 1;
  }
  .c-recruitment-intro__text .__title {
      font-size: 1.875em;/*30px;*/
  }
}

/* interview */
.t-interview-list {
  display: grid;
  justify-content: center;
  grid-template-columns: repeat(auto-fill, min(400px,100%));
  grid-gap: 40px;
}
.c-interview-card {
  display: block;
  width: 400px;
  max-width: 100%;
  height: 261px;
  max-height: calc( 261/400*(100vw - 40px));
  position: relative;
  padding-top: 9%;
  transition: .3s;
}
.c-interview-card:hover {
  background: #eee;
}
.c-interview-card__image {
  position: absolute;
  width: 75.5%;
  height: 100%;
  right: 0;
  top: 0;
  text-align: right;
  padding-right: 14%;
}
.c-interview-card__image:before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #e4007f;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
.c-interview-card[data-color="type1"] .c-interview-card__image:before {
  background: #e60012;
}
.c-interview-card[data-color="type2"] .c-interview-card__image:before {
  background: #90c31f;
}
.c-interview-card[data-color="type3"] .c-interview-card__image:before {
  background: #f7ee12;
}
.c-interview-card[data-color="type4"] .c-interview-card__image:before {
  background: #26a7e1;
}

.c-interview-card__image img {
  position: relative;
  z-index: 1;
  width: 62%;
  height: 100%;
  object-fit: cover;
  object-position: 100% -4%;
}
.c-interview-card__text {
  position: relative;
  z-index: 1;
  margin-left: 10.5%;
  padding-left: 3.75%;
  border-left: 2px solid #e4007f;
  line-height: 1.3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 88px;
  width: 10em;
}
.c-interview-card[data-color="type1"] .c-interview-card__text {
  border-left: 2px solid #e60012;
}
.c-interview-card[data-color="type2"] .c-interview-card__text {
  border-left: 2px solid #90c31f;
}
.c-interview-card[data-color="type3"] .c-interview-card__text {
  border-left: 2px solid #f7ee12;
}
.c-interview-card[data-color="type4"] .c-interview-card__text {
  border-left: 2px solid #26a7e1;
}

.c-interview-card__text .__first {
  font-size: calc(13/400*(100vw - 40px));
  margin-bottom: 0.3em;
}
.c-interview-card__text .__second {
  font-size: calc(13/400*(100vw - 40px));
  margin-bottom: 0.3em;
}
.c-interview-card__text .__third {
  font-size: calc(26/400*(100vw - 40px));
  font-weight: bold;
}
@media(min-width: 641px) {
  .c-interview-card__text .__first {
      font-size: 13px;
  }
  .c-interview-card__text .__second {
      font-size: 13px;
  }
  .c-interview-card__text .__third {
      font-size: 26px;
  }
}
.c-interview-card__year {
  position: relative;
  z-index: 1;
  font-size: calc(13/400*(100vw - 40px));
  margin-left: 14.25%;
  margin-top: 4em;
  line-height: 1.3;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.6em;
  width: 6.846em;
  border: 1px solid currentColor;
  border-radius: 5px;
  background: #fff;
}
@media(min-width: 641px) {
  .c-interview-card__year {
      font-size: 13px;
  }
}


.c-interview-filter {
  font-size: 0.9375em;
  margin-bottom: 5em;
}
.c-interview-filter__item {
  background: #fff;
  cursor: pointer;
  display: inline-block;
  box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.2);
  padding: .5em .8em;
  margin-right: .7em;
  margin-bottom: .7em;
  transition: color .3s;
}
.c-interview-filter__item:hover {
  color: #e4007f;
}
.c-interview-filter__item.is-active {
  color: #e4007f;
}
@media (min-width: 641px) {
  .c-interview-filter {
      margin-bottom: 5.3em;
  }
  .c-interview-filter__item {
      box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.2);
      padding: 1em 1.5em;
      margin-right: 1.3em;
      margin-bottom: 1.3em;
  }
}

[data-tag] {
  display: none;
}
[data-tag].is-show {
  display: block;
}

/* voice */
.t-voice-mv {
  /* height: calc(987/1980*100vw); */
  overflow: hidden;
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 44px;
}
.t-voice-mv__bg {
  position: absolute;
  bottom: 0;
  left: 0;
  min-width: 360px;
  width: 62.8125%;
}
.t-voice-mv__bg:before {
  display: block;
  content: "";
  padding-top: 67.5%;
}
.t-voice-mv__bg img {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left bottom;
}

.t-voice-detail {
  /* height: calc(987/1980*100vw); */
  display: flex;
  justify-content: space-between;
  position: relative;
  padding-top: 70px;
  color: #e4007f;
}
.t-voice-detail[data-color="type1"] {
  color: #e60012;
}
.t-voice-detail[data-color="type2"] {
  color: #90c31f;
}
.t-voice-detail[data-color="type3"] {
  color: #f7ee12;
}
.t-voice-detail[data-color="type4"] {
  color: #26a7e1;
}
.t-voice-detail::before {
  content:"";
  position: absolute;
  right: calc(50% - 50vw);
  top: 0;
  bottom: 0;
  left: 0;
  background: currentColor;
  z-index: -1;
  clip-path: polygon(25% 0,100% 0,100% 100%,0 100%);
}

.t-voice-detail__image {
  width: 25%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.t-voice-detail__image img {
  position: absolute;
  top: 13%;
  left: 50%;
  width: 350%;
  height: 74%;
  object-fit: contain;
  max-width: initial;
  transform: translateX(-50%);
}
.t-voice-detail__image img.__1 {
  animation-iteration-count: infinite;
  animation-duration: 10s;
  animation-name: fade;
  animation-delay: -1s;
}
.t-voice-detail__image img.__2 {
  animation-iteration-count: infinite;
  animation-duration: 10s;
  animation-name: fade;
  animation-delay: 4s;
  opacity: 0;
}
@keyframes fade {
  0%{ opacity: 0;}
  10%{ opacity: 1;}
  50%{ opacity: 1;}
  60%{ opacity: 0;}
  100%{ opacity: 0;}
}

.t-voice-detail__text {
  width: 75%;
  padding-bottom: 70px;
  position: relative;
  z-index: 1;
}
.t-voice-detail__textHead {
  position: relative;
  color: #fff;
  font-size: 14px;
  margin-top: 1em;
  padding-bottom: 1.5em;
}
.t-voice-detail__textHead .__first {

}
.t-voice-detail__textHead .__second {

}
.t-voice-detail__textHead .__third {
  font-size: 2.4em;
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;
  margin-top: 10px;
}
.t-voice-detail__textHead .__year {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  font-size: .75em;
  line-height: 1.3;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.4em;
  width: 6.8em;
  color: #333;
  border: 1px solid currentColor;
  border-radius: 5px;
  background: #fff;
}

.t-voice-detail__heading {
  font-size: 20px;
  font-weight: bold;
  color: #fff;
}
.t-voice-detail__heading .__ja {
  display: inline-block;
  font-size: 10px;
  margin-left: 1.5em;
  vertical-align: middle;
}
@media (min-width: 641px) {
  .t-voice-mv {
      margin-bottom: 88px;
  }
  .t-voice-detail {
      /* padding-top: calc(145/1280*(100% - 80px)); */
      padding-top: 145px;
  }
  .t-voice-detail::before {
      clip-path: polygon(37% 0,100% 0,100% 100%,0 100%);
  }
  .t-voice-detail__image {
      width: 40%;
  }
  .t-voice-detail__image img {
      top: 6%;
      left: 6%;
      width: 88%;
      height: 88%;
      max-width: 100%;
      transform: translateX(0);
  }
  .t-voice-detail__text {
      width: 60%;
      padding-bottom: 11%;
  }
  .t-voice-detail__textHead {
      font-size: 1em;
      /* font-size: calc(10px + 10/1280*(100vw - 80px)); */
  }
  .t-voice-detail__textHead .__third {
      font-size: 5.6em;
  }
  .t-voice-detail__heading {
      font-size: 1.875em;
  }
  .t-voice-detail__heading .__ja {
      font-size: .43em;
  }
}
@media (min-width: 1024px) {
  .t-voice-detail__image {
      width: calc(100% - 624px);
      /* width: 50%; */
  }
  .t-voice-detail__text {
      width: 624px;
      /* width: 48.75%; */
  }
  .t-voice-detail__textHead {
      font-size: 20px;
  }
}
/* @media (min-width: 1361px) {
  .t-voice-detail {
      padding-top: 145px;
  }
  .t-voice-detail__textHead {
      font-size: 20px;
  }
} */

.c-voice-qanda {
  background: #fff;
  margin-top: 1em;
}
.c-voice-qanda__q {
  padding: 1em 4.8% .56225em ;
  border-bottom: 1px solid currentColor;
  display: flex;
}
.c-voice-qanda__q .__icon {
  font-size: 1.875em;
  width: 1.43em;
  /* display: inline-block; */
  line-height: 1;
  flex-shrink: 0;
  margin-top: -.1em;
}
.c-voice-qanda__q .__title {
  font-weight: bold;
  font-size: 1.25em;
  line-height: 1.5;
  color: #333;
}
.c-voice-qanda__a {
  padding: .56225em 4.8% 1em calc(4.8% + 2.625em);
}
.c-voice-qanda__a .__desc {
  color: #333;
  line-height: 1.75;
}
@media (max-width:640px) {
  .c-voice-qanda {
      font-size: 13px;
  }
  .c-voice-qanda__q {
      padding: 1em 10px .56225em ;
  }
  .c-voice-qanda__q .__icon {
      font-size: 18px;
      width: 21px;
      line-height: 21px;
  }
  .c-voice-qanda__q .__title {
      font-size: 14px;
  }
  .c-voice-qanda__a {
      padding: .56225em 10px 1em 31px;
  }
}

/* accordion */
.accordion .__q {
  position: absolute;
  left: 20px;
  top: .81em;
  font-size: 1.1em;
  line-height: 1.3;
  font-weight: 400;
  color: #333;
}
.accordion .__a {
  position: absolute;
  left: 20px;
  top: 1em;
  font-size: 1.25em;
  line-height: 1.3;
  font-weight: 400;
  color: #e4007f;
}
.accordion-header {
  position: relative;
  border-bottom: 1px solid #ccc;
}
.accordion-trigger {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  appearance: none;

  display: block;
  width: 100%;
  padding: 1em 50px 1em 50px;

  font-size: 1.125em;
  line-height: 1.444;
  text-align: left;
  font-weight: bold;
  position: relative;

  color: #333;

  transition: color .3s;
}

.accordion-trigger:focus {
  outline: none;
}
.accordion-trigger:focus-visible {
  color: #e4007f;
}
@media (hover: hover) {
  .accordion-trigger:hover {
      color: #e4007f;
  }
}
.accordion-icon {
  position: absolute;
  top: 1.722em;
  right: 20px;
  bottom: 0;
  width: 12px;
  height: 12px;
  border: solid #333;
  border-width: 1px 1px 0 0;
  transform: translateY(-75%) rotate(135deg);
  transition: transform .3s;
}
.accordion-trigger[aria-expanded="true"] .accordion-icon {
  transform: translateY(-25%)  rotate(-45deg);
}
.accordion-panel {
  display: none;
}
.accordion-panel__text {
  overflow: hidden;
  position: relative;
  font-size: 1em;
  line-height: 1.625;
  font-weight: 400;
  padding: 1em 50px 3em 50px;
}
.accordion-panel__text span {
  display: inline-block;
}
@media (min-width:1024px) {
  .accordion .__q {
      left: 80px;
  }
  .accordion .__a {
      left: 80px;
  }
  .accordion-trigger {
      padding: 1em 225px 1em 120px;
  }
  .accordion-icon {
      right: 80px;
      width: 24px;
      height: 24px;
  }
  .accordion-panel__text {
      padding: 1em 225px 3em 120px;
  }
}

/* utility */
.text-red {
  color: #e60012 !important;
}
.text-green {
  color: #90c31f !important;
}
.text-yellow {
  color: #f7ee12 !important;
}
.text-blue {
  color: #26a7e1 !important;
}
.text-white {
  color: #fff;
}
.text-center {
  text-align: center;
}
.relative {
  position: relative;
}
.block {
  display: block;
}
@media (min-width: 641px) {
  .sp {
      display: none !important;
  }
}
@media(max-width: 640px) {
  .pc {
      display: none !important;
  }
}

/* animation*/
[data-scroll="mask"] {
  overflow: hidden;
  position: relative;
}
[data-scroll="mask"]::before {
  background: #fff;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: '';
  display: block;
  z-index: 2;
}
[data-scroll="mask"]::after {
  background: #e4007f;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: '';
  display: block;
  transform: translate(100%, 0);
  z-index: 3;
  perspective: 1000
}
[data-scroll="mask"].is-animated::before {
  opacity: 0;
  transition: opacity 0s .4s;
}
[data-scroll="mask"].is-animated::after {
  -webkit-animation: mask-bg 1.2s cubic-bezier(0.8, 0, 0.17, 1) 0s;
          animation: mask-bg 1.2s cubic-bezier(0.8, 0, 0.17, 1) 0s;
}

@-webkit-keyframes mask-bg {
  0% {
      transform: translate(-101%, 0);
  }
  40%, 60% {
      transform: translate(0%, 0);
  }
  100% {
      transform: translate(100%, 0);
  }
}
@keyframes mask-bg {
  0% {
      transform: translate(-101%, 0);
  }
  40%, 60% {
      transform: translate(0%, 0);
  }
  100% {
      transform: translate(100%, 0);
  }
}

[data-scroll="slide"] {
  display: inline-block;
  overflow: hidden;
  transform: translate(-100%, 0);
  transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1) ;
}

[data-scroll="slide"] > * {
  display: block;
  transform: translate(100%, 0);
  transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1) ;
}

[data-scroll="slide"].is-animated,
[data-scroll="slide"].is-animated > * {
  transform: translate(0, 0);
}
