@charset "UTF-8";
/* 10px相当 */
/* Reset系 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }
  q:before, q:after, blockquote:before, blockquote:after {
    content: "";
    content: none; }

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

.clearfix {
  *zoom: 1; }
  .clearfix:after {
    content: "";
    display: table;
    clear: both; }

html {
  height: 100%;
  font-size: 62.5%; }

aside, nav {
  display: inline; }

a, .btn, button, input.btn {
  background: none;
  margin: 0;
  padding: 0;
  outline: 0;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

button::-moz-focus-inner {
  border: 0; }

strong {
  font-weight: bold; }

/* キューブスサイト用 */
body {
  color: #2B2B2B;
  font-size: 1.4em;
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Meiryo", sans-serif;
  height: 100%;
  -webkit-text-size-adjust: 100%; }

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

*, h1, h2, h3, h4, h5, h6, p, span, th, td {
  line-height: 1.8; }

h1, h2, h3, h4, h5, h6, p, span, th, td, li, small, dd, dt, video, .btn {
  letter-spacing: normal; }

p, td {
  color: #5B6B75; }

a {
  text-decoration: none;
  color: #2B2B2B; }
  a:visited {
    color: #2B2B2B; }
  a:hover {
    color: black; }
  a:active {
    color: black; }

small {
  font-size: 1rem; }

section {
  padding-top: 30px;
  padding-bottom: 60px; }

@media screen and (max-width: 767px) {
  section {
    padding-top: 20px;
    padding-bottom: 20px; }

  img {
    max-width: 100%;
    height: auto; } }
@media screen and (min-width: 768px) {
  .sp_only {
    display: none; } }
@media screen and (max-width: 767px) {
  .pc_only {
    display: none; } }
/* グリッド **********/
.l-wrapper {
  width: 100%;
  min-height: 100%;
  height: auto !important;
  height: 100%;
  position: relative;
  overflow: hidden; }

.l-header {
  margin-bottom: 10px; }
  .l-header .l-head-logo {
    width: calc(222px + 30px);
    float: left;
    position: relative; }
  .l-header .l-head-nav {
    width: calc(100% - 252px);
    float: right;
    text-align: right; }

.l-contents {
  padding-bottom: 300px; }

.l-footer {
  width: 100%;
  height: 250px;
  position: absolute;
  left: 0;
  bottom: 0; }

.l-inner-box {
  width: 1200px;
  margin-left: auto;
  margin-right: auto;
  text-align: left; }

.l-box-wrapper {
  letter-spacing: -0.4em; }

.l-three-row,
.l-four-row,
.l-six-row {
  padding: 0 10px; }

.l-three-row {
  width: calc((100% - 40px) / 3);
  margin-right: 20px; }
  .l-three-row:not(:target) {
    margin-right: 19px; }
  .l-three-row:nth-of-type(3n) {
    margin-right: 0; }

.l-four-row {
  width: calc(100% / 4); }

.l-six-row {
  width: calc(99% / 6); }

*[class*="l-col-"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 10px;
  vertical-align: top; }

.l-col-1 {
  width: 10%; }

.l-col-2 {
  width: 20%; }

.l-col-3 {
  width: 30%; }

.l-col-4 {
  width: 40%; }

.l-col-5 {
  width: 50%; }

.l-col-6 {
  width: 60%; }

.l-col-7 {
  width: 70%; }

.l-col-8 {
  width: 80%; }

.l-col-9 {
  width: 90%; }

@media screen and (min-width: 1280px) {
  .l-inner-box {
    width: 1400px; } }
@media screen and (max-width: 767px) {
  .l-wrapper {
    height: auto;
    min-height: auto; }

  .l-head-nav {
    width: 100%;
    background-color: #FFFFFF;
    padding-top: 50px;
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    z-index: 999; }

  .l-contents {
    padding-bottom: 40px; }

  .l-inner-box {
    width: auto;
    padding-left: 10px;
    padding-right: 10px; }

  .l-footer {
    height: auto;
    position: relative; }

  .l-header .l-head-logo,
  .l-header .l-head-nav,
  .l-three-row,
  .l-four-row,
  .l-six-row,
  *[class*="l-col-"] {
    width: 100%; }

  .l-col-5 {
    padding: 0; } }
#loader {
  position: absolute;
  left: 45%;
  top: 40%; }

#loader-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 9999; }

.top_mv {
  width: 1280px;
  margin-left: auto;
  margin-right: auto;
  position: relative; }

.top_mv .dotImg {
  width: 1280px;
  height: 720px;
  position: absolute;
  background: url("../images/dot.png") repeat;
  z-index: 1; }

.top_mv video {
  width: 1280px;
  height: auto; }

.sp-only.slider.slick-slider {
  display: none; }

a.scroll {
  position: absolute;
  bottom: 110px;
  left: 50%;
  z-index: 2;
  display: inline-block;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  text-decoration: none;
  padding-top: 60px; }
  a.scroll span {
    position: absolute;
    top: 0;
    left: 50%;
    width: 46px;
    height: 46px;
    margin-left: -23px;
    border: 1px solid #fff;
    border-radius: 25%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    a.scroll span::after {
      position: absolute;
      top: 50%;
      left: 50%;
      content: '';
      width: 16px;
      height: 16px;
      margin: -12px 0 0 -8px;
      border-left: 1px solid #fff;
      border-bottom: 1px solid #fff;
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg);
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
    a.scroll span::before {
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
      content: '';
      width: 44px;
      height: 44px;
      -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.1);
              box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.1);
      border-radius: 25%;
      opacity: 0;
      -webkit-animation: sdb 3s infinite;
      animation: sdb 3s infinite;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      background-color: #606060; }

@-webkit-keyframes sdb {
  0% {
    opacity: 0; }
  30% {
    opacity: 1; }
  60% {
    -webkit-box-shadow: 0 0 0 60px rgba(255, 255, 255, 0.1);
            box-shadow: 0 0 0 60px rgba(255, 255, 255, 0.1);
    opacity: 0; }
  100% {
    opacity: 0; } }
@keyframes sdb {
  0% {
    opacity: 0; }
  30% {
    opacity: 1; }
  60% {
    -webkit-box-shadow: 0 0 0 60px rgba(255, 255, 255, 0.1);
            box-shadow: 0 0 0 60px rgba(255, 255, 255, 0.1);
    opacity: 0; }
  100% {
    opacity: 0; } }
@media screen and (min-width: 1280px) {
  .top_mv {
    width: 100%; }

  .top_mv .dotImg {
    width: 100%;
    height: 1070.5px; }

  .top_mv video {
    width: 1903px; }

  .sp-only.slider.slick-slider {
    display: none; } }
@media screen and (max-width: 767px) {
  .top_mv {
    width: 100%; }

  .top_mv .dotImg {
    width: 767px;
    height: 431.4px; }

  .top_mv video {
    width: 767px; }

  .sp-only.slider.slick-slider {
    display: block; } }
/* ヘッダー */
.head-nav-main,
.head-nav-sub {
  vertical-align: top; }
  .head-nav-main a,
  .head-nav-sub a {
    font-weight: bold; }

.head-nav-main li {
  vertical-align: middle;
  height: 90px;
  position: relative;
  -webkit-transition: background-color 0.3s ease-out;
  transition: background-color 0.3s ease-out; }
  .head-nav-main li.is-selected {
    background-color: #00A0E9; }
  .head-nav-main li:not(.is-selected):hover {
    background-color: #ededed; }
  .head-nav-main li a {
    width: 100%;
    padding-top: 30px;
    letter-spacing: 2px !important; }
    .head-nav-main li a:before {
      top: 15px; }
  .head-nav-main li small {
    margin-top: 5px;
    display: block;
    color: rgba(43, 43, 43, 0.4);
    letter-spacing: 1px !important;
    font-weight: normal; }

.head-nav-sub li {
  margin-top: 15px;
  margin-right: 15px; }

.head-nav-btn {
  display: none; }

@media screen and (min-width: 1280px) {
  .head-nav-main {
    width: 80%; }
    .head-nav-main li {
      font-size: 1.9rem; }

  .head-nav-sub {
    width: 20%; } }
@media screen and (max-width: 767px) {
  .head-nav-main, .head-nav-sub {
    text-align: center; }
    .head-nav-main li, .head-nav-sub li {
      margin: 0;
      height: auto;
      border-top: solid 1px rgba(43, 43, 43, 0.35); }
      .head-nav-main li a, .head-nav-main li, .head-nav-sub li a, .head-nav-sub li {
        width: 100%; }
      .head-nav-main li a, .head-nav-sub li a {
        padding: 16px 10px;
        font-size: 1.6rem;
        display: inline-block; }
      .head-nav-main li:after, .head-nav-sub li:after {
        display: none; }
      .head-nav-main li small, .head-nav-sub li small {
        margin: 0; }

  .head-nav-btn {
    width: 40px;
    position: absolute;
    top: 10px;
    right: 5px;
    display: inline-block;
    height: 22px; }

  .icon-bar {
    width: 100%;
    background-color: #2B2B2B;
    height: 4px;
    display: inline-block;
    position: absolute;
    left: 0;
    z-index: 9999; }
    .icon-bar:nth-of-type(1) {
      top: 0; }
    .icon-bar:nth-of-type(2) {
      top: 10px; }
    .icon-bar:nth-of-type(3) {
      top: 20px; }
    .icon-bar:nth-of-type(1), .icon-bar:nth-of-type(2) {
      -webkit-transition: all 0.3s ease-out;
      transition: all 0.3s ease-out; }
    .is-close .icon-bar:nth-of-type(1) {
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      top: 10px; }
    .is-close .icon-bar:nth-of-type(2) {
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg); }
    .is-close .icon-bar:nth-of-type(3) {
      display: none; } }
/* フッター*/
.footer {
  background-color: #F5F5F5;
  padding-top: 20px;
  border-top: solid 1px rgba(43, 43, 43, 0.35);
  -webkit-box-shadow: 1px 2px 1px #ffffff inset;
  box-shadow: 1px 2px 1px #ffffff inset; }
  .footer > ul > li {
    margin-right: 30px;
    display: inline-block;
    vertical-align: top; }
    .footer > ul > li:first-of-type {
      margin-right: 50px;
      padding-top: 20px; }
    .footer > ul > li > a {
      display: inline-block;
      font-weight: bold; }
    .footer > ul > li:last-of-type ul {
      padding-left: 5px; }
      .footer > ul > li:last-of-type ul a:before {
        margin-right: 20px; }
  .footer ul li ul {
    padding-left: 40px;
    font-size: 1.2rem;
    line-height: 1.8; }
    .footer ul li ul a {
      color: #5B6B75; }
      .footer ul li ul a:visited {
        color: #5B6B75; }
      .footer ul li ul a:hover {
        color: #3a444a; }
      .footer ul li ul a:active {
        color: #3a444a; }

.copyright {
  padding: 5px 0;
  font-size: 1rem;
  color: #2B2B2B;
  font-weight: bold; }

.page-top {
  margin-bottom: 20px;
  padding-top: 30px;
  display: inline-block;
  font-size: 1.8rem;
  position: relative; }
  .page-top:before {
    width: 40px;
    margin: 0 auto;
    border-top: solid 1px #2B2B2B;
    border-left: solid 1px #2B2B2B;
    content: "";
    height: 40px;
    display: inline-block;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    left: 0;
    right: 0; }
  .page-top:hover:before {
    border-color: black; }

@media screen and (min-width: 1280px) {
  .footer > ul {
    text-align: center; }
  .footer > ul > li {
    margin-right: 50px;
    text-align: left; } }
@media screen and (max-width: 767px) {
  .footer {
    background-color: transparent;
    border: none; } }
/* トップページ */
.top-main-heading:before, .top-main-heading:after {
  width: 100%;
  content: "";
  height: 153px;
  display: block; }
.top-main-heading:before {
  background: url(../images/top_photos_01.jpg) repeat-x center 0;
  margin-bottom: 40px; }
.top-main-heading:after {
  background: url(../images/top_photos_02.jpg) repeat-x center 0;
  margin-top: 40px; }
.top-main-heading .l-inner-box {
  position: relative; }

.title-img {
  margin: 10px 0; }
  .title-img img {
    width: 245px; }
    .title-img img.news {
      width: 467px; }

/*　会社概要リスト */
li.l-col-5 {
  margin-top: -7px;
  padding: 0; }

.ph-square {
  display: inline-block;
  position: relative;
  overflow: hidden;
  height: 368px; }
  .ph-square img {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    max-width: 100%; }

.title-box {
  position: absolute;
  margin: auto;
  top: 150px;
  left: 0;
  right: 0;
  bottom: 0; }

h2.heading.smaller.white {
  font-size: 3.2rem;
  font-weight: bold;
  letter-spacing: 10px; }

.ph-square .caption {
  font-size: 3.2rem;
  font-weight: bold;
  text-align: center;
  color: #ffffff;
  height: 100%;
  padding: 80px 10px 0; }
  .ph-square .caption p {
    font-size: 2.4rem;
    color: #ffffff;
    font-weight: normal; }

.ph-square .mask {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  bottom: -40px;
  background-color: rgba(17, 62, 135, 0.6);
  -webkit-transition: all 0.2s ease;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease; }
  .ph-square .mask .caption h3 {
    letter-spacing: 10px; }

.ph-square:hover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s; }
.ph-square:hover .mask {
  bottom: 0px;
  opacity: 1; }
.ph-square:hover h2.heading.smaller.white {
  opacity: 0; }

@media screen and (max-width: 767px) {
  li.l-col-5 {
    text-align: center; }

  .ph-square {
    height: 307px; }

  .title-box {
    top: 60px; }

  p.white {
    font-size: 22px; } }
@media screen and (max-width: 480px) {
  h2.heading.smaller.white {
    font-size: 2.8rem; }

  .ph-square {
    height: 154px; }

  .title-box {
    top: 18px; }

  p.white {
    font-size: 12px; } }
/*　先輩の声リスト */
.voice-list {
  margin-top: 60px; }
  .voice-list li:first-of-type, .voice-list li:nth-of-type(2) {
    margin-bottom: 135px; }
  .voice-list h2 {
    text-align: center;
    font-weight: bold; }
  .voice-list .voice-01 {
    background: url("../images/bg_voices_01.png") no-repeat;
    background-position: bottom -2px right;
    height: 410px;
    position: relative; }
    .voice-list .voice-01 .ph-voice {
      position: absolute;
      top: -71px;
      left: 115px; }
    .voice-list .voice-01 h2 {
      position: absolute;
      bottom: -90px;
      left: 0;
      right: 0; }
  .voice-list .voice-02 {
    background: url("../images/bg_voices_02.png") no-repeat;
    background-position: bottom 10px right 55px;
    height: 485px;
    position: relative; }
    .voice-list .voice-02 .ph-voice {
      position: absolute;
      top: -93px;
      right: -198px; }
    .voice-list .voice-02 h2 {
      position: absolute;
      bottom: -23px;
      right: 98px; }
  .voice-list .voice-03 {
    background: url("../images/bg_voices_03.png") no-repeat;
    background-position: bottom 19px right 80px;
    height: 480px;
    position: relative; }
    .voice-list .voice-03 .ph-voice {
      position: absolute;
      top: -55px;
      left: 143px; }
    .voice-list .voice-03 h2 {
      position: absolute;
      bottom: -36px;
      left: 0;
      right: 0; }
  .voice-list .voice-04 {
    background: url("../images/bg_voices_04.png") no-repeat;
    background-position: bottom -2px left 40px;
    height: 415px;
    position: relative; }
    .voice-list .voice-04 .ph-voice {
      position: absolute;
      top: -96px;
      left: 61px; }
    .voice-list .voice-04 h2 {
      position: absolute;
      bottom: -65px;
      left: 287px; }

.ph-voice {
  margin: 0 auto;
  position: relative; }
  .ph-voice img {
    position: relative;
    z-index: 2; }
    .ph-voice img.staff-03 {
      width: 107%;
      margin-left: -9px; }

.ph-voice {
  width: 100%; }

p:not(.white) {
  color: #2B2B2B; }

.fadein {
  opacity: 0;
  -webkit-transform: translateY(80px);
          transform: translateY(80px);
  -webkit-transition: all 1.5s;
  transition: all 1.5s; }

@media screen and (min-width: 1280px) {
  .voice-list {
    width: 1200px;
    margin: 0 auto; } }
@media screen and (max-width: 767px) {
  .voice-list li {
    margin-bottom: 100px; }
  .voice-list li:first-of-type, .voice-list li:nth-of-type(2) {
    margin-bottom: 100px; }
  .voice-list *[class*="voice-"] {
    background: none;
    height: auto; }
    .voice-list *[class*="voice-"] .ph-voice {
      position: static; }
    .voice-list *[class*="voice-"] h2 {
      z-index: 99;
      left: 0;
      right: 0; }
  .voice-list .voice-01 h2 {
    bottom: -75px; }
  .voice-list .voice-02 h2, .voice-list .voice-04 h2 {
    bottom: -55px; }
  .voice-list .voice-03 h2 {
    bottom: -45px; } }
/* 人材育成、採用情報リスト */
.three-list {
  text-align: center; }
  .three-list .l-three-row {
    padding: 0;
    margin: 0; }
  .three-list .title-box {
    position: absolute;
    margin: auto;
    top: 125px;
    left: 0;
    right: 0;
    bottom: 0; }
  .three-list .ph-square {
    height: 280px; }
  .three-list .ph-square .caption {
    padding-top: 51px; }
    .three-list .ph-square .caption p {
      font-size: 2.4rem; }

@media screen and (max-width: 767px) {
  .three-list .l-three-row {
    text-align: center; }
  .three-list li:nth-of-type(2), .three-list li:last-of-type {
    margin-top: -4px; }
  .three-list .title-box {
    top: 50px; } }
@media screen and (max-width: 480px) {
  .three-list .ph-square {
    height: 151px; }
  .three-list .title-box {
    top: 18px; } }
.four-list .l-four-row {
  padding: 0; }
.four-list .ph-square {
  height: 280px; }
  .four-list .ph-square picture {
    display: block; }
  .four-list .ph-square picture, .four-list .ph-square img {
    -o-object-fit: cover;
       object-fit: cover;
    height: 100%; }
.four-list .title-box {
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }
.four-list .mask .caption {
  width: 100%;
  padding-top: 0;
  position: absolute;
  height: auto;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }

.border-box {
  padding: 1.6rem;
  border: solid 4px #3bbcfe; }

:is(dl).inline {
  display: grid;
  grid-template-columns: 4em 1fr; }

/* ニュースリスト */
.news-list {
  padding: 10px 20px; }
  .news-list span, .news-list p {
    color: #5B6B75; }
  .news-list span {
    margin-bottom: 5px;
    display: inline-block;
    font-weight: bold; }

/* ハブページ */
.head-img {
  position: relative; }
  .head-img .title-text {
    text-align: left;
    position: absolute;
    top: 134px;
    font-size: 2.8rem;
    letter-spacing: 5px; }
    .head-img .title-text span {
      background: -webkit-gradient(linear, left top, right top, from(#3bbcfe), to(#3bddad));
      background: linear-gradient(to right, #3bbcfe, #3bddad);
      margin-bottom: 27px;
      padding: 3px 20px 3px 15px;
      line-height: 2.5; }
    .head-img .title-text span::after {
      content: "\a";
      white-space: pre; }
    .head-img .title-text span:last-of-type::after {
      content: none; }

@media screen and (min-width: 1280px) {
  .head-img .title-text {
    top: 145px;
    font-size: 3.2rem; } }
@media screen and (max-width: 767px) {
  .head-img .title-text {
    top: 90px;
    font-size: 1.5rem;
    line-height: 0; } }
@media screen and (max-width: 480px) {
  .head-img .title-text {
    top: 40px;
    font-size: 1.2rem;
    line-height: 0; }
  .head-img .title-text span {
    padding: 3px 10px 3px 10px; } }
/* 会社概要：代表メッセージ */
.ceo-name, .staff-name {
  margin-bottom: 60px;
  color: #2B2B2B; }
  .ceo-name span, .staff-name span {
    letter-spacing: 1px;
    display: block; }
  .ceo-name .larger, .staff-name .larger {
    margin-bottom: 10px; }
  .ceo-name .xx-large, .staff-name .xx-large {
    line-height: 1; }

@media screen and (min-width: 1280px) {
  .ceo .l-col-5, .l-col-all {
    padding: 0 20px; } }
@media screen and (max-width: 767px) {
  .ceo-name, .staff-name {
    margin-bottom: 20px; } }
/* 会社概要：数字で見る */
.fashion-score {
  font-size: 6.0rem; }
  .fashion-score.woman {
    color: #E63178; }

.fashion-point {
  width: calc((100% / 6)*5); }

@media screen and (max-width: 767px) {
  .fashion-point {
    width: 100%; } }
/* 蜈郁ｼｩ縺ｮ螢ｰ */
.staff-name .larger {
  margin-bottom: 30px; }

*[class*="staff-"] .notice span, *[class*="staff-"] .fashion-score.man span {
  margin-bottom: 5px; }
*[class*="staff-"] .notice span::after, *[class*="staff-"] .fashion-score.man span::after {
  content: "\a";
  white-space: pre; }
*[class*="staff-"] .notice span:last-of-type::after, *[class*="staff-"] .fashion-score.man span:last-of-type::after {
  content: none; }

.staff-01 .notice, .staff-01 .fashion-score.man {
  color: #0091D7; }
  .staff-01 .notice span, .staff-01 .fashion-score.man span {
    background: -webkit-gradient(linear, left top, right top, from(rgba(197, 241, 254, 0.4)), to(rgba(188, 245, 196, 0.4)));
    background: linear-gradient(to right, rgba(197, 241, 254, 0.4), rgba(188, 245, 196, 0.4)); }

.staff-02 .notice, .staff-02 .fashion-score.man {
  color: #F57400; }
  .staff-02 .notice span, .staff-02 .fashion-score.man span {
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 216, 212, 0.4)), to(rgba(255, 254, 200, 0.4)));
    background: linear-gradient(to right, rgba(255, 216, 212, 0.4), rgba(255, 254, 200, 0.4)); }

.staff-03 .notice, .staff-03 .fashion-score.man {
  color: #B14A9E; }
  .staff-03 .notice span, .staff-03 .fashion-score.man span {
    background: -webkit-gradient(linear, left top, right top, from(rgba(198, 199, 225, 0.4)), to(rgba(243, 245, 179, 0.4)));
    background: linear-gradient(to right, rgba(198, 199, 225, 0.4), rgba(243, 245, 179, 0.4)); }

.staff-04 .notice, .staff-04 .fashion-score.man {
  color: #E63178; }
  .staff-04 .notice span, .staff-04 .fashion-score.man span {
    background: -webkit-gradient(linear, left top, right top, from(rgba(247, 177, 182, 0.4)), to(rgba(216, 217, 236, 0.4)));
    background: linear-gradient(to right, rgba(247, 177, 182, 0.4), rgba(216, 217, 236, 0.4)); }

.staff-video {
  background: url(../images/voices/video_bg.png) no-repeat center center #F5F5F5;
  min-height: 300px;
  position: relative; }
  .staff-video.is-prepared p {
    position: absolute;
    top: 58%;
    left: 50%;
    font-size: 2.4rem;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    color: #2B2B2B; }

#video-02 {
  display: none; }

@media screen and (min-width: 1280px) {
  *[class*="staff-"] .l-col-5 {
    padding: 0 20px; }

  video {
    width: 650px; } }
@media screen and (max-width: 767px) {
  .staff-video {
    margin-bottom: 20px;
    min-height: auto; }
    .staff-video video {
      width: 100%; }
    .staff-video.is-prepared {
      display: none; } }
/* 企業メッセージ */
.message-bg-01 {
  background: url(../images/training/message/bg_01.jpg) no-repeat 0 0;
  background-size: 100% auto; }
  .message-bg-01 .l-col-5 {
    margin-left: 50%; }

.message-bg-02 {
  background: url(../images/training/message/bg_02.png) no-repeat center bottom;
  padding-bottom: 130px; }

.message-bg-03 {
  background: url(../images/training/message/bg_03.jpg) no-repeat 0 100%;
  background-size: 100% auto;
  padding-bottom: 100px; }

@media screen and (max-width: 767px) {
  .message-bg-01 .l-col-5 {
    margin-left: 0; }
  .message-bg-01 .white, .message-bg-01 .head-nav-main li.is-selected a, .head-nav-main li.is-selected .message-bg-01 a {
    color: #2B2B2B; }

  .message-bg-01, .message-bg-02, .message-bg-03 {
    background: none; }

  .message-bg-02, .message-bg-03 {
    padding-bottom: 0; } }
/* キャリアパス */
.career-bg-01 {
  background: url(../images/training/career/bg_01.jpg) no-repeat 0 0;
  background-size: 100% auto; }

.training {
  color: #F6B61C; }

/* よくあるご質問 */
.question,
.answer {
  padding-left: 30px;
  position: relative; }
  .question:before,
  .answer:before {
    display: block;
    font-size: 2.4rem;
    position: absolute;
    left: 0; }

.question {
  font-weight: bold; }
  .question:before {
    content: "Q";
    top: -7px; }

.answer:before {
  content: "A";
  font-weight: bold;
  top: -10px; }

/* 採用の流れ */
.step-00:after {
  width: 109px;
  background-position: 0 -855px;
  height: 88px; }

.step-01:after {
  width: 172px;
  background-position: 0 0;
  height: 129px; }

.step-02:after {
  width: 116px;
  background-position: 0 -142px;
  height: 118px; }

.step-03:after {
  width: 148px;
  background-position: 0 -307px;
  height: 116px; }

.step-04:after {
  width: 157px;
  background-position: 0 -463px;
  height: 106px; }

.step-05:after {
  width: 121px;
  background-position: 0 -608px;
  height: 88px; }

.step-06:after {
  width: 82px;
  background-position: 0 -736px;
  height: 91px; }

*[class*="step-"] {
  position: relative; }
  *[class*="step-"]:after {
    background-image: url(../images/recruit/flow/icons.png);
    background-color: transparent;
    content: "";
    display: block;
    top: 20px;
    right: 20px;
    position: absolute; }

@media screen and (max-width: 767px) {
  *[class*="step-"]:after {
    margin: 0 auto;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0; }

  *[class*="step-"] {
    padding-bottom: 100px; }

  .step-01, .step-02, .step-03, .step-04 {
    padding-bottom: 135px; } }
/* 並列コンテンツへのリンク */
.links-box .l-four-row {
  padding: 0; }
.links-box .ph-square {
  height: 216px; }
.links-box .title-box {
  top: 80px; }
.links-box .three-list .caption {
  padding-top: 80px; }
.links-box .voice-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, 280px);
  gap: 20px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: -35px; }
  .links-box .voice-list img {
    width: 100%; }
  .links-box .voice-list *[class*="voice-"] {
    background-size: contain;
    background-position: center; }
    .links-box .voice-list *[class*="voice-"] p {
      position: absolute;
      bottom: -13px;
      left: 110px; }
  .links-box .voice-list .ph-voice {
    width: 68%; }
.links-box .voice-list .voice-01 .ph-voice {
  width: 66%;
  top: 35px;
  left: 31px; }
.links-box .voice-list .voice-01 h2 {
  bottom: 6px; }
.links-box .voice-list .voice-02 {
  background-position: bottom 144px left 15px; }
  .links-box .voice-list .voice-02 .ph-voice {
    width: 65%;
    top: 24px;
    right: 9px; }
  .links-box .voice-list .voice-02 h2 {
    bottom: 95px;
    right: 8px; }
  .links-box .voice-list .voice-02 p {
    bottom: 60px; }
.links-box .voice-list .voice-03 {
  background-size: 80%;
  background-position-y: 60px; }
  .links-box .voice-list .voice-03 .ph-voice {
    width: 67%;
    top: 36px;
    left: 49px; }
  .links-box .voice-list .voice-03 h2 {
    bottom: 95px; }
  .links-box .voice-list .voice-03 p {
    bottom: 60px; }
.links-box .voice-list .voice-04 .ph-voice {
  top: 42px;
  left: 16px; }
.links-box .voice-list .voice-04 h2 {
  bottom: 24px;
  left: 60px; }

@media screen and (max-width: 767px) {
  .links-box .l-four-row {
    margin-top: -7px; }
  .links-box *[class*="voice-"] {
    background: none;
    height: auto;
    display: block;
    margin-top: 0; }
    .links-box *[class*="voice-"] h2 {
      position: static; }
    .links-box *[class*="voice-"] .lh-wide {
      line-height: 1.8; }
  .links-box .voice-list [class*="voice-"] p {
    position: static; }
  .links-box .voice-list .voice-02 .ph-voice {
    width: 58%; }
  .links-box .voice-list .voice-03 .ph-voice {
    width: 51%; } }
@media screen and (max-width: 480px) {
  .links-box .ph-square {
    height: 151px; }
  .links-box .title-box {
    top: 55px; }
  .links-box .voice-list .voice-01 .ph-voice {
    width: 74%; }
  .links-box .voice-list .voice-02 .ph-voice {
    width: 65%; }
  .links-box .voice-list .voice-03 .ph-voice {
    width: 60%; }
  .links-box .voice-list .voice-04 .ph-voice {
    width: 75%; } }
/* 見出し・テキスト */
.heading {
  margin-bottom: 10px;
  letter-spacing: 1px;
  font-size: 3.2rem; }
  .heading[class*="i-"] small {
    margin-top: 10px;
    font-size: 2.4rem; }
  .heading small {
    display: block;
    color: rgba(43, 43, 43, 0.4); }
  .heading.white small, .head-nav-main li.is-selected a.heading small {
    color: rgba(255, 255, 255, 0.6); }
  .heading.smaller {
    font-size: 2.4rem; }

@media screen and (max-width: 767px) {
  .heading {
    font-size: 1.92rem; }
    .heading[class*="i-"] small, .heading.smaller {
      font-size: 1.56rem; } }
.heading-box {
  width: 100%;
  background: -webkit-gradient(linear, left top, right top, from(#9dddfe), to(#bbf4e4));
  background: linear-gradient(to right, #9dddfe, #bbf4e4);
  margin-bottom: 20px;
  padding: 15px 0; }
  .heading-box .heading {
    margin-bottom: 0; }

.heading-small {
  background-image: -webkit-gradient(linear, left top, left bottom, from(#3bbcfe), to(#3bddad));
  background-image: linear-gradient(to bottom, #3bbcfe, #3bddad);
  background-size: 6px 100%;
  background-position: 0 0;
  background-repeat: no-repeat;
  padding-left: calc(8px + .5rem);
  font-weight: bold; }

.intro-txt {
  color: #2B2B2B;
  margin-bottom: 50px; }

@media screen and (max-width: 767px) {
  .intro-txt {
    text-align: center;
    line-height: 1.8 !important;
    color: #5B6B75; }
    .heading[class*="i-"] + .intro-txt {
      color: #2B2B2B; } }
/* Table */
.tbl {
  width: 100%;
  border-collapse: separate;
  border-spacing: 5px;
  table-layout: fixed; }
  .tbl th, .tbl td {
    padding: 15px 20px; }
  .tbl th {
    background-color: #ededed;
    vertical-align: top;
    white-space: nowrap; }
  .tbl td {
    background-color: #F5F5F5; }
  .tbl.bordered {
    border-collapse: collapse; }
    .tbl.bordered th, .tbl.bordered td {
      background-color: transparent;
      border-bottom: solid 1px rgba(43, 43, 43, 0.35); }

@media screen and (max-width: 767px) {
  .tbl th, .tbl td {
    padding: 5px 10px; }
  .tbl th {
    width: auto; }
  .tbl.bordered th {
    width: 27%; }
  .tbl.bordered td {
    width: auto; } }
/* リスト系 */
dt[class*="l-col-"] {
  padding-left: 0; }

/* 配置系 */
.t-align-c, .l-wrapper, .head-nav-main li, .copyright, .heading-box, .btn {
  text-align: center !important; }

.t-align-r {
  text-align: right !important; }

.t-align-l {
  text-align: left !important; }

.l-three-row,
.l-four-row,
.l-six-row, [class*="l-col-"], .head-nav-main, .head-nav-main li,
.head-nav-sub,
.head-nav-sub li, .head-nav-main li a, .fashion-point, .btn, .default-btn, .default-btn:hover, .default-btn:focus, .mynavi-btn, .mynavi-btn:hover, .mynavi-btn:focus, .detail-btn, .detail-btn:hover, .detail-btn:focus, a:hover .detail-btn, a:focus .detail-btn {
  display: inline-block; }

.mg-btm {
  margin-bottom: 10px !important; }

.mg-btm-larger {
  margin-bottom: 20px; }

.mg-btm-xlarge {
  margin-bottom: 40px; }

.mg-btm-xxlarge {
  margin-bottom: 60px; }

.xx-large {
  font-size: 3.2rem; }

.x-large {
  font-size: 2.4rem; }

.larger {
  font-size: 1.8rem; }

.medium {
  font-size: 1.6rem; }

.smaller {
  font-size: 1.2rem; }

.slimmer {
  letter-spacing: -1px; }

.bolder, .tbl th, .default-btn {
  font-weight: bold;
  color: #2B2B2B; }

.lh-wide {
  line-height: 2.9; }

.lh-wider, .intro-txt {
  line-height: 2.2; }

.white, .head-nav-main li.is-selected a {
  color: #FFFFFF; }

.notice, .fashion-score.man {
  color: #00A0E9;
  font-weight: bold; }
  .notice span, .fashion-score.man span {
    letter-spacing: 5px;
    background: -webkit-gradient(linear, left top, right top, from(rgba(157, 221, 254, 0.8)), to(rgba(187, 244, 228, 0.8)));
    background: linear-gradient(to right, rgba(157, 221, 254, 0.8), rgba(187, 244, 228, 0.8));
    padding: 3px 10px;
    display: inline-block;
    margin-bottom: 5px;
    font-size: 2.2rem; }
    .notice span.pc-only, .fashion-score.man span.pc-only {
      margin-right: 210px; }
    .notice span.sp-only, .fashion-score.man span.sp-only {
      display: none; }

@media screen and (max-width: 767px) {
  .notice span, .fashion-score.man span {
    letter-spacing: 2px;
    font-size: 1.5rem; }
  .notice span.sp-only, .fashion-score.man span.sp-only {
    display: block; } }
.pale, .question {
  color: rgba(43, 43, 43, 0.4); }

.bd-top {
  border-top: solid 1px rgba(43, 43, 43, 0.35); }
  .bd-top.dashed {
    padding-top: 20px;
    border-style: dashed;
    border-top-width: 2px; }

.v-align-m {
  vertical-align: middle; }

.detail-link {
  padding-left: 1.8em;
  color: #00A0E9;
  position: relative;
  -webkit-transition: color 0.3s ease-out;
  transition: color 0.3s ease-out; }
  .detail-link:visited {
    color: #00A0E9; }
  .detail-link:hover {
    color: #007db6; }
  .detail-link:active {
    color: #007db6; }
  .detail-link:after, .detail-link:before {
    margin: auto 0;
    content: "";
    vertical-align: middle;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0; }
  .detail-link:before {
    width: 0.4em;
    height: 0.4em;
    border-top: solid 2px #00A0E9;
    border-right: solid 2px #00A0E9;
    margin-right: 5px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    left: 0.6em; }
  .detail-link:after {
    width: 1em;
    background-color: #00A0E9;
    height: 2px;
    left: 0; }
  .detail-link:hover:before {
    border-color: #007db6; }
  .detail-link:hover:after {
    background-color: #007db6; }

.img-responsive {
  width: 100%;
  height: auto; }

a[disabled] {
  cursor: not-allowed; }

.ellipsis {
  overflow: hidden; }
  .ellipsis:after {
    content: "窶ｦ"; }

.sp-only {
  display: none; }

@media screen and (max-width: 767px) {
  .sp-only {
    display: block; }

  .pc-only {
    display: none !important; }

  .xx-large {
    font-size: 1.92rem; }

  .x-large {
    font-size: 1.92rem; }

  .larger {
    font-size: 1.53rem; } }
/**** ボタン ****/
.btn {
  margin-bottom: 0;
  padding-left: 1em;
  padding-top: 4px;
  padding-bottom: 4px;
  vertical-align: middle;
  cursor: pointer;
  white-space: nowrap;
  position: relative; }
  .btn:after, .btn:before {
    margin: auto 0;
    content: "";
    display: block;
    position: absolute;
    top: -3px;
    bottom: 0;
    color: #FFFFFF; }
  .btn:after {
    width: 0.4em;
    height: 0.4em;
    border-top: solid 2px #FFFFFF;
    border-right: solid 2px #FFFFFF;
    right: 1.1em;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }
  .btn:before {
    width: 1em;
    background-color: #FFFFFF;
    height: 2px;
    position: absolute;
    right: 1em; }

.default-btn {
  padding-right: 2.5em;
  background: transparent;
  color: #00A0E9;
  border: solid 1px #00A0E9;
  border-width: 2px; }
  .default-btn:hover {
    -webkit-transition: background-color 0.5s ease;
    transition: background-color 0.5s ease; }
  .default-btn:after {
    border-color: #00A0E9; }
  .default-btn:before {
    background-color: #00A0E9; }
  .default-btn:hover, .default-btn:focus {
    background: transparent;
    color: #007db6;
    border: solid 1px #007db6;
    border-width: 2px; }
    .default-btn:hover:hover, .default-btn:focus:hover {
      -webkit-transition: background-color 0.5s ease;
      transition: background-color 0.5s ease; }
    .default-btn:hover:after, .default-btn:focus:after {
      border-color: #007db6; }
    .default-btn:hover:before, .default-btn:focus:before {
      background-color: #007db6; }
  .default-btn.entry-btn {
    width: 200px; }
  .default-btn.download-btn {
    font-size: 1.2rem; }
    .default-btn.download-btn::before {
      -webkit-transform: rotate(90deg);
      transform: rotate(90deg); }
    .default-btn.download-btn::after {
      -webkit-transform: rotate(135deg);
      transform: rotate(135deg);
      right: 1.25em;
      bottom: -0.5em; }

.mynavi-btn {
  background: #FFFFFF;
  color: #2B2B2B;
  border: solid 1px #FFFFFF;
  background: -webkit-gradient(linear, left top, right top, from(#3dbdfc), to(#77e9c9));
  background: linear-gradient(to right, #3dbdfc, #77e9c9);
  padding-right: 2.5em;
  padding-top: 13px;
  padding-bottom: 13px;
  border-radius: 5px;
  font-weight: bold; }
  .mynavi-btn:hover {
    -webkit-transition: background-color 0.5s ease;
    transition: background-color 0.5s ease; }
  .mynavi-btn:after {
    border-color: #2B2B2B; }
  .mynavi-btn:before {
    background-color: #2B2B2B;
    right: 0.8em; }
  .mynavi-btn:hover, .mynavi-btn:focus {
    background: #FFFFFF;
    color: #FFFFFF;
    border: solid 1px #FFFFFF;
    background: -webkit-gradient(linear, left top, right top, from(#007bb7), to(#02cc93));
    background: linear-gradient(to right, #007bb7, #02cc93); }
    .mynavi-btn:hover:hover, .mynavi-btn:focus:hover {
      -webkit-transition: background-color 0.5s ease;
      transition: background-color 0.5s ease; }
    .mynavi-btn:hover:before, .mynavi-btn:focus:before {
      background-color: #FFFFFF; }
    .mynavi-btn:hover:after, .mynavi-btn:focus:after {
      border-color: #FFFFFF; }
  .mynavi-btn.x-large {
    width: 95%;
    max-width: 416px;
    padding-block: 1.8rem;
    letter-spacing: 1px;
    border-radius: 1rem;
    font-size: 2rem; }

.detail-btn {
  width: 44px;
  height: 44px;
  background: #2B2B2B;
  color: #ffffff;
  border: solid 1px transparent;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg); }
  .detail-btn:hover {
    -webkit-transition: background-color 0.5s ease;
    transition: background-color 0.5s ease; }
  .detail-btn:after {
    width: 0.8em;
    height: 0.8em;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    top: -3px; }
  .detail-btn:before {
    width: 1.5em;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg); }
  .detail-btn:hover, .detail-btn:focus, a:hover .detail-btn, a:focus .detail-btn {
    background: black;
    color: #ffffff;
    border: solid 1px transparent; }
    .detail-btn:hover:hover, .detail-btn:focus:hover, a:hover .detail-btn:hover, a:focus .detail-btn:hover {
      -webkit-transition: background-color 0.5s ease;
      transition: background-color 0.5s ease; }

.btn.disabled,
button[disabled],
.btn[disabled] {
  opacity: 0.4;
  cursor: not-allowed; }

.btn.disabled:hover,
button[disabled]:hover,
.btn[disabled]:hover {
  background: #00A0E9; }

@media screen and (max-width: 767px) {
  .default-btn.entry-btn {
    width: 120px; } }
/* アイコン **********/
*[class*="i-"]:before {
  background-image: url('../images/icons-sf7d24cffac.png');
  background-repeat: no-repeat;
  content: " ";
  display: inline-block;
  margin-right: 5px;
  vertical-align: middle; }

*[class*="i-nav"] {
  position: relative; }

*[class*="i-nav"]:before {
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
  display: block; }

.i-mail-s:before {
  background-position: -260px -525px;
  height: 8px;
  width: 12px; }

.i-access-s:before {
  background-position: 0 -755px;
  height: 11px;
  width: 13px; }

.i-company-s:before {
  background-position: -127px -632px;
  height: 23px;
  width: 26px;
  width: 30px; }

.i-voice-s:before {
  background-position: -861px -41px;
  height: 24px;
  width: 19px;
  width: 30px; }

.i-training-s:before {
  background-position: -702px -205px;
  height: 22px;
  width: 30px;
  width: 30px; }

.i-recruit-s:before {
  background-position: -484px -353px;
  height: 21px;
  width: 33px;
  width: 30px; }

.i-home-s:before {
  background-position: -237px -533px;
  height: 22px;
  width: 23px;
  width: 30px; }

.heading[class*="i-"]:before {
  display: block;
  margin: 0 auto 15px auto; }

@media screen and (max-width: 767px) {
  *[class*="i-"]:before {
    display: none; } }
