@charset "UTF-8";

/*--------------------------------------------------------------
reset.css
リセット関係・clearfixなど

common.css
reset.cssのimport、レイアウト、TOPのスタイル記載したcss

sub.css
下層のレイアウトを記載したcss
--------------------------------------------------------------*/
/* fontIcon
:before,
:after {
	content: "\f099";
	font-family: "icomoon";
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	font-weight: 900;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
}
/* ------------------------------------------------------------ */
/* 全デバイス/画面サイズに共通 かつ
　　479：スマートフォン縦：基本・レイアウト指定 */
/* ------------------------------------------------------------ */
* html body {
  background: url(null) fixed;
}

html {
  font-size: 62.5%;
  overflow-x: hidden;
}

body {
  margin: 0;
  padding: 0;
  background: #fff;
  color: #000;
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 400;
  font-style: normal;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
  overflow-wrap: break-word;
  text-size-adjust: 100%;
  /*  font-feature-settings: "palt";*/
  letter-spacing: 1.6px;
  font-feature-settings: "pkna";
  /*    letter-spacing: .075em;*/
}

.pc {
  display: none;
}

.sp-only {
  display: block;
}

@media (min-width: 751px) {

  /*電話番号リンクをスマホのみ有効にする*/
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

/* ------------------------------------------------------------ */
/* font */
/* ------------------------------------------------------------ */
.yugothic {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", -apple-system, system-ui, "Segoe UI", "Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.075em;
}

/* ------------------------------------------------------------ */
/* font size */
/* ------------------------------------------------------------ */
@media screen and (min-width: 768px) {

  /* 768px以上 */
  body {
    font-size: 1.5rem;
    /* 15px */
  }
}

@media screen and (min-width: 1025px) {

  /* 1154px以上 */
  body {
    font-size: 1.6rem;
    /* 16px */
  }
}

/* ------------------------------------------------------------ */
/* img */
/* ------------------------------------------------------------ */
.thum,
.image,
.banner {
  margin: 0 auto;
  text-align: center;
}

/* ------------------------------------------------------------ */
/* link */
/* ------------------------------------------------------------ */
::selection {
  color: #383838;
  background: rgba(0, 0, 0, 0.1);
  text-shadow: none;
}

::-moz-selection {
  color: #383838;
  background: rgba(0, 0, 0, 0.1);
  text-shadow: none;
}

a {
  color: #000;
  cursor: pointer;
  line-height: inherit;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  text-decoration: none;
}

a:link {
  text-decoration: none;
}

a:visited {
  text-decoration: none;
}

a:hover {
  opacity: 0.7;
  text-decoration: none;
}

a:active {
  text-decoration: none;
}

/* ------------------------------------------------------------ */
/* color */
/* ------------------------------------------------------------ */

/* ------------------------------------------------------------ */
/* ボタン */
/* ------------------------------------------------------------ */
.btn {
  text-align: center;
  /*  min-width: 300px;*/
  height: auto;
  margin: 0 auto;
}

.btn a {
  display: inline-block;
  color: #000;
  border: 2px solid #000;
  margin: 0 auto;
  padding: 12px 3.5em 12px 2em;
  position: relative;
  z-index: 1;
  font-size: 1.3em;
  font-weight: 600;
}

.btn a::after {
  content: "";
  display: block;
  width: 1.2em;
  height: 1.2em;
  background: url("../img/icon-link.svg") no-repeat center / 95% 95%;
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
}

.btn_box {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.btn_box .btn {
  width: 100%;
  max-width: 350px;
  margin: 8px auto;
}

.btn_box .btn a {
  display: block;
  position: relative;
}

.bnr {
  width: 100%;
  margin: 2em auto 1em;
  text-align: center;
}

.bnr-2cols {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  column-gap: 1em;
  row-gap: 0.5em;
}

.bnr-2cols.pc {
  display: none;
}

.bnr a {
  display: block;
  width: 100%;
}

.bnr a:not(:last-of-type) {
  margin: 0 auto 1.5em;
}

.bnr-2cols a {
  width: calc((100% - 1em) / 2);
  margin: 1em auto;
}

.bnr-2cols a:not(:last-of-type) {
  margin: 1em auto;
}

.fix-btn {
  width: 130px;
  height: 90px;
  position: fixed;
  top: 80px;
  right: 1em;
  z-index: 999;
}

.fix-btn::before {
  content: "";
  display: block;
  width: 80%;
  padding-top: 80%;
  position: absolute;
  /* background: -webkit-linear-gradient(180deg, #3aa7fa 15%, #fffc0d 85%) no-repeat; */
  background: linear-gradient(180deg, #3aa7fa 15%, #fffc0d 85%) no-repeat, linear-gradient(15deg, #16b572, #f8901c 25%, rgba(255, 77, 64, 0) 50%) no-repeat;
  top: 36%;
  left: 50%;
  transform: rotate(-45deg) skew(10deg, 10deg) translate(-50%, -50%);
  transform-origin: left top;
  z-index: -2;
}

.fix-btn::after {
  content: "";
  display: block;
  width: 80%;
  padding-top: 80%;
  position: absolute;
  top: 36%;
  left: 50%;
  transform: rotate(-45deg) skew(10deg, 10deg) translate(-50%, -50%);
  transform-origin: left top;
  background: radial-gradient(at 0% 0%, rgba(22, 181, 114, 1) 20%, rgba(22, 181, 114, 0) 60%), radial-gradient(at 0 100%, rgba(248, 144, 28, 1) 18%, rgba(248, 144, 28, 0) 55%);
  z-index: -1;
}

.fix-btn a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0.5em;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}

.fix-btn span {
  display: inline-block;
  font-size: 1.2em;
  position: relative;
  padding: 0 0.8em;
  margin: 0 auto 5px;
}

.fix-btn span::before,
.fix-btn span::after {
  content: "";
  display: block;
  width: 2px;
  height: 90%;
  background-color: #fff;
  position: absolute;
  top: 0;
}

.fix-btn span::before {
  left: 0;
  transform: rotate(-28deg);
}

.fix-btn span::after {
  right: 0;
  transform: rotate(25deg);
}

/* ------------------------------------------------------------ */
/* common layouts */
/* ------------------------------------------------------------ */
.wrapper {
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
}

.inner {
  width: 100%;
  max-width: 100%;
  height: auto;
  padding: 0 1.5em;
  margin: 0 auto;
  clear: both;
}

.inner::after {
  content: "";
  clear: both;
  display: block;
}

/* ------------------------------------------------------------ */
/* header */
/* ------------------------------------------------------------ */
.main-header {
  width: 100%;
  height: 55px;
  background: rgba(0, 0, 0, 1);
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  /* スマホ用の慣性スクロール */
  -webkit-overflow-scrolling: touch;
  transition: background 0.3s ease-in-out;
}

.main-header.has-color {
  background: rgba(0, 0, 0, 0.8);
}

.drawer-open .main-header {
  background: rgba(0, 0, 0, 1);
}

.main-header .main-logo {
  width: calc(100% - 60px);
  max-width: 250px;
  height: 100%;
  margin: 0;
  padding: 0 10px;
}

.main-logo a {
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto;
}

/* hamburger */
.gnav-btn {
  position: relative;
  width: 60px;
  height: 100%;
  background: #3fa9f5;
}

.gnav-btn::after {
  content: "MENU";
  display: inline-block;
  color: #000;
  font-size: 10px;
  font-weight: 600;
  position: absolute;
  bottom: 3px;
  left: 50%;
  transform: translateX(-50%);
  letter-spacing: 0.5px;
}

.drawer-open .gnav-btn::after {
  content: " CLOSE";
}

.drawer-hamburger {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 20px;
  min-height: inherit;
  padding: 0 0.5em 1em;
}

.drawer--right .drawer-hamburger,
.drawer--right.drawer-open .drawer-hamburger {
  /*  right: 15px;*/
  left: 50%;
  transform: translate(-50%, -50%);
}

.drawer-open .drawer-hamburger {
  height: 30px;
}

.drawer-hamburger-icon {
  margin-top: 0;
  height: 100%;
  background: none;
  border-top: 2px solid #000;
}

.drawer-hamburger-icon:after,
.drawer-hamburger-icon:before {
  background-color: #000;
}

.drawer-hamburger-icon:before {
  top: 7px;
}

.drawer-hamburger-icon:after {
  top: inherit;
  bottom: 0;
}

.drawer-open .drawer-hamburger-icon {
  border-top: none;
}

.drawer-open .drawer-hamburger-icon:before,
.drawer-open .drawer-hamburger-icon:after {
  top: 14px;
}

/* ------------------------------------------------------------ */
/* gnav */
/* ------------------------------------------------------------ */
.gnav {
  width: 100%;
  box-shadow: 0 0 20px -10px rgba(0, 0, 0, 0.5);
  z-index: 9998;
}

.drawer_inner {
  background: #000;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.drawer-menu {
  padding: 55px 0 0;
}

.drawer--right .drawer-nav {
  right: -100%;
}

.drawer--right .drawer-hamburger,
.drawer--right.drawer-open .drawer-nav,
.drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/* ------------------------------------------------------------ */
/* nav-menu */
/* ------------------------------------------------------------ */
.nav-menu {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  margin: 0 auto 2em;
  border-top: 2px solid #3fa9f5;
}

.menu-item a,
.menu-item .js-acTrigger {
  font-weight: 600;
  display: block;
  width: 100%;
  padding: 15px 20px;
  color: #fff;
  position: relative;
  overflow: hidden;
  z-index: 2;
  font-size: 1.6rem;
}

.menu-item a:hover {
  opacity: 1;
}

.menu-item .js-acTrigger {
  position: relative;
}

.menu-item .js-acTrigger::before,
.menu-item .js-acTrigger::after {
  content: "";
  display: block;
  width: 2.4rem;
  height: 1px;
  background: #fff;
  position: absolute;
  top: 50%;
  transition: all 0.3s ease-in-out;
}

.menu-item .js-acTrigger::before {
  right: 1em;
  transform: translateY(-50%);
}

.menu-item .js-acTrigger::after {
  right: 1.05em;
  transform: translateY(-50%) rotate(90deg);
}

.menu-item .js-acTrigger.is-active::after {
  opacity: 0;
}

.menu-item:first-of-type a,
.menu-item:first-of-type .js-acTrigger {
  border-bottom: 1px solid #22b573;
}

.menu-item:nth-of-type(2) a,
.menu-item:nth-of-type(2) .js-acTrigger {
  border-bottom: 1px solid #ffff21;
}

.menu-item:nth-of-type(3) a,
.menu-item:nth-of-type(3) .js-acTrigger {
  border-bottom: 1px solid #f15a24;
}

.menu-item:nth-of-type(4) a,
.menu-item:nth-of-type(4) .js-acTrigger {
  border-bottom: 1px solid #ed1e79;
}

.menu-item:last-of-type a,
.menu-item:last-of-type .js-acTrigger {
  border-bottom: 1px solid #fff;
  background: -webkit-radial-gradient(circle at left top, #3fa9f5, #007ad4);
  background: radial-gradient(circle at left top, #3fa9f5, #007ad4);
}



/* 下層展開 */
.js-dropdown {
  height: 0;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
}

.js-dropdown.is-active {
  height: auto;
  opacity: 1;
  visibility: visible;
}

.nav-child {
  background-color: rgba(255, 255, 255, 0.2);
}

.menu-btn {
  text-align: center;
  margin: 0 auto 2em;
  max-width: 28rem;
}

.menu-btn a {
  font-weight: 600;
  padding: 0.5em 2em;
  background: #3fa9f5;
  color: #fff;
  font-size: 1.8rem;
  display: inline-block;
  width: 100%;
}

.menu-btn.btn-grn a {
  background: #22b573;
}

.gnav .sns_item {
  margin: 0 auto 1em;
}

.gnav .sns_item li a {
  color: #bfbfbf;
}

/*
.gnav .sns_item li:first-of-type a{
  color: #1778f2;
}
.gnav .sns_item li:last-of-type a{
  color: #b039db;
}
*/
.link_item {
  text-align: center;
  margin: 0 auto 2em;
}

.link_item a {
  display: inline-block;
  color: #fff;
  font-size: 1.2rem;
  margin: 0 10px;
}

/* ------------------------------------------------------------ */
/* common content */
/* ------------------------------------------------------------ */
.content {
  width: 100%;
  height: auto;
  position: relative;
  padding: 55px 0 0;
  margin: 0 auto;
}

.base {
  width: 100%;
  height: auto;
  position: relative;
  padding: 2.5em 0;
  margin: 0 auto;
  z-index: 0;
}

/* ------------------------------------------------------------ */
/* ttl */
/* ------------------------------------------------------------ */
.sub-ttl {
  font-size: 1.5em;
  text-align: center;
  margin: 0 auto 0.8em;
}

.sub-ttl span {
  display: block;
  font-size: 1.6rem;
}

/* ------------------------------------------------------------ */
/* flx_box */
/* ------------------------------------------------------------ */
.flx_box {
  width: 100%;
  height: auto;
  margin: 0 auto 1em;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

/* カラム共通 */
.flx_item {
  width: 100%;
  height: auto;
  margin: 0 auto 1em;
}

.flx_item .thum {
  width: 100%;
  height: auto;
  margin: 0 auto 1em;
}

/* ------------------------------------------------------------ */
/* swiper */
/* ------------------------------------------------------------ */
.swiper-button-next,
.swiper-button-prev {
  position: absolute;
  top: 50%;
  width: auto;
  height: auto;
  margin-top: 0;
  align-items: center;
  justify-content: center;
  color: #ccc;
  transform: translateY(-50%);
}

.swiper-button-next:after,
.swiper-button-prev:after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  border-top: 2px solid #bfbfbf;
}

.swiper-button-next:after {
  border-right: 2px solid #bfbfbf;
  transform: rotate(45deg);
}

.swiper-button-prev:after {
  border-left: 2px solid #bfbfbf;
  transform: rotate(-45deg);
}

/* ------------------------------------------------------------ */
/* animation */
/* ------------------------------------------------------------ */
.inview {
  opacity: 0;
  transition: 0.8s;
}

.inview.is-show {
  opacity: 1;
}

@keyframes fadeInup {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes popup {
  0% {
    opacity: 0;
    transform: translateY(50px) scale(0);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes fadeInleft {
  0% {
    opacity: 0;
    transform: translateX(-50%);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeInright {
  0% {
    opacity: 0;
    transform: translateX(50%);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes gatagata {
  10% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }

  20% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }

  30% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }

  40% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }

  50% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }

  60% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }

  70% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }

  80% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }

  90% {
    -webkit-transform: translateX(1px) rotate(0);
    transform: translateX(1px) rotate(0);
  }

  100% {
    -webkit-transform: translateX(-1px) rotate(0);
    transform: translateX(-1px) rotate(0);
  }
}

.fadeInup,
.popup,
.popupOne,
.popupTwo {
  opacity: 0;
}

.fadeInup.is-show {
  animation: fadeInup 0.5s ease-in 0.3s 1 forwards;
}

.popup.is-show {
  animation: popup 0.3s ease-in 0.3s 1 forwards;
}

.popupOne.is-show {
  /*  animation: popup .3s ease-in 1.2s 1 forwards,gatagata .75s ease-in 1.5s 1 forwards;*/
  animation: popup 0.3s ease-in 0.5s 1 forwards, gatagata 0.75s ease-in 0.6s 1 forwards;
}

.popupTwo.is-show {
  /*  animation: popup .3s ease-in 2s 1 forwards, gatagata .75s ease-in 2.3s 1 forwards; */
  animation: popup 0.6s ease-in 1s 1 forwards, gatagata 0.75s ease-in 1.6s 1 forwards;
}

.fadeInleft {
  opacity: 0;
}

.fadeInleft.is-show {
  animation: fadeInleft 0.5s ease-in 0.6s 1 forwards;
}

.fadeInright {
  opacity: 0;
}

.fadeInright.is-show {
  animation: fadeInright 0.5s ease-in 0.6s 1 forwards;
}

/* ------------------------------------------------------------ */
/* section */
/* ------------------------------------------------------------ */
/* MV ----------------------*/
.mainvisual {
  background: #000;
  padding: 2em 1em;
  position: relative;
}

.mv_top {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 2em;
  z-index: 1;
}

.mv_top .photo {
  width: 90%;
  margin: 0 auto;
}

.mv_top .bg_shikaku {
  width: 80%;
  padding-top: 80%;
  position: absolute;
  background: -webkit-linear-gradient(180deg, #3aa7fa 15%, #fffc0d 85%) no-repeat;
  background: linear-gradient(180deg, #3aa7fa 15%, #fffc0d 85%) no-repeat, linear-gradient(15deg, #16b572, #f8901c 25%, rgba(255, 77, 64, 0) 50%) no-repeat;
  top: 48%;
  left: 50%;
  transform: rotate(-45deg) skew(10deg, 10deg) translate(-50%, -50%);
  transform-origin: left top;
  z-index: -1;
  /*  animation: rotate_anime 6s linear infinite;*/
}

@keyframes rotate_anime {
  0% {
    transform: rotateY(0deg);
  }

  100% {
    transform: rotateY(360deg);
  }
}

.mv_top .bg_shikaku::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  background: radial-gradient(at 0% 0%, rgba(22, 181, 114, 1) 20%, rgba(22, 181, 114, 0) 60%), radial-gradient(at 0 100%, rgba(248, 144, 28, 1) 18%, rgba(248, 144, 28, 0) 55%);
}

.scrolled .mv_top .catch {
  opacity: 0;
}

.mv_top .catch li {
  position: absolute;
}

.mv_top .catch li:first-of-type {
  width: 53%;
  bottom: 5%;
  left: -1%;
}

.mv_top .catch li:last-of-type {
  width: 44%;
  bottom: 3%;
  right: -1%;
}

.mv_center {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
  color: #fff;
  font-size: 1.05em;
  line-height: 2;
  text-align: center;
}

.mv_center span {
  display: block;
  padding-top: 2em;
  font-size: 0.9em;
}

/* GROUP ----------------------*/
.group.base {
  background: #000;
}

.gray_box {
  width: 90%;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.3);
  padding: 0.5em 1.5em;
  position: relative;
}

.gray_box h4 {
  font-size: 1.5em;
  text-align: center;
  color: #fff;
  margin: 0 auto 0.5em;
}

.gray_box h4 span {
  font-size: 0.6em;
  font-weight: 400;
  display: block;
}

.gray_box .ban_box {
  margin: 0 auto;
}

.gray_box a {
  color: #fff;
  text-align: center;
}

.gray_box figure {
  margin: 0 auto 0.5em;
}

.gray_box span {
  display: block;
  font-size: 0.7em;
}

.ban-slider {
  overflow: hidden;
}

/* interview ----------------------*/
.interview .blue {
  background: -webkit-linear-gradient(90deg, #4aadf5, #3da8f5 15%, #008df5 89%) no-repeat;
  background: linear-gradient(90deg, #4aadf5, #3da8f5 15%, #008df5 89%) no-repeat;
}

.interview .yellow {
  background: -webkit-linear-gradient(90deg, #ffff21, #fcee00) no-repeat;
  background: linear-gradient(90deg, #ffff21, #fcee00) no-repeat;
}

.interview .green {
  background: #36d172;
  /*
  background: -webkit-linear-gradient(90deg, #41e879, #22b573) no-repeat;
  background: linear-gradient(90deg, #41e879, #22b573) no-repeat;
*/
}

.interview .orange {
  background: #f15a24;
  /*
  background: -webkit-linear-gradient(90deg, #ed9a38, #fbb03b 86%) no-repeat;
  background: linear-gradient(90deg, #ed9a38, #fbb03b 86%) no-repeat;
*/
}

.test01 .interview .blue {
  background: #57a1d6;
}

.test01 .interview .yellow {
  background: #f1e7cf;
}

.test01 .interview .orange {
  background: #bb6d27;
}

.test01 .interview .green {
  background: #d0d0d0;
}

.test02 .interview .blue {
  background: #367daf;
}

.test02 .interview .yellow {
  background: #e2e2e2;
}

.test02 .interview .orange {
  background: #96543d;
}

.test02 .interview .green {
  background: #8f9e89;
}

.interview_container {
  padding: 5% 1em 7%;
  position: relative;
  z-index: 1;
}

.interview_container .staff {
  position: absolute;
  bottom: -10%;
}

.interview_container:first-of-type .staff {
  width: 63%;
  right: -10%;
}

.interview_container:nth-of-type(2) .staff {
  width: 71.5%;
  left: -7%;
}

.interview_container:nth-of-type(3) .staff {
  width: 74%;
  right: -18%;
}

.interview_container:nth-of-type(4) .staff {
  width: 62%;
  left: -5%;
}

.acc_wrapper {
  position: relative;
}

.acc_wrapper .left_item {
  width: 100%;
  padding-right: 45%;
  margin-bottom: 0.8em;
  position: relative;
  z-index: -2;
}

.interview_container:nth-of-type(even) .acc_wrapper .left_item {
  padding-right: 0;
  padding-left: 45%;
}

.acc_wrapper .right_item {
  color: #000;
  font-weight: 600;
  text-align: right;
  z-index: 1;
}

.acc_wrapper .right_item.wht {
  color: #fff;
  text-align: left;
}

.right_item .info {
  font-size: 1.2em;
  margin: 0 auto 15px;
}

.blue .right_item .info {
  text-shadow: 2px 2px 2px rgb(63 169 245 / 50%), -2px -2px 2px rgb(63 169 245 / 50%), -2px 2px 2px rgb(63 169 245 / 50%), 2px -2px 2px rgb(63 169 245 / 50%);
}

.yellow .right_item .info {
  text-shadow: 2px 2px 2px rgb(252 238 33 / 50%), -2px -2px 2px rgb(252 238 33 / 50%), -2px 2px 2px rgb(252 238 33 / 50%), 2px -2px 2px rgb(252 238 33 / 50%);
}

.green .right_item .info {
  text-shadow: 2px 2px 2px rgb(34 181 115 / 50%), -2px -2px 2px rgb(34 181 115 / 50%), -2px 2px 2px rgb(34 181 115 / 50%), 2px -2px 2px rgb(34 181 115 / 50%);
}

.orange .right_item .info {
  text-shadow: 2px 2px 2px rgb(241 90 36 / 50%), -2px -2px 2px rgb(241 90 36 / 50%), -2px 2px 2px rgb(241 90 36 / 50%), 2px -2px 2px rgb(241 90 36 / 50%);
}

.test02 .blue .right_item .info {
  text-shadow: 2px 2px 2px rgb(54 125 175 / 50%), -2px -2px 2px rgb(54 125 175 / 50%), -2px 2px 2px rgb(54 125 175 / 50%), 2px -2px 2px rgb(54 125 175 / 50%);
}

.test02 .yellow .right_item .info {
  text-shadow: 2px 2px 2px rgb(226 226 226 / 50%), -2px -2px 2px rgb(226 226 226 / 50%), -2px 2px 2px rgb(226 226 226 / 50%), 2px -2px 2px rgb(226 226 226 / 50%);
}

.test02 .orange .right_item .info {
  text-shadow: 2px 2px 2px rgb(150 84 61 / 50%), -2px -2px 2px rgb(150 84 61 / 50%), -2px 2px 2px rgb(150 84 61 / 50%), 2px -2px 2px rgb(150 84 61 / 50%);
}

.test02 .green .right_item .info {
  text-shadow: 2px 2px 2px rgb(143 158 137/ 50%), -2px -2px 2px rgb(143 158 137 / 50%), -2px 2px 2px rgb(143 158 137 / 50%), 2px -2px 2px rgb(143 158 137 / 50%);
}

.test01 .blue .right_item .info {
  text-shadow: 2px 2px 2px rgb(72 146 199 / 50%), -2px -2px 2px rgb(72 146 199 / 50%), -2px 2px 2px rgb(72 146 199 / 50%), 2px -2px 2px rgb(72 146 199 / 50%);
}

.test01 .yellow .right_item .info {
  text-shadow: 2px 2px 2px rgb(241 231 207 / 50%), -2px -2px 2px rgb(241 231 207 / 50%), -2px 2px 2px rgb(241 231 207 / 50%), 2px -2px 2px rgb(241 231 207 / 50%);
}

.test01 .orange .right_item .info {
  text-shadow: 2px 2px 2px rgb(187 109 39 / 50%), -2px -2px 2px rgb(187 109 39 / 50%), -2px 2px 2px rgb(187 109 39 / 50%), 2px -2px 2px rgb(187 109 39 / 50%);
}

.test01 .green .right_item .info {
  text-shadow: 2px 2px 2px rgb(208 208 208 / 50%), -2px -2px 2px rgb(208 208 208 / 50%), -2px 2px 2px rgb(208 208 208 / 50%), 2px -2px 2px rgb(208 208 208 / 50%);
}

.right_item .info span {
  display: block;
}

.right_item .info .tag {
  font-size: 0.7em;
  line-height: 1.2;
}

.right_item .info .name {
  font-size: 1.3em;
  line-height: 1;
}

.right_item .acc_btn {
  display: inline-block;
  position: relative;
  width: 160px;
  text-align: center;
  padding: 5px 1em;
  border: 3px solid;
  background: rgba(255, 255, 255, 0.5);
  z-index: 1;
  transition: background 0.3s ease-in-out;
}

.right_item .acc_btn:hover {
  cursor: pointer;
  background: #fff;
}

.right_item.wht .acc_btn {
  background: rgba(0, 0, 0, 0.35);
}

.wht .acc_btn:hover {
  background: #000;
}

.right_item .acc_btn::before {
  content: "READ MORE";
  display: inline-block;
}

.right_item .acc_btn.is-open::before {
  content: "\f00d  CLOSE";
  font-family: "icomoon";
}

.acc_box {
  display: none;
  padding: 1.5em;
  width: 100%;
  margin: 1em auto 0;
  background: #fff;
  position: relative;
  z-index: 2;
}

.blue .acc_box {
  color: #000082;
}

.yellow .acc_box {
  color: #675c00;
}

.green .acc_box {
  color: #008055;
}

.orange .acc_box {
  color: #bd7100;
}

.acc_box .acc_inner {
  opacity: 0;
  transition: opacity 0.2s ease-in;
}

.acc_box.is-open .acc_inner {
  opacity: 1;
  transition: opacity 0.3s ease-in 0.6s;
}

.acc_box .block {
  margin: 0 auto 2em;
}

.acc_box .block .float_right {
  width: 100%;
  margin-bottom: 1em;
  float: right;
}

.acc_box .block h4 {
  font-size: 1.2em;
  line-height: 1.4;
  margin: 0 auto 0.5em;
}

.acc_box .block h4.question {
  padding-left: 1.5em;
  position: relative;
  overflow: hidden;
}

.acc_box .block h4.question::after {
  content: "";
  display: inline-block;
  width: 1.2em;
  height: 2px;
  background: #000082;
  position: absolute;
  top: 0.6em;
  left: 0;
}

.yellow .acc_box .block h4.question::after {
  background: #675c00;
}

.green .acc_box .block h4.question::after {
  background: #008055;
}

.orange .acc_box .block h4.question::after {
  background: #bd7100;
}

.acc_box .block p {
  margin: 0 auto 1.5em;
  text-align: justify;
}

.acc_box .block .jobpart {
  margin: 0 auto 2em;
  border-top: 1px solid;
  border-bottom: 1px solid;
  padding: 1em 0;
  overflow: hidden;
}

.acc_box .block .jobpart dd {
  font-size: 1.2em;
}

.acc_box .close {
  text-align: right;
}

.acc_box .close a {
  font-weight: 600;
  color: #000082;
  display: inline-block;
  position: relative;
  width: 160px;
  text-align: center;
  padding: 5px 1em;
  border: 3px solid #000082;
  z-index: 1;
}

.yellow .acc_box .close a {
  color: #675c00;
  border: 3px solid #675c00;
}

.green .acc_box .close a {
  color: #008055;
  border: 3px solid #008055;
}

.orange .acc_box .close a {
  color: #bd7100;
  border: 3px solid #bd7100;
}

.acc_box .close a:hover {
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
}

/* DIVISION ----------------------*/
.division {
  background: #000;
  color: #fff;
  position: relative;
  z-index: 1;
}

.division h2 {
  margin: 0 auto;
  padding: 1.5em 0 0.8em;
}

.division .depart {
  width: 100%;
  /*  margin: 0 auto 2px;*/
}

.division .depart .full {
  width: 100%;
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}

.division .depart .full::after {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: 40%;
}

.division .depart .full img,
.sub_item img {
  position: absolute;
  height: 105%;
  width: auto;
  max-width: inherit;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.main_item {
  width: 100%;
  padding: 0 8% 10%;
  margin-top: -4em;
  position: relative;
  z-index: 1;
  text-align: justify;
}

.main_item h3 {
  width: 65%;
  margin: 0 0 1em;
}

.main_item h4 {
  font-size: 1.5em;
  margin: 0 auto 0.5em;
}

.main_item h4 span {
  display: inline-block;
  margin-left: 1em;
  font-size: 0.7em;
  font-weight: 400;
  letter-spacing: 0.5px;
}

.sub_item {
  display: flex;
  justify-content: space-between;
  background: #888;
}

.sub_item li {
  width: 50%;
}

.sub_item li,
.sub_item li span {
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}

.sub_item li span {
  width: 50%;
  display: block;
}

.sub_item li:first-of-type::before,
.sub_item li span::before {
  content: "";
  display: block;
  width: 100%;
  height: auto;
  padding-bottom: 60%;
}

.sub_item li:last-of-type {
  display: flex;
}

.sub_item li img {
  height: 102%;
  width: auto;
  transform: translate(-50%, -50%) scale(1.1);
}

/* MESSAGE  ----------------------*/
.message {
  background: #fff;
  overflow: hidden;
}

.message h2 {
  width: 90%;
  max-width: 450px;
  padding: 3% 0;
  margin: 0 auto 2em;
}

.message .txt {
  width: 100%;
  position: relative;
}

.message p {
  line-height: 2;
  font-size: 1.05em;
  text-align: justify;
}

.message .portrait {
  position: relative;
}

.message .portrait::before {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: 80%;
}

.message .portrait li {
  position: absolute;
}

.message .portrait li:first-of-type {
  width: 70%;
  right: -5%;
  bottom: 15%;
  transform: translateY(50%);
}

.message .portrait li:nth-of-type(2) {
  width: 40%;
  max-width: 170px;
  top: 2em;
  left: 0;
}

.message .portrait li span {
  display: block;
  margin-bottom: 5px;
}

/* JOB LIST  ----------------------*/
.job.base {
  background: #f2f2f2;
  padding-bottom: 0;
}

.job.job2 {
  padding-bottom: 5em;
}

.job .flx_box {
  margin: 0 auto;
}

.job .flx_item {
  background: #fff;
  padding: 1.2em 1.2em 1.5em;
  border-top: 5px solid;
}

.job li:first-of-type {
  border-color: #29abe2;
}

.job li:nth-of-type(2) {
  border-color: #00a99d;
}

.job li:nth-of-type(3) {
  border-color: #f15a24;
}

.job li:nth-of-type(4) {
  border-color: #bdccd4;
}

.job li:nth-of-type(5) {
  border-color: #ff931e;
}

.job li:last-of-type {
  border-color: #ff7bac;
}

.job .flx_item h3 {
  font-size: 1.3em;
  line-height: 1.6;
  margin: 0 auto 0.5em;
}

.job .flx_item h4 {
  font-size: 1.1em;
  margin: 0 auto 5px;
}

.job .flx_item>div {
  font-size: 0.9em;
  padding-top: 1em;
  font-weight: 700;
}

.job .flx_item li {
  display: inline-block;
  position: relative;
  font-weight: normal;
}

.job .flx_item li:not(:last-of-type)::after {
  content: "/";
  display: inline-block;
  margin: 0 0 0 5px;
}

.job .btn {
  margin: 40px auto 0;
}

.job .btn a {
  padding: 0.5em 1em;
  font-size: 2rem;
}

.job .btn a::after {
  display: none;
}

/* ENTRY  ----------------------*/
.entry.base {
  background: #f2f2f2;
  padding-bottom: 0;
}

.tab_menu {
  width: 80%;
  max-width: 1200px;
  margin: 0 auto 2em;
}

.tab_menu .tab_btn {
  text-align: center;
  border: 2px solid #808080;
  color: #808080;
  background: #fff;
  font-size: 1.2em;
  font-weight: 600;
  padding: 0.5em 5px;
  margin: 0 auto 10px;
}

.tab_menu .tab_btn.is-active {
  border: 2px solid #3fa9f5;
  color: #000;
}

.tab_content {
  background: #fff;
  border-top: 2px solid #3fa9f5;
  position: relative;
  z-index: 0;
}

.tab_content:before {
  content: "";
  position: absolute;
  top: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-bottom: 12px solid #fff;
  z-index: 2;
}

.tab_content:after {
  content: "";
  position: absolute;
  top: -29px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-bottom: 14px solid #3fa9f5;
  z-index: 1;
}

.tab_content .tab_item {
  display: none;
  padding: 3em 5%;
}

@keyframes tabfade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.tab_content .tab_item.is-active {
  display: block;
  animation: tabfade 0.5s ease-in-out;
}

.tab_item h3 {
  text-align: center;
  font-size: 1.3em;
  margin: 0 auto 2em;
}

.tab_item h3 span {
  display: inline-block;
  width: 50%;
  max-width: 250px;
  margin-right: 0.8em;
  vertical-align: bottom;
}

p.close {
  text-align: center;
  font-size: 1.5em;
  font-weight: bold;
  padding: 5% 0;
}

.entry .tab_item ul {
  display: flex;
  justify-content: space-between;
  margin-bottom: 2px;
}

.entry .tab_item .tabtab_btn {
  width: calc(100% / 2 - 1px);
  padding: 0.8em 0.5em;
  font-size: 1.1em;
  font-weight: bold;
  text-align: center;
  background: #bfbfbf;
  color: #fff;
}

.entry .tab_item .tabtab_btn.is-active {
  background: #3fa9f5;
  color: #fff;
}

.entry .tab_item .tabtab_btn:last-of-type.is-active {
  background: #0c0038;
}

.entry .tabtab_item {
  display: none;
}

.entry .tabtab_item.is-active {
  display: block;
  animation: tabfade 0.5s ease-in-out;
}

.entry #accordion {
  margin: 0 auto 2em;
}

.entry .ac_title {
  font-size: 1.3em;
  font-weight: 600;
  padding: 1em;
  border-bottom: 1px solid #000;
}

/*
.entry .ac_content {
    display: none;
}
*/
.guidelines {
  width: 100%;
  margin: 0 auto 2em;
}

.guidelines dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto 2px;
}

.guidelines dt,
.guidelines dd {
  width: 100%;
  padding: 0.5em 1em;
}

.guidelines dt {
  background: rgba(0, 0, 0, 0.1);
  font-weight: bold;
  text-align: center;
}

.guidelines dd {
  background: #f2f2f2;
}

.guidelines dd a {
  text-decoration: underline;
}

.guidelines.new dt {
  background: rgb(63 169 245 / 23%);
}

.guidelines.new dd {
  background: #d3ebfd36;
}

.guidelines.career dt {
  background: #0c003838;
}

.guidelines.career dd {
  background: #0c00380a;
}

.attention {
  font-size: 0.9em;
  margin: 0 auto 1em;
}

.note {
  display: block;
  background-color: rgba(255, 255, 255, 0.8);
  font-size: 0.85em;
  padding: 0.8em;
  border: 1px solid #aaa;
  margin: 1em auto;
}

/* ------------------------------------------------------------ */
/* movie */
/* ------------------------------------------------------------ */
.movie {
  background: #000;
  color: #fff;
  padding: 4em 0 0;
}

.movie .flx_box {
  margin-bottom: 0;
}

.youtube_item {
  padding-top: 56.25%;
  position: relative;
}

.youtube_item iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}

/* ------------------------------------------------------------ */
/* benefit */

.benefit {
  background-color: #818181;
  color: #fff;
  padding-bottom: 15rem;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10rem), 0 100%);
}

.benefit+.entry {
  padding-top: 15rem;
  clip-path: polygon(0 10rem, 100% 0, 100% 100%, 0 100%);
  margin-top: -12rem;
  /* clip-path: polygon(0 10rem, 100% 0, 100% calc(100% - 10rem), 0 100%); */
}

.entry+.benefit {
  padding-top: 20rem;
  padding-bottom: 8rem;
  clip-path: polygon(0 10rem, 100% 0, 100% 100%, 0 100%);
}

.benefit .block-ttl {
  font-size: clamp(2.8rem, 2.165rem + 1.986vw, 4.2rem);
  padding: 0 0 0 1.6rem;
  margin: 8rem auto 2.4rem;
  position: relative;
}

.benefit .block-ttl::before {
  content: "";
  display: block;
  width: 4.8rem;
  height: 100%;
  background-color: #ED1E79;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.benefit .block-ttl:nth-of-type(2)::before {
  background-color: #3FA9F5;
}

.benefit .block-ttl:nth-of-type(3)::before,
.benefit .block-ttl:nth-of-type(4)::before {
  background-color: #36D173;
}

.benefit .block-ttl.torikumi::before {
  /* background-color: #ffff21; */
  background-color: #f15a24;
}

.benefit .flx_box {
  justify-content: flex-start;
  /* margin-bottom: 8rem; */
}

.benefit .flx_item {
  border: 1px solid #fff;
  padding: 1em;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  /* justify-content: space-between; */
  /* flex-wrap: wrap; */
}

.benefit .flx_item h4 {
  text-align: center;
  font-size: clamp(2rem, 1.818rem + 0.567vw, 2.4rem);
  margin: auto 0;
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  height: clamp(7.4rem, 5.403rem + 6.241vw, 11.8rem);
  /* height: clamp(7.4rem, 6.401rem + 3.121vw, 9.6rem); */
}

.benefit .flx_item h4.font-md-size {
  font-size: clamp(1.8rem, 1.618rem + 0.567vw, 2.2rem);
}

.benefit .flx_item p {
  font-size: 1.6rem;
  margin: 1.6rem 0 auto;
  width: 100%;
  flex-grow: 1;
}

.benefit .flx_item .logo-mark {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5px;
  background-color: #fff;
  /* aspect-ratio: 1 / 1; */
  width: 120px;
  height: 120px;
  margin-inline: auto;
  flex-grow: 0;
}

.benefit .flx_item .logo-mark img {
  /* aspect-ratio: 1/1; */
  width: auto;
  height: 100%;
  object-fit: contain;
}

.benefit .flx_item .logo-mark.kumi {
  flex-wrap: wrap;
}

.benefit .flx_item .logo-mark.kumi img {
  width: 40%;
  height: auto;
}

/* ------------------------------------------------------------ */
/* footer */
/* ------------------------------------------------------------ */
.main-footer {
  width: 100%;
  padding: 3em 0 2em;
  background: #cccccc;
  z-index: 9998;
}

.main-footer .flx_box {
  margin: 0 auto 2em;
}

.main-footer .flx_item {
  width: 100%;
  margin: 0 auto 1em;
  text-align: center;
}

.main-footer .flx_item a {
  color: #000;
}

.main-footer .flx_item a:hover {
  color: #3fa9f5;
}

.main-footer .flx_item figure {
  font-size: 1.1em;
}

.main-footer .flx_item figcaption {
  font-size: 1.1em;
  padding-top: 5px;
}

.main-footer .flx_item a img {
  transition: all 0.3s;
}

.main-footer .flx_item a:hover img {
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}

.sns_item {
  display: flex;
  justify-content: center;
  margin: 0 auto 2em;
}

.sns_item li {
  font-size: 3.5rem;
  line-height: 1;
}

.sns_item li:last-of-type {
  margin-left: 0.5em;
}

.footer_bottom .house-sns,
.footer_bottom .koho-sns {
  font-size: 1.2rem;
  text-align: center;
  letter-spacing: 0;
  line-height: 2;
}

.footer_bottom .sns_item li:first-of-type a:hover {
  color: #1778f2;
  opacity: 1;
}

.footer_bottom .sns_item li:last-of-type a:hover {
  color: #b039db;
  opacity: 1;
}

.footer_bottom .corp_item {
  letter-spacing: 0.5px;
  text-align: center;
}

.footer_bottom .corp_item h5 {
  font-size: 1.5em;
  margin: 0 auto;
}

.footer_bottom .corp_item .add {
  font-size: 0.8em;
  margin: 0 auto 0.5em;
}

.corp_item .copy {
  font-size: 1.2rem;
}

@media screen and (min-width: 480px) {

  /* スマートフォン横 */
  .sp {
    display: block;
  }

  .gnav {
    width: 400px;
  }

  /* ------------------------------------------------------------ */
  /* btn */
  /* ------------------------------------------------------------ */
  .btn_box {
    flex-wrap: nowrap;
  }

  .btn_box .btn {
    width: 48%;
    max-width: inherit;
    margin: 5px 0;
  }

  .bnr.sp {
    display: none;
  }

  .bnr.pc {
    display: block;
    margin: 0 auto 2em;
    max-width: 95%;
  }

  .bnr-2cols.sp,
  .bnr-2cols .sp {
    display: none;
  }

  .bnr-2cols.pc {
    display: flex;
  }

  .bnr-2cols .pc {
    display: block;
  }

  /* ------------------------------------------------------------ */
  /* flx_box */
  /* ------------------------------------------------------------ */

  /* 2カラム */
  .flx_2cols .flx_item {
    width: calc(100% / 2 - 0.5em);
    margin: 0 0.5em 1em 0;
  }

  .flx_2cols .flx_item:nth-child(2n),
  .flx_2cols .flx_item:last-child {
    margin: 0 0 1em;
  }

  /* 3カラム */
  .flx_3cols .flx_item {
    width: calc(100% / 3 - 0.5em);
    margin: 0 0.5em 1em 0;
  }

  .flx_3cols .flx_item:nth-child(3n) {
    margin: 0 0 1em;
  }

  /* 4カラム */
  .flx_4cols .flx_item {
    width: calc(100% / 2 - 0.5em);
    margin: 0 1em 1em 0;
  }

  .flx_4cols .flx_item:nth-child(2n) {
    margin: 0 0 1em;
  }

  /* ------------------------------------------------------------ */
  /* section */
  /* ------------------------------------------------------------ */
  /* MV ----------------------*/
  .mainvisual {
    padding: 10% 1.5em 0;
  }

  /* INTERVIEW ----------------------*/
  .interview_container {
    padding: 5% 2em 3em;
  }

  .interview_container .staff {
    bottom: -3em;
  }

  .interview_container:first-of-type .staff {
    width: 50%;
    right: -6%;
  }

  .interview_container:nth-of-type(2) .staff {
    width: 56%;
    left: 0;
  }

  .interview_container:nth-of-type(3) .staff {
    width: 64%;
    right: -5em;
  }

  .interview_container:nth-of-type(4) .staff {
    width: 49%;
    left: 2%;
  }

  .acc_box .block:has(.yoko) {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .acc_box .block .float_right {
    width: 40%;
    margin-left: 5%;
    float: right;
  }

  .acc_box .block .left_thum {
    width: 40%;
    margin: 0 5% 1em 0;
    float: left;
  }

  .acc_box .block .right_thum {
    width: 40%;
    margin: 0 0 1em 5%;
    float: right;
  }

  .acc_box .block .right_thum.yoko+.flx_item {
    order: 1;
  }

  .acc_box .block .right_thum.yoko {
    width: 80%;
    max-width: 640px;
    margin: 0 auto 2em;
    float: none;
    order: 2;
  }

  .acc_box .block .right_thum.yoko img {
    width: 100%;
  }

  /* MESSAGE  ----------------------*/
  .message .portrait li:first-of-type {
    /*
    width: 45%;
    right: 5%;
    bottom: 10%;
*/
    width: 55%;
    right: 0;
    bottom: 30%;
  }

  .message .portrait li:nth-of-type(2) {
    top: inherit;
    bottom: 2em;
    left: 10%;
  }

  /* JOB LIST  ----------------------*/
  /* benefit ----------------------*/
  .benefit .flx_3cols .flx_item {
    width: calc((100% - 0.5em) / 2);
  }

  .benefit .flx_3cols .flx_item:nth-child(3n) {
    margin-right: 0.5em;
  }

  .benefit .flx_3cols .flx_item:nth-child(2n) {
    margin-right: 0;
  }

  /* ENTRY  ----------------------*/
  .tab_menu {
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
  }

  .tab_menu .tab_btn {
    margin: 0 -1px;
    color: #000;
    position: relative;
    width: auto;
    flex-grow: 1;
    padding: 0.7em 5px;
  }

  .tab_menu .tab_btn::after {
    content: "";
    display: block;
    background: #fff;
    width: 100%;
    height: 4px;
    position: absolute;
    bottom: -3px;
    left: 0;
    opacity: 0;
  }

  .tab_menu .tab_btn.is-active::after {
    opacity: 1;
  }

  .tab_menu .tab_btn.is-active {
    z-index: 2;
  }

  .tab_content {
    margin-top: -2px;
  }

  .tab_content::before,
  .tab_content::after {
    content: none;
  }

  .tab_content .tab_item {
    padding: 6% 0;
    width: 90%;
    max-width: 900px;
    margin: 0 auto;
  }

  .guidelines dt,
  .guidelines dd {
    padding: 0.8em 1em;
  }

  .guidelines dt {
    width: calc(25% - 2px);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .guidelines dd {
    width: 75%;
  }

  /* ------------------------------------------------------------ */
  /* movie */
  /* ------------------------------------------------------------ */
  .youtube_item {
    padding-top: 36%;
  }

  /* ------------------------------------------------------------ */
  /* main-footer */
  /* ------------------------------------------------------------ */
  .main-footer .flx_item {
    width: 48%;
    margin: 0;
  }

  .footer_bottom>div:first-of-type {
    display: flex;
    justify-content: center;
  }

  .footer_bottom>div:first-of-type>div {
    width: 48%;
  }
}

@media screen and (min-width: 600px) {
  .footer_bottom {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    align-items: flex-end;
  }

  .footer_bottom>div:first-of-type {
    justify-content: flex-end;
  }

  .footer_bottom>div:first-of-type>div {
    padding-left: 2em;
    width: auto;
  }

  .footer_bottom .sns_item {
    margin: 0;
    /*    padding-left: 1em;*/
  }

  .footer_bottom .corp_item {
    text-align: left;
  }
}

@media screen and (min-width: 768px) {

  /* タブレット縦 / スマートフォン横 */
  .sp-only {
    display: none;
  }

  /* ------------------------------------------------------------ */
  /* gnav */
  /* ------------------------------------------------------------ */
  /* ------------------------------------------------------------ */
  /* common content */
  /* ------------------------------------------------------------ */
  .content {
    padding: 0;
  }

  .inner {
    padding: 0 2em;
  }

  .base {
    padding: 4em 0;
  }

  /* ------------------------------------------------------------ */
  /* ttl */
  /* ------------------------------------------------------------ */
  .sub-ttl {
    font-size: 2em;
  }

  /* ------------------------------------------------------------ */
  /* btn */
  /* ------------------------------------------------------------ */
  .btn a {
    font-size: 1.5em;
    letter-spacing: 0.2em;
  }

  /* ------------------------------------------------------------ */
  /* flx_box */
  /* ------------------------------------------------------------ */
  /* 2カラム */
  .flx_2cols .flx_item {
    width: calc(100% / 2 - 0.6em);
    margin: 0 1.2em 1em 0;
  }

  .flx_2cols .flx_item:nth-child(2n),
  .flx_2cols .flx_item:last-child {
    margin: 0 0 1em;
  }

  /* 3カラム */
  .flx_3cols .flx_item {
    width: calc(100% / 3 - 1em);
    margin: 0 1em 2em 0;
  }

  .flx_3cols .flx_item:nth-child(3n) {
    margin: 0 0 2em;
  }

  /* 4カラム */
  .flx_4cols .flx_item,
  .flx_4cols .flx_item:nth-child(2n) {
    width: calc(100% / 4 - 1em);
    margin: 0 1em 2em 0;
  }

  .flx_4cols .flx_item:nth-child(4n) {
    margin: 0 0 2em;
  }

  /* ------------------------------------------------------------ */
  /* section */
  /* ------------------------------------------------------------ */
  /* MV ----------------------*/
  .mainvisual {
    padding: 12% 1.5em 0;
  }

  .mv_top {
    width: 90%;
    margin: 0 auto;
  }

  .mv_top .photo {
    width: 75%;
  }

  .mv_top .bg_shikaku {
    width: 60%;
    padding-top: 60%;
    transform: rotate(-45deg) skew(5deg, 5deg) translate(-50%, -50%);
  }

  .mv_top .catch li:first-of-type {
    width: 46%;
    bottom: 0;
    /*    left: -5%;*/
    left: 0;
  }

  .mv_top .catch li:last-of-type {
    width: 42%;
    bottom: -2%;
    right: 2%;
  }

  .mv_center {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
  }

  .mainvisual::after {
    content: "";
    background: rgba(0, 0, 0, 0);
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    transition: all 0.3s ease-in-out;
  }

  .mainvisual.scrolled::after {
    background: rgba(0, 0, 0, 0.7);
  }

  .mainvisual.scrolled .mv_center {
    opacity: 1;
    visibility: visible;
  }

  /* GROUP ----------------------*/
  .gray_box {
    width: 95%;
    margin: 0 auto;
    padding: 1.5em 2em;
  }

  /* INTERVIEW ----------------------*/
  .interview_container {
    padding: 0 3.5% 2em;
  }

  .interview_container .staff {
    bottom: -2em;
  }

  .interview_container:first-of-type .staff {
    width: 35%;
    right: 16%;
  }

  .interview_container:nth-of-type(2) .staff {
    width: 42%;
    left: 9%;
  }

  .interview_container:nth-of-type(3) .staff {
    width: 42%;
    right: 7%;
  }

  .interview_container:nth-of-type(4) .staff {
    width: 34%;
    left: 19%;
  }

  .interview_container .acc_wrapper {
    width: 100%;
  }

  .interview_container .acc_wrapper::before {
    content: "";
    display: block;
    width: 100%;
    padding-bottom: 45.5%;
  }

  .acc_wrapper .left_item,
  .interview_container:nth-of-type(even) .acc_wrapper .left_item {
    position: absolute;
    margin: 0;
    padding: 0;
  }

  .acc_wrapper .right_item {
    position: absolute;
  }

  .interview_container:first-of-type .acc_wrapper .left_item {
    width: 57%;
    left: -2%;
    bottom: -2%;
  }

  .interview_container:nth-of-type(2) .acc_wrapper .left_item {
    width: 55.5%;
    right: 0;
    bottom: 0;
  }

  .interview_container:nth-of-type(3) .acc_wrapper .left_item {
    width: 51%;
    left: 2%;
    bottom: -1em;
  }

  .interview_container:nth-of-type(4) .acc_wrapper .left_item {
    width: 47%;
    right: 0;
    bottom: -1em;
  }

  .interview_container:nth-of-type(odd) .acc_wrapper .right_item {
    right: 0;
    bottom: 0;
  }

  .interview_container:nth-of-type(even) .acc_wrapper .right_item {
    left: 0;
    bottom: 0;
    text-align: left;
  }

  .acc_box {
    padding: 5%;
    margin: 1.5em auto;
  }

  .acc_box .block p {
    line-height: 2;
  }

  /* DIVISION ----------------------*/
  .division .depart {
    margin-bottom: 0;
  }

  .division .depart .full::after {
    padding-bottom: 27%;
  }

  .division .depart .harf {
    display: flex;
    justify-content: space-between;
  }

  .division .depart:nth-of-type(2) .harf {
    flex-direction: row-reverse;
  }

  .main_item {
    width: 55%;
    padding: 0 5% 5%;
    margin-top: -8%;
  }

  .main_item>div {
    max-width: 600px;
    margin: 0 auto;
  }

  .main_item h3 {
    width: 80%;
  }

  .main_item p {
    line-height: 2;
  }

  .sub_item {
    width: 45%;
    flex-direction: column;
  }

  .sub_item li {
    width: 100%;
  }

  .sub_item li:first-of-type {
    height: 55%;
  }

  .sub_item li:last-of-type {
    height: 45%;
  }

  .sub_item li:first-of-type::before,
  .sub_item li span::before {
    content: none;
  }

  /* MESSAGE ----------------------*/
  .message .txt {
    max-width: 750px;
    margin: 0 auto;
  }

  .message .txt p:nth-of-type(2) {
    width: 65%;
    padding-right: 2em;
  }

  .message .portrait::before {
    padding-bottom: 10%;
  }

  .message .portrait li:first-of-type {
    width: 40%;
    right: -6%;
    bottom: -4em;
    transform: inherit;
  }

  .message .portrait li:nth-of-type(2) {
    top: inherit;
    bottom: -1em;
    right: 32%;
    left: inherit;
  }

  /* JOB LIST  ----------------------*/
  .job .flx_item {
    border-top: none;
    border-left: 5px solid;
  }

  /* benefit  ----------------------*/

  .benefit {
    padding-bottom: 15rem;
  }

  .benefit .flx_3cols .flx_item {
    width: calc((100% - 2em) / 3);
  }

  .benefit .flx_3cols .flx_item:nth-child(2n) {
    margin-right: 1em;
  }

  .benefit .flx_3cols .flx_item:nth-child(3n) {
    margin-right: 0;
  }

  /* ENTRY  ----------------------*/
  .tab_menu .tab_btn {
    width: 100%;
    transition: all 0.3s ease-in-out;
  }

  .tab_item h3 {
    font-size: 2.6rem;
    letter-spacing: 0.2em;
  }

  /* ------------------------------------------------------------ */
  /* movie */
  /* ------------------------------------------------------------ */
  .movie {
    padding: 4em 0 1em;
  }

  .youtube_item {
    padding-top: 30%;
    margin-bottom: 0;
  }

  /* ------------------------------------------------------------ */
  /* main-footer */
  /* ------------------------------------------------------------ */
  .main-footer {
    padding: 6% 0 4%;
  }

  .main-footer .flx_box {
    margin: 0 auto 3em;
  }
}

@media screen and (min-width: 1025px) {

  /* デスクトップ/タブレット横 */
  .pc {
    display: block;
  }

  .sp {
    display: none;
  }

  .sp-only {
    display: none;
  }

  /* ------------------------------------------------------------ */
  /* header */
  /* ------------------------------------------------------------ */
  .main-header {
    height: auto;
    padding: 0;
  }

  .main-header .main-logo {
    width: 25%;
    padding: 0 0 0 2%;
  }

  /* ------------------------------------------------------------ */
  /* gnav */
  /* ------------------------------------------------------------ */
  .gnav {
    box-shadow: none;
    width: calc(100% - 250px);
    padding: 0 0 0 1em;
  }

  .drawer_inner {
    display: flex;
    justify-content: flex-end;
    overflow: hidden;
    background: none;
  }

  .drawer_inner:has(.js-acTrigger) {
    overflow: visible;
  }

  /* nav-menu */
  .nav-menu {
    border-top: none;
    flex-direction: row;
    justify-content: flex-end;
    margin: 0;
  }

  .menu-item a,
  .menu-item .js-acTrigger {
    border-bottom: none !important;
    padding: 20px;
    z-index: 1;
  }

  .menu-item:has(.js-acTrigger) {
    position: relative;
  }

  .menu-item.last a {
    border: none;
    background: #3fa9f5;
    color: #ffffff;
    padding: 20px 30px;
  }

  .menu-item:not(:last-of-type) a:hover {
    color: #000;
  }

  .menu-item .js-acTrigger::before {
    width: 0;
    height: 100%;
    background: inherit;
    top: auto;
    right: auto;
    transform: translate(-100%, 0);
  }

  .menu-item .js-acTrigger::after {
    width: 1.2rem;
    height: 0.6rem;
    background: none;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #fff;
    right: 50%;
    top: calc(100% - 1rem);
    transform: translate(50%, 0);
  }

  .menu-item a::before {
    content: "";
    display: block;
    width: 0;
    height: 100%;
    background: #22b573;
    position: absolute;
    bottom: 0;
    transition: all 0.3s ease-in-out;
    z-index: -1;
    left: 0;
    transform: translateX(-100%);
  }

  .menu-item:hover .js-acTrigger {
    color: #000;
  }

  .menu-item:hover .js-acTrigger::before {
    background: #22b573;
  }
  .menu-item:hover .js-acTrigger::after {
    border-top-color: #000;
  }

  .menu-item:nth-of-type(2) a::before {
    background: #ffff21;
  }

  .menu-item:nth-of-type(2):hover .js-acTrigger::before {
    background: #ffff21;
  }

  .menu-item:nth-of-type(3) a::before {
    background: #f15a24;
  }

  .menu-item:nth-of-type(3):hover .js-acTrigger::before {
    background: #f15a24;
  }

  .menu-item:nth-of-type(4) a::before {
    background: #ed1e79;
  }

  .menu-item:nth-of-type(4):hover .js-acTrigger::before {
    background: #ed1e79;
  }

  .menu-item:last-of-type a::before {
    background: -webkit-radial-gradient(circle at left top, #3fa9f5, #007ad4);
    background: radial-gradient(circle at left top, #3fa9f5, #007ad4);
    transform: translateX(0);
    width: 100%;
    opacity: 0;
  }

  .menu-item:last-of-type:hover .js-acTrigger::before {
    background: -webkit-radial-gradient(circle at left top, #3fa9f5, #007ad4);
    background: radial-gradient(circle at left top, #3fa9f5, #007ad4);
    transform: translateX(0);
  }

  .menu-item a:hover::before,
  .menu-item:hover .js-acTrigger::before {
    width: 100%;
    transform: translateX(0);
    opacity: 1;
  }

  /* 下層展開 */
  .js-dropdown {
    width: 25rem;
    background-color: #000;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.16);
  }

  .menu-item.last .js-dropdown {
    left: auto;
    right: 0;
    transform: translateX(0);
  }

  .menu-item:hover .js-dropdown {
    height: auto;
    opacity: 1;
    visibility: visible;
  }

  /* ------------------------------------------------------------ */
  /* btn */
  /* ------------------------------------------------------------ */
  .btn a {
    font-size: 2.6rem;
    letter-spacing: 0.25em;
    padding: 0.8em 3.5em 0.8em 2em;
  }

  .btn a:hover {
    box-shadow: 0 0 8px rgb(0 0 0 / 30%);
    opacity: 1;
    background: rgba(0, 0, 0, 0.2);
  }

  .bnr.pc {
    margin: 0 auto 5em;
  }

  /* ------------------------------------------------------------ */
  /* common content */
  /* ------------------------------------------------------------ */
  .inner {
    max-width: 1200px;
  }

  .base {
    padding: 5em 0;
  }

  /* ------------------------------------------------------------ */
  /* section */
  /* ------------------------------------------------------------ */
  /* GROUP ----------------------*/
  .gray_box {
    padding: 1.5em;
  }

  .gray_box a {
    display: block;
  }

  .gray_box a:hover {
    opacity: 0.7;
  }

  .ban_box {
    justify-content: space-between;
  }

  .ban_box .ban_item {
    width: calc((100% - 4em) / 5);
    margin: 0 1em 0 0;
  }

  .ban_box .ban_item:nth-child(5n) {
    margin: 0;
  }

  .swiper-button-next,
  .swiper-button-prev {
    display: none;
  }

  /* INTERVIEW ----------------------*/
  .right_item .info {
    font-size: 3rem;
  }

  .right_item .info .tag {
    font-size: 1.6rem;
  }

  .right_item .acc_btn,
  .acc_box .close a {
    font-size: 1.8rem;
    width: 250px;
    padding: 0.5em 1em;
  }

  .acc_box .block h4 {
    margin: 0 auto 1em;
  }

  .acc_box .block .jobpart {
    padding: 1.5em 0;
  }

  .acc_box .block:has(.yoko) {
    flex-wrap: nowrap;
  }

  .acc_box .block .right_thum.yoko+.flx_item {
    width: 45%;
    margin: 0 auto 0 0;
  }

  .acc_box .block .right_thum.yoko {
    width: 55%;
    padding: 0 0 0 40px;
    margin: 0;
  }

  /* DIVISION ----------------------*/

  /* MESSAGE ----------------------*/
  .message .portrait li:first-of-type {
    bottom: -5em;
  }

  .message .txt {
    max-width: 970px;
  }

  .message p {
    line-height: 2.2;
  }

  .message .portrait li:first-of-type {
    width: 38%;
  }

  /* JOB LIST  ----------------------*/

  .benefit {
    padding-bottom: 15rem;
  }

  /* ENTRY  ----------------------*/
  .tab_menu .tab_btn:hover {
    background: rgba(0, 0, 0, 0.2);
  }

  .tab_menu .tab_btn.is-active:hover {
    background: #fff;
  }

  /* ------------------------------------------------------------ */
  /* movie */
  /* ------------------------------------------------------------ */
  .movie {
    padding: 6em 0 1em;
  }
}

@media screen and (min-width: 1200px) {
  .interview_container .acc_wrapper {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
  }

  .interview_container .acc_box {
    width: 100%;
    max-width: 1200px;
    margin: 2em auto 0;
  }
}