@charset "UTF-8";
/*----------------------------------------------------------------------------------------------------------
writing-mode mixin
    Usage:
        $orientation    v (vertical)
                        h (horizontal)
		$direction      rl (right to left)
						lr (left to right)
----------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------------------------------------
writing-mode mixin
    Usage:
        $orientation    v (vertical)
                        h (horizontal)
		$direction      rl (right to left)
						lr (left to right)
----------------------------------------------------------------------------------------------------------*/
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; }

/**
 * !!! ブレークポイント !!!
 */
@media only screen and (max-width: 767px) {
  .pc {
    display: none !important; } }

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

/**
 * !!! browsersyncのアラートを非表示 !!!
 */
#__bs_notify__ {
  display: none !important; }

/**
 * !!! ページCSS基本設定 !!!
 * 基本的にこの箇所は操作しないようにする
 * ----------------ここから----------------
 */
html {
  font-size: 62.5%;
  font-family: "Noto Sans JP", sans-serif;
  background: #000;
  color: #F8F8F8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "palt"; }

* {
  font-size: 14px;
  font-size: 1.4rem;
  box-sizing: border-box; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

a {
  color: inherit;
  text-decoration: none; }

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none; }

textarea {
  resize: vertical; }

input[type='submit'],
input[type='button'],
label,
button,
select {
  cursor: pointer; }

select::-ms-expand {
  display: none; }

.inner {
  max-width: 90.90909091vw;
  padding: 0 2.84090909vw;
  margin: 0 auto; }

[data-trigger] {
  position: relative;
  transform: translate(0, 60px);
  opacity: 0;
  -webkit-transition: -webkit-transform 1s, opacity 1s;
  -moz-transition: -moz-transform 1s, opacity 1s;
  -o-transition: -o-transform 1s, opacity 1s;
  transition: transform 1s, opacity 1s; }
  [data-trigger].visible {
    transform: translate(0, 0px);
    opacity: 1; }

main {
  padding-top: 4.54545455vw; }
  @media only screen and (max-width: 767px) {
    main {
      padding-top: 38px; } }

.footer {
  padding: 4.61647727vw 4.40340909vw 2.13068182vw; }
  @media only screen and (max-width: 767px) {
    .footer {
      padding: 30px 18px 104px;
      display: flex;
      align-items: center;
      justify-content: space-between; } }
  .footer__top {
    display: flex;
    justify-content: space-between; }
    .footer__top .logo {
      display: block;
      width: 18.32386364vw; }
      @media only screen and (max-width: 767px) {
        .footer__top .logo {
          width: 80px; } }
      .footer__top .logo img {
        width: 100%; }
    .footer__top .menu {
      display: flex;
      justify-content: flex-end; }
      .footer__top .menu__list > li {
        margin-bottom: 1.27840909vw; }
        .footer__top .menu__list > li:last-of-type {
          margin-bottom: 0; }
        .footer__top .menu__list > li a {
          display: flex;
          align-items: center;
          position: relative;
          transition: color .3s; }
          .footer__top .menu__list > li a:before {
            content: "";
            width: calc(100% + 0.56818182vw + 0.56818182vw);
            height: calc(100% + 0.56818182vw + 0.56818182vw);
            display: block;
            background: #fff;
            position: absolute;
            top: -0.56818182vw;
            left: -0.56818182vw;
            transition: opacity .3s;
            opacity: 0; }
          @media only screen and (min-width: 768px) {
            .footer__top .menu__list > li a:hover {
              color: #000; }
              .footer__top .menu__list > li a:hover:before {
                opacity: 1; } }
        .footer__top .menu__list > li .en {
          display: flex;
          align-items: center;
          font-size: 1.06534091vw;
          letter-spacing: -0.02130682vw;
          width: 15.98011364vw;
          font-weight: 500;
          font-family: "gotham", "Noto Sans JP", sans-serif;
          position: relative; }
        .footer__top .menu__list > li .jp {
          font-size: 0.92329545vw;
          letter-spacing: -0.02130682vw;
          line-height: 1.23076923;
          position: relative; }
      .footer__top .menu .col {
        display: flex;
        gap: 4.54545455vw;
        margin-left: 4.54545455vw; }
      .footer__top .menu .link dl {
        margin-bottom: 1.56250000vw; }
        .footer__top .menu .link dl:last-of-type {
          margin-bottom: 0; }
        .footer__top .menu .link dl dt {
          font-size: 1.06534091vw;
          letter-spacing: -0.02130682vw;
          font-weight: 500;
          font-family: "gotham", "Noto Sans JP", sans-serif;
          margin-bottom: 1.06534091vw; }
        .footer__top .menu .link dl dd .form-list li {
          margin-bottom: 0.78125000vw; }
          .footer__top .menu .link dl dd .form-list li:last-of-type {
            margin-bottom: 0; }
          .footer__top .menu .link dl dd .form-list li a {
            width: 11.15056818vw;
            height: 2.41477273vw;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px solid #fff;
            font-size: 0.92329545vw;
            letter-spacing: -0.00426136vw;
            transition: color .3s, background-color .3s; }
            @media only screen and (min-width: 768px) {
              .footer__top .menu .link dl dd .form-list li a:hover {
                background: #fff;
                color: #000; } }
        .footer__top .menu .link dl dd .sns-list li {
          margin-top: 0.71022727vw; }
        .footer__top .menu .link dl dd .sns-list a {
          display: flex;
          align-items: center;
          transition: opacity .3s; }
          @media only screen and (min-width: 768px) {
            .footer__top .menu .link dl dd .sns-list a:hover {
              opacity: 0.6; } }
          .footer__top .menu .link dl dd .sns-list a i {
            width: 1.70454545vw;
            height: 1.70454545vw;
            border-radius: 50%;
            background: #18181B;
            border: 1px solid rgba(255, 255, 255, 0.2);
            display: flex;
            align-items: center;
            justify-content: center;
            margin-right: 0.56818182vw;
            padding-left: 0.1vw; }
            .footer__top .menu .link dl dd .sns-list a i svg {
              display: block;
              width: 0.78125vw;
              height: auto; }
            .footer__top .menu .link dl dd .sns-list a i .w8 {
              width: 0.49928977vw; }
            .footer__top .menu .link dl dd .sns-list a i .w10 {
              width: 0.68181818vw; }
          .footer__top .menu .link dl dd .sns-list a span {
            font-size: 0.92329545vw;
            letter-spacing: -0.02130682vw; }
  .footer__bottom {
    margin-top: 5.61079545vw;
    display: flex;
    justify-content: flex-end;
    font-size: 0.99431818vw;
    line-height: 1.3;
    letter-spacing: -0.00497159vw;
    font-family: "gotham", "Noto Sans JP", sans-serif; }
    @media only screen and (max-width: 767px) {
      .footer__bottom {
        font-size: 10px;
        font-size: 1rem;
        letter-spacing: -0.035px;
        line-height: 1.01111111;
        margin: 0; } }

.header {
  width: 100%;
  height: 4.54545455vw;
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 99; }
  @media only screen and (max-width: 767px) {
    .header {
      height: 38px; } }
  .header:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity .3s;
    opacity: 0; }
  .header.black:before {
    opacity: 1; }
  .header__logo {
    width: 8.59375vw;
    display: block;
    margin-left: 1.63352273vw;
    position: relative;
    z-index: +1; }
    @media only screen and (max-width: 767px) {
      .header__logo {
        width: 85px;
        margin-left: 18px; } }
  .header .hamburger {
    width: 4.54545455vw;
    height: 4.54545455vw;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    cursor: pointer;
    position: relative;
    z-index: +1; }
    @media only screen and (max-width: 767px) {
      .header .hamburger {
        width: 38px;
        height: 38px; } }
    .header .hamburger.is-active .hamburger__inner span:nth-of-type(1) {
      transform: rotate(135deg);
      top: 0.56818182vw; }
      @media only screen and (max-width: 767px) {
        .header .hamburger.is-active .hamburger__inner span:nth-of-type(1) {
          top: 5px; } }
    .header .hamburger.is-active .hamburger__inner span:nth-of-type(2) {
      opacity: 0; }
    .header .hamburger.is-active .hamburger__inner span:nth-of-type(3) {
      transform: rotate(-135deg);
      bottom: 0.56818182vw; }
      @media only screen and (max-width: 767px) {
        .header .hamburger.is-active .hamburger__inner span:nth-of-type(3) {
          bottom: 5px; } }
    .header .hamburger__inner {
      width: 2.05965909vw;
      height: 1.27840909vw;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center; }
      @media only screen and (max-width: 767px) {
        .header .hamburger__inner {
          width: 17px;
          height: 11px; } }
      .header .hamburger__inner span {
        width: 2.05965909vw;
        height: 2px;
        display: block;
        background: #000;
        transition: opacity 0.5s cubic-bezier(0.87, 0, 0.13, 1), transform 0.5s cubic-bezier(0.87, 0, 0.13, 1), top 0.5s cubic-bezier(0.87, 0, 0.13, 1), bottom 0.5s cubic-bezier(0.87, 0, 0.13, 1); }
        @media only screen and (max-width: 767px) {
          .header .hamburger__inner span {
            width: 17px;
            height: 1px; } }
        .header .hamburger__inner span:nth-of-type(1) {
          position: absolute;
          top: 0;
          left: 0; }
        .header .hamburger__inner span:nth-of-type(3) {
          position: absolute;
          bottom: 0;
          left: 0; }
  .header .gnav {
    width: 36.57670455vw;
    position: fixed;
    top: 0;
    bottom: 0;
    background: #000;
    backdrop-filter: blur(10px);
    padding: 3.97727273vw;
    display: flex;
    justify-content: center;
    flex-direction: column;
    transition: opacity 0.5s cubic-bezier(0.87, 0, 0.13, 1), right 0.5s cubic-bezier(0.87, 0, 0.13, 1), height 0.5s cubic-bezier(0.87, 0, 0.13, 1), visibility 0.5s cubic-bezier(0.87, 0, 0.13, 1);
    visibility: hidden;
    right: 0;
    height: 0; }
    @media only screen and (max-width: 767px) {
      .header .gnav {
        width: 100%;
        padding: 75px 19px;
        overflow-y: scroll;
        display: block; } }
    .header .gnav.is-active {
      opacity: 1;
      visibility: visible;
      height: 100vh;
      right: 0; }
      .header .gnav.is-active .gnav__list {
        opacity: 1; }
      .header .gnav.is-active .col {
        opacity: 1; }
    .header .gnav__list {
      transition: opacity 0.5s cubic-bezier(0.87, 0, 0.13, 1);
      opacity: 0; }
      .header .gnav__list > li {
        margin-bottom: 1.27840909vw; }
        @media only screen and (max-width: 767px) {
          .header .gnav__list > li {
            margin-bottom: 24px; } }
        .header .gnav__list > li:last-of-type {
          margin-bottom: 0; }
        .header .gnav__list > li a {
          display: flex;
          align-items: center;
          position: relative;
          transition: color .3s; }
          @media only screen and (max-width: 767px) {
            .header .gnav__list > li a {
              display: block; } }
          @media only screen and (min-width: 768px) {
            .header .gnav__list > li a:hover {
              color: #000; }
              .header .gnav__list > li a:hover:before {
                opacity: 1; } }
          .header .gnav__list > li a:before {
            content: "";
            width: calc(100% + 0.56818182vw + 0.56818182vw);
            height: calc(100% + 0.56818182vw + 0.56818182vw);
            display: block;
            background: #fff;
            position: absolute;
            top: -0.56818182vw;
            left: -0.56818182vw;
            transition: opacity .3s;
            opacity: 0; }
        .header .gnav__list > li .en {
          display: flex;
          align-items: center;
          font-size: 1.06534091vw;
          letter-spacing: -0.02130682vw;
          width: 15.98011364vw;
          font-weight: 500;
          font-family: "gotham", "Noto Sans JP", sans-serif;
          position: relative; }
          @media only screen and (max-width: 767px) {
            .header .gnav__list > li .en {
              font-size: 15px;
              font-size: 1.5rem;
              letter-spacing: -0.3px;
              width: 100%;
              margin-bottom: 5px; } }
        .header .gnav__list > li .jp {
          font-size: 0.92329545vw;
          letter-spacing: -0.02130682vw;
          line-height: 1.23076923;
          position: relative; }
          @media only screen and (max-width: 767px) {
            .header .gnav__list > li .jp {
              font-size: 13px;
              font-size: 1.3rem;
              letter-spacing: -0.3px; } }
    .header .gnav .col {
      display: flex;
      gap: 2.84090909vw;
      margin-top: 0.92329545vw;
      transition: opacity 0.5s cubic-bezier(0.87, 0, 0.13, 1);
      opacity: 0; }
      @media only screen and (max-width: 767px) {
        .header .gnav .col {
          display: block;
          margin-top: 56px; } }
    @media only screen and (max-width: 767px) {
      .header .gnav .link {
        display: flex;
        gap: 22px; } }
    @media only screen and (max-width: 767px) {
      .header .gnav .link .sp100 {
        width: 100%;
        margin-top: 56px; } }
    .header .gnav .link dl {
      margin-top: 1.91761364vw; }
      @media only screen and (max-width: 767px) {
        .header .gnav .link dl {
          margin-top: 0;
          width: calc((100% - 22px) / 2); } }
      .header .gnav .link dl dt {
        font-size: 1.06534091vw;
        letter-spacing: -0.02130682vw;
        font-weight: 500;
        font-family: "gotham", "Noto Sans JP", sans-serif;
        margin-bottom: 0.56818182vw; }
        @media only screen and (max-width: 767px) {
          .header .gnav .link dl dt {
            font-size: 15px;
            font-size: 1.5rem;
            letter-spacing: -0.3px;
            margin-bottom: 10px; } }
      .header .gnav .link dl dd .form-list {
        width: 11.20028409vw; }
        @media only screen and (max-width: 767px) {
          .header .gnav .link dl dd .form-list {
            width: 100%; } }
        .header .gnav .link dl dd .form-list li {
          margin-bottom: 0.78125000vw; }
          @media only screen and (max-width: 767px) {
            .header .gnav .link dl dd .form-list li {
              margin-bottom: 11px; } }
          .header .gnav .link dl dd .form-list li:last-of-type {
            margin-bottom: 0; }
          .header .gnav .link dl dd .form-list li a {
            width: 100%;
            height: 2.41477273vw;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px solid #fff;
            font-size: 0.92329545vw;
            letter-spacing: -0.00426136vw;
            padding-bottom: 0.14204545vw;
            transition: color .3s, background-color .3s; }
            @media only screen and (max-width: 767px) {
              .header .gnav .link dl dd .form-list li a {
                height: 34px;
                font-size: 13px;
                font-size: 1.3rem;
                letter-spacing: -0.055px;
                padding-bottom: 1px; } }
            @media only screen and (min-width: 768px) {
              .header .gnav .link dl dd .form-list li a:hover {
                background: #fff;
                color: #000; } }
      @media only screen and (max-width: 767px) {
        .header .gnav .link dl dd .sns-list {
          display: flex;
          flex-wrap: wrap;
          gap: 16px 32px; } }
      .header .gnav .link dl dd .sns-list li {
        margin-top: 0.71022727vw; }
        @media only screen and (max-width: 767px) {
          .header .gnav .link dl dd .sns-list li {
            margin-top: 0;
            width: 145px;
            order: 1; } }
        @media only screen and (max-width: 767px) {
          .header .gnav .link dl dd .sns-list li:nth-of-type(3) {
            order: 3; } }
        @media only screen and (max-width: 767px) {
          .header .gnav .link dl dd .sns-list li:nth-of-type(4) {
            order: 4; } }
        @media only screen and (max-width: 767px) {
          .header .gnav .link dl dd .sns-list li:nth-of-type(5) {
            order: 2; } }
      .header .gnav .link dl dd .sns-list a {
        display: flex;
        align-items: center;
        transition: opacity .3s; }
        @media only screen and (min-width: 768px) {
          .header .gnav .link dl dd .sns-list a:hover {
            opacity: 0.6; } }
        .header .gnav .link dl dd .sns-list a i {
          width: 1.70454545vw;
          height: 1.70454545vw;
          border-radius: 50%;
          background: #18181B;
          border: 1px solid rgba(255, 255, 255, 0.2);
          display: flex;
          align-items: center;
          justify-content: center;
          margin-right: 0.56818182vw; }
          @media only screen and (max-width: 767px) {
            .header .gnav .link dl dd .sns-list a i {
              width: 24px;
              height: 24px;
              margin-right: 8px; } }
        .header .gnav .link dl dd .sns-list a span {
          font-size: 0.92329545vw;
          letter-spacing: -0.02130682vw; }
          @media only screen and (max-width: 767px) {
            .header .gnav .link dl dd .sns-list a span {
              font-size: 13px;
              font-size: 1.3rem;
              letter-spacing: -0.3px; } }

.loading, .loading-leave {
  width: 100vw;
  height: 100vh;
  position: fixed;
  z-index: 1000;
  pointer-events: none;
  display: flex;
  align-items: flex-end; }
  .loading.is-active > div, .loading-leave.is-active > div {
    animation: 0.5s cubic-bezier(0.87, 0, 0.13, 1) 0s 1 normal forwards running slideOut; }
  .loading.is-leave > div, .loading-leave.is-leave > div {
    transform-origin: center top;
    animation: 0.5s cubic-bezier(0.87, 0, 0.13, 1) 0s 1 normal forwards running slideIn; }
  .loading > div, .loading-leave > div {
    width: 26vw;
    height: 100%;
    display: block;
    background: #000;
    transform-origin: center bottom;
    position: absolute;
    top: 0; }
    .loading > div:nth-of-type(1), .loading-leave > div:nth-of-type(1) {
      animation-delay: 0.3s;
      left: 0; }
    .loading > div:nth-of-type(2), .loading-leave > div:nth-of-type(2) {
      animation-delay: 0.2s;
      left: 25vw; }
    .loading > div:nth-of-type(3), .loading-leave > div:nth-of-type(3) {
      animation-delay: 0.1s;
      left: 50vw; }
    .loading > div:nth-of-type(4), .loading-leave > div:nth-of-type(4) {
      animation-delay: 0s;
      left: 75vw; }

@keyframes slideOut {
  0% {
    transform: scaleY(1); }
  100% {
    transform: scaleY(0); } }

@keyframes slideIn {
  0% {
    transform: scaleY(0); }
  100% {
    transform: scaleY(1); } }

.loading-leave > div {
  transform: scaleY(0); }

.c-title01 {
  font-size: 4.82954545vw;
  line-height: 1.33333333;
  font-weight: 600;
  display: block; }
  @media only screen and (max-width: 767px) {
    .c-title01 {
      font-size: 40px;
      font-size: 4rem;
      line-height: 1.325;
      font-weight: 600; } }

.c-title02 {
  font-size: 3.97727273vw;
  line-height: 1.42857143;
  font-weight: 600;
  display: block; }
  @media only screen and (max-width: 767px) {
    .c-title02 {
      font-size: 23px;
      font-size: 2.3rem;
      line-height: 1.47826087;
      font-weight: 600; } }

.c-title03 {
  font-size: 2.84090909vw;
  line-height: 1.6;
  font-weight: 600;
  display: block; }
  @media only screen and (max-width: 767px) {
    .c-title03 {
      font-size: 20px;
      font-size: 2rem;
      line-height: 1.175;
      font-weight: 600; } }

.c-title04 {
  font-size: 2.27272727vw;
  line-height: 1.75;
  font-weight: 600;
  display: block; }
  @media only screen and (max-width: 767px) {
    .c-title04 {
      font-size: 18.5px;
      font-size: 1.85rem;
      line-height: 1.40540541;
      font-weight: 600; } }

.c-title05 {
  font-size: 1.70454545vw;
  line-height: 1.5;
  letter-spacing: -0.07102273vw;
  font-weight: 600;
  display: block; }
  @media only screen and (max-width: 767px) {
    .c-title05 {
      font-size: 13.5px;
      font-size: 1.35rem;
      line-height: 1.13513514;
      font-weight: 600; } }

.c-title06 {
  font-size: 1.13636364vw;
  line-height: 1.75;
  font-weight: 600;
  display: block; }
  @media only screen and (max-width: 767px) {
    .c-title06 {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.75;
      font-weight: 600; } }

.c-title-area {
  background: #fff;
  padding: 1.77556818vw 2.27272727vw;
  display: flex;
  align-items: center;
  justify-content: space-between; }
  @media only screen and (max-width: 767px) {
    .c-title-area {
      padding: 20px 16px; } }
  .c-title-area .c-en02 {
    color: #000; }
  .c-title-area .see-more {
    width: 11.36363636vw;
    height: 4.54545455vw;
    font-size: 1.13636364vw;
    letter-spacing: -0.03267045vw;
    font-weight: 500;
    font-family: "gotham", "Noto Sans JP", sans-serif;
    background: #000;
    color: #F8F8F8;
    border: 1px solid #000;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color .3s, background-color .3s; }
    @media only screen and (max-width: 767px) {
      .c-title-area .see-more {
        display: none; } }
    @media only screen and (min-width: 768px) {
      .c-title-area .see-more:hover {
        background: #FFFFFF;
        color: #000; } }

.c-en01 {
  font-size: 6.81818182vw;
  line-height: 0.95833333;
  letter-spacing: -0.35440341vw;
  font-weight: 500;
  font-family: "gotham", "Noto Sans JP", sans-serif;
  display: block; }
  @media only screen and (max-width: 767px) {
    .c-en01 {
      font-size: 48px;
      font-size: 4.8rem;
      line-height: 1.02083333;
      letter-spacing: -2px; } }

.c-en02 {
  font-size: 5.11363636vw;
  line-height: 0.94444444;
  letter-spacing: -0.14204545vw;
  font-weight: 500;
  font-family: "gotham", "Noto Sans JP", sans-serif;
  display: block; }
  @media only screen and (max-width: 767px) {
    .c-en02 {
      font-size: 31px;
      font-size: 3.1rem;
      letter-spacing: -1px;
      line-height: 0.93548387; } }

.c-en03 {
  font-size: 3.125vw;
  line-height: 0.95454545;
  letter-spacing: -0.10653409vw;
  font-weight: 500;
  font-family: "gotham", "Noto Sans JP", sans-serif;
  display: block; }
  @media only screen and (max-width: 767px) {
    .c-en03 {
      font-size: 26px;
      font-size: 2.6rem;
      letter-spacing: -0.5px;
      line-height: 1.61538462; } }

.c-en04 {
  font-size: 1.70454545vw;
  line-height: 1.08333333;
  letter-spacing: -0.05326705vw;
  font-weight: 500;
  font-family: "gotham", "Noto Sans JP", sans-serif;
  display: block; }
  @media only screen and (max-width: 767px) {
    .c-en04 {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.25;
      letter-spacing: -0.5px; } }

.c-en05 {
  font-size: 1.13636364vw;
  line-height: 1.125;
  letter-spacing: -0.03551136vw;
  font-weight: 500;
  font-family: "gotham", "Noto Sans JP", sans-serif;
  display: block; }

.c-text01 {
  font-size: 1.13636364vw;
  line-height: 1.75;
  letter-spacing: 0.045em; }
  @media only screen and (max-width: 767px) {
    .c-text01 {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.75; } }

.c-text02 {
  font-size: 0.99431818vw;
  line-height: 1.71428571;
  letter-spacing: 0.05em; }
  @media only screen and (max-width: 767px) {
    .c-text02 {
      font-size: 11px;
      font-size: 1.1rem;
      line-height: 1.72727273; } }

.c-text03 {
  font-size: 0.85227273vw;
  line-height: 1.66666667; }
  @media only screen and (max-width: 767px) {
    .c-text03 {
      font-size: 10px;
      font-size: 1rem;
      line-height: 1.66666667; } }

.c-more {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: max-content;
  margin-left: auto; }
  .c-more.is-active svg {
    transform: rotate(180deg); }
  .c-more span {
    color: #fff; }
  .c-more svg {
    width: 1.13636364vw;
    height: auto;
    display: block;
    margin-left: 0.63920455vw;
    transition: transform .3s; }
    @media only screen and (max-width: 767px) {
      .c-more svg {
        width: 12px;
        margin-left: 6px;
        position: relative;
        top: 2px; } }

.c-slider {
  position: relative; }
  .c-slider .swiper-pagination {
    width: max-content;
    left: auto;
    right: 0.85227273vw;
    bottom: 0.99431818vw;
    display: flex;
    align-items: center;
    justify-content: flex-end; }
    @media only screen and (max-width: 767px) {
      .c-slider .swiper-pagination {
        right: 8px;
        bottom: 7px; } }
    .c-slider .swiper-pagination .swiper-pagination-bullet {
      width: 0.71022727vw;
      height: 0.71022727vw;
      border-radius: 50%;
      background: #fff;
      opacity: 0.5;
      margin: 0 0.28409091vw; }
      @media only screen and (max-width: 767px) {
        .c-slider .swiper-pagination .swiper-pagination-bullet {
          width: 5px;
          height: 5px;
          margin: 0 2px; } }
    .c-slider .swiper-pagination .swiper-pagination-bullet-active {
      opacity: 1; }

.c-our-brand-slider {
  position: relative; }
  .c-our-brand-slider .swiper .swiper-slide {
    aspect-ratio: 100/100;
    position: relative; }
    @media only screen and (min-width: 768px) {
      .c-our-brand-slider .swiper .swiper-slide:hover .image:after {
        opacity: 1; } }
    @media only screen and (max-width: 767px) {
      .c-our-brand-slider .swiper .swiper-slide {
        width: 50%; } }
  @media only screen and (max-width: 767px) {
    .c-our-brand-slider .swiper .swiper-wrapper {
      display: flex;
      flex-wrap: wrap; } }
  .c-our-brand-slider .image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    .c-our-brand-slider .image:after {
      content: "";
      width: 100%;
      height: 100%;
      display: block;
      background: rgba(0, 0, 0, 0.2);
      position: absolute;
      top: 0;
      left: 0;
      transition: opacity .3s;
      opacity: 0; }
    .c-our-brand-slider .image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center; }
  .c-our-brand-slider .text {
    width: calc(100% - 2.69886364vw);
    position: absolute;
    left: 1.34943182vw;
    bottom: 1.06534091vw; }
    @media only screen and (max-width: 767px) {
      .c-our-brand-slider .text {
        width: calc(100% - 20px);
        left: 10px;
        bottom: 8px; } }
    .c-our-brand-slider .text .logo {
      width: 13.87073864vw;
      height: 5.24147728vw;
      margin-bottom: 0.56818182vw;
      display: flex;
      align-items: flex-end;
      justify-content: flex-start; }
      @media only screen and (max-width: 767px) {
        .c-our-brand-slider .text .logo {
          width: 108.5px;
          height: 41px;
          margin-bottom: 4px; } }
      .c-our-brand-slider .text .logo img {
        max-width: 100%;
        max-height: 100%; }
    .c-our-brand-slider .text .c-en04 .jp {
      font-size: 1.27840909vw;
      letter-spacing: 0;
      line-height: 1.55555556;
      font-weight: 600; }
      @media only screen and (max-width: 767px) {
        .c-our-brand-slider .text .c-en04 .jp {
          font-size: 14px;
          font-size: 1.4rem; } }

.c-member-interview-slider {
  position: relative; }
  .c-member-interview-slider .swiper .swiper-wrapper {
    flex-wrap: nowrap; }
  .c-member-interview-slider .swiper .swiper-slide {
    height: auto; }
    .c-member-interview-slider .swiper .swiper-slide:nth-of-type(3n) {
      border-right: 1px solid #68686E; }
      @media only screen and (max-width: 767px) {
        .c-member-interview-slider .swiper .swiper-slide:nth-of-type(3n) {
          border-right: none; } }
  .c-member-interview-slider .swiper-button-prev, .c-member-interview-slider .swiper-button-next {
    top: 16.12215909vw;
    margin-top: 0; }

.c-member-interview-list {
  display: flex;
  flex-wrap: wrap;
  background: #fff;
  color: #000; }
  @media only screen and (max-width: 767px) {
    .c-member-interview-list {
      display: block; } }
  .c-member-interview-list li {
    width: 33.33333%;
    border-right: 1px solid #68686E;
    border-bottom: 1px solid #68686E;
    background: #fff;
    transition: color .3s, background-color .3s; }
    @media only screen and (min-width: 768px) {
      .c-member-interview-list li:hover {
        background: #000;
        color: #fff; }
        .c-member-interview-list li:hover .image:after {
          opacity: 1; }
        .c-member-interview-list li:hover .text .more svg path {
          fill: #fff; } }
    .c-member-interview-list li:nth-of-type(3n) {
      border-right: none; }
    @media only screen and (max-width: 767px) {
      .c-member-interview-list li {
        width: 100%;
        border-right: none; } }
    .c-member-interview-list li .image {
      aspect-ratio: 470/290;
      position: relative; }
      .c-member-interview-list li .image:after {
        content: "";
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        background: rgba(0, 0, 0, 0.2);
        transition: opacity .3s;
        opacity: 0; }
      .c-member-interview-list li .image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
        position: absolute;
        top: 0;
        left: 0; }
    .c-member-interview-list li a {
      display: flex;
      flex-direction: column;
      height: 100%; }
    .c-member-interview-list li .text {
      padding: 1.70454545vw 1.70454545vw 1.70454545vw 1.5625vw;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      flex-grow: 1; }
      @media only screen and (max-width: 767px) {
        .c-member-interview-list li .text {
          padding: 19px 19px 19px 17px; } }
      .c-member-interview-list li .text .name-logo {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 1.13636364vw; }
        @media only screen and (max-width: 767px) {
          .c-member-interview-list li .text .name-logo {
            margin-bottom: 8px; } }
        .c-member-interview-list li .text .name-logo .name span {
          margin-left: 1.63352273vw; }
          @media only screen and (max-width: 767px) {
            .c-member-interview-list li .text .name-logo .name span {
              margin-left: 18px; } }
          .c-member-interview-list li .text .name-logo .name span:first-of-type {
            margin-left: 0; }
        .c-member-interview-list li .text .name-logo .logo {
          width: 6.20241477vw;
          height: 2.34375vw;
          display: flex;
          align-items: center;
          justify-content: flex-end; }
          @media only screen and (max-width: 767px) {
            .c-member-interview-list li .text .name-logo .logo {
              width: 70px;
              height: 26px; } }
          .c-member-interview-list li .text .name-logo .logo img {
            max-width: 100%;
            max-height: 100%; }
      .c-member-interview-list li .text .c-title05 {
        margin-bottom: 0.85227273vw;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-line-clamp: 4; }
        @media only screen and (max-width: 767px) {
          .c-member-interview-list li .text .c-title05 {
            font-size: 18.5px;
            font-size: 1.85rem;
            letter-spacing: 0;
            line-height: 1.40540541;
            margin-bottom: 10px; } }
      .c-member-interview-list li .text .more {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        margin-top: 1.13636364vw; }
        @media only screen and (max-width: 767px) {
          .c-member-interview-list li .text .more {
            margin-top: 12px; } }
        .c-member-interview-list li .text .more svg {
          width: 1.70454545vw;
          height: 1.70454545vw;
          margin-left: 0.78125vw; }
          @media only screen and (max-width: 767px) {
            .c-member-interview-list li .text .more svg {
              width: 18px;
              height: 18px;
              margin-left: 5px; } }
          .c-member-interview-list li .text .more svg path {
            transition: fill .3s; }

.c-job-opening-list {
  display: flex;
  flex-wrap: wrap;
  background: #F8F8F8;
  color: #000; }
  @media only screen and (max-width: 767px) {
    .c-job-opening-list {
      display: block; } }
  .c-job-opening-list li {
    width: 50%;
    border-right: 1px solid #68686E;
    border-bottom: 1px solid #68686E; }
    .c-job-opening-list li:nth-of-type(2n) {
      border-right: none; }
    @media only screen and (max-width: 767px) {
      .c-job-opening-list li {
        width: 100%;
        border-right: none; } }
    .c-job-opening-list li a {
      position: relative;
      padding: 1.5625vw 1.70454545vw 1.5625vw 1.5625vw;
      display: flex;
      justify-content: space-between;
      transition: color .3s, background-color .3s;
      background: #F8F8F8;
      height: 100%; }
      @media only screen and (min-width: 768px) {
        .c-job-opening-list li a:hover {
          background: #000;
          color: #fff; }
          .c-job-opening-list li a:hover .image-wrap .image:after {
            opacity: 1; }
          .c-job-opening-list li a:hover .text .cate span {
            border-color: #fff; }
          .c-job-opening-list li a:hover .text svg path {
            fill: #000; } }
      @media only screen and (max-width: 767px) {
        .c-job-opening-list li a {
          padding: 18px;
          align-items: flex-start; } }
    .c-job-opening-list li .image-wrap {
      position: relative;
      width: 32.21884498%;
      aspect-ratio: 100/100; }
      @media only screen and (max-width: 767px) {
        .c-job-opening-list li .image-wrap {
          width: 31.95266272%; } }
      .c-job-opening-list li .image-wrap .image {
        position: relative;
        aspect-ratio: 100/100; }
        .c-job-opening-list li .image-wrap .image:after {
          content: "";
          width: 100%;
          height: 100%;
          display: block;
          background: rgba(0, 0, 0, 0.2);
          position: absolute;
          top: 0;
          left: 0;
          opacity: 0;
          transition: opacity .3s; }
        .c-job-opening-list li .image-wrap .image img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center center; }
      .c-job-opening-list li .image-wrap i {
        position: absolute;
        left: 0.56818182vw;
        bottom: 0.56818182vw;
        width: 10.14914773vw;
        height: 3.83522727vw;
        display: flex;
        align-items: flex-end;
        justify-content: flex-start; }
        @media only screen and (max-width: 767px) {
          .c-job-opening-list li .image-wrap i {
            width: 71px;
            height: 27px;
            left: 4px;
            bottom: 4px; } }
        .c-job-opening-list li .image-wrap i img {
          max-width: 100%;
          max-height: 100%; }
    .c-job-opening-list li .text {
      width: 63.2218845%;
      display: flex;
      flex-direction: column;
      justify-content: space-between; }
      @media only screen and (max-width: 767px) {
        .c-job-opening-list li .text {
          width: 62.5739645%; } }
      .c-job-opening-list li .text .c-title05 {
        margin-bottom: 0.63920455vw;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-line-clamp: 1; }
        @media only screen and (max-width: 767px) {
          .c-job-opening-list li .text .c-title05 {
            margin-bottom: 4px; } }
      .c-job-opening-list li .text .c-text01 {
        margin-bottom: 1.77556818vw;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-line-clamp: 4; }
        @media only screen and (max-width: 767px) {
          .c-job-opening-list li .text .c-text01 {
            margin-bottom: 12px;
            -webkit-line-clamp: 6; } }
      .c-job-opening-list li .text .cate {
        display: flex;
        align-items: center; }
        .c-job-opening-list li .text .cate strong {
          font-size: 1.70454545vw;
          letter-spacing: -0.05326705vw;
          font-weight: 500;
          font-family: "gotham", "Noto Sans JP", sans-serif; }
          @media only screen and (max-width: 767px) {
            .c-job-opening-list li .text .cate strong {
              font-size: 16px;
              font-size: 1.6rem;
              letter-spacing: -0.5px; } }
        .c-job-opening-list li .text .cate span {
          font-size: 0.99431818vw;
          line-height: 1.21428571;
          display: inline-block;
          border: 1px solid #000;
          padding: 0.14204545vw 0.63920455vw;
          margin-left: 0.99431818vw;
          transition: border-color .3s; }
          @media only screen and (max-width: 767px) {
            .c-job-opening-list li .text .cate span {
              font-size: 11px;
              font-size: 1.1rem;
              padding: 1px 4px;
              margin-left: 7px; } }
      .c-job-opening-list li .text svg {
        width: 1.70454545vw;
        height: 1.70454545vw;
        position: absolute;
        right: 1.70454545vw;
        bottom: 1.77556818vw; }
        @media only screen and (max-width: 767px) {
          .c-job-opening-list li .text svg {
            width: 18px;
            height: 18px;
            right: 18px;
            bottom: 18px; } }
        .c-job-opening-list li .text svg path {
          transition: fill .3s; }

.c-our-brand-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5%; }
  @media only screen and (max-width: 767px) {
    .c-our-brand-list {
      display: block; } }
  .c-our-brand-list li {
    width: calc((100% - 10%) / 3);
    margin-top: 5%; }
    @media only screen and (min-width: 768px) {
      .c-our-brand-list li:hover .image-wrap .image:after {
        opacity: 1; } }
    @media only screen and (max-width: 767px) {
      .c-our-brand-list li {
        width: 100%;
        margin-top: 38px; } }
    @media only screen and (max-width: 767px) {
      .c-our-brand-list li:nth-of-type(1) {
        margin-top: 0; } }
    @media only screen and (min-width: 768px) {
      .c-our-brand-list li:nth-of-type(-n + 3) {
        margin-top: 0; } }
    .c-our-brand-list li .image-wrap {
      position: relative; }
      .c-our-brand-list li .image-wrap .image {
        aspect-ratio: 100/100;
        position: relative; }
        .c-our-brand-list li .image-wrap .image:after {
          content: "";
          width: 100%;
          height: 100%;
          display: block;
          background: rgba(0, 0, 0, 0.2);
          position: absolute;
          top: 0;
          left: 0;
          transition: opacity .3s;
          opacity: 0; }
        .c-our-brand-list li .image-wrap .image img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center center; }
      .c-our-brand-list li .image-wrap .logo {
        position: absolute;
        width: 9.73366477vw;
        height: 3.67755682vw;
        left: 0.85227273vw;
        bottom: 0.85227273vw;
        display: flex;
        align-items: flex-end;
        justify-content: flex-start; }
        @media only screen and (max-width: 767px) {
          .c-our-brand-list li .image-wrap .logo {
            width: 108.5px;
            height: 41px;
            left: 13px;
            bottom: 13px; } }
        .c-our-brand-list li .image-wrap .logo img {
          max-width: 100%;
          max-height: 100%; }
    .c-our-brand-list li .text {
      margin-top: 1.07670455vw; }
      @media only screen and (max-width: 767px) {
        .c-our-brand-list li .text {
          margin-top: 13px; } }
      .c-our-brand-list li .text .c-en04 .jp {
        font-size: 1.27840909vw;
        line-height: 1.55555556;
        font-weight: 600;
        letter-spacing: 0; }
        @media only screen and (max-width: 767px) {
          .c-our-brand-list li .text .c-en04 .jp {
            font-size: 14px;
            font-size: 1.4rem; } }

.c-cate-list {
  display: flex;
  flex-wrap: wrap; }
  .c-cate-list li {
    margin-right: 0.56818182vw;
    margin-bottom: 0.85227273vw; }
    .c-cate-list li.current a {
      background: #000;
      color: #fff; }
    .c-cate-list li a {
      display: inline-block;
      padding: 0 1.13636364vw;
      border: 1px solid #000;
      border-radius: 9.09090909vw; }

.c-our-brand-slider:hover .swiper-button-prev,
.c-our-brand-slider:hover .swiper-button-next {
  opacity: 1; }

.c-member-interview-slider:hover .swiper-button-prev,
.c-member-interview-slider:hover .swiper-button-next {
  opacity: 1; }

.swiper-button-prev,
.swiper-button-next {
  width: 3.33806818vw;
  height: 3.33806818vw;
  transition: opacity .3s;
  opacity: 0;
  z-index: 10; }
  .swiper-button-prev:after,
  .swiper-button-next:after {
    content: none; }
  .swiper-button-prev:hover,
  .swiper-button-next:hover {
    opacity: 1; }

.swiper-button-prev {
  left: 1.84659091vw; }

.swiper-button-next {
  right: 1.84659091vw; }

.hover-area-next {
  position: absolute;
  top: 0;
  right: 0;
  width: 7.03125vw;
  height: 100%;
  z-index: 5; }

.hover-area-next:hover ~ .swiper-button-next {
  opacity: 1; }

.hover-area-prev {
  position: absolute;
  top: 0;
  left: 0;
  width: 7.03125vw;
  height: 100%;
  z-index: 5; }

.hover-area-prev:hover ~ .swiper-button-prev {
  opacity: 1; }

.c-cate-select {
  position: relative;
  display: inline-block; }
  .c-cate-select__btn {
    padding: 4px 38px 4px 20px;
    border-radius: 46px;
    background: #FFF;
    border: 1px solid #68686E;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.75;
    display: inline-block;
    position: relative;
    cursor: pointer;
    transition: color .3s, background-color .3s;
    min-width: 215px; }
    @media only screen and (max-width: 767px) {
      .c-cate-select__btn {
        padding: 8px 15px 8px 16px;
        font-size: 12px;
        font-size: 1.2rem;
        min-width: 169px;
        border-radius: 36px; } }
    .c-cate-select__btn.is-active:after {
      transform: translate(0%, -50%) rotate(180deg); }
    .c-cate-select__btn:after {
      content: "";
      width: 12px;
      height: 6px;
      display: inline-block;
      background: url(../images/common/arrow_bottom.svg) center center/cover no-repeat;
      position: absolute;
      top: 50%;
      right: 17px;
      transform: translate(0%, -50%);
      transition: background-color .3s, transform .3s; }
      @media only screen and (max-width: 767px) {
        .c-cate-select__btn:after {
          right: 15px;
          width: 13px;
          height: 6px;
          top: 52%; } }
  .c-cate-select__list {
    min-width: 215px;
    padding: 16px 20px;
    background: #fff;
    border-radius: 5px;
    border: 1px solid #68686E;
    position: absolute;
    right: 0;
    top: 64px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s, visibility .3s;
    z-index: +1; }
    @media only screen and (max-width: 767px) {
      .c-cate-select__list {
        min-width: 169px;
        padding: 12px 16px;
        border-radius: 4px;
        top: 50px; } }
    .c-cate-select__list.is-active {
      opacity: 1;
      visibility: visible; }
    .c-cate-select__list li {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.75;
      display: flex;
      align-items: center;
      margin-bottom: 15px;
      position: relative; }
      @media only screen and (max-width: 767px) {
        .c-cate-select__list li {
          font-size: 12px;
          font-size: 1.2rem;
          margin-bottom: 12px; } }
      .c-cate-select__list li:last-of-type {
        margin-bottom: 0; }
      .c-cate-select__list li input {
        width: 1px;
        height: 1px;
        position: absolute;
        top: 0;
        left: 0; }
      .c-cate-select__list li label {
        display: flex;
        align-items: center; }
      .c-cate-select__list li i {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        margin-right: 12px;
        display: inline-block;
        overflow: hidden; }

.no-result {
  text-align: center;
  padding: 100px 0; }

.c-see-more {
  background: #000;
  color: #fff;
  padding: 12px 18px; }
  .c-see-more a {
    display: flex;
    align-items: center;
    justify-content: flex-end; }
    .c-see-more a span {
      font-size: 12px;
      font-size: 1.2rem;
      letter-spacing: -0.23px;
      line-height: 1.33333333;
      font-weight: 500;
      font-family: "gotham", "Noto Sans JP", sans-serif; }
    .c-see-more a svg {
      width: 8px;
      display: block;
      margin-left: 8px; }

.c-cv-area {
  display: flex; }
  @media only screen and (max-width: 767px) {
    .c-cv-area {
      display: block; } }
  .c-cv-area__box {
    width: 50%;
    aspect-ratio: 704/576;
    position: relative;
    padding: 4.61647727vw;
    display: flex;
    align-items: center; }
    @media only screen and (max-width: 767px) {
      .c-cv-area__box {
        width: 100%;
        aspect-ratio: 750/541;
        padding: 33px; } }
    @media only screen and (min-width: 768px) {
      .c-cv-area__box:hover .c-cv-area__box__image:after {
        opacity: 1; }
      .c-cv-area__box:hover .c-cv-area__box__text .btn {
        background: #000;
        color: #fff; } }
    .c-cv-area__box__image {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0; }
      .c-cv-area__box__image:after {
        content: "";
        width: 100%;
        height: 100%;
        display: block;
        background: rgba(0, 0, 0, 0.2);
        position: absolute;
        top: 0;
        left: 0;
        transition: opacity .5s;
        opacity: 0; }
      .c-cv-area__box__image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center; }
    .c-cv-area__box__text {
      position: relative; }
      .c-cv-area__box__text .c-en03 {
        margin-bottom: 1.70454545vw; }
        @media only screen and (max-width: 767px) {
          .c-cv-area__box__text .c-en03 {
            margin-bottom: 5px; } }
      .c-cv-area__box__text .btn {
        margin-top: 2.69886364vw;
        width: 13.63636364vw;
        height: 4.54545455vw;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #fff;
        color: #000;
        font-size: 1.13636364vw;
        line-height: 1.25;
        letter-spacing: -0.00568182vw;
        transition: color .5s, background-color .5s; }
        @media only screen and (max-width: 767px) {
          .c-cv-area__box__text .btn {
            width: 128px;
            height: 32px;
            font-size: 12px;
            font-size: 1.2rem;
            margin-top: 19px;
            letter-spacing: 0; } }

.c-head {
  padding: 8.09659091vw 4.54545455vw 2.84090909vw;
  border-bottom: 1px solid #68686E; }
  @media only screen and (max-width: 767px) {
    .c-head {
      padding: 38px 18px 24px; } }
  .c-head__en {
    margin-bottom: 1.13636364vw; }
    @media only screen and (max-width: 767px) {
      .c-head__en {
        margin-bottom: 8px; } }

.c-next {
  border-top: 1px solid #68686E;
  background: #F8F8F8;
  color: #000;
  transition: color .3s, background-color .3s; }
  @media only screen and (min-width: 768px) {
    .c-next:hover {
      background: #000;
      color: #FFFFFF; }
      .c-next:hover .c-next__cont .text .c-text02 svg path {
        fill: #fff; } }
  .c-next a {
    display: flex;
    justify-content: space-between;
    padding: 4.54545455vw 15.90909091vw 4.54545455vw 4.54545455vw; }
    @media only screen and (max-width: 767px) {
      .c-next a {
        padding: 27px 18px; } }
    .c-next a .left {
      width: 11.36363636vw; }
      @media only screen and (max-width: 767px) {
        .c-next a .left {
          display: none; } }
  .c-next__cont {
    width: calc(100% - 11.36363636vw);
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      .c-next__cont {
        width: 100%; } }
    .c-next__cont .image {
      width: 40%;
      aspect-ratio: 384/224; }
      @media only screen and (max-width: 767px) {
        .c-next__cont .image {
          width: 48.66863905%; } }
      .c-next__cont .image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center; }
      .c-next__cont .image.top-trim img {
        object-position: top center; }
    .c-next__cont .text {
      width: 56.66666667%;
      padding-top: 0.56818182vw; }
      @media only screen and (max-width: 767px) {
        .c-next__cont .text {
          width: 100%;
          padding-top: 0; } }
      @media only screen and (max-width: 767px) {
        .c-next__cont .text .col {
          display: flex;
          justify-content: space-between;
          margin-bottom: 12px; } }
      @media only screen and (max-width: 767px) {
        .c-next__cont .text .col .right {
          width: 48.66863905%; } }
      @media only screen and (max-width: 767px) {
        .c-next__cont .text .c-en05 {
          font-size: 16px;
          font-size: 1.6rem;
          letter-spacing: -0.5px;
          line-height: 1.25;
          display: block;
          margin-bottom: 7px; } }
      .c-next__cont .text .c-title03 {
        margin-bottom: 0.07102273vw; }
        @media only screen and (max-width: 767px) {
          .c-next__cont .text .c-title03 {
            margin-bottom: 0; } }
      .c-next__cont .text .c-text02 {
        margin-top: 1.13636364vw;
        display: flex;
        align-items: center;
        justify-content: flex-end; }
        @media only screen and (max-width: 767px) {
          .c-next__cont .text .c-text02 {
            margin-top: 16px; } }
        .c-next__cont .text .c-text02 svg {
          width: 1.70454545vw;
          height: 1.70454545vw;
          margin-left: 0.85227273vw;
          display: block; }
          @media only screen and (max-width: 767px) {
            .c-next__cont .text .c-text02 svg {
              width: 18px;
              height: 18px;
              margin-left: 6px;
              position: relative;
              top: 2px; } }
          .c-next__cont .text .c-text02 svg path {
            transition: fill .3s; }

.c-image-area {
  display: flex;
  flex-wrap: wrap; }
  .c-image-area__image {
    width: 25%;
    aspect-ratio: 352/288; }
    @media only screen and (max-width: 767px) {
      .c-image-area__image {
        width: 50%; } }
    .c-image-area__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center; }

.c-cont {
  padding: 0 4.54545455vw 4.04829545vw; }
  .c-cont__box {
    background: #F8F8F8;
    color: #000;
    padding: 4.54545455vw; }
  .c-cont__col {
    display: flex;
    justify-content: space-between; }

/* Z-INDEX */
.formError {
  z-index: 990; }

.formError .formErrorContent {
  z-index: 991; }

.formError .formErrorArrow {
  z-index: 996; }

.ui-dialog .formError {
  z-index: 5000; }

.ui-dialog .formError .formErrorContent {
  z-index: 5001; }

.ui-dialog .formError .formErrorArrow {
  z-index: 5006; }

.inputContainer {
  position: relative;
  float: left; }

.formError {
  position: absolute;
  top: 300px;
  left: 300px;
  display: block;
  cursor: pointer;
  text-align: left; }

.formError.inline {
  position: relative;
  top: 0;
  left: 0;
  display: inline-block; }

.ajaxSubmit {
  padding: 20px;
  background: #55ea55;
  border: 1px solid #999;
  display: none; }

.formError .formErrorContent {
  width: 100%;
  background: #ee0101;
  position: relative;
  color: #fff;
  min-width: 120px;
  font-size: 11px;
  border: 2px solid #ddd;
  box-shadow: 0 0 6px #000;
  -moz-box-shadow: 0 0 6px #000;
  -webkit-box-shadow: 0 0 6px #000;
  -o-box-shadow: 0 0 6px #000;
  padding: 4px 10px 4px 10px;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  -o-border-radius: 6px; }

.formError.inline .formErrorContent {
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  -o-box-shadow: none;
  border: none;
  border-radius: 0;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  -o-border-radius: 0; }

.greenPopup .formErrorContent {
  background: #33be40; }

.blackPopup .formErrorContent {
  background: #393939;
  color: #FFF; }

.formError .formErrorArrow {
  width: 15px;
  margin: -2px 0 0 13px;
  position: relative; }

body[dir='rtl'] .formError .formErrorArrow,
body.rtl .formError .formErrorArrow {
  margin: -2px 13px 0 0; }

.formError .formErrorArrowBottom {
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  -o-box-shadow: none;
  margin: 0px 0 0 12px;
  top: 2px; }

.formError .formErrorArrow div {
  border-left: 2px solid #ddd;
  border-right: 2px solid #ddd;
  box-shadow: 0 2px 3px #444;
  -moz-box-shadow: 0 2px 3px #444;
  -webkit-box-shadow: 0 2px 3px #444;
  -o-box-shadow: 0 2px 3px #444;
  font-size: 0px;
  height: 1px;
  background: #ee0101;
  margin: 0 auto;
  line-height: 0;
  font-size: 0;
  display: block; }

.formError .formErrorArrowBottom div {
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  -o-box-shadow: none; }

.greenPopup .formErrorArrow div {
  background: #33be40; }

.blackPopup .formErrorArrow div {
  background: #393939;
  color: #FFF; }

.formError .formErrorArrow .line10 {
  width: 13px;
  border: none; }

.formError .formErrorArrow .line9 {
  width: 11px;
  border: none; }

.formError .formErrorArrow .line8 {
  width: 11px; }

.formError .formErrorArrow .line7 {
  width: 9px; }

.formError .formErrorArrow .line6 {
  width: 7px; }

.formError .formErrorArrow .line5 {
  width: 5px; }

.formError .formErrorArrow .line4 {
  width: 3px; }

.formError .formErrorArrow .line3 {
  width: 1px;
  border-left: 2px solid #ddd;
  border-right: 2px solid #ddd;
  border-bottom: 0 solid #ddd; }

.formError .formErrorArrow .line2 {
  width: 3px;
  border: none;
  background: #ddd; }

.formError .formErrorArrow .line1 {
  width: 1px;
  border: none;
  background: #ddd; }

body.brand_detail main {
  padding-top: 0; }

body.brand_detail .main-visual {
  width: 100vw;
  height: 100vh;
  position: relative; }
  @media only screen and (max-width: 767px) {
    body.brand_detail .main-visual {
      height: 100vw; } }
  body.brand_detail .main-visual__image {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
    body.brand_detail .main-visual__image img, body.brand_detail .main-visual__image video {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center; }
  body.brand_detail .main-visual__text {
    position: absolute;
    left: 4.54545455vw;
    bottom: 3.83522727vw; }
    @media only screen and (max-width: 767px) {
      body.brand_detail .main-visual__text {
        left: 18px;
        bottom: 38px; } }
    body.brand_detail .main-visual__text .c-en04 {
      margin-bottom: 1.13636364vw; }
      @media only screen and (max-width: 767px) {
        body.brand_detail .main-visual__text .c-en04 {
          margin-bottom: 8px; } }
  body.brand_detail .main-visual__logo {
    width: 15.41193182vw;
    height: 5.82386364vw;
    position: absolute;
    right: 4.54545455vw;
    bottom: 4.54545455vw;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    z-index: +2; }
    @media only screen and (max-width: 767px) {
      body.brand_detail .main-visual__logo {
        width: 108.5px;
        height: 41px;
        right: 18px;
        bottom: 38px; } }
    body.brand_detail .main-visual__logo img {
      max-width: 100%;
      max-height: 100%; }

body.brand_detail .detail {
  padding: 5.68181818vw 4.54545455vw 9.65909091vw;
  display: flex;
  justify-content: space-between;
  align-items: flex-start; }
  @media only screen and (max-width: 767px) {
    body.brand_detail .detail {
      padding: 38px 18px;
      display: block; } }
  body.brand_detail .detail .text {
    width: 55%; }
    @media only screen and (max-width: 767px) {
      body.brand_detail .detail .text {
        width: 100%; } }
    body.brand_detail .detail .text .c-en01 {
      margin-bottom: 2.84090909vw; }
      @media only screen and (max-width: 767px) {
        body.brand_detail .detail .text .c-en01 {
          margin-bottom: 14px; } }
      body.brand_detail .detail .text .c-en01 .jp {
        font-size: 6.25vw;
        letter-spacing: 0;
        line-height: 1.09090909;
        font-weight: 600; }
        @media only screen and (max-width: 767px) {
          body.brand_detail .detail .text .c-en01 .jp {
            font-size: 40px;
            font-size: 4rem; } }
    body.brand_detail .detail .text .c-text01 a {
      color: #7AB2F9;
      text-decoration: underline; }
  body.brand_detail .detail .info {
    width: 30%;
    border-left: 1px solid #68686E;
    padding: 0 4.54545455vw; }
    @media only screen and (max-width: 767px) {
      body.brand_detail .detail .info {
        width: 100%;
        border-left: none;
        border-top: 1px solid #68686E;
        padding: 0;
        margin-top: 32px;
        padding-top: 32px; } }
    body.brand_detail .detail .info dl {
      display: flex;
      align-items: flex-start;
      margin-bottom: 2.84090909vw; }
      @media only screen and (max-width: 767px) {
        body.brand_detail .detail .info dl {
          margin-bottom: 12px; } }
      body.brand_detail .detail .info dl a {
        display: flex;
        align-items: center; }
      body.brand_detail .detail .info dl:last-of-type {
        margin-bottom: 0; }
      body.brand_detail .detail .info dl.row {
        display: block; }
        body.brand_detail .detail .info dl.row dt {
          margin-bottom: 1.13636364vw; }
          @media only screen and (max-width: 767px) {
            body.brand_detail .detail .info dl.row dt {
              margin-bottom: 8px; } }
      body.brand_detail .detail .info dl dt {
        margin-right: 1.91761364vw;
        flex-shrink: 0; }
        @media only screen and (max-width: 767px) {
          body.brand_detail .detail .info dl dt {
            margin-right: 13px; } }
      body.brand_detail .detail .info dl dd {
        margin-top: 0.18vw; }
        body.brand_detail .detail .info dl dd svg {
          display: block; }
          @media only screen and (max-width: 767px) {
            body.brand_detail .detail .info dl dd svg {
              width: 18px; } }
        body.brand_detail .detail .info dl dd ul li {
          padding-left: 1em;
          position: relative; }
          body.brand_detail .detail .info dl dd ul li:before {
            content: "・";
            position: absolute;
            top: 0;
            left: 0; }

@media only screen and (max-width: 767px) {
  body.brand_detail .member-interview {
    border-bottom: none; } }

body.brand_detail .c-more-area {
  padding: 25px 18px;
  background: #000; }

body.brand_detail .job-opening {
  background: #fff; }
  body.brand_detail .job-opening .no-result {
    font-size: 1.27840909vw;
    color: #000;
    background: #F8F8F8; }
    @media only screen and (max-width: 767px) {
      body.brand_detail .job-opening .no-result {
        font-size: 16px;
        font-size: 1.6rem; } }

body.brand_detail .faq {
  background: #fff;
  color: #000; }
  body.brand_detail .faq__cont {
    padding: 2.34375vw 4.54545455vw 8.09659091vw;
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      body.brand_detail .faq__cont {
        padding: 0px 18px 38px; } }
  body.brand_detail .faq__list {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start; }
    @media only screen and (max-width: 767px) {
      body.brand_detail .faq__list {
        display: block;
        margin-top: 10px; } }
    body.brand_detail .faq__list dl {
      width: 47.5%;
      border-bottom: 1px solid #68686E;
      margin-bottom: 1.13636364vw;
      padding-bottom: 0.49715909vw; }
      @media only screen and (max-width: 767px) {
        body.brand_detail .faq__list dl {
          width: 100%;
          margin-bottom: 12px;
          padding-bottom: 0; } }
      body.brand_detail .faq__list dl dt {
        padding-bottom: 0.63920455vw;
        position: relative;
        display: flex;
        cursor: pointer; }
        @media only screen and (max-width: 767px) {
          body.brand_detail .faq__list dl dt {
            padding-bottom: 12px; } }
        body.brand_detail .faq__list dl dt.active i:after {
          opacity: 0; }
        body.brand_detail .faq__list dl dt span {
          margin-right: 1.13636364vw; }
          @media only screen and (max-width: 767px) {
            body.brand_detail .faq__list dl dt span {
              margin-right: 8px; } }
        body.brand_detail .faq__list dl dt i {
          width: 1.34943182vw;
          height: 1.34943182vw;
          position: absolute;
          display: block;
          top: 0.71022727vw;
          right: 0; }
          @media only screen and (max-width: 767px) {
            body.brand_detail .faq__list dl dt i {
              width: 10px;
              height: 10px;
              top: 5px; } }
          body.brand_detail .faq__list dl dt i:before {
            content: "";
            width: 100%;
            height: 1px;
            display: block;
            position: absolute;
            background: #68686E;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%); }
          body.brand_detail .faq__list dl dt i:after {
            content: "";
            width: 1px;
            height: 100%;
            display: block;
            position: absolute;
            background: #68686E;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            transition: opacity .3s; }
      body.brand_detail .faq__list dl dd {
        padding: 0 2.27272727vw 0.63920455vw 0;
        display: none; }
        @media only screen and (max-width: 767px) {
          body.brand_detail .faq__list dl dd {
            padding: 0 16px 8px 0; } }

body.business .cont {
  padding: 5.68181818vw 4.54545455vw 10.15625vw; }
  @media only screen and (max-width: 767px) {
    body.business .cont {
      padding: 38px 18px 75px; } }
  body.business .cont .c-en02 {
    margin-bottom: 3.125vw; }
    @media only screen and (max-width: 767px) {
      body.business .cont .c-en02 {
        margin-bottom: 36px; } }

body.business .business-list {
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (max-width: 767px) {
    body.business .business-list {
      display: block; } }
  body.business .business-list li {
    width: 50%; }
    @media only screen and (max-width: 767px) {
      body.business .business-list li {
        width: 100%;
        margin-bottom: 56px; } }
    @media only screen and (max-width: 767px) {
      body.business .business-list li:last-of-type {
        margin-bottom: 0; } }
    body.business .business-list li:nth-of-type(odd) {
      border-right: 1px solid #68686E; }
      @media only screen and (max-width: 767px) {
        body.business .business-list li:nth-of-type(odd) {
          border: none; } }
    body.business .business-list li .text {
      padding: 2.27272727vw 2.27272727vw 2.84090909vw; }
      @media only screen and (max-width: 767px) {
        body.business .business-list li .text {
          padding: 0;
          margin-top: 16px; } }
      body.business .business-list li .text .c-title04 {
        margin-bottom: 0.56818182vw; }
        @media only screen and (max-width: 767px) {
          body.business .business-list li .text .c-title04 {
            margin-bottom: 8px; } }
      body.business .business-list li .text .link {
        display: flex;
        align-items: center;
        justify-content: flex-end; }
        @media only screen and (max-width: 767px) {
          body.business .business-list li .text .link {
            flex-direction: column;
            align-items: flex-end; } }
        body.business .business-list li .text .link .c-text02 {
          margin-left: 1.27840909vw; }
          @media only screen and (max-width: 767px) {
            body.business .business-list li .text .link .c-text02:last-of-type {
              margin-top: 10px; } }
      body.business .business-list li .text .c-text02 {
        margin-top: 1.13636364vw;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        width: max-content;
        margin-left: auto; }
        @media only screen and (max-width: 767px) {
          body.business .business-list li .text .c-text02 {
            margin-top: 12px; } }
        body.business .business-list li .text .c-text02 svg {
          width: 1.70454545vw;
          display: block;
          margin-left: 0.85227273vw; }
          @media only screen and (max-width: 767px) {
            body.business .business-list li .text .c-text02 svg {
              width: 18px;
              margin-left: 5px; } }

body.business .c-slider .swiper-slide {
  aspect-ratio: 640/427; }
  body.business .c-slider .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center; }

body.business .company-profile {
  padding: 5.68181818vw 4.54545455vw 4.40340909vw;
  background: #fff;
  color: #000; }
  @media only screen and (max-width: 767px) {
    body.business .company-profile {
      padding: 44px 18px 48px; } }
  body.business .company-profile .c-en02 {
    margin-bottom: 3.26704545vw; }
    @media only screen and (max-width: 767px) {
      body.business .company-profile .c-en02 {
        margin-bottom: 20px; } }
  body.business .company-profile__table table {
    width: 100%; }
    body.business .company-profile__table table tbody tr {
      border-bottom: 1px solid #68686E; }
      body.business .company-profile__table table tbody tr:last-of-type {
        border: none; }
      body.business .company-profile__table table tbody tr th {
        width: 12.42897727vw;
        padding: 1.27840909vw 0;
        vertical-align: top; }
        @media only screen and (max-width: 767px) {
          body.business .company-profile__table table tbody tr th {
            width: 96px;
            padding: 9px 0; } }
      body.business .company-profile__table table tbody tr td {
        width: calc(100% - 12.42897727vw);
        padding: 1.27840909vw 0; }
        @media only screen and (max-width: 767px) {
          body.business .company-profile__table table tbody tr td {
            width: calc(100% - 96px);
            padding: 9px 0; } }
        body.business .company-profile__table table tbody tr td ul li {
          position: relative;
          padding-left: 1em; }
          body.business .company-profile__table table tbody tr td ul li:before {
            content: "・";
            position: absolute;
            top: 0;
            left: 0; }

body.business .history {
  background: #fff;
  color: #000; }
  body.business .history__head {
    padding: 5.68181818vw 4.54545455vw 4.54545455vw; }
    @media only screen and (max-width: 767px) {
      body.business .history__head {
        padding: 42px 18px 28px; } }
  body.business .history__cont {
    padding: 5.82386364vw 0px 7.10227273vw 0px;
    background: #F8F8F8; }
    @media only screen and (max-width: 767px) {
      body.business .history__cont {
        padding: 38px 0; } }
    body.business .history__cont__wrap {
      padding-bottom: 5.68181818vw; }
      @media only screen and (max-width: 767px) {
        body.business .history__cont__wrap {
          padding-bottom: 40px; } }
  body.business .history .simplebar-track.simplebar-horizontal {
    height: 1.13636364vw;
    background: #fff;
    border: 0.28409091vw solid #F8F8F8;
    border-radius: 0.56818182vw;
    margin: 0 auto;
    width: calc(100% - 9.09090909vw);
    overflow: visible; }
    @media only screen and (max-width: 767px) {
      body.business .history .simplebar-track.simplebar-horizontal {
        width: calc(100% - 36px);
        height: 8px;
        border: 2px solid #F8F8F8; } }
  body.business .history .simplebar-scrollbar {
    height: 1.13636vw !important;
    background: #D9D9D9;
    border-radius: 1.13636364vw;
    top: -0.28409vw !important;
    cursor: pointer; }
    @media only screen and (max-width: 767px) {
      body.business .history .simplebar-scrollbar {
        height: 8px !important;
        top: -2px !important;
        background: #B3B3B6 !important; } }
    body.business .history .simplebar-scrollbar:before {
      background: #D9D9D9 !important; }
      @media only screen and (max-width: 767px) {
        body.business .history .simplebar-scrollbar:before {
          background: #B3B3B6 !important; } }
  body.business .history__list {
    display: flex;
    width: 301.34943182vw;
    padding-left: 4.54545455vw;
    padding-right: 4.54545455vw; }
    @media only screen and (max-width: 767px) {
      body.business .history__list {
        width: 3153px;
        padding-left: 18px;
        padding-right: 18px; } }
    body.business .history__list li {
      width: 30.32670455vw;
      padding: 1.13636364vw;
      margin-right: 2.27272727vw;
      position: relative; }
      @media only screen and (max-width: 767px) {
        body.business .history__list li {
          width: 325px;
          padding: 12px;
          margin-right: 24px; } }
      body.business .history__list li:last-of-type {
        margin-right: 0; }
        body.business .history__list li:last-of-type:after {
          content: none; }
      body.business .history__list li:after {
        content: "";
        width: 1px;
        height: 100%;
        display: block;
        background: #68686E;
        position: absolute;
        top: 0;
        right: -1.13636364vw; }
        @media only screen and (max-width: 767px) {
          body.business .history__list li:after {
            right: -12px; } }
      body.business .history__list li .text {
        margin-top: 1.34943182vw; }
        @media only screen and (max-width: 767px) {
          body.business .history__list li .text {
            margin-top: 14px; } }
        body.business .history__list li .text .c-title06 {
          margin-bottom: 0.63920455vw; }
          @media only screen and (max-width: 767px) {
            body.business .history__list li .text .c-title06 {
              margin-bottom: 6px; } }

body.contact .c-head {
  border-bottom: none; }

body.contact .c-cont__box .iframe iframe {
  width: 100%;
  height: 2000px; }
  @media only screen and (max-width: 767px) {
    body.contact .c-cont__box .iframe iframe {
      height: 2700px; } }

body.culture .cont {
  padding: 9.09090909vw 4.54545455vw; }
  @media only screen and (max-width: 767px) {
    body.culture .cont {
      padding: 38px 18px; } }
  body.culture .cont__head {
    margin-bottom: 9.09090909vw; }
    @media only screen and (max-width: 767px) {
      body.culture .cont__head {
        margin-bottom: 38px; } }
    body.culture .cont__head .c-title01 {
      margin-bottom: 2.27272727vw; }
      @media only screen and (max-width: 767px) {
        body.culture .cont__head .c-title01 {
          margin-bottom: 16px; } }
    body.culture .cont__head .c-title05 {
      max-width: 54.54545455vw;
      font-size: 1.42045455vw;
      line-height: 1.8;
      letter-spacing: 0; }
      @media only screen and (max-width: 767px) {
        body.culture .cont__head .c-title05 {
          max-width: 100%;
          font-size: 13px;
          font-size: 1.3rem;
          line-height: 1.55555556;
          letter-spacing: 0; } }
    body.culture .cont__head ul {
      margin-top: 2.27272727vw; }
      @media only screen and (max-width: 767px) {
        body.culture .cont__head ul {
          margin-top: 16px; } }
      body.culture .cont__head ul li {
        padding-left: 1.2em;
        position: relative; }
        body.culture .cont__head ul li:before {
          content: "・";
          position: absolute;
          top: 0;
          left: 0.25em; }
  body.culture .cont__box {
    background: #fff;
    color: #000;
    padding: 4.75852273vw 4.54545455vw 6.81818182vw;
    margin-bottom: 4.54545455vw; }
    @media only screen and (max-width: 767px) {
      body.culture .cont__box {
        padding: 20px 16px 38px; } }
    body.culture .cont__box:last-of-type {
      margin-bottom: 0; }
    body.culture .cont__box__text .c-title02 {
      margin-bottom: 1.06534091vw; }
      @media only screen and (max-width: 767px) {
        body.culture .cont__box__text .c-title02 {
          margin-bottom: 12px; } }
    body.culture .cont__box__text .c-text01 {
      max-width: 40.83806818vw; }
      @media only screen and (max-width: 767px) {
        body.culture .cont__box__text .c-text01 {
          max-width: 100%; } }
    body.culture .cont__box .guideline {
      margin-top: 3.19602273vw; }
      @media only screen and (max-width: 767px) {
        body.culture .cont__box .guideline {
          margin-top: 12px; } }
      body.culture .cont__box .guideline li {
        height: 6.81818182vw;
        padding: 1.5625vw 2.84090909vw;
        color: #07124B;
        display: flex;
        align-items: center; }
        @media only screen and (max-width: 767px) {
          body.culture .cont__box .guideline li {
            height: auto;
            min-height: 79px;
            padding: 10px 21px 10px 12px; } }
        body.culture .cont__box .guideline li:nth-of-type(odd) {
          background: #578BFE; }
        body.culture .cont__box .guideline li:nth-of-type(even) {
          background: #E3F2FD; }
        body.culture .cont__box .guideline li span {
          font-size: 2.27272727vw;
          letter-spacing: -0.05326705vw;
          font-weight: 500;
          font-family: "gotham", "Noto Sans JP", sans-serif;
          display: block;
          width: 2.69886364vw;
          text-align: center;
          margin-right: 1.91761364vw;
          flex-shrink: 0; }
          @media only screen and (max-width: 767px) {
            body.culture .cont__box .guideline li span {
              font-size: 16px;
              font-size: 1.6rem;
              letter-spacing: -0.5px;
              line-height: 1.25;
              width: 34px;
              margin-right: 0;
              text-align: left; } }
        @media only screen and (max-width: 767px) {
          body.culture .cont__box .guideline li .c-title04 {
            font-size: 13.5px;
            font-size: 1.35rem;
            letter-spacing: 0;
            line-height: 1.55555556; } }
        @media only screen and (max-width: 767px) {
          body.culture .cont__box .guideline li .c-title05 {
            font-size: 13.5px;
            font-size: 1.35rem;
            letter-spacing: 0;
            line-height: 1.55555556; } }
    body.culture .cont__box .system-list {
      display: flex;
      flex-wrap: wrap;
      gap: 5.55555556%;
      margin-top: 4.11931818vw;
      margin-bottom: 9.30397727vw; }
      @media only screen and (max-width: 767px) {
        body.culture .cont__box .system-list {
          display: block;
          margin-top: 38px;
          margin-bottom: 38px; } }
      body.culture .cont__box .system-list li {
        width: 47.22222222%;
        margin-top: 5.81597222%; }
        @media only screen and (max-width: 767px) {
          body.culture .cont__box .system-list li {
            width: 100%;
            margin-top: 29px; } }
        @media only screen and (max-width: 767px) {
          body.culture .cont__box .system-list li:nth-of-type(1) {
            margin-top: 0; } }
        @media only screen and (min-width: 768px) {
          body.culture .cont__box .system-list li:nth-of-type(-n + 2) {
            margin-top: 0; } }
        body.culture .cont__box .system-list li .image {
          aspect-ratio: 544/320; }
          body.culture .cont__box .system-list li .image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center center; }
        body.culture .cont__box .system-list li .text {
          margin-top: 0.56818182vw; }
          @media only screen and (max-width: 767px) {
            body.culture .cont__box .system-list li .text {
              margin-top: 5px; } }
          body.culture .cont__box .system-list li .text .c-title04 {
            margin-bottom: 0.35511364vw; }
            @media only screen and (max-width: 767px) {
              body.culture .cont__box .system-list li .text .c-title04 {
                margin-bottom: 3px; } }
    body.culture .cont__box .other-list {
      margin-top: 2.84090909vw;
      display: flex;
      flex-wrap: wrap;
      gap: 5.55555556%; }
      @media only screen and (max-width: 767px) {
        body.culture .cont__box .other-list {
          margin-top: 16px;
          display: block; } }
      body.culture .cont__box .other-list li {
        width: 47.22222222%;
        margin-top: 2.77777778%;
        display: flex;
        align-items: center;
        background: #E3F2FD; }
        @media only screen and (max-width: 767px) {
          body.culture .cont__box .other-list li {
            width: 100%;
            margin-top: 8px; } }
        @media only screen and (max-width: 767px) {
          body.culture .cont__box .other-list li:nth-of-type(1) {
            margin-top: 0; } }
        @media only screen and (min-width: 768px) {
          body.culture .cont__box .other-list li:nth-of-type(-n + 2) {
            margin-top: 0; } }
        @media only screen and (max-width: 767px) {
          body.culture .cont__box .other-list li i {
            width: 32px;
            display: block; } }
        body.culture .cont__box .other-list li > div {
          padding: 0.99431818vw 1.5625vw; }
          @media only screen and (max-width: 767px) {
            body.culture .cont__box .other-list li > div {
              padding: 5px 11px;
              color: #07124B; } }
    body.culture .cont__box .number-list {
      display: flex;
      flex-wrap: wrap;
      gap: 5.55555556%;
      margin-top: 3.19602273vw; }
      @media only screen and (max-width: 767px) {
        body.culture .cont__box .number-list {
          display: block;
          margin-top: 12px; } }
      body.culture .cont__box .number-list li {
        width: 47.22222222%;
        margin-top: 5.55555556%; }
        @media only screen and (max-width: 767px) {
          body.culture .cont__box .number-list li {
            width: 100%;
            margin-top: 12px; } }
        @media only screen and (max-width: 767px) {
          body.culture .cont__box .number-list li:nth-of-type(1) {
            margin-top: 0; } }
        @media only screen and (min-width: 768px) {
          body.culture .cont__box .number-list li:nth-of-type(-n + 2) {
            margin-top: 0; } }
        body.culture .cont__box .number-list li img {
          width: 100%; }

body.people .member-interview {
  padding-bottom: 3.55113636vw; }
  @media only screen and (max-width: 767px) {
    body.people .member-interview {
      padding-bottom: 25px; } }
  body.people .member-interview__head {
    padding: 5.68181818vw 4.54545455vw 4.54545455vw; }
    @media only screen and (max-width: 767px) {
      body.people .member-interview__head {
        padding: 38px 18px; } }
    body.people .member-interview__head .c-en02 {
      margin-bottom: 1.70454545vw; }
      @media only screen and (max-width: 767px) {
        body.people .member-interview__head .c-en02 {
          margin-bottom: 14px; } }
    body.people .member-interview__head .c-text01 {
      max-width: 45.45454545vw; }
      @media only screen and (max-width: 767px) {
        body.people .member-interview__head .c-text01 {
          max-width: 100%; } }
  body.people .member-interview .c-more {
    margin-top: 3.55113636vw;
    margin-right: 4.54545455vw; }
    @media only screen and (max-width: 767px) {
      body.people .member-interview .c-more {
        margin-top: 25px;
        margin-right: 20px; } }

body.people .work-style {
  background: #fff;
  color: #000;
  padding: 5.68181818vw 4.54545455vw 9.09090909vw 4.40340909vw; }
  @media only screen and (max-width: 767px) {
    body.people .work-style {
      padding: 38px 18px; } }
  body.people .work-style__head {
    margin-bottom: 4.54545455vw; }
    @media only screen and (max-width: 767px) {
      body.people .work-style__head {
        margin-bottom: 38px; } }
    body.people .work-style__head .c-en02 {
      margin-bottom: 1.70454545vw; }
      @media only screen and (max-width: 767px) {
        body.people .work-style__head .c-en02 {
          margin-bottom: 14px; } }
    body.people .work-style__head .c-text01 {
      max-width: 45.45454545vw; }
      @media only screen and (max-width: 767px) {
        body.people .work-style__head .c-text01 {
          max-width: 100%; } }
  body.people .work-style .flow {
    margin-bottom: 13.63636364vw; }
    @media only screen and (max-width: 767px) {
      body.people .work-style .flow {
        margin-bottom: 57px; } }
    body.people .work-style .flow:last-of-type {
      margin-bottom: 0; }
    body.people .work-style .flow__head {
      margin-bottom: 4.54545455vw;
      display: flex;
      justify-content: space-between; }
      @media only screen and (max-width: 767px) {
        body.people .work-style .flow__head {
          margin-bottom: 38px;
          flex-direction: column; } }
      body.people .work-style .flow__head .image {
        width: 50%; }
        @media only screen and (max-width: 767px) {
          body.people .work-style .flow__head .image {
            width: 100%; } }
      body.people .work-style .flow__head .text {
        width: 45%;
        padding-top: 0.56818182vw; }
        @media only screen and (max-width: 767px) {
          body.people .work-style .flow__head .text {
            width: 100%;
            padding-top: 20px; } }
        body.people .work-style .flow__head .text .c-title03 {
          margin-bottom: 4.54545455vw; }
          @media only screen and (max-width: 767px) {
            body.people .work-style .flow__head .text .c-title03 {
              margin-bottom: 15px; } }
        body.people .work-style .flow__head .text .c-title06 {
          margin-bottom: 1.13636364vw; }
          @media only screen and (max-width: 767px) {
            body.people .work-style .flow__head .text .c-title06 {
              margin-bottom: 0px; } }
        body.people .work-style .flow__head .text .c-en03 {
          margin-bottom: 1.13636364vw; }
          @media only screen and (max-width: 767px) {
            body.people .work-style .flow__head .text .c-en03 {
              margin-bottom: 3px; } }
    body.people .work-style .flow__schedule {
      padding: 4.40340909vw 4.54545455vw 3.97727273vw 4.75852273vw;
      background: #F8F8F8;
      display: flex;
      justify-content: space-between; }
      @media only screen and (max-width: 767px) {
        body.people .work-style .flow__schedule {
          padding: 38px 16px; } }
      body.people .work-style .flow__schedule .schedule {
        width: 44.30929626%; }
        @media only screen and (max-width: 767px) {
          body.people .work-style .flow__schedule .schedule {
            width: 100%; } }
        body.people .work-style .flow__schedule .schedule dl {
          margin-bottom: 3.97727273vw;
          display: flex;
          justify-content: space-between;
          position: relative; }
          @media only screen and (max-width: 767px) {
            body.people .work-style .flow__schedule .schedule dl {
              margin-bottom: 28px; } }
          @media only screen and (max-width: 767px) {
            body.people .work-style .flow__schedule .schedule dl:last-of-type {
              margin-bottom: 0; } }
          body.people .work-style .flow__schedule .schedule dl:last-of-type:after {
            content: none; }
          body.people .work-style .flow__schedule .schedule dl:after {
            content: "";
            width: 2px;
            height: calc(100% + 3.97727273vw);
            display: block;
            background: #000;
            position: absolute;
            top: 1.20738636vw;
            left: 6.88920455vw; }
            @media only screen and (max-width: 767px) {
              body.people .work-style .flow__schedule .schedule dl:after {
                width: 1px;
                height: calc(100% + 28px);
                top: 3px;
                left: 67px; } }
          body.people .work-style .flow__schedule .schedule dl dt {
            width: 5.11363636vw;
            text-align: right;
            margin-top: 0.35511364vw;
            position: relative; }
            @media only screen and (max-width: 767px) {
              body.people .work-style .flow__schedule .schedule dl dt {
                width: 51px; } }
            body.people .work-style .flow__schedule .schedule dl dt:after {
              content: "";
              width: 1.42045455vw;
              height: 1.42045455vw;
              display: block;
              background: #000;
              border-radius: 50%;
              position: absolute;
              right: -2.55681818vw;
              top: 0.21306818vw; }
              @media only screen and (max-width: 767px) {
                body.people .work-style .flow__schedule .schedule dl dt:after {
                  width: 11px;
                  height: 11px;
                  top: 2px;
                  right: -22px; } }
          body.people .work-style .flow__schedule .schedule dl dd {
            width: calc(100% - 9.09090909vw); }
            @media only screen and (max-width: 767px) {
              body.people .work-style .flow__schedule .schedule dl dd {
                width: calc(100% - 84px); } }
            body.people .work-style .flow__schedule .schedule dl dd .c-title05 {
              margin-bottom: 0.42613636vw; }
              @media only screen and (max-width: 767px) {
                body.people .work-style .flow__schedule .schedule dl dd .c-title05 {
                  margin-bottom: 3px; } }
            @media only screen and (max-width: 767px) {
              body.people .work-style .flow__schedule .schedule dl dd .image {
                margin-top: 28px; } }
      body.people .work-style .flow__schedule .images {
        width: 44.48305821%; }
        @media only screen and (max-width: 767px) {
          body.people .work-style .flow__schedule .images {
            width: 100%; } }
        body.people .work-style .flow__schedule .images .image {
          margin-bottom: 5.68181818vw; }
          body.people .work-style .flow__schedule .images .image:last-of-type {
            margin-bottom: 0; }

body.philosophy .cont {
  padding: 9.09090909vw 4.54545455vw 11.36363636vw; }
  @media only screen and (max-width: 767px) {
    body.philosophy .cont {
      padding: 75px 18px 75px; } }
  body.philosophy .cont .c-title01 {
    margin-bottom: 11.36363636vw; }
    @media only screen and (max-width: 767px) {
      body.philosophy .cont .c-title01 {
        margin-bottom: 76px; } }
  body.philosophy .cont .text-movie {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 6.25vw; }
    @media only screen and (max-width: 767px) {
      body.philosophy .cont .text-movie {
        display: block;
        margin-bottom: 75px; } }
    body.philosophy .cont .text-movie:last-of-type {
      margin-bottom: 0; }
    body.philosophy .cont .text-movie .text {
      width: 55%;
      padding-top: 2.27272727vw; }
      @media only screen and (max-width: 767px) {
        body.philosophy .cont .text-movie .text {
          width: 100%;
          padding-top: 0; } }
      body.philosophy .cont .text-movie .text .c-en03 {
        margin-bottom: 2.34375vw; }
        @media only screen and (max-width: 767px) {
          body.philosophy .cont .text-movie .text .c-en03 {
            margin-bottom: 11px; } }
      body.philosophy .cont .text-movie .text .c-title02 {
        margin-bottom: 2.34375vw; }
        @media only screen and (max-width: 767px) {
          body.philosophy .cont .text-movie .text .c-title02 {
            margin-bottom: 17px; } }
      @media only screen and (max-width: 767px) {
        body.philosophy .cont .text-movie .text .c-title03 {
          margin-top: 28px;
          margin-bottom: 10px; } }
      body.philosophy .cont .text-movie .text p {
        font-size: 1.13636364vw;
        line-height: 2.25;
        font-weight: 600;
        margin-bottom: 2.34375vw; }
        @media only screen and (max-width: 767px) {
          body.philosophy .cont .text-movie .text p {
            font-size: 12px;
            font-size: 1.2rem;
            line-height: 2.375; } }
        @media only screen and (max-width: 767px) {
          body.philosophy .cont .text-movie .text p:last-of-type {
            margin-bottom: 0; } }
    body.philosophy .cont .text-movie .movie {
      width: 40%;
      aspect-ratio: 512/768; }
      @media only screen and (max-width: 767px) {
        body.philosophy .cont .text-movie .movie {
          margin-top: 38px;
          width: 100%; } }
      body.philosophy .cont .text-movie .movie video {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center; }

body.philosophy .top-message {
  background: #fff;
  color: #000;
  padding: 9.23295455vw 4.54545455vw 7.67045455vw 4.33238636vw; }
  @media only screen and (max-width: 767px) {
    body.philosophy .top-message {
      padding: 38px 18px 75px; } }
  body.philosophy .top-message .head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 4.54545455vw; }
    @media only screen and (max-width: 767px) {
      body.philosophy .top-message .head {
        display: block;
        margin-bottom: 25px; } }
    @media only screen and (max-width: 767px) {
      body.philosophy .top-message .head .c-en02 {
        margin-bottom: 28px; } }
  body.philosophy .top-message__col {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 8.52272727vw; }
    @media only screen and (max-width: 767px) {
      body.philosophy .top-message__col {
        display: block;
        margin-bottom: 75px; } }
    body.philosophy .top-message__col:last-of-type {
      margin-bottom: 0; }
    body.philosophy .top-message__col .image {
      width: 50%; }
      @media only screen and (max-width: 767px) {
        body.philosophy .top-message__col .image {
          width: 100%; } }
    body.philosophy .top-message__col .text {
      width: 45%; }
      @media only screen and (max-width: 767px) {
        body.philosophy .top-message__col .text {
          width: 100%;
          margin-top: 32px; } }
      body.philosophy .top-message__col .text .c-title05 {
        margin-bottom: 2.27272727vw; }
        @media only screen and (max-width: 767px) {
          body.philosophy .top-message__col .text .c-title05 {
            margin-bottom: 16px;
            font-size: 18px;
            font-size: 1.8rem;
            line-height: 1.40540541;
            letter-spacing: 0; } }

body.roadmap .cont {
  padding: 9.09090909vw 4.54545455vw; }
  @media only screen and (max-width: 767px) {
    body.roadmap .cont {
      padding: 38px 18px; } }
  body.roadmap .cont__head {
    margin-bottom: 9.09090909vw; }
    @media only screen and (max-width: 767px) {
      body.roadmap .cont__head {
        margin-bottom: 36px; } }
    body.roadmap .cont__head .c-title01 {
      margin-bottom: 2.27272727vw; }
      @media only screen and (max-width: 767px) {
        body.roadmap .cont__head .c-title01 {
          margin-bottom: 16px; } }
    body.roadmap .cont__head .c-title05 {
      max-width: 54.54545455vw;
      font-size: 1.42045455vw;
      line-height: 1.8;
      letter-spacing: 0; }
      @media only screen and (max-width: 767px) {
        body.roadmap .cont__head .c-title05 {
          max-width: 100%;
          font-size: 13px;
          font-size: 1.3rem;
          line-height: 1.55555556;
          letter-spacing: 0; } }
  body.roadmap .cont__box {
    background: #fff;
    color: #000;
    padding: 4.75852273vw 4.54545455vw 6.81818182vw;
    margin-bottom: 4.54545455vw; }
    @media only screen and (max-width: 767px) {
      body.roadmap .cont__box {
        padding: 20px 16px 38px; } }
    body.roadmap .cont__box:last-of-type {
      margin-bottom: 0; }
    body.roadmap .cont__box img {
      width: 100%; }
    body.roadmap .cont__box__text .c-title02 {
      margin-bottom: 1.06534091vw; }
      @media only screen and (max-width: 767px) {
        body.roadmap .cont__box__text .c-title02 {
          margin-bottom: 12px; } }
    body.roadmap .cont__box__text .c-text01 {
      max-width: 41.33522727vw; }
      @media only screen and (max-width: 767px) {
        body.roadmap .cont__box__text .c-text01 {
          max-width: 100%; } }
    body.roadmap .cont__box__text .w406 {
      max-width: 28.83522727vw; }
      @media only screen and (max-width: 767px) {
        body.roadmap .cont__box__text .w406 {
          max-width: 100%; } }
    body.roadmap .cont__box .c-title03 {
      margin-bottom: 1.70454545vw; }
      @media only screen and (max-width: 767px) {
        body.roadmap .cont__box .c-title03 {
          line-height: 1.47826087; } }
    body.roadmap .cont__box .article-01-1 {
      margin-top: -19.53125vw;
      margin-bottom: 6.03693182vw; }
      @media only screen and (max-width: 767px) {
        body.roadmap .cont__box .article-01-1 {
          margin-top: 12px;
          margin-bottom: 48px; } }
    body.roadmap .cont__box .article-01-2 {
      margin-bottom: 1.84659091vw; }
      @media only screen and (max-width: 767px) {
        body.roadmap .cont__box .article-01-2 {
          margin-top: 20px;
          margin-bottom: 16px; } }
    body.roadmap .cont__box .article-02-1 {
      margin-top: 0.07102273vw; }
      @media only screen and (max-width: 767px) {
        body.roadmap .cont__box .article-02-1 {
          margin-top: 12px; } }
    body.roadmap .cont__box .article-03-1 {
      margin-top: 4.90056818vw;
      margin-left: auto;
      margin-right: auto;
      max-width: 75.56818182vw; }
      @media only screen and (max-width: 767px) {
        body.roadmap .cont__box .article-03-1 {
          margin-top: 28px;
          max-width: 100%; } }
      body.roadmap .cont__box .article-03-1 img {
        width: 100%; }

body.role_detail .c-head {
  border: none; }

@media only screen and (max-width: 767px) {
  body.role_detail .c-cont__col {
    display: block; } }

body.role_detail .c-cont__col .left {
  width: 33.33333333%; }
  @media only screen and (max-width: 767px) {
    body.role_detail .c-cont__col .left {
      width: 100%; } }
  body.role_detail .c-cont__col .left .image-wrap {
    position: relative;
    margin-bottom: 3.40909091vw; }
    @media only screen and (max-width: 767px) {
      body.role_detail .c-cont__col .left .image-wrap {
        margin-bottom: 20px; } }
    body.role_detail .c-cont__col .left .image-wrap .logo {
      width: 15.41193182vw;
      height: 5.82386364vw;
      position: absolute;
      left: 1.34943182vw;
      bottom: 1.34943182vw;
      display: flex;
      align-items: flex-end;
      justify-content: flex-start; }
      @media only screen and (max-width: 767px) {
        body.role_detail .c-cont__col .left .image-wrap .logo {
          width: 108.5px;
          height: 41px;
          left: 15px;
          bottom: 15px; } }
      body.role_detail .c-cont__col .left .image-wrap .logo img {
        max-width: 100%;
        max-height: 100%; }

@media only screen and (max-width: 767px) {
  body.role_detail .c-cont__col .point {
    margin-top: 32px; } }

body.role_detail .c-cont__col .point dl {
  margin-bottom: 2.84090909vw; }
  @media only screen and (max-width: 767px) {
    body.role_detail .c-cont__col .point dl {
      margin-bottom: 20px; } }
  body.role_detail .c-cont__col .point dl:last-of-type {
    margin-bottom: 0; }
  body.role_detail .c-cont__col .point dl dt {
    margin-bottom: 0.56818182vw; }
    @media only screen and (max-width: 767px) {
      body.role_detail .c-cont__col .point dl dt {
        margin-bottom: 4px; } }
  body.role_detail .c-cont__col .point dl dd a {
    color: #0B63D1;
    text-decoration: underline; }
  body.role_detail .c-cont__col .point dl dd ul li {
    padding-left: 1em;
    position: relative; }
    body.role_detail .c-cont__col .point dl dd ul li:before {
      content: "・";
      position: absolute;
      top: 0;
      left: 0; }
  body.role_detail .c-cont__col .point dl dd a {
    text-decoration: underline; }

body.role_detail .c-cont__col .right {
  width: 61.11111111%; }
  @media only screen and (max-width: 767px) {
    body.role_detail .c-cont__col .right {
      width: 100%; } }
  body.role_detail .c-cont__col .right .head {
    margin-bottom: 2.84090909vw;
    padding-top: 1.13636364vw; }
    @media only screen and (max-width: 767px) {
      body.role_detail .c-cont__col .right .head {
        margin-bottom: 20px;
        padding-top: 0; } }
    body.role_detail .c-cont__col .right .head .brand-cate {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 1.13636364vw; }
      @media only screen and (max-width: 767px) {
        body.role_detail .c-cont__col .right .head .brand-cate {
          margin-bottom: 8px; } }
      body.role_detail .c-cont__col .right .head .brand-cate .brand {
        font-size: 1.70454545vw;
        letter-spacing: -0.05326705vw;
        font-weight: 500;
        font-family: "gotham", "Noto Sans JP", sans-serif; }
        @media only screen and (max-width: 767px) {
          body.role_detail .c-cont__col .right .head .brand-cate .brand {
            font-size: 16px;
            font-size: 1.6rem;
            letter-spacing: -0.5px;
            line-height: 1.25; } }
      body.role_detail .c-cont__col .right .head .brand-cate .cate {
        display: inline-block;
        font-size: 0.99431818vw;
        padding: 0.14204545vw 0.71022727vw;
        line-height: 1.21428571;
        border: 1px solid #000; }
        @media only screen and (max-width: 767px) {
          body.role_detail .c-cont__col .right .head .brand-cate .cate {
            font-size: 11px;
            font-size: 1.1rem;
            padding: 1px 5px; } }
    body.role_detail .c-cont__col .right .head .c-title04 {
      margin-bottom: 0.63920455vw; }
      @media only screen and (max-width: 767px) {
        body.role_detail .c-cont__col .right .head .c-title04 {
          margin-bottom: 4px; } }
  body.role_detail .c-cont__col .right .recruitment dl {
    padding: 1.13636364vw 0;
    border-bottom: 1px solid #B7B7B7; }
    @media only screen and (max-width: 767px) {
      body.role_detail .c-cont__col .right .recruitment dl {
        padding: 8px 0; } }
    body.role_detail .c-cont__col .right .recruitment dl:first-of-type {
      border-top: 1px solid #B7B7B7; }
    body.role_detail .c-cont__col .right .recruitment dl dt {
      margin-bottom: 0.56818182vw; }
      @media only screen and (max-width: 767px) {
        body.role_detail .c-cont__col .right .recruitment dl dt {
          margin-bottom: 4px; } }
    body.role_detail .c-cont__col .right .recruitment dl dd strong {
      font-weight: 600; }
    body.role_detail .c-cont__col .right .recruitment dl dd a {
      color: #0B63D1;
      text-decoration: underline; }
    body.role_detail .c-cont__col .right .recruitment dl dd ul li {
      padding-left: 1em;
      position: relative; }
      body.role_detail .c-cont__col .right .recruitment dl dd ul li:before {
        content: "・";
        position: absolute;
        top: 0;
        left: 0; }
  body.role_detail .c-cont__col .right .btn-entry {
    width: 100%;
    height: 4.54545455vw;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.13636364vw;
    letter-spacing: -0.00568182vw;
    background: #000;
    color: #fff;
    margin-top: 3.83522727vw;
    border: 1px solid #000;
    transition: color .3s, background-color .3s; }
    @media only screen and (min-width: 768px) {
      body.role_detail .c-cont__col .right .btn-entry:hover {
        background: #fff;
        color: #000; } }
    @media only screen and (max-width: 767px) {
      body.role_detail .c-cont__col .right .btn-entry {
        font-size: 13.5px;
        font-size: 1.35rem;
        letter-spacing: 0;
        height: 70px;
        margin-top: 32px; } }

body.role .our-brand {
  padding: 5.68181818vw 4.54545455vw 12.35795455vw; }
  @media only screen and (max-width: 767px) {
    body.role .our-brand {
      padding: 38px 18px 75px; } }
  body.role .our-brand__head {
    margin-bottom: 4.54545455vw; }
    @media only screen and (max-width: 767px) {
      body.role .our-brand__head {
        margin-bottom: 38px; } }
    body.role .our-brand__head .c-text01 {
      max-width: 45.45454545vw;
      margin-top: 1.70454545vw; }
      @media only screen and (max-width: 767px) {
        body.role .our-brand__head .c-text01 {
          max-width: 100%;
          margin-top: 14px; } }

body.role .job-opening {
  background: #fff;
  color: #000; }
  body.role .job-opening__head {
    padding: 5.68181818vw 4.54545455vw 4.54545455vw;
    display: flex;
    justify-content: space-between;
    align-items: flex-end; }
    @media only screen and (max-width: 767px) {
      body.role .job-opening__head {
        padding: 38px 18px 19px;
        display: block; } }
    body.role .job-opening__head .text .c-en02 {
      margin-bottom: 1.70454545vw; }
      @media only screen and (max-width: 767px) {
        body.role .job-opening__head .text .c-en02 {
          margin-bottom: 14px; } }
    body.role .job-opening__head .text .c-text01 {
      max-width: 45.45454545vw; }
      @media only screen and (max-width: 767px) {
        body.role .job-opening__head .text .c-text01 {
          max-width: 100%; } }
    @media only screen and (max-width: 767px) {
      body.role .job-opening__head .c-cate-select {
        display: block;
        width: max-content;
        margin-left: auto;
        margin-top: 19px; } }
    body.role .job-opening__head .c-cate-list {
      width: 40.390625%; }

body.role .no-result {
  font-size: 1.27840909vw;
  color: #000;
  background: #F8F8F8; }
  @media only screen and (max-width: 767px) {
    body.role .no-result {
      font-size: 16px;
      font-size: 1.6rem; } }

body.structure .cont {
  padding: 9.09090909vw 4.54545455vw; }
  @media only screen and (max-width: 767px) {
    body.structure .cont {
      padding: 38px 18px; } }
  body.structure .cont__head {
    margin-bottom: 9.09090909vw; }
    @media only screen and (max-width: 767px) {
      body.structure .cont__head {
        margin-bottom: 36px; } }
    body.structure .cont__head .c-title01 {
      margin-bottom: 2.27272727vw; }
      @media only screen and (max-width: 767px) {
        body.structure .cont__head .c-title01 {
          margin-bottom: 16px; } }
    body.structure .cont__head .c-title05 {
      max-width: 54.54545455vw;
      font-size: 1.42045455vw;
      line-height: 1.8;
      letter-spacing: 0; }
      @media only screen and (max-width: 767px) {
        body.structure .cont__head .c-title05 {
          max-width: 100%;
          font-size: 13px;
          font-size: 1.3rem;
          line-height: 1.55555556;
          letter-spacing: 0; } }
  body.structure .cont__box {
    background: #fff;
    color: #000;
    padding: 4.75852273vw 4.54545455vw 6.81818182vw;
    margin-bottom: 4.54545455vw; }
    @media only screen and (max-width: 767px) {
      body.structure .cont__box {
        padding: 20px 16px 38px;
        margin-bottom: 38px; } }
    body.structure .cont__box:last-of-type {
      margin-bottom: 0; }
    body.structure .cont__box__text .c-title02 {
      margin-bottom: 1.06534091vw; }
      @media only screen and (max-width: 767px) {
        body.structure .cont__box__text .c-title02 {
          margin-bottom: 12px; } }
    body.structure .cont__box__text .c-text01 {
      max-width: 40.83806818vw; }
      @media only screen and (max-width: 767px) {
        body.structure .cont__box__text .c-text01 {
          max-width: 100%; } }
    body.structure .cont__box img {
      width: 100%; }
    body.structure .cont__box .article-01-1 {
      margin-top: 4.19034091vw; }
      @media only screen and (max-width: 767px) {
        body.structure .cont__box .article-01-1 {
          margin-top: 28px; } }
    body.structure .cont__box .article-02-1 {
      margin-top: 4.19034091vw; }
      @media only screen and (max-width: 767px) {
        body.structure .cont__box .article-02-1 {
          margin-top: 38px; } }
    body.structure .cont__box .article-03-1 {
      margin-top: 1.13636364vw;
      margin-bottom: 5.68181818vw; }
      @media only screen and (max-width: 767px) {
        body.structure .cont__box .article-03-1 {
          margin-top: 17px;
          margin-bottom: 45px; } }
    body.structure .cont__box .article-03-2 {
      margin-top: 1.13636364vw;
      margin-bottom: 5.68181818vw; }
      @media only screen and (max-width: 767px) {
        body.structure .cont__box .article-03-2 {
          margin-top: 17px;
          margin-bottom: 45px; } }
    body.structure .cont__box .article-03-3 {
      margin-top: 1.13636364vw; }
      @media only screen and (max-width: 767px) {
        body.structure .cont__box .article-03-3 {
          margin-top: 17px; } }
    body.structure .cont__box .article-04-1 {
      margin-top: 6.39204545vw; }
      @media only screen and (max-width: 767px) {
        body.structure .cont__box .article-04-1 {
          margin-top: 30px; } }
    body.structure .cont__box h4 {
      display: flex;
      align-items: center;
      margin-top: 4.97159091vw; }
      body.structure .cont__box h4 .c-title03 {
        margin-right: 1.70454545vw; }
    body.structure .cont__box .role-list {
      display: flex;
      flex-wrap: wrap;
      gap: 5.55555556%;
      margin-top: 4.54545455vw; }
      @media only screen and (max-width: 767px) {
        body.structure .cont__box .role-list {
          margin-top: 33px;
          display: block; } }
      body.structure .cont__box .role-list li {
        width: 47.22222222%;
        margin-top: 2.77777778%;
        display: flex;
        align-items: center;
        justify-content: space-between; }
        @media only screen and (max-width: 767px) {
          body.structure .cont__box .role-list li {
            width: 100%;
            margin-top: 27px;
            align-items: flex-start; } }
        @media only screen and (min-width: 768px) {
          body.structure .cont__box .role-list li:nth-of-type(-n + 2) {
            margin-top: 0; } }
        @media only screen and (max-width: 767px) {
          body.structure .cont__box .role-list li:nth-of-type(1) {
            margin-top: 0; } }
        body.structure .cont__box .role-list li i {
          width: 9.09090909vw; }
          @media only screen and (max-width: 767px) {
            body.structure .cont__box .role-list li i {
              width: 64px; } }
        body.structure .cont__box .role-list li .text {
          width: calc(100% - 10.65340909vw); }
          @media only screen and (max-width: 767px) {
            body.structure .cont__box .role-list li .text {
              width: calc(100% - 79px); } }
          body.structure .cont__box .role-list li .text .c-title05 {
            margin-top: 0;
            margin-bottom: 0.35511364vw; }
            @media only screen and (max-width: 767px) {
              body.structure .cont__box .role-list li .text .c-title05 {
                margin-bottom: 3px; } }

body.top main {
  padding-top: 0; }

body.top .main-visual {
  width: 100%;
  height: 100vh;
  position: relative; }
  body.top .main-visual__movie {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
    body.top .main-visual__movie video, body.top .main-visual__movie img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center; }
  body.top .main-visual__catch {
    position: absolute;
    left: 2.27272727vw;
    bottom: 2.27272727vw; }
    @media only screen and (max-width: 767px) {
      body.top .main-visual__catch {
        left: 18px;
        bottom: 29px; } }
  body.top .main-visual__play {
    width: 13.63636364vw;
    height: 4.54545455vw;
    position: absolute;
    right: 4.54545455vw;
    bottom: 2.27272727vw;
    background: rgba(20, 20, 20, 0.3);
    backdrop-filter: blur(10px);
    display: flex;
    align-items: center; }
    @media only screen and (max-width: 767px) {
      body.top .main-visual__play {
        width: 59px;
        height: 59px;
        background: none;
        position: absolute;
        top: 50%;
        right: auto;
        bottom: auto;
        left: 50%;
        transform: translate(-50%, -50%);
        background: none;
        backdrop-filter: blur(0px);
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #68686E;
        border-radius: 50%;
        background: rgba(0, 0, 0, 0.6); } }
    body.top .main-visual__play svg {
      width: 1.79900568vw;
      height: 1.79900568vw;
      margin-right: 0.8046875vw; }
      @media only screen and (max-width: 767px) {
        body.top .main-visual__play svg {
          width: 17px;
          height: 20px;
          margin: 0;
          margin-left: 4px; } }
    body.top .main-visual__play .c-en05 {
      color: #fff; }

body.top .index {
  padding: 2.27272727vw 4.54545455vw 7.67045455vw;
  overflow: hidden; }
  @media only screen and (max-width: 767px) {
    body.top .index {
      padding: 38px 19px 25px; } }
  body.top .index__text {
    margin-bottom: 4.82954545vw; }
    @media only screen and (max-width: 767px) {
      body.top .index__text {
        margin-bottom: 60px; } }
    body.top .index__text .c-title01 {
      margin-bottom: 0.56818182vw; }
      @media only screen and (max-width: 767px) {
        body.top .index__text .c-title01 {
          margin-bottom: 8px; } }
    @media only screen and (max-width: 767px) {
      body.top .index__text .c-text01 {
        max-width: 227px; } }
  body.top .index__list {
    width: 68.18181818vw;
    margin-left: auto; }
    @media only screen and (max-width: 767px) {
      body.top .index__list {
        width: 100%; } }
    body.top .index__list ul li {
      border-bottom: 1px solid #68686E; }
      body.top .index__list ul li a {
        display: flex;
        justify-content: space-between;
        padding: 2.27272727vw 0;
        transition: color .3s, background-color .3s;
        position: relative; }
        @media only screen and (min-width: 768px) {
          body.top .index__list ul li a:hover .image:after {
            opacity: 0.2; }
          body.top .index__list ul li a:hover .text {
            opacity: 0.6; } }
        body.top .index__list ul li a:before {
          content: "";
          width: calc(100% + 64px);
          height: 100%;
          position: absolute;
          left: -32px;
          top: 0;
          display: block;
          background: #fff;
          transition: opacity .3s;
          opacity: 0; }
        @media only screen and (max-width: 767px) {
          body.top .index__list ul li a {
            padding: 24px 0;
            display: block; } }
      body.top .index__list ul li .image {
        width: 40%;
        position: relative; }
        body.top .index__list ul li .image:after {
          content: "";
          width: 100%;
          height: 100%;
          display: block;
          background: #000;
          position: absolute;
          top: 0;
          left: 0;
          transition: opacity .3s;
          opacity: 0; }
        @media only screen and (max-width: 767px) {
          body.top .index__list ul li .image {
            width: 48.66863905%; } }
        body.top .index__list ul li .image img {
          width: 100%;
          aspect-ratio: 384/224;
          object-fit: cover;
          object-position: center center; }
        body.top .index__list ul li .image.top-trim img {
          object-position: top center; }
      body.top .index__list ul li .text {
        width: 56.66666667%;
        padding: 0.56818182vw 0;
        position: relative;
        transition: opacity .5s; }
        @media only screen and (max-width: 767px) {
          body.top .index__list ul li .text {
            padding: 0;
            width: 100%; } }
        @media only screen and (max-width: 767px) {
          body.top .index__list ul li .text .col {
            display: flex;
            justify-content: space-between;
            margin-bottom: 12px; } }
        @media only screen and (max-width: 767px) {
          body.top .index__list ul li .text .col .right {
            width: 48.66863905%; } }
        @media only screen and (max-width: 767px) {
          body.top .index__list ul li .text .c-en05 {
            font-size: 16px;
            font-size: 1.6rem;
            letter-spacing: -0.5px;
            line-height: 1.25;
            display: block;
            margin-bottom: 7px; } }
        body.top .index__list ul li .text .c-title03 {
          margin-bottom: 0.07102273vw; }
          @media only screen and (max-width: 767px) {
            body.top .index__list ul li .text .c-title03 {
              margin-bottom: 0; } }
        body.top .index__list ul li .text .c-text02 {
          display: flex;
          align-items: center;
          justify-content: flex-end;
          margin-top: 1.13636364vw; }
          @media only screen and (max-width: 767px) {
            body.top .index__list ul li .text .c-text02 {
              margin-top: 16px; } }
          body.top .index__list ul li .text .c-text02 svg {
            width: 1.70454545vw;
            height: 1.70454545vw;
            margin-left: 0.85227273vw; }
            @media only screen and (max-width: 767px) {
              body.top .index__list ul li .text .c-text02 svg {
                width: 18px;
                height: 18px;
                margin-left: 5px; } }
            body.top .index__list ul li .text .c-text02 svg path {
              transition: fill .5s; }
    body.top .index__list .more-btn {
      margin-left: auto;
      background-color: transparent;
      border: none;
      cursor: pointer;
      outline: none;
      padding: 0;
      appearance: none;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      margin-top: 1.70454545vw; }
      @media only screen and (max-width: 767px) {
        body.top .index__list .more-btn {
          margin-top: 23px; } }
      body.top .index__list .more-btn.is-active svg {
        transform: rotate(180deg); }
      body.top .index__list .more-btn span {
        font-size: 0.99431818vw;
        line-height: 2;
        color: #fff; }
        @media only screen and (max-width: 767px) {
          body.top .index__list .more-btn span {
            font-size: 12px;
            font-size: 1.2rem;
            line-height: 1.75; } }
      body.top .index__list .more-btn svg {
        width: 1.06534091vw;
        display: block;
        height: 0.49715909vw;
        margin-left: 0.63920455vw;
        transition: transform .3s; }
        @media only screen and (max-width: 767px) {
          body.top .index__list .more-btn svg {
            width: 12px;
            height: 5px;
            margin-left: 5px;
            position: relative;
            top: 2px; } }

body.top .reel {
  display: flex;
  background: #fff; }
  @media only screen and (max-width: 767px) {
    body.top .reel {
      flex-wrap: wrap; } }
  body.top .reel__box {
    width: 25%;
    aspect-ratio: 352/576;
    overflow: hidden; }
    @media only screen and (max-width: 767px) {
      body.top .reel__box {
        width: 50%; } }
    body.top .reel__box video {
      width: 101%;
      height: 101%;
      object-fit: cover;
      object-position: center center;
      display: block; }

body.top .our-brand {
  background: #fff; }

body.top .member-interview {
  background: #fff; }
  @media only screen and (max-width: 767px) {
    body.top .member-interview .c-member-interview-slider .c-member-interview-list li:nth-of-type(n + 4) {
      display: none; } }

body.top .job-opening {
  background: #fff; }
