@charset "UTF-8";
/* reset5 © 2011 opensource.736cs.com MIT */
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, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, audio, canvas, details, figcaption, figure, footer, header, hgroup, mark, menu, meter, nav, output, progress, section, summary, time, video {
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  margin: 0;
  padding: 0; }

body {
  line-height: 1; }

article, aside, dialog, figure, footer, header, hgroup, nav, section, blockquote {
  display: block; }

nav ul {
  list-style: none; }

ol {
  list-style: decimal; }

ul {
  list-style: disc; }

ul ul {
  list-style: circle; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: none; }

ins {
  text-decoration: underline; }

del {
  text-decoration: line-through; }

mark {
  background: none; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input[type=submit], input[type=button], button {
  margin: 0 !important;
  padding: 0 !important; }

input, select, a img {
  vertical-align: middle; }

/* フォームのリセットここから */
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='checkbox'],
input[type='radio'] {
  display: none; }

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

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

/* フォームのリセットここまで */
html {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 10px; }

*, *:before, *:after {
  -moz-box-sizing: inherit;
  -webkit-box-sizing: inherit;
  box-sizing: inherit; }

body {
  -webkit-text-size-adjust: 100%;
  	/*
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  	*/ }

main {
  display: block; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal; }

ul, ol {
  list-style: none !important; }

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

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  color: inherit;
  font-size: inherit; }

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

mark {
  color: inherit; }

span.nowrap {
  display: inline-block; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 8rem;
  overscroll-behavior: none;
  font-family: 'Noto Sans JP', san-serif;
  font-size: calc(10 / 1280 * 100vw); }
  @media screen and (max-width: 1023px) {
    html {
      font-size: calc(10 / 390 * 100vw);
      scroll-padding-top: 6.4rem; } }
  html.dialog-active {
    overflow: hidden; }

.menu-active body {
  overflow: hidden; }

#header:before {
  content: "";
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  right: 0;
  display: block;
  height: 8rem;
  background: rgba(255, 255, 255, 0.1);
  /* 半透明 */
  backdrop-filter: blur(1rem);
  -webkit-backdrop-filter: blur(1rem);
  /* Safari */
  box-shadow: 0 0.4remx 3rempx rgba(0, 0, 0, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
  @media screen and (max-width: 1023px) {
    #header:before {
      height: 6.4rem;
      z-index: 1090; }
      .menu-active #header:before {
        background-color: #fff; } }
#header:after {
  content: "";
  position: fixed;
  z-index: 1002;
  background-color: rgba(0, 0, 0, 0.4);
  display: block;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  opacity: 0;
  transition: all ease .3s; }
  .secondary-active #header:after {
    opacity: 1; }
#header > .logo {
  position: fixed;
  z-index: 1001;
  top: 2.6rem;
  left: 2rem;
  width: 18.9rem; }
  @media screen and (max-width: 1023px) {
    #header > .logo {
      top: 1.8rem;
      left: 1.6rem;
      width: 22.4rem;
      z-index: 1100; } }
  #header > .logo img {
    width: 100%; }
#header nav.primary {
  position: fixed;
  z-index: 1001;
  top: 0;
  right: 39.4rem;
  mix-blend-mode: exclusion; }
  @media screen and (max-width: 1023px) {
    #header nav.primary {
      display: none; } }
  #header nav.primary ul {
    display: flex;
    gap: 3.2rem; }
    #header nav.primary ul li a {
      position: relative;
      display: block;
      font-style: normal;
      font-weight: 700;
      font-size: 1.4rem;
      line-height: 8rem;
      text-align: right;
      letter-spacing: 0.03em;
      color: #FFFFFF;
      cursor: pointer; }
      #header nav.primary ul li a:after {
        content: "";
        position: absolute;
        bottom: 2.7rem;
        left: 0;
        right: 0;
        height: 1px;
        background-color: #fff;
        transform: scale(0, 1);
        transition: transform ease .3s;
        transform-origin: 0 0; }
      #header nav.primary ul li a.active:after {
        transform: scale(1, 1); }
#header nav.secondary {
  position: fixed;
  top: 8rem;
  right: 0;
  z-index: 1010; }
  @media screen and (max-width: 1023px) {
    #header nav.secondary {
      display: none; } }
  #header nav.secondary > ul {
    position: absolute;
    background-color: #fff;
    opacity: 0;
    pointer-events: none;
    padding: .8rem 1.6rem 1.6rem;
    transition: all ease .3s; }
    #header nav.secondary > ul > li:first-child {
      border: none; }
    #header nav.secondary > ul > li > a {
      position: relative;
      display: flex;
      gap: 1rem;
      align-items: center;
      white-space: nowrap;
      font-style: normal;
      font-weight: 500;
      font-size: 1.4rem;
      line-height: 3.6rem;
      color: #000000;
      border-bottom: 1px solid #D9D9D9; }
      #header nav.secondary > ul > li > a:before {
        content: "";
        background-image: url("../images/common/header_secondary_arrow.svg");
        background-size: 100% 100%;
        display: block;
        width: 1.3rem;
        height: 1.3rem;
        transition: all ease .3s; }
      #header nav.secondary > ul > li > a:after {
        position: absolute;
        content: "";
        left: 0;
        bottom: -1px;
        width: 0;
        display: block;
        background-color: #000;
        height: 1px;
        transition: all ease .3s; }
      @media screen and (min-width: 1024px) {
        #header nav.secondary > ul > li > a:hover:before {
          background-position: 1.3rem 0; }
        #header nav.secondary > ul > li > a:hover:after {
          width: 100%; } }
    #header nav.secondary > ul > li > ul > li {
      margin-top: 1rem; }
      #header nav.secondary > ul > li > ul > li > a {
        display: flex;
        align-items: center;
        gap: .6rem;
        font-weight: 500;
        font-size: 1.2rem;
        line-height: 1.7rem;
        letter-spacing: 0.02em;
        white-space: nowrap; }
        #header nav.secondary > ul > li > ul > li > a:before {
          content: "";
          background-image: url("../images/common/header_secondary_arrow_sub.svg");
          background-size: 100% 100%;
          display: block;
          width: .6rem;
          height: 1rem;
          transition: all ease .3s; }
        @media screen and (min-width: 1024px) {
          #header nav.secondary > ul > li > ul > li > a:hover:before {
            background-position: .6rem 0; } }
    #header nav.secondary > ul.active {
      opacity: 1;
      pointer-events: auto; }
    #header nav.secondary > ul[data-sub='first'] {
      right: 88.7rem;
      transform: translateX(100%); }
    #header nav.secondary > ul[data-sub='person-work'] {
      right: 79.7rem;
      transform: translateX(100%); }
    #header nav.secondary > ul[data-sub='company'] {
      right: 70.7rem;
      transform: translateX(100%); }
    #header nav.secondary > ul[data-sub='environment'] {
      right: 64.6rem;
      transform: translateX(100%); }
    #header nav.secondary > ul[data-sub='special'] {
      right: 55.6rem;
      transform: translateX(100%); }
    #header nav.secondary > ul[data-sub='recruit'] {
      right: 45.3rem;
      transform: translateX(100%); }
#header nav.cta {
  position: fixed;
  z-index: 1100;
  top: 2rem;
  right: 8.4rem; }
  @media screen and (max-width: 1023px) {
    #header nav.cta {
      display: none; } }
  #header nav.cta ul {
    display: flex;
    gap: .8rem; }
    #header nav.cta ul li a {
      position: relative;
      display: flex;
      width: 12.7rem;
      height: 4rem;
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 700;
      font-size: 1.4rem;
      line-height: 1.7rem;
      justify-content: center;
      align-items: center;
      color: #FFFFFF;
      background: linear-gradient(to right, #D9FF00 50%, #000 50%);
      background-size: 200% 100%;
      background-position: right bottom;
      transition: background-position 0.3s ease, color 0.3s ease; }
      #header nav.cta ul li a:after {
        content: "";
        -webkit-mask-image: url("../images/common/header_cta_arrow.svg");
        -webkit-mask-size: 100% 100%;
        -webkit-mask-position: 0 0;
        mask-image: url("../images/common/header_cta_arrow.svg");
        mask-size: 100% 100%;
        mask-position: 0 0;
        display: block;
        width: 1.4rem;
        height: 1.1rem;
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        background-color: #fff;
        transition: all 0.3s ease; }
      @media screen and (min-width: 1024px) {
        #header nav.cta ul li a:hover {
          background-position: left bottom;
          color: #000; }
          #header nav.cta ul li a:hover:after {
            background-color: #000;
            -webkit-mask-position: 1.4rem 0;
            mask-position: 1.4rem 0; } }
#header p.menu {
  position: fixed;
  z-index: 1100;
  top: 2rem;
  right: 2rem; }
  @media screen and (max-width: 1023px) {
    #header p.menu {
      top: 1.2rem;
      right: 1.6rem; } }
  #header p.menu button {
    position: relative;
    display: block;
    width: 5.6rem;
    height: 4rem;
    background: linear-gradient(to right, #D9FF00 50%, #000 50%);
    background-size: 200% 100%;
    background-position: right bottom;
    transition: background-position 0.3s ease, color 0.3s ease; }
    #header p.menu button span {
      display: block;
      width: 100%;
      height: 100%;
      text-indent: -9999px;
      overflow: hidden; }
    #header p.menu button:before, #header p.menu button:after {
      content: "";
      display: block;
      background-color: #fff;
      width: 2.2rem;
      height: 1px;
      position: absolute;
      top: 50%;
      left: calc(50% - 1.1rem);
      transition: background-color 0.3s ease; }
    #header p.menu button:before {
      margin-top: .4rem; }
    #header p.menu button:after {
      margin-top: -.4rem; }
    @media screen and (min-width: 1024px) {
      #header p.menu button:hover {
        background-position: left bottom; }
        #header p.menu button:hover:before, #header p.menu button:hover:after {
          background-color: #000; } }
    .menu-active #header p.menu button {
      background-position: left bottom; }
      .menu-active #header p.menu button:before {
        transform: rotate(20deg);
        margin: 0;
        background-color: #000; }
      .menu-active #header p.menu button:after {
        transform: rotate(-20deg);
        margin: 0;
        background-color: #000; }
#header nav.menu {
  position: fixed;
  z-index: 1010;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  pointer-events: none;
  background-color: #fff;
  transition: all ease .3s;
  overflow: auto;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media screen and (max-width: 1023px) {
    #header nav.menu {
      display: none; } }
  .menu-active #header nav.menu {
    opacity: 1;
    pointer-events: auto; }
  #header nav.menu .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    margin: auto;
    padding: 10rem 0 4.8rem; }
    @media screen and (max-width: 1023px) {
      #header nav.menu .container {
        width: calc(100% - 2.4rem * 2); } }
    #header nav.menu .container .primary {
      display: flex;
      justify-content: space-between; }
      #header nav.menu .container .primary .information .logo {
        margin-bottom: 8.8rem;
        width: 16rem; }
        #header nav.menu .container .primary .information .logo img {
          width: 100%; }
      #header nav.menu .container .primary .information ul li {
        margin-top: 1.8rem; }
        #header nav.menu .container .primary .information ul li a {
          display: flex;
          align-items: center;
          width: fit-content;
          font-style: normal;
          font-weight: 500;
          font-size: 1.4rem;
          line-height: 2rem;
          letter-spacing: 0.02em;
          color: #000000; }
          #header nav.menu .container .primary .information ul li a:before {
            content: "";
            background-image: url("../images/common/footer_arrow_blank.svg");
            background-size: 100% 100%;
            width: 1rem;
            height: 1rem;
            margin-right: 1rem;
            transition: all ease .3s; }
          @media screen and (min-width: 1024px) {
            #header nav.menu .container .primary .information ul li a:hover:before {
              background-position: 1rem -1rem; } }
      #header nav.menu .container .primary nav.sitemap {
        flex: 0 0 84.4rem; }
        #header nav.menu .container .primary nav.sitemap dl {
          display: flex;
          gap: 4.8rem; }
          #header nav.menu .container .primary nav.sitemap dl > div {
            flex: 1;
            margin-top: -6rem; }
            #header nav.menu .container .primary nav.sitemap dl > div div {
              display: contents; }
              #header nav.menu .container .primary nav.sitemap dl > div div dt {
                border-top: 1px solid #000;
                padding: 1.6rem 0 0;
                font-style: normal;
                font-weight: 700;
                font-size: 2.8rem;
                line-height: 3.4rem;
                letter-spacing: 0.08em;
                color: #000000;
                margin-top: 6rem;
                margin-bottom: 2.8rem; }
              #header nav.menu .container .primary nav.sitemap dl > div div dd > ul > li {
                margin-top: 1.5rem; }
                #header nav.menu .container .primary nav.sitemap dl > div div dd > ul > li > a {
                  display: flex;
                  align-items: center;
                  width: fit-content;
                  font-style: normal;
                  font-weight: 500;
                  font-size: 1.4rem;
                  line-height: 2rem;
                  letter-spacing: 0.02em;
                  color: #000000; }
                  #header nav.menu .container .primary nav.sitemap dl > div div dd > ul > li > a:before {
                    content: "";
                    background-image: url("../images/common/footer_arrow.svg");
                    background-size: 100% 100%;
                    width: 1.3rem;
                    height: 1.3rem;
                    margin-right: 1rem;
                    transition: all ease .3s; }
                  @media screen and (min-width: 1024px) {
                    #header nav.menu .container .primary nav.sitemap dl > div div dd > ul > li > a:hover:before {
                      background-position: 1.3rem 0; } }
                #header nav.menu .container .primary nav.sitemap dl > div div dd > ul > li > ul {
                  margin-top: 1.8rem;
                  padding-left: 2.4rem; }
                  #header nav.menu .container .primary nav.sitemap dl > div div dd > ul > li > ul > li {
                    margin-top: 1.2rem; }
                    #header nav.menu .container .primary nav.sitemap dl > div div dd > ul > li > ul > li > a {
                      display: flex;
                      align-items: center;
                      font-weight: 500;
                      font-size: 1.2rem;
                      line-height: 1.7rem;
                      letter-spacing: 0.02em; }
                      #header nav.menu .container .primary nav.sitemap dl > div div dd > ul > li > ul > li > a:before {
                        content: "";
                        background-image: url("../images/common/footer_arrow_sub.svg");
                        background-size: 100% 100%;
                        width: .6rem;
                        height: 1rem;
                        margin-right: 1rem;
                        background-position: 0 0;
                        transition: background-position ease .3s; }
                      @media screen and (min-width: 1024px) {
                        #header nav.menu .container .primary nav.sitemap dl > div div dd > ul > li > ul > li > a:hover:before {
                          background-position: .6rem 0; } }
    #header nav.menu .container .secondary {
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      margin-top: 5.6rem; }
      #header nav.menu .container .secondary ul.sns {
        display: flex;
        gap: 2.4rem; }
        #header nav.menu .container .secondary ul.sns li a {
          display: block;
          text-indent: -9999px;
          overflow: hidden; }
        #header nav.menu .container .secondary ul.sns li:nth-child(1) a {
          background-image: url("../images/common/icon_instagram.svg");
          background-size: 100% 100%;
          width: 2.4rem;
          height: 2.4rem; }
        #header nav.menu .container .secondary ul.sns li:nth-child(2) a {
          background-image: url("../images/common/icon_youtube.svg");
          background-size: 100% 100%;
          width: 3.4rem;
          height: 2.4rem; }
      #header nav.menu .container .secondary .copyright {
        display: none;
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 500;
        font-size: 1.2rem;
        line-height: 1;
        color: #000000; }
#header nav.menu2 {
  display: none; }
  @media screen and (max-width: 1023px) {
    #header nav.menu2 {
      position: fixed;
      z-index: 1010;
      top: 6.4rem;
      left: 0;
      right: 0;
      bottom: 0;
      opacity: 0;
      pointer-events: none;
      background-color: #fff;
      transition: all ease .3s;
      overflow: auto;
      display: block;
      justify-content: center;
      align-items: center; }
      .menu-active #header nav.menu2 {
        opacity: 1;
        pointer-events: auto; } }
  #header nav.menu2 .sitemap dt {
    position: relative;
    border-top: 1px solid #000;
    font-style: normal;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 2.6rem;
    letter-spacing: 0.08em;
    color: #000000;
    padding: 2.4rem; }
    #header nav.menu2 .sitemap dt .toggle {
      display: block;
      width: 2.8rem;
      height: 2rem;
      position: absolute;
      right: 2.4rem;
      top: calc(50% - 1.2rem);
      background-color: #000;
      border: 1px solid #000; }
      #header nav.menu2 .sitemap dt .toggle:after {
        content: "";
        -webkit-mask-image: url("../images/common/menu2_accorditon_arrow.svg");
        -webkit-mask-size: 100% 100%;
        mask-image: url("../images/common/menu2_accorditon_arrow.svg");
        mask-size: 100% 100%;
        background-color: #fff;
        display: block;
        width: 1.2rem;
        height: .7rem;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
    #header nav.menu2 .sitemap dt.active .toggle {
      background-color: #fff; }
      #header nav.menu2 .sitemap dt.active .toggle:after {
        background-color: #000;
        transform: translate(-50%, -50%) scale(1, -1); }
  #header nav.menu2 .sitemap dd {
    border-top: 1px solid #D9D9D9;
    display: none; }
    #header nav.menu2 .sitemap dd > ul {
      padding: 2.6rem 0; }
      #header nav.menu2 .sitemap dd > ul > li > a {
        display: flex;
        align-items: center;
        gap: 1.2rem;
        font-weight: 500;
        font-size: 1.4rem;
        line-height: 2rem;
        letter-spacing: 0.02em;
        color: #000000;
        padding: 1.4rem 2.4rem; }
        #header nav.menu2 .sitemap dd > ul > li > a:before {
          content: "";
          background-image: url("../images/common/footer_arrow.svg");
          background-size: 100% 100%;
          width: 1.3rem;
          height: 1.3rem;
          margin-right: 1rem; }
      #header nav.menu2 .sitemap dd > ul > li > ul {
        padding-left: 4.2rem; }
        #header nav.menu2 .sitemap dd > ul > li > ul > li {
          margin-top: 1.2rem; }
          #header nav.menu2 .sitemap dd > ul > li > ul > li > a {
            display: flex;
            align-items: center;
            font-weight: 500;
            font-size: 1.3rem;
            line-height: 2.4rem;
            letter-spacing: 0.02em; }
            #header nav.menu2 .sitemap dd > ul > li > ul > li > a:before {
              content: "";
              background-image: url("../images/common/footer_arrow_sub.svg");
              background-size: 100% 100%;
              width: .6rem;
              height: 1rem;
              margin-right: 1rem;
              background-position: 0 0;
              transition: background-position ease .3s; }
            @media screen and (min-width: 1024px) {
              #header nav.menu2 .sitemap dd > ul > li > ul > li > a:hover:before {
                background-position: .6rem 0; } }
  #header nav.menu2 .secondary {
    background-image: url("../images/common/menu2_decor.png");
    background-size: 100% auto;
    background-repeat: no-repeat;
    border-top: 1px solid #000;
    padding: 2.4rem 2.4rem 4rem; }
    #header nav.menu2 .secondary .cta {
      margin-bottom: 5.6em; }
      #header nav.menu2 .secondary .cta ul {
        display: flex;
        flex-direction: column;
        gap: 1.6rem; }
        #header nav.menu2 .secondary .cta ul li a {
          position: relative;
          display: flex;
          justify-content: center;
          align-items: center;
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 700;
          font-size: 1.8rem;
          line-height: 2.2rem;
          text-align: center;
          color: #FFFFFF;
          background-color: #000;
          height: 6rem; }
          #header nav.menu2 .secondary .cta ul li a:before {
            content: "";
            background-image: url("../images/common/menu2_cta_arrow.svg");
            display: block;
            width: 2.1rem;
            height: 1.6rem;
            background-size: 100% 100%;
            position: absolute;
            top: calc(50% - .8rem);
            left: 0; }
    #header nav.menu2 .secondary .information .logo {
      padding-bottom: 4.8rem;
      border-bottom: 1px solid #000;
      margin-bottom: 3.2rem; }
      #header nav.menu2 .secondary .information .logo img {
        width: 100%; }
    #header nav.menu2 .secondary .information ul {
      display: flex;
      flex-wrap: wrap;
      gap: 1.5rem; }
      #header nav.menu2 .secondary .information ul li {
        flex: 0 0 calc((100% - 1.5rem) / 2); }
        #header nav.menu2 .secondary .information ul li a {
          display: flex;
          align-items: baseline;
          gap: 1.2rem;
          font-weight: 500;
          font-size: 1.2rem;
          line-height: 1.7rem;
          color: #000000; }
          #header nav.menu2 .secondary .information ul li a:before {
            content: "";
            background-image: url("../images/common/footer_arrow_blank.svg");
            background-size: 100% 100%;
            flex: 0 0 1rem;
            width: 1rem;
            height: 1rem;
            position: relative;
            top: .1rem; }
    #header nav.menu2 .secondary ul.sns {
      margin-top: 4rem;
      display: flex;
      gap: 2.4rem; }
      #header nav.menu2 .secondary ul.sns li a {
        display: block;
        text-indent: -9999px;
        overflow: hidden; }
      #header nav.menu2 .secondary ul.sns li:nth-child(1) a {
        background-image: url("../images/common/icon_instagram.svg");
        background-size: 100% 100%;
        width: 2.4rem;
        height: 2.4rem; }
      #header nav.menu2 .secondary ul.sns li:nth-child(2) a {
        background-image: url("../images/common/icon_youtube.svg");
        background-size: 100% 100%;
        width: 3.4rem;
        height: 2.4rem; }
    #header nav.menu2 .secondary .copyright {
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 500;
      font-size: 1.2rem;
      line-height: 2.8rem;
      color: #000000;
      margin-top: 3.2rem; }

#content > .bg {
  background-size: cover;
  background-position: 50% 50%;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }
  #content > .bg video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; }

main > * {
  position: relative; }

#footer {
  position: relative;
  background-color: #FFFFFF;
  padding: 12rem 0 4.8rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    #footer {
      padding: 8rem 0 3rem; } }
  #footer .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    position: relative; }
    @media screen and (max-width: 1023px) {
      #footer .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      #footer .container {
        display: flex;
        flex-direction: column; } }
    #footer .container:before {
      content: "";
      background-image: url("../images/common/footer_decor.png");
      background-size: 100% 100%;
      display: block;
      width: calc(99.8rem * 1.06);
      height: calc(70.2rem * 1.06);
      position: absolute;
      right: 0;
      bottom: -4.8rem; }
      @media screen and (max-width: 1023px) {
        #footer .container:before {
          width: 69rem;
          height: 48.5rem;
          top: -8rem;
          right: -2rem;
          bottom: auto; } }
    #footer .container .primary {
      display: flex;
      position: relative;
      justify-content: space-between; }
      @media screen and (max-width: 1023px) {
        #footer .container .primary {
          display: contents; } }
      @media screen and (max-width: 1023px) {
        #footer .container .primary .information {
          display: contents; } }
      #footer .container .primary .information .logo {
        margin-bottom: 8.8rem;
        width: 16rem; }
        @media screen and (max-width: 1023px) {
          #footer .container .primary .information .logo {
            position: relative;
            order: 1;
            width: 100%;
            margin-bottom: 4.8rem; } }
        #footer .container .primary .information .logo img {
          width: 100%; }
      @media screen and (max-width: 1023px) {
        #footer .container .primary .information ul {
          position: relative;
          order: 3;
          display: flex;
          flex-wrap: wrap;
          gap: 1.6rem;
          border-top: 1px solid #000;
          padding-top: 3.2rem; } }
      #footer .container .primary .information ul li {
        margin-top: 1.8rem; }
        @media screen and (max-width: 1023px) {
          #footer .container .primary .information ul li {
            flex: 0 0 calc((100% - 1.6rem) / 2);
            margin-top: 0; } }
        #footer .container .primary .information ul li a {
          display: flex;
          align-items: center;
          width: fit-content;
          font-weight: 500;
          font-size: 1.4rem;
          line-height: 2rem;
          letter-spacing: 0.02em;
          color: #000000; }
          @media screen and (max-width: 1023px) {
            #footer .container .primary .information ul li a {
              font-size: 1.2rem;
              line-height: 1.7rem; } }
          #footer .container .primary .information ul li a:before {
            content: "";
            background-image: url("../images/common/footer_arrow_blank.svg");
            background-size: 100% 100%;
            width: 1rem;
            height: 1rem;
            margin-right: 1rem;
            background-position: 0 0;
            transition: all ease .3s; }
            @media screen and (max-width: 1023px) {
              #footer .container .primary .information ul li a:before {
                width: .9rem;
                height: .9rem; } }
          @media screen and (min-width: 1024px) {
            #footer .container .primary .information ul li a:hover:before {
              background-position: 1rem -1rem; } }
      #footer .container .primary nav.sitemap {
        flex: 0 0 84.4rem;
        margin-top: -6rem; }
        @media screen and (max-width: 1023px) {
          #footer .container .primary nav.sitemap {
            position: relative;
            order: 2;
            margin-top: -4rem;
            flex: initial;
            padding-bottom: 4rem; } }
        #footer .container .primary nav.sitemap dl {
          display: flex;
          flex-wrap: wrap;
          gap: 4.8rem; }
          @media screen and (max-width: 1023px) {
            #footer .container .primary nav.sitemap dl {
              gap: 0 1.6rem; } }
          #footer .container .primary nav.sitemap dl > div {
            flex: 1; }
            @media screen and (max-width: 1023px) {
              #footer .container .primary nav.sitemap dl > div {
                display: contents; } }
            @media screen and (max-width: 1023px) {
              #footer .container .primary nav.sitemap dl > div div {
                flex: 0 0 calc((100% - 1.6rem) / 2); } }
            #footer .container .primary nav.sitemap dl > div div dt {
              border-top: 1px solid #000;
              padding: 1.6rem 0 0;
              font-style: normal;
              font-weight: 700;
              font-size: 2.8rem;
              line-height: 3.4rem;
              letter-spacing: 0.08em;
              color: #000000;
              margin-top: 6rem;
              margin-bottom: 2.8rem; }
              @media screen and (max-width: 1023px) {
                #footer .container .primary nav.sitemap dl > div div dt {
                  font-size: 1.8rem;
                  line-height: 2.6rem;
                  margin-top: 4rem;
                  margin-bottom: 2.4rem; } }
            #footer .container .primary nav.sitemap dl > div div dd > ul > li {
              margin-top: 1.5rem; }
              @media screen and (max-width: 1023px) {
                #footer .container .primary nav.sitemap dl > div div dd > ul > li {
                  margin-top: 1.6rem; } }
              #footer .container .primary nav.sitemap dl > div div dd > ul > li > a {
                display: flex;
                align-items: center;
                width: fit-content;
                font-weight: 500;
                font-size: 1.4rem;
                line-height: 2rem;
                letter-spacing: 0.02em;
                color: #000000; }
                @media screen and (max-width: 1023px) {
                  #footer .container .primary nav.sitemap dl > div div dd > ul > li > a {
                    font-size: 1.2rem;
                    line-height: 1.7rem; } }
                #footer .container .primary nav.sitemap dl > div div dd > ul > li > a:before {
                  content: "";
                  background-image: url("../images/common/footer_arrow.svg");
                  background-size: 100% 100%;
                  width: 1.3rem;
                  height: 1.3rem;
                  margin-right: 1rem;
                  background-position: 0 0;
                  transition: background-position ease .3s; }
                  @media screen and (max-width: 1023px) {
                    #footer .container .primary nav.sitemap dl > div div dd > ul > li > a:before {
                      width: 1.2em;
                      height: 1.2rem; } }
                @media screen and (min-width: 1024px) {
                  #footer .container .primary nav.sitemap dl > div div dd > ul > li > a:hover:before {
                    background-position: 1.3rem 0; } }
              #footer .container .primary nav.sitemap dl > div div dd > ul > li > ul {
                margin-top: 1.8rem;
                padding-left: 2.4rem; }
                @media screen and (max-width: 1023px) {
                  #footer .container .primary nav.sitemap dl > div div dd > ul > li > ul {
                    padding-left: 1.2rem; } }
                #footer .container .primary nav.sitemap dl > div div dd > ul > li > ul > li {
                  margin-top: 1.2rem; }
                  #footer .container .primary nav.sitemap dl > div div dd > ul > li > ul > li > a {
                    display: flex;
                    align-items: center;
                    font-weight: 500;
                    font-size: 1.2rem;
                    line-height: 1.7rem;
                    letter-spacing: 0.02em; }
                    #footer .container .primary nav.sitemap dl > div div dd > ul > li > ul > li > a:before {
                      content: "";
                      background-image: url("../images/common/footer_arrow_sub.svg");
                      background-size: 100% 100%;
                      width: .6rem;
                      height: 1rem;
                      margin-right: 1rem;
                      background-position: 0 0;
                      transition: background-position ease .3s; }
                    @media screen and (min-width: 1024px) {
                      #footer .container .primary nav.sitemap dl > div div dd > ul > li > ul > li > a:hover:before {
                        background-position: .6rem 0; } }
    #footer .container .secondary {
      position: relative;
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      margin-top: 5.6rem; }
      @media screen and (max-width: 1023px) {
        #footer .container .secondary {
          display: block;
          order: 4;
          margin-top: 4rem; } }
      #footer .container .secondary ul.sns {
        display: flex;
        gap: 2.4rem; }
        #footer .container .secondary ul.sns li a {
          display: block;
          text-indent: -9999px;
          overflow: hidden; }
        #footer .container .secondary ul.sns li:nth-child(1) a {
          background-image: url("../images/common/icon_instagram.svg");
          background-size: 100% 100%;
          width: 2.4rem;
          height: 2.4rem; }
        #footer .container .secondary ul.sns li:nth-child(2) a {
          background-image: url("../images/common/icon_youtube.svg");
          background-size: 100% 100%;
          width: 3.4rem;
          height: 2.4rem; }
      #footer .container .secondary .copyright {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 500;
        font-size: 1.2rem;
        line-height: 1;
        color: #000000; }
        @media screen and (max-width: 1023px) {
          #footer .container .secondary .copyright {
            margin-top: 3.2rem;
            line-height: 2.8rem; } }

main.home header.visual {
  position: relative;
  height: 100svh; }
@keyframes home-visual-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3rem 50%; } }
  main.home header.visual .scroll {
    content: "";
    background-image: url("../images/common/decor_text_scroll_white.svg");
    background-size: 17.3em auto;
    animation: decor-text-loop-scroll linear calc(17.3s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    background-color: #000;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    border-top: 1px solid #fff;
    /*
    border-top: 1px solid #82FFB1;
    border-bottom: 1px solid #82FFB1;			
    display: block;
    height: 4rem;
    text-indent: -9999px;
    overflow: hidden;
    background-image: url("../images/home/visual_scroll_down_text.svg");
    background-size: 17.3rem 1.5rem;
    background-repeat: repeat-x;
    background-position: 0% 50%;
    background-color: #D71900;	
    animation: home-visual-scroll-loop linear calc(17.2s / 10) infinite; 
    */ }
@keyframes decor-text-loop-scroll {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -17.3em 58%; } }
    @media screen and (max-width: 1023px) {
      main.home header.visual .scroll {
        font-size: calc(3rem /4); } }
main.home section.intro {
  background-color: #F4F4F4;
  padding: 12rem 0 15.5rem; }
  @media screen and (max-width: 1023px) {
    main.home section.intro {
      padding: 4.8rem 0 6rem; } }
  main.home section.intro .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.home section.intro .container {
        width: calc(100% - 2.4rem * 2); } }
    main.home section.intro .container p {
      font-weight: 700;
      font-size: 4rem;
      line-height: 5.8rem;
      letter-spacing: -0.05em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.home section.intro .container p {
          font-size: 2rem;
          line-height: 2.9rem;
          letter-spacing: -0.05em; } }
      main.home section.intro .container p span {
        position: relative;
        display: block;
        width: fit-content;
        position: relative;
        width: fit-content;
        transition: all ease .3s;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
        main.home section.intro .container p span:before {
          content: "";
          display: block;
          background-color: #000;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          transition: all ease .3s .3s;
          transform-origin: 100% 0; }
        main.home section.intro .container p span[data-inview-active] {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          main.home section.intro .container p span[data-inview-active]:before {
            transform: scale(0, 1); }
      main.home section.intro .container p + p {
        margin-top: 4.6rem; }
        @media screen and (max-width: 1023px) {
          main.home section.intro .container p + p {
            margin-top: 2.3rem; } }
    main.home section.intro .container .copy {
      position: relative;
      margin-top: 7.2rem;
      margin-right: 0;
      position: relative;
      width: fit-content;
      transition: all ease .3s;
      clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
      @media screen and (max-width: 1023px) {
        main.home section.intro .container .copy {
          margin-top: 40px; } }
      main.home section.intro .container .copy:before {
        content: "";
        display: block;
        background-color: #000;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        transition: all ease .3s .3s;
        transform-origin: 100% 0; }
      main.home section.intro .container .copy[data-inview-active] {
        clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
        main.home section.intro .container .copy[data-inview-active]:before {
          transform: scale(0, 1); }
      main.home section.intro .container .copy img {
        width: 100%; }
main.home section.contents {
  background-color: #fff;
  border-top: 1px solid #000; }
  main.home section.contents header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.home section.contents header {
        padding: 4rem 0 0; } }
    main.home section.contents header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/home/contents_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.home section.contents header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.home section.contents header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000;
      font-size: 1rem; }
      @media screen and (max-width: 1023px) {
        main.home section.contents header hgroup {
          border-bottom: .5rem solid #000;
          font-size: calc(4.5 / 14 * 1rem); } }
      main.home section.contents header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3.5rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.home section.contents header hgroup h2 {
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.home section.contents header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.4rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.home section.contents header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.3rem;
            padding: 0 2.4rem; } }
  main.home section.contents .body {
    display: flex; }
    @media screen and (max-width: 1023px) {
      main.home section.contents .body {
        display: block; } }
    main.home section.contents .body .side {
      flex: 0 0 30rem;
      padding: 8rem 0 10rem 6.6rem;
      background-color: #F4F4F4; }
      @media screen and (max-width: 1023px) {
        main.home section.contents .body .side {
          padding: 4rem 2.4rem 0; } }
      main.home section.contents .body .side nav {
        position: sticky;
        top: 10rem; }
        main.home section.contents .body .side nav h3 {
          display: flex;
          justify-content: center;
          align-items: center;
          padding: 0 .8rem;
          width: fit-content;
          height: 3rem;
          background-color: #000000;
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 600;
          font-size: 1.8rem;
          line-height: 2.7rem;
          color: #FFFFFF;
          margin-bottom: 4rem; }
          @media screen and (max-width: 1023px) {
            main.home section.contents .body .side nav h3 {
              font-size: 1.6rem;
              line-height: 2.4rem;
              width: fit-content;
              height: auto;
              margin-bottom: 1.6em; } }
        @media screen and (max-width: 1023px) {
          main.home section.contents .body .side nav ul {
            display: flex;
            flex-wrap: wrap;
            margin: 0 -2.4rem;
            border-bottom: 1px solid #000; } }
        @media screen and (max-width: 1023px) {
          main.home section.contents .body .side nav ul li {
            flex: 0 0 50%;
            border-color: #000;
            border-top: 1px solid #000; } }
        main.home section.contents .body .side nav ul li a {
          position: relative;
          display: block;
          font-weight: bold;
          font-size: 1.4rem;
          line-height: 2rem;
          letter-spacing: 0.09em;
          color: #000000;
          padding: 1.4rem 0 1.1rem;
          border-bottom: 1px solid #D9D9D9; }
          @media screen and (max-width: 1023px) {
            main.home section.contents .body .side nav ul li a {
              border: none !important; } }
          main.home section.contents .body .side nav ul li a:before {
            content: "#\00a0"; }
          main.home section.contents .body .side nav ul li a:after {
            content: "";
            position: absolute;
            bottom: -1px;
            left: 0;
            display: block;
            height: 1px;
            width: 0;
            background-color: #000;
            transition: all ease .3s; }
            @media screen and (max-width: 1023px) {
              main.home section.contents .body .side nav ul li a:after {
                display: none; } }
          main.home section.contents .body .side nav ul li a.active {
            position: relative; }
            @media screen and (max-width: 1023px) {
              main.home section.contents .body .side nav ul li a.active {
                background-color: #000;
                color: #fff; } }
            main.home section.contents .body .side nav ul li a.active:after {
              width: 100%; }
          @media screen and (min-width: 1024px) {
            main.home section.contents .body .side nav ul li a:hover:after {
              width: 100%; } }
        @media screen and (max-width: 1023px) {
          main.home section.contents .body .side nav ul li:nth-child(2n + 1) a {
            padding: 1rem 1.6rem .7rem 2.4rem; } }
        @media screen and (max-width: 1023px) {
          main.home section.contents .body .side nav ul li:nth-child(2n) {
            border-left: 1px solid #000; }
            main.home section.contents .body .side nav ul li:nth-child(2n) a {
              padding: 1rem 2.4rem .7rem 1.6rem; } }
    main.home section.contents .body .content {
      flex: 1;
      padding: 8rem 2rem 10rem 5rem; }
      @media screen and (max-width: 1023px) {
        main.home section.contents .body .content {
          padding: 4rem 2.4rem 4.8rem; } }
      main.home section.contents .body .content ul {
        display: flex;
        flex-wrap: wrap;
        gap: 4rem 2rem; }
        @media screen and (max-width: 1023px) {
          main.home section.contents .body .content ul {
            gap: 4rem 2.4rem; } }
        main.home section.contents .body .content ul li {
          flex: 0 0 calc((100% - 2rem * 2) / 3);
          display: none; }
          @media screen and (max-width: 1023px) {
            main.home section.contents .body .content ul li {
              flex: 0 0 calc(100%); } }
          main.home section.contents .body .content ul li.active {
            display: block; }
          main.home section.contents .body .content ul li a {
            display: block; }
            main.home section.contents .body .content ul li a figure {
              margin-bottom: 1rem;
              overflow: hidden; }
              @media screen and (max-width: 1023px) {
                main.home section.contents .body .content ul li a figure {
                  margin-bottom: 0; } }
              main.home section.contents .body .content ul li a figure img {
                transition: all ease .3s; }
            main.home section.contents .body .content ul li a p:nth-child(2) {
              display: flex;
              gap: 6px;
              align-items: center;
              padding: 1rem 0;
              font-weight: bold;
              font-size: 1.6rem;
              line-height: 2.3rem;
              letter-spacing: 0.1em;
              color: #000000;
              border-bottom: 1px solid #000000;
              margin-bottom: 1.4rem; }
              @media screen and (max-width: 1023px) {
                main.home section.contents .body .content ul li a p:nth-child(2) {
                  padding: 1.6rem 0;
                  margin-bottom: 1.6rem; } }
              main.home section.contents .body .content ul li a p:nth-child(2):after {
                content: "";
                background-image: url("../images/home/contents_arrow.svg");
                background-size: 100% 100%;
                width: 1.4rem;
                height: 1.3rem;
                display: block;
                transition: all ease .3s; }
            main.home section.contents .body .content ul li a p:nth-child(3) {
              font-weight: 400;
              font-size: 1.2rem;
              line-height: 2.2rem;
              letter-spacing: .1rem;
              color: #000000; }
            @media screen and (min-width: 1024px) {
              main.home section.contents .body .content ul li a:hover figure img {
                transform: scale(1.05); }
              main.home section.contents .body .content ul li a:hover p:nth-child(2):after {
                background-position: 1.4rem 0; } }
main.home section.check {
  background-color: #D71900; }
@keyframes check-title-en-loop {
  0% {
    background-position: 0 0%; }
  100% {
    background-position: -116.8em 0%; } }
@keyframes check-action-bg-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -22.1em 50%; } }
  main.home section.check header {
    position: relative;
    padding: 8rem 0 0;
    margin-bottom: 5.6rem; }
    @media screen and (max-width: 1023px) {
      main.home section.check header {
        padding: 4rem 0 0;
        margin-bottom: 2.4rem; } }
    main.home section.check header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/home/check_decor.png");
      background-size: 100% 100%;
      width: 22.9rem;
      height: 19.4rem; }
      @media screen and (max-width: 1023px) {
        main.home section.check header:before {
          width: 11.1rem;
          height: 9.4rem; } }
    main.home section.check header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.home section.check header hgroup {
          font-size: calc(5.3 / 16.7 * 1rem);
          border-bottom: .5rem solid #000; } }
      main.home section.check header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3.5rem;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.home section.check header hgroup h2 {
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 1.9rem;
            margin-bottom: .2rem;
            padding: 0 2rem 0 2.4rem; } }
      main.home section.check header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        padding: 0 4rem;
        letter-spacing: -0.04em;
        color: #000000; }
        @media screen and (max-width: 1023px) {
          main.home section.check header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.3rem;
            padding: 0 2rem 0 2.4rem;
            letter-spacing: -0.04em; } }
  main.home section.check .content {
    display: flex;
    align-items: flex-start;
    gap: 8rem;
    padding: 0 4rem; }
    @media screen and (max-width: 1023px) {
      main.home section.check .content {
        display: block;
        padding: 0 2.4rem; } }
    main.home section.check .content p:nth-child(1) {
      flex: 0 0 67rem; }
    main.home section.check .content p:nth-child(2) {
      font-weight: 500;
      font-size: 1.4rem;
      line-height: 2.4rem;
      letter-spacing: .1rem;
      color: #82FFB1;
      flex: 0 0 42.5rem; }
      @media screen and (max-width: 1023px) {
        main.home section.check .content p:nth-child(2) {
          font-size: 1.4rem;
          line-height: 2.4rem;
          letter-spacing: .1rem; }
          main.home section.check .content p:nth-child(2) br {
            display: none; } }
  main.home section.check .action {
    margin-top: 3.3rem;
    font-size: 1rem; }
    @media screen and (max-width: 1023px) {
      main.home section.check .action {
        font-size: 0.5rem;
        margin-top: 4rem; } }
    main.home section.check .action a {
      position: relative;
      display: block;
      height: 12em;
      text-indent: -9999px;
      overflow: hidden;
      background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
      background-size: 200% 100%;
      background-position: 100% 0%;
      transition: background-position 0.3s ease; }
      main.home section.check .action a span {
        display: block;
        width: 100%;
        height: 100%;
        background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
        background-image: url("../images/home/check_action_label.svg");
        background-size: 22.1em 4.6em;
        background-repeat: repeat-x;
        background-position: 0 50%;
        animation: check-action-bg-loop linear calc(22.1s / 10) infinite; }
      main.home section.check .action a .arrow {
        background-repeat: no-repeat;
        background-position: 50% 50%;
        background-color: #000;
        position: absolute;
        top: 0;
        right: 0;
        display: block;
        height: 12em;
        width: 12em; }
        main.home section.check .action a .arrow:after {
          content: "";
          -webkit-mask-image: url("../images/home/check_action_arrow.svg");
          -webkit-mask-size: 4.4em 4.2em;
          -webkit-mask-position: 0 0;
          mask-image: url("../images/home/check_action_arrow.svg");
          mask-size: 4.4em 4.2em;
          mask-position: 0 0;
          width: 4.4em;
          height: 4.2em;
          position: absolute;
          top: calc(50% - 2.1em);
          left: calc(50% - 2.2em);
          background-color: #fff;
          transition: all ease .3s; }
      @media screen and (min-width: 1024px) {
        main.home section.check .action a:hover {
          background-position: 0% 0%; }
          main.home section.check .action a:hover .arrow:after {
            background-color: #D9FF00;
            -webkit-mask-position: 4.4rem 0;
            mask-position: 4.4rem 0; } }
main.home nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.home nav.cta {
      padding: 8rem 0 12rem; } }
  main.home nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.home nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.home nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.home nav.cta .container .copy {
          width: auto; } }
    main.home nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.home nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.home nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.home nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.home nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.home nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.home nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.home nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.home nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.home nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.home nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.home nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.home nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.home nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.home nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.home nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.home nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.home nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.home nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.home nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }

main.personality > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.personality > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.personality > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/personality/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.personality > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.personality > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.personality > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-personality {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -65.8em 0;
    				}
    			}
    			background-image: url("../images/personality/header_title_en.svg");
    //			background-size: 65.8rem 7.7rem;
    			background-size: 65.8em auto;
    			animation: header-title-en-personality linear calc(65.8s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.personality > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.personality > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.personality > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.personality > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.personality > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.personality > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.personality > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.personality > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.personality > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.personality > header .scroll {
        font-size: calc(3rem /4); } }
main.personality section.intro {
  background-color: #42CEAB; }
  main.personality section.intro:after {
    content: "";
    background-image: url("../images/personality/decor_text_black.svg");
    background-size: 13.7em auto;
    animation: decor-text-loop-personality linear calc(13.7s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-personality {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -13.7em 58%; } }
    @media screen and (max-width: 1023px) {
      main.personality section.intro:after {
        font-size: calc(3rem /4); } }
  main.personality section.intro .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 9.1rem 0 8rem; }
    @media screen and (max-width: 1023px) {
      main.personality section.intro .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.personality section.intro .container {
        padding: 6rem 0 5.6rem; } }
    main.personality section.intro .container h2,
    main.personality section.intro .container h3 {
      margin-bottom: 4.8rem; }
      @media screen and (max-width: 1023px) {
        main.personality section.intro .container h2,
        main.personality section.intro .container h3 {
          margin-bottom: 3.2em;
          margin-right: -1rem; } }
      main.personality section.intro .container h2 > span,
      main.personality section.intro .container h3 > span {
        position: relative;
        display: block;
        width: fit-content;
        font-family: YakuhanJP, 'Noto Sans JP', san-serif;
        font-style: normal;
        font-weight: bold;
        font-size: 6.4rem;
        line-height: 7.5rem;
        letter-spacing: -0.05em;
        margin-bottom: 1.7rem;
        color: #380077;
        position: relative;
        width: fit-content;
        transition: all ease .3s;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
        @media screen and (max-width: 1023px) {
          main.personality section.intro .container h2 > span,
          main.personality section.intro .container h3 > span {
            font-size: 3.2rem;
            line-height: 4rem;
            margin-bottom: .6rem; } }
        main.personality section.intro .container h2 > span:before,
        main.personality section.intro .container h3 > span:before {
          content: "";
          display: block;
          background-color: #380077;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          transition: all ease .3s .3s;
          transform-origin: 100% 0; }
        main.personality section.intro .container h2 > span[data-inview-active],
        main.personality section.intro .container h3 > span[data-inview-active] {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          main.personality section.intro .container h2 > span[data-inview-active]:before,
          main.personality section.intro .container h3 > span[data-inview-active]:before {
            transform: scale(0, 1); }
        main.personality section.intro .container h2 > span .highlight,
        main.personality section.intro .container h3 > span .highlight {
          display: inline-block;
          padding: 0 1.4rem;
          color: #42CEAB;
          background-color: #380077; }
          @media screen and (max-width: 1023px) {
            main.personality section.intro .container h2 > span .highlight,
            main.personality section.intro .container h3 > span .highlight {
              padding: 0 .4rem; } }
    main.personality section.intro .container p {
      font-weight: 700;
      font-size: 2.4rem;
      line-height: 4.6rem;
      letter-spacing: .3rem;
      color: #380077; }
      @media screen and (max-width: 1023px) {
        main.personality section.intro .container p {
          font-size: 1.4rem;
          line-height: 2.8rem; } }
      main.personality section.intro .container p + p {
        margin-top: 4.6rem; }
        @media screen and (max-width: 1023px) {
          main.personality section.intro .container p + p {
            margin-top: 2.8rem; } }
main.personality section.photo {
  background-color: #fff; }
  main.personality section.photo:after {
    content: "";
    background-image: url("../images/personality/decor_text_black.svg");
    background-size: 13.7em auto;
    animation: decor-text-loop-personality linear calc(13.7s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-personality {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -13.7em 58%; } }
    @media screen and (max-width: 1023px) {
      main.personality section.photo:after {
        font-size: calc(3rem /4); } }
main.personality section.value {
  background-color: #42CEAB; }
  main.personality section.value:after {
    content: "";
    background-image: url("../images/personality/decor_text_black.svg");
    background-size: 13.7em auto;
    animation: decor-text-loop-personality linear calc(13.7s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-personality {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -13.7em 58%; } }
    @media screen and (max-width: 1023px) {
      main.personality section.value:after {
        font-size: calc(3rem /4); } }
  main.personality section.value .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 5.6rem 0; }
    @media screen and (max-width: 1023px) {
      main.personality section.value .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.personality section.value .container {
        padding: 4rem 0; } }
    main.personality section.value .container p {
      font-family: YakuHanJP, 'Noto Sans JP', san-serif;
      font-weight: 700;
      font-size: 4rem;
      line-height: 5.8rem;
      letter-spacing: -0.05em;
      color: #380077; }
      @media screen and (max-width: 1023px) {
        main.personality section.value .container p {
          font-size: 2rem;
          line-height: 2.9rem; } }
      @media screen and (max-width: 1023px) {
        main.personality section.value .container p br {
          display: none; } }
main.personality section.stance {
  background-color: #fff; }
  main.personality section.stance:after {
    content: "";
    background-image: url("../images/personality/decor_text_black.svg");
    background-size: 13.7em auto;
    animation: decor-text-loop-personality linear calc(13.7s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-personality {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -13.7em 58%; } }
    @media screen and (max-width: 1023px) {
      main.personality section.stance:after {
        font-size: calc(3rem /4); } }
  main.personality section.stance .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 5.6rem 0 7.2rem; }
    @media screen and (max-width: 1023px) {
      main.personality section.stance .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.personality section.stance .container {
        padding: 5.6rem 0; } }
    main.personality section.stance .container h2 {
      font-weight: 700;
      font-size: 5.6rem;
      line-height: 8.1rem;
      letter-spacing: -0.05em;
      color: #000000;
      margin-bottom: 3.6rem; }
      @media screen and (max-width: 1023px) {
        main.personality section.stance .container h2 {
          font-size: 3.2rem;
          line-height: 4.6rem;
          margin-bottom: 3.2rem; } }
    main.personality section.stance .container > p {
      font-weight: 700;
      font-size: 1.6rem;
      line-height: 3.6rem;
      letter-spacing: .3rem;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.personality section.stance .container > p {
          font-size: 1.4rem;
          line-height: 2.8rem; } }
    main.personality section.stance .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: .8rem;
      margin-top: 5.6rem; }
      @media screen and (max-width: 1023px) {
        main.personality section.stance .container ul {
          gap: 2.4rem;
          margin-top: 4.8rem; } }
      main.personality section.stance .container ul li {
        flex: 0 0 calc((100% - .8rem * 4) / 5); }
        @media screen and (max-width: 1023px) {
          main.personality section.stance .container ul li {
            flex: 0 0 100%; } }
        main.personality section.stance .container ul li section {
          background-color: #42CEAB;
          height: 100%; }
          main.personality section.stance .container ul li section header {
            display: flex;
            border-bottom: .5rem solid #fff; }
            @media screen and (max-width: 1023px) {
              main.personality section.stance .container ul li section header {
                border-bottom: .4rem solid #fff; } }
            main.personality section.stance .container ul li section header .marker {
              display: flex;
              justify-content: center;
              align-items: center;
              width: 4rem;
              height: 4rem;
              font-weight: 700;
              font-size: 1.8rem;
              line-height: 3.4rem;
              text-align: center;
              letter-spacing: -0.05em;
              color: #42CEAB;
              background-color: #380077; }
              @media screen and (max-width: 1023px) {
                main.personality section.stance .container ul li section header .marker {
                  width: 5.4rem;
                  height: 5.4rem;
                  font-size: 2.4rem; } }
            main.personality section.stance .container ul li section header h3 {
              display: flex;
              align-items: center;
              height: 4rem;
              font-weight: 700;
              font-size: 1.8rem;
              line-height: 3.4rem;
              letter-spacing: -0.05em;
              color: #380077;
              padding: 0 1.6rem; }
              @media screen and (max-width: 1023px) {
                main.personality section.stance .container ul li section header h3 {
                  font-size: 2.4rem;
                  line-height: 4rem;
                  height: 5.4rem;
                  padding: 2rem 2.4rem; } }
          main.personality section.stance .container ul li section .body {
            padding: 1.8rem; }
            @media screen and (max-width: 1023px) {
              main.personality section.stance .container ul li section .body {
                padding: 2rem 2.4rem 2.4rem; } }
            main.personality section.stance .container ul li section .body .copy {
              font-weight: 700;
              font-size: 1.6rem;
              line-height: 2.4rem;
              letter-spacing: .2rem;
              color: #380077;
              margin-bottom: 1.6rem; }
              @media screen and (max-width: 1023px) {
                main.personality section.stance .container ul li section .body .copy {
                  font-size: 1.8rem;
                  line-height: 2.8rem;
                  margin-bottom: 2rem; } }
            main.personality section.stance .container ul li section .body p:not(.copy) {
              font-weight: 500;
              font-size: 1.4rem;
              line-height: 2.4rem;
              color: #380077; }
main.personality nav.leader {
  background-color: #fff;
  display: flex;
  align-items: center;
  background-image: url("../images/personality/leader_decor.png");
  background-size: 69rem 48.8rem;
  background-position: 100% 0;
  background-repeat: no-repeat; }
  @media screen and (max-width: 1023px) {
    main.personality nav.leader {
      display: block;
      background-image: none; } }
  main.personality nav.leader figure {
    flex: 0 0 72rem;
    overflow: hidden; }
    main.personality nav.leader figure a {
      display: block; }
      @media screen and (max-width: 1023px) {
        main.personality nav.leader figure a {
          position: relative;
          height: 34rem; } }
      main.personality nav.leader figure a img {
        transition: all ease .3s; }
        @media screen and (max-width: 1023px) {
          main.personality nav.leader figure a img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover; } }
        @media screen and (max-width: 1023px) {
          main.personality nav.leader figure a img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover; } }
      @media screen and (min-width: 1024px) {
        main.personality nav.leader figure a:hover img {
          transform: scale(1.05); } }
  main.personality nav.leader .content {
    flex: 1;
    padding: 4.8rem; }
    @media screen and (max-width: 1023px) {
      main.personality nav.leader .content {
        padding: 4rem 2.4rem 5.4rem;
        background-image: url("../images/personality/leader_decor.png");
        background-size: auto 40rem;
        background-position: 100% 100%;
        background-repeat: no-repeat; } }
    main.personality nav.leader .content hgroup {
      margin-bottom: 4rem; }
      main.personality nav.leader .content hgroup h2 {
        font-weight: 700;
        font-size: 3.2rem;
        line-height: 4.4rem;
        letter-spacing: 0.09em;
        color: #000000;
        margin-bottom: 1.6rem; }
        @media screen and (max-width: 1023px) {
          main.personality nav.leader .content hgroup h2 {
            font-size: 2.8rem;
            line-height: 4rem; } }
      main.personality nav.leader .content hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 500;
        font-size: 1.4rem;
        line-height: 2.8rem;
        letter-spacing: .1rem;
        color: #000000; }
        @media screen and (max-width: 1023px) {
          main.personality nav.leader .content hgroup p {
            font-size: 1.4rem;
            line-height: 1; } }
    main.personality nav.leader .content > p {
      font-weight: 500;
      font-size: 1.4rem;
      line-height: 2.8rem;
      letter-spacing: .1rem;
      color: #000000; }
    main.personality nav.leader .content .action {
      margin-top: 4.8rem; }
      @media screen and (max-width: 1023px) {
        main.personality nav.leader .content .action {
          margin-top: 4rem; } }
      main.personality nav.leader .content .action p a {
        position: relative;
        display: flex;
        align-items: center;
        width: fit-content;
        padding: 0 4.4rem 0 1.2rem;
        height: 3.2rem;
        padding-left: 1rem;
        border: 1px solid #000;
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 1.4rem;
        line-height: 2.1rem;
        color: #000000;
        background-color: #fff;
        background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
        background-size: 200% 100%;
        background-position: 100% 0%;
        transition: background-position 0.3s ease; }
        main.personality nav.leader .content .action p a .arrow {
          position: relative;
          content: "";
          display: block;
          width: 3.2rem;
          height: 3.2rem;
          position: absolute;
          top: 0;
          right: 0;
          background-color: #000; }
          main.personality nav.leader .content .action p a .arrow:after {
            content: "";
            display: block;
            width: 1.2rem;
            height: 1.2rem;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            -webkit-mask-image: url("../images/why/why_arrow.svg");
            -webkit-mask-size: 100% 100%;
            -webkit-mask-position: 0 0;
            mask-image: url("../images/why/why_arrow.svg");
            mask-size: 100% 100%;
            mask-position: 0 0;
            background-color: #fff;
            transition: all ease .3s; }
        @media screen and (min-width: 1024px) {
          main.personality nav.leader .content .action p a:hover {
            background-position: 0% 0%; }
            main.personality nav.leader .content .action p a:hover .arrow:after {
              background-color: #D9FF00;
              -webkit-mask-position: 1.2rem 0;
              mask-position: 1.2rem 0; } }
main.personality section.incompatible {
  background-color: #380077; }
  main.personality section.incompatible:after {
    content: "";
    background-image: url("../images/personality/decor_text_black.svg");
    background-size: 13.7em auto;
    animation: decor-text-loop-personality linear calc(13.7s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-personality {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -13.7em 58%; } }
    @media screen and (max-width: 1023px) {
      main.personality section.incompatible:after {
        font-size: calc(3rem /4); } }
  main.personality section.incompatible .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 5.5rem 0 7.2rem; }
    @media screen and (max-width: 1023px) {
      main.personality section.incompatible .container {
        width: calc(100% - 2.4rem * 2); } }
    main.personality section.incompatible .container h2 {
      font-weight: 700;
      font-size: 5.6rem;
      line-height: 8.1rem;
      letter-spacing: -0.05em;
      color: #42CEAB;
      margin-bottom: 3.6rem; }
      @media screen and (max-width: 1023px) {
        main.personality section.incompatible .container h2 {
          font-weight: 700;
          font-size: 3.2rem;
          line-height: 4.6rem;
          margin-bottom: 2.4rem; } }
    main.personality section.incompatible .container p {
      font-weight: 700;
      font-size: 1.6rem;
      line-height: 3.6rem;
      letter-spacing: .3rem;
      color: #42CEAB; }
      @media screen and (max-width: 1023px) {
        main.personality section.incompatible .container p {
          font-size: 1.4rem;
          line-height: 2.8rem; } }
    main.personality section.incompatible .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 3.4rem;
      margin: 4.8rem 0; }
      @media screen and (max-width: 1023px) {
        main.personality section.incompatible .container ul {
          margin: 2.4rem 0;
          gap: 1.6rem; } }
      main.personality section.incompatible .container ul li {
        flex: 0 0 calc((100% - 3.4rem * 2) / 3);
        background-color: #42CEAB;
        padding: 2.4rem 0;
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 4rem;
        text-align: center;
        letter-spacing: .2rem;
        color: #380077; }
        @media screen and (max-width: 1023px) {
          main.personality section.incompatible .container ul li {
            flex: 0 0 100%;
            font-size: 1.8rem;
            line-height: 2.6rem;
            color: #380077;
            padding: 1.6rem; } }
main.personality section.environment {
  background-color: #fff; }
  main.personality section.environment:before {
    content: "";
    background-image: url("../images/personality/decor_text_black.svg");
    background-size: 13.7em auto;
    animation: decor-text-loop-personality linear calc(13.7s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-personality {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -13.7em 58%; } }
    @media screen and (max-width: 1023px) {
      main.personality section.environment:before {
        font-size: calc(3rem /4); } }
  main.personality section.environment:after {
    content: "";
    background-image: url("../images/personality/decor_text_black.svg");
    background-size: 13.7em auto;
    animation: decor-text-loop-personality linear calc(13.7s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-personality {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -13.7em 58%; } }
    @media screen and (max-width: 1023px) {
      main.personality section.environment:after {
        font-size: calc(3rem /4); } }
  main.personality section.environment header .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 5.6rem 0 6.2rem; }
    @media screen and (max-width: 1023px) {
      main.personality section.environment header .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.personality section.environment header .container {
        padding: 5.6rem 0 4rem; } }
    main.personality section.environment header .container h2 {
      font-weight: 700;
      font-size: 5.6rem;
      line-height: 8.1rem;
      letter-spacing: -0.05em;
      color: #000000;
      margin-bottom: 3.6rem; }
      @media screen and (max-width: 1023px) {
        main.personality section.environment header .container h2 {
          font-size: 3.2rem;
          line-height: 4.6rem;
          margin-bottom: 2.4rem; } }
    main.personality section.environment header .container p {
      font-weight: 700;
      font-size: 1.6rem;
      line-height: 3.6rem;
      letter-spacing: .3rem;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.personality section.environment header .container p {
          font-size: 1.4rem;
          line-height: 2.8rem; } }
  main.personality section.environment .body ul li {
    border-top: 1px solid #000; }
    main.personality section.environment .body ul li section {
      background-image: url("../images/personality/environment_decor.png");
      background-repeat: no-repeat;
      background-size: 44.3rem 31.1rem;
      background-position: 100% 0; }
      @media screen and (max-width: 1023px) {
        main.personality section.environment .body ul li section {
          background-size: 28.5rem 20rem;
          background-position: 100% 100%; } }
      main.personality section.environment .body ul li section .container {
        width: calc(100% - 6.6rem * 2);
        max-width: 115rem;
        margin: 0 auto;
        padding: 0 0 5.6rem; }
        @media screen and (max-width: 1023px) {
          main.personality section.environment .body ul li section .container {
            width: calc(100% - 2.4rem * 2); } }
        main.personality section.environment .body ul li section .container header {
          display: flex;
          margin-bottom: 3.2rem; }
          @media screen and (max-width: 1023px) {
            main.personality section.environment .body ul li section .container header {
              margin-bottom: 2.4rem;
              margin-right: -2.4rem; } }
          main.personality section.environment .body ul li section .container header p.marker {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 7.9rem;
            height: 7.9rem;
            background-color: #380077;
            font-weight: 700;
            font-size: 3.2rem;
            text-align: center;
            letter-spacing: -0.05em;
            color: #42CEAB; }
            @media screen and (max-width: 1023px) {
              main.personality section.environment .body ul li section .container header p.marker {
                width: 5.6rem;
                height: 5.6rem;
                font-size: 2.8rem; } }
          main.personality section.environment .body ul li section .container header h3 {
            display: flex;
            align-items: center;
            background-color: #42CEAB;
            font-weight: 700;
            font-size: 4rem;
            letter-spacing: -0.05em;
            color: #380077;
            height: 7.9rem;
            padding: 0 2.4rem; }
            @media screen and (max-width: 1023px) {
              main.personality section.environment .body ul li section .container header h3 {
                font-size: 28px;
                line-height: 4rem;
                height: 5.6rem;
                padding: 0 .8rem;
                flex: 1; } }
        main.personality section.environment .body ul li section .container p.copy {
          font-weight: 700;
          font-size: 2.4rem;
          line-height: 3.6rem;
          letter-spacing: .2rem;
          color: #000000;
          margin-bottom: 2.4rem; }
          @media screen and (max-width: 1023px) {
            main.personality section.environment .body ul li section .container p.copy {
              font-size: 1.8rem;
              line-height: 3rem;
              margin-bottom: 1.6rem; } }
        main.personality section.environment .body ul li section .container p:not(.copy) {
          font-weight: 500;
          font-size: 1.4rem;
          line-height: 2.8rem;
          color: #000000; }
main.personality section.appeal {
  background-color: #42CEAB; }
  main.personality section.appeal:after {
    content: "";
    background-image: url("../images/personality/decor_text_black.svg");
    background-size: 13.7em auto;
    animation: decor-text-loop-personality linear calc(13.7s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-personality {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -13.7em 58%; } }
    @media screen and (max-width: 1023px) {
      main.personality section.appeal:after {
        font-size: calc(3rem /4); } }
  main.personality section.appeal .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 5.6rem 0; }
    @media screen and (max-width: 1023px) {
      main.personality section.appeal .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.personality section.appeal .container {
        padding: 4rem 0; } }
    main.personality section.appeal .container p {
      font-family: YakuHanJP, 'Noto Sans JP', san-serif;
      font-weight: 700;
      font-size: 4rem;
      line-height: 5.8rem;
      letter-spacing: -0.05em;
      color: #380077; }
      @media screen and (max-width: 1023px) {
        main.personality section.appeal .container p {
          font-size: 2rem;
          line-height: 2.9rem; } }
      @media screen and (max-width: 1023px) {
        main.personality section.appeal .container p br {
          display: none; } }
main.personality nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.personality nav.cta {
      padding: 8rem 0 12rem; } }
  main.personality nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.personality nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.personality nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.personality nav.cta .container .copy {
          width: auto; } }
    main.personality nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.personality nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.personality nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.personality nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.personality nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.personality nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.personality nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.personality nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.personality nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.personality nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.personality nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.personality nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.personality nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.personality nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.personality nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.personality nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.personality nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.personality nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.personality nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.personality nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.personality nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.personality nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.personality nav.other header {
        padding: 4rem 0 0; } }
    main.personality nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.personality nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.personality nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.personality nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.personality nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.personality nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.personality nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.personality nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.personality nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.personality nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.personality nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.personality nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.personality nav.other .content ul li {
            flex: 0 0 100%; } }
        main.personality nav.other .content ul li a {
          display: block; }
          main.personality nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.personality nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.personality nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.personality nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.personality nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.personality nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.personality nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.personality nav.other .content ul li:nth-child(4), main.personality nav.other .content ul li:nth-child(5), main.personality nav.other .content ul li:nth-child(6) {
            display: none; } }

main.leader > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.leader > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.leader > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/leader/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.leader > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.leader > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.leader > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-leader {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -94em 0;
    				}
    			}
    			background-image: url("../images/leader/header_title_en.svg");
    //			background-size: 94rem 7.7rem;
    			background-size: 94em auto;
    			animation: header-title-en-leader linear calc(94s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.leader > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.leader > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.leader > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.leader > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.leader > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.leader > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.leader > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.leader > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.leader > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.leader > header .scroll {
        font-size: calc(3rem /4); } }
main.leader article > header {
  position: relative;
  background-color: #fff; }
  main.leader article > header:after {
    content: "";
    background-image: url("../images/leader/decor_text_white.svg");
    background-size: 19.5em auto;
    animation: decor-text-loop-leader linear calc(19.5s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0; }
@keyframes decor-text-loop-leader {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -19.5em 58%; } }
    @media screen and (max-width: 1023px) {
      main.leader article > header:after {
        font-size: calc(3rem /4); } }
  @media screen and (max-width: 1023px) {
    main.leader article > header figure img {
      width: 100%;
      height: 34rem;
      object-fit: cover; } }
  main.leader article > header h2 {
    position: absolute;
    left: 7.3rem;
    bottom: 10.4rem; }
    @media screen and (max-width: 1023px) {
      main.leader article > header h2 {
        left: 2rem;
        bottom: 4.6rem; } }
    main.leader article > header h2 span {
      position: relative;
      display: block;
      width: fit-content;
      font-weight: 700;
      font-size: 6.4rem;
      line-height: 8rem;
      letter-spacing: -0.05em;
      color: #FFFFFF;
      background-color: #000;
      padding: 0 1rem;
      margin-bottom: 1.2rem;
      position: relative;
      width: fit-content;
      transition: all ease .3s;
      clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
      main.leader article > header h2 span:before {
        content: "";
        display: block;
        background-color: #000;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        transition: all ease .3s .3s;
        transform-origin: 100% 0; }
      main.leader article > header h2 span[data-inview-active] {
        clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
        main.leader article > header h2 span[data-inview-active]:before {
          transform: scale(0, 1); }
      @media screen and (max-width: 1023px) {
        main.leader article > header h2 span {
          font-size: 32px;
          line-height: 4rem;
          margin-bottom: .6rem; } }
      main.leader article > header h2 span:last-child {
        margin-bottom: 0; }
main.leader article section.profile {
  background-color: #fff; }
  main.leader article section.profile:after {
    content: "";
    background-image: url("../images/leader/decor_text_black.svg");
    background-size: 19.5em auto;
    animation: decor-text-loop-leader linear calc(19.5s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-leader {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -19.5em 58%; } }
    @media screen and (max-width: 1023px) {
      main.leader article section.profile:after {
        font-size: calc(3rem /4); } }
  main.leader article section.profile .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 8rem 0; }
    @media screen and (max-width: 1023px) {
      main.leader article section.profile .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.leader article section.profile .container {
        padding: 4rem 0 5.6rem; } }
    main.leader article section.profile .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.1rem; }
      @media screen and (max-width: 1023px) {
        main.leader article section.profile .container ul {
          gap: 4rem; } }
      main.leader article section.profile .container ul li {
        flex: 0 0 calc((100% - 4.1rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.leader article section.profile .container ul li {
            flex: 0 0 100%; } }
        main.leader article section.profile .container ul li figure {
          margin-bottom: 2.4rem;
          position: relative; }
          main.leader article section.profile .container ul li figure:after {
            content: "";
            background-size: auto 100%;
            background-repeat: no-repeat;
            background-position: 100% 0%;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0; }
        main.leader article section.profile .container ul li .join {
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 2rem;
          letter-spacing: 0.09em;
          color: #000000;
          width: fit-content;
          padding: 0 .4rem;
          border: 1px solid #000;
          margin-bottom: 1.6rem; }
        main.leader article section.profile .container ul li .job {
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 2.4rem;
          letter-spacing: .3rem;
          color: #000000;
          margin-bottom: 1.8rem; }
          @media screen and (max-width: 1023px) {
            main.leader article section.profile .container ul li .job {
              font-size: 1.2rem;
              line-height: 2.2rem;
              margin-bottom: .8rem; } }
        main.leader article section.profile .container ul li .name {
          margin-bottom: 2.4rem; }
          @media screen and (max-width: 1023px) {
            main.leader article section.profile .container ul li .name {
              display: flex;
              align-items: baseline;
              gap: 1.6rem; } }
          main.leader article section.profile .container ul li .name p:nth-child(1) {
            font-weight: 700;
            font-size: 2.4rem;
            line-height: 1;
            letter-spacing: 0.12em;
            color: #000000;
            margin-bottom: .6rem; }
          main.leader article section.profile .container ul li .name p:nth-child(2) {
            font-family: 'Poppins';
            font-style: normal;
            font-weight: 500;
            font-size: 1.4rem;
            line-height: 2.8rem;
            letter-spacing: .1rem;
            color: #000000; }
            @media screen and (max-width: 1023px) {
              main.leader article section.profile .container ul li .name p:nth-child(2) {
                font-size: 1.2rem;
                line-height: 1.8rem; } }
        main.leader article section.profile .container ul li .description {
          font-weight: 500;
          font-size: 1.4rem;
          line-height: 2.8rem;
          letter-spacing: .1rem;
          color: #000000; }
main.leader article section.intro {
  background-color: #EF7238; }
  main.leader article section.intro:after {
    content: "";
    background-image: url("../images/leader/decor_text_black.svg");
    background-size: 19.5em auto;
    animation: decor-text-loop-leader linear calc(19.5s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-leader {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -19.5em 58%; } }
    @media screen and (max-width: 1023px) {
      main.leader article section.intro:after {
        font-size: calc(3rem /4); } }
  main.leader article section.intro .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 9.1rem 0 8rem; }
    @media screen and (max-width: 1023px) {
      main.leader article section.intro .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.leader article section.intro .container {
        padding: 6rem 0 5.6rem; } }
    main.leader article section.intro .container h2,
    main.leader article section.intro .container h3 {
      margin-bottom: 4.8rem; }
      @media screen and (max-width: 1023px) {
        main.leader article section.intro .container h2,
        main.leader article section.intro .container h3 {
          margin-bottom: 3.2em;
          margin-right: -1rem; } }
      main.leader article section.intro .container h2 > span,
      main.leader article section.intro .container h3 > span {
        position: relative;
        display: block;
        width: fit-content;
        font-family: YakuhanJP, 'Noto Sans JP', san-serif;
        font-style: normal;
        font-weight: bold;
        font-size: 6.4rem;
        line-height: 7.5rem;
        letter-spacing: -0.05em;
        margin-bottom: 1.7rem;
        color: #0A536E;
        position: relative;
        width: fit-content;
        transition: all ease .3s;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
        @media screen and (max-width: 1023px) {
          main.leader article section.intro .container h2 > span,
          main.leader article section.intro .container h3 > span {
            font-size: 3.2rem;
            line-height: 4rem;
            margin-bottom: .6rem; } }
        main.leader article section.intro .container h2 > span:before,
        main.leader article section.intro .container h3 > span:before {
          content: "";
          display: block;
          background-color: #0A536E;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          transition: all ease .3s .3s;
          transform-origin: 100% 0; }
        main.leader article section.intro .container h2 > span[data-inview-active],
        main.leader article section.intro .container h3 > span[data-inview-active] {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          main.leader article section.intro .container h2 > span[data-inview-active]:before,
          main.leader article section.intro .container h3 > span[data-inview-active]:before {
            transform: scale(0, 1); }
        main.leader article section.intro .container h2 > span .highlight,
        main.leader article section.intro .container h3 > span .highlight {
          display: inline-block;
          padding: 0 1.4rem;
          color: #EF7238;
          background-color: #0A536E; }
          @media screen and (max-width: 1023px) {
            main.leader article section.intro .container h2 > span .highlight,
            main.leader article section.intro .container h3 > span .highlight {
              padding: 0 .4rem; } }
    main.leader article section.intro .container p {
      font-weight: 700;
      font-size: 2.4rem;
      line-height: 4.6rem;
      letter-spacing: .3rem;
      color: #0A536E; }
      @media screen and (max-width: 1023px) {
        main.leader article section.intro .container p {
          font-size: 1.4rem;
          line-height: 2.8rem; } }
      main.leader article section.intro .container p + p {
        margin-top: 4.6rem; }
        @media screen and (max-width: 1023px) {
          main.leader article section.intro .container p + p {
            margin-top: 2.8rem; } }
main.leader article > .body:after {
  content: "";
  background-image: url("../images/leader/decor_text_black.svg");
  background-size: 19.5em auto;
  animation: decor-text-loop-leader linear calc(19.5s / 10) infinite;
  text-indent: -9999px;
  overflow: hidden;
  background-position: 0 58%;
  background-repeat: repeat-x;
  display: block;
  font-size: 1rem;
  height: 4em;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  background-color: #fff; }
@keyframes decor-text-loop-leader {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -19.5em 58%; } }
  @media screen and (max-width: 1023px) {
    main.leader article > .body:after {
      font-size: calc(3rem /4); } }
main.leader article > .body > section {
  display: flex;
  background-color: #EF7238; }
  @media screen and (max-width: 1023px) {
    main.leader article > .body > section {
      display: block; } }
  main.leader article > .body > section + section {
    margin-top: -10rem; }
    @media screen and (max-width: 1023px) {
      main.leader article > .body > section + section {
        margin-top: 0; } }
  main.leader article > .body > section header {
    padding: 10rem 0 10rem 6rem;
    flex: 0 0 47.4rem;
    background-color: #EF7238; }
    @media screen and (max-width: 1023px) {
      main.leader article > .body > section header {
        padding: 4rem 0  2.4rem 2.4rem; } }
    main.leader article > .body > section header h3,
    main.leader article > .body > section header h2 {
      position: sticky;
      top: 20rem; }
      @media screen and (max-width: 1023px) {
        main.leader article > .body > section header h3,
        main.leader article > .body > section header h2 {
          position: static; } }
      main.leader article > .body > section header h3 span,
      main.leader article > .body > section header h2 span {
        display: block;
        width: fit-content;
        padding: 0 .8rem;
        font-family: YakuhanJP, 'Noto Sans JP', san-serif;
        font-style: normal;
        font-weight: 700;
        font-size: 2.8rem;
        line-height: 3.6rem;
        margin-bottom: .7rem;
        letter-spacing: -0.05em;
        color: #EF7238;
        background-color: #0A536E;
        position: relative;
        width: fit-content;
        transition: all ease .3s;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
        main.leader article > .body > section header h3 span:before,
        main.leader article > .body > section header h2 span:before {
          content: "";
          display: block;
          background-color: #0A536E;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          transition: all ease .3s .3s;
          transform-origin: 100% 0; }
        main.leader article > .body > section header h3 span[data-inview-active],
        main.leader article > .body > section header h2 span[data-inview-active] {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          main.leader article > .body > section header h3 span[data-inview-active]:before,
          main.leader article > .body > section header h2 span[data-inview-active]:before {
            transform: scale(0, 1); }
        @media screen and (max-width: 1023px) {
          main.leader article > .body > section header h3 span,
          main.leader article > .body > section header h2 span {
            font-size: 2.4rem;
            line-height: 3.18rem;
            padding: 0 .4rem;
            margin-bottom: .54rem; } }
  main.leader article > .body > section .content {
    background-color: #fff;
    flex: 1;
    padding: 10rem 6.7rem 10rem 9.7rem; }
    @media screen and (max-width: 1023px) {
      main.leader article > .body > section .content {
        margin-left: 24px; } }
    @media screen and (max-width: 1023px) {
      main.leader article > .body > section .content {
        margin-left: 24px;
        padding: 0 2.4rem 0 0; } }
    @media screen and (max-width: 1023px) {
      main.leader article > .body > section .content section {
        padding-bottom: 3.2rem; } }
    main.leader article > .body > section .content section + section {
      margin-top: 8rem; }
      @media screen and (max-width: 1023px) {
        main.leader article > .body > section .content section + section {
          margin-top: 0; } }
    main.leader article > .body > section .content section h4 {
      position: relative;
      font-weight: 700;
      font-size: 1.8rem;
      line-height: 3.2rem;
      letter-spacing: .2rem;
      color: #000000;
      margin-bottom: 3.2rem;
      padding-bottom: 1.2rem;
      padding-left: 3.2rem;
      border-bottom: 1px solid #000; }
      @media screen and (max-width: 1023px) {
        main.leader article > .body > section .content section h4 {
          font-size: 1.6rem;
          line-height: 3.2rem;
          margin-bottom: 0;
          padding: 2.4rem 0 2.4rem 0;
          padding-left: 4.4rem; } }
      main.leader article > .body > section .content section h4:before {
        content: "Q.";
        position: absolute;
        top: 0;
        left: 0;
        font-weight: 700;
        font-size: 1.8rem;
        line-height: 3.2rem;
        letter-spacing: .2rem;
        color: #EF7238; }
        @media screen and (max-width: 1023px) {
          main.leader article > .body > section .content section h4:before {
            top: 2.4rem;
            left: 1.6rem;
            font-size: 1.6rem; } }
    main.leader article > .body > section .content section dl dt {
      position: relative;
      font-weight: 700;
      font-size: 1.6rem;
      line-height: 2.8rem;
      letter-spacing: .3rem;
      color: #EF7238;
      padding-left: 12.2rem;
      margin-top: 2.4rem;
      margin-bottom: .8rem; }
      @media screen and (max-width: 1023px) {
        main.leader article > .body > section .content section dl dt {
          padding-top: 1.6rem;
          padding-left: 10.6rem;
          margin-top: 0;
          margin-bottom: .8rem; } }
      main.leader article > .body > section .content section dl dt figure img {
        position: absolute;
        top: 0;
        left: 0;
        width: 9rem; }
    main.leader article > .body > section .content section dl dd {
      font-weight: 700;
      font-size: 1.4rem;
      line-height: 2.8rem;
      letter-spacing: .3rem;
      color: #000000;
      border-bottom: 1px dotted #000;
      padding-left: 12.2rem;
      padding-bottom: 2.4rem;
      min-height: 5.4rem; }
      @media screen and (max-width: 1023px) {
        main.leader article > .body > section .content section dl dd {
          padding-left: 10.6rem; } }
      main.leader article > .body > section .content section dl dd:last-child {
        border: none;
        padding-bottom: 0; }
    main.leader article > .body > section .content section > figure {
      margin-top: 4rem; }
main.leader section.appeal {
  background-color: #EF7238; }
  main.leader section.appeal:after {
    content: "";
    background-image: url("../images/leader/decor_text_black.svg");
    background-size: 19.5em auto;
    animation: decor-text-loop-leader linear calc(19.5s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-leader {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -19.5em 58%; } }
    @media screen and (max-width: 1023px) {
      main.leader section.appeal:after {
        font-size: calc(3rem /4); } }
  main.leader section.appeal .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 5.6rem 0; }
    @media screen and (max-width: 1023px) {
      main.leader section.appeal .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.leader section.appeal .container {
        padding: 4rem 0; } }
    main.leader section.appeal .container p {
      font-family: YakuHanJP, 'Noto Sans JP', san-serif;
      font-weight: 700;
      font-size: 4rem;
      line-height: 5.8rem;
      letter-spacing: -0.05em;
      color: #0A536E; }
      @media screen and (max-width: 1023px) {
        main.leader section.appeal .container p {
          font-size: 2rem;
          line-height: 2.9rem; } }
      @media screen and (max-width: 1023px) {
        main.leader section.appeal .container p br {
          display: none; } }
main.leader nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.leader nav.cta {
      padding: 8rem 0 12rem; } }
  main.leader nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.leader nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.leader nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.leader nav.cta .container .copy {
          width: auto; } }
    main.leader nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.leader nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.leader nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.leader nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.leader nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.leader nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.leader nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.leader nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.leader nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.leader nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.leader nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.leader nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.leader nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.leader nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.leader nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.leader nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.leader nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.leader nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.leader nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.leader nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.leader nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.leader nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.leader nav.other header {
        padding: 4rem 0 0; } }
    main.leader nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.leader nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.leader nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.leader nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.leader nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.leader nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.leader nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.leader nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.leader nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.leader nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.leader nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.leader nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.leader nav.other .content ul li {
            flex: 0 0 100%; } }
        main.leader nav.other .content ul li a {
          display: block; }
          main.leader nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.leader nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.leader nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.leader nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.leader nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.leader nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.leader nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.leader nav.other .content ul li:nth-child(4), main.leader nav.other .content ul li:nth-child(5), main.leader nav.other .content ul li:nth-child(6) {
            display: none; } }

main.about > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.about > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.about > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/about/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.about > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.about > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.about > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-about {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -36.6em 0;
    				}
    			}
    			background-image: url("../images/about/header_title_en.svg");
    //			background-size: 36.6rem 7.7rem;
    			background-size: 36.6em auto;
    			animation: header-title-en-about linear calc(36.6s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.about > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.about > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.about > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.about > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.about > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.about > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.about > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.about > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.about > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.about > header .scroll {
        font-size: calc(3rem /4); } }
main.about section.comingsoon {
  background-color: #fff; }
  main.about section.comingsoon:after {
    content: "";
    background-image: url("../images/internship/decor_text_black.svg");
    background-size: 12.1em auto;
    animation: decor-text-loop-internship linear calc(12.1s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-internship {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -12.1em 58%; } }
    @media screen and (max-width: 1023px) {
      main.about section.comingsoon:after {
        font-size: calc(3rem /4); } }
  main.about section.comingsoon .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 6.4rem 0; }
    @media screen and (max-width: 1023px) {
      main.about section.comingsoon .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.about section.comingsoon .container {
        padding: 3.2rem 0; } }
    main.about section.comingsoon .container p {
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      text-align: center;
      color: #D71900; }
      @media screen and (max-width: 1023px) {
        main.about section.comingsoon .container p {
          font-size: 4rem; } }
main.about > .body {
  position: relative;
  display: flex;
  background-color: #fff;
  padding-bottom: 4rem; }
  @media screen and (max-width: 1023px) {
    main.about > .body {
      display: block; } }
  main.about > .body:after {
    content: "";
    background-image: url("../images/about/decor_text_black.svg");
    background-size: 8.1em auto;
    animation: decor-text-loop-about linear calc(8.1s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0; }
@keyframes decor-text-loop-about {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -8.1em 58%; } }
    @media screen and (max-width: 1023px) {
      main.about > .body:after {
        font-size: calc(3rem /4); } }
  main.about > .body nav.indicator {
    background-color: #F4F4F4;
    flex: 0 0 30rem;
    padding: 8.8rem 4.8rem 8.8rem 6.6rem; }
    @media screen and (max-width: 1023px) {
      main.about > .body nav.indicator {
        padding: 4rem 2.4rem 5.6rem; } }
    main.about > .body nav.indicator ul {
      position: sticky;
      top: 10rem;
      display: flex;
      flex-wrap: wrap;
      gap: 1.8rem; }
      @media screen and (max-width: 1023px) {
        main.about > .body nav.indicator ul {
          position: relative;
          top: auto;
          gap: 1.6rem; } }
      main.about > .body nav.indicator ul li {
        flex: 0 0 100%; }
        main.about > .body nav.indicator ul li a {
          position: relative;
          display: flex;
          align-items: center;
          font-style: normal;
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 2.0rem;
          letter-spacing: 0.09em;
          color: #000000;
          min-height: 4.4rem;
          padding: 1rem 2.4rem;
          border: 1px solid #000;
          border-radius: 9999px; }
          @media screen and (max-width: 1023px) {
            main.about > .body nav.indicator ul li a {
              height: auto;
              padding: 1.2rem 2rem; } }
          main.about > .body nav.indicator ul li a:after {
            content: "";
            -webkit-mask-image: url("../images/vision/nav_arrow.svg");
            mask-image: url("../images/vision/nav_arrow.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            display: block;
            width: 1.1rem;
            height: 1.1rem;
            position: absolute;
            right: 2rem;
            top: 50%;
            transform: translateY(-50%);
            background-color: #000; }
          main.about > .body nav.indicator ul li a.active {
            background-color: #000;
            color: #fff; }
            main.about > .body nav.indicator ul li a.active:after {
              background-color: #fff; }
  main.about > .body > .content {
    flex: 1;
    padding: 2.5rem 6.5rem 10rem; }
    @media screen and (max-width: 1023px) {
      main.about > .body > .content {
        padding: 0rem 2.4rem 5.6rem; } }
    main.about > .body > .content section {
      padding-top: 7rem;
      padding-bottom: 6.4rem;
      border-bottom: 1px dashed #000; }
      @media screen and (max-width: 1023px) {
        main.about > .body > .content section {
          padding-top: 4rem;
          padding-bottom: 4rem; } }
      main.about > .body > .content section:last-child {
        padding-bottom: 0;
        border: none; }
      main.about > .body > .content section h2 {
        font-weight: 700;
        font-size: 4rem;
        line-height: 5rem;
        letter-spacing: -0.05em;
        color: #FFFFFF;
        width: fit-content;
        margin-bottom: 4rem;
        position: relative;
        width: fit-content;
        transition: all ease .3s;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
        @media screen and (max-width: 1023px) {
          main.about > .body > .content section h2 {
            font-size: 3.2rem;
            line-height: 4.5rem;
            margin-bottom: 3.2rem; } }
        main.about > .body > .content section h2 .highlight {
          padding: 0 .8rem;
          background-color: #000; }
          @media screen and (max-width: 1023px) {
            main.about > .body > .content section h2 .highlight {
              padding: 0 .4rem; } }
        main.about > .body > .content section h2:before {
          content: "";
          display: block;
          background-color: #000;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          transition: all ease .3s .3s;
          transform-origin: 100% 0; }
        main.about > .body > .content section h2[data-inview-active] {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          main.about > .body > .content section h2[data-inview-active]:before {
            transform: scale(0, 1); }
      main.about > .body > .content section figure {
        box-shadow: 0.4rem 0.4rem 3rem rgba(0, 0, 0, 0.15); }
main.about nav.indicator-popup {
  position: static;
  display: none; }
  @media screen and (max-width: 1023px) {
    main.about nav.indicator-popup {
      display: block; } }
  main.about nav.indicator-popup .toggle {
    position: fixed;
    right: 0;
    bottom: 4.8rem;
    z-index: 100;
    transform: translateX(100%);
    transition: all ease .3s; }
    main.about nav.indicator-popup .toggle button {
      position: relative;
      height: 4rem;
      background-color: #000;
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 1.6rem;
      line-height: 4rem;
      color: #FFFFFF;
      padding: 0 5.1rem 0 1.2rem !important; }
      main.about nav.indicator-popup .toggle button:before, main.about nav.indicator-popup .toggle button:after {
        content: "";
        display: block;
        width: 2.2rem;
        height: 1px;
        position: absolute;
        top: 50%;
        right: 1.8rem;
        background-color: #fff; }
      main.about nav.indicator-popup .toggle button:before {
        margin-top: -.3rem; }
      main.about nav.indicator-popup .toggle button:after {
        margin-top: .3rem; }
    main.about nav.indicator-popup .toggle.active + .dialog {
      pointer-events: auto;
      opacity: 1; }
  main.about nav.indicator-popup .dialog {
    position: fixed;
    z-index: 10000;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    pointer-events: none;
    transition: all ease .3s;
    opacity: 0;
    display: flex;
    justify-content: center;
    align-items: center; }
    main.about nav.indicator-popup .dialog .wrapper {
      position: relative;
      background-color: #fff;
      width: 34.2rem;
      padding: 3.2rem 2.4rem; }
      main.about nav.indicator-popup .dialog .wrapper .close {
        position: absolute;
        right: 0;
        bottom: 100%; }
        main.about nav.indicator-popup .dialog .wrapper .close button {
          position: relative;
          width: 5.6rem;
          height: 4rem;
          background-color: #fff;
          text-indent: -9999px;
          overflow: hidden; }
          main.about nav.indicator-popup .dialog .wrapper .close button:before, main.about nav.indicator-popup .dialog .wrapper .close button:after {
            content: "";
            position: absolute;
            top: 50%;
            left: calc(50% - 1.2rem);
            display: block;
            width: 2.4rem;
            height: 1px;
            background-color: #000; }
          main.about nav.indicator-popup .dialog .wrapper .close button:before {
            transform: rotate(20deg); }
          main.about nav.indicator-popup .dialog .wrapper .close button:after {
            transform: rotate(-20deg); }
      main.about nav.indicator-popup .dialog .wrapper ul {
        display: flex;
        flex-wrap: wrap;
        gap: 16px; }
        main.about nav.indicator-popup .dialog .wrapper ul li {
          flex: 0 0 100%; }
          main.about nav.indicator-popup .dialog .wrapper ul li a {
            position: relative;
            display: block;
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2rem;
            letter-spacing: 0.09em;
            color: #000;
            border: 1px solid #000;
            border-radius: 9999px;
            padding: 1.2rem 2rem; }
            main.about nav.indicator-popup .dialog .wrapper ul li a:after {
              content: "";
              -webkit-mask-image: url("../images/vision/nav_arrow.svg");
              mask-image: url("../images/vision/nav_arrow.svg");
              -webkit-mask-size: 100% 100%;
              mask-size: 100% 100%;
              display: block;
              width: 1.1rem;
              height: 1.1rem;
              position: absolute;
              right: 2rem;
              top: 50%;
              transform: translateY(-50%);
              background-color: #000; }
            main.about nav.indicator-popup .dialog .wrapper ul li a.active {
              background-color: #000;
              color: #fff; }
              main.about nav.indicator-popup .dialog .wrapper ul li a.active:after {
                background-color: #fff; }
  main.about nav.indicator-popup.on .toggle {
    transform: translateX(0); }
main.about .dialog {
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.75);
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: auto;
  opacity: 0;
  pointer-events: none;
  transition: all ease .3s; }
  main.about .dialog.active {
    opacity: 1;
    pointer-events: auto; }
  main.about .dialog .wrapper {
    position: relative;
    margin: auto; }
    main.about .dialog .wrapper section {
      position: relative;
      width: 80rem;
      aspect-ratio: 16 / 9;
      display: none; }
      @media screen and (max-width: 1023px) {
        main.about .dialog .wrapper section {
          width: calc(100vw - 2.4rem * 2); } }
      main.about .dialog .wrapper section.active {
        display: block; }
      main.about .dialog .wrapper section iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
    main.about .dialog .wrapper .close {
      position: absolute;
      right: -5.6rem;
      top: -4rem; }
      @media screen and (max-width: 1023px) {
        main.about .dialog .wrapper .close {
          right: 0;
          top: -5.6rem; } }
      main.about .dialog .wrapper .close button {
        position: relative;
        width: 5.6rem;
        height: 4rem;
        background-color: #fff;
        text-indent: -9999px;
        overflow: hidden; }
        main.about .dialog .wrapper .close button:before, main.about .dialog .wrapper .close button:after {
          content: "";
          display: block;
          width: 2.4rem;
          height: 1px;
          background-color: #000;
          position: absolute;
          top: 50%;
          left: calc(50% - 1.2rem); }
        main.about .dialog .wrapper .close button:before {
          transform: rotate(20deg); }
        main.about .dialog .wrapper .close button:after {
          transform: rotate(-20deg); }
main.about nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.about nav.cta {
      padding: 8rem 0 12rem; } }
  main.about nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.about nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.about nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.about nav.cta .container .copy {
          width: auto; } }
    main.about nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.about nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.about nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.about nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.about nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.about nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.about nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.about nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.about nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.about nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.about nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.about nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.about nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.about nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.about nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.about nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.about nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.about nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.about nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.about nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.about nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.about nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.about nav.other header {
        padding: 4rem 0 0; } }
    main.about nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.about nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.about nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.about nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.about nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.about nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.about nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.about nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.about nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.about nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.about nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.about nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.about nav.other .content ul li {
            flex: 0 0 100%; } }
        main.about nav.other .content ul li a {
          display: block; }
          main.about nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.about nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.about nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.about nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.about nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.about nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.about nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.about nav.other .content ul li:nth-child(4), main.about nav.other .content ul li:nth-child(5), main.about nav.other .content ul li:nth-child(6) {
            display: none; } }

main.interview > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.interview > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.interview > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/interview/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.interview > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.interview > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.interview > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-interview {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -53.9em 0;
    				}
    			}
    			background-image: url("../images/interview/header_title_en.svg");
    //			background-size: 53.9rem 7.7rem;
    			background-size: 53.9em auto;
    			animation: header-title-en-interview linear calc(53.9s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.interview > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.interview > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.interview > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.interview > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.interview > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.interview > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.interview > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.interview > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.interview > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.interview > header .scroll {
        font-size: calc(3rem /4); } }
main.interview nav.filter {
  background-color: #fff;
  border-bottom: .8rem solid #000; }
  @media screen and (max-width: 1023px) {
    main.interview nav.filter {
      border-bottom: .4rem solid #000; } }
  main.interview nav.filter .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 4.8rem 0 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.interview nav.filter .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.interview nav.filter .container {
        padding: 4rem 0 4.8rem; } }
    main.interview nav.filter .container h2 {
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 4rem;
      line-height: 6rem;
      color: #000000;
      margin-bottom: 2rem; }
      @media screen and (max-width: 1023px) {
        main.interview nav.filter .container h2 {
          font-size: 2.8rem;
          line-height: 4.2rem;
          margin-bottom: 1.6rem; } }
    main.interview nav.filter .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 1.2rem;
      border: 1px solid #000;
      border-radius: 1.4rem;
      padding: 2.4rem; }
      @media screen and (max-width: 1023px) {
        main.interview nav.filter .container ul {
          padding: 1.4rem;
          gap: 1rem; } }
      main.interview nav.filter .container ul li a {
        display: block;
        font-weight: 700;
        font-size: 1.4rem;
        line-height: 2rem;
        letter-spacing: 0.09em;
        padding: 1.2rem 2.4rem;
        border: 1px solid #000;
        border-radius: 9999px;
        color: #000;
        cursor: pointer;
        transition: all ease .3s; }
        @media screen and (max-width: 1023px) {
          main.interview nav.filter .container ul li a {
            padding: .8rem 1.4rem;
            line-height: 2rem; } }
        main.interview nav.filter .container ul li a:before {
          content: "＃"; }
        main.interview nav.filter .container ul li a.active {
          background-color: #000;
          color: #fff; }
main.interview section.interview {
  background-color: #fff; }
  main.interview section.interview:after {
    content: "";
    background-image: url("../images/interview/decor_text_black.svg");
    background-size: 11.4em auto;
    animation: decor-text-loop-interview linear calc(11.4s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-interview {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -11.4em 58%; } }
    @media screen and (max-width: 1023px) {
      main.interview section.interview:after {
        font-size: calc(3rem /4); } }
  main.interview section.interview .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    position: relative; }
    @media screen and (max-width: 1023px) {
      main.interview section.interview .container {
        width: calc(100% - 2.4rem * 2); } }
    main.interview section.interview .container:before {
      content: "";
      background-image: url("../images/interview/decor_text_vertical_black.svg");
      background-size: 1.5em 11.6em;
      animation: decor-text-vertical-loop-interview linear calc(11.6s / 10) infinite;
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      background-position: 50% 0;
      background-repeat: repeat-y;
      display: block;
      font-size: 1rem;
      width: 6.5em;
      border-left: 1px solid #000;
      position: absolute;
      top: 0;
      left: -6.5rem;
      bottom: 0;
      border-right: 1px solid #000;
      border-left: none; }
@keyframes decor-text-vertical-loop-interview {
  0% {
    background-position: 50% 0; }
  100% {
    background-position: 50% -11.6em; } }
      @media screen and (max-width: 1023px) {
        main.interview section.interview .container:before {
          font-size: .6rem; } }
      @media screen and (max-width: 1023px) {
        main.interview section.interview .container:before {
          width: 2.4rem; } }
      @media screen and (max-width: 1023px) {
        main.interview section.interview .container:before {
          left: -2.4rem; } }
    main.interview section.interview .container:after {
      content: "";
      background-image: url("../images/interview/decor_text_vertical_black.svg");
      background-size: 1.5em 11.6em;
      animation: decor-text-vertical-loop-interview linear calc(11.6s / 10) infinite;
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      background-position: 50% 0;
      background-repeat: repeat-y;
      display: block;
      font-size: 1rem;
      width: 6.5em;
      border-left: 1px solid #000;
      position: absolute;
      top: 0;
      right: -6.5rem;
      bottom: 0;
      animation-direction: reverse; }
@keyframes decor-text-vertical-loop-interview {
  0% {
    background-position: 50% 0; }
  100% {
    background-position: 50% -11.6em; } }
      @media screen and (max-width: 1023px) {
        main.interview section.interview .container:after {
          font-size: .6rem; } }
      @media screen and (max-width: 1023px) {
        main.interview section.interview .container:after {
          width: 2.4rem; } }
      @media screen and (max-width: 1023px) {
        main.interview section.interview .container:after {
          right: -2.4rem; } }
    main.interview section.interview .container > ul {
      position: relative;
      top: -1px;
      display: flex;
      flex-wrap: wrap;
      margin-left: -1px;
      margin-bottom: -1px; }
      main.interview section.interview .container > ul > li {
        flex: 0 0 calc(100% / 3);
        border-top: 1px solid #000;
        border-left: 1px solid #000;
        display: none; }
        @media screen and (max-width: 1023px) {
          main.interview section.interview .container > ul > li {
            flex: 0 0 calc(100%); } }
        main.interview section.interview .container > ul > li.active {
          display: block; }
        main.interview section.interview .container > ul > li a {
          position: relative;
          display: block;
          height: 100%;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          main.interview section.interview .container > ul > li a figure {
            overflow: hidden; }
            main.interview section.interview .container > ul > li a figure img {
              transition: all ease .3s; }
          main.interview section.interview .container > ul > li a .content {
            padding: 3rem 2rem 4rem; }
            @media screen and (max-width: 1023px) {
              main.interview section.interview .container > ul > li a .content {
                padding: 1.6rem 1.6rem 3.6rem; } }
            main.interview section.interview .container > ul > li a .content .copy {
              font-weight: 700;
              font-size: 2rem;
              line-height: 2.9rem;
              letter-spacing: -0.05em;
              color: #000000;
              margin-bottom: 3.2rem; }
              @media screen and (max-width: 1023px) {
                main.interview section.interview .container > ul > li a .content .copy {
                  font-size: 1.8rem;
                  line-height: 2.6rem;
                  margin-bottom: 3px; } }
            main.interview section.interview .container > ul > li a .content .join {
              font-weight: 700;
              font-size: 1.4rem;
              line-height: 2rem;
              letter-spacing: 0.09em;
              color: #000000;
              width: fit-content;
              padding: .4rem;
              border: 1px solid #000;
              margin-bottom: 1rem; }
              @media screen and (max-width: 1023px) {
                main.interview section.interview .container > ul > li a .content .join {
                  font-size: 1.2rem;
                  line-height: 1.8rem; } }
            main.interview section.interview .container > ul > li a .content .job {
              font-weight: 700;
              font-size: 1.4rem;
              line-height: 3.2rem;
              letter-spacing: .3rem;
              color: #000000; }
              @media screen and (max-width: 1023px) {
                main.interview section.interview .container > ul > li a .content .job {
                  font-size: 1.2rem;
                  line-height: 2.2rem;
                  letter-spacing: 0;
                  margin-bottom: .8rem; } }
            main.interview section.interview .container > ul > li a .content .name p:nth-child(1) {
              font-weight: 700;
              font-size: 3.2rem;
              line-height: 4.4rem;
              letter-spacing: 0.09em;
              color: #000000;
              margin-bottom: .6rem; }
              @media screen and (max-width: 1023px) {
                main.interview section.interview .container > ul > li a .content .name p:nth-child(1) {
                  font-weight: 700;
                  font-size: 2.4rem;
                  line-height: 3.4rem;
                  margin-bottom: .8rem; } }
            main.interview section.interview .container > ul > li a .content .name p:nth-child(2) {
              font-family: 'Poppins';
              font-style: normal;
              font-weight: 500;
              font-size: 1.4rem;
              line-height: 2.8rem;
              letter-spacing: .1rem;
              color: #000000; }
              @media screen and (max-width: 1023px) {
                main.interview section.interview .container > ul > li a .content .name p:nth-child(2) {
                  font-size: 1.4rem;
                  line-height: 1.8rem; } }
          main.interview section.interview .container > ul > li a .arrow {
            content: "";
            display: block;
            width: 6rem;
            height: 6rem;
            position: absolute;
            right: 0;
            bottom: 0;
            background-color: #000; }
            @media screen and (max-width: 1023px) {
              main.interview section.interview .container > ul > li a .arrow {
                width: 5.4rem;
                height: 5.4rem; } }
            main.interview section.interview .container > ul > li a .arrow:after {
              content: "";
              position: absolute;
              top: 50%;
              left: 50%;
              display: block;
              width: 2.2rem;
              height: 2.2rem;
              transform: translate(-50%, -50%);
              -webkit-mask-image: url("../images/interview/interview_arrow.svg");
              -webkit-mask-size: 100% 100%;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/interview/interview_arrow.svg");
              mask-size: 100% 100%;
              mask-position: 0 0;
              background-color: #fff;
              transition: all ease .3s; }
              @media screen and (max-width: 1023px) {
                main.interview section.interview .container > ul > li a .arrow:after {
                  width: 1.8rem;
                  height: 1.8rem; } }
          @media screen and (min-width: 1024px) {
            main.interview section.interview .container > ul > li a:hover {
              background-position: 0% 0%; }
              main.interview section.interview .container > ul > li a:hover figure img {
                transform: scale(1.05); }
              main.interview section.interview .container > ul > li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
        main.interview section.interview .container > ul > li.empty {
          flex: 1;
          background: linear-gradient(to bottom right, transparent calc(50% - 0.5px), #000 calc(50% - 0.5px), #000 calc(50% + 0.5px), transparent calc(50% + 0.5px)); }
          @media screen and (max-width: 1023px) {
            main.interview section.interview .container > ul > li.empty {
              display: none !important; } }
main.interview nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.interview nav.cta {
      padding: 8rem 0 12rem; } }
  main.interview nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.interview nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.interview nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.interview nav.cta .container .copy {
          width: auto; } }
    main.interview nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.interview nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.interview nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.interview nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.interview nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.interview nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.interview nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.interview nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.interview nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.interview nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.interview nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.interview nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.interview nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.interview nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.interview nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.interview nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.interview nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.interview nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.interview nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.interview nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.interview nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.interview nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.interview nav.other header {
        padding: 4rem 0 0; } }
    main.interview nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.interview nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.interview nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.interview nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.interview nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.interview nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.interview nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.interview nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.interview nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.interview nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.interview nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.interview nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.interview nav.other .content ul li {
            flex: 0 0 100%; } }
        main.interview nav.other .content ul li a {
          display: block; }
          main.interview nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.interview nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.interview nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.interview nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.interview nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.interview nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.interview nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.interview nav.other .content ul li:nth-child(4), main.interview nav.other .content ul li:nth-child(5), main.interview nav.other .content ul li:nth-child(6) {
            display: none; } }

main.interview-detail > header {
  position: relative;
  background-color: #fff;
  padding-top: 8rem; }
  @media screen and (max-width: 1023px) {
    main.interview-detail > header {
      padding-top: 6.4rem; } }
  main.interview-detail > header .bg {
    display: none; }
    @media screen and (max-width: 1023px) {
      main.interview-detail > header .bg {
        display: block;
        position: absolute;
        top: 6.4rem;
        left: 0;
        right: 0;
        bottom: 0;
        overflow: hidden; }
        main.interview-detail > header .bg img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          filter: blur(20px); } }
  main.interview-detail > header .visual {
    position: relative;
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    height: 64rem;
    padding-bottom: 4rem;
    background-color: #FF5446;
    /*
    @keyframes header-back-loop-interview {
    	0% {
    		background-position: 50% 0;
    	}
    	100% {
    		background-position: 50% -11.6rem;
    	}
    }			
    .back {
    	position: absolute;
    	top: 0;
    	left: 0;
    	bottom: 4rem;
    	@include tablet {
    		bottom: 3rem;
    	}
    	a {
    		display: block;
    		width: 6.4rem;
    		height: 100%;
    		background-image: url("../images/interview/detail/header_back_decor_text.svg");
    		background-size: 2rem 11.6rem;
    		background-position: 50% 0;
    		background-repeat: repeat-y;
    		text-indent: -9999px;
    		background-color: #fff;
    		overflow: hidden;
    		border-right: 1px solid #000;
    		animation: header-back-loop-interview linear calc(11.6s / 10) infinite; 
    		@include tablet {
    			width: 2.4rem;
    		}
    		&:after {
    			content: "";
    			display: block;
    			width: 6.4rem;
    			height: 6.4rem;
    			background-color: #000;
    			position: absolute;
    			bottom: 0;
    			left: 0;
    			background-image: url("../images/why/detail/header_back_arrow.svg");
    			background-size: 2.3rem 2.3rem;
    			background-position: 50% 50%;
    			background-repeat: no-repeat;
    			@include tablet {
    				width: 4rem;
    				height: 4rem;
    				background-size: 1.4rem 1.4ren;
    			}
    		}
    	}
    }
    */ }
    @media screen and (max-width: 1023px) {
      main.interview-detail > header .visual {
        padding-top: 5.8rem;
        padding-left: 2.4rem;
        height: 52.1rem;
        padding-bottom: 3rem;
        align-items: flex-start;
        background-color: transparent; } }
    main.interview-detail > header .visual figure {
      display: flex;
      justify-content: flex-end;
      width: calc(100vw - 6.4rem); }
      @media screen and (max-width: 1023px) {
        main.interview-detail > header .visual figure {
          width: calc(100vw - 2.4rem); } }
      main.interview-detail > header .visual figure img {
        width: auto;
        height: 60rem; }
        @media screen and (max-width: 1023px) {
          main.interview-detail > header .visual figure img {
            width: 100%;
            height: auto; } }
    @media screen and (max-width: 1023px) {
      main.interview-detail > header .visual .content {
        padding: 1.2rem 0 0 1.2rem; } }
    main.interview-detail > header .visual .content h1 {
      position: absolute;
      top: 50%;
      left: 6.6rem;
      transform: translateY(-50%); }
      @media screen and (max-width: 1023px) {
        main.interview-detail > header .visual .content h1 {
          position: static;
          transform: none; } }
      main.interview-detail > header .visual .content h1 span {
        display: block;
        width: fit-content;
        font-family: YakuhanJP, 'Noto Sans JP', san-serif;
        font-weight: 700;
        font-size: 4.8rem;
        line-height: 6rem;
        height: 6rem;
        letter-spacing: -0.05em;
        padding: 0 .8rem;
        color: #FFFFFF;
        margin-bottom: .9rem;
        background-color: #000;
        position: relative;
        width: fit-content;
        transition: all ease .3s;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
        main.interview-detail > header .visual .content h1 span:before {
          content: "";
          display: block;
          background-color: #000;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          transition: all ease .3s .3s;
          transform-origin: 100% 0; }
        main.interview-detail > header .visual .content h1 span[data-inview-active] {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          main.interview-detail > header .visual .content h1 span[data-inview-active]:before {
            transform: scale(0, 1); }
        @media screen and (max-width: 1023px) {
          main.interview-detail > header .visual .content h1 span {
            font-size: 3.2rem;
            height: 4rem;
            line-height: 4rem;
            margin-bottom: .6rem;
            padding: 0 .4rem; } }
    main.interview-detail > header .visual .scroll {
      content: "";
      background-image: url("../images/common/decor_text_scroll_black.svg");
      background-size: 17.3em auto;
      animation: decor-text-loop-scroll linear calc(17.3s / 10) infinite;
      text-indent: -9999px;
      overflow: hidden;
      background-position: 0 58%;
      background-repeat: repeat-x;
      display: block;
      font-size: 1rem;
      height: 4em;
      border-top: 1px solid #000;
      border-bottom: 1px solid #000;
      background-color: #fff;
      text-indent: -9999px;
      overflow: hidden;
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0; }
@keyframes decor-text-loop-scroll {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -17.3em 58%; } }
      @media screen and (max-width: 1023px) {
        main.interview-detail > header .visual .scroll {
          font-size: calc(3rem /4); } }
main.interview-detail section.profile {
  background-color: #fff;
  display: flex;
  gap: 4.8rem;
  padding: 6.4rem 5rem; }
  main.interview-detail section.profile:has(.container) {
    display: block;
    padding: 0; }
  @media screen and (max-width: 1023px) {
    main.interview-detail section.profile {
      display: block; } }
  main.interview-detail section.profile:after {
    content: "";
    background-image: url("../images/interview/decor_text_black.svg");
    background-size: 11.4em auto;
    animation: decor-text-loop-interview-detail linear calc(11.4s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-interview-detail {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -11.4em 58%; } }
    @media screen and (max-width: 1023px) {
      main.interview-detail section.profile:after {
        font-size: calc(3rem /4); } }
  main.interview-detail section.profile .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    display: flex;
    gap: 4.8rem;
    padding: 6.4rem 0; }
    @media screen and (max-width: 1023px) {
      main.interview-detail section.profile .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.interview-detail section.profile .container {
        padding: 4rem 0;
        display: block; } }
  main.interview-detail section.profile h2 {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 600;
    font-size: 4rem;
    line-height: 6rem;
    color: #FF5446;
    flex: 0 0 29rem; }
    @media screen and (max-width: 1023px) {
      main.interview-detail section.profile h2 {
        font-size: 2.8rem;
        line-height: 4.2rem;
        margin-bottom: 2.4rem; } }
  main.interview-detail section.profile figure {
    flex: 0 0 35.5rem; }
    @media screen and (max-width: 1023px) {
      main.interview-detail section.profile figure {
        margin-bottom: 2.4rem; } }
  main.interview-detail section.profile .content {
    flex: 1; }
    main.interview-detail section.profile .content .join {
      border: 1px solid #000;
      padding: .4rem;
      font-weight: 700;
      font-size: 1.4rem;
      line-height: 2rem;
      letter-spacing: 0.09em;
      color: #000000;
      width: fit-content;
      margin-bottom: 2.4rem; }
      @media screen and (max-width: 1023px) {
        main.interview-detail section.profile .content .join {
          font-size: 1.2rem;
          line-height: 1.7rem;
          margin-bottom: 1.6rem; } }
    main.interview-detail section.profile .content .profile,
    main.interview-detail section.profile .content .job {
      font-weight: 700;
      font-size: 1.4rem;
      line-height: 2.4rem;
      letter-spacing: .1em;
      color: #000000;
      margin-bottom: 1.2rem; }
      @media screen and (max-width: 1023px) {
        main.interview-detail section.profile .content .profile,
        main.interview-detail section.profile .content .job {
          margin-bottom: .8rem; } }
    main.interview-detail section.profile .content .name {
      margin-bottom: 2.4rem; }
      main.interview-detail section.profile .content .name p:nth-child(1) {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 1.5;
        letter-spacing: 0.12em;
        color: #000000;
        margin-bottom: .4rem; }
      main.interview-detail section.profile .content .name p:nth-child(2) {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 500;
        font-size: 1.4rem;
        line-height: 2.8rem;
        letter-spacing: .1rem;
        color: #000000; }
        @media screen and (max-width: 1023px) {
          main.interview-detail section.profile .content .name p:nth-child(2) {
            line-height: 1.5; } }
    main.interview-detail section.profile .content .description {
      font-weight: 500;
      font-size: 1.4rem;
      line-height: 2.8rem;
      letter-spacing: .1rem;
      color: #000000; }
main.interview-detail section.movie {
  background-color: #fff; }
  main.interview-detail section.movie:after {
    content: "";
    background-image: url("../images/interview/decor_text_black.svg");
    background-size: 11.4em auto;
    animation: decor-text-loop-interview linear calc(11.4s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-interview {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -11.4em 58%; } }
    @media screen and (max-width: 1023px) {
      main.interview-detail section.movie:after {
        font-size: calc(3rem /4); } }
  main.interview-detail section.movie .container {
    padding: 8rem 4rem 8rem; }
    @media screen and (max-width: 1023px) {
      main.interview-detail section.movie .container {
        padding: 4rem 2.4rem 5.6rem; } }
    main.interview-detail section.movie .container figure {
      position: relative;
      width: 100%;
      aspect-ratio: 16 / 9; }
      main.interview-detail section.movie .container figure iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
main.interview-detail > .body:after {
  content: "";
  background-image: url("../images/interview/decor_text_black.svg");
  background-size: 11.4em auto;
  animation: decor-text-loop-interview linear calc(11.4s / 10) infinite;
  text-indent: -9999px;
  overflow: hidden;
  background-position: 0 58%;
  background-repeat: repeat-x;
  display: block;
  font-size: 1rem;
  height: 4em;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  background-color: #fff; }
@keyframes decor-text-loop-interview {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -11.4em 58%; } }
  @media screen and (max-width: 1023px) {
    main.interview-detail > .body:after {
      font-size: calc(3rem /4); } }
main.interview-detail > .body section {
  display: flex;
  background-color: #FF5446; }
  @media screen and (max-width: 1023px) {
    main.interview-detail > .body section {
      display: block; } }
  main.interview-detail > .body section + section {
    margin-top: -10rem; }
    @media screen and (max-width: 1023px) {
      main.interview-detail > .body section + section {
        margin-top: 0; } }
  main.interview-detail > .body section header {
    padding: 10rem 0 10rem 6rem;
    flex: 0 0 47.4rem;
    background-color: #FF5446; }
    @media screen and (max-width: 1023px) {
      main.interview-detail > .body section header {
        padding: 4rem 0  2.4rem 2.4rem; } }
    main.interview-detail > .body section header h3,
    main.interview-detail > .body section header h2 {
      position: sticky;
      top: 20rem; }
      @media screen and (max-width: 1023px) {
        main.interview-detail > .body section header h3,
        main.interview-detail > .body section header h2 {
          position: static; } }
      main.interview-detail > .body section header h3 span,
      main.interview-detail > .body section header h2 span {
        display: block;
        width: fit-content;
        padding: 0 .8rem;
        font-family: YakuhanJP, 'Noto Sans JP', san-serif;
        font-style: normal;
        font-weight: 700;
        font-size: 2.8rem;
        line-height: 3.6rem;
        margin-bottom: .7rem;
        letter-spacing: -0.05em;
        color: #FF5446;
        background-color: #00FFB3;
        position: relative;
        width: fit-content;
        transition: all ease .3s;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
        main.interview-detail > .body section header h3 span:before,
        main.interview-detail > .body section header h2 span:before {
          content: "";
          display: block;
          background-color: #00FFB3;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          transition: all ease .3s .3s;
          transform-origin: 100% 0; }
        main.interview-detail > .body section header h3 span[data-inview-active],
        main.interview-detail > .body section header h2 span[data-inview-active] {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          main.interview-detail > .body section header h3 span[data-inview-active]:before,
          main.interview-detail > .body section header h2 span[data-inview-active]:before {
            transform: scale(0, 1); }
        @media screen and (max-width: 1023px) {
          main.interview-detail > .body section header h3 span,
          main.interview-detail > .body section header h2 span {
            font-size: 2.4rem;
            line-height: 3.18rem;
            padding: 0 .4rem;
            margin-bottom: .54rem; } }
  main.interview-detail > .body section .content {
    background-color: #fff;
    flex: 1;
    padding: 10rem 6.7rem 10rem 9.7rem; }
    @media screen and (max-width: 1023px) {
      main.interview-detail > .body section .content {
        margin-left: 24px; } }
    @media screen and (max-width: 1023px) {
      main.interview-detail > .body section .content {
        padding: 2.4rem 2.4rem 5.6rem; } }
    main.interview-detail > .body section .content p {
      max-width: 52rem;
      font-weight: 700;
      font-size: 1.4rem;
      line-height: 2.8rem;
      letter-spacing: .3rem;
      color: #000000;
      margin: 2.8rem 0; }
    main.interview-detail > .body section .content figure {
      margin: 8rem 0; }
      @media screen and (max-width: 1023px) {
        main.interview-detail > .body section .content figure {
          margin: 4rem 0; } }
    main.interview-detail > .body section .content *:first-child {
      margin-top: 0; }
    main.interview-detail > .body section .content *:last-child {
      margin-bottom: 0; }
main.interview-detail section.schedule header {
  background-color: #fff;
  padding: 4rem 6.5rem;
  border-bottom: .8rem solid #000; }
  @media screen and (max-width: 1023px) {
    main.interview-detail section.schedule header {
      padding: 5.6rem 2.4rem 2.4rem;
      border-bottom: .4rem solid #000; } }
  main.interview-detail section.schedule header h2 {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 600;
    font-size: 10rem;
    line-height: 10re;
    letter-spacing: -0.04em;
    color: #000000; }
    @media screen and (max-width: 1023px) {
      main.interview-detail section.schedule header h2 {
        font-size: 6.4rem;
        line-height: 100%;
        letter-spacing: -0.04em; } }
main.interview-detail section.schedule .body {
  background-color: #F4F4F4;
  padding: 5.2rem 6.5rem; }
  @media screen and (max-width: 1023px) {
    main.interview-detail section.schedule .body {
      padding: 4rem 2.4rem 5.6rem; } }
  main.interview-detail section.schedule .body figure {
    position: relative; }
    @media screen and (max-width: 1023px) {
      main.interview-detail section.schedule .body figure {
        margin-right: -2.4rem;
        overflow: auto; } }
    @media screen and (max-width: 1023px) {
      main.interview-detail section.schedule .body figure:before {
        content: "";
        background-image: url("../images/interview/detail/scrollable.svg");
        background-size: 100% 100%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 26rem;
        height: 10rem;
        transition: all ease .3s;
        pointer-events: none; } }
    @media screen and (max-width: 1023px) {
      main.interview-detail section.schedule .body figure img {
        width: 79.8rem;
        max-width: none; } }
    main.interview-detail section.schedule .body figure.touched:before {
      transition-delay: 0s !important;
      opacity: 0; }
main.interview-detail section.schedule:after {
  content: "";
  background-image: url("../images/interview/decor_text_black.svg");
  background-size: 11.4em auto;
  animation: decor-text-loop-interview linear calc(11.4s / 10) infinite;
  text-indent: -9999px;
  overflow: hidden;
  background-position: 0 58%;
  background-repeat: repeat-x;
  display: block;
  font-size: 1rem;
  height: 4em;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  background-color: #fff; }
@keyframes decor-text-loop-interview {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -11.4em 58%; } }
  @media screen and (max-width: 1023px) {
    main.interview-detail section.schedule:after {
      font-size: calc(3rem /4); } }
main.interview-detail section.message {
  background-color: #FF5446; }
  main.interview-detail section.message:after {
    content: "";
    background-image: url("../images/interview/decor_text_black.svg");
    background-size: 11.4em auto;
    animation: decor-text-loop-interview linear calc(11.4s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-interview {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -11.4em 58%; } }
    @media screen and (max-width: 1023px) {
      main.interview-detail section.message:after {
        font-size: calc(3rem /4); } }
  main.interview-detail section.message .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 5.6rem 0;
    display: flex;
    gap: 5.6rem; }
    @media screen and (max-width: 1023px) {
      main.interview-detail section.message .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.interview-detail section.message .container {
        padding: 4rem 0;
        flex-direction: column;
        gap: 2.4rem; } }
    main.interview-detail section.message .container figure {
      flex: 0 0 32rem; }
      @media screen and (max-width: 1023px) {
        main.interview-detail section.message .container figure {
          flex: initial; } }
      main.interview-detail section.message .container figure img {
        width: 100%; }
    main.interview-detail section.message .container p {
      flex: 0 0 1;
      font-family: YakuHanJP, 'Noto Sans JP', san-serif;
      font-weight: 700;
      font-size: 3.2rem;
      line-height: 4.6rem;
      letter-spacing: -0.05em;
      color: #FFFFFF; }
      @media screen and (max-width: 1023px) {
        main.interview-detail section.message .container p {
          font-size: 2rem;
          line-height: 2.9rem;
          flex: initial; } }
      @media screen and (max-width: 1023px) {
        main.interview-detail section.message .container p br {
          display: none; } }
main.interview-detail nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.interview-detail nav.cta {
      padding: 8rem 0 12rem; } }
  main.interview-detail nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.interview-detail nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.interview-detail nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.interview-detail nav.cta .container .copy {
          width: auto; } }
    main.interview-detail nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.interview-detail nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.interview-detail nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.interview-detail nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.interview-detail nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.interview-detail nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.interview-detail nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.interview-detail nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.interview-detail nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.interview-detail nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.interview-detail nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.interview-detail nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.interview-detail nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.interview-detail nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.interview-detail nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.interview-detail nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.interview-detail nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.interview-detail nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.interview-detail nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.interview-detail nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.interview-detail nav.interview header {
  position: relative;
  background-color: #F5F5F5;
  padding: 6rem 6.5rem 4rem; }
  @media screen and (max-width: 1023px) {
    main.interview-detail nav.interview header {
      padding: 4rem 2.4rem 2.4rem; } }
  main.interview-detail nav.interview header h2 {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 600;
    font-size: 10rem;
    line-height: 100%;
    letter-spacing: -0.04em;
    color: #000000; }
    @media screen and (max-width: 1023px) {
      main.interview-detail nav.interview header h2 {
        font-size: 6.4rem;
        line-height: 100%;
        letter-spacing: -0.04em;
        margin-bottom: 1.6rem; } }
  main.interview-detail nav.interview header ul {
    position: absolute;
    bottom: 5.5rem;
    right: 6.4rem;
    display: flex;
    gap: 1rem; }
    @media screen and (max-width: 1023px) {
      main.interview-detail nav.interview header ul {
        position: static; } }
    main.interview-detail nav.interview header ul .prev,
    main.interview-detail nav.interview header ul .next {
      width: 6rem;
      height: 6rem;
      border: 1px solid #000;
      background-position: 50% 50%;
      background-size: 1.3rem 2.2rem;
      background-repeat: no-repeat;
      text-indent: -9999px;
      overflow: hidden; }
    main.interview-detail nav.interview header ul .prev {
      background-image: url("../images/interview/detail/interview_prev_arrow.svg"); }
    main.interview-detail nav.interview header ul .next {
      background-image: url("../images/interview/detail/interview_next_arrow.svg"); }
main.interview-detail nav.interview .body {
  background-color: #fff;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.interview-detail nav.interview .body .splide {
      padding: 0 2.4rem; } }
  @media screen and (max-width: 1023px) {
    main.interview-detail nav.interview .body .splide__track {
      overflow: visible !important; } }
  main.interview-detail nav.interview .body ul.splide__list > li {
    border-left: 1px solid #000;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000; }
    main.interview-detail nav.interview .body ul.splide__list > li a {
      position: relative;
      display: block;
      height: 100%;
      background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
      background-size: 200% 100%;
      background-position: 100% 0%;
      transition: background-position 0.3s ease; }
      main.interview-detail nav.interview .body ul.splide__list > li a figure {
        border-bottom: 1px solid #000;
        overflow: hidden; }
        main.interview-detail nav.interview .body ul.splide__list > li a figure img {
          transition: all ease .3s; }
      main.interview-detail nav.interview .body ul.splide__list > li a .content {
        position: relative;
        padding: 3rem 2rem 4rem;
        /*
        &:before {
        	content: "";
        	display: block;
        	background-image: url("../images/interview/detail/interview_arrow.svg");
        	background-size:  2.2rem 2.2rem;
        	background-position: 50% 50%;
        	background-repeat: no-repeat;
        	width: 6rem;
        	height: 6rem;
        	background-color: #000;
        	position: absolute;
        	bottom: 0;
        	right: 0;
        }
        */ }
        @media screen and (max-width: 1023px) {
          main.interview-detail nav.interview .body ul.splide__list > li a .content {
            padding: 1.6rem 1.8rem 3.5rem; } }
        main.interview-detail nav.interview .body ul.splide__list > li a .content .copy {
          font-weight: 700;
          font-size: 2rem;
          line-height: 2.9rem;
          letter-spacing: -0.05em;
          color: #000000;
          margin-bottom: 3.2rem; }
          @media screen and (max-width: 1023px) {
            main.interview-detail nav.interview .body ul.splide__list > li a .content .copy {
              font-size: 1.8rem;
              line-height: 2.6rem;
              margin-bottom: 1.6rem; } }
        main.interview-detail nav.interview .body ul.splide__list > li a .content .join {
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 2rem;
          letter-spacing: 0.09em;
          color: #000000;
          width: fit-content;
          padding: .4rem;
          border: 1px solid #000;
          margin-bottom: 1rem; }
          @media screen and (max-width: 1023px) {
            main.interview-detail nav.interview .body ul.splide__list > li a .content .join {
              font-size: 1.2rem;
              line-height: 1.8rem; } }
        main.interview-detail nav.interview .body ul.splide__list > li a .content .job {
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 3.2rem;
          letter-spacing: .3rem;
          color: #000000; }
          @media screen and (max-width: 1023px) {
            main.interview-detail nav.interview .body ul.splide__list > li a .content .job {
              font-size: 1.2rem;
              line-height: 2.2rem;
              letter-spacing: 0;
              margin-bottom: .8rem; } }
        main.interview-detail nav.interview .body ul.splide__list > li a .content .name p:nth-child(1) {
          font-weight: 700;
          font-size: 3.2rem;
          line-height: 4.4rem;
          letter-spacing: 0.09em;
          color: #000000;
          margin-bottom: .6rem; }
          @media screen and (max-width: 1023px) {
            main.interview-detail nav.interview .body ul.splide__list > li a .content .name p:nth-child(1) {
              font-weight: 700;
              font-size: 2.4rem;
              line-height: 3.4rem;
              margin-bottom: .8rem; } }
        main.interview-detail nav.interview .body ul.splide__list > li a .content .name p:nth-child(2) {
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 500;
          font-size: 1.4rem;
          line-height: 2.8rem;
          letter-spacing: .1rem;
          color: #000000; }
          @media screen and (max-width: 1023px) {
            main.interview-detail nav.interview .body ul.splide__list > li a .content .name p:nth-child(2) {
              font-size: 1.4rem;
              line-height: 1.8rem; } }
        main.interview-detail nav.interview .body ul.splide__list > li a .content ul.tag {
          display: flex;
          flex-wrap: wrap;
          gap: 0 1.4rem; }
          main.interview-detail nav.interview .body ul.splide__list > li a .content ul.tag li {
            font-weight: 500;
            font-size: 1.4rem;
            line-height: 2.8rem;
            letter-spacing: .1rem;
            color: #000000; }
            main.interview-detail nav.interview .body ul.splide__list > li a .content ul.tag li:before {
              content: "#"; }
      main.interview-detail nav.interview .body ul.splide__list > li a .arrow {
        content: "";
        display: block;
        width: 6rem;
        height: 6rem;
        position: absolute;
        right: 0;
        bottom: 0;
        background-color: #000; }
        @media screen and (max-width: 1023px) {
          main.interview-detail nav.interview .body ul.splide__list > li a .arrow {
            width: 5.4rem;
            height: 5.4rem; } }
        main.interview-detail nav.interview .body ul.splide__list > li a .arrow:after {
          content: "";
          position: absolute;
          top: 50%;
          left: 50%;
          display: block;
          width: 2.2rem;
          height: 2.2rem;
          transform: translate(-50%, -50%);
          -webkit-mask-image: url("../images/interview/interview_arrow.svg");
          -webkit-mask-size: 100% 100%;
          -webkit-mask-position: 0 0;
          mask-image: url("../images/interview/interview_arrow.svg");
          mask-size: 100% 100%;
          mask-position: 0 0;
          background-color: #fff;
          transition: all ease .3s; }
          @media screen and (max-width: 1023px) {
            main.interview-detail nav.interview .body ul.splide__list > li a .arrow:after {
              width: 1.8rem;
              height: 1.8rem; } }
      @media screen and (min-width: 1024px) {
        main.interview-detail nav.interview .body ul.splide__list > li a:hover {
          background-position: 0% 0%; }
          main.interview-detail nav.interview .body ul.splide__list > li a:hover figure img {
            transform: scale(1.05); }
          main.interview-detail nav.interview .body ul.splide__list > li a:hover .arrow:after {
            background-color: #D9FF00;
            -webkit-mask-position: 2.2rem 0;
            mask-position: 2.2rem 0; } }
@keyframes nav-interview-back-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -36.4em 50%; } }
  main.interview-detail nav.interview .body .back {
    border-bottom: 1px solid #000; }
    main.interview-detail nav.interview .body .back a {
      font-size: 1rem;
      position: relative;
      height: 12rem;
      display: block;
      text-indent: -9999px;
      overflow: hidden;
      background-image: url("../images/interview/detail/interview_back_decor_text.svg");
      background-size: 36.4rem 4.5rem;
      background-repeat: repeat-x;
      background-position: 0 50%;
      animation: nav-interview-back-loop linear calc(36.4s / 10) infinite; }
      @media screen and (max-width: 1023px) {
        main.interview-detail nav.interview .body .back a {
          font-size: .5rem;
          height: 6rem;
          background-size: 18.2rem 2.25rem;
          animation: nav-interview-back-loop linear calc(18.2s / 10) infinite; } }
      main.interview-detail nav.interview .body .back a:before {
        content: "";
        display: block;
        width: 12rem;
        height: 12rem;
        background-color: #000;
        background-image: url("../images/interview/detail/interview_back_arrow.svg");
        background-size: 4.2rem 4.2rem;
        background-repeat: no-repeat;
        background-position: 50% 50%;
        position: absolute;
        top: 0;
        left: 0; }
        @media screen and (max-width: 1023px) {
          main.interview-detail nav.interview .body .back a:before {
            height: 6rem;
            width: 6rem;
            background-size: 2.1rem 2.1rem; } }
main.interview-detail nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.interview-detail nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.interview-detail nav.other header {
        padding: 4rem 0 0; } }
    main.interview-detail nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.interview-detail nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.interview-detail nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.interview-detail nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.interview-detail nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.interview-detail nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.interview-detail nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.interview-detail nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.interview-detail nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.interview-detail nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.interview-detail nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.interview-detail nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.interview-detail nav.other .content ul li {
            flex: 0 0 100%; } }
        main.interview-detail nav.other .content ul li a {
          display: block; }
          main.interview-detail nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.interview-detail nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.interview-detail nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.interview-detail nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.interview-detail nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.interview-detail nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.interview-detail nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.interview-detail nav.other .content ul li:nth-child(4), main.interview-detail nav.other .content ul li:nth-child(5), main.interview-detail nav.other .content ul li:nth-child(6) {
            display: none; } }

main.job > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.job > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.job > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/job/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.job > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.job > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.job > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-job {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -64.3em 0;
    				}
    			}
    			background-image: url("../images/job/header_title_en.svg");
    //			background-size: 64.3rem 7.7rem;
    			background-size: 64.3em auto;
    			animation: header-title-en-job linear calc(64.3s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.job > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.job > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.job > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.job > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.job > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.job > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.job > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.job > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.job > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.job > header .scroll {
        font-size: calc(3rem /4); } }
main.job section.index {
  background-color: #73AEFF;
  		/*
  		.container {
  			@include common-container;
  //			padding: 8rem 0;
  			@include tablet {
  //				padding: 5.6rem 0;
  			}
  		*/ }
  main.job section.index:after {
    content: "";
    background-image: url("../images/job/decor_text_black.svg");
    background-size: 13.6em auto;
    animation: decor-text-loop-job linear calc(13.6s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-job {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -13.6em 58%; } }
    @media screen and (max-width: 1023px) {
      main.job section.index:after {
        font-size: calc(3rem /4); } }
  main.job section.index ul li {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #000; }
    @media screen and (max-width: 1023px) {
      main.job section.index ul li {
        display: block; } }
    main.job section.index ul li figure {
      flex: 0 0 72rem;
      border-right: 1px solid #000;
      overflow: hidden; }
      main.job section.index ul li figure a {
        display: block; }
        main.job section.index ul li figure a img {
          transition: all ease .3s; }
        main.job section.index ul li figure a:hover img {
          transform: scale(1.05); }
    main.job section.index ul li .content {
      flex: 1;
      padding-left: 4.8rem;
      padding-right: 6.7rem; }
      @media screen and (max-width: 1023px) {
        main.job section.index ul li .content {
          padding: 2.4rem 2.4rem 4rem;
          border: none;
          border-top: 1px solid #000; } }
      main.job section.index ul li .content .title {
        font-style: normal;
        font-weight: 700;
        font-size: 3.6rem;
        line-height: 4.2rem;
        letter-spacing: 0.09em;
        padding: 0 .4rem;
        color: #73AEFF;
        background-color: #E4FF21;
        width: fit-content;
        margin-bottom: 3.2rem;
        position: relative;
        width: fit-content;
        transition: all ease .3s;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
        @media screen and (max-width: 1023px) {
          main.job section.index ul li .content .title {
            font-size: 2.4rem;
            line-height: 3.2rem;
            margin-bottom: 1.6rem; } }
        main.job section.index ul li .content .title:before {
          content: "";
          display: block;
          background-color: #E4FF21;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          transition: all ease .3s .3s;
          transform-origin: 100% 0; }
        main.job section.index ul li .content .title[data-inview-active] {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          main.job section.index ul li .content .title[data-inview-active]:before {
            transform: scale(0, 1); }
      main.job section.index ul li .content .description {
        font-weight: 700;
        font-size: 1.6rem;
        line-height: 3.6rem;
        letter-spacing: .3rem;
        color: #E4FF21; }
        @media screen and (max-width: 1023px) {
          main.job section.index ul li .content .description {
            font-size: 1.4rem;
            line-height: 2.8rem; } }
      main.job section.index ul li .content .action {
        margin-top: 4.4rem; }
        @media screen and (max-width: 1023px) {
          main.job section.index ul li .content .action {
            margin-top: 4rem; } }
        main.job section.index ul li .content .action a {
          position: relative;
          display: flex;
          align-items: center;
          width: fit-content;
          padding: 0 4.4rem 0 1.2rem;
          height: 3.2rem;
          padding-left: 1rem;
          border: 1px solid #000;
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 600;
          font-size: 1.4rem;
          line-height: 2.1rem;
          color: #000000;
          background-color: #fff;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          main.job section.index ul li .content .action a .arrow {
            position: relative;
            content: "";
            display: block;
            width: 3.2rem;
            height: 3.2rem;
            position: absolute;
            top: 0;
            right: 0;
            background-color: #000; }
            main.job section.index ul li .content .action a .arrow:after {
              content: "";
              display: block;
              width: 1.2rem;
              height: 1.2rem;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
              -webkit-mask-image: url("../images/why/why_arrow.svg");
              -webkit-mask-size: 100% 100%;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/why/why_arrow.svg");
              mask-size: 100% 100%;
              mask-position: 0 0;
              background-color: #fff;
              transition: all ease .3s; }
          @media screen and (min-width: 1024px) {
            main.job section.index ul li .content .action a:hover {
              background-position: 0% 0%; }
              main.job section.index ul li .content .action a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 1.2rem 0;
                mask-position: 1.2rem 0; } }
main.job nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.job nav.cta {
      padding: 8rem 0 12rem; } }
  main.job nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.job nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.job nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.job nav.cta .container .copy {
          width: auto; } }
    main.job nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.job nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.job nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.job nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.job nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.job nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.job nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.job nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.job nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.job nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.job nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.job nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.job nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.job nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.job nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.job nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.job nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.job nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.job nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.job nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.job nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.job nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.job nav.other header {
        padding: 4rem 0 0; } }
    main.job nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.job nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.job nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.job nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.job nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.job nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.job nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.job nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.job nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.job nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.job nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.job nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.job nav.other .content ul li {
            flex: 0 0 100%; } }
        main.job nav.other .content ul li a {
          display: block; }
          main.job nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.job nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.job nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.job nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.job nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.job nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.job nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.job nav.other .content ul li:nth-child(4), main.job nav.other .content ul li:nth-child(5), main.job nav.other .content ul li:nth-child(6) {
            display: none; } }

main.job-construction > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.job-construction > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.job-construction > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/job/construction/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.job-construction > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.job-construction > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.job-construction > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-job-construction {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -122.2em 0;
    				}
    			}
    			background-image: url("../images/job/construction/header_title_en.svg");
    //			background-size: 122.2rem 7.7rem;
    			background-size: 122.2em auto;
    			animation: header-title-en-job-construction linear calc(122.2s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.job-construction > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.job-construction > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.job-construction > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.job-construction > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.job-construction > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.job-construction > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.job-construction > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.job-construction > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.job-construction > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.job-construction > header .scroll {
        font-size: calc(3rem /4); } }
main.job-construction section.work {
  background-color: #73AEFF; }
  main.job-construction section.work:after {
    content: "";
    background-image: url("../images/job/construction/decor_text_black.svg");
    background-size: 25em auto;
    animation: decor-text-loop-job-construction linear calc(25s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-job-construction {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -25em 58%; } }
    @media screen and (max-width: 1023px) {
      main.job-construction section.work:after {
        font-size: calc(3rem /4); } }
  main.job-construction section.work .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 7rem 0 8rem; }
    @media screen and (max-width: 1023px) {
      main.job-construction section.work .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.job-construction section.work .container {
        padding: 6rem 0 5.6rem; } }
    main.job-construction section.work .container h2 {
      font-weight: 700;
      font-size: 8rem;
      line-height: 9.6rem;
      letter-spacing: -0.05em;
      color: #73AEFF;
      height: 9.6rem;
      padding: 0 1.2rem;
      background-color: #E5FF21;
      width: fit-content;
      margin-bottom: 4.5rem;
      position: relative;
      width: fit-content;
      transition: all ease .3s;
      clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
      @media screen and (max-width: 1023px) {
        main.job-construction section.work .container h2 {
          font-size: 3.2rem;
          line-height: 4rem;
          height: 4rem;
          padding: 0 .8rem;
          margin-bottom: 2.4rem; } }
      main.job-construction section.work .container h2:before {
        content: "";
        display: block;
        background-color: #E5FF21;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        transition: all ease .3s .3s;
        transform-origin: 100% 0; }
      main.job-construction section.work .container h2[data-inview-active] {
        clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
        main.job-construction section.work .container h2[data-inview-active]:before {
          transform: scale(0, 1); }
    main.job-construction section.work .container > p {
      font-weight: 700;
      font-size: 2.4rem;
      line-height: 4.6rem;
      letter-spacing: .3rem;
      color: #E5FF21; }
      @media screen and (max-width: 1023px) {
        main.job-construction section.work .container > p {
          font-size: 1.4rem;
          line-height: 2.8rem; } }
    main.job-construction section.work .container figure {
      margin-top: 4rem; }
      @media screen and (max-width: 1023px) {
        main.job-construction section.work .container figure {
          margin-top: 2.4em; } }
main.job-construction > .body {
  position: relative;
  background-color: #fff;
  display: flex;
  padding-bottom: 4rem; }
  @media screen and (max-width: 1023px) {
    main.job-construction > .body {
      display: block; } }
  main.job-construction > .body:after {
    content: "";
    background-image: url("../images/job/construction/decor_text_black.svg");
    background-size: 25em auto;
    animation: decor-text-loop-job-construction linear calc(25s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0; }
@keyframes decor-text-loop-job-construction {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -25em 58%; } }
    @media screen and (max-width: 1023px) {
      main.job-construction > .body:after {
        font-size: calc(3rem /4); } }
  main.job-construction > .body nav.indicator {
    background-color: #F4F4F4;
    flex: 0 0 30rem;
    padding: 8.8rem 4.8rem 8.8rem 6.6rem; }
    @media screen and (max-width: 1023px) {
      main.job-construction > .body nav.indicator {
        padding: 4rem 2.4rem 5.6rem; } }
    main.job-construction > .body nav.indicator ul {
      position: sticky;
      top: 10rem;
      display: flex;
      flex-wrap: wrap;
      gap: 1.8rem; }
      @media screen and (max-width: 1023px) {
        main.job-construction > .body nav.indicator ul {
          position: relative;
          top: auto;
          gap: 1.6rem; } }
      main.job-construction > .body nav.indicator ul li {
        flex: 0 0 100%; }
        main.job-construction > .body nav.indicator ul li a {
          position: relative;
          display: flex;
          align-items: center;
          font-style: normal;
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 2.0rem;
          letter-spacing: 0.09em;
          color: #000000;
          min-height: 4.4rem;
          padding: 1rem 2.4rem;
          border: 1px solid #000;
          border-radius: 9999px; }
          @media screen and (max-width: 1023px) {
            main.job-construction > .body nav.indicator ul li a {
              height: auto;
              padding: 1.2rem 2rem; } }
          main.job-construction > .body nav.indicator ul li a:after {
            content: "";
            -webkit-mask-image: url("../images/vision/nav_arrow.svg");
            mask-image: url("../images/vision/nav_arrow.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            display: block;
            width: 1.1rem;
            height: 1.1rem;
            position: absolute;
            right: 2rem;
            top: 50%;
            transform: translateY(-50%);
            background-color: #000; }
          main.job-construction > .body nav.indicator ul li a.active {
            background-color: #000;
            color: #fff; }
            main.job-construction > .body nav.indicator ul li a.active:after {
              background-color: #fff; }
  main.job-construction > .body > .content {
    flex: 1; }
    main.job-construction > .body > .content > section {
      position: relative;
      padding-right: 6.5rem; }
      @media screen and (max-width: 1023px) {
        main.job-construction > .body > .content > section {
          padding-right: 2.4rem; } }
      main.job-construction > .body > .content > section:before {
        content: "";
        background-image: url("../images/job/construction/decor_text_vertical_black.svg");
        background-size: 1.5em 25em;
        animation: decor-text-vertical-loop-job-construction linear calc(25s / 10) infinite;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        background-position: 50% 0;
        background-repeat: repeat-y;
        display: block;
        font-size: 1rem;
        width: 6.5em;
        border-left: 1px solid #000; }
@keyframes decor-text-vertical-loop-job-construction {
  0% {
    background-position: 50% 0; }
  100% {
    background-position: 50% -25em; } }
        @media screen and (max-width: 1023px) {
          main.job-construction > .body > .content > section:before {
            font-size: .6rem; } }
        @media screen and (max-width: 1023px) {
          main.job-construction > .body > .content > section:before {
            width: 2.4rem; } }
      main.job-construction > .body > .content > section h2 {
        position: relative;
        font-weight: 700;
        font-size: 5.6rem;
        line-height: 8.1rem;
        letter-spacing: -0.05em;
        color: #000000;
        padding: 4rem 5rem 3.6rem;
        border-bottom: .8rem solid #000;
        margin-right: -6.5rem;
        background-color: #fff;
        background-image: url("../images/job/detail/article_decor.png");
        background-size: 22.9rem 16.1rem;
        background-position: 100% 0%;
        background-repeat: no-repeat; }
        @media screen and (max-width: 1023px) {
          main.job-construction > .body > .content > section h2 {
            font-size: 3.2rem;
            line-height: 4.6rem;
            padding: 2rem 2.4rem 2rem;
            border-bottom: .4rem solid #000;
            background-size: auto 100%;
            margin-right: -2.4rem; } }
      main.job-construction > .body > .content > section + section {
        border-top: 8px solid #000; }
        @media screen and (max-width: 1023px) {
          main.job-construction > .body > .content > section + section {
            border-top: .4rem solid #000; } }
      main.job-construction > .body > .content > section article + article {
        border-top: 4px solid #000; }
      main.job-construction > .body > .content > section article section.profile {
        background-color: #fff;
        display: flex;
        gap: 4.8rem;
        padding: 6.4rem 5rem;
        border-bottom: 1px dashed #000; }
        main.job-construction > .body > .content > section article section.profile:has(.container) {
          display: block;
          padding: 0; }
        @media screen and (max-width: 1023px) {
          main.job-construction > .body > .content > section article section.profile {
            display: block;
            padding: 4rem 1.6rem 4rem 2.4rem; } }
        main.job-construction > .body > .content > section article section.profile .container {
          width: calc(100% - 6.6rem * 2);
          max-width: 115rem;
          margin: 0 auto;
          display: flex;
          gap: 4.8rem;
          padding: 6.4rem 0; }
          @media screen and (max-width: 1023px) {
            main.job-construction > .body > .content > section article section.profile .container {
              width: calc(100% - 2.4rem * 2); } }
          @media screen and (max-width: 1023px) {
            main.job-construction > .body > .content > section article section.profile .container {
              padding: 4rem 0;
              display: block; } }
        main.job-construction > .body > .content > section article section.profile figure {
          flex: 0 0 35.5rem; }
          @media screen and (max-width: 1023px) {
            main.job-construction > .body > .content > section article section.profile figure {
              margin-bottom: 2.4rem;
              margin-right: -1.6rem; } }
        main.job-construction > .body > .content > section article section.profile .content {
          flex: 1; }
          main.job-construction > .body > .content > section article section.profile .content .join {
            border: 1px solid #000;
            padding: .4rem;
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2rem;
            letter-spacing: 0.09em;
            color: #000000;
            width: fit-content;
            margin-bottom: 2.4rem; }
            @media screen and (max-width: 1023px) {
              main.job-construction > .body > .content > section article section.profile .content .join {
                font-size: 1.2rem;
                line-height: 1.7rem;
                margin-bottom: 1.6rem; } }
          main.job-construction > .body > .content > section article section.profile .content .profile,
          main.job-construction > .body > .content > section article section.profile .content .job {
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2.4rem;
            letter-spacing: .1em;
            color: #000000;
            margin-bottom: 1.2rem; }
            @media screen and (max-width: 1023px) {
              main.job-construction > .body > .content > section article section.profile .content .profile,
              main.job-construction > .body > .content > section article section.profile .content .job {
                margin-bottom: .8rem; } }
          main.job-construction > .body > .content > section article section.profile .content .name {
            margin-bottom: 2.4rem; }
            main.job-construction > .body > .content > section article section.profile .content .name p:nth-child(1) {
              font-weight: 700;
              font-size: 2.4rem;
              line-height: 1.5;
              letter-spacing: 0.12em;
              color: #000000;
              margin-bottom: .4rem; }
            main.job-construction > .body > .content > section article section.profile .content .name p:nth-child(2) {
              font-family: 'Poppins';
              font-style: normal;
              font-weight: 500;
              font-size: 1.4rem;
              line-height: 2.8rem;
              letter-spacing: .1rem;
              color: #000000; }
              @media screen and (max-width: 1023px) {
                main.job-construction > .body > .content > section article section.profile .content .name p:nth-child(2) {
                  line-height: 1.5; } }
          main.job-construction > .body > .content > section article section.profile .content .description {
            font-weight: 500;
            font-size: 1.4rem;
            line-height: 2.8rem;
            letter-spacing: .1rem;
            color: #000000; }
        main.job-construction > .body > .content > section article section.profile + section.profile {
          margin-top: -6.4rem;
          background-color: #fff; }
          @media screen and (max-width: 1023px) {
            main.job-construction > .body > .content > section article section.profile + section.profile {
              margin-top: -4rem; } }
      main.job-construction > .body > .content > section article > .content {
        position: relative;
        padding: 5.6rem 5rem 5.6rem 5rem; }
        @media screen and (max-width: 1023px) {
          main.job-construction > .body > .content > section article > .content {
            padding: 4rem 1.6rem 5.2rem 2.4rem; } }
        main.job-construction > .body > .content > section article > .content section.summary {
          padding-bottom: 4rem;
          border-bottom: 1px solid #000; }
          main.job-construction > .body > .content > section article > .content section.summary h4 {
            font-weight: 700;
            font-size: 3.2rem;
            line-height: 5rem;
            letter-spacing: -0.05em;
            color: #73AEFF;
            margin-bottom: 2.4rem; }
            @media screen and (max-width: 1023px) {
              main.job-construction > .body > .content > section article > .content section.summary h4 {
                font-size: 2rem;
                line-height: 3.1rem;
                margin-bottom: 1.6rem; } }
            main.job-construction > .body > .content > section article > .content section.summary h4 .highlight {
              background-color: #E5FF21;
              padding: 0 .4rem; }
              @media screen and (max-width: 1023px) {
                main.job-construction > .body > .content > section article > .content section.summary h4 .highlight {
                  padding: 0 .2rem; } }
          main.job-construction > .body > .content > section article > .content section.summary p {
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2.8rem;
            letter-spacing: .3rem;
            color: #000000; }
        main.job-construction > .body > .content > section article > .content section.point {
          display: flex;
          gap: 2.4rem;
          margin: 4rem 0; }
          @media screen and (max-width: 1023px) {
            main.job-construction > .body > .content > section article > .content section.point {
              gap: 1.6rem;
              margin: 4rem 0 3.4rem; } }
          main.job-construction > .body > .content > section article > .content section.point h4 {
            font-family: 'Poppins';
            font-style: normal;
            font-weight: 600;
            font-size: 1.6rem;
            line-height: 2.4rem;
            color: #73AEFF; }
            @media screen and (max-width: 1023px) {
              main.job-construction > .body > .content > section article > .content section.point h4 {
                font-size: 1.4rem;
                line-height: 2.1rem; } }
          main.job-construction > .body > .content > section article > .content section.point ul li {
            position: relative;
            font-weight: 700;
            font-size: 1.8rem;
            line-height: 2.8rem;
            letter-spacing: 0.12em;
            color: #73AEFF;
            padding-left: 1.5em; }
            @media screen and (max-width: 1023px) {
              main.job-construction > .body > .content > section article > .content section.point ul li {
                font-size: 1.6rem;
                line-height: 2.3rem; } }
            main.job-construction > .body > .content > section article > .content section.point ul li:before {
              content: "▶";
              position: absolute;
              top: 0;
              left: 0; }
            main.job-construction > .body > .content > section article > .content section.point ul li + li {
              margin-top: .5rem; }
              @media screen and (max-width: 1023px) {
                main.job-construction > .body > .content > section article > .content section.point ul li + li {
                  margin-top: 1.2rem; } }
        main.job-construction > .body > .content > section article > .content section.qa {
          margin-top: 5.6rem; }
          @media screen and (max-width: 1023px) {
            main.job-construction > .body > .content > section article > .content section.qa {
              margin-top: 4rem; } }
          main.job-construction > .body > .content > section article > .content section.qa dl dt {
            position: relative;
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2.8rem;
            letter-spacing: .3rem;
            color: #000000;
            border-top: 1px solid #000;
            padding: 2rem 0 2rem 5.2rem; }
            main.job-construction > .body > .content > section article > .content section.qa dl dt:before {
              content: "Q";
              display: flex;
              justify-content: center;
              align-items: center;
              width: 3.6rem;
              height: 3.6rem;
              position: absolute;
              top: 1.6rem;
              left: 0;
              background-color: #73AEFF;
              color: #E5FF21;
              font-weight: 700;
              font-size: 1.6rem;
              line-height: 2.8rem; }
          main.job-construction > .body > .content > section article > .content section.qa dl dd {
            position: relative;
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2.8rem;
            letter-spacing: .3rem;
            color: #000000;
            border-top: 1px dashed #000;
            padding: 2rem 0 2rem 5.2rem; }
            main.job-construction > .body > .content > section article > .content section.qa dl dd:before {
              content: "A";
              display: flex;
              justify-content: center;
              align-items: center;
              width: 3.6rem;
              height: 3.6rem;
              position: absolute;
              top: 1.6rem;
              left: 0;
              background-color: #E5FF21;
              color: #73AEFF;
              font-weight: 700;
              font-size: 1.6rem;
              line-height: 2.8rem; }
main.job-construction nav.indicator-popup {
  position: static;
  display: none; }
  @media screen and (max-width: 1023px) {
    main.job-construction nav.indicator-popup {
      display: block; } }
  main.job-construction nav.indicator-popup .toggle {
    position: fixed;
    right: 0;
    bottom: 4.8rem;
    z-index: 100;
    transform: translateX(100%);
    transition: all ease .3s; }
    main.job-construction nav.indicator-popup .toggle button {
      position: relative;
      height: 4rem;
      background-color: #000;
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 1.6rem;
      line-height: 4rem;
      color: #FFFFFF;
      padding: 0 5.1rem 0 1.2rem !important; }
      main.job-construction nav.indicator-popup .toggle button:before, main.job-construction nav.indicator-popup .toggle button:after {
        content: "";
        display: block;
        width: 2.2rem;
        height: 1px;
        position: absolute;
        top: 50%;
        right: 1.8rem;
        background-color: #fff; }
      main.job-construction nav.indicator-popup .toggle button:before {
        margin-top: -.3rem; }
      main.job-construction nav.indicator-popup .toggle button:after {
        margin-top: .3rem; }
    main.job-construction nav.indicator-popup .toggle.active + .dialog {
      pointer-events: auto;
      opacity: 1; }
  main.job-construction nav.indicator-popup .dialog {
    position: fixed;
    z-index: 10000;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    pointer-events: none;
    transition: all ease .3s;
    opacity: 0;
    display: flex;
    justify-content: center;
    align-items: center; }
    main.job-construction nav.indicator-popup .dialog .wrapper {
      position: relative;
      background-color: #fff;
      width: 34.2rem;
      padding: 3.2rem 2.4rem; }
      main.job-construction nav.indicator-popup .dialog .wrapper .close {
        position: absolute;
        right: 0;
        bottom: 100%; }
        main.job-construction nav.indicator-popup .dialog .wrapper .close button {
          position: relative;
          width: 5.6rem;
          height: 4rem;
          background-color: #fff;
          text-indent: -9999px;
          overflow: hidden; }
          main.job-construction nav.indicator-popup .dialog .wrapper .close button:before, main.job-construction nav.indicator-popup .dialog .wrapper .close button:after {
            content: "";
            position: absolute;
            top: 50%;
            left: calc(50% - 1.2rem);
            display: block;
            width: 2.4rem;
            height: 1px;
            background-color: #000; }
          main.job-construction nav.indicator-popup .dialog .wrapper .close button:before {
            transform: rotate(20deg); }
          main.job-construction nav.indicator-popup .dialog .wrapper .close button:after {
            transform: rotate(-20deg); }
      main.job-construction nav.indicator-popup .dialog .wrapper ul {
        display: flex;
        flex-wrap: wrap;
        gap: 16px; }
        main.job-construction nav.indicator-popup .dialog .wrapper ul li {
          flex: 0 0 100%; }
          main.job-construction nav.indicator-popup .dialog .wrapper ul li a {
            position: relative;
            display: block;
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2rem;
            letter-spacing: 0.09em;
            color: #000;
            border: 1px solid #000;
            border-radius: 9999px;
            padding: 1.2rem 2rem; }
            main.job-construction nav.indicator-popup .dialog .wrapper ul li a:after {
              content: "";
              -webkit-mask-image: url("../images/vision/nav_arrow.svg");
              mask-image: url("../images/vision/nav_arrow.svg");
              -webkit-mask-size: 100% 100%;
              mask-size: 100% 100%;
              display: block;
              width: 1.1rem;
              height: 1.1rem;
              position: absolute;
              right: 2rem;
              top: 50%;
              transform: translateY(-50%);
              background-color: #000; }
            main.job-construction nav.indicator-popup .dialog .wrapper ul li a.active {
              background-color: #000;
              color: #fff; }
              main.job-construction nav.indicator-popup .dialog .wrapper ul li a.active:after {
                background-color: #fff; }
  main.job-construction nav.indicator-popup.on .toggle {
    transform: translateX(0); }
main.job-construction nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.job-construction nav.cta {
      padding: 8rem 0 12rem; } }
  main.job-construction nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.job-construction nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.job-construction nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.job-construction nav.cta .container .copy {
          width: auto; } }
    main.job-construction nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.job-construction nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.job-construction nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.job-construction nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.job-construction nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.job-construction nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.job-construction nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.job-construction nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.job-construction nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.job-construction nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.job-construction nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.job-construction nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.job-construction nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.job-construction nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.job-construction nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.job-construction nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.job-construction nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.job-construction nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.job-construction nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.job-construction nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.job-construction nav.job {
  background-color: #73AEFF; }
  main.job-construction nav.job:after {
    content: "";
    background-image: url("../images/job/decor_text_black.svg");
    background-size: 13.6em auto;
    animation: decor-text-loop-job linear calc(13.6s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-job {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -13.6em 58%; } }
    @media screen and (max-width: 1023px) {
      main.job-construction nav.job:after {
        font-size: calc(3rem /4); } }
  main.job-construction nav.job .container ul li {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #000; }
    @media screen and (max-width: 1023px) {
      main.job-construction nav.job .container ul li {
        display: block; } }
    main.job-construction nav.job .container ul li figure {
      flex: 0 0 72rem;
      border-right: 1px solid #000;
      overflow: hidden; }
      main.job-construction nav.job .container ul li figure a {
        display: block; }
        main.job-construction nav.job .container ul li figure a img {
          transition: all ease .3s; }
        main.job-construction nav.job .container ul li figure a:hover img {
          transform: scale(1.05); }
    main.job-construction nav.job .container ul li .content {
      flex: 1;
      padding-left: 4.8rem;
      padding-right: 6.7rem; }
      @media screen and (max-width: 1023px) {
        main.job-construction nav.job .container ul li .content {
          padding: 2.4rem 2.4rem 4rem;
          border: none;
          border-top: 1px solid #000; } }
      main.job-construction nav.job .container ul li .content .title {
        font-style: normal;
        font-weight: 700;
        font-size: 3.6rem;
        line-height: 4.2rem;
        letter-spacing: 0.09em;
        padding: 0 .4rem;
        color: #73AEFF;
        background-color: #E4FF21;
        width: fit-content;
        margin-bottom: 3.2rem;
        position: relative;
        width: fit-content;
        transition: all ease .3s;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
        @media screen and (max-width: 1023px) {
          main.job-construction nav.job .container ul li .content .title {
            font-size: 2.4rem;
            line-height: 3.2rem;
            margin-bottom: 1.6rem; } }
        main.job-construction nav.job .container ul li .content .title:before {
          content: "";
          display: block;
          background-color: #E4FF21;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          transition: all ease .3s .3s;
          transform-origin: 100% 0; }
        main.job-construction nav.job .container ul li .content .title[data-inview-active] {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          main.job-construction nav.job .container ul li .content .title[data-inview-active]:before {
            transform: scale(0, 1); }
      main.job-construction nav.job .container ul li .content .description {
        font-weight: 700;
        font-size: 1.6rem;
        line-height: 3.6rem;
        letter-spacing: .3rem;
        color: #E4FF21; }
        @media screen and (max-width: 1023px) {
          main.job-construction nav.job .container ul li .content .description {
            font-size: 1.4rem;
            line-height: 2.8rem; } }
      main.job-construction nav.job .container ul li .content .action {
        margin-top: 4.4rem; }
        @media screen and (max-width: 1023px) {
          main.job-construction nav.job .container ul li .content .action {
            margin-top: 4rem; } }
        main.job-construction nav.job .container ul li .content .action a {
          position: relative;
          display: flex;
          align-items: center;
          width: fit-content;
          padding: 0 4.4rem 0 1.2rem;
          height: 3.2rem;
          padding-left: 1rem;
          border: 1px solid #000;
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 600;
          font-size: 1.4rem;
          line-height: 2.1rem;
          color: #000000;
          background-color: #fff;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          main.job-construction nav.job .container ul li .content .action a .arrow {
            position: relative;
            content: "";
            display: block;
            width: 3.2rem;
            height: 3.2rem;
            position: absolute;
            top: 0;
            right: 0;
            background-color: #000; }
            main.job-construction nav.job .container ul li .content .action a .arrow:after {
              content: "";
              display: block;
              width: 1.2rem;
              height: 1.2rem;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
              -webkit-mask-image: url("../images/why/why_arrow.svg");
              -webkit-mask-size: 100% 100%;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/why/why_arrow.svg");
              mask-size: 100% 100%;
              mask-position: 0 0;
              background-color: #fff;
              transition: all ease .3s; }
          @media screen and (min-width: 1024px) {
            main.job-construction nav.job .container ul li .content .action a:hover {
              background-position: 0% 0%; }
              main.job-construction nav.job .container ul li .content .action a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 1.2rem 0;
                mask-position: 1.2rem 0; } }
main.job-construction nav.interview header {
  position: relative;
  background-color: #F5F5F5;
  padding: 6rem 6.5rem 4rem; }
  @media screen and (max-width: 1023px) {
    main.job-construction nav.interview header {
      padding: 4rem 2.4rem 2.4rem; } }
  main.job-construction nav.interview header h2 {
    font-weight: 700;
    font-size: 5.6rem;
    line-height: 8.1rem;
    letter-spacing: -0.05em;
    color: #000000; }
    @media screen and (max-width: 1023px) {
      main.job-construction nav.interview header h2 {
        font-weight: 700;
        font-size: 3.2rem;
        line-height: 4.6rem;
        margin-bottom: 2.4rem; } }
  main.job-construction nav.interview header ul {
    position: absolute;
    bottom: 5.5rem;
    right: 6.4rem;
    display: flex;
    gap: 1rem; }
    @media screen and (max-width: 1023px) {
      main.job-construction nav.interview header ul {
        position: static; } }
    main.job-construction nav.interview header ul .prev,
    main.job-construction nav.interview header ul .next {
      width: 6rem;
      height: 6rem;
      border: 1px solid #000;
      background-position: 50% 50%;
      background-size: 1.3rem 2.2rem;
      background-repeat: no-repeat;
      text-indent: -9999px;
      overflow: hidden; }
    main.job-construction nav.interview header ul .prev {
      background-image: url("../images/interview/detail/interview_prev_arrow.svg"); }
    main.job-construction nav.interview header ul .next {
      background-image: url("../images/interview/detail/interview_next_arrow.svg"); }
main.job-construction nav.interview .body {
  background-color: #fff;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.job-construction nav.interview .body .splide {
      padding: 0 2.4rem; } }
  @media screen and (max-width: 1023px) {
    main.job-construction nav.interview .body .splide__track {
      overflow: visible !important; } }
  main.job-construction nav.interview .body ul.splide__list > li {
    border-left: 1px solid #000;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000; }
    main.job-construction nav.interview .body ul.splide__list > li a {
      position: relative;
      display: block;
      height: 100%;
      background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
      background-size: 200% 100%;
      background-position: 100% 0%;
      transition: background-position 0.3s ease; }
      main.job-construction nav.interview .body ul.splide__list > li a figure {
        border-bottom: 1px solid #000;
        overflow: hidden; }
        main.job-construction nav.interview .body ul.splide__list > li a figure img {
          transition: all ease .3s; }
      main.job-construction nav.interview .body ul.splide__list > li a .content {
        position: relative;
        padding: 3rem 2rem 4rem;
        /*
        &:before {
        	content: "";
        	display: block;
        	background-image: url("../images/interview/detail/interview_arrow.svg");
        	background-size:  2.2rem 2.2rem;
        	background-position: 50% 50%;
        	background-repeat: no-repeat;
        	width: 6rem;
        	height: 6rem;
        	background-color: #000;
        	position: absolute;
        	bottom: 0;
        	right: 0;
        }
        */ }
        @media screen and (max-width: 1023px) {
          main.job-construction nav.interview .body ul.splide__list > li a .content {
            padding: 1.6rem 1.8rem 3.5rem; } }
        main.job-construction nav.interview .body ul.splide__list > li a .content .copy {
          font-weight: 700;
          font-size: 2rem;
          line-height: 2.9rem;
          letter-spacing: -0.05em;
          color: #000000;
          margin-bottom: 3.2rem; }
          @media screen and (max-width: 1023px) {
            main.job-construction nav.interview .body ul.splide__list > li a .content .copy {
              font-size: 1.8rem;
              line-height: 2.6rem;
              margin-bottom: 1.6rem; } }
        main.job-construction nav.interview .body ul.splide__list > li a .content .join {
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 2rem;
          letter-spacing: 0.09em;
          color: #000000;
          width: fit-content;
          padding: .4rem;
          border: 1px solid #000;
          margin-bottom: 1rem; }
          @media screen and (max-width: 1023px) {
            main.job-construction nav.interview .body ul.splide__list > li a .content .join {
              font-size: 1.2rem;
              line-height: 1.8rem; } }
        main.job-construction nav.interview .body ul.splide__list > li a .content .job {
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 3.2rem;
          letter-spacing: .3rem;
          color: #000000; }
          @media screen and (max-width: 1023px) {
            main.job-construction nav.interview .body ul.splide__list > li a .content .job {
              font-size: 1.2rem;
              line-height: 2.2rem;
              letter-spacing: 0;
              margin-bottom: .8rem; } }
        main.job-construction nav.interview .body ul.splide__list > li a .content .name p:nth-child(1) {
          font-weight: 700;
          font-size: 3.2rem;
          line-height: 4.4rem;
          letter-spacing: 0.09em;
          color: #000000;
          margin-bottom: .6rem; }
          @media screen and (max-width: 1023px) {
            main.job-construction nav.interview .body ul.splide__list > li a .content .name p:nth-child(1) {
              font-weight: 700;
              font-size: 2.4rem;
              line-height: 3.4rem;
              margin-bottom: .8rem; } }
        main.job-construction nav.interview .body ul.splide__list > li a .content .name p:nth-child(2) {
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 500;
          font-size: 1.4rem;
          line-height: 2.8rem;
          letter-spacing: .1rem;
          color: #000000; }
          @media screen and (max-width: 1023px) {
            main.job-construction nav.interview .body ul.splide__list > li a .content .name p:nth-child(2) {
              font-size: 1.4rem;
              line-height: 1.8rem; } }
        main.job-construction nav.interview .body ul.splide__list > li a .content ul.tag {
          display: flex;
          flex-wrap: wrap;
          gap: 0 1.4rem; }
          main.job-construction nav.interview .body ul.splide__list > li a .content ul.tag li {
            font-weight: 500;
            font-size: 1.4rem;
            line-height: 2.8rem;
            letter-spacing: .1rem;
            color: #000000; }
            main.job-construction nav.interview .body ul.splide__list > li a .content ul.tag li:before {
              content: "#"; }
      main.job-construction nav.interview .body ul.splide__list > li a .arrow {
        content: "";
        display: block;
        width: 6rem;
        height: 6rem;
        position: absolute;
        right: 0;
        bottom: 0;
        background-color: #000; }
        @media screen and (max-width: 1023px) {
          main.job-construction nav.interview .body ul.splide__list > li a .arrow {
            width: 5.4rem;
            height: 5.4rem; } }
        main.job-construction nav.interview .body ul.splide__list > li a .arrow:after {
          content: "";
          position: absolute;
          top: 50%;
          left: 50%;
          display: block;
          width: 2.2rem;
          height: 2.2rem;
          transform: translate(-50%, -50%);
          -webkit-mask-image: url("../images/interview/interview_arrow.svg");
          -webkit-mask-size: 100% 100%;
          -webkit-mask-position: 0 0;
          mask-image: url("../images/interview/interview_arrow.svg");
          mask-size: 100% 100%;
          mask-position: 0 0;
          background-color: #fff;
          transition: all ease .3s; }
          @media screen and (max-width: 1023px) {
            main.job-construction nav.interview .body ul.splide__list > li a .arrow:after {
              width: 1.8rem;
              height: 1.8rem; } }
      @media screen and (min-width: 1024px) {
        main.job-construction nav.interview .body ul.splide__list > li a:hover {
          background-position: 0% 0%; }
          main.job-construction nav.interview .body ul.splide__list > li a:hover figure img {
            transform: scale(1.05); }
          main.job-construction nav.interview .body ul.splide__list > li a:hover .arrow:after {
            background-color: #D9FF00;
            -webkit-mask-position: 2.2rem 0;
            mask-position: 2.2rem 0; } }
@keyframes nav-interview-back-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -36.4em 50%; } }
  main.job-construction nav.interview .body .back {
    border-bottom: 1px solid #000; }
    main.job-construction nav.interview .body .back a {
      font-size: 1rem;
      position: relative;
      height: 12rem;
      display: block;
      text-indent: -9999px;
      overflow: hidden;
      background-image: url("../images/interview/detail/interview_back_decor_text.svg");
      background-size: 36.4rem 4.5rem;
      background-repeat: repeat-x;
      background-position: 0 50%;
      animation: nav-interview-back-loop linear calc(36.4s / 10) infinite; }
      @media screen and (max-width: 1023px) {
        main.job-construction nav.interview .body .back a {
          font-size: .5rem;
          height: 6rem;
          background-size: 18.2rem 2.25rem;
          animation: nav-interview-back-loop linear calc(18.2s / 10) infinite; } }
      main.job-construction nav.interview .body .back a:before {
        content: "";
        display: block;
        width: 12rem;
        height: 12rem;
        background-color: #000;
        background-image: url("../images/interview/detail/interview_back_arrow.svg");
        background-size: 4.2rem 4.2rem;
        background-repeat: no-repeat;
        background-position: 50% 50%;
        position: absolute;
        top: 0;
        left: 0; }
        @media screen and (max-width: 1023px) {
          main.job-construction nav.interview .body .back a:before {
            height: 6rem;
            width: 6rem;
            background-size: 2.1rem 2.1rem; } }
main.job-construction nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.job-construction nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.job-construction nav.other header {
        padding: 4rem 0 0; } }
    main.job-construction nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.job-construction nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.job-construction nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.job-construction nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.job-construction nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.job-construction nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.job-construction nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.job-construction nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.job-construction nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.job-construction nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.job-construction nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.job-construction nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.job-construction nav.other .content ul li {
            flex: 0 0 100%; } }
        main.job-construction nav.other .content ul li a {
          display: block; }
          main.job-construction nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.job-construction nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.job-construction nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.job-construction nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.job-construction nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.job-construction nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.job-construction nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.job-construction nav.other .content ul li:nth-child(4), main.job-construction nav.other .content ul li:nth-child(5), main.job-construction nav.other .content ul li:nth-child(6) {
            display: none; } }

main.job-wood > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.job-wood > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.job-wood > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/job/wood/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.job-wood > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.job-wood > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.job-wood > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-job-wood {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -119.5em 0;
    				}
    			}
    			background-image: url("../images/job/wood/header_title_en.svg");
    //			background-size: 119.5rem 7.7rem;
    			background-size: 119.5em auto;
    			animation: header-title-en-job-wood linear calc(119.5s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.job-wood > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.job-wood > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.job-wood > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.job-wood > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.job-wood > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.job-wood > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.job-wood > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.job-wood > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.job-wood > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.job-wood > header .scroll {
        font-size: calc(3rem /4); } }
main.job-wood section.work {
  background-color: #73AEFF; }
  main.job-wood section.work:after {
    content: "";
    background-image: url("../images/job/wood/decor_text_black.svg");
    background-size: 24.5em auto;
    animation: decor-text-loop-job-wood linear calc(24.5s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-job-wood {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -24.5em 58%; } }
    @media screen and (max-width: 1023px) {
      main.job-wood section.work:after {
        font-size: calc(3rem /4); } }
  main.job-wood section.work .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 7rem 0 8rem; }
    @media screen and (max-width: 1023px) {
      main.job-wood section.work .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.job-wood section.work .container {
        padding: 6rem 0 5.6rem; } }
    main.job-wood section.work .container h2 {
      font-weight: 700;
      font-size: 8rem;
      line-height: 9.6rem;
      letter-spacing: -0.05em;
      color: #73AEFF;
      height: 9.6rem;
      padding: 0 1.2rem;
      background-color: #E5FF21;
      width: fit-content;
      margin-bottom: 4.5rem;
      position: relative;
      width: fit-content;
      transition: all ease .3s;
      clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
      @media screen and (max-width: 1023px) {
        main.job-wood section.work .container h2 {
          font-size: 3.2rem;
          line-height: 4rem;
          height: 4rem;
          padding: 0 .8rem;
          margin-bottom: 2.4rem; } }
      main.job-wood section.work .container h2:before {
        content: "";
        display: block;
        background-color: #E5FF21;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        transition: all ease .3s .3s;
        transform-origin: 100% 0; }
      main.job-wood section.work .container h2[data-inview-active] {
        clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
        main.job-wood section.work .container h2[data-inview-active]:before {
          transform: scale(0, 1); }
    main.job-wood section.work .container > p {
      font-weight: 700;
      font-size: 2.4rem;
      line-height: 4.6rem;
      letter-spacing: .3rem;
      color: #E5FF21; }
      @media screen and (max-width: 1023px) {
        main.job-wood section.work .container > p {
          font-size: 1.4rem;
          line-height: 2.8rem; } }
    main.job-wood section.work .container figure {
      margin-top: 4rem; }
      @media screen and (max-width: 1023px) {
        main.job-wood section.work .container figure {
          margin-top: 2.4em; } }
main.job-wood > .body {
  position: relative;
  background-color: #fff;
  display: flex;
  padding-bottom: 4rem; }
  @media screen and (max-width: 1023px) {
    main.job-wood > .body {
      display: block; } }
  main.job-wood > .body:after {
    content: "";
    background-image: url("../images/job/wood/decor_text_black.svg");
    background-size: 24.5em auto;
    animation: decor-text-loop-job-wood linear calc(24.5s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0; }
@keyframes decor-text-loop-job-wood {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -24.5em 58%; } }
    @media screen and (max-width: 1023px) {
      main.job-wood > .body:after {
        font-size: calc(3rem /4); } }
  main.job-wood > .body nav.indicator {
    background-color: #F4F4F4;
    flex: 0 0 30rem;
    padding: 8.8rem 4.8rem 8.8rem 6.6rem; }
    @media screen and (max-width: 1023px) {
      main.job-wood > .body nav.indicator {
        padding: 4rem 2.4rem 5.6rem; } }
    main.job-wood > .body nav.indicator ul {
      position: sticky;
      top: 10rem;
      display: flex;
      flex-wrap: wrap;
      gap: 1.8rem; }
      @media screen and (max-width: 1023px) {
        main.job-wood > .body nav.indicator ul {
          position: relative;
          top: auto;
          gap: 1.6rem; } }
      main.job-wood > .body nav.indicator ul li {
        flex: 0 0 100%; }
        main.job-wood > .body nav.indicator ul li a {
          position: relative;
          display: flex;
          align-items: center;
          font-style: normal;
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 2.0rem;
          letter-spacing: 0.09em;
          color: #000000;
          min-height: 4.4rem;
          padding: 1rem 2.4rem;
          border: 1px solid #000;
          border-radius: 9999px; }
          @media screen and (max-width: 1023px) {
            main.job-wood > .body nav.indicator ul li a {
              height: auto;
              padding: 1.2rem 2rem; } }
          main.job-wood > .body nav.indicator ul li a:after {
            content: "";
            -webkit-mask-image: url("../images/vision/nav_arrow.svg");
            mask-image: url("../images/vision/nav_arrow.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            display: block;
            width: 1.1rem;
            height: 1.1rem;
            position: absolute;
            right: 2rem;
            top: 50%;
            transform: translateY(-50%);
            background-color: #000; }
          main.job-wood > .body nav.indicator ul li a.active {
            background-color: #000;
            color: #fff; }
            main.job-wood > .body nav.indicator ul li a.active:after {
              background-color: #fff; }
  main.job-wood > .body > .content {
    flex: 1; }
    main.job-wood > .body > .content > section {
      position: relative;
      padding-right: 6.5rem; }
      @media screen and (max-width: 1023px) {
        main.job-wood > .body > .content > section {
          padding-right: 2.4rem; } }
      main.job-wood > .body > .content > section:before {
        content: "";
        background-image: url("../images/job/wood/decor_text_vertical_black.svg");
        background-size: 1.5em 24.2em;
        animation: decor-text-vertical-loop-job-wood linear calc(24.2s / 10) infinite;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        background-position: 50% 0;
        background-repeat: repeat-y;
        display: block;
        font-size: 1rem;
        width: 6.5em;
        border-left: 1px solid #000; }
@keyframes decor-text-vertical-loop-job-wood {
  0% {
    background-position: 50% 0; }
  100% {
    background-position: 50% -24.2em; } }
        @media screen and (max-width: 1023px) {
          main.job-wood > .body > .content > section:before {
            font-size: .6rem; } }
        @media screen and (max-width: 1023px) {
          main.job-wood > .body > .content > section:before {
            width: 2.4rem; } }
      main.job-wood > .body > .content > section h2 {
        position: relative;
        font-weight: 700;
        font-size: 5.6rem;
        line-height: 8.1rem;
        letter-spacing: -0.05em;
        color: #000000;
        padding: 4rem 5rem 3.6rem;
        border-bottom: .8rem solid #000;
        margin-right: -6.5rem;
        background-color: #fff;
        background-image: url("../images/job/detail/article_decor.png");
        background-size: 22.9rem 16.1rem;
        background-position: 100% 0%;
        background-repeat: no-repeat; }
        @media screen and (max-width: 1023px) {
          main.job-wood > .body > .content > section h2 {
            font-size: 3.2rem;
            line-height: 4.6rem;
            padding: 2rem 2.4rem 2rem;
            border-bottom: .4rem solid #000;
            background-size: auto 100%;
            margin-right: -2.4rem; } }
      main.job-wood > .body > .content > section + section {
        border-top: 8px solid #000; }
        @media screen and (max-width: 1023px) {
          main.job-wood > .body > .content > section + section {
            border-top: .4rem solid #000; } }
      main.job-wood > .body > .content > section article + article {
        border-top: 4px solid #000; }
      main.job-wood > .body > .content > section article section.profile {
        background-color: #fff;
        display: flex;
        gap: 4.8rem;
        padding: 6.4rem 5rem;
        border-bottom: 1px dashed #000; }
        main.job-wood > .body > .content > section article section.profile:has(.container) {
          display: block;
          padding: 0; }
        @media screen and (max-width: 1023px) {
          main.job-wood > .body > .content > section article section.profile {
            display: block;
            padding: 4rem 1.6rem 4rem 2.4rem; } }
        main.job-wood > .body > .content > section article section.profile .container {
          width: calc(100% - 6.6rem * 2);
          max-width: 115rem;
          margin: 0 auto;
          display: flex;
          gap: 4.8rem;
          padding: 6.4rem 0; }
          @media screen and (max-width: 1023px) {
            main.job-wood > .body > .content > section article section.profile .container {
              width: calc(100% - 2.4rem * 2); } }
          @media screen and (max-width: 1023px) {
            main.job-wood > .body > .content > section article section.profile .container {
              padding: 4rem 0;
              display: block; } }
        main.job-wood > .body > .content > section article section.profile figure {
          flex: 0 0 35.5rem; }
          @media screen and (max-width: 1023px) {
            main.job-wood > .body > .content > section article section.profile figure {
              margin-bottom: 2.4rem;
              margin-right: -1.6rem; } }
        main.job-wood > .body > .content > section article section.profile .content {
          flex: 1; }
          main.job-wood > .body > .content > section article section.profile .content .join {
            border: 1px solid #000;
            padding: .4rem;
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2rem;
            letter-spacing: 0.09em;
            color: #000000;
            width: fit-content;
            margin-bottom: 2.4rem; }
            @media screen and (max-width: 1023px) {
              main.job-wood > .body > .content > section article section.profile .content .join {
                font-size: 1.2rem;
                line-height: 1.7rem;
                margin-bottom: 1.6rem; } }
          main.job-wood > .body > .content > section article section.profile .content .profile,
          main.job-wood > .body > .content > section article section.profile .content .job {
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2.4rem;
            letter-spacing: .1em;
            color: #000000;
            margin-bottom: 1.2rem; }
            @media screen and (max-width: 1023px) {
              main.job-wood > .body > .content > section article section.profile .content .profile,
              main.job-wood > .body > .content > section article section.profile .content .job {
                margin-bottom: .8rem; } }
          main.job-wood > .body > .content > section article section.profile .content .name {
            margin-bottom: 2.4rem; }
            main.job-wood > .body > .content > section article section.profile .content .name p:nth-child(1) {
              font-weight: 700;
              font-size: 2.4rem;
              line-height: 1.5;
              letter-spacing: 0.12em;
              color: #000000;
              margin-bottom: .4rem; }
            main.job-wood > .body > .content > section article section.profile .content .name p:nth-child(2) {
              font-family: 'Poppins';
              font-style: normal;
              font-weight: 500;
              font-size: 1.4rem;
              line-height: 2.8rem;
              letter-spacing: .1rem;
              color: #000000; }
              @media screen and (max-width: 1023px) {
                main.job-wood > .body > .content > section article section.profile .content .name p:nth-child(2) {
                  line-height: 1.5; } }
          main.job-wood > .body > .content > section article section.profile .content .description {
            font-weight: 500;
            font-size: 1.4rem;
            line-height: 2.8rem;
            letter-spacing: .1rem;
            color: #000000; }
        main.job-wood > .body > .content > section article section.profile + section.profile {
          margin-top: -6.4rem;
          background-color: #fff; }
          @media screen and (max-width: 1023px) {
            main.job-wood > .body > .content > section article section.profile + section.profile {
              margin-top: -4rem; } }
      main.job-wood > .body > .content > section article > .content {
        position: relative;
        padding: 5.6rem 5rem 5.6rem 5rem; }
        @media screen and (max-width: 1023px) {
          main.job-wood > .body > .content > section article > .content {
            padding: 4rem 1.6rem 5.2rem 2.4rem; } }
        main.job-wood > .body > .content > section article > .content section.summary {
          padding-bottom: 4rem;
          border-bottom: 1px solid #000; }
          main.job-wood > .body > .content > section article > .content section.summary h4 {
            font-weight: 700;
            font-size: 3.2rem;
            line-height: 5rem;
            letter-spacing: -0.05em;
            color: #73AEFF;
            margin-bottom: 2.4rem; }
            @media screen and (max-width: 1023px) {
              main.job-wood > .body > .content > section article > .content section.summary h4 {
                font-size: 2rem;
                line-height: 3.1rem;
                margin-bottom: 1.6rem; } }
            main.job-wood > .body > .content > section article > .content section.summary h4 .highlight {
              background-color: #E5FF21;
              padding: 0 .4rem; }
              @media screen and (max-width: 1023px) {
                main.job-wood > .body > .content > section article > .content section.summary h4 .highlight {
                  padding: 0 .2rem; } }
          main.job-wood > .body > .content > section article > .content section.summary p {
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2.8rem;
            letter-spacing: .3rem;
            color: #000000; }
        main.job-wood > .body > .content > section article > .content section.point {
          display: flex;
          gap: 2.4rem;
          margin: 4rem 0; }
          @media screen and (max-width: 1023px) {
            main.job-wood > .body > .content > section article > .content section.point {
              gap: 1.6rem;
              margin: 4rem 0 3.4rem; } }
          main.job-wood > .body > .content > section article > .content section.point h4 {
            font-family: 'Poppins';
            font-style: normal;
            font-weight: 600;
            font-size: 1.6rem;
            line-height: 2.4rem;
            color: #73AEFF; }
            @media screen and (max-width: 1023px) {
              main.job-wood > .body > .content > section article > .content section.point h4 {
                font-size: 1.4rem;
                line-height: 2.1rem; } }
          main.job-wood > .body > .content > section article > .content section.point ul li {
            position: relative;
            font-weight: 700;
            font-size: 1.8rem;
            line-height: 2.8rem;
            letter-spacing: 0.12em;
            color: #73AEFF;
            padding-left: 1.5em; }
            @media screen and (max-width: 1023px) {
              main.job-wood > .body > .content > section article > .content section.point ul li {
                font-size: 1.6rem;
                line-height: 2.3rem; } }
            main.job-wood > .body > .content > section article > .content section.point ul li:before {
              content: "▶";
              position: absolute;
              top: 0;
              left: 0; }
            main.job-wood > .body > .content > section article > .content section.point ul li + li {
              margin-top: .5rem; }
              @media screen and (max-width: 1023px) {
                main.job-wood > .body > .content > section article > .content section.point ul li + li {
                  margin-top: 1.2rem; } }
        main.job-wood > .body > .content > section article > .content section.qa {
          margin-top: 5.6rem; }
          @media screen and (max-width: 1023px) {
            main.job-wood > .body > .content > section article > .content section.qa {
              margin-top: 4rem; } }
          main.job-wood > .body > .content > section article > .content section.qa dl dt {
            position: relative;
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2.8rem;
            letter-spacing: .3rem;
            color: #000000;
            border-top: 1px solid #000;
            padding: 2rem 0 2rem 5.2rem; }
            main.job-wood > .body > .content > section article > .content section.qa dl dt:before {
              content: "Q";
              display: flex;
              justify-content: center;
              align-items: center;
              width: 3.6rem;
              height: 3.6rem;
              position: absolute;
              top: 1.6rem;
              left: 0;
              background-color: #73AEFF;
              color: #E5FF21;
              font-weight: 700;
              font-size: 1.6rem;
              line-height: 2.8rem; }
          main.job-wood > .body > .content > section article > .content section.qa dl dd {
            position: relative;
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2.8rem;
            letter-spacing: .3rem;
            color: #000000;
            border-top: 1px dashed #000;
            padding: 2rem 0 2rem 5.2rem; }
            main.job-wood > .body > .content > section article > .content section.qa dl dd:before {
              content: "A";
              display: flex;
              justify-content: center;
              align-items: center;
              width: 3.6rem;
              height: 3.6rem;
              position: absolute;
              top: 1.6rem;
              left: 0;
              background-color: #E5FF21;
              color: #73AEFF;
              font-weight: 700;
              font-size: 1.6rem;
              line-height: 2.8rem; }
main.job-wood nav.indicator-popup {
  position: static;
  display: none; }
  @media screen and (max-width: 1023px) {
    main.job-wood nav.indicator-popup {
      display: block; } }
  main.job-wood nav.indicator-popup .toggle {
    position: fixed;
    right: 0;
    bottom: 4.8rem;
    z-index: 100;
    transform: translateX(100%);
    transition: all ease .3s; }
    main.job-wood nav.indicator-popup .toggle button {
      position: relative;
      height: 4rem;
      background-color: #000;
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 1.6rem;
      line-height: 4rem;
      color: #FFFFFF;
      padding: 0 5.1rem 0 1.2rem !important; }
      main.job-wood nav.indicator-popup .toggle button:before, main.job-wood nav.indicator-popup .toggle button:after {
        content: "";
        display: block;
        width: 2.2rem;
        height: 1px;
        position: absolute;
        top: 50%;
        right: 1.8rem;
        background-color: #fff; }
      main.job-wood nav.indicator-popup .toggle button:before {
        margin-top: -.3rem; }
      main.job-wood nav.indicator-popup .toggle button:after {
        margin-top: .3rem; }
    main.job-wood nav.indicator-popup .toggle.active + .dialog {
      pointer-events: auto;
      opacity: 1; }
  main.job-wood nav.indicator-popup .dialog {
    position: fixed;
    z-index: 10000;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    pointer-events: none;
    transition: all ease .3s;
    opacity: 0;
    display: flex;
    justify-content: center;
    align-items: center; }
    main.job-wood nav.indicator-popup .dialog .wrapper {
      position: relative;
      background-color: #fff;
      width: 34.2rem;
      padding: 3.2rem 2.4rem; }
      main.job-wood nav.indicator-popup .dialog .wrapper .close {
        position: absolute;
        right: 0;
        bottom: 100%; }
        main.job-wood nav.indicator-popup .dialog .wrapper .close button {
          position: relative;
          width: 5.6rem;
          height: 4rem;
          background-color: #fff;
          text-indent: -9999px;
          overflow: hidden; }
          main.job-wood nav.indicator-popup .dialog .wrapper .close button:before, main.job-wood nav.indicator-popup .dialog .wrapper .close button:after {
            content: "";
            position: absolute;
            top: 50%;
            left: calc(50% - 1.2rem);
            display: block;
            width: 2.4rem;
            height: 1px;
            background-color: #000; }
          main.job-wood nav.indicator-popup .dialog .wrapper .close button:before {
            transform: rotate(20deg); }
          main.job-wood nav.indicator-popup .dialog .wrapper .close button:after {
            transform: rotate(-20deg); }
      main.job-wood nav.indicator-popup .dialog .wrapper ul {
        display: flex;
        flex-wrap: wrap;
        gap: 16px; }
        main.job-wood nav.indicator-popup .dialog .wrapper ul li {
          flex: 0 0 100%; }
          main.job-wood nav.indicator-popup .dialog .wrapper ul li a {
            position: relative;
            display: block;
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2rem;
            letter-spacing: 0.09em;
            color: #000;
            border: 1px solid #000;
            border-radius: 9999px;
            padding: 1.2rem 2rem; }
            main.job-wood nav.indicator-popup .dialog .wrapper ul li a:after {
              content: "";
              -webkit-mask-image: url("../images/vision/nav_arrow.svg");
              mask-image: url("../images/vision/nav_arrow.svg");
              -webkit-mask-size: 100% 100%;
              mask-size: 100% 100%;
              display: block;
              width: 1.1rem;
              height: 1.1rem;
              position: absolute;
              right: 2rem;
              top: 50%;
              transform: translateY(-50%);
              background-color: #000; }
            main.job-wood nav.indicator-popup .dialog .wrapper ul li a.active {
              background-color: #000;
              color: #fff; }
              main.job-wood nav.indicator-popup .dialog .wrapper ul li a.active:after {
                background-color: #fff; }
  main.job-wood nav.indicator-popup.on .toggle {
    transform: translateX(0); }
main.job-wood nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.job-wood nav.cta {
      padding: 8rem 0 12rem; } }
  main.job-wood nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.job-wood nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.job-wood nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.job-wood nav.cta .container .copy {
          width: auto; } }
    main.job-wood nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.job-wood nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.job-wood nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.job-wood nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.job-wood nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.job-wood nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.job-wood nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.job-wood nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.job-wood nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.job-wood nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.job-wood nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.job-wood nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.job-wood nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.job-wood nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.job-wood nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.job-wood nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.job-wood nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.job-wood nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.job-wood nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.job-wood nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.job-wood nav.job {
  background-color: #73AEFF; }
  main.job-wood nav.job:after {
    content: "";
    background-image: url("../images/job/decor_text_black.svg");
    background-size: 13.6em auto;
    animation: decor-text-loop-job linear calc(13.6s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-job {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -13.6em 58%; } }
    @media screen and (max-width: 1023px) {
      main.job-wood nav.job:after {
        font-size: calc(3rem /4); } }
  main.job-wood nav.job .container ul li {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #000; }
    @media screen and (max-width: 1023px) {
      main.job-wood nav.job .container ul li {
        display: block; } }
    main.job-wood nav.job .container ul li figure {
      flex: 0 0 72rem;
      border-right: 1px solid #000;
      overflow: hidden; }
      main.job-wood nav.job .container ul li figure a {
        display: block; }
        main.job-wood nav.job .container ul li figure a img {
          transition: all ease .3s; }
        main.job-wood nav.job .container ul li figure a:hover img {
          transform: scale(1.05); }
    main.job-wood nav.job .container ul li .content {
      flex: 1;
      padding-left: 4.8rem;
      padding-right: 6.7rem; }
      @media screen and (max-width: 1023px) {
        main.job-wood nav.job .container ul li .content {
          padding: 2.4rem 2.4rem 4rem;
          border: none;
          border-top: 1px solid #000; } }
      main.job-wood nav.job .container ul li .content .title {
        font-style: normal;
        font-weight: 700;
        font-size: 3.6rem;
        line-height: 4.2rem;
        letter-spacing: 0.09em;
        padding: 0 .4rem;
        color: #73AEFF;
        background-color: #E4FF21;
        width: fit-content;
        margin-bottom: 3.2rem;
        position: relative;
        width: fit-content;
        transition: all ease .3s;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
        @media screen and (max-width: 1023px) {
          main.job-wood nav.job .container ul li .content .title {
            font-size: 2.4rem;
            line-height: 3.2rem;
            margin-bottom: 1.6rem; } }
        main.job-wood nav.job .container ul li .content .title:before {
          content: "";
          display: block;
          background-color: #E4FF21;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          transition: all ease .3s .3s;
          transform-origin: 100% 0; }
        main.job-wood nav.job .container ul li .content .title[data-inview-active] {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          main.job-wood nav.job .container ul li .content .title[data-inview-active]:before {
            transform: scale(0, 1); }
      main.job-wood nav.job .container ul li .content .description {
        font-weight: 700;
        font-size: 1.6rem;
        line-height: 3.6rem;
        letter-spacing: .3rem;
        color: #E4FF21; }
        @media screen and (max-width: 1023px) {
          main.job-wood nav.job .container ul li .content .description {
            font-size: 1.4rem;
            line-height: 2.8rem; } }
      main.job-wood nav.job .container ul li .content .action {
        margin-top: 4.4rem; }
        @media screen and (max-width: 1023px) {
          main.job-wood nav.job .container ul li .content .action {
            margin-top: 4rem; } }
        main.job-wood nav.job .container ul li .content .action a {
          position: relative;
          display: flex;
          align-items: center;
          width: fit-content;
          padding: 0 4.4rem 0 1.2rem;
          height: 3.2rem;
          padding-left: 1rem;
          border: 1px solid #000;
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 600;
          font-size: 1.4rem;
          line-height: 2.1rem;
          color: #000000;
          background-color: #fff;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          main.job-wood nav.job .container ul li .content .action a .arrow {
            position: relative;
            content: "";
            display: block;
            width: 3.2rem;
            height: 3.2rem;
            position: absolute;
            top: 0;
            right: 0;
            background-color: #000; }
            main.job-wood nav.job .container ul li .content .action a .arrow:after {
              content: "";
              display: block;
              width: 1.2rem;
              height: 1.2rem;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
              -webkit-mask-image: url("../images/why/why_arrow.svg");
              -webkit-mask-size: 100% 100%;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/why/why_arrow.svg");
              mask-size: 100% 100%;
              mask-position: 0 0;
              background-color: #fff;
              transition: all ease .3s; }
          @media screen and (min-width: 1024px) {
            main.job-wood nav.job .container ul li .content .action a:hover {
              background-position: 0% 0%; }
              main.job-wood nav.job .container ul li .content .action a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 1.2rem 0;
                mask-position: 1.2rem 0; } }
main.job-wood nav.interview header {
  position: relative;
  background-color: #F5F5F5;
  padding: 6rem 6.5rem 4rem; }
  @media screen and (max-width: 1023px) {
    main.job-wood nav.interview header {
      padding: 4rem 2.4rem 2.4rem; } }
  main.job-wood nav.interview header h2 {
    font-weight: 700;
    font-size: 5.6rem;
    line-height: 8.1rem;
    letter-spacing: -0.05em;
    color: #000000; }
    @media screen and (max-width: 1023px) {
      main.job-wood nav.interview header h2 {
        font-weight: 700;
        font-size: 3.2rem;
        line-height: 4.6rem;
        margin-bottom: 2.4rem; } }
  main.job-wood nav.interview header ul {
    position: absolute;
    bottom: 5.5rem;
    right: 6.4rem;
    display: flex;
    gap: 1rem; }
    @media screen and (max-width: 1023px) {
      main.job-wood nav.interview header ul {
        position: static; } }
    main.job-wood nav.interview header ul .prev,
    main.job-wood nav.interview header ul .next {
      width: 6rem;
      height: 6rem;
      border: 1px solid #000;
      background-position: 50% 50%;
      background-size: 1.3rem 2.2rem;
      background-repeat: no-repeat;
      text-indent: -9999px;
      overflow: hidden; }
    main.job-wood nav.interview header ul .prev {
      background-image: url("../images/interview/detail/interview_prev_arrow.svg"); }
    main.job-wood nav.interview header ul .next {
      background-image: url("../images/interview/detail/interview_next_arrow.svg"); }
main.job-wood nav.interview .body {
  background-color: #fff;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.job-wood nav.interview .body .splide {
      padding: 0 2.4rem; } }
  @media screen and (max-width: 1023px) {
    main.job-wood nav.interview .body .splide__track {
      overflow: visible !important; } }
  main.job-wood nav.interview .body ul.splide__list > li {
    border-left: 1px solid #000;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000; }
    main.job-wood nav.interview .body ul.splide__list > li a {
      position: relative;
      display: block;
      height: 100%;
      background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
      background-size: 200% 100%;
      background-position: 100% 0%;
      transition: background-position 0.3s ease; }
      main.job-wood nav.interview .body ul.splide__list > li a figure {
        border-bottom: 1px solid #000;
        overflow: hidden; }
        main.job-wood nav.interview .body ul.splide__list > li a figure img {
          transition: all ease .3s; }
      main.job-wood nav.interview .body ul.splide__list > li a .content {
        position: relative;
        padding: 3rem 2rem 4rem;
        /*
        &:before {
        	content: "";
        	display: block;
        	background-image: url("../images/interview/detail/interview_arrow.svg");
        	background-size:  2.2rem 2.2rem;
        	background-position: 50% 50%;
        	background-repeat: no-repeat;
        	width: 6rem;
        	height: 6rem;
        	background-color: #000;
        	position: absolute;
        	bottom: 0;
        	right: 0;
        }
        */ }
        @media screen and (max-width: 1023px) {
          main.job-wood nav.interview .body ul.splide__list > li a .content {
            padding: 1.6rem 1.8rem 3.5rem; } }
        main.job-wood nav.interview .body ul.splide__list > li a .content .copy {
          font-weight: 700;
          font-size: 2rem;
          line-height: 2.9rem;
          letter-spacing: -0.05em;
          color: #000000;
          margin-bottom: 3.2rem; }
          @media screen and (max-width: 1023px) {
            main.job-wood nav.interview .body ul.splide__list > li a .content .copy {
              font-size: 1.8rem;
              line-height: 2.6rem;
              margin-bottom: 1.6rem; } }
        main.job-wood nav.interview .body ul.splide__list > li a .content .join {
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 2rem;
          letter-spacing: 0.09em;
          color: #000000;
          width: fit-content;
          padding: .4rem;
          border: 1px solid #000;
          margin-bottom: 1rem; }
          @media screen and (max-width: 1023px) {
            main.job-wood nav.interview .body ul.splide__list > li a .content .join {
              font-size: 1.2rem;
              line-height: 1.8rem; } }
        main.job-wood nav.interview .body ul.splide__list > li a .content .job {
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 3.2rem;
          letter-spacing: .3rem;
          color: #000000; }
          @media screen and (max-width: 1023px) {
            main.job-wood nav.interview .body ul.splide__list > li a .content .job {
              font-size: 1.2rem;
              line-height: 2.2rem;
              letter-spacing: 0;
              margin-bottom: .8rem; } }
        main.job-wood nav.interview .body ul.splide__list > li a .content .name p:nth-child(1) {
          font-weight: 700;
          font-size: 3.2rem;
          line-height: 4.4rem;
          letter-spacing: 0.09em;
          color: #000000;
          margin-bottom: .6rem; }
          @media screen and (max-width: 1023px) {
            main.job-wood nav.interview .body ul.splide__list > li a .content .name p:nth-child(1) {
              font-weight: 700;
              font-size: 2.4rem;
              line-height: 3.4rem;
              margin-bottom: .8rem; } }
        main.job-wood nav.interview .body ul.splide__list > li a .content .name p:nth-child(2) {
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 500;
          font-size: 1.4rem;
          line-height: 2.8rem;
          letter-spacing: .1rem;
          color: #000000; }
          @media screen and (max-width: 1023px) {
            main.job-wood nav.interview .body ul.splide__list > li a .content .name p:nth-child(2) {
              font-size: 1.4rem;
              line-height: 1.8rem; } }
        main.job-wood nav.interview .body ul.splide__list > li a .content ul.tag {
          display: flex;
          flex-wrap: wrap;
          gap: 0 1.4rem; }
          main.job-wood nav.interview .body ul.splide__list > li a .content ul.tag li {
            font-weight: 500;
            font-size: 1.4rem;
            line-height: 2.8rem;
            letter-spacing: .1rem;
            color: #000000; }
            main.job-wood nav.interview .body ul.splide__list > li a .content ul.tag li:before {
              content: "#"; }
      main.job-wood nav.interview .body ul.splide__list > li a .arrow {
        content: "";
        display: block;
        width: 6rem;
        height: 6rem;
        position: absolute;
        right: 0;
        bottom: 0;
        background-color: #000; }
        @media screen and (max-width: 1023px) {
          main.job-wood nav.interview .body ul.splide__list > li a .arrow {
            width: 5.4rem;
            height: 5.4rem; } }
        main.job-wood nav.interview .body ul.splide__list > li a .arrow:after {
          content: "";
          position: absolute;
          top: 50%;
          left: 50%;
          display: block;
          width: 2.2rem;
          height: 2.2rem;
          transform: translate(-50%, -50%);
          -webkit-mask-image: url("../images/interview/interview_arrow.svg");
          -webkit-mask-size: 100% 100%;
          -webkit-mask-position: 0 0;
          mask-image: url("../images/interview/interview_arrow.svg");
          mask-size: 100% 100%;
          mask-position: 0 0;
          background-color: #fff;
          transition: all ease .3s; }
          @media screen and (max-width: 1023px) {
            main.job-wood nav.interview .body ul.splide__list > li a .arrow:after {
              width: 1.8rem;
              height: 1.8rem; } }
      @media screen and (min-width: 1024px) {
        main.job-wood nav.interview .body ul.splide__list > li a:hover {
          background-position: 0% 0%; }
          main.job-wood nav.interview .body ul.splide__list > li a:hover figure img {
            transform: scale(1.05); }
          main.job-wood nav.interview .body ul.splide__list > li a:hover .arrow:after {
            background-color: #D9FF00;
            -webkit-mask-position: 2.2rem 0;
            mask-position: 2.2rem 0; } }
@keyframes nav-interview-back-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -36.4em 50%; } }
  main.job-wood nav.interview .body .back {
    border-bottom: 1px solid #000; }
    main.job-wood nav.interview .body .back a {
      font-size: 1rem;
      position: relative;
      height: 12rem;
      display: block;
      text-indent: -9999px;
      overflow: hidden;
      background-image: url("../images/interview/detail/interview_back_decor_text.svg");
      background-size: 36.4rem 4.5rem;
      background-repeat: repeat-x;
      background-position: 0 50%;
      animation: nav-interview-back-loop linear calc(36.4s / 10) infinite; }
      @media screen and (max-width: 1023px) {
        main.job-wood nav.interview .body .back a {
          font-size: .5rem;
          height: 6rem;
          background-size: 18.2rem 2.25rem;
          animation: nav-interview-back-loop linear calc(18.2s / 10) infinite; } }
      main.job-wood nav.interview .body .back a:before {
        content: "";
        display: block;
        width: 12rem;
        height: 12rem;
        background-color: #000;
        background-image: url("../images/interview/detail/interview_back_arrow.svg");
        background-size: 4.2rem 4.2rem;
        background-repeat: no-repeat;
        background-position: 50% 50%;
        position: absolute;
        top: 0;
        left: 0; }
        @media screen and (max-width: 1023px) {
          main.job-wood nav.interview .body .back a:before {
            height: 6rem;
            width: 6rem;
            background-size: 2.1rem 2.1rem; } }
main.job-wood nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.job-wood nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.job-wood nav.other header {
        padding: 4rem 0 0; } }
    main.job-wood nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.job-wood nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.job-wood nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.job-wood nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.job-wood nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.job-wood nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.job-wood nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.job-wood nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.job-wood nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.job-wood nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.job-wood nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.job-wood nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.job-wood nav.other .content ul li {
            flex: 0 0 100%; } }
        main.job-wood nav.other .content ul li a {
          display: block; }
          main.job-wood nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.job-wood nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.job-wood nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.job-wood nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.job-wood nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.job-wood nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.job-wood nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.job-wood nav.other .content ul li:nth-child(4), main.job-wood nav.other .content ul li:nth-child(5), main.job-wood nav.other .content ul li:nth-child(6) {
            display: none; } }

main.job-corporate > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.job-corporate > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.job-corporate > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/job/corporate/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.job-corporate > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.job-corporate > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.job-corporate > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-job-corporate {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -61.4em 0;
    				}
    			}
    			background-image: url("../images/job/corporate/header_title_en.svg");
    //			background-size: 61.4rem 7.7rem;
    			background-size: 61.4em auto;
    			animation: header-title-en-job-corporate linear calc(61.4s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.job-corporate > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.job-corporate > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.job-corporate > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.job-corporate > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.job-corporate > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.job-corporate > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.job-corporate > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.job-corporate > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.job-corporate > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.job-corporate > header .scroll {
        font-size: calc(3rem /4); } }
main.job-corporate section.work {
  background-color: #73AEFF; }
  main.job-corporate section.work:after {
    content: "";
    background-image: url("../images/job/corporate/decor_text_black.svg");
    background-size: 13em auto;
    animation: decor-text-loop-job-corporate linear calc(13s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-job-corporate {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -13em 58%; } }
    @media screen and (max-width: 1023px) {
      main.job-corporate section.work:after {
        font-size: calc(3rem /4); } }
  main.job-corporate section.work .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 7rem 0 8rem; }
    @media screen and (max-width: 1023px) {
      main.job-corporate section.work .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.job-corporate section.work .container {
        padding: 6rem 0 5.6rem; } }
    main.job-corporate section.work .container h2 {
      font-weight: 700;
      font-size: 8rem;
      line-height: 9.6rem;
      letter-spacing: -0.05em;
      color: #73AEFF;
      height: 9.6rem;
      padding: 0 1.2rem;
      background-color: #E5FF21;
      width: fit-content;
      margin-bottom: 4.5rem;
      position: relative;
      width: fit-content;
      transition: all ease .3s;
      clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
      @media screen and (max-width: 1023px) {
        main.job-corporate section.work .container h2 {
          font-size: 3.2rem;
          line-height: 4rem;
          height: 4rem;
          padding: 0 .8rem;
          margin-bottom: 2.4rem; } }
      main.job-corporate section.work .container h2:before {
        content: "";
        display: block;
        background-color: #E5FF21;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        transition: all ease .3s .3s;
        transform-origin: 100% 0; }
      main.job-corporate section.work .container h2[data-inview-active] {
        clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
        main.job-corporate section.work .container h2[data-inview-active]:before {
          transform: scale(0, 1); }
    main.job-corporate section.work .container > p {
      font-weight: 700;
      font-size: 2.4rem;
      line-height: 4.6rem;
      letter-spacing: .3rem;
      color: #E5FF21; }
      @media screen and (max-width: 1023px) {
        main.job-corporate section.work .container > p {
          font-size: 1.4rem;
          line-height: 2.8rem; } }
    main.job-corporate section.work .container figure {
      margin-top: 4rem; }
      @media screen and (max-width: 1023px) {
        main.job-corporate section.work .container figure {
          margin-top: 2.4em; } }
main.job-corporate > .body {
  position: relative;
  background-color: #fff;
  display: flex;
  padding-bottom: 4rem; }
  @media screen and (max-width: 1023px) {
    main.job-corporate > .body {
      display: block; } }
  main.job-corporate > .body:after {
    content: "";
    background-image: url("../images/job/corporate/decor_text_black.svg");
    background-size: 13em auto;
    animation: decor-text-loop-job-corporate linear calc(13s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0; }
@keyframes decor-text-loop-job-corporate {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -13em 58%; } }
    @media screen and (max-width: 1023px) {
      main.job-corporate > .body:after {
        font-size: calc(3rem /4); } }
  main.job-corporate > .body nav.indicator {
    background-color: #F4F4F4;
    flex: 0 0 30rem;
    padding: 8.8rem 4.8rem 8.8rem 6.6rem; }
    @media screen and (max-width: 1023px) {
      main.job-corporate > .body nav.indicator {
        padding: 4rem 2.4rem 5.6rem; } }
    main.job-corporate > .body nav.indicator ul {
      position: sticky;
      top: 10rem;
      display: flex;
      flex-wrap: wrap;
      gap: 1.8rem; }
      @media screen and (max-width: 1023px) {
        main.job-corporate > .body nav.indicator ul {
          position: relative;
          top: auto;
          gap: 1.6rem; } }
      main.job-corporate > .body nav.indicator ul li {
        flex: 0 0 100%; }
        main.job-corporate > .body nav.indicator ul li a {
          position: relative;
          display: flex;
          align-items: center;
          font-style: normal;
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 2.0rem;
          letter-spacing: 0.09em;
          color: #000000;
          min-height: 4.4rem;
          padding: 1rem 2.4rem;
          border: 1px solid #000;
          border-radius: 9999px; }
          @media screen and (max-width: 1023px) {
            main.job-corporate > .body nav.indicator ul li a {
              height: auto;
              padding: 1.2rem 2rem; } }
          main.job-corporate > .body nav.indicator ul li a:after {
            content: "";
            -webkit-mask-image: url("../images/vision/nav_arrow.svg");
            mask-image: url("../images/vision/nav_arrow.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            display: block;
            width: 1.1rem;
            height: 1.1rem;
            position: absolute;
            right: 2rem;
            top: 50%;
            transform: translateY(-50%);
            background-color: #000; }
          main.job-corporate > .body nav.indicator ul li a.active {
            background-color: #000;
            color: #fff; }
            main.job-corporate > .body nav.indicator ul li a.active:after {
              background-color: #fff; }
  main.job-corporate > .body > .content {
    flex: 1; }
    main.job-corporate > .body > .content > section {
      position: relative;
      padding-right: 6.5rem; }
      @media screen and (max-width: 1023px) {
        main.job-corporate > .body > .content > section {
          padding-right: 2.4rem; } }
      main.job-corporate > .body > .content > section:before {
        content: "";
        background-image: url("../images/job/corporate/decor_text_vertical_black.svg");
        background-size: 1.5em 13em;
        animation: decor-text-vertical-loop-job-corporate linear calc(13s / 10) infinite;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        background-position: 50% 0;
        background-repeat: repeat-y;
        display: block;
        font-size: 1rem;
        width: 6.5em;
        border-left: 1px solid #000; }
@keyframes decor-text-vertical-loop-job-corporate {
  0% {
    background-position: 50% 0; }
  100% {
    background-position: 50% -13em; } }
        @media screen and (max-width: 1023px) {
          main.job-corporate > .body > .content > section:before {
            font-size: .6rem; } }
        @media screen and (max-width: 1023px) {
          main.job-corporate > .body > .content > section:before {
            width: 2.4rem; } }
      main.job-corporate > .body > .content > section h2 {
        position: relative;
        font-weight: 700;
        font-size: 5.6rem;
        line-height: 8.1rem;
        letter-spacing: -0.05em;
        color: #000000;
        padding: 4rem 5rem 3.6rem;
        border-bottom: .8rem solid #000;
        margin-right: -6.5rem;
        background-color: #fff;
        background-image: url("../images/job/detail/article_decor.png");
        background-size: 22.9rem 16.1rem;
        background-position: 100% 0%;
        background-repeat: no-repeat; }
        @media screen and (max-width: 1023px) {
          main.job-corporate > .body > .content > section h2 {
            font-size: 3.2rem;
            line-height: 4.6rem;
            padding: 2rem 2.4rem 2rem;
            border-bottom: .4rem solid #000;
            background-size: auto 100%;
            margin-right: -2.4rem; } }
      main.job-corporate > .body > .content > section + section {
        border-top: 8px solid #000; }
        @media screen and (max-width: 1023px) {
          main.job-corporate > .body > .content > section + section {
            border-top: .4rem solid #000; } }
      main.job-corporate > .body > .content > section article + article {
        border-top: 4px solid #000; }
      main.job-corporate > .body > .content > section article section.profile {
        background-color: #fff;
        display: flex;
        gap: 4.8rem;
        padding: 6.4rem 5rem;
        border-bottom: 1px dashed #000; }
        main.job-corporate > .body > .content > section article section.profile:has(.container) {
          display: block;
          padding: 0; }
        @media screen and (max-width: 1023px) {
          main.job-corporate > .body > .content > section article section.profile {
            display: block;
            padding: 4rem 1.6rem 4rem 2.4rem; } }
        main.job-corporate > .body > .content > section article section.profile .container {
          width: calc(100% - 6.6rem * 2);
          max-width: 115rem;
          margin: 0 auto;
          display: flex;
          gap: 4.8rem;
          padding: 6.4rem 0; }
          @media screen and (max-width: 1023px) {
            main.job-corporate > .body > .content > section article section.profile .container {
              width: calc(100% - 2.4rem * 2); } }
          @media screen and (max-width: 1023px) {
            main.job-corporate > .body > .content > section article section.profile .container {
              padding: 4rem 0;
              display: block; } }
        main.job-corporate > .body > .content > section article section.profile figure {
          flex: 0 0 35.5rem; }
          @media screen and (max-width: 1023px) {
            main.job-corporate > .body > .content > section article section.profile figure {
              margin-bottom: 2.4rem;
              margin-right: -1.6rem; } }
        main.job-corporate > .body > .content > section article section.profile .content {
          flex: 1; }
          main.job-corporate > .body > .content > section article section.profile .content .join {
            border: 1px solid #000;
            padding: .4rem;
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2rem;
            letter-spacing: 0.09em;
            color: #000000;
            width: fit-content;
            margin-bottom: 2.4rem; }
            @media screen and (max-width: 1023px) {
              main.job-corporate > .body > .content > section article section.profile .content .join {
                font-size: 1.2rem;
                line-height: 1.7rem;
                margin-bottom: 1.6rem; } }
          main.job-corporate > .body > .content > section article section.profile .content .profile,
          main.job-corporate > .body > .content > section article section.profile .content .job {
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2.4rem;
            letter-spacing: .1em;
            color: #000000;
            margin-bottom: 1.2rem; }
            @media screen and (max-width: 1023px) {
              main.job-corporate > .body > .content > section article section.profile .content .profile,
              main.job-corporate > .body > .content > section article section.profile .content .job {
                margin-bottom: .8rem; } }
          main.job-corporate > .body > .content > section article section.profile .content .name {
            margin-bottom: 2.4rem; }
            main.job-corporate > .body > .content > section article section.profile .content .name p:nth-child(1) {
              font-weight: 700;
              font-size: 2.4rem;
              line-height: 1.5;
              letter-spacing: 0.12em;
              color: #000000;
              margin-bottom: .4rem; }
            main.job-corporate > .body > .content > section article section.profile .content .name p:nth-child(2) {
              font-family: 'Poppins';
              font-style: normal;
              font-weight: 500;
              font-size: 1.4rem;
              line-height: 2.8rem;
              letter-spacing: .1rem;
              color: #000000; }
              @media screen and (max-width: 1023px) {
                main.job-corporate > .body > .content > section article section.profile .content .name p:nth-child(2) {
                  line-height: 1.5; } }
          main.job-corporate > .body > .content > section article section.profile .content .description {
            font-weight: 500;
            font-size: 1.4rem;
            line-height: 2.8rem;
            letter-spacing: .1rem;
            color: #000000; }
        main.job-corporate > .body > .content > section article section.profile + section.profile {
          margin-top: -6.4rem;
          background-color: #fff; }
          @media screen and (max-width: 1023px) {
            main.job-corporate > .body > .content > section article section.profile + section.profile {
              margin-top: -4rem; } }
      main.job-corporate > .body > .content > section article > .content {
        position: relative;
        padding: 5.6rem 5rem 5.6rem 5rem; }
        @media screen and (max-width: 1023px) {
          main.job-corporate > .body > .content > section article > .content {
            padding: 4rem 1.6rem 5.2rem 2.4rem; } }
        main.job-corporate > .body > .content > section article > .content section.summary {
          padding-bottom: 4rem;
          border-bottom: 1px solid #000; }
          main.job-corporate > .body > .content > section article > .content section.summary h4 {
            font-weight: 700;
            font-size: 3.2rem;
            line-height: 5rem;
            letter-spacing: -0.05em;
            color: #73AEFF;
            margin-bottom: 2.4rem; }
            @media screen and (max-width: 1023px) {
              main.job-corporate > .body > .content > section article > .content section.summary h4 {
                font-size: 2rem;
                line-height: 3.1rem;
                margin-bottom: 1.6rem; } }
            main.job-corporate > .body > .content > section article > .content section.summary h4 .highlight {
              background-color: #E5FF21;
              padding: 0 .4rem; }
              @media screen and (max-width: 1023px) {
                main.job-corporate > .body > .content > section article > .content section.summary h4 .highlight {
                  padding: 0 .2rem; } }
          main.job-corporate > .body > .content > section article > .content section.summary p {
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2.8rem;
            letter-spacing: .3rem;
            color: #000000; }
        main.job-corporate > .body > .content > section article > .content section.point {
          display: flex;
          gap: 2.4rem;
          margin: 4rem 0; }
          @media screen and (max-width: 1023px) {
            main.job-corporate > .body > .content > section article > .content section.point {
              gap: 1.6rem;
              margin: 4rem 0 3.4rem; } }
          main.job-corporate > .body > .content > section article > .content section.point h4 {
            font-family: 'Poppins';
            font-style: normal;
            font-weight: 600;
            font-size: 1.6rem;
            line-height: 2.4rem;
            color: #73AEFF; }
            @media screen and (max-width: 1023px) {
              main.job-corporate > .body > .content > section article > .content section.point h4 {
                font-size: 1.4rem;
                line-height: 2.1rem; } }
          main.job-corporate > .body > .content > section article > .content section.point ul li {
            position: relative;
            font-weight: 700;
            font-size: 1.8rem;
            line-height: 2.8rem;
            letter-spacing: 0.12em;
            color: #73AEFF;
            padding-left: 1.5em; }
            @media screen and (max-width: 1023px) {
              main.job-corporate > .body > .content > section article > .content section.point ul li {
                font-size: 1.6rem;
                line-height: 2.3rem; } }
            main.job-corporate > .body > .content > section article > .content section.point ul li:before {
              content: "▶";
              position: absolute;
              top: 0;
              left: 0; }
            main.job-corporate > .body > .content > section article > .content section.point ul li + li {
              margin-top: .5rem; }
              @media screen and (max-width: 1023px) {
                main.job-corporate > .body > .content > section article > .content section.point ul li + li {
                  margin-top: 1.2rem; } }
        main.job-corporate > .body > .content > section article > .content section.qa {
          margin-top: 5.6rem; }
          @media screen and (max-width: 1023px) {
            main.job-corporate > .body > .content > section article > .content section.qa {
              margin-top: 4rem; } }
          main.job-corporate > .body > .content > section article > .content section.qa dl dt {
            position: relative;
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2.8rem;
            letter-spacing: .3rem;
            color: #000000;
            border-top: 1px solid #000;
            padding: 2rem 0 2rem 5.2rem; }
            main.job-corporate > .body > .content > section article > .content section.qa dl dt:before {
              content: "Q";
              display: flex;
              justify-content: center;
              align-items: center;
              width: 3.6rem;
              height: 3.6rem;
              position: absolute;
              top: 1.6rem;
              left: 0;
              background-color: #73AEFF;
              color: #E5FF21;
              font-weight: 700;
              font-size: 1.6rem;
              line-height: 2.8rem; }
          main.job-corporate > .body > .content > section article > .content section.qa dl dd {
            position: relative;
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2.8rem;
            letter-spacing: .3rem;
            color: #000000;
            border-top: 1px dashed #000;
            padding: 2rem 0 2rem 5.2rem; }
            main.job-corporate > .body > .content > section article > .content section.qa dl dd:before {
              content: "A";
              display: flex;
              justify-content: center;
              align-items: center;
              width: 3.6rem;
              height: 3.6rem;
              position: absolute;
              top: 1.6rem;
              left: 0;
              background-color: #E5FF21;
              color: #73AEFF;
              font-weight: 700;
              font-size: 1.6rem;
              line-height: 2.8rem; }
main.job-corporate nav.indicator-popup {
  position: static;
  display: none; }
  @media screen and (max-width: 1023px) {
    main.job-corporate nav.indicator-popup {
      display: block; } }
  main.job-corporate nav.indicator-popup .toggle {
    position: fixed;
    right: 0;
    bottom: 4.8rem;
    z-index: 100;
    transform: translateX(100%);
    transition: all ease .3s; }
    main.job-corporate nav.indicator-popup .toggle button {
      position: relative;
      height: 4rem;
      background-color: #000;
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 1.6rem;
      line-height: 4rem;
      color: #FFFFFF;
      padding: 0 5.1rem 0 1.2rem !important; }
      main.job-corporate nav.indicator-popup .toggle button:before, main.job-corporate nav.indicator-popup .toggle button:after {
        content: "";
        display: block;
        width: 2.2rem;
        height: 1px;
        position: absolute;
        top: 50%;
        right: 1.8rem;
        background-color: #fff; }
      main.job-corporate nav.indicator-popup .toggle button:before {
        margin-top: -.3rem; }
      main.job-corporate nav.indicator-popup .toggle button:after {
        margin-top: .3rem; }
    main.job-corporate nav.indicator-popup .toggle.active + .dialog {
      pointer-events: auto;
      opacity: 1; }
  main.job-corporate nav.indicator-popup .dialog {
    position: fixed;
    z-index: 10000;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    pointer-events: none;
    transition: all ease .3s;
    opacity: 0;
    display: flex;
    justify-content: center;
    align-items: center; }
    main.job-corporate nav.indicator-popup .dialog .wrapper {
      position: relative;
      background-color: #fff;
      width: 34.2rem;
      padding: 3.2rem 2.4rem; }
      main.job-corporate nav.indicator-popup .dialog .wrapper .close {
        position: absolute;
        right: 0;
        bottom: 100%; }
        main.job-corporate nav.indicator-popup .dialog .wrapper .close button {
          position: relative;
          width: 5.6rem;
          height: 4rem;
          background-color: #fff;
          text-indent: -9999px;
          overflow: hidden; }
          main.job-corporate nav.indicator-popup .dialog .wrapper .close button:before, main.job-corporate nav.indicator-popup .dialog .wrapper .close button:after {
            content: "";
            position: absolute;
            top: 50%;
            left: calc(50% - 1.2rem);
            display: block;
            width: 2.4rem;
            height: 1px;
            background-color: #000; }
          main.job-corporate nav.indicator-popup .dialog .wrapper .close button:before {
            transform: rotate(20deg); }
          main.job-corporate nav.indicator-popup .dialog .wrapper .close button:after {
            transform: rotate(-20deg); }
      main.job-corporate nav.indicator-popup .dialog .wrapper ul {
        display: flex;
        flex-wrap: wrap;
        gap: 16px; }
        main.job-corporate nav.indicator-popup .dialog .wrapper ul li {
          flex: 0 0 100%; }
          main.job-corporate nav.indicator-popup .dialog .wrapper ul li a {
            position: relative;
            display: block;
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2rem;
            letter-spacing: 0.09em;
            color: #000;
            border: 1px solid #000;
            border-radius: 9999px;
            padding: 1.2rem 2rem; }
            main.job-corporate nav.indicator-popup .dialog .wrapper ul li a:after {
              content: "";
              -webkit-mask-image: url("../images/vision/nav_arrow.svg");
              mask-image: url("../images/vision/nav_arrow.svg");
              -webkit-mask-size: 100% 100%;
              mask-size: 100% 100%;
              display: block;
              width: 1.1rem;
              height: 1.1rem;
              position: absolute;
              right: 2rem;
              top: 50%;
              transform: translateY(-50%);
              background-color: #000; }
            main.job-corporate nav.indicator-popup .dialog .wrapper ul li a.active {
              background-color: #000;
              color: #fff; }
              main.job-corporate nav.indicator-popup .dialog .wrapper ul li a.active:after {
                background-color: #fff; }
  main.job-corporate nav.indicator-popup.on .toggle {
    transform: translateX(0); }
main.job-corporate nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.job-corporate nav.cta {
      padding: 8rem 0 12rem; } }
  main.job-corporate nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.job-corporate nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.job-corporate nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.job-corporate nav.cta .container .copy {
          width: auto; } }
    main.job-corporate nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.job-corporate nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.job-corporate nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.job-corporate nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.job-corporate nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.job-corporate nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.job-corporate nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.job-corporate nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.job-corporate nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.job-corporate nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.job-corporate nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.job-corporate nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.job-corporate nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.job-corporate nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.job-corporate nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.job-corporate nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.job-corporate nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.job-corporate nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.job-corporate nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.job-corporate nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.job-corporate nav.job {
  background-color: #73AEFF; }
  main.job-corporate nav.job:after {
    content: "";
    background-image: url("../images/job/decor_text_black.svg");
    background-size: 13.6em auto;
    animation: decor-text-loop-job linear calc(13.6s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-job {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -13.6em 58%; } }
    @media screen and (max-width: 1023px) {
      main.job-corporate nav.job:after {
        font-size: calc(3rem /4); } }
  main.job-corporate nav.job .container ul li {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #000; }
    @media screen and (max-width: 1023px) {
      main.job-corporate nav.job .container ul li {
        display: block; } }
    main.job-corporate nav.job .container ul li figure {
      flex: 0 0 72rem;
      border-right: 1px solid #000;
      overflow: hidden; }
      main.job-corporate nav.job .container ul li figure a {
        display: block; }
        main.job-corporate nav.job .container ul li figure a img {
          transition: all ease .3s; }
        main.job-corporate nav.job .container ul li figure a:hover img {
          transform: scale(1.05); }
    main.job-corporate nav.job .container ul li .content {
      flex: 1;
      padding-left: 4.8rem;
      padding-right: 6.7rem; }
      @media screen and (max-width: 1023px) {
        main.job-corporate nav.job .container ul li .content {
          padding: 2.4rem 2.4rem 4rem;
          border: none;
          border-top: 1px solid #000; } }
      main.job-corporate nav.job .container ul li .content .title {
        font-style: normal;
        font-weight: 700;
        font-size: 3.6rem;
        line-height: 4.2rem;
        letter-spacing: 0.09em;
        padding: 0 .4rem;
        color: #73AEFF;
        background-color: #E4FF21;
        width: fit-content;
        margin-bottom: 3.2rem;
        position: relative;
        width: fit-content;
        transition: all ease .3s;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
        @media screen and (max-width: 1023px) {
          main.job-corporate nav.job .container ul li .content .title {
            font-size: 2.4rem;
            line-height: 3.2rem;
            margin-bottom: 1.6rem; } }
        main.job-corporate nav.job .container ul li .content .title:before {
          content: "";
          display: block;
          background-color: #E4FF21;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          transition: all ease .3s .3s;
          transform-origin: 100% 0; }
        main.job-corporate nav.job .container ul li .content .title[data-inview-active] {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          main.job-corporate nav.job .container ul li .content .title[data-inview-active]:before {
            transform: scale(0, 1); }
      main.job-corporate nav.job .container ul li .content .description {
        font-weight: 700;
        font-size: 1.6rem;
        line-height: 3.6rem;
        letter-spacing: .3rem;
        color: #E4FF21; }
        @media screen and (max-width: 1023px) {
          main.job-corporate nav.job .container ul li .content .description {
            font-size: 1.4rem;
            line-height: 2.8rem; } }
      main.job-corporate nav.job .container ul li .content .action {
        margin-top: 4.4rem; }
        @media screen and (max-width: 1023px) {
          main.job-corporate nav.job .container ul li .content .action {
            margin-top: 4rem; } }
        main.job-corporate nav.job .container ul li .content .action a {
          position: relative;
          display: flex;
          align-items: center;
          width: fit-content;
          padding: 0 4.4rem 0 1.2rem;
          height: 3.2rem;
          padding-left: 1rem;
          border: 1px solid #000;
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 600;
          font-size: 1.4rem;
          line-height: 2.1rem;
          color: #000000;
          background-color: #fff;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          main.job-corporate nav.job .container ul li .content .action a .arrow {
            position: relative;
            content: "";
            display: block;
            width: 3.2rem;
            height: 3.2rem;
            position: absolute;
            top: 0;
            right: 0;
            background-color: #000; }
            main.job-corporate nav.job .container ul li .content .action a .arrow:after {
              content: "";
              display: block;
              width: 1.2rem;
              height: 1.2rem;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
              -webkit-mask-image: url("../images/why/why_arrow.svg");
              -webkit-mask-size: 100% 100%;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/why/why_arrow.svg");
              mask-size: 100% 100%;
              mask-position: 0 0;
              background-color: #fff;
              transition: all ease .3s; }
          @media screen and (min-width: 1024px) {
            main.job-corporate nav.job .container ul li .content .action a:hover {
              background-position: 0% 0%; }
              main.job-corporate nav.job .container ul li .content .action a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 1.2rem 0;
                mask-position: 1.2rem 0; } }
main.job-corporate nav.interview header {
  position: relative;
  background-color: #F5F5F5;
  padding: 6rem 6.5rem 4rem; }
  @media screen and (max-width: 1023px) {
    main.job-corporate nav.interview header {
      padding: 4rem 2.4rem 2.4rem; } }
  main.job-corporate nav.interview header h2 {
    font-weight: 700;
    font-size: 5.6rem;
    line-height: 8.1rem;
    letter-spacing: -0.05em;
    color: #000000; }
    @media screen and (max-width: 1023px) {
      main.job-corporate nav.interview header h2 {
        font-weight: 700;
        font-size: 3.2rem;
        line-height: 4.6rem;
        margin-bottom: 2.4rem; } }
  main.job-corporate nav.interview header ul {
    position: absolute;
    bottom: 5.5rem;
    right: 6.4rem;
    display: flex;
    gap: 1rem; }
    @media screen and (max-width: 1023px) {
      main.job-corporate nav.interview header ul {
        position: static; } }
    main.job-corporate nav.interview header ul .prev,
    main.job-corporate nav.interview header ul .next {
      width: 6rem;
      height: 6rem;
      border: 1px solid #000;
      background-position: 50% 50%;
      background-size: 1.3rem 2.2rem;
      background-repeat: no-repeat;
      text-indent: -9999px;
      overflow: hidden; }
    main.job-corporate nav.interview header ul .prev {
      background-image: url("../images/interview/detail/interview_prev_arrow.svg"); }
    main.job-corporate nav.interview header ul .next {
      background-image: url("../images/interview/detail/interview_next_arrow.svg"); }
main.job-corporate nav.interview .body {
  background-color: #fff;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.job-corporate nav.interview .body .splide {
      padding: 0 2.4rem; } }
  @media screen and (max-width: 1023px) {
    main.job-corporate nav.interview .body .splide__track {
      overflow: visible !important; } }
  main.job-corporate nav.interview .body ul.splide__list > li {
    border-left: 1px solid #000;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000; }
    main.job-corporate nav.interview .body ul.splide__list > li a {
      position: relative;
      display: block;
      height: 100%;
      background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
      background-size: 200% 100%;
      background-position: 100% 0%;
      transition: background-position 0.3s ease; }
      main.job-corporate nav.interview .body ul.splide__list > li a figure {
        border-bottom: 1px solid #000;
        overflow: hidden; }
        main.job-corporate nav.interview .body ul.splide__list > li a figure img {
          transition: all ease .3s; }
      main.job-corporate nav.interview .body ul.splide__list > li a .content {
        position: relative;
        padding: 3rem 2rem 4rem;
        /*
        &:before {
        	content: "";
        	display: block;
        	background-image: url("../images/interview/detail/interview_arrow.svg");
        	background-size:  2.2rem 2.2rem;
        	background-position: 50% 50%;
        	background-repeat: no-repeat;
        	width: 6rem;
        	height: 6rem;
        	background-color: #000;
        	position: absolute;
        	bottom: 0;
        	right: 0;
        }
        */ }
        @media screen and (max-width: 1023px) {
          main.job-corporate nav.interview .body ul.splide__list > li a .content {
            padding: 1.6rem 1.8rem 3.5rem; } }
        main.job-corporate nav.interview .body ul.splide__list > li a .content .copy {
          font-weight: 700;
          font-size: 2rem;
          line-height: 2.9rem;
          letter-spacing: -0.05em;
          color: #000000;
          margin-bottom: 3.2rem; }
          @media screen and (max-width: 1023px) {
            main.job-corporate nav.interview .body ul.splide__list > li a .content .copy {
              font-size: 1.8rem;
              line-height: 2.6rem;
              margin-bottom: 1.6rem; } }
        main.job-corporate nav.interview .body ul.splide__list > li a .content .join {
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 2rem;
          letter-spacing: 0.09em;
          color: #000000;
          width: fit-content;
          padding: .4rem;
          border: 1px solid #000;
          margin-bottom: 1rem; }
          @media screen and (max-width: 1023px) {
            main.job-corporate nav.interview .body ul.splide__list > li a .content .join {
              font-size: 1.2rem;
              line-height: 1.8rem; } }
        main.job-corporate nav.interview .body ul.splide__list > li a .content .job {
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 3.2rem;
          letter-spacing: .3rem;
          color: #000000; }
          @media screen and (max-width: 1023px) {
            main.job-corporate nav.interview .body ul.splide__list > li a .content .job {
              font-size: 1.2rem;
              line-height: 2.2rem;
              letter-spacing: 0;
              margin-bottom: .8rem; } }
        main.job-corporate nav.interview .body ul.splide__list > li a .content .name p:nth-child(1) {
          font-weight: 700;
          font-size: 3.2rem;
          line-height: 4.4rem;
          letter-spacing: 0.09em;
          color: #000000;
          margin-bottom: .6rem; }
          @media screen and (max-width: 1023px) {
            main.job-corporate nav.interview .body ul.splide__list > li a .content .name p:nth-child(1) {
              font-weight: 700;
              font-size: 2.4rem;
              line-height: 3.4rem;
              margin-bottom: .8rem; } }
        main.job-corporate nav.interview .body ul.splide__list > li a .content .name p:nth-child(2) {
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 500;
          font-size: 1.4rem;
          line-height: 2.8rem;
          letter-spacing: .1rem;
          color: #000000; }
          @media screen and (max-width: 1023px) {
            main.job-corporate nav.interview .body ul.splide__list > li a .content .name p:nth-child(2) {
              font-size: 1.4rem;
              line-height: 1.8rem; } }
        main.job-corporate nav.interview .body ul.splide__list > li a .content ul.tag {
          display: flex;
          flex-wrap: wrap;
          gap: 0 1.4rem; }
          main.job-corporate nav.interview .body ul.splide__list > li a .content ul.tag li {
            font-weight: 500;
            font-size: 1.4rem;
            line-height: 2.8rem;
            letter-spacing: .1rem;
            color: #000000; }
            main.job-corporate nav.interview .body ul.splide__list > li a .content ul.tag li:before {
              content: "#"; }
      main.job-corporate nav.interview .body ul.splide__list > li a .arrow {
        content: "";
        display: block;
        width: 6rem;
        height: 6rem;
        position: absolute;
        right: 0;
        bottom: 0;
        background-color: #000; }
        @media screen and (max-width: 1023px) {
          main.job-corporate nav.interview .body ul.splide__list > li a .arrow {
            width: 5.4rem;
            height: 5.4rem; } }
        main.job-corporate nav.interview .body ul.splide__list > li a .arrow:after {
          content: "";
          position: absolute;
          top: 50%;
          left: 50%;
          display: block;
          width: 2.2rem;
          height: 2.2rem;
          transform: translate(-50%, -50%);
          -webkit-mask-image: url("../images/interview/interview_arrow.svg");
          -webkit-mask-size: 100% 100%;
          -webkit-mask-position: 0 0;
          mask-image: url("../images/interview/interview_arrow.svg");
          mask-size: 100% 100%;
          mask-position: 0 0;
          background-color: #fff;
          transition: all ease .3s; }
          @media screen and (max-width: 1023px) {
            main.job-corporate nav.interview .body ul.splide__list > li a .arrow:after {
              width: 1.8rem;
              height: 1.8rem; } }
      @media screen and (min-width: 1024px) {
        main.job-corporate nav.interview .body ul.splide__list > li a:hover {
          background-position: 0% 0%; }
          main.job-corporate nav.interview .body ul.splide__list > li a:hover figure img {
            transform: scale(1.05); }
          main.job-corporate nav.interview .body ul.splide__list > li a:hover .arrow:after {
            background-color: #D9FF00;
            -webkit-mask-position: 2.2rem 0;
            mask-position: 2.2rem 0; } }
@keyframes nav-interview-back-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -36.4em 50%; } }
  main.job-corporate nav.interview .body .back {
    border-bottom: 1px solid #000; }
    main.job-corporate nav.interview .body .back a {
      font-size: 1rem;
      position: relative;
      height: 12rem;
      display: block;
      text-indent: -9999px;
      overflow: hidden;
      background-image: url("../images/interview/detail/interview_back_decor_text.svg");
      background-size: 36.4rem 4.5rem;
      background-repeat: repeat-x;
      background-position: 0 50%;
      animation: nav-interview-back-loop linear calc(36.4s / 10) infinite; }
      @media screen and (max-width: 1023px) {
        main.job-corporate nav.interview .body .back a {
          font-size: .5rem;
          height: 6rem;
          background-size: 18.2rem 2.25rem;
          animation: nav-interview-back-loop linear calc(18.2s / 10) infinite; } }
      main.job-corporate nav.interview .body .back a:before {
        content: "";
        display: block;
        width: 12rem;
        height: 12rem;
        background-color: #000;
        background-image: url("../images/interview/detail/interview_back_arrow.svg");
        background-size: 4.2rem 4.2rem;
        background-repeat: no-repeat;
        background-position: 50% 50%;
        position: absolute;
        top: 0;
        left: 0; }
        @media screen and (max-width: 1023px) {
          main.job-corporate nav.interview .body .back a:before {
            height: 6rem;
            width: 6rem;
            background-size: 2.1rem 2.1rem; } }
main.job-corporate nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.job-corporate nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.job-corporate nav.other header {
        padding: 4rem 0 0; } }
    main.job-corporate nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.job-corporate nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.job-corporate nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.job-corporate nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.job-corporate nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.job-corporate nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.job-corporate nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.job-corporate nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.job-corporate nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.job-corporate nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.job-corporate nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.job-corporate nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.job-corporate nav.other .content ul li {
            flex: 0 0 100%; } }
        main.job-corporate nav.other .content ul li a {
          display: block; }
          main.job-corporate nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.job-corporate nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.job-corporate nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.job-corporate nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.job-corporate nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.job-corporate nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.job-corporate nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.job-corporate nav.other .content ul li:nth-child(4), main.job-corporate nav.other .content ul li:nth-child(5), main.job-corporate nav.other .content ul li:nth-child(6) {
            display: none; } }

main.innovation > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.innovation > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.innovation > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/innovation/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.innovation > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.innovation > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.innovation > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-innovation {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -63.8em 0;
    				}
    			}
    			background-image: url("../images/innovation/header_title_en.svg");
    //			background-size: 63.8rem 7.7rem;
    			background-size: 63.8em auto;
    			animation: header-title-en-innovation linear calc(63.8s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.innovation > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.innovation > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.innovation > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.innovation > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.innovation > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.innovation > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.innovation > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.innovation > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.innovation > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.innovation > header .scroll {
        font-size: calc(3rem /4); } }
main.innovation section.intro {
  background-color: #F3F3F3; }
  main.innovation section.intro:after {
    content: "";
    background-image: url("../images/innovation/decor_text_black.svg");
    background-size: 13.4em auto;
    animation: decor-text-loop-innovation linear calc(13.4s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-innovation {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -13.4em 58%; } }
    @media screen and (max-width: 1023px) {
      main.innovation section.intro:after {
        font-size: calc(3rem /4); } }
  main.innovation section.intro .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 8rem 0; }
    @media screen and (max-width: 1023px) {
      main.innovation section.intro .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.innovation section.intro .container {
        padding: 4.8rem 0; } }
    main.innovation section.intro .container h2 {
      margin-bottom: 4.6rem; }
      @media screen and (max-width: 1023px) {
        main.innovation section.intro .container h2 {
          margin-bottom: 2rem; } }
      main.innovation section.intro .container h2 > span {
        display: block;
        width: fit-content;
        font-weight: 700;
        font-size: 6.4rem;
        line-height: 7.5rem;
        letter-spacing: -0.05em;
        color: #000000;
        margin-bottom: 1.7rem;
        position: relative;
        width: fit-content;
        transition: all ease .3s;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
        main.innovation section.intro .container h2 > span:before {
          content: "";
          display: block;
          background-color: #000;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          transition: all ease .3s .3s;
          transform-origin: 100% 0; }
        main.innovation section.intro .container h2 > span[data-inview-active] {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          main.innovation section.intro .container h2 > span[data-inview-active]:before {
            transform: scale(0, 1); }
        @media screen and (max-width: 1023px) {
          main.innovation section.intro .container h2 > span {
            font-size: 3.2rem;
            line-height: 4.3rem;
            margin-bottom: .3rem; } }
        main.innovation section.intro .container h2 > span > span {
          display: block;
          color: #C1F211;
          background-color: #000;
          padding: 0 .8rem; }
          @media screen and (max-width: 1023px) {
            main.innovation section.intro .container h2 > span > span {
              padding: 0 .6rem; } }
    main.innovation section.intro .container p {
      font-weight: 700;
      font-size: 2.4rem;
      line-height: 4.6rem;
      letter-spacing: .3rem;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.innovation section.intro .container p {
          font-size: 1.4rem;
          line-height: 2.8rem; } }
main.innovation section.growth,
main.innovation section.dual,
main.innovation section.manufacturing,
main.innovation section.merit,
main.innovation section.dx,
main.innovation section.quality,
main.innovation section.young,
main.innovation section.gender,
main.innovation section.borderless {
  border-bottom: .8rem solid #000; }
  @media screen and (max-width: 1023px) {
    main.innovation section.growth,
    main.innovation section.dual,
    main.innovation section.manufacturing,
    main.innovation section.merit,
    main.innovation section.dx,
    main.innovation section.quality,
    main.innovation section.young,
    main.innovation section.gender,
    main.innovation section.borderless {
      border-bottom: .4rem solid #000; } }
  main.innovation section.growth .container,
  main.innovation section.dual .container,
  main.innovation section.manufacturing .container,
  main.innovation section.merit .container,
  main.innovation section.dx .container,
  main.innovation section.quality .container,
  main.innovation section.young .container,
  main.innovation section.gender .container,
  main.innovation section.borderless .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 8.5rem 0 8rem; }
    @media screen and (max-width: 1023px) {
      main.innovation section.growth .container,
      main.innovation section.dual .container,
      main.innovation section.manufacturing .container,
      main.innovation section.merit .container,
      main.innovation section.dx .container,
      main.innovation section.quality .container,
      main.innovation section.young .container,
      main.innovation section.gender .container,
      main.innovation section.borderless .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.innovation section.growth .container,
      main.innovation section.dual .container,
      main.innovation section.manufacturing .container,
      main.innovation section.merit .container,
      main.innovation section.dx .container,
      main.innovation section.quality .container,
      main.innovation section.young .container,
      main.innovation section.gender .container,
      main.innovation section.borderless .container {
        padding: 3.7rem 0 4rem; } }
    main.innovation section.growth .container .block,
    main.innovation section.dual .container .block,
    main.innovation section.manufacturing .container .block,
    main.innovation section.merit .container .block,
    main.innovation section.dx .container .block,
    main.innovation section.quality .container .block,
    main.innovation section.young .container .block,
    main.innovation section.gender .container .block,
    main.innovation section.borderless .container .block {
      display: flex; }
      @media screen and (max-width: 1023px) {
        main.innovation section.growth .container .block,
        main.innovation section.dual .container .block,
        main.innovation section.manufacturing .container .block,
        main.innovation section.merit .container .block,
        main.innovation section.dx .container .block,
        main.innovation section.quality .container .block,
        main.innovation section.young .container .block,
        main.innovation section.gender .container .block,
        main.innovation section.borderless .container .block {
          display: block; } }
      main.innovation section.growth .container .block h2,
      main.innovation section.dual .container .block h2,
      main.innovation section.manufacturing .container .block h2,
      main.innovation section.merit .container .block h2,
      main.innovation section.dx .container .block h2,
      main.innovation section.quality .container .block h2,
      main.innovation section.young .container .block h2,
      main.innovation section.gender .container .block h2,
      main.innovation section.borderless .container .block h2 {
        flex: 0 0 47rem; }
        @media screen and (max-width: 1023px) {
          main.innovation section.growth .container .block h2,
          main.innovation section.dual .container .block h2,
          main.innovation section.manufacturing .container .block h2,
          main.innovation section.merit .container .block h2,
          main.innovation section.dx .container .block h2,
          main.innovation section.quality .container .block h2,
          main.innovation section.young .container .block h2,
          main.innovation section.gender .container .block h2,
          main.innovation section.borderless .container .block h2 {
            margin-bottom: 2.4rem; } }
        main.innovation section.growth .container .block h2 span,
        main.innovation section.dual .container .block h2 span,
        main.innovation section.manufacturing .container .block h2 span,
        main.innovation section.merit .container .block h2 span,
        main.innovation section.dx .container .block h2 span,
        main.innovation section.quality .container .block h2 span,
        main.innovation section.young .container .block h2 span,
        main.innovation section.gender .container .block h2 span,
        main.innovation section.borderless .container .block h2 span {
          display: block;
          width: fit-content;
          font-weight: 700;
          font-size: 5.2rem;
          line-height: 6.7rem;
          margin-bottom: 1.4rem;
          letter-spacing: -0.05em;
          padding: 0 .8rem; }
          @media screen and (max-width: 1023px) {
            main.innovation section.growth .container .block h2 span,
            main.innovation section.dual .container .block h2 span,
            main.innovation section.manufacturing .container .block h2 span,
            main.innovation section.merit .container .block h2 span,
            main.innovation section.dx .container .block h2 span,
            main.innovation section.quality .container .block h2 span,
            main.innovation section.young .container .block h2 span,
            main.innovation section.gender .container .block h2 span,
            main.innovation section.borderless .container .block h2 span {
              font-size: 2.4rem;
              line-height: 3.2rem;
              margin-bottom: .5rem; } }
          main.innovation section.growth .container .block h2 span.lines-condensed,
          main.innovation section.dual .container .block h2 span.lines-condensed,
          main.innovation section.manufacturing .container .block h2 span.lines-condensed,
          main.innovation section.merit .container .block h2 span.lines-condensed,
          main.innovation section.dx .container .block h2 span.lines-condensed,
          main.innovation section.quality .container .block h2 span.lines-condensed,
          main.innovation section.young .container .block h2 span.lines-condensed,
          main.innovation section.gender .container .block h2 span.lines-condensed,
          main.innovation section.borderless .container .block h2 span.lines-condensed {
            display: contents; }
            @media screen and (max-width: 1023px) {
              main.innovation section.growth .container .block h2 span.lines-condensed,
              main.innovation section.dual .container .block h2 span.lines-condensed,
              main.innovation section.manufacturing .container .block h2 span.lines-condensed,
              main.innovation section.merit .container .block h2 span.lines-condensed,
              main.innovation section.dx .container .block h2 span.lines-condensed,
              main.innovation section.quality .container .block h2 span.lines-condensed,
              main.innovation section.young .container .block h2 span.lines-condensed,
              main.innovation section.gender .container .block h2 span.lines-condensed,
              main.innovation section.borderless .container .block h2 span.lines-condensed {
                display: block; } }
          main.innovation section.growth .container .block h2 span.lines-expanded,
          main.innovation section.dual .container .block h2 span.lines-expanded,
          main.innovation section.manufacturing .container .block h2 span.lines-expanded,
          main.innovation section.merit .container .block h2 span.lines-expanded,
          main.innovation section.dx .container .block h2 span.lines-expanded,
          main.innovation section.quality .container .block h2 span.lines-expanded,
          main.innovation section.young .container .block h2 span.lines-expanded,
          main.innovation section.gender .container .block h2 span.lines-expanded,
          main.innovation section.borderless .container .block h2 span.lines-expanded {
            display: block; }
            @media screen and (max-width: 1023px) {
              main.innovation section.growth .container .block h2 span.lines-expanded,
              main.innovation section.dual .container .block h2 span.lines-expanded,
              main.innovation section.manufacturing .container .block h2 span.lines-expanded,
              main.innovation section.merit .container .block h2 span.lines-expanded,
              main.innovation section.dx .container .block h2 span.lines-expanded,
              main.innovation section.quality .container .block h2 span.lines-expanded,
              main.innovation section.young .container .block h2 span.lines-expanded,
              main.innovation section.gender .container .block h2 span.lines-expanded,
              main.innovation section.borderless .container .block h2 span.lines-expanded {
                display: contents; } }
      main.innovation section.growth .container .block .content p,
      main.innovation section.dual .container .block .content p,
      main.innovation section.manufacturing .container .block .content p,
      main.innovation section.merit .container .block .content p,
      main.innovation section.dx .container .block .content p,
      main.innovation section.quality .container .block .content p,
      main.innovation section.young .container .block .content p,
      main.innovation section.gender .container .block .content p,
      main.innovation section.borderless .container .block .content p {
        font-weight: 700;
        font-size: 1.4rem;
        line-height: 3.2rem;
        letter-spacing: .2rem; }
        @media screen and (max-width: 1023px) {
          main.innovation section.growth .container .block .content p,
          main.innovation section.dual .container .block .content p,
          main.innovation section.manufacturing .container .block .content p,
          main.innovation section.merit .container .block .content p,
          main.innovation section.dx .container .block .content p,
          main.innovation section.quality .container .block .content p,
          main.innovation section.young .container .block .content p,
          main.innovation section.gender .container .block .content p,
          main.innovation section.borderless .container .block .content p {
            line-height: 2.8rem;
            letter-spacing: .3rem; } }
      main.innovation section.growth .container .block .content .note,
      main.innovation section.dual .container .block .content .note,
      main.innovation section.manufacturing .container .block .content .note,
      main.innovation section.merit .container .block .content .note,
      main.innovation section.dx .container .block .content .note,
      main.innovation section.quality .container .block .content .note,
      main.innovation section.young .container .block .content .note,
      main.innovation section.gender .container .block .content .note,
      main.innovation section.borderless .container .block .content .note {
        margin-top: .8rem;
        font-weight: 500;
        font-size: 1.4rem;
        line-height: 3.2rem;
        letter-spacing: .2rem; }
        @media screen and (max-width: 1023px) {
          main.innovation section.growth .container .block .content .note,
          main.innovation section.dual .container .block .content .note,
          main.innovation section.manufacturing .container .block .content .note,
          main.innovation section.merit .container .block .content .note,
          main.innovation section.dx .container .block .content .note,
          main.innovation section.quality .container .block .content .note,
          main.innovation section.young .container .block .content .note,
          main.innovation section.gender .container .block .content .note,
          main.innovation section.borderless .container .block .content .note {
            margin-top: 1.6rem;
            font-size: 1.2rem; } }
    main.innovation section.growth .container figure,
    main.innovation section.dual .container figure,
    main.innovation section.manufacturing .container figure,
    main.innovation section.merit .container figure,
    main.innovation section.dx .container figure,
    main.innovation section.quality .container figure,
    main.innovation section.young .container figure,
    main.innovation section.gender .container figure,
    main.innovation section.borderless .container figure {
      margin-top: 4.8rem; }
      @media screen and (max-width: 1023px) {
        main.innovation section.growth .container figure,
        main.innovation section.dual .container figure,
        main.innovation section.manufacturing .container figure,
        main.innovation section.merit .container figure,
        main.innovation section.dx .container figure,
        main.innovation section.quality .container figure,
        main.innovation section.young .container figure,
        main.innovation section.gender .container figure,
        main.innovation section.borderless .container figure {
          margin-top: 2.4rem; } }
main.innovation section.growth {
  background-color: #00017A; }
  main.innovation section.growth .container .block h2 span {
    background-color: #FF6400;
    color: #00017A;
    position: relative;
    width: fit-content;
    transition: all ease .3s;
    clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
    main.innovation section.growth .container .block h2 span:before {
      content: "";
      display: block;
      background-color: #FF6400;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      transition: all ease .3s .3s;
      transform-origin: 100% 0; }
    main.innovation section.growth .container .block h2 span[data-inview-active] {
      clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
      main.innovation section.growth .container .block h2 span[data-inview-active]:before {
        transform: scale(0, 1); }
  main.innovation section.growth .container .block .content p {
    color: #FF6400; }
main.innovation section.dual {
  background-color: #FF9101; }
  main.innovation section.dual .container .block h2 span {
    background-color: #035133;
    color: #FF9101;
    position: relative;
    width: fit-content;
    transition: all ease .3s;
    clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
    /*
    &.lines-condensed {
    	@include tablet {
    		@include common-transition-wipe-text($color: #035133);
    	}
    }
    &.lines-expanded {
    	@include common-transition-wipe-text($color: #035133);
    }
    */ }
    main.innovation section.dual .container .block h2 span:before {
      content: "";
      display: block;
      background-color: #035133;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      transition: all ease .3s .3s;
      transform-origin: 100% 0; }
    main.innovation section.dual .container .block h2 span[data-inview-active] {
      clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
      main.innovation section.dual .container .block h2 span[data-inview-active]:before {
        transform: scale(0, 1); }
  main.innovation section.dual .container .block .content p {
    color: #035133; }
main.innovation section.manufacturing {
  background-color: #FFC717; }
  main.innovation section.manufacturing .container .block h2 span {
    background-color: #027115;
    color: #FFC717;
    position: relative;
    width: fit-content;
    transition: all ease .3s;
    clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
    main.innovation section.manufacturing .container .block h2 span:before {
      content: "";
      display: block;
      background-color: #027115;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      transition: all ease .3s .3s;
      transform-origin: 100% 0; }
    main.innovation section.manufacturing .container .block h2 span[data-inview-active] {
      clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
      main.innovation section.manufacturing .container .block h2 span[data-inview-active]:before {
        transform: scale(0, 1); }
  main.innovation section.manufacturing .container .block .content p {
    color: #027115; }
main.innovation section.merit {
  background-color: #D51E16; }
  main.innovation section.merit .container .block h2 span {
    background-color: #FFDC1E;
    color: #D51E16;
    position: relative;
    width: fit-content;
    transition: all ease .3s;
    clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
    main.innovation section.merit .container .block h2 span:before {
      content: "";
      display: block;
      background-color: #FFDC1E;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      transition: all ease .3s .3s;
      transform-origin: 100% 0; }
    main.innovation section.merit .container .block h2 span[data-inview-active] {
      clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
      main.innovation section.merit .container .block h2 span[data-inview-active]:before {
        transform: scale(0, 1); }
  main.innovation section.merit .container .block .content p {
    color: #FFDC1E; }
main.innovation section.dx {
  background-color: #04DBC1; }
  main.innovation section.dx .container .block h2 span {
    background-color: #360C78;
    color: #04DBC1;
    position: relative;
    width: fit-content;
    transition: all ease .3s;
    clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
    main.innovation section.dx .container .block h2 span:before {
      content: "";
      display: block;
      background-color: #360C78;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      transition: all ease .3s .3s;
      transform-origin: 100% 0; }
    main.innovation section.dx .container .block h2 span[data-inview-active] {
      clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
      main.innovation section.dx .container .block h2 span[data-inview-active]:before {
        transform: scale(0, 1); }
  main.innovation section.dx .container .block .content p {
    color: #360C78; }
main.innovation section.quality {
  background-color: #00214F; }
  main.innovation section.quality .container .block h2 span {
    background-color: #FDD187;
    color: #00214F;
    position: relative;
    width: fit-content;
    transition: all ease .3s;
    clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
    main.innovation section.quality .container .block h2 span:before {
      content: "";
      display: block;
      background-color: #FDD187;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      transition: all ease .3s .3s;
      transform-origin: 100% 0; }
    main.innovation section.quality .container .block h2 span[data-inview-active] {
      clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
      main.innovation section.quality .container .block h2 span[data-inview-active]:before {
        transform: scale(0, 1); }
  main.innovation section.quality .container .block .content p {
    color: #FDD187; }
main.innovation section.young {
  background-color: #045CBD; }
  main.innovation section.young .container .block h2 span {
    background-color: #B8D200;
    color: #045CBD;
    position: relative;
    width: fit-content;
    transition: all ease .3s;
    clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
    main.innovation section.young .container .block h2 span:before {
      content: "";
      display: block;
      background-color: #B8D200;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      transition: all ease .3s .3s;
      transform-origin: 100% 0; }
    main.innovation section.young .container .block h2 span[data-inview-active] {
      clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
      main.innovation section.young .container .block h2 span[data-inview-active]:before {
        transform: scale(0, 1); }
  main.innovation section.young .container .block .content p {
    color: #B8D200; }
main.innovation section.gender {
  background-color: #FFADB2; }
  main.innovation section.gender .container .block h2 span {
    background-color: #005D66;
    color: #FFADB2;
    position: relative;
    width: fit-content;
    transition: all ease .3s;
    clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
    main.innovation section.gender .container .block h2 span:before {
      content: "";
      display: block;
      background-color: #005D66;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      transition: all ease .3s .3s;
      transform-origin: 100% 0; }
    main.innovation section.gender .container .block h2 span[data-inview-active] {
      clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
      main.innovation section.gender .container .block h2 span[data-inview-active]:before {
        transform: scale(0, 1); }
  main.innovation section.gender .container .block .content p {
    color: #005D66; }
main.innovation section.borderless {
  background-color: #DADF01;
  border: none; }
  main.innovation section.borderless:after {
    content: "";
    background-image: url("../images/innovation/decor_text_black.svg");
    background-size: 13.4em auto;
    animation: decor-text-loop-innovation linear calc(13.4s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-innovation {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -13.4em 58%; } }
    @media screen and (max-width: 1023px) {
      main.innovation section.borderless:after {
        font-size: calc(3rem /4); } }
  main.innovation section.borderless .container .block h2 span {
    background-color: #320F76;
    color: #DADF01;
    position: relative;
    width: fit-content;
    transition: all ease .3s;
    clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
    main.innovation section.borderless .container .block h2 span:before {
      content: "";
      display: block;
      background-color: #320F76;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      transition: all ease .3s .3s;
      transform-origin: 100% 0; }
    main.innovation section.borderless .container .block h2 span[data-inview-active] {
      clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
      main.innovation section.borderless .container .block h2 span[data-inview-active]:before {
        transform: scale(0, 1); }
  main.innovation section.borderless .container .block .content p {
    color: #320F76; }
main.innovation nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.innovation nav.cta {
      padding: 8rem 0 12rem; } }
  main.innovation nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.innovation nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.innovation nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.innovation nav.cta .container .copy {
          width: auto; } }
    main.innovation nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.innovation nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.innovation nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.innovation nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.innovation nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.innovation nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.innovation nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.innovation nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.innovation nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.innovation nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.innovation nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.innovation nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.innovation nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.innovation nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.innovation nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.innovation nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.innovation nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.innovation nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.innovation nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.innovation nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.innovation nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.innovation nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.innovation nav.other header {
        padding: 4rem 0 0; } }
    main.innovation nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.innovation nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.innovation nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.innovation nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.innovation nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.innovation nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.innovation nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.innovation nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.innovation nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.innovation nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.innovation nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.innovation nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.innovation nav.other .content ul li {
            flex: 0 0 100%; } }
        main.innovation nav.other .content ul li a {
          display: block; }
          main.innovation nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.innovation nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.innovation nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.innovation nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.innovation nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.innovation nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.innovation nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.innovation nav.other .content ul li:nth-child(4), main.innovation nav.other .content ul li:nth-child(5), main.innovation nav.other .content ul li:nth-child(6) {
            display: none; } }

main.vision > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.vision > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.vision > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/vision/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.vision > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.vision > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.vision > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-vision {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -36em 0;
    				}
    			}
    			background-image: url("../images/vision/header_title_en.svg");
    //			background-size: 36rem 7.7rem;
    			background-size: 36em auto;
    			animation: header-title-en-vision linear calc(36s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.vision > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.vision > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.vision > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.vision > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.vision > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.vision > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.vision > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.vision > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.vision > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.vision > header .scroll {
        font-size: calc(3rem /4); } }
main.vision > .body {
  position: relative;
  background-color: #fff;
  display: flex;
  padding-bottom: 4rem; }
  @media screen and (max-width: 1023px) {
    main.vision > .body {
      display: block; } }
  main.vision > .body:after {
    content: "";
    background-image: url("../images/vision/decor_text_black.svg");
    background-size: 7.9em auto;
    animation: decor-text-loop-vision linear calc(7.9s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0; }
@keyframes decor-text-loop-vision {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -7.9em 58%; } }
    @media screen and (max-width: 1023px) {
      main.vision > .body:after {
        font-size: calc(3rem /4); } }
  main.vision > .body nav.indicator {
    background-color: #F4F4F4;
    flex: 0 0 30rem;
    padding: 8.8rem 4.8rem 8.8rem 6.6rem; }
    @media screen and (max-width: 1023px) {
      main.vision > .body nav.indicator {
        padding: 4rem 2.4rem 5.6rem; } }
    main.vision > .body nav.indicator ul {
      position: sticky;
      top: 10rem;
      display: flex;
      flex-wrap: wrap;
      gap: 1.8rem; }
      @media screen and (max-width: 1023px) {
        main.vision > .body nav.indicator ul {
          position: relative;
          top: auto;
          gap: 1.6rem; } }
      main.vision > .body nav.indicator ul li {
        flex: 0 0 100%; }
        main.vision > .body nav.indicator ul li a {
          position: relative;
          display: flex;
          align-items: center;
          font-style: normal;
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 2.0rem;
          letter-spacing: 0.09em;
          color: #000000;
          min-height: 4.4rem;
          padding: 1rem 2.4rem;
          border: 1px solid #000;
          border-radius: 9999px; }
          @media screen and (max-width: 1023px) {
            main.vision > .body nav.indicator ul li a {
              height: auto;
              padding: 1.2rem 2rem; } }
          main.vision > .body nav.indicator ul li a:after {
            content: "";
            -webkit-mask-image: url("../images/vision/nav_arrow.svg");
            mask-image: url("../images/vision/nav_arrow.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            display: block;
            width: 1.1rem;
            height: 1.1rem;
            position: absolute;
            right: 2rem;
            top: 50%;
            transform: translateY(-50%);
            background-color: #000; }
          main.vision > .body nav.indicator ul li a.active {
            background-color: #000;
            color: #fff; }
            main.vision > .body nav.indicator ul li a.active:after {
              background-color: #fff; }
  main.vision > .body > .content {
    flex: 1; }
    main.vision > .body > .content article {
      position: relative; }
      main.vision > .body > .content article > header {
        border-top: 1px solid #000;
        background-image: url("../images/vision/article_header_decor.png");
        background-size: 17.3rem auto;
        background-repeat: no-repeat;
        background-position: 100% 0%; }
        @media screen and (max-width: 1023px) {
          main.vision > .body > .content article > header {
            background-size: 9.7rem auto; } }
        main.vision > .body > .content article > header h2 {
          padding: 3.2rem 5rem;
          font-weight: 700;
          font-size: 4rem;
          line-height: 5.8rem;
          letter-spacing: -0.05em;
          color: #000000;
          border-bottom: .8rem solid #000; }
          @media screen and (max-width: 1023px) {
            main.vision > .body > .content article > header h2 {
              font-size: 2rem;
              line-height: 2.9rem;
              padding: 1.8rem 2.4rem;
              border-bottom: .4rem solid #000; } }
        main.vision > .body > .content article > header .hero {
          position: relative; }
          main.vision > .body > .content article > header .hero p {
            position: absolute;
            left: 6.6rem;
            top: 50%;
            transform: translateY(-50%); }
            @media screen and (max-width: 1023px) {
              main.vision > .body > .content article > header .hero p {
                top: 50%;
                transform: translateY(-50%);
                left: 2.6rem; } }
            main.vision > .body > .content article > header .hero p > span {
              display: block;
              width: fit-content;
              font-weight: 700;
              letter-spacing: -0.05em;
              color: #08004D;
              font-size: 6.4rem;
              line-height: 7.7rem;
              height: 7.7rem;
              margin-bottom: 1.5rem; }
              @media screen and (max-width: 1023px) {
                main.vision > .body > .content article > header .hero p > span {
                  font-weight: 700;
                  font-size: 3.2rem;
                  line-height: 3.8rem;
                  height: 3.8rem;
                  margin-bottom: .8rem; } }
              main.vision > .body > .content article > header .hero p > span .highlight {
                display: inline-block;
                color: #fff;
                background-color: #08004D;
                padding: 0 1.4rem; }
                @media screen and (max-width: 1023px) {
                  main.vision > .body > .content article > header .hero p > span .highlight {
                    padding: 0 .4rem; } }
      main.vision > .body > .content article .body {
        position: relative;
        padding-right: 6.5rem; }
        @media screen and (max-width: 1023px) {
          main.vision > .body > .content article .body {
            padding-right: 2.4rem; } }
        main.vision > .body > .content article .body section.profile {
          background-color: #fff;
          display: flex;
          gap: 4.8rem;
          padding: 6.4rem 5rem;
          border-top: 1px dashed #000; }
          main.vision > .body > .content article .body section.profile:has(.container) {
            display: block;
            padding: 0; }
          @media screen and (max-width: 1023px) {
            main.vision > .body > .content article .body section.profile {
              display: block;
              padding: 4rem 1.6rem 4rem 2.4rem; } }
          main.vision > .body > .content article .body section.profile .container {
            width: calc(100% - 6.6rem * 2);
            max-width: 115rem;
            margin: 0 auto;
            display: flex;
            gap: 4.8rem;
            padding: 6.4rem 0; }
            @media screen and (max-width: 1023px) {
              main.vision > .body > .content article .body section.profile .container {
                width: calc(100% - 2.4rem * 2); } }
            @media screen and (max-width: 1023px) {
              main.vision > .body > .content article .body section.profile .container {
                padding: 4rem 0;
                display: block; } }
          main.vision > .body > .content article .body section.profile figure {
            flex: 0 0 35.5rem; }
            @media screen and (max-width: 1023px) {
              main.vision > .body > .content article .body section.profile figure {
                margin-bottom: 2.4rem;
                margin-right: -1.6rem; } }
          main.vision > .body > .content article .body section.profile .content {
            flex: 1; }
            main.vision > .body > .content article .body section.profile .content .join {
              border: 1px solid #000;
              padding: .4rem;
              font-weight: 700;
              font-size: 1.4rem;
              line-height: 2rem;
              letter-spacing: 0.09em;
              color: #000000;
              width: fit-content;
              margin-bottom: 2.4rem; }
              @media screen and (max-width: 1023px) {
                main.vision > .body > .content article .body section.profile .content .join {
                  font-size: 1.2rem;
                  line-height: 1.7rem;
                  margin-bottom: 1.6rem; } }
            main.vision > .body > .content article .body section.profile .content .profile,
            main.vision > .body > .content article .body section.profile .content .job {
              font-weight: 700;
              font-size: 1.4rem;
              line-height: 2.4rem;
              letter-spacing: .1em;
              color: #000000;
              margin-bottom: 1.2rem; }
              @media screen and (max-width: 1023px) {
                main.vision > .body > .content article .body section.profile .content .profile,
                main.vision > .body > .content article .body section.profile .content .job {
                  margin-bottom: .8rem; } }
            main.vision > .body > .content article .body section.profile .content .name {
              margin-bottom: 2.4rem; }
              main.vision > .body > .content article .body section.profile .content .name p:nth-child(1) {
                font-weight: 700;
                font-size: 2.4rem;
                line-height: 1.5;
                letter-spacing: 0.12em;
                color: #000000;
                margin-bottom: .4rem; }
              main.vision > .body > .content article .body section.profile .content .name p:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 1.4rem;
                line-height: 2.8rem;
                letter-spacing: .1rem;
                color: #000000; }
                @media screen and (max-width: 1023px) {
                  main.vision > .body > .content article .body section.profile .content .name p:nth-child(2) {
                    line-height: 1.5; } }
            main.vision > .body > .content article .body section.profile .content .description {
              font-weight: 500;
              font-size: 1.4rem;
              line-height: 2.8rem;
              letter-spacing: .1rem;
              color: #000000; }
        main.vision > .body > .content article .body section.message {
          padding: 6.4rem 5rem 8rem; }
          @media screen and (max-width: 1023px) {
            main.vision > .body > .content article .body section.message {
              padding: 4rem 1.6rem 2.4rem; } }
          main.vision > .body > .content article .body section.message p {
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2.8rem;
            letter-spacing: .1em;
            color: #000000;
            margin-top: 2.8rem; }
            main.vision > .body > .content article .body section.message p:first-child {
              margin-top: 0; }
        main.vision > .body > .content article .body > ul li {
          padding: 3.2rem 6.6rem;
          font-weight: 700;
          font-size: 2rem;
          line-height: 3.6rem;
          letter-spacing: .3rem;
          letter-spacing: .1em;
          color: #000000; }
          @media screen and (max-width: 1023px) {
            main.vision > .body > .content article .body > ul li {
              padding: 2.4rem 1.6rem 2.4rem 2.4rem;
              font-size: 1.6rem;
              line-height: 1.8; } }
          main.vision > .body > .content article .body > ul li + li {
            border-top: 1px dashed #000; }
      main.vision > .body > .content article.gc {
        margin-top: -1px; }
        main.vision > .body > .content article.gc .body:after {
          content: "";
          background-image: url("../images/vision/gc_decor_text_black.svg");
          background-size: 1.5em 23.3em;
          animation: decor-text-vertical-loop-vision-gc linear calc(23.3s / 10) infinite;
          position: absolute;
          right: 0;
          top: 0;
          bottom: 0;
          background-position: 50% 0;
          background-repeat: repeat-y;
          display: block;
          font-size: 1rem;
          width: 6.5em;
          border-left: 1px solid #000; }
@keyframes decor-text-vertical-loop-vision-gc {
  0% {
    background-position: 50% 0; }
  100% {
    background-position: 50% -23.3em; } }
          @media screen and (max-width: 1023px) {
            main.vision > .body > .content article.gc .body:after {
              font-size: .6rem; } }
          @media screen and (max-width: 1023px) {
            main.vision > .body > .content article.gc .body:after {
              width: 2.4rem; } }
      main.vision > .body > .content article.wc .body:after {
        content: "";
        background-image: url("../images/vision/wc_decor_text_black.svg");
        background-size: 1.5em 23.8em;
        animation: decor-text-vertical-loop-vision-wc linear calc(23.8s / 10) infinite;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        background-position: 50% 0;
        background-repeat: repeat-y;
        display: block;
        font-size: 1rem;
        width: 6.5em;
        border-left: 1px solid #000; }
@keyframes decor-text-vertical-loop-vision-wc {
  0% {
    background-position: 50% 0; }
  100% {
    background-position: 50% -23.8em; } }
        @media screen and (max-width: 1023px) {
          main.vision > .body > .content article.wc .body:after {
            font-size: .6rem; } }
        @media screen and (max-width: 1023px) {
          main.vision > .body > .content article.wc .body:after {
            width: 2.4rem; } }
      main.vision > .body > .content article.dx .body:after {
        content: "";
        background-image: url("../images/vision/dx_decor_text_black.svg");
        background-size: 1.5em 26em;
        animation: decor-text-vertical-loop-vision-dx linear calc(26s / 10) infinite;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        background-position: 50% 0;
        background-repeat: repeat-y;
        display: block;
        font-size: 1rem;
        width: 6.5em;
        border-left: 1px solid #000; }
@keyframes decor-text-vertical-loop-vision-dx {
  0% {
    background-position: 50% 0; }
  100% {
    background-position: 50% -26em; } }
        @media screen and (max-width: 1023px) {
          main.vision > .body > .content article.dx .body:after {
            font-size: .6rem; } }
        @media screen and (max-width: 1023px) {
          main.vision > .body > .content article.dx .body:after {
            width: 2.4rem; } }
      main.vision > .body > .content article.oha2030 .body:after {
        content: "";
        background-image: url("../images/vision/oha2030_decor_text_black.svg");
        background-size: 1.5em 11em;
        animation: decor-text-vertical-loop-vision-oha2030 linear calc(11s / 10) infinite;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        background-position: 50% 0;
        background-repeat: repeat-y;
        display: block;
        font-size: 1rem;
        width: 6.5em;
        border-left: 1px solid #000; }
@keyframes decor-text-vertical-loop-vision-oha2030 {
  0% {
    background-position: 50% 0; }
  100% {
    background-position: 50% -11em; } }
        @media screen and (max-width: 1023px) {
          main.vision > .body > .content article.oha2030 .body:after {
            font-size: .6rem; } }
        @media screen and (max-width: 1023px) {
          main.vision > .body > .content article.oha2030 .body:after {
            width: 2.4rem; } }
main.vision nav.indicator-popup {
  position: static;
  display: none; }
  @media screen and (max-width: 1023px) {
    main.vision nav.indicator-popup {
      display: block; } }
  main.vision nav.indicator-popup .toggle {
    position: fixed;
    right: 0;
    bottom: 4.8rem;
    z-index: 100;
    transform: translateX(100%);
    transition: all ease .3s; }
    main.vision nav.indicator-popup .toggle button {
      position: relative;
      height: 4rem;
      background-color: #000;
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 1.6rem;
      line-height: 4rem;
      color: #FFFFFF;
      padding: 0 5.1rem 0 1.2rem !important; }
      main.vision nav.indicator-popup .toggle button:before, main.vision nav.indicator-popup .toggle button:after {
        content: "";
        display: block;
        width: 2.2rem;
        height: 1px;
        position: absolute;
        top: 50%;
        right: 1.8rem;
        background-color: #fff; }
      main.vision nav.indicator-popup .toggle button:before {
        margin-top: -.3rem; }
      main.vision nav.indicator-popup .toggle button:after {
        margin-top: .3rem; }
    main.vision nav.indicator-popup .toggle.active + .dialog {
      pointer-events: auto;
      opacity: 1; }
  main.vision nav.indicator-popup .dialog {
    position: fixed;
    z-index: 10000;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    pointer-events: none;
    transition: all ease .3s;
    opacity: 0;
    display: flex;
    justify-content: center;
    align-items: center; }
    main.vision nav.indicator-popup .dialog .wrapper {
      position: relative;
      background-color: #fff;
      width: 34.2rem;
      padding: 3.2rem 2.4rem; }
      main.vision nav.indicator-popup .dialog .wrapper .close {
        position: absolute;
        right: 0;
        bottom: 100%; }
        main.vision nav.indicator-popup .dialog .wrapper .close button {
          position: relative;
          width: 5.6rem;
          height: 4rem;
          background-color: #fff;
          text-indent: -9999px;
          overflow: hidden; }
          main.vision nav.indicator-popup .dialog .wrapper .close button:before, main.vision nav.indicator-popup .dialog .wrapper .close button:after {
            content: "";
            position: absolute;
            top: 50%;
            left: calc(50% - 1.2rem);
            display: block;
            width: 2.4rem;
            height: 1px;
            background-color: #000; }
          main.vision nav.indicator-popup .dialog .wrapper .close button:before {
            transform: rotate(20deg); }
          main.vision nav.indicator-popup .dialog .wrapper .close button:after {
            transform: rotate(-20deg); }
      main.vision nav.indicator-popup .dialog .wrapper ul {
        display: flex;
        flex-wrap: wrap;
        gap: 16px; }
        main.vision nav.indicator-popup .dialog .wrapper ul li {
          flex: 0 0 100%; }
          main.vision nav.indicator-popup .dialog .wrapper ul li a {
            position: relative;
            display: block;
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2rem;
            letter-spacing: 0.09em;
            color: #000;
            border: 1px solid #000;
            border-radius: 9999px;
            padding: 1.2rem 2rem; }
            main.vision nav.indicator-popup .dialog .wrapper ul li a:after {
              content: "";
              -webkit-mask-image: url("../images/vision/nav_arrow.svg");
              mask-image: url("../images/vision/nav_arrow.svg");
              -webkit-mask-size: 100% 100%;
              mask-size: 100% 100%;
              display: block;
              width: 1.1rem;
              height: 1.1rem;
              position: absolute;
              right: 2rem;
              top: 50%;
              transform: translateY(-50%);
              background-color: #000; }
            main.vision nav.indicator-popup .dialog .wrapper ul li a.active {
              background-color: #000;
              color: #fff; }
              main.vision nav.indicator-popup .dialog .wrapper ul li a.active:after {
                background-color: #fff; }
  main.vision nav.indicator-popup.on .toggle {
    transform: translateX(0); }
main.vision section.appeal {
  background-color: #2C9EB0; }
  main.vision section.appeal:after {
    content: "";
    background-image: url("../images/vision/decor_text_black.svg");
    background-size: 7.9em auto;
    animation: decor-text-loop-vision linear calc(7.9s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-vision {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -7.9em 58%; } }
    @media screen and (max-width: 1023px) {
      main.vision section.appeal:after {
        font-size: calc(3rem /4); } }
  main.vision section.appeal .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 5.6rem 0; }
    @media screen and (max-width: 1023px) {
      main.vision section.appeal .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.vision section.appeal .container {
        padding: 4rem 0; } }
    main.vision section.appeal .container p {
      font-family: YakuHanJP, 'Noto Sans JP', san-serif;
      font-weight: 700;
      font-size: 4rem;
      line-height: 5.8rem;
      letter-spacing: -0.05em;
      color: #08004D; }
      @media screen and (max-width: 1023px) {
        main.vision section.appeal .container p {
          font-size: 2rem;
          line-height: 2.9rem; } }
      @media screen and (max-width: 1023px) {
        main.vision section.appeal .container p br {
          display: none; } }
main.vision nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.vision nav.cta {
      padding: 8rem 0 12rem; } }
  main.vision nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.vision nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.vision nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.vision nav.cta .container .copy {
          width: auto; } }
    main.vision nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.vision nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.vision nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.vision nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.vision nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.vision nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.vision nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.vision nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.vision nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.vision nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.vision nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.vision nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.vision nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.vision nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.vision nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.vision nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.vision nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.vision nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.vision nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.vision nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.vision nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.vision nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.vision nav.other header {
        padding: 4rem 0 0; } }
    main.vision nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.vision nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.vision nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.vision nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.vision nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.vision nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.vision nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.vision nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.vision nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.vision nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.vision nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.vision nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.vision nav.other .content ul li {
            flex: 0 0 100%; } }
        main.vision nav.other .content ul li a {
          display: block; }
          main.vision nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.vision nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.vision nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.vision nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.vision nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.vision nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.vision nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.vision nav.other .content ul li:nth-child(4), main.vision nav.other .content ul li:nth-child(5), main.vision nav.other .content ul li:nth-child(6) {
            display: none; } }

main.data > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.data > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.data > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/data/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.data > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.data > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.data > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-data {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -65.6em 0;
    				}
    			}
    			background-image: url("../images/data/header_title_en.svg");
    //			background-size: 65.6rem 7.7rem;
    			background-size: 65.6em auto;
    			animation: header-title-en-data linear calc(65.6s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.data > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.data > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.data > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.data > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.data > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.data > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.data > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.data > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.data > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.data > header .scroll {
        font-size: calc(3rem /4); } }
main.data > section {
  border-top: 1px solid #000; }
  main.data > section header {
    background-color: #fff;
    border-bottom: 8px solid #000; }
    main.data > section header .container {
      width: calc(100% - 6.6rem * 2);
      max-width: 115rem;
      margin: 0 auto;
      padding: 4rem 0 4rem; }
      @media screen and (max-width: 1023px) {
        main.data > section header .container {
          width: calc(100% - 2.4rem * 2); } }
      @media screen and (max-width: 1023px) {
        main.data > section header .container {
          padding: 4rem 0 3rem; } }
      main.data > section header .container h2 {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 100%;
        letter-spacing: -0.04em;
        color: #000000; }
        @media screen and (max-width: 1023px) {
          main.data > section header .container h2 {
            font-size: 6.4rem; } }
  main.data > section .body {
    position: relative;
    background-color: #B99D58;
    padding: 6rem 0 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.data > section .body {
        padding: 2.4rem 0 2.4rem; } }
    main.data > section .body:before, main.data > section .body:after {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      bottom: 0; }
    main.data > section .body:before {
      left: 0;
      border: none !important;
      border-right: 1px solid #fff !important; }
    main.data > section .body:after {
      right: 0;
      border: none !important;
      border-left: 1px solid #fff  !important;
      animation-direction: reverse !important; }
    main.data > section .body .container {
      width: calc(100% - 6.6rem * 2);
      max-width: 115rem;
      margin: 0 auto;
      display: flex;
      flex-wrap: wrap;
      border-bottom: 1px solid #fff; }
      @media screen and (max-width: 1023px) {
        main.data > section .body .container {
          width: calc(100% - 2.4rem * 2); } }
      main.data > section .body .container section {
        position: relative;
        border-top: 1px solid #fff; }
        main.data > section .body .container section h3 {
          position: absolute;
          z-index: 1;
          top: 0;
          left: 0;
          width: fit-content;
          font-weight: 700;
          font-size: 1.6rem;
          line-height: 3.4rem;
          letter-spacing: 0.05em;
          color: #B99D58;
          padding: 0 .8rem;
          background-color: #fff; }
          @media screen and (max-width: 1023px) {
            main.data > section .body .container section h3 {
              font-size: 1.4rem;
              line-height: 3rem; } }
      main.data > section .body .container section.sales {
        flex: 0 0 100%; }
        main.data > section .body .container section.sales .content {
          position: relative;
          padding: 2.4rem; }
          @media screen and (max-width: 1023px) {
            main.data > section .body .container section.sales .content {
              padding: 19.2rem 0 4rem; } }
          main.data > section .body .container section.sales .content p:nth-child(1) {
            position: absolute;
            top: 6.8rem;
            left: 4.8rem;
            font-weight: 700;
            font-size: 2rem;
            line-height: 4.4rem;
            letter-spacing: 0.09em;
            color: #FFFFFF; }
            @media screen and (max-width: 1023px) {
              main.data > section .body .container section.sales .content p:nth-child(1) {
                font-size: 1.8rem;
                height: 2;
                top: 7rem;
                left: 1.6rem; } }
          main.data > section .body .container section.sales .content p:nth-child(2) {
            position: absolute;
            top: 12rem;
            left: 4.8rem; }
            @media screen and (max-width: 1023px) {
              main.data > section .body .container section.sales .content p:nth-child(2) {
                top: 10.6rem;
                left: 1.6rem; } }
            main.data > section .body .container section.sales .content p:nth-child(2) span {
              margin-right: .4rem; }
            main.data > section .body .container section.sales .content p:nth-child(2) span.num {
              font-family: 'Poppins';
              font-style: normal;
              font-weight: 600;
              font-size: 12rem;
              line-height: 100%;
              letter-spacing: -0.04em;
              color: #FFFFFF; }
              @media screen and (max-width: 1023px) {
                main.data > section .body .container section.sales .content p:nth-child(2) span.num {
                  font-size: 7.2rem; } }
            main.data > section .body .container section.sales .content p:nth-child(2) span.unit {
              font-weight: 700;
              font-size: 5.6rem;
              line-height: 4.4rem;
              letter-spacing: 0.09em;
              color: #FFFFFF; }
              @media screen and (max-width: 1023px) {
                main.data > section .body .container section.sales .content p:nth-child(2) span.unit {
                  font-size: 2.8rem; } }
main.data > section.group {
  margin-top: -1px; }
  main.data > section.group .body {
    /*
    @keyframes group-decor-text-loop {
    	0% {
    		background-position: 50% 0;
    	}
    	100% {
    		background-position: 50% -20.3rem;					
    	}
    }
    */ }
    main.data > section.group .body:before, main.data > section.group .body:after {
      content: "";
      background-image: url("../images/data/architect_decor_text_black.svg");
      background-size: 1.5em 24em;
      animation: decor-text-vertical-loop-data-architect linear calc(24s / 10) infinite;
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      background-position: 50% 0;
      background-repeat: repeat-y;
      display: block;
      font-size: 1rem;
      width: 6.5em;
      border-left: 1px solid #000;
      /*
      background-image: url("../images/data/group_decor_text.svg");
      background-size: 1.5rem 20.3rem;
      animation: group-decor-text-loop linear calc(20.3s / 10) infinite;
      */ }
@keyframes decor-text-vertical-loop-data-architect {
  0% {
    background-position: 50% 0; }
  100% {
    background-position: 50% -24em; } }
      @media screen and (max-width: 1023px) {
        main.data > section.group .body:before, main.data > section.group .body:after {
          font-size: .6rem; } }
      @media screen and (max-width: 1023px) {
        main.data > section.group .body:before, main.data > section.group .body:after {
          width: 2.4rem; } }
    main.data > section.group .body .container section.founded,
    main.data > section.group .body .container section.capital,
    main.data > section.group .body .container section.employees {
      flex: 0 0 calc(100% / 3); }
      @media screen and (max-width: 1023px) {
        main.data > section.group .body .container section.founded,
        main.data > section.group .body .container section.capital,
        main.data > section.group .body .container section.employees {
          flex: 0 0 100%; } }
      main.data > section.group .body .container section.founded .content,
      main.data > section.group .body .container section.capital .content,
      main.data > section.group .body .container section.employees .content {
        position: relative;
        height: 24.8rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.group .body .container section.founded .content,
          main.data > section.group .body .container section.capital .content,
          main.data > section.group .body .container section.employees .content {
            height: 17.6rem; } }
        main.data > section.group .body .container section.founded .content:before,
        main.data > section.group .body .container section.capital .content:before,
        main.data > section.group .body .container section.employees .content:before {
          content: "";
          display: block;
          background-size: 100% 100%;
          width: 15rem;
          height: 15rem;
          position: absolute;
          top: 1rem;
          right: 1rem; }
          @media screen and (max-width: 1023px) {
            main.data > section.group .body .container section.founded .content:before,
            main.data > section.group .body .container section.capital .content:before,
            main.data > section.group .body .container section.employees .content:before {
              top: 1.6rem;
              right: 1.6rem;
              width: 14rem;
              height: 14rem; } }
        main.data > section.group .body .container section.founded .content span.num,
        main.data > section.group .body .container section.capital .content span.num,
        main.data > section.group .body .container section.employees .content span.num {
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 600;
          font-size: 8rem;
          line-height: 100%;
          letter-spacing: -0.04em;
          color: #FFFFFF;
          margin-right: .3rem; }
          @media screen and (max-width: 1023px) {
            main.data > section.group .body .container section.founded .content span.num,
            main.data > section.group .body .container section.capital .content span.num,
            main.data > section.group .body .container section.employees .content span.num {
              font-size: 5.6rem; } }
        main.data > section.group .body .container section.founded .content span.unit,
        main.data > section.group .body .container section.capital .content span.unit,
        main.data > section.group .body .container section.employees .content span.unit {
          font-weight: 700;
          font-size: 3.2rem;
          line-height: 4.4rem;
          color: #FFFFFF;
          margin-right: .3rem; }
          @media screen and (max-width: 1023px) {
            main.data > section.group .body .container section.founded .content span.unit,
            main.data > section.group .body .container section.capital .content span.unit,
            main.data > section.group .body .container section.employees .content span.unit {
              font-size: 2.8rem; } }
        main.data > section.group .body .container section.founded .content span.ref,
        main.data > section.group .body .container section.capital .content span.ref,
        main.data > section.group .body .container section.employees .content span.ref {
          font-weight: 700;
          font-size: 1.6rem;
          line-height: 4.4rem;
          color: #FFFFFF;
          vertical-align: 32%; }
          @media screen and (max-width: 1023px) {
            main.data > section.group .body .container section.founded .content span.ref,
            main.data > section.group .body .container section.capital .content span.ref,
            main.data > section.group .body .container section.employees .content span.ref {
              font-size: 1.4rem; } }
    main.data > section.group .body .container section.founded {
      border-right: 1px solid #fff; }
      main.data > section.group .body .container section.founded .content:before {
        background-image: url("../images/data/group_founded_decor.png"); }
      main.data > section.group .body .container section.founded .content p {
        position: absolute;
        top: 10.2rem;
        left: 5.5rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.group .body .container section.founded .content p {
            top: 6.5rem;
            left: 1.8rem; } }
    main.data > section.group .body .container section.capital {
      border-right: 1px solid #fff; }
      main.data > section.group .body .container section.capital .content:before {
        background-image: url("../images/data/group_capital_decor.png"); }
      main.data > section.group .body .container section.capital .content p {
        position: absolute;
        top: 6.2rem;
        left: 5.4rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.group .body .container section.capital .content p {
            top: 4rem;
            left: 1.8rem; } }
    main.data > section.group .body .container section.employees .content:before {
      background-image: url("../images/data/group_employees_decor.png"); }
    main.data > section.group .body .container section.employees .content p:nth-child(1) {
      position: absolute;
      top: 10.2rem;
      left: 7.6rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.group .body .container section.employees .content p:nth-child(1) {
          top: 5.7rem;
          left: 1.8rem; } }
    main.data > section.group .body .container section.employees .content p:nth-child(2) {
      position: absolute;
      bottom: 1.8rem;
      left: 1.8rem;
      font-weight: 500;
      font-size: 1.4rem;
      line-height: 2.4rem;
      letter-spacing: 1px;
      color: #FFFFFF; }
      @media screen and (max-width: 1023px) {
        main.data > section.group .body .container section.employees .content p:nth-child(2) {
          bottom: 1.6rem;
          left: 1.6rem;
          right: 1.6rem;
          font-size: 1.2rem; } }
    main.data > section.group .body .container section.ranking,
    main.data > section.group .body .container section.growth {
      flex: 0 0 50%; }
      @media screen and (max-width: 1023px) {
        main.data > section.group .body .container section.ranking,
        main.data > section.group .body .container section.growth {
          flex: 0 0 100%; } }
      main.data > section.group .body .container section.ranking .content,
      main.data > section.group .body .container section.growth .content {
        position: relative;
        height: 21.7rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.group .body .container section.ranking .content,
          main.data > section.group .body .container section.growth .content {
            height: 17.6rem; } }
        main.data > section.group .body .container section.ranking .content:before,
        main.data > section.group .body .container section.growth .content:before {
          content: "";
          display: block;
          position: absolute;
          top: 1.8rem;
          width: 18rem;
          height: 18.1rem;
          background-size: 100% 100%; }
          @media screen and (max-width: 1023px) {
            main.data > section.group .body .container section.ranking .content:before,
            main.data > section.group .body .container section.growth .content:before {
              width: 14rem;
              height: 14rem;
              top: 1.6rem; } }
        main.data > section.group .body .container section.ranking .content span.num,
        main.data > section.group .body .container section.growth .content span.num {
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 600;
          font-size: 12rem;
          line-height: 100%;
          letter-spacing: -0.04em;
          color: #FFFFFF;
          margin-right: .4rem; }
          @media screen and (max-width: 1023px) {
            main.data > section.group .body .container section.ranking .content span.num,
            main.data > section.group .body .container section.growth .content span.num {
              font-size: 8.8rem; } }
        main.data > section.group .body .container section.ranking .content span.unit,
        main.data > section.group .body .container section.growth .content span.unit {
          font-weight: 700;
          font-size: 5.6rem;
          line-height: 4.4rem;
          letter-spacing: 0.09em;
          color: #FFFFFF;
          margin-right: .4rem; }
          @media screen and (max-width: 1023px) {
            main.data > section.group .body .container section.ranking .content span.unit,
            main.data > section.group .body .container section.growth .content span.unit {
              font-size: 2.8rem; } }
        main.data > section.group .body .container section.ranking .content span.ref,
        main.data > section.group .body .container section.growth .content span.ref {
          font-weight: 700;
          font-size: 2.8rem;
          line-height: 4.4rem;
          letter-spacing: 0.09em;
          color: #FFFFFF;
          vertical-align: 54%;
          margin-right: .4rem; }
          @media screen and (max-width: 1023px) {
            main.data > section.group .body .container section.ranking .content span.ref,
            main.data > section.group .body .container section.growth .content span.ref {
              font-size: 1.4rem;
              line-height: 2.2rem; } }
    main.data > section.group .body .container section.ranking {
      border-right: 1px solid #fff; }
      main.data > section.group .body .container section.ranking .content:before {
        right: 4.8rem;
        background-image: url("../images/data/group_ranking_decor.png"); }
        @media screen and (max-width: 1023px) {
          main.data > section.group .body .container section.ranking .content:before {
            right: 1.6rem; } }
      main.data > section.group .body .container section.ranking .content p:nth-child(1) {
        position: absolute;
        top: 5.7rem;
        left: 19.7rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.group .body .container section.ranking .content p:nth-child(1) {
            top: 4rem;
            left: 11.6rem; } }
      main.data > section.group .body .container section.ranking .content p:nth-child(2) {
        position: absolute;
        bottom: 1.8rem;
        left: 1.8rem;
        font-weight: 500;
        font-size: 1.4rem;
        line-height: 2.4rem;
        letter-spacing: 1px;
        color: #FFFFFF; }
        @media screen and (max-width: 1023px) {
          main.data > section.group .body .container section.ranking .content p:nth-child(2) {
            bottom: 1.6rem;
            left: 1.6rem;
            right: 1.6rem;
            font-size: 1.2rem; } }
    main.data > section.group .body .container section.growth .content:before {
      right: 1.6rem;
      background-image: url("../images/data/group_growth_decor.png"); }
    main.data > section.group .body .container section.growth .content p {
      position: absolute;
      top: 5.7rem;
      left: 12.5rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.group .body .container section.growth .content p {
          top: 4rem;
          left: 6.1rem; } }
main.data > section.architect:after {
  content: "";
  background-image: url("../images/data/decor_text_black.svg");
  background-size: 14.2em auto;
  animation: decor-text-loop-data linear calc(14.2s / 10) infinite;
  text-indent: -9999px;
  overflow: hidden;
  background-position: 0 58%;
  background-repeat: repeat-x;
  display: block;
  font-size: 1rem;
  height: 4em;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  background-color: #fff; }
@keyframes decor-text-loop-data {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -14.2em 58%; } }
  @media screen and (max-width: 1023px) {
    main.data > section.architect:after {
      font-size: calc(3rem /4); } }
main.data > section.architect .body:before, main.data > section.architect .body:after {
  content: "";
  background-image: url("../images/data/architect_decor_text_black.svg");
  background-size: 1.5em 24em;
  animation: decor-text-vertical-loop-data-architect linear calc(24s / 10) infinite;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  background-position: 50% 0;
  background-repeat: repeat-y;
  display: block;
  font-size: 1rem;
  width: 6.5em;
  border-left: 1px solid #000; }
@keyframes decor-text-vertical-loop-data-architect {
  0% {
    background-position: 50% 0; }
  100% {
    background-position: 50% -24em; } }
  @media screen and (max-width: 1023px) {
    main.data > section.architect .body:before, main.data > section.architect .body:after {
      font-size: .6rem; } }
  @media screen and (max-width: 1023px) {
    main.data > section.architect .body:before, main.data > section.architect .body:after {
      width: 2.4rem; } }
main.data > section.architect .body .container {
  /*
  section.newpromotion,
  section.gcratio,
  section.deptratio{
  	flex: 0 0 calc(100% / 3);	
  	@include tablet {
  		flex: 0 0 calc(100%);
  	}				
  	.content {
  		position: relative;
  		height: 24.9rem;
  		@include tablet {
  			height: 17.6rem;
  		}
  		&:before {
  			content: "";
  			position: absolute;
  			top: 1rem;
  			right: 1rem;
  			width: 15rem;
  			height: 15rem;
  			display: block;
  			background-size: 100% 100%;
  			@include tablet {
  				top: .8rem;
  				right: .8rem;
  				width: 14rem;
  			}
  		}						
  		.note {
  			position: absolute;
  			left: 1.8rem;
  			bottom: 1.8rem;
  			font-weight: 500;
  			font-size: 1.2rem;
  			line-height: 2.4rem;
  			letter-spacing: .1rem;
  			color: #FFFFFF;
  			@include tablet {
  				line-height: 1.8rem;
  				bototm: 1.6rem;
  				left: 1.6rem;
  				right: 1.6rem;
  			}
  		}						
  	}
  }				
  section.newpromotion {
  	border-right: 1px solid #fff;
  	@include tablet {
  		border-right: none;
  	}
  	.content {
  		&:before {
  			background-image: url("../images/data/architect_newpromotion_dcor.png");
  		}
  		p:nth-child(1) {
  			position: absolute;
  			top: 7.1rem;
  			left: 8.7rem;
  			@include tablet {
  				top: 4.8rem;
  				left: 8.1rem;
  			}
  			.num {
  				font-family: 'Poppins';
  				font-style: normal;
  				font-weight: 600;
  				font-size: 12rem;
  				line-height: 100%;
  				letter-spacing: -0.04em;
  				color: #FFFFFF;
  				@include tablet {
  					font-size: 8.8rem;
  				}
  			}
  			.unit {
  				font-weight: 700;
  				font-size: 5.6rem;
  				line-height: 4.4rem;
  				letter-spacing: 0.09em;
  				color: #FFFFFF;
  				@include tablet {
  					font-size: 2.8rem;
  				}
  			}
  		}
  	}
  }
  */
  /*
  section.gcratio,
  section.deptratio {
  	border-right: 1px solid #fff;
  	@include tablet {
  		border-right: none;
  	}
  	.content {
  		dl {
  			position: absolute;
  			top: 5.8rem;
  			bottom: 5.2rem;
  			left: 0;
  			right: 0;
  			display: flex;
  			@include tablet {
  				top: 4.8rem;
  				bottom: 4.6rem;
  			}
  			div {
  				flex: 0 0 50%;
  				&:nth-child(1) {
  					border-right: 1px dashed #fff;
  				}
  				dt {
  					font-weight: 700;
  					font-size: 1.6rem;
  					line-height: 4.4rem;
  					letter-spacing: 0.05em;
  					color: #FFFFFF;
  					text-align: center;
  					margin-top: .5rem;
  					@include tablet {										
  						font-size: 1.4rem;
  						margin-top: -1.6rem;
  					}
  				}
  				dd {
  					display: flex;
  					justify-content: center;
  					align-items: baseline;
  					gap: .2rem;
  					margin-top: -.5rem;
  					@include tablet {
  						margin-top: -1rem;
  					}
  					.num {
  						font-family: 'Poppins';
  						font-style: normal;
  						font-weight: 600;
  						font-size: 8rem;
  						line-height: 100%;
  						letter-spacing: -0.04em;
  						color: #FFFFFF;
  						@include tablet {
  							font-size: 6.4rem;
  						}
  					}
  					.unit {
  						font-weight: 700;
  						font-size: 4rem;
  						line-height: 4.4rem;
  						letter-spacing: 0.09em;
  						color: #FFFFFF;
  						@include tablet {
  							font-size: 3.2rem;
  						}
  					}
  				}
  			}
  		}
  	}
  }
  section.gcratio {
  	.content {
  		&:before {
  			background-image: url("../images/data/architect_gcratio_dcor.png");
  		}
  	}
  }
  section.deptratio {
  	.content {
  		&:before {
  			background-image: url("../images/data/architect_deptratio_img.png");
  		}
  	}
  }			
  */
  /*
  section.productivity {
  	border-right: 1px solid #fff;
  	@include tablet {
  		border-right: none;
  	}
  	.content {
  		&:before {
  			background-image: url("../images/data/architect_productivity_dcor.png");
  		}
  		p:nth-child(1) {
  			position: absolute;
  			top: 8.2rem;
  			left: 7.7rem;
  			@include tablet {
  				top: 4.8rem;
  				left: 10.5rem;
  			}
  		}
  	}
  }
  */
  /*
  section.bctime,
  section.bclecturer,
  section.bccourse {
  	.content {
  		p:nth-child(1) {
  			font-weight: 700;
  			font-size: 2.4rem;
  			line-height: 3.8rem;
  			color: #FFFFFF;
  			position: absolute;
  			top: 4.8rem;
  			@include tablet {
  				font-size: 1.8rem;
  				line-height: 3.8rem;
  				top: 8.8rem;
  				right: 23.5rem !important;
  				left: auto !important;
  			}
  		}
  		p:nth-child(2) {
  			position: absolute;
  			top: 8.5rem;
  			@include tablet {
  				top: 5.6rem;
  				left: 11.3rem !important;
  			}
  			.num {
  				font-size: 11rem;
  				@include tablet {
  					font-size: 7.2rem;
  				}
  			}
  			.unit {
  				font-size: 4.8rem;
  				@include tablet {
  					font-size: 2.8rem;
  				}
  			}
  		}
  	}
  }
  section.bctime {
  	border-right: 1px solid #fff;
  	.content {
  		&:before {
  			background-image: url("../images/data/architect_bctime_dcor.png");
  		}
  		p:nth-child(1),
  		p:nth-child(2) {
  			left: 3.6rem;
  		}
  	}
  }
  section.bclecturer {
  	border-right: 1px solid #fff;
  	.content {
  		&:before {
  			background-image: url("../images/data/architect_bclecturer_dcor.png");
  		}
  		p:nth-child(1),
  		p:nth-child(2) {
  			left: 6.4rem;
  		}
  	}	
  }
  section.bccourse {
  	.content {
  		&:before {
  			background-image: url("../images/data/architect_bccourse_dcor.png");
  		}
  		p:nth-child(1),
  		p:nth-child(2) {
  			left: 4rem;
  		}
  	}					
  }		
  
  */
  /*
  section.training {
  	border-right: 1px solid #fff;
  	@include tablet {
  		border-right: none;
  	}
  	.content {
  		&:before {
  			background-image: url("../images/data/architect_training_dcor.png");
  		}
  		p:nth-child(1) {
  			position: absolute;
  			top: 8.4rem;
  			left: 5rem;
  			@include tablet {
  				top: 4.8rem;
  				left: 4.7rem;
  			}
  			.num {
  				font-size: 10rem;
  				line-height: 1;
  				@include tablet {
  					font-size: 8.8rem;
  				}
  			}
  			.unit {
  				font-size: 4rem;
  				line-height: 4.4rem;
  				@include tablet {
  					font-size: 2.8rem;
  				}
  			}
  		}
  	}					
  }
  section.return {
  	.content {
  		&:before {
  			background-image: url("../images/data/architect_return_dcor.png");
  		}
  		p:nth-child(1) {
  			position: absolute;
  			top: 7.2rem;
  			left: 6.9rem;
  			@include tablet {
  				top: 4.8rem;
  				left: 8.8rem;
  			}
  		}						
  	}
  }	
  */ }
  main.data > section.architect .body .container section.growth {
    flex: 0 0 100%; }
    main.data > section.architect .body .container section.growth .content {
      padding: 2.4rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.growth .content {
          padding: 19.3rem 0 4rem; } }
      main.data > section.architect .body .container section.growth .content p {
        position: absolute;
        top: 13.1rem;
        left: 6.6rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.growth .content p {
            top: 7rem;
            left: 1.6rem; } }
        main.data > section.architect .body .container section.growth .content p span.text {
          font-weight: 700;
          font-size: 5.6rem;
          line-height: 4.4rem;
          color: #FFFFFF; }
          @media screen and (max-width: 1023px) {
            main.data > section.architect .body .container section.growth .content p span.text {
              display: block;
              font-size: 2.8rem; } }
        main.data > section.architect .body .container section.growth .content p span.num {
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 600;
          font-size: 12rem;
          line-height: 100%;
          letter-spacing: -0.04em;
          color: #FFFFFF; }
          @media screen and (max-width: 1023px) {
            main.data > section.architect .body .container section.growth .content p span.num {
              font-size: 7.2rem; } }
        main.data > section.architect .body .container section.growth .content p span.unit {
          font-weight: 700;
          font-size: 5.6rem;
          line-height: 4.4rem;
          letter-spacing: 0.09em;
          color: #FFFFFF; }
          @media screen and (max-width: 1023px) {
            main.data > section.architect .body .container section.growth .content p span.unit {
              font-size: 2.8rem; } }
  main.data > section.architect .body .container section.capital,
  main.data > section.architect .body .container section.network,
  main.data > section.architect .body .container section.projects,
  main.data > section.architect .body .container section.annual,
  main.data > section.architect .body .container section.satisfaction,
  main.data > section.architect .body .container section.partners {
    flex: 0 0 calc(100% / 3); }
    @media screen and (max-width: 1023px) {
      main.data > section.architect .body .container section.capital,
      main.data > section.architect .body .container section.network,
      main.data > section.architect .body .container section.projects,
      main.data > section.architect .body .container section.annual,
      main.data > section.architect .body .container section.satisfaction,
      main.data > section.architect .body .container section.partners {
        flex: 0 0 100%; } }
    main.data > section.architect .body .container section.capital .content,
    main.data > section.architect .body .container section.network .content,
    main.data > section.architect .body .container section.projects .content,
    main.data > section.architect .body .container section.annual .content,
    main.data > section.architect .body .container section.satisfaction .content,
    main.data > section.architect .body .container section.partners .content {
      position: relative;
      height: 24.8rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.capital .content,
        main.data > section.architect .body .container section.network .content,
        main.data > section.architect .body .container section.projects .content,
        main.data > section.architect .body .container section.annual .content,
        main.data > section.architect .body .container section.satisfaction .content,
        main.data > section.architect .body .container section.partners .content {
          height: 17.6rem; } }
      main.data > section.architect .body .container section.capital .content:before,
      main.data > section.architect .body .container section.network .content:before,
      main.data > section.architect .body .container section.projects .content:before,
      main.data > section.architect .body .container section.annual .content:before,
      main.data > section.architect .body .container section.satisfaction .content:before,
      main.data > section.architect .body .container section.partners .content:before {
        content: "";
        background-size: 100% 100%;
        display: block;
        width: 15rem;
        height: 15rem;
        position: absolute;
        top: 1rem;
        right: 1rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.capital .content:before,
          main.data > section.architect .body .container section.network .content:before,
          main.data > section.architect .body .container section.projects .content:before,
          main.data > section.architect .body .container section.annual .content:before,
          main.data > section.architect .body .container section.satisfaction .content:before,
          main.data > section.architect .body .container section.partners .content:before {
            top: .8rem;
            right: .8rem;
            width: 14rem;
            height: 14rem; } }
      main.data > section.architect .body .container section.capital .content .num,
      main.data > section.architect .body .container section.network .content .num,
      main.data > section.architect .body .container section.projects .content .num,
      main.data > section.architect .body .container section.annual .content .num,
      main.data > section.architect .body .container section.satisfaction .content .num,
      main.data > section.architect .body .container section.partners .content .num {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 8rem;
        line-height: 100%;
        letter-spacing: -0.04em;
        color: #FFFFFF;
        margin-right: .2rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.capital .content .num,
          main.data > section.architect .body .container section.network .content .num,
          main.data > section.architect .body .container section.projects .content .num,
          main.data > section.architect .body .container section.annual .content .num,
          main.data > section.architect .body .container section.satisfaction .content .num,
          main.data > section.architect .body .container section.partners .content .num {
            font-size: 5.6rem; } }
      main.data > section.architect .body .container section.capital .content .unit,
      main.data > section.architect .body .container section.network .content .unit,
      main.data > section.architect .body .container section.projects .content .unit,
      main.data > section.architect .body .container section.annual .content .unit,
      main.data > section.architect .body .container section.satisfaction .content .unit,
      main.data > section.architect .body .container section.partners .content .unit {
        font-weight: 700;
        font-size: 3.2rem;
        line-height: 4.4rem;
        letter-spacing: 0.09em;
        color: #FFFFFF;
        margin-right: .2rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.capital .content .unit,
          main.data > section.architect .body .container section.network .content .unit,
          main.data > section.architect .body .container section.projects .content .unit,
          main.data > section.architect .body .container section.annual .content .unit,
          main.data > section.architect .body .container section.satisfaction .content .unit,
          main.data > section.architect .body .container section.partners .content .unit {
            font-size: 2.8rem; } }
      main.data > section.architect .body .container section.capital .content .ref,
      main.data > section.architect .body .container section.network .content .ref,
      main.data > section.architect .body .container section.projects .content .ref,
      main.data > section.architect .body .container section.annual .content .ref,
      main.data > section.architect .body .container section.satisfaction .content .ref,
      main.data > section.architect .body .container section.partners .content .ref {
        font-weight: 700;
        font-size: 1.6rem;
        line-height: 4.4rem;
        letter-spacing: 0.09em;
        color: #FFFFFF;
        vertical-align: 32%;
        margin-left: -.2rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.capital .content .ref,
          main.data > section.architect .body .container section.network .content .ref,
          main.data > section.architect .body .container section.projects .content .ref,
          main.data > section.architect .body .container section.annual .content .ref,
          main.data > section.architect .body .container section.satisfaction .content .ref,
          main.data > section.architect .body .container section.partners .content .ref {
            font-size: 1.4rem; } }
      main.data > section.architect .body .container section.capital .content p.note,
      main.data > section.architect .body .container section.network .content p.note,
      main.data > section.architect .body .container section.projects .content p.note,
      main.data > section.architect .body .container section.annual .content p.note,
      main.data > section.architect .body .container section.satisfaction .content p.note,
      main.data > section.architect .body .container section.partners .content p.note {
        position: absolute;
        bottom: 1.8rem;
        left: 1.8rem;
        font-weight: 500;
        font-size: 1.2rem;
        line-height: 2.4rem;
        letter-spacing: .1rem;
        color: #FFFFFF; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.capital .content p.note,
          main.data > section.architect .body .container section.network .content p.note,
          main.data > section.architect .body .container section.projects .content p.note,
          main.data > section.architect .body .container section.annual .content p.note,
          main.data > section.architect .body .container section.satisfaction .content p.note,
          main.data > section.architect .body .container section.partners .content p.note {
            left: 1.6rem;
            right: 1.6rem;
            bottom: 1.6rem; } }
  main.data > section.architect .body .container section.capital {
    border-right: 1px solid #fff; }
    main.data > section.architect .body .container section.capital .content:before {
      background-image: url("../images/data/architect_capital_dcor.png"); }
    main.data > section.architect .body .container section.capital .content p:nth-child(1) {
      position: absolute;
      top: 10.2rem;
      left: 6.4rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.capital .content p:nth-child(1) {
          top: 6.5rem;
          left: 1.8rem; } }
  main.data > section.architect .body .container section.network {
    border-right: 1px solid #fff; }
    main.data > section.architect .body .container section.network .content:before {
      background-image: url("../images/data/architect_network_dcor.png"); }
    main.data > section.architect .body .container section.network .content div {
      position: absolute;
      top: 5.6rem;
      left: 3rem;
      width: 32.1rem;
      height: 16.9rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.network .content div {
          top: 3rem;
          left: 1.7rem;
          width: 31rem;
          height: 13rem; } }
      main.data > section.architect .body .container section.network .content div:before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        border-left: 1px dashed #fff; }
      main.data > section.architect .body .container section.network .content div:after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        left: 0;
        right: 0;
        border-top: 1px dashed #fff; }
      main.data > section.architect .body .container section.network .content div p:nth-child(1) {
        position: absolute;
        top: 0;
        left: 0; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.network .content div p:nth-child(1) {
            top: .5rem; } }
      main.data > section.architect .body .container section.network .content div p:nth-child(2) {
        position: absolute;
        top: 0;
        left: calc(50% + 1rem); }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.network .content div p:nth-child(2) {
            top: .5rem; } }
      main.data > section.architect .body .container section.network .content div p:nth-child(3) {
        position: absolute;
        top: calc(50% + 1rem);
        left: 0;
        display: flex; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.network .content div p:nth-child(3) {
            display: block; } }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.network .content div p:nth-child(3) .unit {
            font-size: 2.2em; } }
      main.data > section.architect .body .container section.network .content div p:nth-child(4) {
        position: absolute;
        top: calc(50% + 1rem);
        left: calc(50% + 1rem); }
      main.data > section.architect .body .container section.network .content div .unit {
        font-size: 2.8rem;
        line-height: 3.4rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.network .content div .unit {
            font-size: 2.8rem;
            vertical-align: .1rem; }
            main.data > section.architect .body .container section.network .content div .unit br {
              display: none; } }
  main.data > section.architect .body .container section.projects .content:before {
    background-image: url("../images/data/architect_projects_dcor.png"); }
  main.data > section.architect .body .container section.projects .content p:nth-child(1) {
    position: absolute;
    top: 10.2rem;
    left: 2.4rem; }
    @media screen and (max-width: 1023px) {
      main.data > section.architect .body .container section.projects .content p:nth-child(1) {
        top: 6.5rem;
        left: 1.7rem; } }
  main.data > section.architect .body .container section.annual {
    border-right: 1px solid #fff; }
    main.data > section.architect .body .container section.annual .content:before {
      background-image: url("../images/data/architect_annual_dcor.png"); }
    main.data > section.architect .body .container section.annual .content p:nth-child(1) {
      position: absolute;
      top: 10.2rem;
      left: 4.9rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.annual .content p:nth-child(1) {
          top: 6.5rem;
          left: 1.6rem; } }
  main.data > section.architect .body .container section.satisfaction {
    border-right: 1px solid #fff; }
    main.data > section.architect .body .container section.satisfaction .content:before {
      background-image: url("../images/data/architect_satisfaction_dcor.png"); }
    main.data > section.architect .body .container section.satisfaction .content p:nth-child(1) {
      position: absolute;
      top: 7rem;
      left: 8.8rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.satisfaction .content p:nth-child(1) {
          top: 4.8rem;
          left: 10.4rem; } }
      main.data > section.architect .body .container section.satisfaction .content p:nth-child(1) .num {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 12rem;
        line-height: 100%;
        letter-spacing: -0.04em;
        color: #FFFFFF; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.satisfaction .content p:nth-child(1) .num {
            font-size: 8.8rem; } }
      main.data > section.architect .body .container section.satisfaction .content p:nth-child(1) .unit {
        font-weight: 700;
        font-size: 5.6rem;
        line-height: 4.4rem;
        letter-spacing: 0.09em;
        color: #FFFFFF; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.satisfaction .content p:nth-child(1) .unit {
            font-size: 2.8rem; } }
  main.data > section.architect .body .container section.partners .content:before {
    background-image: url("../images/data/architect_partners_dcor.png"); }
  main.data > section.architect .body .container section.partners .content p:nth-child(1) {
    position: absolute;
    top: 10.2rem;
    left: 7rem; }
    @media screen and (max-width: 1023px) {
      main.data > section.architect .body .container section.partners .content p:nth-child(1) {
        top: 6.5rem;
        left: 1.6rem; } }
  main.data > section.architect .body .container section.awards {
    flex: 0 0 100%; }
    main.data > section.architect .body .container section.awards .content {
      height: 20.2rem;
      padding: 6.6rem 4rem;
      display: flex;
      align-items: center;
      gap: .7rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.awards .content {
          height: 39.7rem;
          padding: 7.2rem 1.6rem 0;
          display: block; } }
      main.data > section.architect .body .container section.awards .content:before {
        content: "";
        background-image: url("../images/data/architect_awards_dcor.png");
        background-size: 100% 100%;
        display: block;
        width: 18rem;
        height: 18.1rem;
        position: absolute;
        top: 1rem;
        right: 1rem; }
      main.data > section.architect .body .container section.awards .content p:nth-child(1) {
        position: relative;
        font-weight: 700;
        font-size: 3.2rem;
        line-height: 4.4rem;
        letter-spacing: 0.09em;
        color: #FFFFFF; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.awards .content p:nth-child(1) {
            font-size: 2.8rem;
            line-height: 4.4rem;
            margin-bottom: .8rem; } }
      main.data > section.architect .body .container section.awards .content p:nth-child(2) {
        position: relative;
        font-weight: 700;
        font-size: 7.2rem;
        line-height: 4.4rem;
        letter-spacing: 0.09em;
        color: #FFFFFF; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.awards .content p:nth-child(2) {
            font-size: 7.2rem;
            line-height: 8rem;
            letter-spacing: 0; } }
  main.data > section.architect .body .container section.employees {
    flex: 0 0 100%; }
    main.data > section.architect .body .container section.employees .content {
      position: relative;
      padding: 2.4rem 2.4rem 4.2rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.employees .content {
          padding: 19.3rem 0 4rem; } }
      main.data > section.architect .body .container section.employees .content p:nth-child(1) {
        position: absolute;
        top: 6.6rem;
        left: 4.8rem;
        font-weight: 700;
        font-size: 2rem;
        line-height: 4.4rem;
        letter-spacing: 0.09em;
        color: #FFFFFF; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.employees .content p:nth-child(1) {
            position: absolute;
            top: 7rem;
            left: 1.6rem;
            font-size: 1.8rem;
            line-height: 3.6rem; } }
      main.data > section.architect .body .container section.employees .content p:nth-child(2) {
        position: absolute;
        top: 11.8rem;
        left: 4.8rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.employees .content p:nth-child(2) {
            top: 10.6rem;
            left: 1.6rem; } }
        main.data > section.architect .body .container section.employees .content p:nth-child(2) .num {
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 600;
          font-size: 12rem;
          line-height: 100%;
          letter-spacing: -0.04em;
          color: #FFFFFF;
          margin-top: .6rem; }
          @media screen and (max-width: 1023px) {
            main.data > section.architect .body .container section.employees .content p:nth-child(2) .num {
              font-size: 7.2rem;
              margin-top: 0; } }
        main.data > section.architect .body .container section.employees .content p:nth-child(2) .unit {
          font-weight: 700;
          font-size: 5.6rem;
          line-height: 4.4rem;
          letter-spacing: 0.09em;
          color: #FFFFFF; }
          @media screen and (max-width: 1023px) {
            main.data > section.architect .body .container section.employees .content p:nth-child(2) .unit {
              font-size: 2.8rem; } }
      main.data > section.architect .body .container section.employees .content p:nth-child(3) {
        position: absolute;
        top: 24.7rem;
        left: 4.8rem;
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3.8rem;
        color: #FFFFFF; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.employees .content p:nth-child(3) {
            top: 17.8rem;
            left: 1.6rem;
            font-size: 1.8rem;
            line-height: 3.6rem; } }
      main.data > section.architect .body .container section.employees .content .note {
        position: absolute;
        bottom: 1.8rem;
        left: 1.8rem;
        font-weight: 500;
        font-size: 1.2rem;
        line-height: 2.4rem;
        letter-spacing: .1rem;
        color: #FFFFFF; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.employees .content .note {
            bottom: 1.6rem;
            left: 1.6rem; } }
  main.data > section.architect .body .container section.generation,
  main.data > section.architect .body .container section.median,
  main.data > section.architect .body .container section.gender,
  main.data > section.architect .body .container section.recruit {
    flex: 0 0 calc(100% / 4); }
    @media screen and (max-width: 1023px) {
      main.data > section.architect .body .container section.generation,
      main.data > section.architect .body .container section.median,
      main.data > section.architect .body .container section.gender,
      main.data > section.architect .body .container section.recruit {
        flex: 0 0 calc(100% / 2); } }
    main.data > section.architect .body .container section.generation .content,
    main.data > section.architect .body .container section.median .content,
    main.data > section.architect .body .container section.gender .content,
    main.data > section.architect .body .container section.recruit .content {
      position: relative;
      height: 32.2rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.generation .content,
        main.data > section.architect .body .container section.median .content,
        main.data > section.architect .body .container section.gender .content,
        main.data > section.architect .body .container section.recruit .content {
          height: 25.6rem; } }
      main.data > section.architect .body .container section.generation .content .note,
      main.data > section.architect .body .container section.median .content .note,
      main.data > section.architect .body .container section.gender .content .note,
      main.data > section.architect .body .container section.recruit .content .note {
        position: absolute;
        left: 1.8rem;
        bottom: 1.8rem;
        font-weight: 500;
        font-size: 1.2rem;
        line-height: 2.4rem;
        letter-spacing: .1rem;
        color: #FFFFFF; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.generation .content .note,
          main.data > section.architect .body .container section.median .content .note,
          main.data > section.architect .body .container section.gender .content .note,
          main.data > section.architect .body .container section.recruit .content .note {
            line-height: 1.8rem;
            bototm: 1.6rem;
            left: 1.6rem;
            right: 1.6rem; } }
  main.data > section.architect .body .container section.generation {
    border-right: 1px solid #fff; }
    main.data > section.architect .body .container section.generation .content {
      padding: 5.4rem 1.3rem 0; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.generation .content {
          padding: 5.7rem 0 0; } }
  main.data > section.architect .body .container section.median {
    border-right: 1px solid #fff; }
    main.data > section.architect .body .container section.median .content:before {
      content: "";
      position: absolute;
      top: 1rem;
      right: 1rem;
      width: 15rem;
      height: 15rem;
      display: block;
      background-size: 100% 100%;
      background-image: url("../images/data/architect_median_decor.png"); }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.median .content:before {
          top: 5.4rem;
          width: 9.4rem;
          height: 9.4rem; } }
    main.data > section.architect .body .container section.median .content p:nth-child(1) {
      position: absolute;
      top: 9.5rem;
      left: 5.8rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.median .content p:nth-child(1) {
          top: 8.3rem;
          left: 3.3rem; } }
      main.data > section.architect .body .container section.median .content p:nth-child(1) .num {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 12rem;
        line-height: 100%;
        letter-spacing: -0.04em;
        color: #FFFFFF;
        margin-right: .6rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.median .content p:nth-child(1) .num {
            font-size: 7.2rem; } }
      main.data > section.architect .body .container section.median .content p:nth-child(1) .unit {
        font-weight: 700;
        font-size: 5.6rem;
        line-height: 4.4rem;
        letter-spacing: 0.09em;
        color: #FFFFFF; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.median .content p:nth-child(1) .unit {
            font-size: 2.8rem; } }
    main.data > section.architect .body .container section.median .content p:nth-child(2) {
      position: absolute;
      top: 20.9rem;
      left: 2.6rem;
      font-weight: 700;
      font-size: 1.6rem;
      line-height: 3.8rem;
      text-align: center;
      color: #FFFFFF; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.median .content p:nth-child(2) {
          top: 14.8rem;
          left: 4.1rem;
          font-size: 1.2rem;
          line-height: 1.8rem; } }
  main.data > section.architect .body .container section.gender {
    border-right: 1px solid #fff; }
    main.data > section.architect .body .container section.gender .content {
      padding: 5.4rem 1.3rem 0; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.gender .content {
          padding: 5.4rem 0 0; } }
  main.data > section.architect .body .container section.recruit .content {
    padding: 5.4rem 1.3rem 0; }
    @media screen and (max-width: 1023px) {
      main.data > section.architect .body .container section.recruit .content {
        padding: 5.4rem 0 0; } }
  main.data > section.architect .body .container section.newpromotion,
  main.data > section.architect .body .container section.productivity,
  main.data > section.architect .body .container section.humanities {
    flex: 0 0 calc(100% / 3); }
    @media screen and (max-width: 1023px) {
      main.data > section.architect .body .container section.newpromotion,
      main.data > section.architect .body .container section.productivity,
      main.data > section.architect .body .container section.humanities {
        flex: 0 0 calc(100%); } }
    main.data > section.architect .body .container section.newpromotion .content,
    main.data > section.architect .body .container section.productivity .content,
    main.data > section.architect .body .container section.humanities .content {
      position: relative;
      height: 24.9rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.newpromotion .content,
        main.data > section.architect .body .container section.productivity .content,
        main.data > section.architect .body .container section.humanities .content {
          height: 17.6rem; } }
      main.data > section.architect .body .container section.newpromotion .content:before,
      main.data > section.architect .body .container section.productivity .content:before,
      main.data > section.architect .body .container section.humanities .content:before {
        content: "";
        position: absolute;
        top: 1rem;
        right: 1rem;
        width: 15rem;
        height: 15rem;
        display: block;
        background-size: 100% 100%; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.newpromotion .content:before,
          main.data > section.architect .body .container section.productivity .content:before,
          main.data > section.architect .body .container section.humanities .content:before {
            top: .8rem;
            right: .8rem;
            width: 14rem; } }
      main.data > section.architect .body .container section.newpromotion .content P:nth-child(1),
      main.data > section.architect .body .container section.productivity .content P:nth-child(1),
      main.data > section.architect .body .container section.humanities .content P:nth-child(1) {
        position: absolute;
        top: 8.7rem;
        left: 0;
        right: 0;
        text-align: center; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.newpromotion .content P:nth-child(1),
          main.data > section.architect .body .container section.productivity .content P:nth-child(1),
          main.data > section.architect .body .container section.humanities .content P:nth-child(1) {
            top: 4.8rem; } }
        main.data > section.architect .body .container section.newpromotion .content P:nth-child(1) .num,
        main.data > section.architect .body .container section.productivity .content P:nth-child(1) .num,
        main.data > section.architect .body .container section.humanities .content P:nth-child(1) .num {
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 600;
          font-size: 12rem;
          line-height: 100%;
          letter-spacing: -0.04em;
          color: #FFFFFF; }
          @media screen and (max-width: 1023px) {
            main.data > section.architect .body .container section.newpromotion .content P:nth-child(1) .num,
            main.data > section.architect .body .container section.productivity .content P:nth-child(1) .num,
            main.data > section.architect .body .container section.humanities .content P:nth-child(1) .num {
              font-size: 8.8rem; } }
        main.data > section.architect .body .container section.newpromotion .content P:nth-child(1) .unit,
        main.data > section.architect .body .container section.productivity .content P:nth-child(1) .unit,
        main.data > section.architect .body .container section.humanities .content P:nth-child(1) .unit {
          font-weight: 700;
          font-size: 5.6rem;
          line-height: 4.4rem;
          letter-spacing: 0.09em;
          color: #FFFFFF; }
          @media screen and (max-width: 1023px) {
            main.data > section.architect .body .container section.newpromotion .content P:nth-child(1) .unit,
            main.data > section.architect .body .container section.productivity .content P:nth-child(1) .unit,
            main.data > section.architect .body .container section.humanities .content P:nth-child(1) .unit {
              font-size: 2.8rem; } }
      main.data > section.architect .body .container section.newpromotion .content .note,
      main.data > section.architect .body .container section.productivity .content .note,
      main.data > section.architect .body .container section.humanities .content .note {
        position: absolute;
        left: 1.8rem;
        bottom: 1.8rem;
        font-weight: 500;
        font-size: 1.2rem;
        line-height: 2.4rem;
        letter-spacing: .1rem;
        color: #FFFFFF; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.newpromotion .content .note,
          main.data > section.architect .body .container section.productivity .content .note,
          main.data > section.architect .body .container section.humanities .content .note {
            line-height: 1.8rem;
            bototm: 1.6rem;
            left: 1.6rem;
            right: 1.6rem; } }
  main.data > section.architect .body .container section.newpromotion {
    border-right: 1px solid #fff; }
    @media screen and (max-width: 1023px) {
      main.data > section.architect .body .container section.newpromotion {
        border-right: none; } }
    main.data > section.architect .body .container section.newpromotion .content {
      /*
      p:nth-child(1) {
      	position: absolute;
      	top: 7.1rem;
      	left: 8.7rem;
      	@include tablet {
      		top: 4.8rem;
      		left: 8.1rem;
      	}
      }
      */ }
      main.data > section.architect .body .container section.newpromotion .content:before {
        background-image: url("../images/data/architect_newpromotion_dcor.png"); }
  main.data > section.architect .body .container section.productivity {
    border-right: 1px solid #fff; }
    @media screen and (max-width: 1023px) {
      main.data > section.architect .body .container section.productivity {
        border-right: none; } }
    main.data > section.architect .body .container section.productivity .content {
      /*
      p:nth-child(1) {
      	position: absolute;
      	top: 8.2rem;
      	left: 7.7rem;
      	@include tablet {
      		top: 4.8rem;
      		left: 10.5rem;
      	}
      }
      */ }
      main.data > section.architect .body .container section.productivity .content:before {
        background-image: url("../images/data/architect_productivity_dcor.png"); }
  @media screen and (max-width: 1023px) {
    main.data > section.architect .body .container section.humanities {
      border-right: none; } }
  main.data > section.architect .body .container section.humanities .content {
    /*
    p:nth-child(1) {
    	position: absolute;
    	top: 8.2rem;
    	left: 7.7rem;
    	@include tablet {
    		top: 4.8rem;
    		left: 10.5rem;
    	}
    }
    */ }
    main.data > section.architect .body .container section.humanities .content:before {
      background-image: url("../images/data/architect_humanities_dcor.png"); }
  main.data > section.architect .body .container section.age {
    flex: 0 0 100%; }
    main.data > section.architect .body .container section.age .content {
      padding: 2.4rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.age .content {
          padding: 4.8rem 0 3.2rem; } }
  main.data > section.architect .body .container section.starting {
    flex: 0 0 calc(100% / 3 * 2);
    border-right: 1px solid #fff; }
    @media screen and (max-width: 1023px) {
      main.data > section.architect .body .container section.starting {
        flex: 0 0 100%; } }
    main.data > section.architect .body .container section.starting .content {
      position: relative;
      height: 24.8rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.starting .content {
          height: 20.3rem; } }
      main.data > section.architect .body .container section.starting .content:before {
        content: "";
        position: absolute;
        top: 1rem;
        right: 1rem;
        width: 15rem;
        height: 15rem;
        display: block;
        background-size: 100% 100%; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.starting .content:before {
            top: .8rem;
            right: .8rem;
            width: 14rem; } }
      main.data > section.architect .body .container section.starting .content .num {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 100%;
        letter-spacing: -0.04em;
        color: #FFFFFF;
        margin-right: .4rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.starting .content .num {
            font-size: 6.4rem; } }
      main.data > section.architect .body .container section.starting .content .unit {
        font-weight: 700;
        font-size: 4rem;
        line-height: 4.4rem;
        letter-spacing: 0.09em;
        color: #FFFFFF; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.starting .content .unit {
            font-size: 2.8rem; } }
      main.data > section.architect .body .container section.starting .content .note {
        position: absolute;
        left: 1.8rem;
        bottom: 1.8rem;
        font-weight: 500;
        font-size: 1.2rem;
        line-height: 2.4rem;
        letter-spacing: 1px;
        color: #FFFFFF; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.starting .content .note {
            left: 1.6rem;
            bottom: 1.6rem; } }
    main.data > section.architect .body .container section.starting .content:before {
      background-image: url("../images/data/architect_starting_dcor.png"); }
    main.data > section.architect .body .container section.starting .content ul {
      position: absolute;
      top: 6.3rem;
      left: 5.2rem;
      height: 11.3rem;
      display: flex; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.starting .content ul {
          top: 4.9rem;
          left: 2.1rem;
          height: 6.6rem; } }
      main.data > section.architect .body .container section.starting .content ul li {
        position: relative;
        height: 11.3rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.starting .content ul li {
            height: 9.9rem; } }
        main.data > section.architect .body .container section.starting .content ul li p:nth-child(1) {
          position: absolute;
          top: -1rem;
          left: 0;
          font-weight: 700;
          font-size: 2.4rem;
          line-height: 3rem;
          color: #FFFFFF; }
          @media screen and (max-width: 1023px) {
            main.data > section.architect .body .container section.starting .content ul li p:nth-child(1) {
              top: -1.6rem;
              font-size: 1.4rem;
              line-height: 4.4rem; } }
        main.data > section.architect .body .container section.starting .content ul li p:nth-child(2) {
          position: absolute;
          top: 2.3rem; }
          @media screen and (max-width: 1023px) {
            main.data > section.architect .body .container section.starting .content ul li p:nth-child(2) {
              top: 1.8rem; } }
        main.data > section.architect .body .container section.starting .content ul li:nth-child(1) {
          border-right: 1px dashed #fff;
          width: 35.7rem; }
          @media screen and (max-width: 1023px) {
            main.data > section.architect .body .container section.starting .content ul li:nth-child(1) {
              width: 15.1rem; } }
          main.data > section.architect .body .container section.starting .content ul li:nth-child(1) p:nth-child(3) {
            position: absolute;
            top: 5rem;
            left: 21.3rem;
            display: flex;
            gap: .8rem;
            color: #FFFFFF; }
            @media screen and (max-width: 1023px) {
              main.data > section.architect .body .container section.starting .content ul li:nth-child(1) p:nth-child(3) {
                top: 7.2rem;
                left: 0;
                gap: .1rem; } }
            main.data > section.architect .body .container section.starting .content ul li:nth-child(1) p:nth-child(3) span {
              font-weight: 700;
              font-size: 2.4rem;
              line-height: 3.1rem; }
              @media screen and (max-width: 1023px) {
                main.data > section.architect .body .container section.starting .content ul li:nth-child(1) p:nth-child(3) span {
                  font-size: 1.8rem;
                  line-height: 3.6rem; } }
              main.data > section.architect .body .container section.starting .content ul li:nth-child(1) p:nth-child(3) span:nth-child(2) {
                width: 10rem; }
                @media screen and (max-width: 1023px) {
                  main.data > section.architect .body .container section.starting .content ul li:nth-child(1) p:nth-child(3) span:nth-child(2) {
                    width: auto; } }
        main.data > section.architect .body .container section.starting .content ul li:nth-child(2) {
          margin-left: 2.4rem;
          width: 20rem; }
          @media screen and (max-width: 1023px) {
            main.data > section.architect .body .container section.starting .content ul li:nth-child(2) {
              width: 16rem; } }
  main.data > section.architect .body .container section.license,
  main.data > section.architect .body .container section.passrate,
  main.data > section.architect .body .container section.salary,
  main.data > section.architect .body .container section.promotion,
  main.data > section.architect .body .container section.bonus,
  main.data > section.architect .body .container section.holiday,
  main.data > section.architect .body .container section.health,
  main.data > section.architect .body .container section.stress {
    flex: 0 0 calc(100% / 3); }
    @media screen and (max-width: 1023px) {
      main.data > section.architect .body .container section.license,
      main.data > section.architect .body .container section.passrate,
      main.data > section.architect .body .container section.salary,
      main.data > section.architect .body .container section.promotion,
      main.data > section.architect .body .container section.bonus,
      main.data > section.architect .body .container section.holiday,
      main.data > section.architect .body .container section.health,
      main.data > section.architect .body .container section.stress {
        flex: 0 0 100%; } }
    main.data > section.architect .body .container section.license .content,
    main.data > section.architect .body .container section.passrate .content,
    main.data > section.architect .body .container section.salary .content,
    main.data > section.architect .body .container section.promotion .content,
    main.data > section.architect .body .container section.bonus .content,
    main.data > section.architect .body .container section.holiday .content,
    main.data > section.architect .body .container section.health .content,
    main.data > section.architect .body .container section.stress .content {
      position: relative;
      height: 24.8rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.license .content,
        main.data > section.architect .body .container section.passrate .content,
        main.data > section.architect .body .container section.salary .content,
        main.data > section.architect .body .container section.promotion .content,
        main.data > section.architect .body .container section.bonus .content,
        main.data > section.architect .body .container section.holiday .content,
        main.data > section.architect .body .container section.health .content,
        main.data > section.architect .body .container section.stress .content {
          height: 17.6rem; } }
      main.data > section.architect .body .container section.license .content:before,
      main.data > section.architect .body .container section.passrate .content:before,
      main.data > section.architect .body .container section.salary .content:before,
      main.data > section.architect .body .container section.promotion .content:before,
      main.data > section.architect .body .container section.bonus .content:before,
      main.data > section.architect .body .container section.holiday .content:before,
      main.data > section.architect .body .container section.health .content:before,
      main.data > section.architect .body .container section.stress .content:before {
        content: "";
        position: absolute;
        top: 1rem;
        right: 1rem;
        width: 15rem;
        height: 15rem;
        display: block;
        background-size: 100% 100%; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.license .content:before,
          main.data > section.architect .body .container section.passrate .content:before,
          main.data > section.architect .body .container section.salary .content:before,
          main.data > section.architect .body .container section.promotion .content:before,
          main.data > section.architect .body .container section.bonus .content:before,
          main.data > section.architect .body .container section.holiday .content:before,
          main.data > section.architect .body .container section.health .content:before,
          main.data > section.architect .body .container section.stress .content:before {
            top: .8rem;
            right: .8rem;
            width: 14rem; } }
      main.data > section.architect .body .container section.license .content .num,
      main.data > section.architect .body .container section.passrate .content .num,
      main.data > section.architect .body .container section.salary .content .num,
      main.data > section.architect .body .container section.promotion .content .num,
      main.data > section.architect .body .container section.bonus .content .num,
      main.data > section.architect .body .container section.holiday .content .num,
      main.data > section.architect .body .container section.health .content .num,
      main.data > section.architect .body .container section.stress .content .num {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 12rem;
        line-height: 100%;
        letter-spacing: -0.04em;
        color: #FFFFFF;
        margin-right: .4rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.license .content .num,
          main.data > section.architect .body .container section.passrate .content .num,
          main.data > section.architect .body .container section.salary .content .num,
          main.data > section.architect .body .container section.promotion .content .num,
          main.data > section.architect .body .container section.bonus .content .num,
          main.data > section.architect .body .container section.holiday .content .num,
          main.data > section.architect .body .container section.health .content .num,
          main.data > section.architect .body .container section.stress .content .num {
            font-size: 8.8rem; } }
      main.data > section.architect .body .container section.license .content .unit,
      main.data > section.architect .body .container section.passrate .content .unit,
      main.data > section.architect .body .container section.salary .content .unit,
      main.data > section.architect .body .container section.promotion .content .unit,
      main.data > section.architect .body .container section.bonus .content .unit,
      main.data > section.architect .body .container section.holiday .content .unit,
      main.data > section.architect .body .container section.health .content .unit,
      main.data > section.architect .body .container section.stress .content .unit {
        font-weight: 700;
        font-size: 5.6rem;
        line-height: 4.4rem;
        letter-spacing: 0.09em;
        color: #FFFFFF; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.license .content .unit,
          main.data > section.architect .body .container section.passrate .content .unit,
          main.data > section.architect .body .container section.salary .content .unit,
          main.data > section.architect .body .container section.promotion .content .unit,
          main.data > section.architect .body .container section.bonus .content .unit,
          main.data > section.architect .body .container section.holiday .content .unit,
          main.data > section.architect .body .container section.health .content .unit,
          main.data > section.architect .body .container section.stress .content .unit {
            font-size: 2.8rem; } }
      main.data > section.architect .body .container section.license .content .note,
      main.data > section.architect .body .container section.passrate .content .note,
      main.data > section.architect .body .container section.salary .content .note,
      main.data > section.architect .body .container section.promotion .content .note,
      main.data > section.architect .body .container section.bonus .content .note,
      main.data > section.architect .body .container section.holiday .content .note,
      main.data > section.architect .body .container section.health .content .note,
      main.data > section.architect .body .container section.stress .content .note {
        position: absolute;
        left: 1.8rem;
        bottom: 1.8rem;
        font-weight: 500;
        font-size: 1.2rem;
        line-height: 2.4rem;
        letter-spacing: 1px;
        color: #FFFFFF; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.license .content .note,
          main.data > section.architect .body .container section.passrate .content .note,
          main.data > section.architect .body .container section.salary .content .note,
          main.data > section.architect .body .container section.promotion .content .note,
          main.data > section.architect .body .container section.bonus .content .note,
          main.data > section.architect .body .container section.holiday .content .note,
          main.data > section.architect .body .container section.health .content .note,
          main.data > section.architect .body .container section.stress .content .note {
            left: 1.6rem;
            bottom: 1.6rem; } }
  main.data > section.architect .body .container section.license {
    border-right: 1px solid #fff; }
    @media screen and (max-width: 1023px) {
      main.data > section.architect .body .container section.license {
        border-right: none; } }
    main.data > section.architect .body .container section.license .content:before {
      background-image: url("../images/data/architect_license_dcor.png"); }
    main.data > section.architect .body .container section.license .content p:nth-child(1) {
      position: absolute;
      top: 5.2rem;
      left: 5.4rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.license .content p:nth-child(1) {
          top: 4.8rem;
          left: 4.5rem; } }
      main.data > section.architect .body .container section.license .content p:nth-child(1) > span:nth-child(1) {
        display: block;
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3.8rem;
        color: #FFFFFF;
        margin-bottom: -.3rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.license .content p:nth-child(1) > span:nth-child(1) {
            font-size: 1.8rem;
            line-height: 3.6rem;
            display: inline; } }
      main.data > section.architect .body .container section.license .content p:nth-child(1) > span:nth-child(2) {
        display: block;
        margin-bottom: -.9rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.license .content p:nth-child(1) > span:nth-child(2) {
            display: inline;
            margin-bottom: 0; } }
        main.data > section.architect .body .container section.license .content p:nth-child(1) > span:nth-child(2) .num {
          font-size: 10rem; }
          @media screen and (max-width: 1023px) {
            main.data > section.architect .body .container section.license .content p:nth-child(1) > span:nth-child(2) .num {
              font-size: 8.8rem; } }
        main.data > section.architect .body .container section.license .content p:nth-child(1) > span:nth-child(2) .unit {
          font-size: 4rem;
          line-height: 4.4rem; }
          @media screen and (max-width: 1023px) {
            main.data > section.architect .body .container section.license .content p:nth-child(1) > span:nth-child(2) .unit {
              font-size: 2.8rem; } }
      main.data > section.architect .body .container section.license .content p:nth-child(1) > span:nth-child(3) {
        display: block;
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3.8rem;
        color: #FFFFFF; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.license .content p:nth-child(1) > span:nth-child(3) {
            font-size: 1.8rem;
            line-height: 3.6rem;
            padding-left: 2.8rem;
            margin-top: -1.2rem; } }
  main.data > section.architect .body .container section.passrate {
    border-right: 1px solid #fff; }
    main.data > section.architect .body .container section.passrate .content:before {
      background-image: url("../images/data/architect_passrate_dcor.png"); }
    main.data > section.architect .body .container section.passrate .content p:nth-child(1) {
      position: absolute;
      top: 8.2rem;
      left: 9rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.passrate .content p:nth-child(1) {
          top: 4.8rem;
          left: 10.5rem; } }
  @media screen and (max-width: 1023px) {
    main.data > section.architect .body .container section.promotion {
      border-right: none; } }
  main.data > section.architect .body .container section.promotion .content:before {
    background-image: url("../images/data/architect_promotion_dcor.png"); }
  main.data > section.architect .body .container section.promotion .content div {
    position: absolute;
    top: 4.9rem;
    left: 7.4rem;
    width: 23.6rem; }
    @media screen and (max-width: 1023px) {
      main.data > section.architect .body .container section.promotion .content div {
        top: 3.2rem;
        left: 7.4rem;
        width: 19.6rem; } }
    main.data > section.architect .body .container section.promotion .content div p:nth-child(1) {
      display: flex;
      gap: .1rem;
      justify-content: center;
      align-items: baseline; }
      main.data > section.architect .body .container section.promotion .content div p:nth-child(1) span:nth-child(1),
      main.data > section.architect .body .container section.promotion .content div p:nth-child(1) span:nth-child(3) {
        font-weight: 700;
        font-size: 5.6rem;
        line-height: 4.4rem;
        letter-spacing: 0.09em;
        color: #FFFFFF; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.promotion .content div p:nth-child(1) span:nth-child(1),
          main.data > section.architect .body .container section.promotion .content div p:nth-child(1) span:nth-child(3) {
            font-size: 2.8rem; } }
      main.data > section.architect .body .container section.promotion .content div p:nth-child(1) span:nth-child(2) {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 12rem;
        line-height: 100%;
        letter-spacing: -0.04em;
        color: #FFFFFF; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.promotion .content div p:nth-child(1) span:nth-child(2) {
            font-size: 8.8rem; } }
    main.data > section.architect .body .container section.promotion .content div ul {
      display: flex;
      padding-top: .8rem;
      border-top: 1px dashed #fff; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.promotion .content div ul {
          padding-top: .6rem; } }
      main.data > section.architect .body .container section.promotion .content div ul li {
        flex: 0 0 25%;
        border-left: 1px dashed #fff;
        text-align: center;
        height: 3.3rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.promotion .content div ul li {
            height: 2.8rem; } }
        main.data > section.architect .body .container section.promotion .content div ul li:first-child {
          border-left: none; }
        main.data > section.architect .body .container section.promotion .content div ul li span:nth-child(1) {
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 600;
          font-size: 3.2rem;
          line-height: 100%;
          letter-spacing: -0.04em;
          color: #FFFFFF;
          margin: 0; }
          @media screen and (max-width: 1023px) {
            main.data > section.architect .body .container section.promotion .content div ul li span:nth-child(1) {
              font-size: 2.8rem; } }
        main.data > section.architect .body .container section.promotion .content div ul li span:nth-child(2) {
          font-weight: 700;
          font-size: 1.6rem;
          line-height: 4.4rem;
          letter-spacing: 0.09em;
          color: #FFFFFF;
          margin: 0; }
          @media screen and (max-width: 1023px) {
            main.data > section.architect .body .container section.promotion .content div ul li span:nth-child(2) {
              font-size: 1.4rem; } }
  main.data > section.architect .body .container section.salary {
    border-right: 1px solid #fff; }
    main.data > section.architect .body .container section.salary .content:before {
      background-image: url("../images/data/architect_salary_dcor.png"); }
    main.data > section.architect .body .container section.salary .content p:nth-child(1) {
      position: absolute;
      top: 7.1rem;
      left: 2.4rem;
      font-weight: 700;
      font-size: 1.6rem;
      line-height: 2.4rem;
      color: #FFFFFF; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.salary .content p:nth-child(1) {
          top: 4.2rem;
          left: 3rem; } }
    main.data > section.architect .body .container section.salary .content dl {
      position: absolute;
      top: 10.7rem;
      left: 2.4rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.salary .content dl {
          top: 7.1rem;
          left: 3rem; } }
      main.data > section.architect .body .container section.salary .content dl dt {
        font-weight: 700;
        font-size: 1.6rem;
        line-height: 1.8rem;
        color: #FFFFFF;
        float: left;
        display: flex;
        align-items: center;
        width: 4.5rem;
        height: 3.6rem;
        position: relative;
        top: .8rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.salary .content dl dt {
            font-size: 1.4rem;
            line-height: 1.6rem;
            width: 3.6rem;
            height: 3.2rem; } }
      main.data > section.architect .body .container section.salary .content dl dd {
        border-top: 1px dashed #fff;
        padding-left: 4.5rem;
        padding-top: .8rem;
        padding-bottom: .4rem;
        width: 33.6rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.salary .content dl dd {
            padding-left: 1rem;
            width: 28.3rem; } }
        main.data > section.architect .body .container section.salary .content dl dd span:nth-child(1) {
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 600;
          font-size: 3.2rem;
          line-height: 100%;
          letter-spacing: -0.04em;
          color: #FFFFFF; }
          @media screen and (max-width: 1023px) {
            main.data > section.architect .body .container section.salary .content dl dd span:nth-child(1) {
              font-size: 2.8rem; } }
        main.data > section.architect .body .container section.salary .content dl dd span:nth-child(2) {
          font-weight: 700;
          font-size: 2rem;
          line-height: 4.4rem;
          letter-spacing: 0.09em;
          color: #FFFFFF;
          margin-left: .2rem; }
          @media screen and (max-width: 1023px) {
            main.data > section.architect .body .container section.salary .content dl dd span:nth-child(2) {
              font-size: 1.8rem;
              line-height: 1; } }
        main.data > section.architect .body .container section.salary .content dl dd span:nth-child(3) {
          font-weight: 700;
          font-size: 1.6rem;
          line-height: 2.4rem;
          color: #FFFFFF;
          margin-left: .8rem; }
          @media screen and (max-width: 1023px) {
            main.data > section.architect .body .container section.salary .content dl dd span:nth-child(3) {
              font-size: 1.4rem;
              line-height: 1; } }
    main.data > section.architect .body .container section.salary .content .note {
      position: absolute;
      bottom: 1rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.salary .content .note {
          bottom: .6rem; } }
  main.data > section.architect .body .container section.bonus .content:before {
    background-image: url("../images/data/architect_bonus_dcor.png"); }
  main.data > section.architect .body .container section.bonus .content p:nth-child(1) {
    position: absolute;
    top: 8.2rem;
    left: 9.6rem;
    display: flex;
    align-items: baseline;
    gap: .5rem; }
    @media screen and (max-width: 1023px) {
      main.data > section.architect .body .container section.bonus .content p:nth-child(1) {
        top: 6rem;
        left: 11.8rem; } }
    main.data > section.architect .body .container section.bonus .content p:nth-child(1) > span:nth-child(1) {
      position: relative;
      top: -6.8rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.bonus .content p:nth-child(1) > span:nth-child(1) {
          top: 0;
          position: static; } }
      main.data > section.architect .body .container section.bonus .content p:nth-child(1) > span:nth-child(1) > span:nth-child(1) {
        display: block;
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3.8rem;
        color: #FFFFFF;
        margin-bottom: .8rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.bonus .content p:nth-child(1) > span:nth-child(1) > span:nth-child(1) {
            position: absolute;
            top: -3.2rem;
            left: 3.6rem; } }
      main.data > section.architect .body .container section.bonus .content p:nth-child(1) > span:nth-child(1) > span:nth-child(2) {
        display: block;
        font-weight: 700;
        font-size: 5.6rem;
        line-height: 4.4rem;
        letter-spacing: 0.09em;
        color: #FFFFFF; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.bonus .content p:nth-child(1) > span:nth-child(1) > span:nth-child(2) {
            font-size: 2.8rem; } }
    main.data > section.architect .body .container section.bonus .content p:nth-child(1) > span:nth-child(2) {
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 12rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #FFFFFF; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.bonus .content p:nth-child(1) > span:nth-child(2) {
          font-size: 8.8rem; } }
    main.data > section.architect .body .container section.bonus .content p:nth-child(1) > span:nth-child(3) {
      font-weight: 700;
      font-size: 5.6rem;
      line-height: 4.4rem;
      letter-spacing: 0.09em;
      color: #FFFFFF; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.bonus .content p:nth-child(1) > span:nth-child(3) {
          font-size: 2.8rem; } }
  main.data > section.architect .body .container section.holiday {
    border-right: 1px solid #fff; }
    main.data > section.architect .body .container section.holiday .content {
      /*
      ul {
      	position: absolute;
      	top: 15.7rem;
      	left: 2.4rem;
      	font-weight: 700;
      	font-size: 1.6rem;
      	line-height: 2.4rem;
      	color: #FFFFFF;
      	@include tablet {
      		top: 9.7rem;
      		font-size: 1.4rem;
      	}
      }
      .note {
      	position: absolute;
      	bottom: 1rem;
      	right: 2.4rem;
      	left: auto;
      	@include tablet {
      		bottom: .6rem;
      		right: 2.4rem;								
      	}
      }
      */ }
      main.data > section.architect .body .container section.holiday .content:before {
        background-image: url("../images/data/architect_holiday_dcor.png"); }
      main.data > section.architect .body .container section.holiday .content p:nth-child(1) {
        position: absolute;
        top: 7.2rem;
        left: 9.2rem; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.holiday .content p:nth-child(1) {
            top: 4.8rem;
            left: 10.5rem; } }
      main.data > section.architect .body .container section.holiday .content .note {
        line-height: 1.5; }
  main.data > section.architect .body .container section.health {
    border-right: 1px solid #fff; }
    main.data > section.architect .body .container section.health .content:before {
      background-image: url("../images/data/architect_health_dcor.png"); }
    main.data > section.architect .body .container section.health .content p:nth-child(1) {
      position: absolute;
      top: 7.2rem;
      left: 6.9rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.health .content p:nth-child(1) {
          top: 4.8rem;
          left: 8.9rem; } }
  main.data > section.architect .body .container section.stress .content:before {
    background-image: url("../images/data/architect_stress_dcor.png"); }
  main.data > section.architect .body .container section.stress .content p:nth-child(1) {
    position: absolute;
    top: 7.2rem;
    left: 6.9rem; }
    @media screen and (max-width: 1023px) {
      main.data > section.architect .body .container section.stress .content p:nth-child(1) {
        top: 4.8rem;
        left: 8.9rem; } }
  main.data > section.architect .body .container section.bootcamp {
    flex: 0 0 100%; }
    @media screen and (max-width: 1023px) {
      main.data > section.architect .body .container section.bootcamp {
        flex: 0 0 100%; } }
    main.data > section.architect .body .container section.bootcamp .content {
      position: relative;
      height: 24.8rem; }
      @media screen and (max-width: 1023px) {
        main.data > section.architect .body .container section.bootcamp .content {
          height: 46.2rem;
          padding: 1rem 0; } }
      main.data > section.architect .body .container section.bootcamp .content ul {
        position: absolute;
        top: 5.9rem;
        height: 13.2rem;
        left: 0;
        right: 0;
        display: flex; }
        @media screen and (max-width: 1023px) {
          main.data > section.architect .body .container section.bootcamp .content ul {
            display: block;
            position: relative;
            top: auto;
            left: auto;
            right: auto;
            padding: 0 1.8rem; } }
        main.data > section.architect .body .container section.bootcamp .content ul li {
          flex: 0 0 calc(100% / 3);
          position: relative;
          display: flex;
          justify-content: center;
          border-right: 1px dashed #fff; }
          @media screen and (max-width: 1023px) {
            main.data > section.architect .body .container section.bootcamp .content ul li {
              height: 14.8rem;
              border: none;
              border-bottom: 1px dashed #fff;
              padding-bottom: 4.5rem; } }
          main.data > section.architect .body .container section.bootcamp .content ul li:last-child {
            border: none; }
          main.data > section.architect .body .container section.bootcamp .content ul li:before {
            content: "";
            position: absolute;
            top: -4.9rem;
            right: 1rem;
            width: 15rem;
            height: 15rem;
            display: block;
            background-size: 100% 100%; }
            @media screen and (max-width: 1023px) {
              main.data > section.architect .body .container section.bootcamp .content ul li:before {
                top: .9rem;
                right: -.9rem;
                width: 14rem;
                height: 14rem; } }
          main.data > section.architect .body .container section.bootcamp .content ul li div {
            position: relative; }
            @media screen and (max-width: 1023px) {
              main.data > section.architect .body .container section.bootcamp .content ul li div {
                display: flex;
                justify-content: center;
                gap: .4rem;
                align-items: flex-end; } }
            main.data > section.architect .body .container section.bootcamp .content ul li div p:nth-child(1) {
              font-weight: 700;
              font-size: 2.4rem;
              line-height: 3.8rem;
              color: #FFFFFF;
              margin-top: -.6rem; }
              @media screen and (max-width: 1023px) {
                main.data > section.architect .body .container section.bootcamp .content ul li div p:nth-child(1) {
                  font-size: 1.5rem;
                  line-height: 1.5;
                  margin: 0;
                  position: relative;
                  top: -.7rem; } }
              @media screen and (max-width: 1023px) {
                main.data > section.architect .body .container section.bootcamp .content ul li div p:nth-child(1) span {
                  display: block; } }
            main.data > section.architect .body .container section.bootcamp .content ul li div p:nth-child(2) {
              margin-top: -.1rem; }
              main.data > section.architect .body .container section.bootcamp .content ul li div p:nth-child(2) .num {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 600;
                font-size: 11rem;
                line-height: 100%;
                letter-spacing: -0.04em;
                color: #FFFFFF;
                margin-right: .4rem; }
                @media screen and (max-width: 1023px) {
                  main.data > section.architect .body .container section.bootcamp .content ul li div p:nth-child(2) .num {
                    font-size: 7.2rem; } }
              main.data > section.architect .body .container section.bootcamp .content ul li div p:nth-child(2) .unit {
                font-weight: 700;
                font-size: 4.8rem;
                line-height: 4.4rem;
                letter-spacing: 0.09em;
                color: #FFFFFF; }
                @media screen and (max-width: 1023px) {
                  main.data > section.architect .body .container section.bootcamp .content ul li div p:nth-child(2) .unit {
                    font-size: 2.8rem; } }
          main.data > section.architect .body .container section.bootcamp .content ul li:nth-child(1):before {
            background-image: url("../images/data/architect_bootcamp_03_dcor.png"); }
          main.data > section.architect .body .container section.bootcamp .content ul li:nth-child(2):before {
            background-image: url("../images/data/architect_bootcamp_02_dcor.png"); }
          main.data > section.architect .body .container section.bootcamp .content ul li:nth-child(3):before {
            background-image: url("../images/data/architect_bootcamp_01_dcor.png"); }
          main.data > section.architect .body .container section.bootcamp .content ul li .note {
            position: absolute;
            left: 1.8rem;
            bottom: -4rem;
            font-weight: 500;
            font-size: 1.2rem;
            line-height: 2.4rem;
            letter-spacing: 1px;
            color: #FFFFFF; }
            @media screen and (max-width: 1023px) {
              main.data > section.architect .body .container section.bootcamp .content ul li .note {
                left: 0;
                bottom: 1.6rem; } }
main.data nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.data nav.cta {
      padding: 8rem 0 12rem; } }
  main.data nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.data nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.data nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.data nav.cta .container .copy {
          width: auto; } }
    main.data nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.data nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.data nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.data nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.data nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.data nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.data nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.data nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.data nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.data nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.data nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.data nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.data nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.data nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.data nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.data nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.data nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.data nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.data nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.data nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.data nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.data nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.data nav.other header {
        padding: 4rem 0 0; } }
    main.data nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.data nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.data nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.data nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.data nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.data nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.data nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.data nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.data nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.data nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.data nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.data nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.data nav.other .content ul li {
            flex: 0 0 100%; } }
        main.data nav.other .content ul li a {
          display: block; }
          main.data nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.data nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.data nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.data nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.data nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.data nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.data nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.data nav.other .content ul li:nth-child(4), main.data nav.other .content ul li:nth-child(5), main.data nav.other .content ul li:nth-child(6) {
            display: none; } }

main.system > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.system > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.system > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/system/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.system > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.system > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.system > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-system {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -46.4em 0;
    				}
    			}
    			background-image: url("../images/system/header_title_en.svg");
    //			background-size: 46.4rem 7.7rem;
    			background-size: 46.4em auto;
    			animation: header-title-en-system linear calc(46.4s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.system > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.system > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.system > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.system > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.system > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.system > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.system > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.system > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.system > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.system > header .scroll {
        font-size: calc(3rem /4); } }
main.system > .body {
  position: relative;
  background-color: #fff;
  display: flex;
  padding-bottom: 4rem; }
  @media screen and (max-width: 1023px) {
    main.system > .body {
      display: block; } }
  main.system > .body:after {
    content: "";
    background-image: url("../images/system/decor_text_black.svg");
    background-size: 9.9em auto;
    animation: decor-text-loop-system linear calc(9.9s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0; }
@keyframes decor-text-loop-system {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -9.9em 58%; } }
    @media screen and (max-width: 1023px) {
      main.system > .body:after {
        font-size: calc(3rem /4); } }
  main.system > .body nav.indicator {
    background-color: #F4F4F4;
    flex: 0 0 30rem;
    padding: 8.8rem 4.8rem 8.8rem 6.6rem; }
    @media screen and (max-width: 1023px) {
      main.system > .body nav.indicator {
        padding: 4rem 2.4rem 5.6rem; } }
    main.system > .body nav.indicator ul {
      position: sticky;
      top: 10rem;
      display: flex;
      flex-wrap: wrap;
      gap: 1.8rem; }
      @media screen and (max-width: 1023px) {
        main.system > .body nav.indicator ul {
          position: relative;
          top: auto;
          gap: 1.6rem; } }
      main.system > .body nav.indicator ul li {
        flex: 0 0 100%; }
        main.system > .body nav.indicator ul li a {
          position: relative;
          display: flex;
          align-items: center;
          font-style: normal;
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 2.0rem;
          letter-spacing: 0.09em;
          color: #000000;
          min-height: 4.4rem;
          padding: 1rem 2.4rem;
          border: 1px solid #000;
          border-radius: 9999px; }
          @media screen and (max-width: 1023px) {
            main.system > .body nav.indicator ul li a {
              height: auto;
              padding: 1.2rem 2rem; } }
          main.system > .body nav.indicator ul li a:after {
            content: "";
            -webkit-mask-image: url("../images/vision/nav_arrow.svg");
            mask-image: url("../images/vision/nav_arrow.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            display: block;
            width: 1.1rem;
            height: 1.1rem;
            position: absolute;
            right: 2rem;
            top: 50%;
            transform: translateY(-50%);
            background-color: #000; }
          main.system > .body nav.indicator ul li a.active {
            background-color: #000;
            color: #fff; }
            main.system > .body nav.indicator ul li a.active:after {
              background-color: #fff; }
  main.system > .body > .content {
    flex: 1;
    padding-top: 5rem;
    padding-bottom: 4rem; }
    @media screen and (max-width: 1023px) {
      main.system > .body > .content {
        padding-top: 0; } }
    main.system > .body > .content section {
      padding: 4rem 2rem 4rem 5rem; }
      @media screen and (max-width: 1023px) {
        main.system > .body > .content section {
          padding: 4rem 2.4rem 0 2.4rem; } }
      main.system > .body > .content section h2 {
        font-weight: 700;
        font-size: 4rem;
        letter-spacing: -0.05em;
        color: #FFFFFF;
        line-height: 5rem;
        height: 5rem;
        width: fit-content;
        padding: 0 .8rem;
        background-color: #000;
        margin-bottom: 4.8rem; }
        @media screen and (max-width: 1023px) {
          main.system > .body > .content section h2 {
            font-weight: 700;
            font-size: 3.2rem;
            line-height: 4.5rem;
            letter-spacing: -0.05em;
            padding: 0 .4rem;
            background-color: #000;
            color: #FFFFFF;
            margin-bottom: 3.2rem; } }
      main.system > .body > .content section ul {
        display: flex;
        flex-wrap: wrap;
        gap: 4rem 2rem; }
        main.system > .body > .content section ul li {
          flex: 0 0 calc((100% - 2rem) / 2); }
          @media screen and (max-width: 1023px) {
            main.system > .body > .content section ul li {
              flex: 0 0 100%; } }
          main.system > .body > .content section ul li figure {
            margin-bottom: 2.4rem; }
            @media screen and (max-width: 1023px) {
              main.system > .body > .content section ul li figure {
                margin-bottom: 1.6rem; } }
            main.system > .body > .content section ul li figure img {
              width: 100%;
              aspect-ratio: 890 / 498; }
          main.system > .body > .content section ul li .title {
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            padding-bottom: 1.4rem;
            border-bottom: 1px solid #000;
            margin-bottom: 1.4rem; }
            @media screen and (max-width: 1023px) {
              main.system > .body > .content section ul li .title {
                padding-bottom: 1.6rem;
                margin-bottom: 1.6rem; } }
          main.system > .body > .content section ul li .description {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: .1rem;
            color: #000000; }
main.system nav.indicator-popup {
  position: static;
  display: none; }
  @media screen and (max-width: 1023px) {
    main.system nav.indicator-popup {
      display: block; } }
  main.system nav.indicator-popup .toggle {
    position: fixed;
    right: 0;
    bottom: 4.8rem;
    z-index: 100;
    transform: translateX(100%);
    transition: all ease .3s; }
    main.system nav.indicator-popup .toggle button {
      position: relative;
      height: 4rem;
      background-color: #000;
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 1.6rem;
      line-height: 4rem;
      color: #FFFFFF;
      padding: 0 5.1rem 0 1.2rem !important; }
      main.system nav.indicator-popup .toggle button:before, main.system nav.indicator-popup .toggle button:after {
        content: "";
        display: block;
        width: 2.2rem;
        height: 1px;
        position: absolute;
        top: 50%;
        right: 1.8rem;
        background-color: #fff; }
      main.system nav.indicator-popup .toggle button:before {
        margin-top: -.3rem; }
      main.system nav.indicator-popup .toggle button:after {
        margin-top: .3rem; }
    main.system nav.indicator-popup .toggle.active + .dialog {
      pointer-events: auto;
      opacity: 1; }
  main.system nav.indicator-popup .dialog {
    position: fixed;
    z-index: 10000;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    pointer-events: none;
    transition: all ease .3s;
    opacity: 0;
    display: flex;
    justify-content: center;
    align-items: center; }
    main.system nav.indicator-popup .dialog .wrapper {
      position: relative;
      background-color: #fff;
      width: 34.2rem;
      padding: 3.2rem 2.4rem; }
      main.system nav.indicator-popup .dialog .wrapper .close {
        position: absolute;
        right: 0;
        bottom: 100%; }
        main.system nav.indicator-popup .dialog .wrapper .close button {
          position: relative;
          width: 5.6rem;
          height: 4rem;
          background-color: #fff;
          text-indent: -9999px;
          overflow: hidden; }
          main.system nav.indicator-popup .dialog .wrapper .close button:before, main.system nav.indicator-popup .dialog .wrapper .close button:after {
            content: "";
            position: absolute;
            top: 50%;
            left: calc(50% - 1.2rem);
            display: block;
            width: 2.4rem;
            height: 1px;
            background-color: #000; }
          main.system nav.indicator-popup .dialog .wrapper .close button:before {
            transform: rotate(20deg); }
          main.system nav.indicator-popup .dialog .wrapper .close button:after {
            transform: rotate(-20deg); }
      main.system nav.indicator-popup .dialog .wrapper ul {
        display: flex;
        flex-wrap: wrap;
        gap: 16px; }
        main.system nav.indicator-popup .dialog .wrapper ul li {
          flex: 0 0 100%; }
          main.system nav.indicator-popup .dialog .wrapper ul li a {
            position: relative;
            display: block;
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2rem;
            letter-spacing: 0.09em;
            color: #000;
            border: 1px solid #000;
            border-radius: 9999px;
            padding: 1.2rem 2rem; }
            main.system nav.indicator-popup .dialog .wrapper ul li a:after {
              content: "";
              -webkit-mask-image: url("../images/vision/nav_arrow.svg");
              mask-image: url("../images/vision/nav_arrow.svg");
              -webkit-mask-size: 100% 100%;
              mask-size: 100% 100%;
              display: block;
              width: 1.1rem;
              height: 1.1rem;
              position: absolute;
              right: 2rem;
              top: 50%;
              transform: translateY(-50%);
              background-color: #000; }
            main.system nav.indicator-popup .dialog .wrapper ul li a.active {
              background-color: #000;
              color: #fff; }
              main.system nav.indicator-popup .dialog .wrapper ul li a.active:after {
                background-color: #fff; }
  main.system nav.indicator-popup.on .toggle {
    transform: translateX(0); }
main.system section.interview {
  background-color: #fff; }
  main.system section.interview > header {
    border-bottom: .8rem solid #000; }
    @media screen and (max-width: 1023px) {
      main.system section.interview > header {
        border-bottom: .4rem solid #000; } }
    main.system section.interview > header .container {
      width: calc(100% - 6.6rem * 2);
      max-width: 115rem;
      margin: 0 auto;
      height: 18rem;
      display: flex;
      align-items: center; }
      @media screen and (max-width: 1023px) {
        main.system section.interview > header .container {
          width: calc(100% - 2.4rem * 2); } }
      @media screen and (max-width: 1023px) {
        main.system section.interview > header .container {
          height: 20rem; } }
      main.system section.interview > header .container h2 {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 100%;
        letter-spacing: -0.04em;
        color: #000000; }
        @media screen and (max-width: 1023px) {
          main.system section.interview > header .container h2 {
            font-size: 6.4rem;
            line-height: 100%; } }
  main.system section.interview article > header {
    position: relative; }
    main.system section.interview article > header:after {
      content: "";
      background-image: url("../images/system/decor_text_special_interview_white.svg");
      background-size: 19.1em auto;
      animation: decor-text-loop-special-interview linear calc(19.1s / 10) infinite;
      text-indent: -9999px;
      overflow: hidden;
      background-position: 0 58%;
      background-repeat: repeat-x;
      display: block;
      font-size: 1rem;
      height: 4em;
      border-top: 1px solid #fff;
      border-bottom: 1px solid #fff;
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0; }
@keyframes decor-text-loop-special-interview {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -19.1em 58%; } }
      @media screen and (max-width: 1023px) {
        main.system section.interview article > header:after {
          font-size: calc(3rem /4); } }
    @media screen and (max-width: 1023px) {
      main.system section.interview article > header figure img {
        height: 34rem;
        object-fit: cover; } }
    main.system section.interview article > header h3 {
      position: absolute;
      bottom: 10.9rem;
      left: 7.3rem; }
      @media screen and (max-width: 1023px) {
        main.system section.interview article > header h3 {
          left: 1.5rem;
          bottom: 4.6rem; } }
      main.system section.interview article > header h3 span {
        display: block;
        width: fit-content;
        font-style: normal;
        font-family: YakuHanJP, 'Noto Sans JP', san-serif;
        font-weight: 700;
        font-size: 6.4rem;
        line-height: 8rem;
        height: 8rem;
        letter-spacing: -0.05em;
        color: #FFFFFF;
        background-color: #000;
        padding: 0 1rem;
        margin-top: 1.2rem; }
        @media screen and (max-width: 1023px) {
          main.system section.interview article > header h3 span {
            font-size: 3.2rem;
            margin-top: .5rem;
            line-height: 4rem;
            height: 4rem;
            padding: 0 .4rem; } }
  main.system section.interview article section.intro {
    border-bottom: 1px solid #000; }
    main.system section.interview article section.intro .container {
      width: calc(100% - 6.6rem * 2);
      max-width: 115rem;
      margin: 0 auto;
      padding: 4.8rem 0; }
      @media screen and (max-width: 1023px) {
        main.system section.interview article section.intro .container {
          width: calc(100% - 2.4rem * 2); } }
      @media screen and (max-width: 1023px) {
        main.system section.interview article section.intro .container {
          padding: 2.4rem 0; } }
      main.system section.interview article section.intro .container p {
        font-weight: 700;
        font-size: 4rem;
        line-height: 5.8rem;
        letter-spacing: -0.05em; }
        @media screen and (max-width: 1023px) {
          main.system section.interview article section.intro .container p {
            font-size: 2.4rem;
            line-height: 3.5rem; } }
  main.system section.interview article section.profile {
    background-color: #fff;
    display: flex;
    gap: 4.8rem;
    padding: 6.4rem 5rem; }
    main.system section.interview article section.profile:has(.container) {
      display: block;
      padding: 0; }
    @media screen and (max-width: 1023px) {
      main.system section.interview article section.profile {
        display: block; } }
    main.system section.interview article section.profile:after {
      content: "";
      background-image: url("../images/system/decor_text_special_interview_black.svg");
      background-size: 19.1em auto;
      animation: decor-text-loop-special-interview linear calc(19.1s / 10) infinite;
      text-indent: -9999px;
      overflow: hidden;
      background-position: 0 58%;
      background-repeat: repeat-x;
      display: block;
      font-size: 1rem;
      height: 4em;
      border-top: 1px solid #000;
      border-bottom: 1px solid #000;
      background-color: #fff; }
@keyframes decor-text-loop-special-interview {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -19.1em 58%; } }
      @media screen and (max-width: 1023px) {
        main.system section.interview article section.profile:after {
          font-size: calc(3rem /4); } }
    main.system section.interview article section.profile .container {
      width: calc(100% - 6.6rem * 2);
      max-width: 115rem;
      margin: 0 auto;
      display: flex;
      gap: 4.8rem;
      padding: 6.4rem 0; }
      @media screen and (max-width: 1023px) {
        main.system section.interview article section.profile .container {
          width: calc(100% - 2.4rem * 2); } }
      @media screen and (max-width: 1023px) {
        main.system section.interview article section.profile .container {
          padding: 4rem 0;
          display: block; } }
    main.system section.interview article section.profile figure {
      flex: 0 0 35.5rem; }
      @media screen and (max-width: 1023px) {
        main.system section.interview article section.profile figure {
          margin-bottom: 2.4rem; } }
    main.system section.interview article section.profile .content {
      flex: 1; }
      main.system section.interview article section.profile .content .join {
        border: 1px solid #000;
        padding: .4rem;
        font-weight: 700;
        font-size: 1.4rem;
        line-height: 2rem;
        letter-spacing: 0.09em;
        color: #000000;
        width: fit-content;
        margin-bottom: 2.4rem; }
        @media screen and (max-width: 1023px) {
          main.system section.interview article section.profile .content .join {
            font-size: 1.2rem;
            line-height: 1.7rem;
            margin-bottom: 1.6rem; } }
      main.system section.interview article section.profile .content .profile,
      main.system section.interview article section.profile .content .job {
        font-weight: 700;
        font-size: 1.4rem;
        line-height: 2.4rem;
        letter-spacing: .1em;
        color: #000000;
        margin-bottom: 1.2rem; }
        @media screen and (max-width: 1023px) {
          main.system section.interview article section.profile .content .profile,
          main.system section.interview article section.profile .content .job {
            margin-bottom: .8rem; } }
      main.system section.interview article section.profile .content .name {
        margin-bottom: 2.4rem; }
        main.system section.interview article section.profile .content .name p:nth-child(1) {
          font-weight: 700;
          font-size: 2.4rem;
          line-height: 1.5;
          letter-spacing: 0.12em;
          color: #000000;
          margin-bottom: .4rem; }
        main.system section.interview article section.profile .content .name p:nth-child(2) {
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 500;
          font-size: 1.4rem;
          line-height: 2.8rem;
          letter-spacing: .1rem;
          color: #000000; }
          @media screen and (max-width: 1023px) {
            main.system section.interview article section.profile .content .name p:nth-child(2) {
              line-height: 1.5; } }
      main.system section.interview article section.profile .content .description {
        font-weight: 500;
        font-size: 1.4rem;
        line-height: 2.8rem;
        letter-spacing: .1rem;
        color: #000000; }
  main.system section.interview article .body {
    background-color: #fff; }
    main.system section.interview article .body:after {
      content: "";
      background-image: url("../images/system/decor_text_special_interview_black.svg");
      background-size: 19.1em auto;
      animation: decor-text-loop-special-interview linear calc(19.1s / 10) infinite;
      text-indent: -9999px;
      overflow: hidden;
      background-position: 0 58%;
      background-repeat: repeat-x;
      display: block;
      font-size: 1rem;
      height: 4em;
      border-top: 1px solid #000;
      border-bottom: 1px solid #000;
      background-color: #fff; }
@keyframes decor-text-loop-special-interview {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -19.1em 58%; } }
      @media screen and (max-width: 1023px) {
        main.system section.interview article .body:after {
          font-size: calc(3rem /4); } }
    main.system section.interview article .body section {
      display: flex;
      background-color: #CD32E2; }
      @media screen and (max-width: 1023px) {
        main.system section.interview article .body section {
          display: block; } }
      main.system section.interview article .body section + section {
        margin-top: -10rem; }
        @media screen and (max-width: 1023px) {
          main.system section.interview article .body section + section {
            margin-top: 0; } }
      main.system section.interview article .body section header {
        padding: 10rem 0 10rem 6rem;
        flex: 0 0 47.4rem;
        background-color: #CD32E2; }
        @media screen and (max-width: 1023px) {
          main.system section.interview article .body section header {
            padding: 4rem 0  2.4rem 2.4rem; } }
        main.system section.interview article .body section header h4 {
          position: sticky;
          top: 10rem;
          margin-bottom: 4.8rem; }
          @media screen and (max-width: 1023px) {
            main.system section.interview article .body section header h4 {
              position: static;
              margin-bottom: 2.4rem; } }
          main.system section.interview article .body section header h4 span {
            display: block;
            width: fit-content;
            padding: 0 .8rem;
            font-weight: 700;
            font-size: 4rem;
            line-height: 5.3rem;
            letter-spacing: -0.05em;
            color: #CD32E2;
            background-color: #D5FF32;
            margin-bottom: .9rem;
            position: relative;
            width: fit-content;
            transition: all ease .3s;
            clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
            main.system section.interview article .body section header h4 span:before {
              content: "";
              display: block;
              background-color: #FFAB0;
              position: absolute;
              top: 0;
              bottom: 0;
              left: 0;
              width: 100%;
              transition: all ease .3s .3s;
              transform-origin: 100% 0; }
            main.system section.interview article .body section header h4 span[data-inview-active] {
              clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
              main.system section.interview article .body section header h4 span[data-inview-active]:before {
                transform: scale(0, 1); }
            @media screen and (max-width: 1023px) {
              main.system section.interview article .body section header h4 span {
                font-size: 2.4rem;
                line-height: 3.18rem;
                padding: 0 .4rem;
                margin-bottom: .54rem; } }
        main.system section.interview article .body section header p {
          width: 34rem;
          font-weight: 700;
          font-size: 1.6rem;
          line-height: 3.2rem;
          letter-spacing: .3rem;
          color: #D5FF32; }
      main.system section.interview article .body section .content {
        background-color: #fff;
        flex: 1;
        padding: 10rem 6.7rem 10rem 9.7rem; }
        @media screen and (max-width: 1023px) {
          main.system section.interview article .body section .content {
            margin-left: 24px; } }
        @media screen and (max-width: 1023px) {
          main.system section.interview article .body section .content {
            padding: 2.4rem 2.4rem 5.6rem; } }
        main.system section.interview article .body section .content p {
          max-width: 52rem;
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 2.8rem;
          letter-spacing: .3rem;
          color: #000000;
          margin: 2.8rem 0; }
        main.system section.interview article .body section .content figure {
          margin: 8rem 0; }
        main.system section.interview article .body section .content *:first-child {
          margin-top: 0; }
        main.system section.interview article .body section .content *:last-child {
          margin-bottom: 0; }
main.system section.appeal {
  background-color: #CD32E2; }
  main.system section.appeal:after {
    content: "";
    background-image: url("../images/system/decor_text_black.svg");
    background-size: 9.9em auto;
    animation: decor-text-loop-system linear calc(9.9s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-system {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -9.9em 58%; } }
    @media screen and (max-width: 1023px) {
      main.system section.appeal:after {
        font-size: calc(3rem /4); } }
  main.system section.appeal .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 5.6rem 0; }
    @media screen and (max-width: 1023px) {
      main.system section.appeal .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.system section.appeal .container {
        padding: 4rem 0; } }
    main.system section.appeal .container p {
      font-family: YakuHanJP, 'Noto Sans JP', san-serif;
      font-weight: 700;
      font-size: 4rem;
      line-height: 5.8rem;
      letter-spacing: -0.05em;
      color: #D5FF32; }
      @media screen and (max-width: 1023px) {
        main.system section.appeal .container p {
          font-size: 2rem;
          line-height: 2.9rem; } }
      @media screen and (max-width: 1023px) {
        main.system section.appeal .container p br {
          display: none; } }
main.system nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.system nav.cta {
      padding: 8rem 0 12rem; } }
  main.system nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.system nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.system nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.system nav.cta .container .copy {
          width: auto; } }
    main.system nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.system nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.system nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.system nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.system nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.system nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.system nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.system nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.system nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.system nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.system nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.system nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.system nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.system nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.system nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.system nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.system nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.system nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.system nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.system nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.system nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.system nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.system nav.other header {
        padding: 4rem 0 0; } }
    main.system nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.system nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.system nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.system nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.system nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.system nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.system nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.system nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.system nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.system nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.system nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.system nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.system nav.other .content ul li {
            flex: 0 0 100%; } }
        main.system nav.other .content ul li a {
          display: block; }
          main.system nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.system nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.system nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.system nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.system nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.system nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.system nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.system nav.other .content ul li:nth-child(4), main.system nav.other .content ul li:nth-child(5), main.system nav.other .content ul li:nth-child(6) {
            display: none; } }

main.message > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.message > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.message > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/message/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.message > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.message > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.message > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-message {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -77.3em 0;
    				}
    			}
    			background-image: url("../images/message/header_title_en.svg");
    //			background-size: 77.3rem 7.7rem;
    			background-size: 77.3em auto;
    			animation: header-title-en-message linear calc(77.3s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.message > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.message > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.message > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.message > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.message > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.message > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.message > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.message > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.message > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.message > header .scroll {
        font-size: calc(3rem /4); } }
main.message section.message {
  position: relative;
  background-image: url("../images/message/message_bg.jpg");
  background-size: cover;
  background-position: 50% 50%;
  height: 73.2rem; }
  @media screen and (max-width: 1023px) {
    main.message section.message {
      height: 34rem; } }
  main.message section.message p {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 4rem;
    display: flex;
    justify-content: center;
    align-items: center; }
    @media screen and (max-width: 1023px) {
      main.message section.message p {
        bottom: 3rem; } }
    main.message section.message p img {
      width: 102.5rem; }
      @media screen and (max-width: 1023px) {
        main.message section.message p img {
          width: 34.2rem; } }
  main.message section.message:after {
    content: "";
    background-image: url("../images/message/decor_text_white.svg");
    background-size: 16.4em auto;
    animation: decor-text-loop-message linear calc(16.4s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0; }
@keyframes decor-text-loop-message {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -16.4em 58%; } }
    @media screen and (max-width: 1023px) {
      main.message section.message:after {
        font-size: calc(3rem /4); } }
main.message .body {
  background-color: #fff; }
  main.message .body section {
    background-color: #fff;
    /*
    &:after {
    	@include common-decor-text($page: "message");
    }
    */ }
    main.message .body section:after {
      content: "";
      background-image: url("../images/message/decor_text_black.svg");
      background-size: 16.4em auto;
      animation: decor-text-loop-message linear calc(16.4s / 10) infinite;
      text-indent: -9999px;
      overflow: hidden;
      background-position: 0 58%;
      background-repeat: repeat-x;
      display: block;
      font-size: 1rem;
      height: 4em;
      border-top: 1px solid #000;
      border-bottom: 1px solid #000;
      background-color: #fff; }
@keyframes decor-text-loop-message {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -16.4em 58%; } }
      @media screen and (max-width: 1023px) {
        main.message .body section:after {
          font-size: calc(3rem /4); } }
    main.message .body section .container {
      width: calc(100% - 6.6rem * 2);
      max-width: 115rem;
      margin: 0 auto;
      padding: 9.1rem 0 8rem; }
      @media screen and (max-width: 1023px) {
        main.message .body section .container {
          width: calc(100% - 2.4rem * 2); } }
      @media screen and (max-width: 1023px) {
        main.message .body section .container {
          padding: 6rem 0 5.6rem; } }
      main.message .body section .container h2,
      main.message .body section .container h3 {
        margin-bottom: 4.8rem; }
        @media screen and (max-width: 1023px) {
          main.message .body section .container h2,
          main.message .body section .container h3 {
            margin-bottom: 3.2em;
            margin-right: -1rem; } }
        main.message .body section .container h2 > span,
        main.message .body section .container h3 > span {
          position: relative;
          display: block;
          width: fit-content;
          font-family: YakuhanJP, 'Noto Sans JP', san-serif;
          font-style: normal;
          font-weight: bold;
          font-size: 6.4rem;
          line-height: 7.5rem;
          letter-spacing: -0.05em;
          margin-bottom: 1.7rem;
          color: #D71900;
          position: relative;
          width: fit-content;
          transition: all ease .3s;
          clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
          @media screen and (max-width: 1023px) {
            main.message .body section .container h2 > span,
            main.message .body section .container h3 > span {
              font-size: 3.2rem;
              line-height: 4rem;
              margin-bottom: .6rem; } }
          main.message .body section .container h2 > span:before,
          main.message .body section .container h3 > span:before {
            content: "";
            display: block;
            background-color: #D71900;
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            width: 100%;
            transition: all ease .3s .3s;
            transform-origin: 100% 0; }
          main.message .body section .container h2 > span[data-inview-active],
          main.message .body section .container h3 > span[data-inview-active] {
            clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
            main.message .body section .container h2 > span[data-inview-active]:before,
            main.message .body section .container h3 > span[data-inview-active]:before {
              transform: scale(0, 1); }
          main.message .body section .container h2 > span .highlight,
          main.message .body section .container h3 > span .highlight {
            display: inline-block;
            padding: 0 1.4rem;
            color: #fff;
            background-color: #D71900; }
            @media screen and (max-width: 1023px) {
              main.message .body section .container h2 > span .highlight,
              main.message .body section .container h3 > span .highlight {
                padding: 0 .4rem; } }
      main.message .body section .container p {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 4.6rem;
        letter-spacing: .3rem; }
        @media screen and (max-width: 1023px) {
          main.message .body section .container p {
            font-size: 1.4rem;
            line-height: 2.8rem; } }
        main.message .body section .container p + p {
          margin-top: 4.6rem; }
          @media screen and (max-width: 1023px) {
            main.message .body section .container p + p {
              margin-top: 2.8rem; } }
    @media screen and (max-width: 1023px) {
      main.message .body section p br {
        display: none; } }
    main.message .body section:nth-child(2n):after {
      animation-direction: reverse; }
    main.message .body section .container .signature {
      display: flex;
      align-items: baseline;
      gap: 4rem;
      justify-content: flex-end;
      margin-top: 8rem; }
      @media screen and (max-width: 1023px) {
        main.message .body section .container .signature {
          display: block;
          margin-top: 4rem; } }
      main.message .body section .container .signature p:nth-child(1) {
        font-weight: 700;
        font-size: 3.2rem;
        line-height: 144%;
        text-align: right;
        color: #D71900; }
        @media screen and (max-width: 1023px) {
          main.message .body section .container .signature p:nth-child(1) {
            font-size: 1.8rem;
            line-height: 2.6rem; } }
      main.message .body section .container .signature p:nth-child(2) {
        font-weight: 700;
        font-size: 6.4rem;
        line-height: 144%;
        letter-spacing: -0.05em;
        color: #D71900;
        text-align: right; }
        @media screen and (max-width: 1023px) {
          main.message .body section .container .signature p:nth-child(2) {
            font-size: 4rem;
            line-height: 5.8rem; } }
main.message nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.message nav.cta {
      padding: 8rem 0 12rem; } }
  main.message nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.message nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.message nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.message nav.cta .container .copy {
          width: auto; } }
    main.message nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.message nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.message nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.message nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.message nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.message nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.message nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.message nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.message nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.message nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.message nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.message nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.message nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.message nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.message nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.message nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.message nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.message nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.message nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.message nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.message nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.message nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.message nav.other header {
        padding: 4rem 0 0; } }
    main.message nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.message nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.message nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.message nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.message nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.message nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.message nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.message nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.message nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.message nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.message nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.message nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.message nav.other .content ul li {
            flex: 0 0 100%; } }
        main.message nav.other .content ul li a {
          display: block; }
          main.message nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.message nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.message nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.message nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.message nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.message nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.message nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.message nav.other .content ul li:nth-child(4), main.message nav.other .content ul li:nth-child(5), main.message nav.other .content ul li:nth-child(6) {
            display: none; } }

main.value > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.value > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.value > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/value/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.value > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.value > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.value > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-value {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -33.6em 0;
    				}
    			}
    			background-image: url("../images/value/header_title_en.svg");
    //			background-size: 33.6rem 7.7rem;
    			background-size: 33.6em auto;
    			animation: header-title-en-value linear calc(33.6s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.value > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.value > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.value > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.value > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.value > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.value > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.value > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.value > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.value > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.value > header .scroll {
        font-size: calc(3rem /4); } }
main.value > section:not(.appeal) {
  background-color: #F4B937; }
  main.value > section:not(.appeal):after {
    content: "";
    background-image: url("../images/value/decor_text_black.svg");
    background-size: 7.4em auto;
    animation: decor-text-loop-value linear calc(7.4s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-value {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -7.4em 58%; } }
    @media screen and (max-width: 1023px) {
      main.value > section:not(.appeal):after {
        font-size: calc(3rem /4); } }
  main.value > section:not(.appeal) header {
    position: relative;
    z-index: 1;
    border-bottom: .8rem solid #000;
    padding: 9.2rem 0 8.4rem; }
    @media screen and (max-width: 1023px) {
      main.value > section:not(.appeal) header {
        padding: 5.1rem 0 4.4rem;
        border-bottom: .4rem solid #000; } }
    main.value > section:not(.appeal) header .container {
      width: calc(100% - 6.6rem * 2);
      max-width: 115rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.value > section:not(.appeal) header .container {
          width: calc(100% - 2.4rem * 2); } }
      main.value > section:not(.appeal) header .container h2 {
        font-weight: 700;
        font-size: 8rem;
        line-height: 9.6rem;
        letter-spacing: -0.05em;
        color: #F4B937;
        width: fit-content;
        background-color: #0A536E;
        padding: 0 1.4rem;
        margin-bottom: 3.2rem; }
        @media screen and (max-width: 1023px) {
          main.value > section:not(.appeal) header .container h2 {
            font-weight: 700;
            font-size: 32px;
            line-height: 4.3rem;
            height: 4.3rem;
            padding: 0 .8rem;
            margin-bottom: 1.6rem; } }
      main.value > section:not(.appeal) header .container .copy {
        font-weight: 700;
        font-size: 4rem;
        line-height: 5.8rem;
        letter-spacing: -0.05em;
        color: #0A536E;
        margin-bottom: 4rem; }
        @media screen and (max-width: 1023px) {
          main.value > section:not(.appeal) header .container .copy {
            font-weight: 700;
            font-size: 2.4rem;
            line-height: 3.5rem;
            letter-spacing: -0.05em;
            margin-bottom: 1.6rem; } }
      main.value > section:not(.appeal) header .container p:not(.copy) {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 4.6rem;
        letter-spacing: .3rem;
        color: #0A536E; }
        @media screen and (max-width: 1023px) {
          main.value > section:not(.appeal) header .container p:not(.copy) {
            font-size: 1.4rem;
            line-height: 2.8rem; } }
  main.value > section:not(.appeal) .body {
    position: relative; }
    main.value > section:not(.appeal) .body:before, main.value > section:not(.appeal) .body:after {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      bottom: 0; }
    main.value > section:not(.appeal) .body:before {
      content: "";
      background-image: url("../images/value/dont_decor_text_black.svg");
      background-size: 1.5em 6.6em;
      animation: decor-text-vertical-loop-value-dont linear calc(6.6s / 10) infinite;
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      background-position: 50% 0;
      background-repeat: repeat-y;
      display: block;
      font-size: 1rem;
      width: 6.5em;
      border-left: 1px solid #000;
      left: 0;
      animation-direction: reverse; }
@keyframes decor-text-vertical-loop-value-dont {
  0% {
    background-position: 50% 0; }
  100% {
    background-position: 50% -6.6em; } }
      @media screen and (max-width: 1023px) {
        main.value > section:not(.appeal) .body:before {
          font-size: .6rem; } }
      @media screen and (max-width: 1023px) {
        main.value > section:not(.appeal) .body:before {
          width: 2.4rem; } }
      @media screen and (max-width: 1023px) {
        main.value > section:not(.appeal) .body:before {
          display: none; } }
    main.value > section:not(.appeal) .body:after {
      content: "";
      background-image: url("../images/value/do_decor_text_black.svg");
      background-size: 1.5em 4.3em;
      animation: decor-text-vertical-loop-value-do linear calc(4.3s / 10) infinite;
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      background-position: 50% 0;
      background-repeat: repeat-y;
      display: block;
      font-size: 1rem;
      width: 6.5em;
      border-left: 1px solid #000;
      right: 0; }
@keyframes decor-text-vertical-loop-value-do {
  0% {
    background-position: 50% 0; }
  100% {
    background-position: 50% -4.3em; } }
      @media screen and (max-width: 1023px) {
        main.value > section:not(.appeal) .body:after {
          font-size: .6rem; } }
      @media screen and (max-width: 1023px) {
        main.value > section:not(.appeal) .body:after {
          width: 2.4rem; } }
      @media screen and (max-width: 1023px) {
        main.value > section:not(.appeal) .body:after {
          display: none; } }
    main.value > section:not(.appeal) .body .container {
      width: calc(100% - 6.6rem * 2);
      max-width: 115rem;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr; }
      @media screen and (max-width: 1023px) {
        main.value > section:not(.appeal) .body .container {
          width: calc(100% - 2.4rem * 2); } }
      @media screen and (max-width: 1023px) {
        main.value > section:not(.appeal) .body .container {
          display: contents; } }
      main.value > section:not(.appeal) .body .container section {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 5; }
        @media screen and (max-width: 1023px) {
          main.value > section:not(.appeal) .body .container section {
            position: relative;
            display: block;
            padding: 0 2.4rem; } }
        main.value > section:not(.appeal) .body .container section h3 {
          position: relative;
          display: flex;
          height: 14.4rem;
          justify-content: center;
          align-items: center;
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 600;
          font-size: 8rem;
          line-height: 100%;
          text-align: center;
          letter-spacing: -0.04em;
          color: #0A536E; }
          @media screen and (max-width: 1023px) {
            main.value > section:not(.appeal) .body .container section h3 {
              font-size: 4.8rem;
              height: 6.4rem; } }
        main.value > section:not(.appeal) .body .container section figure {
          border-top: 1px solid #000;
          border-bottom: 1px solid #000; }
          main.value > section:not(.appeal) .body .container section figure img {
            height: 100%; }
        main.value > section:not(.appeal) .body .container section ul {
          display: contents; }
          main.value > section:not(.appeal) .body .container section ul li {
            border-top: 1px dashed #000000;
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2.8rem;
            letter-spacing: .2rem;
            color: #0A536E;
            padding: 1.6rem 2.4rem; }
            main.value > section:not(.appeal) .body .container section ul li:first-child {
              border-top: none; }
            @media screen and (max-width: 1023px) {
              main.value > section:not(.appeal) .body .container section ul li {
                font-size: 1.4rem;
                line-height: 180%;
                padding: 2.8rem 1.6rem; } }
            main.value > section:not(.appeal) .body .container section ul li:before {
              content: "・"; }
        main.value > section:not(.appeal) .body .container section:nth-child(1) {
          background-color: #F4F4F4;
          border-right: 1px solid #000; }
          @media screen and (max-width: 1023px) {
            main.value > section:not(.appeal) .body .container section:nth-child(1) {
              border-right: none; } }
          main.value > section:not(.appeal) .body .container section:nth-child(1) h3 {
            color: #000; }
          main.value > section:not(.appeal) .body .container section:nth-child(1):before {
            content: "";
            background-image: url("../images/value/dont_decor_text_black.svg");
            background-size: 1.5em 6.6em;
            animation: decor-text-vertical-loop-value-dont linear calc(6.6s / 10) infinite;
            position: absolute;
            right: 0;
            top: 0;
            bottom: 0;
            background-position: 50% 0;
            background-repeat: repeat-y;
            display: block;
            font-size: 1rem;
            width: 6.5em;
            border-left: 1px solid #000;
            display: none; }
@keyframes decor-text-vertical-loop-value-dont {
  0% {
    background-position: 50% 0; }
  100% {
    background-position: 50% -6.6em; } }
            @media screen and (max-width: 1023px) {
              main.value > section:not(.appeal) .body .container section:nth-child(1):before {
                font-size: .6rem; } }
            @media screen and (max-width: 1023px) {
              main.value > section:not(.appeal) .body .container section:nth-child(1):before {
                width: 2.4rem; } }
            @media screen and (max-width: 1023px) {
              main.value > section:not(.appeal) .body .container section:nth-child(1):before {
                display: block;
                position: absolute;
                left: 0;
                top: 0;
                bottom: 0;
                border-right: 1px solid #000;
                animation-direction: reverse; } }
          main.value > section:not(.appeal) .body .container section:nth-child(1):after {
            content: "";
            background-image: url("../images/value/dont_decor_text_black.svg");
            background-size: 1.5em 6.6em;
            animation: decor-text-vertical-loop-value-dont linear calc(6.6s / 10) infinite;
            position: absolute;
            right: 0;
            top: 0;
            bottom: 0;
            background-position: 50% 0;
            background-repeat: repeat-y;
            display: block;
            font-size: 1rem;
            width: 6.5em;
            border-left: 1px solid #000;
            display: none; }
@keyframes decor-text-vertical-loop-value-dont {
  0% {
    background-position: 50% 0; }
  100% {
    background-position: 50% -6.6em; } }
            @media screen and (max-width: 1023px) {
              main.value > section:not(.appeal) .body .container section:nth-child(1):after {
                font-size: .6rem; } }
            @media screen and (max-width: 1023px) {
              main.value > section:not(.appeal) .body .container section:nth-child(1):after {
                width: 2.4rem; } }
            @media screen and (max-width: 1023px) {
              main.value > section:not(.appeal) .body .container section:nth-child(1):after {
                display: block;
                position: absolute;
                right: 0;
                top: 0;
                bottom: 0; } }
        @media screen and (max-width: 1023px) {
          main.value > section:not(.appeal) .body .container section:nth-child(2) {
            border-top: 1px solid #000; } }
        main.value > section:not(.appeal) .body .container section:nth-child(2) h3:before {
          content: "";
          display: block;
          background-image: url("../images/value/value_do_decor.png");
          background-size: 100% 100%;
          width: 21rem;
          height: 14.8rem;
          position: absolute;
          bottom: 0;
          right: 0; }
          @media screen and (max-width: 1023px) {
            main.value > section:not(.appeal) .body .container section:nth-child(2) h3:before {
              background-image: url("../images/value/value_do_decor@mobile.png");
              width: 11.8rem;
              height: 6.4rem; } }
        main.value > section:not(.appeal) .body .container section:nth-child(2):before {
          content: "";
          background-image: url("../images/value/do_decor_text_black.svg");
          background-size: 1.5em 4.3em;
          animation: decor-text-vertical-loop-value-do linear calc(4.3s / 10) infinite;
          position: absolute;
          right: 0;
          top: 0;
          bottom: 0;
          background-position: 50% 0;
          background-repeat: repeat-y;
          display: block;
          font-size: 1rem;
          width: 6.5em;
          border-left: 1px solid #000;
          display: none; }
@keyframes decor-text-vertical-loop-value-do {
  0% {
    background-position: 50% 0; }
  100% {
    background-position: 50% -4.3em; } }
          @media screen and (max-width: 1023px) {
            main.value > section:not(.appeal) .body .container section:nth-child(2):before {
              font-size: .6rem; } }
          @media screen and (max-width: 1023px) {
            main.value > section:not(.appeal) .body .container section:nth-child(2):before {
              width: 2.4rem; } }
          @media screen and (max-width: 1023px) {
            main.value > section:not(.appeal) .body .container section:nth-child(2):before {
              display: block;
              position: absolute;
              left: 0;
              top: 0;
              bottom: 0;
              border-right: 1px solid #000;
              animation-direction: reverse; } }
        main.value > section:not(.appeal) .body .container section:nth-child(2):after {
          content: "";
          background-image: url("../images/value/do_decor_text_black.svg");
          background-size: 1.5em 4.3em;
          animation: decor-text-vertical-loop-value-do linear calc(4.3s / 10) infinite;
          position: absolute;
          right: 0;
          top: 0;
          bottom: 0;
          background-position: 50% 0;
          background-repeat: repeat-y;
          display: block;
          font-size: 1rem;
          width: 6.5em;
          border-left: 1px solid #000;
          display: none; }
@keyframes decor-text-vertical-loop-value-do {
  0% {
    background-position: 50% 0; }
  100% {
    background-position: 50% -4.3em; } }
          @media screen and (max-width: 1023px) {
            main.value > section:not(.appeal) .body .container section:nth-child(2):after {
              font-size: .6rem; } }
          @media screen and (max-width: 1023px) {
            main.value > section:not(.appeal) .body .container section:nth-child(2):after {
              width: 2.4rem; } }
          @media screen and (max-width: 1023px) {
            main.value > section:not(.appeal) .body .container section:nth-child(2):after {
              display: block;
              position: absolute;
              right: 0;
              top: 0;
              bottom: 0; } }
main.value section.appeal {
  background-color: #F4B937; }
  main.value section.appeal:after {
    content: "";
    background-image: url("../images/value/decor_text_black.svg");
    background-size: 7.4em auto;
    animation: decor-text-loop-value linear calc(7.4s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-value {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -7.4em 58%; } }
    @media screen and (max-width: 1023px) {
      main.value section.appeal:after {
        font-size: calc(3rem /4); } }
  main.value section.appeal .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 5.6rem 0; }
    @media screen and (max-width: 1023px) {
      main.value section.appeal .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.value section.appeal .container {
        padding: 4rem 0; } }
    main.value section.appeal .container p {
      font-family: YakuHanJP, 'Noto Sans JP', san-serif;
      font-weight: 700;
      font-size: 4rem;
      line-height: 5.8rem;
      letter-spacing: -0.05em;
      color: #0A536E; }
      @media screen and (max-width: 1023px) {
        main.value section.appeal .container p {
          font-size: 2rem;
          line-height: 2.9rem; } }
      @media screen and (max-width: 1023px) {
        main.value section.appeal .container p br {
          display: none; } }
main.value nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.value nav.cta {
      padding: 8rem 0 12rem; } }
  main.value nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.value nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.value nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.value nav.cta .container .copy {
          width: auto; } }
    main.value nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.value nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.value nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.value nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.value nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.value nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.value nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.value nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.value nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.value nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.value nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.value nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.value nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.value nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.value nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.value nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.value nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.value nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.value nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.value nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.value nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.value nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.value nav.other header {
        padding: 4rem 0 0; } }
    main.value nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.value nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.value nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.value nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.value nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.value nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.value nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.value nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.value nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.value nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.value nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.value nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.value nav.other .content ul li {
            flex: 0 0 100%; } }
        main.value nav.other .content ul li a {
          display: block; }
          main.value nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.value nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.value nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.value nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.value nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.value nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.value nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.value nav.other .content ul li:nth-child(4), main.value nav.other .content ul li:nth-child(5), main.value nav.other .content ul li:nth-child(6) {
            display: none; } }

main.career > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.career > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.career > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/career/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.career > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.career > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.career > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-career {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -66.9em 0;
    				}
    			}
    			background-image: url("../images/career/header_title_en.svg");
    //			background-size: 66.9rem 7.7rem;
    			background-size: 66.9em auto;
    			animation: header-title-en-career linear calc(66.9s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.career > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.career > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.career > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.career > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.career > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.career > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.career > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.career > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.career > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.career > header .scroll {
        font-size: calc(3rem /4); } }
main.career > section.intro {
  background-color: #fff; }
  main.career > section.intro:after {
    content: "";
    background-image: url("../images/career/decor_text_black.svg");
    background-size: 14.1em auto;
    animation: decor-text-loop-career linear calc(14.1s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-career {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -14.1em 58%; } }
    @media screen and (max-width: 1023px) {
      main.career > section.intro:after {
        font-size: calc(3rem /4); } }
  main.career > section.intro .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 8rem 0 7.2rem; }
    @media screen and (max-width: 1023px) {
      main.career > section.intro .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.career > section.intro .container {
        padding: 4rem 0 5.6rem; } }
    main.career > section.intro .container h2 {
      margin-bottom: 4.8rem; }
      @media screen and (max-width: 1023px) {
        main.career > section.intro .container h2 {
          margin-bottom: 2.4rem; } }
      main.career > section.intro .container h2 > span {
        display: block;
        width: fit-content;
        font-style: normal;
        font-weight: 700;
        font-size: 8rem;
        line-height: 9.6rem;
        margin-bottom: 2rem;
        letter-spacing: -0.05em;
        color: #FF9292;
        position: relative;
        width: fit-content;
        transition: all ease .3s;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
        @media screen and (max-width: 1023px) {
          main.career > section.intro .container h2 > span {
            font-weight: 700;
            font-size: 3.2rem;
            line-height: 4.3rem;
            color: #FF9292;
            margin-bottom: .3rem; } }
        main.career > section.intro .container h2 > span .highlight {
          display: inline-block;
          background-color: #FF9292;
          padding: 0 1.2rem;
          color: #883501; }
          @media screen and (max-width: 1023px) {
            main.career > section.intro .container h2 > span .highlight {
              padding: 0 .4rem; } }
        main.career > section.intro .container h2 > span:before {
          content: "";
          display: block;
          background-color: #FF9292;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          transition: all ease .3s .3s;
          transform-origin: 100% 0; }
        main.career > section.intro .container h2 > span[data-inview-active] {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          main.career > section.intro .container h2 > span[data-inview-active]:before {
            transform: scale(0, 1); }
    main.career > section.intro .container p {
      font-weight: 700;
      font-size: 2.4rem;
      line-height: 4.6rem;
      letter-spacing: .3rem;
      color: #FF9292; }
      @media screen and (max-width: 1023px) {
        main.career > section.intro .container p {
          font-size: 1.6rem;
          line-height: 2.9rem;
          letter-spacing: .3rem;
          color: #FF9292; } }
    main.career > section.intro .container section h3 {
      font-weight: 700;
      font-size: 2.4rem;
      line-height: 4.6rem;
      letter-spacing: .3rem;
      margin-bottom: 3.2rem; }
      @media screen and (max-width: 1023px) {
        main.career > section.intro .container section h3 {
          font-size: 1.8rem;
          line-height: 4.6rem;
          letter-spacing: .3rem;
          margin-bottom: 2.4rem; } }
    main.career > section.intro .container section figure img {
      width: 100%; }
main.career > .body {
  position: relative;
  display: flex;
  padding-bottom: 4rem;
  background-color: #fff; }
  @media screen and (max-width: 1023px) {
    main.career > .body {
      display: block; } }
  main.career > .body:after {
    content: "";
    background-image: url("../images/career/decor_text_black.svg");
    background-size: 14.1em auto;
    animation: decor-text-loop-career linear calc(14.1s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0; }
@keyframes decor-text-loop-career {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -14.1em 58%; } }
    @media screen and (max-width: 1023px) {
      main.career > .body:after {
        font-size: calc(3rem /4); } }
  main.career > .body nav.indicator {
    background-color: #F4F4F4;
    flex: 0 0 30rem;
    padding: 8.8rem 4.8rem 8.8rem 6.6rem; }
    @media screen and (max-width: 1023px) {
      main.career > .body nav.indicator {
        padding: 4rem 2.4rem 5.6rem; } }
    main.career > .body nav.indicator ul {
      position: sticky;
      top: 10rem;
      display: flex;
      flex-wrap: wrap;
      gap: 1.8rem; }
      @media screen and (max-width: 1023px) {
        main.career > .body nav.indicator ul {
          position: relative;
          top: auto;
          gap: 1.6rem; } }
      main.career > .body nav.indicator ul li {
        flex: 0 0 100%; }
        main.career > .body nav.indicator ul li a {
          position: relative;
          display: flex;
          align-items: center;
          font-style: normal;
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 2.0rem;
          letter-spacing: 0.09em;
          color: #000000;
          min-height: 4.4rem;
          padding: 1rem 2.4rem;
          border: 1px solid #000;
          border-radius: 9999px; }
          @media screen and (max-width: 1023px) {
            main.career > .body nav.indicator ul li a {
              height: auto;
              padding: 1.2rem 2rem; } }
          main.career > .body nav.indicator ul li a:after {
            content: "";
            -webkit-mask-image: url("../images/vision/nav_arrow.svg");
            mask-image: url("../images/vision/nav_arrow.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            display: block;
            width: 1.1rem;
            height: 1.1rem;
            position: absolute;
            right: 2rem;
            top: 50%;
            transform: translateY(-50%);
            background-color: #000; }
          main.career > .body nav.indicator ul li a.active {
            background-color: #000;
            color: #fff; }
            main.career > .body nav.indicator ul li a.active:after {
              background-color: #fff; }
  main.career > .body > .content {
    flex: 1; }
    main.career > .body > .content > section h2 {
      font-family: YakuHanJP, 'Noto Sans JP', san-serif;
      font-style: normal;
      font-weight: 700;
      font-size: 5.6rem;
      line-height: 8.1rem;
      letter-spacing: -0.05em;
      color: #000000;
      padding: 4rem 0 3.2rem;
      padding-left: 5rem;
      border-top: .8rem solid #000;
      border-bottom: .8rem solid #000; }
      @media screen and (max-width: 1023px) {
        main.career > .body > .content > section h2 {
          font-size: 32px;
          line-height: 4.6rem;
          letter-spacing: -0.05em;
          color: #000000;
          border-top: .4rem solid #000;
          border-bottom: .4rem solid #000;
          padding: 2rem 2.4rem; } }
      main.career > .body > .content > section h2 + section {
        border-top: none !important; }
    main.career > .body > .content > section:first-child h2 {
      border-top: none; }
    main.career > .body > .content > section > section {
      padding: 6.6rem 5rem 6.4rem;
      border-top: .4rem solid #000; }
      @media screen and (max-width: 1023px) {
        main.career > .body > .content > section > section {
          padding: 3.8rem 2.4rem 4rem;
          border-top: .2rem solid #000; } }
      main.career > .body > .content > section > section h3 {
        margin-bottom: 4.8rem; }
        main.career > .body > .content > section > section h3 span {
          display: block;
          width: fit-content;
          font-family: YakuhanJP, 'Noto Sans JP', san-serif;
          font-style: normal;
          font-weight: 700;
          font-size: 5.6rem;
          line-height: 7.2rem;
          letter-spacing: -0.05em;
          color: #883501;
          padding: 0 1.2rem;
          background-color: #FF9292;
          margin-bottom: 1.5rem; }
          @media screen and (max-width: 1023px) {
            main.career > .body > .content > section > section h3 span {
              font-size: 3.2rem;
              line-height: 3.8rem;
              margin-bottom: .6rem; } }
      main.career > .body > .content > section > section section.profile {
        background-color: #fff;
        display: flex;
        gap: 4.8rem;
        padding: 6.4rem 5rem;
        padding: 0 !important; }
        main.career > .body > .content > section > section section.profile:has(.container) {
          display: block;
          padding: 0; }
        @media screen and (max-width: 1023px) {
          main.career > .body > .content > section > section section.profile {
            display: block; } }
        main.career > .body > .content > section > section section.profile:after {
          content: "";
          background-image: url("../images/career/decor_text_black.svg");
          background-size: 14.1em auto;
          animation: decor-text-loop-career linear calc(14.1s / 10) infinite;
          text-indent: -9999px;
          overflow: hidden;
          background-position: 0 58%;
          background-repeat: repeat-x;
          display: block;
          font-size: 1rem;
          height: 4em;
          border-top: 1px solid #000;
          border-bottom: 1px solid #000;
          background-color: #fff;
          display: none; }
@keyframes decor-text-loop-career {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -14.1em 58%; } }
          @media screen and (max-width: 1023px) {
            main.career > .body > .content > section > section section.profile:after {
              font-size: calc(3rem /4); } }
        main.career > .body > .content > section > section section.profile .container {
          width: calc(100% - 6.6rem * 2);
          max-width: 115rem;
          margin: 0 auto;
          display: flex;
          gap: 4.8rem;
          padding: 6.4rem 0; }
          @media screen and (max-width: 1023px) {
            main.career > .body > .content > section > section section.profile .container {
              width: calc(100% - 2.4rem * 2); } }
          @media screen and (max-width: 1023px) {
            main.career > .body > .content > section > section section.profile .container {
              padding: 4rem 0;
              display: block; } }
        main.career > .body > .content > section > section section.profile figure {
          flex: 0 0 35.5rem; }
          @media screen and (max-width: 1023px) {
            main.career > .body > .content > section > section section.profile figure {
              margin-bottom: 2.4rem; } }
        main.career > .body > .content > section > section section.profile .content {
          flex: 1; }
          main.career > .body > .content > section > section section.profile .content .join {
            border: 1px solid #000;
            padding: .4rem;
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2rem;
            letter-spacing: 0.09em;
            color: #000000;
            width: fit-content;
            margin-bottom: 2.4rem; }
            @media screen and (max-width: 1023px) {
              main.career > .body > .content > section > section section.profile .content .join {
                font-size: 1.2rem;
                line-height: 1.7rem;
                margin-bottom: 1.6rem; } }
          main.career > .body > .content > section > section section.profile .content .profile,
          main.career > .body > .content > section > section section.profile .content .job {
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2.4rem;
            letter-spacing: .1em;
            color: #000000;
            margin-bottom: 1.2rem; }
            @media screen and (max-width: 1023px) {
              main.career > .body > .content > section > section section.profile .content .profile,
              main.career > .body > .content > section > section section.profile .content .job {
                margin-bottom: .8rem; } }
          main.career > .body > .content > section > section section.profile .content .name {
            margin-bottom: 2.4rem; }
            main.career > .body > .content > section > section section.profile .content .name p:nth-child(1) {
              font-weight: 700;
              font-size: 2.4rem;
              line-height: 1.5;
              letter-spacing: 0.12em;
              color: #000000;
              margin-bottom: .4rem; }
            main.career > .body > .content > section > section section.profile .content .name p:nth-child(2) {
              font-family: 'Poppins';
              font-style: normal;
              font-weight: 500;
              font-size: 1.4rem;
              line-height: 2.8rem;
              letter-spacing: .1rem;
              color: #000000; }
              @media screen and (max-width: 1023px) {
                main.career > .body > .content > section > section section.profile .content .name p:nth-child(2) {
                  line-height: 1.5; } }
          main.career > .body > .content > section > section section.profile .content .description {
            font-weight: 500;
            font-size: 1.4rem;
            line-height: 2.8rem;
            letter-spacing: .1rem;
            color: #000000; }
      main.career > .body > .content > section > section figure.career {
        margin-top: 4rem; }
        @media screen and (max-width: 1023px) {
          main.career > .body > .content > section > section figure.career {
            margin-top: 2.4rem; } }
      main.career > .body > .content > section > section section.interview {
        margin-top: 4rem; }
        @media screen and (max-width: 1023px) {
          main.career > .body > .content > section > section section.interview {
            margin-top: 3.2rem; } }
        main.career > .body > .content > section > section section.interview a {
          position: relative;
          display: flex;
          border-top: 1px dotted #000;
          border-bottom: 1px dotted #000;
          gap: 3.2rem;
          align-items: center; }
          @media screen and (max-width: 1023px) {
            main.career > .body > .content > section > section section.interview a {
              display: block; } }
          main.career > .body > .content > section > section section.interview a figure {
            flex: 0 0 20rem; }
          main.career > .body > .content > section > section section.interview a p {
            font-weight: 700;
            font-size: 24px;
            line-height: 3.5rem;
            letter-spacing: -0.05em;
            color: #000000; }
            @media screen and (max-width: 1023px) {
              main.career > .body > .content > section > section section.interview a p {
                padding: 1.6rem 0;
                font-size: 1.4rem;
                line-height: 2rem; } }
          main.career > .body > .content > section > section section.interview a:after {
            content: "";
            display: block;
            background-color: #000;
            width: 6rem;
            height: 6rem;
            background-image: url("../images/career/interview_arrow.svg");
            background-size: 2.2rem 2.2rem;
            background-position: 50% 50%;
            background-repeat: no-repeat;
            background-color: #000;
            position: absolute;
            bottom: 0;
            right: 0; }
            @media screen and (max-width: 1023px) {
              main.career > .body > .content > section > section section.interview a:after {
                width: 4rem;
                height: 4rem;
                background-size: 1.4rem 1.4rem; } }
main.career nav.indicator-popup {
  position: static;
  display: none; }
  @media screen and (max-width: 1023px) {
    main.career nav.indicator-popup {
      display: block; } }
  main.career nav.indicator-popup .toggle {
    position: fixed;
    right: 0;
    bottom: 4.8rem;
    z-index: 100;
    transform: translateX(100%);
    transition: all ease .3s; }
    main.career nav.indicator-popup .toggle button {
      position: relative;
      height: 4rem;
      background-color: #000;
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 1.6rem;
      line-height: 4rem;
      color: #FFFFFF;
      padding: 0 5.1rem 0 1.2rem !important; }
      main.career nav.indicator-popup .toggle button:before, main.career nav.indicator-popup .toggle button:after {
        content: "";
        display: block;
        width: 2.2rem;
        height: 1px;
        position: absolute;
        top: 50%;
        right: 1.8rem;
        background-color: #fff; }
      main.career nav.indicator-popup .toggle button:before {
        margin-top: -.3rem; }
      main.career nav.indicator-popup .toggle button:after {
        margin-top: .3rem; }
    main.career nav.indicator-popup .toggle.active + .dialog {
      pointer-events: auto;
      opacity: 1; }
  main.career nav.indicator-popup .dialog {
    position: fixed;
    z-index: 10000;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    pointer-events: none;
    transition: all ease .3s;
    opacity: 0;
    display: flex;
    justify-content: center;
    align-items: center; }
    main.career nav.indicator-popup .dialog .wrapper {
      position: relative;
      background-color: #fff;
      width: 34.2rem;
      padding: 3.2rem 2.4rem; }
      main.career nav.indicator-popup .dialog .wrapper .close {
        position: absolute;
        right: 0;
        bottom: 100%; }
        main.career nav.indicator-popup .dialog .wrapper .close button {
          position: relative;
          width: 5.6rem;
          height: 4rem;
          background-color: #fff;
          text-indent: -9999px;
          overflow: hidden; }
          main.career nav.indicator-popup .dialog .wrapper .close button:before, main.career nav.indicator-popup .dialog .wrapper .close button:after {
            content: "";
            position: absolute;
            top: 50%;
            left: calc(50% - 1.2rem);
            display: block;
            width: 2.4rem;
            height: 1px;
            background-color: #000; }
          main.career nav.indicator-popup .dialog .wrapper .close button:before {
            transform: rotate(20deg); }
          main.career nav.indicator-popup .dialog .wrapper .close button:after {
            transform: rotate(-20deg); }
      main.career nav.indicator-popup .dialog .wrapper ul {
        display: flex;
        flex-wrap: wrap;
        gap: 16px; }
        main.career nav.indicator-popup .dialog .wrapper ul li {
          flex: 0 0 100%; }
          main.career nav.indicator-popup .dialog .wrapper ul li a {
            position: relative;
            display: block;
            font-weight: 700;
            font-size: 1.4rem;
            line-height: 2rem;
            letter-spacing: 0.09em;
            color: #000;
            border: 1px solid #000;
            border-radius: 9999px;
            padding: 1.2rem 2rem; }
            main.career nav.indicator-popup .dialog .wrapper ul li a:after {
              content: "";
              -webkit-mask-image: url("../images/vision/nav_arrow.svg");
              mask-image: url("../images/vision/nav_arrow.svg");
              -webkit-mask-size: 100% 100%;
              mask-size: 100% 100%;
              display: block;
              width: 1.1rem;
              height: 1.1rem;
              position: absolute;
              right: 2rem;
              top: 50%;
              transform: translateY(-50%);
              background-color: #000; }
            main.career nav.indicator-popup .dialog .wrapper ul li a.active {
              background-color: #000;
              color: #fff; }
              main.career nav.indicator-popup .dialog .wrapper ul li a.active:after {
                background-color: #fff; }
  main.career nav.indicator-popup.on .toggle {
    transform: translateX(0); }
main.career section.interview {
  background-color: #fff; }
  main.career section.interview > header {
    border-bottom: .8rem solid #000; }
    @media screen and (max-width: 1023px) {
      main.career section.interview > header {
        border-bottom: .4rem solid #000; } }
    main.career section.interview > header .container {
      width: calc(100% - 6.6rem * 2);
      max-width: 115rem;
      margin: 0 auto;
      height: 18rem;
      display: flex;
      align-items: center; }
      @media screen and (max-width: 1023px) {
        main.career section.interview > header .container {
          width: calc(100% - 2.4rem * 2); } }
      @media screen and (max-width: 1023px) {
        main.career section.interview > header .container {
          height: 20rem; } }
      main.career section.interview > header .container h2 {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 100%;
        letter-spacing: -0.04em;
        color: #000000; }
        @media screen and (max-width: 1023px) {
          main.career section.interview > header .container h2 {
            font-size: 6.4rem;
            line-height: 100%; } }
  main.career section.interview article > header {
    position: relative; }
    main.career section.interview article > header:after {
      content: "";
      background-image: url("../images/system/decor_text_special_interview_white.svg");
      background-size: 19.1em auto;
      animation: decor-text-loop-special-interview linear calc(19.1s / 10) infinite;
      text-indent: -9999px;
      overflow: hidden;
      background-position: 0 58%;
      background-repeat: repeat-x;
      display: block;
      font-size: 1rem;
      height: 4em;
      border-top: 1px solid #fff;
      border-bottom: 1px solid #fff;
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0; }
@keyframes decor-text-loop-special-interview {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -19.1em 58%; } }
      @media screen and (max-width: 1023px) {
        main.career section.interview article > header:after {
          font-size: calc(3rem /4); } }
    @media screen and (max-width: 1023px) {
      main.career section.interview article > header figure img {
        height: 34rem;
        object-fit: cover; } }
    main.career section.interview article > header h3 {
      position: absolute;
      bottom: 10.9rem;
      left: 7.3rem; }
      @media screen and (max-width: 1023px) {
        main.career section.interview article > header h3 {
          left: 1.5rem;
          bottom: 4.6rem; } }
      main.career section.interview article > header h3 span {
        display: block;
        width: fit-content;
        font-style: normal;
        font-family: YakuHanJP, 'Noto Sans JP', san-serif;
        font-weight: 700;
        font-size: 6.4rem;
        line-height: 8rem;
        height: 8rem;
        letter-spacing: -0.05em;
        color: #FFFFFF;
        background-color: #000;
        padding: 0 1rem;
        margin-top: 1.2rem; }
        @media screen and (max-width: 1023px) {
          main.career section.interview article > header h3 span {
            font-size: 3.2rem;
            margin-top: .5rem;
            line-height: 4rem;
            height: 4rem;
            padding: 0 .4rem; } }
  main.career section.interview article section.intro {
    border-bottom: 1px solid #000; }
    main.career section.interview article section.intro .container {
      width: calc(100% - 6.6rem * 2);
      max-width: 115rem;
      margin: 0 auto;
      padding: 4.8rem 0; }
      @media screen and (max-width: 1023px) {
        main.career section.interview article section.intro .container {
          width: calc(100% - 2.4rem * 2); } }
      @media screen and (max-width: 1023px) {
        main.career section.interview article section.intro .container {
          padding: 2.4rem 0; } }
      main.career section.interview article section.intro .container p {
        font-weight: 700;
        font-size: 4rem;
        line-height: 5.8rem;
        letter-spacing: -0.05em; }
        @media screen and (max-width: 1023px) {
          main.career section.interview article section.intro .container p {
            font-size: 2.4rem;
            line-height: 3.5rem; } }
  main.career section.interview article section.profile {
    background-color: #fff;
    display: flex;
    gap: 4.8rem;
    padding: 6.4rem 5rem; }
    main.career section.interview article section.profile:has(.container) {
      display: block;
      padding: 0; }
    @media screen and (max-width: 1023px) {
      main.career section.interview article section.profile {
        display: block; } }
    main.career section.interview article section.profile:after {
      content: "";
      background-image: url("../images/system/decor_text_special_interview_black.svg");
      background-size: 19.1em auto;
      animation: decor-text-loop-special-interview linear calc(19.1s / 10) infinite;
      text-indent: -9999px;
      overflow: hidden;
      background-position: 0 58%;
      background-repeat: repeat-x;
      display: block;
      font-size: 1rem;
      height: 4em;
      border-top: 1px solid #000;
      border-bottom: 1px solid #000;
      background-color: #fff; }
@keyframes decor-text-loop-special-interview {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -19.1em 58%; } }
      @media screen and (max-width: 1023px) {
        main.career section.interview article section.profile:after {
          font-size: calc(3rem /4); } }
    main.career section.interview article section.profile .container {
      width: calc(100% - 6.6rem * 2);
      max-width: 115rem;
      margin: 0 auto;
      display: flex;
      gap: 4.8rem;
      padding: 6.4rem 0; }
      @media screen and (max-width: 1023px) {
        main.career section.interview article section.profile .container {
          width: calc(100% - 2.4rem * 2); } }
      @media screen and (max-width: 1023px) {
        main.career section.interview article section.profile .container {
          padding: 4rem 0;
          display: block; } }
    main.career section.interview article section.profile figure {
      flex: 0 0 35.5rem; }
      @media screen and (max-width: 1023px) {
        main.career section.interview article section.profile figure {
          margin-bottom: 2.4rem; } }
    main.career section.interview article section.profile .content {
      flex: 1; }
      main.career section.interview article section.profile .content .join {
        border: 1px solid #000;
        padding: .4rem;
        font-weight: 700;
        font-size: 1.4rem;
        line-height: 2rem;
        letter-spacing: 0.09em;
        color: #000000;
        width: fit-content;
        margin-bottom: 2.4rem; }
        @media screen and (max-width: 1023px) {
          main.career section.interview article section.profile .content .join {
            font-size: 1.2rem;
            line-height: 1.7rem;
            margin-bottom: 1.6rem; } }
      main.career section.interview article section.profile .content .profile,
      main.career section.interview article section.profile .content .job {
        font-weight: 700;
        font-size: 1.4rem;
        line-height: 2.4rem;
        letter-spacing: .1em;
        color: #000000;
        margin-bottom: 1.2rem; }
        @media screen and (max-width: 1023px) {
          main.career section.interview article section.profile .content .profile,
          main.career section.interview article section.profile .content .job {
            margin-bottom: .8rem; } }
      main.career section.interview article section.profile .content .name {
        margin-bottom: 2.4rem; }
        main.career section.interview article section.profile .content .name p:nth-child(1) {
          font-weight: 700;
          font-size: 2.4rem;
          line-height: 1.5;
          letter-spacing: 0.12em;
          color: #000000;
          margin-bottom: .4rem; }
        main.career section.interview article section.profile .content .name p:nth-child(2) {
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 500;
          font-size: 1.4rem;
          line-height: 2.8rem;
          letter-spacing: .1rem;
          color: #000000; }
          @media screen and (max-width: 1023px) {
            main.career section.interview article section.profile .content .name p:nth-child(2) {
              line-height: 1.5; } }
      main.career section.interview article section.profile .content .description {
        font-weight: 500;
        font-size: 1.4rem;
        line-height: 2.8rem;
        letter-spacing: .1rem;
        color: #000000; }
  main.career section.interview article .body {
    background-color: #fff; }
    main.career section.interview article .body:after {
      content: "";
      background-image: url("../images/system/decor_text_special_interview_black.svg");
      background-size: 19.1em auto;
      animation: decor-text-loop-special-interview linear calc(19.1s / 10) infinite;
      text-indent: -9999px;
      overflow: hidden;
      background-position: 0 58%;
      background-repeat: repeat-x;
      display: block;
      font-size: 1rem;
      height: 4em;
      border-top: 1px solid #000;
      border-bottom: 1px solid #000;
      background-color: #fff; }
@keyframes decor-text-loop-special-interview {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -19.1em 58%; } }
      @media screen and (max-width: 1023px) {
        main.career section.interview article .body:after {
          font-size: calc(3rem /4); } }
    main.career section.interview article .body section {
      display: flex;
      background-color: #883501; }
      @media screen and (max-width: 1023px) {
        main.career section.interview article .body section {
          display: block; } }
      main.career section.interview article .body section + section {
        margin-top: -10rem; }
        @media screen and (max-width: 1023px) {
          main.career section.interview article .body section + section {
            margin-top: 0; } }
      main.career section.interview article .body section header {
        padding: 10rem 0 10rem 6rem;
        flex: 0 0 47.4rem;
        background-color: #883501; }
        @media screen and (max-width: 1023px) {
          main.career section.interview article .body section header {
            padding: 4rem 0  2.4rem 2.4rem; } }
        main.career section.interview article .body section header h4 {
          position: sticky;
          top: 10rem;
          margin-bottom: 4.8rem; }
          @media screen and (max-width: 1023px) {
            main.career section.interview article .body section header h4 {
              position: static;
              margin-bottom: 2.4rem; } }
          main.career section.interview article .body section header h4 span {
            display: block;
            width: fit-content;
            padding: 0 .8rem;
            font-weight: 700;
            font-size: 4rem;
            line-height: 5.3rem;
            letter-spacing: -0.05em;
            color: #883501;
            background-color: #FF9292;
            margin-bottom: .9rem;
            position: relative;
            width: fit-content;
            transition: all ease .3s;
            clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
            main.career section.interview article .body section header h4 span:before {
              content: "";
              display: block;
              background-color: #FFAB0;
              position: absolute;
              top: 0;
              bottom: 0;
              left: 0;
              width: 100%;
              transition: all ease .3s .3s;
              transform-origin: 100% 0; }
            main.career section.interview article .body section header h4 span[data-inview-active] {
              clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
              main.career section.interview article .body section header h4 span[data-inview-active]:before {
                transform: scale(0, 1); }
            @media screen and (max-width: 1023px) {
              main.career section.interview article .body section header h4 span {
                font-size: 2.4rem;
                line-height: 3.18rem;
                padding: 0 .4rem;
                margin-bottom: .54rem; } }
        main.career section.interview article .body section header p {
          width: 34rem;
          font-weight: 700;
          font-size: 1.6rem;
          line-height: 3.2rem;
          letter-spacing: .3rem;
          color: #FF9292; }
      main.career section.interview article .body section .content {
        background-color: #fff;
        flex: 1;
        padding: 10rem 6.7rem 10rem 9.7rem; }
        @media screen and (max-width: 1023px) {
          main.career section.interview article .body section .content {
            margin-left: 24px; } }
        @media screen and (max-width: 1023px) {
          main.career section.interview article .body section .content {
            padding: 2.4rem 2.4rem 5.6rem; } }
        main.career section.interview article .body section .content p {
          max-width: 52rem;
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 2.8rem;
          letter-spacing: .3rem;
          color: #000000;
          margin: 2.8rem 0; }
        main.career section.interview article .body section .content figure {
          margin: 8rem 0; }
        main.career section.interview article .body section .content *:first-child {
          margin-top: 0; }
        main.career section.interview article .body section .content *:last-child {
          margin-bottom: 0; }
main.career section.appeal {
  background-color: #883501; }
  main.career section.appeal:after {
    content: "";
    background-image: url("../images/career/decor_text_black.svg");
    background-size: 14.1em auto;
    animation: decor-text-loop-career linear calc(14.1s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-career {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -14.1em 58%; } }
    @media screen and (max-width: 1023px) {
      main.career section.appeal:after {
        font-size: calc(3rem /4); } }
  main.career section.appeal .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 5.6rem 0; }
    @media screen and (max-width: 1023px) {
      main.career section.appeal .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.career section.appeal .container {
        padding: 4rem 0; } }
    main.career section.appeal .container p {
      font-family: YakuHanJP, 'Noto Sans JP', san-serif;
      font-weight: 700;
      font-size: 4rem;
      line-height: 5.8rem;
      letter-spacing: -0.05em;
      color: #FF9292; }
      @media screen and (max-width: 1023px) {
        main.career section.appeal .container p {
          font-size: 2rem;
          line-height: 2.9rem; } }
      @media screen and (max-width: 1023px) {
        main.career section.appeal .container p br {
          display: none; } }
main.career nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.career nav.cta {
      padding: 8rem 0 12rem; } }
  main.career nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.career nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.career nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.career nav.cta .container .copy {
          width: auto; } }
    main.career nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.career nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.career nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.career nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.career nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.career nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.career nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.career nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.career nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.career nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.career nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.career nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.career nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.career nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.career nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.career nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.career nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.career nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.career nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.career nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.career nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.career nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.career nav.other header {
        padding: 4rem 0 0; } }
    main.career nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.career nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.career nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.career nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.career nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.career nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.career nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.career nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.career nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.career nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.career nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.career nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.career nav.other .content ul li {
            flex: 0 0 100%; } }
        main.career nav.other .content ul li a {
          display: block; }
          main.career nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.career nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.career nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.career nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.career nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.career nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.career nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.career nav.other .content ul li:nth-child(4), main.career nav.other .content ul li:nth-child(5), main.career nav.other .content ul li:nth-child(6) {
            display: none; } }

main.office > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.office > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.office > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/office/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.office > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.office > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.office > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-office {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -64.8em 0;
    				}
    			}
    			background-image: url("../images/office/header_title_en.svg");
    //			background-size: 64.8rem 7.7rem;
    			background-size: 64.8em auto;
    			animation: header-title-en-office linear calc(64.8s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.office > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.office > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.office > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.office > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.office > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.office > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.office > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.office > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.office > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.office > header .scroll {
        font-size: calc(3rem /4); } }
main.office > .body {
  position: relative;
  display: flex;
  background-color: #fff;
  padding-bottom: 4rem; }
  @media screen and (max-width: 1023px) {
    main.office > .body {
      display: block; } }
  main.office > .body:after {
    content: "";
    background-image: url("../images/about/decor_text_black.svg");
    background-size: 8.1em auto;
    animation: decor-text-loop-about linear calc(8.1s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0; }
@keyframes decor-text-loop-about {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -8.1em 58%; } }
    @media screen and (max-width: 1023px) {
      main.office > .body:after {
        font-size: calc(3rem /4); } }
  main.office > .body nav.indicator {
    background-color: #F4F4F4;
    flex: 0 0 30rem;
    padding: 8.8rem 4.8rem 8.8rem 6.6rem; }
    @media screen and (max-width: 1023px) {
      main.office > .body nav.indicator {
        padding: 4rem 2.4rem 5.6rem; } }
    main.office > .body nav.indicator ul {
      position: sticky;
      top: 10rem;
      display: flex;
      flex-wrap: wrap;
      gap: 1.8rem; }
      @media screen and (max-width: 1023px) {
        main.office > .body nav.indicator ul {
          position: relative;
          top: auto;
          gap: 1.6rem; } }
      main.office > .body nav.indicator ul li {
        flex: 0 0 100%; }
        main.office > .body nav.indicator ul li a {
          position: relative;
          display: flex;
          align-items: center;
          font-style: normal;
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 2.0rem;
          letter-spacing: 0.09em;
          color: #000000;
          min-height: 4.4rem;
          padding: 1rem 2.4rem;
          border: 1px solid #000;
          border-radius: 9999px; }
          @media screen and (max-width: 1023px) {
            main.office > .body nav.indicator ul li a {
              height: auto;
              padding: 1.2rem 2rem; } }
          main.office > .body nav.indicator ul li a:after {
            content: "";
            -webkit-mask-image: url("../images/vision/nav_arrow.svg");
            mask-image: url("../images/vision/nav_arrow.svg");
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            display: block;
            width: 1.1rem;
            height: 1.1rem;
            position: absolute;
            right: 2rem;
            top: 50%;
            transform: translateY(-50%);
            background-color: #000; }
          main.office > .body nav.indicator ul li a.active {
            background-color: #000;
            color: #fff; }
            main.office > .body nav.indicator ul li a.active:after {
              background-color: #fff; }
  main.office > .body > .content {
    flex: 1;
    padding: 9.5rem 6.5rem 10rem; }
    @media screen and (max-width: 1023px) {
      main.office > .body > .content {
        padding: 4rem 2.4rem 5.6rem; } }
    main.office > .body > .content section {
      width: 68.4rem;
      margin-left: 8.3em;
      padding-top: 7rem;
      padding-bottom: 6rem;
      border-bottom: 1px dashed #000; }
      @media screen and (max-width: 1023px) {
        main.office > .body > .content section {
          width: auto;
          margin-left: 0;
          padding-top: 4rem;
          padding-bottom: 4rem; } }
      main.office > .body > .content section:first-child {
        margin-top: -7rem; }
        @media screen and (max-width: 1023px) {
          main.office > .body > .content section:first-child {
            margin-top: -4rem; } }
      main.office > .body > .content section:last-child {
        border: none;
        padding-bottom: 0; }
      main.office > .body > .content section h2 {
        font-weight: 700;
        font-size: 4rem;
        letter-spacing: -0.05em;
        line-height: 5rem;
        height: 5rem;
        background-color: #000000;
        padding: 0 .8rem;
        color: #FFFFFF;
        width: fit-content;
        margin-bottom: 4rem; }
        @media screen and (max-width: 1023px) {
          main.office > .body > .content section h2 {
            font-weight: 700;
            font-size: 3.2rem;
            line-height: 4.5rem;
            height: 4.5rem;
            margin-bottom: 2rem; } }
      main.office > .body > .content section figure {
        width: 58rem;
        margin-left: 5.2rem; }
        @media screen and (max-width: 1023px) {
          main.office > .body > .content section figure {
            width: auto;
            margin-left: 0; } }
        main.office > .body > .content section figure .main .splide__arrow {
          width: 4.8rem;
          height: 4.8rem;
          background-color: #000;
          border-radius: 0;
          opacity: 1;
          background-repeat: no-repeat;
          background-position: 50% 50%;
          background-size: 1.4rem 1.4rem; }
          @media screen and (max-width: 1023px) {
            main.office > .body > .content section figure .main .splide__arrow {
              width: 3.2rem;
              height: 3.2rem; } }
          main.office > .body > .content section figure .main .splide__arrow svg {
            display: none; }
          @media screen and (max-width: 1023px) {
            main.office > .body > .content section figure .main .splide__arrow {
              background-size: .9rem .9rem; } }
        main.office > .body > .content section figure .main .splide__arrow--prev {
          left: 0;
          background-image: url("../images/office/arrow_prev.svg"); }
        main.office > .body > .content section figure .main .splide__arrow--next {
          right: 0;
          background-image: url("../images/office/arrow_next.svg"); }
        main.office > .body > .content section figure .thumbnail {
          margin-top: 2.4rem;
          overflow: hidden; }
          @media screen and (max-width: 1023px) {
            main.office > .body > .content section figure .thumbnail {
              margin-top: 1.4rem; } }
          main.office > .body > .content section figure .thumbnail ul {
            margin: 0 -.8rem; }
            @media screen and (max-width: 1023px) {
              main.office > .body > .content section figure .thumbnail ul {
                margin: 0 -.3rem; } }
            main.office > .body > .content section figure .thumbnail ul li {
              border: none;
              opacity: .4;
              padding: 0 .8rem; }
              @media screen and (max-width: 1023px) {
                main.office > .body > .content section figure .thumbnail ul li {
                  padding: 0 .3rem; } }
              main.office > .body > .content section figure .thumbnail ul li.is-active {
                opacity: 1; }
main.office nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.office nav.cta {
      padding: 8rem 0 12rem; } }
  main.office nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.office nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.office nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.office nav.cta .container .copy {
          width: auto; } }
    main.office nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.office nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.office nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.office nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.office nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.office nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.office nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.office nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.office nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.office nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.office nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.office nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.office nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.office nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.office nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.office nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.office nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.office nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.office nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.office nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.office nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.office nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.office nav.other header {
        padding: 4rem 0 0; } }
    main.office nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.office nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.office nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.office nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.office nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.office nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.office nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.office nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.office nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.office nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.office nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.office nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.office nav.other .content ul li {
            flex: 0 0 100%; } }
        main.office nav.other .content ul li a {
          display: block; }
          main.office nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.office nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.office nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.office nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.office nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.office nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.office nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.office nav.other .content ul li:nth-child(4), main.office nav.other .content ul li:nth-child(5), main.office nav.other .content ul li:nth-child(6) {
            display: none; } }

main.gallery > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.gallery > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.gallery > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/gallery/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.gallery > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.gallery > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.gallery > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-gallery {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -43.7em 0;
    				}
    			}
    			background-image: url("../images/gallery/header_title_en.svg");
    //			background-size: 43.7rem 7.7rem;
    			background-size: 43.7em auto;
    			animation: header-title-en-gallery linear calc(43.7s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.gallery > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.gallery > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.gallery > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.gallery > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.gallery > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.gallery > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.gallery > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.gallery > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.gallery > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.gallery > header .scroll {
        font-size: calc(3rem /4); } }
main.gallery nav.filter {
  background-color: #f4f4f4;
  border-bottom: .8rem solid #000; }
  @media screen and (max-width: 1023px) {
    main.gallery nav.filter {
      border-bottom: .4rem solid #000; } }
  main.gallery nav.filter .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 4.8rem 0 7rem; }
    @media screen and (max-width: 1023px) {
      main.gallery nav.filter .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.gallery nav.filter .container {
        padding: 4rem 0 5.6rem; } }
    main.gallery nav.filter .container h2 {
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 4rem;
      line-height: 6rem;
      color: #000000;
      margin-bottom: 2rem; }
      @media screen and (max-width: 1023px) {
        main.gallery nav.filter .container h2 {
          font-size: 2.8rem;
          line-height: 4.2rem; } }
    main.gallery nav.filter .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 1rem; }
      @media screen and (max-width: 1023px) {
        main.gallery nav.filter .container ul {
          gap: .8rem; } }
      main.gallery nav.filter .container ul li a {
        font-weight: 700;
        font-size: 3.2rem;
        line-height: 4.4rem;
        height: 4.4rem;
        color: #000;
        padding: 0 .8rem;
        background-color: #fff;
        display: block;
        transition: all ease .3s; }
        @media screen and (max-width: 1023px) {
          main.gallery nav.filter .container ul li a {
            font-size: 2.4rem;
            line-height: 3.6rem;
            height: 3.6rem; } }
        main.gallery nav.filter .container ul li a:before {
          content: "＃"; }
        main.gallery nav.filter .container ul li a:hover, main.gallery nav.filter .container ul li a.active {
          color: #FFFFFF;
          background-color: #000; }
main.gallery section.gallery {
  background-color: #fff; }
  main.gallery section.gallery:after {
    content: "";
    background-image: url("../images/gallery/decor_text_black.svg");
    background-size: 13.6em auto;
    animation: decor-text-loop-gallery linear calc(13.6s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-gallery {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -13.6em 58%; } }
    @media screen and (max-width: 1023px) {
      main.gallery section.gallery:after {
        font-size: calc(3rem /4); } }
  main.gallery section.gallery .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 8rem 0; }
    @media screen and (max-width: 1023px) {
      main.gallery section.gallery .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.gallery section.gallery .container {
        padding: 4rem 0; } }
    main.gallery section.gallery .container ul.masonry {
      margin: 0 -.5rem; }
      @media screen and (max-width: 1023px) {
        main.gallery section.gallery .container ul.masonry {
          margin: 0 -.3rem; } }
      main.gallery section.gallery .container ul.masonry li {
        width: calc(100% / 4);
        padding: 0 .5rem 1rem;
        opacity: 0;
        transition: opacity ease 1s;
        transition-delay: 0s; }
        @media screen and (max-width: 1023px) {
          main.gallery section.gallery .container ul.masonry li {
            padding: 0 .3rem .6rem;
            width: calc(100% / 2); } }
        main.gallery section.gallery .container ul.masonry li.active {
          opacity: 1; }
main.gallery nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.gallery nav.cta {
      padding: 8rem 0 12rem; } }
  main.gallery nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.gallery nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.gallery nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.gallery nav.cta .container .copy {
          width: auto; } }
    main.gallery nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.gallery nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.gallery nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.gallery nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.gallery nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.gallery nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.gallery nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.gallery nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.gallery nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.gallery nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.gallery nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.gallery nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.gallery nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.gallery nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.gallery nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.gallery nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.gallery nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.gallery nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.gallery nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.gallery nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.gallery nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.gallery nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.gallery nav.other header {
        padding: 4rem 0 0; } }
    main.gallery nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.gallery nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.gallery nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.gallery nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.gallery nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.gallery nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.gallery nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.gallery nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.gallery nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.gallery nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.gallery nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.gallery nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.gallery nav.other .content ul li {
            flex: 0 0 100%; } }
        main.gallery nav.other .content ul li a {
          display: block; }
          main.gallery nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.gallery nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.gallery nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.gallery nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.gallery nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.gallery nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.gallery nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.gallery nav.other .content ul li:nth-child(4), main.gallery nav.other .content ul li:nth-child(5), main.gallery nav.other .content ul li:nth-child(6) {
            display: none; } }

main.check > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.check > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.check > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/check/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.check > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.check > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.check > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-check {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -60.8em 0;
    				}
    			}
    			background-image: url("../images/check/header_title_en.svg");
    //			background-size: 60.8rem 7.7rem;
    			background-size: 60.8em auto;
    			animation: header-title-en-check linear calc(60.8s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.check > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.check > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.check > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.check > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.check > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.check > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.check > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.check > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.check > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.check > header .scroll {
        font-size: calc(3rem /4); } }
main.check > .body {
  background-color: #D71900; }
  main.check > .body:after {
    content: "";
    background-image: url("../images/check/decor_text_black.svg");
    background-size: 12.8em auto;
    animation: decor-text-loop-check linear calc(12.8s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-check {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -12.8em 58%; } }
    @media screen and (max-width: 1023px) {
      main.check > .body:after {
        font-size: calc(3rem /4); } }
  main.check > .body .container {
    padding: 5.6rem 0 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.check > .body .container {
        padding: 4rem 0 5.6ren; } }
    main.check > .body .container section.check {
      position: relative;
      width: 115.2rem;
      height: 59.2rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.check > .body .container section.check {
          width: auto;
          height: auto;
          overflow: hidden; } }
      main.check > .body .container section.check h2 {
        position: absolute;
        top: 5.9rem;
        left: 4.8rem;
        width: 29.4rem;
        z-index: 1; }
        @media screen and (max-width: 1023px) {
          main.check > .body .container section.check h2 {
            position: relative;
            padding: 0 2.4rem 2.4rem;
            width: auto;
            top: auto;
            left: auto; } }
        main.check > .body .container section.check h2 img {
          width: 100%; }
      main.check > .body .container section.check .wrapper {
        width: 100%;
        height: 100%;
        background-image: url("../images/check/check_bg.png");
        background-size: 100% 100%; }
        @media screen and (max-width: 1023px) {
          main.check > .body .container section.check .wrapper {
            width: 115.2rem;
            height: 59.2rem;
            position: relative;
            left: 50%;
            transform: translateX(-50%); } }
        main.check > .body .container section.check .wrapper .content {
          position: absolute;
          top: 12.8rem;
          left: .8rem;
          right: .8rem;
          bottom: .8rem;
          overflow: hidden; }
          main.check > .body .container section.check .wrapper .content > ol {
            position: absolute;
            top: 0;
            left: 39.5rem;
            display: flex;
            transition: all ease .3s; }
            main.check > .body .container section.check .wrapper .content > ol > li {
              transition: all ease .3s; }
              main.check > .body .container section.check .wrapper .content > ol > li .inner {
                padding-right: 8rem; }
                @media screen and (max-width: 1023px) {
                  main.check > .body .container section.check .wrapper .content > ol > li .inner {
                    padding-right: .8rem; } }
                main.check > .body .container section.check .wrapper .content > ol > li .inner .question {
                  background-image: url("../images/check/question_bg.svg");
                  background-size: 100% 100%;
                  width: 34.3rem;
                  height: 28.2rem;
                  padding: 5.8rem 3.2rem 0;
                  filter: drop-shadow(8px 8px 8px rgba(0, 0, 0, 0.4)); }
                  main.check > .body .container section.check .wrapper .content > ol > li .inner .question p {
                    transition: all ease .3s; }
                  main.check > .body .container section.check .wrapper .content > ol > li .inner .question .marker {
                    background-image: url("../images/check/marker_bg.svg");
                    background-size: 100% 100%;
                    width: 4.8rem;
                    height: 4.8rem;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    font-style: normal;
                    font-weight: 700;
                    font-size: 1.8rem;
                    line-height: 2.6rem;
                    text-align: center;
                    letter-spacing: -0.04em;
                    color: #FFFFFF;
                    margin: 0 auto 1.6rem; }
                  main.check > .body .container section.check .wrapper .content > ol > li .inner .question p:nth-child(2) {
                    font-weight: 700;
                    font-size: 2.4rem;
                    line-height: 3.4rem;
                    letter-spacing: 0.05em;
                    text-align: center;
                    color: #FFFFFF; }
                    main.check > .body .container section.check .wrapper .content > ol > li .inner .question p:nth-child(2) span {
                      color: #82FFB1; }
                main.check > .body .container section.check .wrapper .content > ol > li .inner ul.answer {
                  display: flex;
                  justify-content: space-between;
                  margin-top: 1.6rem;
                  transition: all ease .3s; }
                  main.check > .body .container section.check .wrapper .content > ol > li .inner ul.answer li {
                    width: 16.5rem;
                    height: 6.4rem;
                    background-size: 100% 100%;
                    filter: drop-shadow(8px 8px 8px rgba(0, 0, 0, 0.4));
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    font-family: 'Poppins';
                    font-style: normal;
                    font-weight: 600;
                    font-size: 2.4rem;
                    line-height: 100%;
                    text-align: center;
                    letter-spacing: -0.04em;
                    color: #000000;
                    cursor: pointer; }
                    main.check > .body .container section.check .wrapper .content > ol > li .inner ul.answer li:nth-child(1) {
                      background-image: url("../images/check/answer_yes_bg.svg"); }
                    main.check > .body .container section.check .wrapper .content > ol > li .inner ul.answer li:nth-child(2) {
                      background-image: url("../images/check/answer_no_bg.svg"); }
              main.check > .body .container section.check .wrapper .content > ol > li:not(.current) .question p {
                opacity: .4; }
              main.check > .body .container section.check .wrapper .content > ol > li:not(.current) ul.answer {
                opacity: 0; }
              main.check > .body .container section.check .wrapper .content > ol > li.done {
                opacity: 0; }
          main.check > .body .container section.check .wrapper .content .reset {
            position: absolute;
            bottom: 5rem;
            left: 48.4rem;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 3.6rem;
            text-align: center;
            letter-spacing: .3rem;
            text-decoration: underline;
            color: #FFFFFF;
            cursor: pointer; }
main.check .result {
  position: static; }
  main.check .result .dialog {
    position: fixed;
    z-index: 10000;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    pointer-events: none;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity ease 1s;
    padding: 4.8rem 0; }
    @media screen and (max-width: 1023px) {
      main.check .result .dialog {
        padding: 2.4rem 0; } }
    main.check .result .dialog:before {
      content: "";
      display: block;
      background-image: url("../images/check/result_decor.png");
      background-size: auto 100vh;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      opacity: 0;
      transform: translate(-100%, 100%);
      transition: transform ease .5s 1s; }
      @media screen and (max-width: 1023px) {
        main.check .result .dialog:before {
          background-position: 100% 50%; } }
    main.check .result .dialog .wrapper {
      position: relative;
      margin: auto;
      width: 34.3rem;
      border-style: solid;
      border-color: transparent;
      border-width: 2.4rem;
      /* 角のサイズに合わせる */
      border-image-source: url("../images/check/result_bg.png");
      border-image-slice: 48 fill;
      /* ← ここが重要 */
      border-image-repeat: stretch;
      filter: drop-shadow(0.8rem 0.8rem 0.8rem rgba(0, 0, 0, 0.4)); }
      main.check .result .dialog .wrapper .close {
        width: 6rem;
        height: 6rem;
        position: absolute;
        top: -5.4rem;
        right: -5.4rem;
        z-index: 1;
        background-color: #000;
        border-radius: 50%;
        text-indent: -9999px;
        overflow: hidden; }
        @media screen and (max-width: 1023px) {
          main.check .result .dialog .wrapper .close {
            width: 4rem;
            height: 4rem;
            top: -4.4rem;
            right: -4.4rem; } }
        main.check .result .dialog .wrapper .close:before, main.check .result .dialog .wrapper .close:after {
          content: "";
          display: block;
          width: 2.8rem;
          height: 1px;
          background-color: #000;
          position: absolute;
          top: 50%;
          left: calc(50% - 1.4rem);
          background-color: #fff; }
          @media screen and (max-width: 1023px) {
            main.check .result .dialog .wrapper .close:before, main.check .result .dialog .wrapper .close:after {
              width: 1.8rem;
              left: calc(50% - .9rem); } }
        main.check .result .dialog .wrapper .close:before {
          transform: rotate(45deg); }
        main.check .result .dialog .wrapper .close:after {
          transform: rotate(-45deg); }
      main.check .result .dialog .wrapper section {
        padding: 4.4rem .8rem 4.4rem;
        display: none; }
        main.check .result .dialog .wrapper section.active {
          display: block; }
        main.check .result .dialog .wrapper section h2 {
          font-weight: 700;
          font-size: 20px;
          line-height: 29px;
          text-align: center;
          letter-spacing: 0.05em;
          color: #82FFB1;
          height: 4.5rem;
          background-image: url("../images/check/result_title_bg.png");
          background-size: 14.2rem auto;
          background-position: 50% 0%;
          background-repeat: no-repeat;
          display: flex;
          align-items: center;
          justify-content: center; }
        main.check .result .dialog .wrapper section .rank {
          width: 28rem;
          height: 6.4rem;
          background: #D71900;
          border: .4rem  solid #00FFB3;
          box-shadow: 0.8rem 0.8rem 0.8rem rgba(0, 0, 0, 0.4);
          display: flex;
          align-items: center;
          justify-content: center;
          margin-bottom: 1.6rem; }
          main.check .result .dialog .wrapper section .rank span:nth-child(1) {
            font-weight: 700;
            font-size: 2.4rem;
            line-height: 3.4rem;
            text-align: center;
            letter-spacing: 0.05em;
            color: #82FFB1;
            margin-right: .6rem;
            margin-top: .6rem; }
          main.check .result .dialog .wrapper section .rank span:nth-child(2) {
            font-family: 'Poppins';
            font-style: normal;
            font-weight: 700;
            font-size: 4.8rem;
            line-height: 7.2rem;
            text-align: center;
            color: #82FFB1; }
          main.check .result .dialog .wrapper section .rank span:nth-child(3) {
            font-family: 'Poppins';
            font-style: normal;
            font-weight: 700;
            font-size: 3.2rem;
            line-height: 4.8rem;
            text-align: center;
            color: #82FFB1;
            margin-top: .8rem; }
        main.check .result .dialog .wrapper section .title {
          font-style: normal;
          font-weight: 700;
          font-size: 2.4rem;
          line-height: 3.7rem;
          text-align: center;
          letter-spacing: -0.05em;
          color: #82FFB1;
          margin-bottom: 1.6rem; }
        main.check .result .dialog .wrapper section .description {
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 2rem;
          color: #82FFB1;
          margin-bottom: 1.6rem; }
        main.check .result .dialog .wrapper section .action {
          display: flex;
          flex-wrap: wrap;
          margin: 0 auto;
          gap: 1.6rem;
          margin: 0 -2.4rem; }
          main.check .result .dialog .wrapper section .action li {
            flex: 0 0 100%; }
            main.check .result .dialog .wrapper section .action li a {
              position: relative;
              display: block;
              background-color: #fff;
              font-size: calc(6 / 8 * 1rem);
              height: 8em;
              padding-top: 1.5em;
              background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
              background-size: 200% 100%;
              background-position: 100% 0%;
              transition: background-position 0.3s ease; }
              main.check .result .dialog .wrapper section .action li a p {
                width: calc(100% - 8em);
                background-repeat: repeat-x;
                text-indent: -9999px;
                overflow: hidden; }
                main.check .result .dialog .wrapper section .action li a p:nth-child(1) {
                  height: 3.2em;
                  margin-bottom: .5em; }
                main.check .result .dialog .wrapper section .action li a p:nth-child(2) {
                  height: 1.3em; }
              main.check .result .dialog .wrapper section .action li a .arrow {
                content: "";
                display: block;
                width: 7.2em;
                height: 7.2em;
                background-color: #000;
                position: absolute;
                top: .4em;
                right: .4em; }
                main.check .result .dialog .wrapper section .action li a .arrow:after {
                  content: '';
                  display: block;
                  width: 2.2em;
                  height: 2.2em;
                  -webkit-mask-image: url("../images/common/cta_arrow.svg");
                  -webkit-mask-size: 2.2em 2.2em;
                  -webkit-mask-position: 0 0;
                  mask-image: url("../images/common/cta_arrow.svg");
                  mask-size: 2.2em 2.2em;
                  mask-position: 0 0;
                  position: absolute;
                  top: calc(50% - 1.1em);
                  left: calc(50% - 1.1em);
                  transition: all ease .3s;
                  background-color: #fff; }
              @media screen and (min-width: 1024px) {
                main.check .result .dialog .wrapper section .action li a:hover {
                  background-position: 0% 0%; }
                  main.check .result .dialog .wrapper section .action li a:hover .arrow:after {
                    background-color: #D9FF00;
                    -webkit-mask-position: 2.2em 0;
                    mask-position: 2.2em 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
            main.check .result .dialog .wrapper section .action li:nth-child(1) a p:nth-child(1) {
              background-image: url("../images/common/cta_graduate_text.svg");
              background-size: 19.1em 3.2em;
              animation: cta-graduate-loop linear calc(19.1s / 10) infinite; }
            main.check .result .dialog .wrapper section .action li:nth-child(1) a p:nth-child(2) {
              background-image: url("../images/common/cta_graduate_text_en.svg");
              background-size: 8.7em 1.3em;
              animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
            main.check .result .dialog .wrapper section .action li:nth-child(2) a p:nth-child(1) {
              background-image: url("../images/common/cta_career_text.svg");
              background-size: 25em 3.2em;
              animation: cta-career-loop linear calc(25s / 10) infinite; }
            main.check .result .dialog .wrapper section .action li:nth-child(2) a p:nth-child(2) {
              background-image: url("../images/common/cta_career_text_en.svg");
              background-size: 15.8em 1.3em;
              animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
        main.check .result .dialog .wrapper section .link,
        main.check .result .dialog .wrapper section .reset {
          font-weight: 700;
          font-size: 1.6rem;
          line-height: 3.6rem;
          text-align: center;
          letter-spacing: .3rem;
          text-decoration: underline;
          color: #FFFFFF;
          cursor: pointer;
          margin-top: .8rem; }
  main.check .result.active .dialog {
    opacity: 1;
    pointer-events: auto; }
    main.check .result.active .dialog:before {
      opacity: 1;
      transform: translate(0, 0); }
main.check nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.check nav.cta {
      padding: 8rem 0 12rem; } }
  main.check nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.check nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.check nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.check nav.cta .container .copy {
          width: auto; } }
    main.check nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.check nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.check nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.check nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.check nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.check nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.check nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.check nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.check nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.check nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.check nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.check nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.check nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.check nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.check nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.check nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.check nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.check nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.check nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.check nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.check nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.check nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.check nav.other header {
        padding: 4rem 0 0; } }
    main.check nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.check nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.check nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.check nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.check nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.check nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.check nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.check nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.check nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.check nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.check nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.check nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.check nav.other .content ul li {
            flex: 0 0 100%; } }
        main.check nav.other .content ul li a {
          display: block; }
          main.check nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.check nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.check nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.check nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.check nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.check nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.check nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.check nav.other .content ul li:nth-child(4), main.check nav.other .content ul li:nth-child(5), main.check nav.other .content ul li:nth-child(6) {
            display: none; } }

main.why > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.why > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.why > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/why/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.why > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.why > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.why > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-why {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -59.6em 0;
    				}
    			}
    			background-image: url("../images/why/header_title_en.svg");
    //			background-size: 59.6rem 7.7rem;
    			background-size: 59.6em auto;
    			animation: header-title-en-why linear calc(59.6s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.why > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.why > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.why > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.why > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.why > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.why > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.why > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.why > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.why > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.why > header .scroll {
        font-size: calc(3rem /4); } }
main.why section.why {
  background-color: #fff; }
  main.why section.why ul li {
    display: flex;
    border-bottom: 1px solid #000; }
    @media screen and (max-width: 1023px) {
      main.why section.why ul li {
        display: block; } }
    main.why section.why ul li figure {
      flex: 0 0 72rem;
      overflow: hidden; }
      main.why section.why ul li figure a {
        display: block; }
        main.why section.why ul li figure a img {
          transition: all ease .3s; }
        main.why section.why ul li figure a:hover img {
          transform: scale(1.05); }
    main.why section.why ul li .content {
      flex: 1;
      border-left: 1px solid #000;
      padding-left: 4.8rem; }
      @media screen and (max-width: 1023px) {
        main.why section.why ul li .content {
          padding: 2.4rem 2.4rem 4rem;
          border: none;
          border-top: 1px solid #000; } }
      main.why section.why ul li .content .title {
        display: flex;
        align-items: center;
        height: 23.2rem;
        padding-top: .8rem;
        font-weight: 700;
        font-size: 3.2rem;
        line-height: 4.8rem;
        letter-spacing: 0.09em;
        color: #000000; }
        @media screen and (max-width: 1023px) {
          main.why section.why ul li .content .title {
            font-size: 2.4rem;
            line-height: 3.4rem;
            margin-bottom: 1.6rem;
            height: auto; } }
      main.why section.why ul li .content .profile {
        font-weight: 500;
        font-size: 1.4rem;
        line-height: 2.4rem;
        letter-spacing: .1rem;
        color: #000000;
        margin-bottom: 1.5rem; }
        @media screen and (max-width: 1023px) {
          main.why section.why ul li .content .profile {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            margin-bottom: .8rem; } }
      main.why section.why ul li .content .name {
        display: flex;
        gap: 2rem;
        align-items: baseline; }
        @media screen and (max-width: 1023px) {
          main.why section.why ul li .content .name {
            gap: 1.6rem; } }
        main.why section.why ul li .content .name p:nth-child(1) {
          font-weight: 700;
          font-size: 2.8rem;
          line-height: 4.4rem;
          letter-spacing: 0.09em;
          color: #000000; }
          @media screen and (max-width: 1023px) {
            main.why section.why ul li .content .name p:nth-child(1) {
              font-weight: 700;
              font-size: 2.4rem;
              line-height: 3.4rem; } }
        main.why section.why ul li .content .name p:nth-child(2) {
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 500;
          font-size: 1.4rem;
          line-height: 100%;
          letter-spacing: -0.04em;
          color: #000000; }
          @media screen and (max-width: 1023px) {
            main.why section.why ul li .content .name p:nth-child(2) {
              font-size: 1.2rem;
              line-height: 1.8rem; } }
      main.why section.why ul li .content .action {
        margin-top: 4.4rem; }
        @media screen and (max-width: 1023px) {
          main.why section.why ul li .content .action {
            margin-top: 2.4rem; } }
        main.why section.why ul li .content .action a {
          position: relative;
          display: flex;
          align-items: center;
          width: fit-content;
          padding: 0 4.4rem 0 1.2rem;
          height: 3.2rem;
          padding-left: 1rem;
          border: 1px solid #000;
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 600;
          font-size: 1.4rem;
          line-height: 2.1rem;
          color: #000000;
          background-color: #fff;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          main.why section.why ul li .content .action a .arrow {
            position: relative;
            content: "";
            display: block;
            width: 3.2rem;
            height: 3.2rem;
            position: absolute;
            top: 0;
            right: 0;
            background-color: #000; }
            main.why section.why ul li .content .action a .arrow:after {
              content: "";
              display: block;
              width: 1.2rem;
              height: 1.2rem;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
              -webkit-mask-image: url("../images/why/why_arrow.svg");
              -webkit-mask-size: 100% 100%;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/why/why_arrow.svg");
              mask-size: 100% 100%;
              mask-position: 0 0;
              background-color: #fff;
              transition: all ease .3s; }
          @media screen and (min-width: 1024px) {
            main.why section.why ul li .content .action a:hover {
              background-position: 0% 0%; }
              main.why section.why ul li .content .action a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 1.2rem 0;
                mask-position: 1.2rem 0; } }
  main.why section.why:after {
    content: "";
    background-image: url("../images/why/decor_text_black.svg");
    background-size: 12.6em auto;
    animation: decor-text-loop-why linear calc(12.6s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff;
    margin-top: -1px; }
@keyframes decor-text-loop-why {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -12.6em 58%; } }
    @media screen and (max-width: 1023px) {
      main.why section.why:after {
        font-size: calc(3rem /4); } }
main.why nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.why nav.cta {
      padding: 8rem 0 12rem; } }
  main.why nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.why nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.why nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.why nav.cta .container .copy {
          width: auto; } }
    main.why nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.why nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.why nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.why nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.why nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.why nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.why nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.why nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.why nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.why nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.why nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.why nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.why nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.why nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.why nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.why nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.why nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.why nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.why nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.why nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.why nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.why nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.why nav.other header {
        padding: 4rem 0 0; } }
    main.why nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.why nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.why nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.why nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.why nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.why nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.why nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.why nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.why nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.why nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.why nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.why nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.why nav.other .content ul li {
            flex: 0 0 100%; } }
        main.why nav.other .content ul li a {
          display: block; }
          main.why nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.why nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.why nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.why nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.why nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.why nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.why nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.why nav.other .content ul li:nth-child(4), main.why nav.other .content ul li:nth-child(5), main.why nav.other .content ul li:nth-child(6) {
            display: none; } }

main.why-detail > header {
  background-color: #fff;
  padding-top: 8rem; }
  @media screen and (max-width: 1023px) {
    main.why-detail > header {
      padding-top: 6.4rem; } }
  main.why-detail > header .bg {
    display: none; }
    @media screen and (max-width: 1023px) {
      main.why-detail > header .bg {
        display: block;
        display: none;
        position: absolute;
        top: 6.4rem;
        left: 0;
        right: 0;
        bottom: 0;
        overflow: hidden; }
        main.why-detail > header .bg img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          filter: blur(20px); } }
  main.why-detail > header .scroll {
    content: "";
    background-image: url("../images/common/decor_text_scroll_black.svg");
    background-size: 17.3em auto;
    animation: decor-text-loop-scroll linear calc(17.3s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff;
    width: 100%;
    text-indent: -9999px;
    overflow: hidden; }
@keyframes decor-text-loop-scroll {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -17.3em 58%; } }
    @media screen and (max-width: 1023px) {
      main.why-detail > header .scroll {
        font-size: calc(3rem /4); } }
  main.why-detail > header .visual {
    position: relative;
    display: flex;
    align-items: flex-end;
    flex-direction: column; }
    main.why-detail > header .visual figure {
      position: relative;
      width: calc(100vw - 6.4rem);
      aspect-ratio: 16 / 9; }
      @media screen and (max-width: 1023px) {
        main.why-detail > header .visual figure {
          width: calc(100vw - 2.4rem); } }
      main.why-detail > header .visual figure iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
      main.why-detail > header .visual figure img {
        width: 100%; }
@keyframes header-back-loop {
  0% {
    background-position: 50% 0; }
  100% {
    background-position: 50% -12.6rem; } }
    main.why-detail > header .visual .back {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 4rem; }
      main.why-detail > header .visual .back a {
        display: block;
        width: 6.4rem;
        height: 100%;
        background-image: url("../images/why/detail/header_back.svg");
        background-size: 1.6rem 12.6rem;
        background-position: 50% 0;
        background-repeat: repeat-y;
        text-indent: -9999px;
        background-color: #fff;
        overflow: hidden;
        border-right: 1px solid #000;
        animation: header-back-loop linear calc(12.6s / 10) infinite; }
        @media screen and (max-width: 1023px) {
          main.why-detail > header .visual .back a {
            width: 2.4rem; } }
        main.why-detail > header .visual .back a:after {
          content: "";
          display: block;
          width: 6.4rem;
          height: 6.4rem;
          background-color: #000;
          position: absolute;
          bottom: 0;
          left: 0;
          background-image: url("../images/why/detail/header_back_arrow.svg");
          background-size: 2.3rem 2.3rem;
          background-position: 50% 50%;
          background-repeat: no-repeat; }
          @media screen and (max-width: 1023px) {
            main.why-detail > header .visual .back a:after {
              width: 3.8em;
              height: 3.8em;
              background-size: 1.3rem 1.3rem; } }
  main.why-detail > header .content {
    background-color: #004DFF; }
    main.why-detail > header .content .container {
      width: calc(100% - 6.6rem * 2);
      max-width: 115rem;
      margin: 0 auto;
      padding: 8rem 0; }
      @media screen and (max-width: 1023px) {
        main.why-detail > header .content .container {
          width: calc(100% - 2.4rem * 2); } }
      @media screen and (max-width: 1023px) {
        main.why-detail > header .content .container {
          padding: 4rem 0; } }
      main.why-detail > header .content .container .title {
        margin-bottom: 6rem; }
        @media screen and (max-width: 1023px) {
          main.why-detail > header .content .container .title {
            margin-bottom: 2.4rem; } }
        main.why-detail > header .content .container .title span {
          display: block; }
          main.why-detail > header .content .container .title span img {
            width: auto;
            height: 5.2rem; }
            @media screen and (max-width: 1023px) {
              main.why-detail > header .content .container .title span img {
                width: 21.2rem;
                height: 3.1rem; } }
      main.why-detail > header .content .container h1 {
        font-weight: 700;
        font-size: 8rem;
        line-height: 9.6rem;
        letter-spacing: -0.05em;
        color: #FFAB00;
        margin-bottom: 5.3rem; }
        @media screen and (max-width: 1023px) {
          main.why-detail > header .content .container h1 {
            font-size: 3.2rem;
            line-height: 3.9rem;
            line-height: 4.6rem;
            letter-spacing: -0.05em;
            margin-bottom: 2.4rem; } }
        main.why-detail > header .content .container h1 > span {
          display: block;
          width: fit-content;
          margin-bottom: 2rem;
          position: relative;
          width: fit-content;
          transition: all ease .3s;
          clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
          @media screen and (max-width: 1023px) {
            main.why-detail > header .content .container h1 > span {
              margin-bottom: .7rem; } }
          main.why-detail > header .content .container h1 > span:last-child {
            margin-bottom: 0; }
          main.why-detail > header .content .container h1 > span strong,
          main.why-detail > header .content .container h1 > span .highlight {
            background-color: #FFAB00;
            color: #004DFF;
            display: inline-block;
            padding: 0 .8rem; }
            @media screen and (max-width: 1023px) {
              main.why-detail > header .content .container h1 > span strong,
              main.why-detail > header .content .container h1 > span .highlight {
                padding: 0 .4rem; } }
          main.why-detail > header .content .container h1 > span:before {
            content: "";
            display: block;
            background-color: #FFAB00;
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            width: 100%;
            transition: all ease .3s .3s;
            transform-origin: 100% 0; }
          main.why-detail > header .content .container h1 > span[data-inview-active] {
            clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
            main.why-detail > header .content .container h1 > span[data-inview-active]:before {
              transform: scale(0, 1); }
      main.why-detail > header .content .container p {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 4.6rem;
        letter-spacing: .3rem;
        color: #FFAB00; }
        @media screen and (max-width: 1023px) {
          main.why-detail > header .content .container p {
            font-size: 1.4rem;
            line-height: 2.8rem; } }
main.why-detail section.profile {
  background-color: #fff;
  display: flex;
  gap: 4.8rem;
  padding: 6.4rem 5rem;
  background-color: #fff; }
  main.why-detail section.profile:has(.container) {
    display: block;
    padding: 0; }
  @media screen and (max-width: 1023px) {
    main.why-detail section.profile {
      display: block; } }
  main.why-detail section.profile .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    display: flex;
    gap: 4.8rem;
    padding: 6.4rem 0; }
    @media screen and (max-width: 1023px) {
      main.why-detail section.profile .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.why-detail section.profile .container {
        padding: 4rem 0;
        display: block; } }
  main.why-detail section.profile figure {
    flex: 0 0 35.5rem; }
    @media screen and (max-width: 1023px) {
      main.why-detail section.profile figure {
        margin-bottom: 2.4rem; } }
  main.why-detail section.profile .content {
    flex: 1; }
    main.why-detail section.profile .content .join {
      border: 1px solid #000;
      padding: .4rem;
      font-weight: 700;
      font-size: 1.4rem;
      line-height: 2rem;
      letter-spacing: 0.09em;
      color: #000000;
      width: fit-content;
      margin-bottom: 2.4rem; }
      @media screen and (max-width: 1023px) {
        main.why-detail section.profile .content .join {
          font-size: 1.2rem;
          line-height: 1.7rem;
          margin-bottom: 1.6rem; } }
    main.why-detail section.profile .content .profile,
    main.why-detail section.profile .content .job {
      font-weight: 700;
      font-size: 1.4rem;
      line-height: 2.4rem;
      letter-spacing: .1em;
      color: #000000;
      margin-bottom: 1.2rem; }
      @media screen and (max-width: 1023px) {
        main.why-detail section.profile .content .profile,
        main.why-detail section.profile .content .job {
          margin-bottom: .8rem; } }
    main.why-detail section.profile .content .name {
      margin-bottom: 2.4rem; }
      main.why-detail section.profile .content .name p:nth-child(1) {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 1.5;
        letter-spacing: 0.12em;
        color: #000000;
        margin-bottom: .4rem; }
      main.why-detail section.profile .content .name p:nth-child(2) {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 500;
        font-size: 1.4rem;
        line-height: 2.8rem;
        letter-spacing: .1rem;
        color: #000000; }
        @media screen and (max-width: 1023px) {
          main.why-detail section.profile .content .name p:nth-child(2) {
            line-height: 1.5; } }
    main.why-detail section.profile .content .description {
      font-weight: 500;
      font-size: 1.4rem;
      line-height: 2.8rem;
      letter-spacing: .1rem;
      color: #000000; }
main.why-detail section.movie {
  background-color: #fff; }
  main.why-detail section.movie:after {
    content: "";
    background-image: url("../images/why/decor_text_black.svg");
    background-size: 12.6em auto;
    animation: decor-text-loop-why linear calc(12.6s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-why {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -12.6em 58%; } }
    @media screen and (max-width: 1023px) {
      main.why-detail section.movie:after {
        font-size: calc(3rem /4); } }
  main.why-detail section.movie .container {
    padding: 0 4rem 8rem; }
    @media screen and (max-width: 1023px) {
      main.why-detail section.movie .container {
        padding: 0 2.4rem 5.6rem; } }
    main.why-detail section.movie .container figure {
      position: relative;
      width: 100%;
      aspect-ratio: 16 / 9; }
      main.why-detail section.movie .container figure iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
main.why-detail > .body:after {
  content: "";
  background-image: url("../images/why/decor_text_black.svg");
  background-size: 12.6em auto;
  animation: decor-text-loop-why linear calc(12.6s / 10) infinite;
  text-indent: -9999px;
  overflow: hidden;
  background-position: 0 58%;
  background-repeat: repeat-x;
  display: block;
  font-size: 1rem;
  height: 4em;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  background-color: #fff; }
@keyframes decor-text-loop-why {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -12.6em 58%; } }
  @media screen and (max-width: 1023px) {
    main.why-detail > .body:after {
      font-size: calc(3rem /4); } }
main.why-detail > .body section {
  display: flex;
  background-color: #004DFF; }
  @media screen and (max-width: 1023px) {
    main.why-detail > .body section {
      display: block; } }
  main.why-detail > .body section + section {
    margin-top: -10rem; }
    @media screen and (max-width: 1023px) {
      main.why-detail > .body section + section {
        margin-top: 0; } }
  main.why-detail > .body section header {
    padding: 10rem 0 10rem 6rem;
    flex: 0 0 47.4rem;
    background-color: #004DFF; }
    @media screen and (max-width: 1023px) {
      main.why-detail > .body section header {
        padding: 4rem 0  2.4rem 2.4rem; } }
    main.why-detail > .body section header h3,
    main.why-detail > .body section header h2 {
      position: sticky;
      top: 20rem; }
      @media screen and (max-width: 1023px) {
        main.why-detail > .body section header h3,
        main.why-detail > .body section header h2 {
          position: static; } }
      main.why-detail > .body section header h3 span,
      main.why-detail > .body section header h2 span {
        display: block;
        width: fit-content;
        padding: 0 .8rem;
        font-family: YakuhanJP, 'Noto Sans JP', san-serif;
        font-style: normal;
        font-weight: 700;
        font-size: 2.8rem;
        line-height: 3.6rem;
        margin-bottom: .7rem;
        letter-spacing: -0.05em;
        color: #004DFF;
        background-color: #FFAB00;
        position: relative;
        width: fit-content;
        transition: all ease .3s;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
        main.why-detail > .body section header h3 span:before,
        main.why-detail > .body section header h2 span:before {
          content: "";
          display: block;
          background-color: #FFAB00;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          transition: all ease .3s .3s;
          transform-origin: 100% 0; }
        main.why-detail > .body section header h3 span[data-inview-active],
        main.why-detail > .body section header h2 span[data-inview-active] {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          main.why-detail > .body section header h3 span[data-inview-active]:before,
          main.why-detail > .body section header h2 span[data-inview-active]:before {
            transform: scale(0, 1); }
        @media screen and (max-width: 1023px) {
          main.why-detail > .body section header h3 span,
          main.why-detail > .body section header h2 span {
            font-size: 2.4rem;
            line-height: 3.18rem;
            padding: 0 .4rem;
            margin-bottom: .54rem; } }
  main.why-detail > .body section .content {
    background-color: #fff;
    flex: 1;
    padding: 10rem 6.7rem 10rem 9.7rem; }
    @media screen and (max-width: 1023px) {
      main.why-detail > .body section .content {
        margin-left: 24px; } }
    @media screen and (max-width: 1023px) {
      main.why-detail > .body section .content {
        padding: 2.4rem 2.4rem 5.6rem; } }
    main.why-detail > .body section .content p {
      max-width: 52rem;
      font-weight: 700;
      font-size: 1.4rem;
      line-height: 2.8rem;
      letter-spacing: .3rem;
      color: #000000;
      margin: 2.8rem 0; }
    main.why-detail > .body section .content figure {
      margin: 8rem 0; }
      @media screen and (max-width: 1023px) {
        main.why-detail > .body section .content figure {
          margin: 4rem 0; } }
    main.why-detail > .body section .content *:first-child {
      margin-top: 0; }
    main.why-detail > .body section .content *:last-child {
      margin-bottom: 0; }
main.why-detail section.appeal {
  background-color: #004DFF; }
  main.why-detail section.appeal:after {
    content: "";
    background-image: url("../images/why/decor_text_black.svg");
    background-size: 12.6em auto;
    animation: decor-text-loop-why linear calc(12.6s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-why {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -12.6em 58%; } }
    @media screen and (max-width: 1023px) {
      main.why-detail section.appeal:after {
        font-size: calc(3rem /4); } }
  main.why-detail section.appeal .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 5.6rem 0; }
    @media screen and (max-width: 1023px) {
      main.why-detail section.appeal .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.why-detail section.appeal .container {
        padding: 4rem 0; } }
    main.why-detail section.appeal .container p {
      font-family: YakuHanJP, 'Noto Sans JP', san-serif;
      font-weight: 700;
      font-size: 4rem;
      line-height: 5.8rem;
      letter-spacing: -0.05em;
      color: #FFAB00; }
      @media screen and (max-width: 1023px) {
        main.why-detail section.appeal .container p {
          font-size: 2rem;
          line-height: 2.9rem; } }
      @media screen and (max-width: 1023px) {
        main.why-detail section.appeal .container p br {
          display: none; } }
main.why-detail section.why {
  background-color: #fff; }
  main.why-detail section.why ul li {
    display: flex;
    border-bottom: 1px solid #000; }
    @media screen and (max-width: 1023px) {
      main.why-detail section.why ul li {
        display: block; } }
    main.why-detail section.why ul li figure {
      flex: 0 0 72rem;
      overflow: hidden; }
      main.why-detail section.why ul li figure a {
        display: block; }
        main.why-detail section.why ul li figure a img {
          transition: all ease .3s; }
        main.why-detail section.why ul li figure a:hover img {
          transform: scale(1.05); }
    main.why-detail section.why ul li .content {
      flex: 1;
      border-left: 1px solid #000;
      padding-left: 4.8rem; }
      @media screen and (max-width: 1023px) {
        main.why-detail section.why ul li .content {
          padding: 2.4rem 2.4rem 4rem;
          border: none;
          border-top: 1px solid #000; } }
      main.why-detail section.why ul li .content .title {
        display: flex;
        align-items: center;
        height: 23.2rem;
        padding-top: .8rem;
        font-weight: 700;
        font-size: 3.2rem;
        line-height: 4.8rem;
        letter-spacing: 0.09em;
        color: #000000; }
        @media screen and (max-width: 1023px) {
          main.why-detail section.why ul li .content .title {
            font-size: 2.4rem;
            line-height: 3.4rem;
            margin-bottom: 1.6rem;
            height: auto; } }
      main.why-detail section.why ul li .content .profile {
        font-weight: 500;
        font-size: 1.4rem;
        line-height: 2.4rem;
        letter-spacing: .1rem;
        color: #000000;
        margin-bottom: 1.5rem; }
        @media screen and (max-width: 1023px) {
          main.why-detail section.why ul li .content .profile {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            margin-bottom: .8rem; } }
      main.why-detail section.why ul li .content .name {
        display: flex;
        gap: 2rem;
        align-items: baseline; }
        @media screen and (max-width: 1023px) {
          main.why-detail section.why ul li .content .name {
            gap: 1.6rem; } }
        main.why-detail section.why ul li .content .name p:nth-child(1) {
          font-weight: 700;
          font-size: 2.8rem;
          line-height: 4.4rem;
          letter-spacing: 0.09em;
          color: #000000; }
          @media screen and (max-width: 1023px) {
            main.why-detail section.why ul li .content .name p:nth-child(1) {
              font-weight: 700;
              font-size: 2.4rem;
              line-height: 3.4rem; } }
        main.why-detail section.why ul li .content .name p:nth-child(2) {
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 500;
          font-size: 1.4rem;
          line-height: 100%;
          letter-spacing: -0.04em;
          color: #000000; }
          @media screen and (max-width: 1023px) {
            main.why-detail section.why ul li .content .name p:nth-child(2) {
              font-size: 1.2rem;
              line-height: 1.8rem; } }
      main.why-detail section.why ul li .content .action {
        margin-top: 4.4rem; }
        @media screen and (max-width: 1023px) {
          main.why-detail section.why ul li .content .action {
            margin-top: 2.4rem; } }
        main.why-detail section.why ul li .content .action a {
          position: relative;
          display: flex;
          align-items: center;
          width: fit-content;
          padding: 0 4.4rem 0 1.2rem;
          height: 3.2rem;
          padding-left: 1rem;
          border: 1px solid #000;
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 600;
          font-size: 1.4rem;
          line-height: 2.1rem;
          color: #000000;
          background-color: #fff;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          main.why-detail section.why ul li .content .action a .arrow {
            position: relative;
            content: "";
            display: block;
            width: 3.2rem;
            height: 3.2rem;
            position: absolute;
            top: 0;
            right: 0;
            background-color: #000; }
            main.why-detail section.why ul li .content .action a .arrow:after {
              content: "";
              display: block;
              width: 1.2rem;
              height: 1.2rem;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
              -webkit-mask-image: url("../images/why/why_arrow.svg");
              -webkit-mask-size: 100% 100%;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/why/why_arrow.svg");
              mask-size: 100% 100%;
              mask-position: 0 0;
              background-color: #fff;
              transition: all ease .3s; }
          @media screen and (min-width: 1024px) {
            main.why-detail section.why ul li .content .action a:hover {
              background-position: 0% 0%; }
              main.why-detail section.why ul li .content .action a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 1.2rem 0;
                mask-position: 1.2rem 0; } }
main.why-detail nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.why-detail nav.cta {
      padding: 8rem 0 12rem; } }
  main.why-detail nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.why-detail nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.why-detail nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.why-detail nav.cta .container .copy {
          width: auto; } }
    main.why-detail nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.why-detail nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.why-detail nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.why-detail nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.why-detail nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.why-detail nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.why-detail nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.why-detail nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.why-detail nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.why-detail nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.why-detail nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.why-detail nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.why-detail nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.why-detail nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.why-detail nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.why-detail nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.why-detail nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.why-detail nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.why-detail nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.why-detail nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.why-detail nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.why-detail nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.why-detail nav.other header {
        padding: 4rem 0 0; } }
    main.why-detail nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.why-detail nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.why-detail nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.why-detail nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.why-detail nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.why-detail nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.why-detail nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.why-detail nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.why-detail nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.why-detail nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.why-detail nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.why-detail nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.why-detail nav.other .content ul li {
            flex: 0 0 100%; } }
        main.why-detail nav.other .content ul li a {
          display: block; }
          main.why-detail nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.why-detail nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.why-detail nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.why-detail nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.why-detail nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.why-detail nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.why-detail nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.why-detail nav.other .content ul li:nth-child(4), main.why-detail nav.other .content ul li:nth-child(5), main.why-detail nav.other .content ul li:nth-child(6) {
            display: none; } }

main.highperformer > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.highperformer > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.highperformer > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/highperformer/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.highperformer > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.highperformer > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.highperformer > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-highperformer {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -89.8em 0;
    				}
    			}
    			background-image: url("../images/highperformer/header_title_en.svg");
    //			background-size: 89.8rem 7.7rem;
    			background-size: 89.8em auto;
    			animation: header-title-en-highperformer linear calc(89.8s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.highperformer > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.highperformer > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.highperformer > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.highperformer > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.highperformer > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.highperformer > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.highperformer > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.highperformer > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.highperformer > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.highperformer > header .scroll {
        font-size: calc(3rem /4); } }
main.highperformer section.highperformer {
  background-color: #fff; }
  main.highperformer section.highperformer ul li {
    display: flex;
    border-bottom: 1px solid #000; }
    @media screen and (max-width: 1023px) {
      main.highperformer section.highperformer ul li {
        display: block; } }
    main.highperformer section.highperformer ul li figure {
      flex: 0 0 72rem;
      overflow: hidden; }
      main.highperformer section.highperformer ul li figure a {
        display: block; }
        main.highperformer section.highperformer ul li figure a img {
          transition: all ease .3s; }
        main.highperformer section.highperformer ul li figure a:hover img {
          transform: scale(1.05); }
    main.highperformer section.highperformer ul li .content {
      flex: 1;
      border-left: 1px solid #000;
      padding-left: 4.8rem; }
      @media screen and (max-width: 1023px) {
        main.highperformer section.highperformer ul li .content {
          padding: 2.4rem 2.4rem 4rem;
          border: none;
          border-top: 1px solid #000; } }
      main.highperformer section.highperformer ul li .content .title {
        display: flex;
        align-items: center;
        height: 23.2rem;
        padding-top: .8rem;
        font-weight: 700;
        font-size: 3.2rem;
        line-height: 4.8rem;
        letter-spacing: 0.09em;
        color: #000000; }
        @media screen and (max-width: 1023px) {
          main.highperformer section.highperformer ul li .content .title {
            font-size: 2.4rem;
            line-height: 3.4rem;
            margin-bottom: 1.6rem;
            height: auto; } }
      main.highperformer section.highperformer ul li .content .profile {
        font-weight: 500;
        font-size: 1.4rem;
        line-height: 2.4rem;
        letter-spacing: .1rem;
        color: #000000;
        margin-bottom: 1.5rem; }
        @media screen and (max-width: 1023px) {
          main.highperformer section.highperformer ul li .content .profile {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            margin-bottom: .8rem; } }
      main.highperformer section.highperformer ul li .content .name {
        display: flex;
        gap: 2rem;
        align-items: baseline; }
        @media screen and (max-width: 1023px) {
          main.highperformer section.highperformer ul li .content .name {
            gap: 1.6rem; } }
        main.highperformer section.highperformer ul li .content .name p:nth-child(1) {
          font-weight: 700;
          font-size: 2.8rem;
          line-height: 4.4rem;
          letter-spacing: 0.09em;
          color: #000000; }
          @media screen and (max-width: 1023px) {
            main.highperformer section.highperformer ul li .content .name p:nth-child(1) {
              font-weight: 700;
              font-size: 2.4rem;
              line-height: 3.4rem; } }
        main.highperformer section.highperformer ul li .content .name p:nth-child(2) {
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 500;
          font-size: 1.4rem;
          line-height: 100%;
          letter-spacing: -0.04em;
          color: #000000; }
          @media screen and (max-width: 1023px) {
            main.highperformer section.highperformer ul li .content .name p:nth-child(2) {
              font-size: 1.2rem;
              line-height: 1.8rem; } }
      main.highperformer section.highperformer ul li .content .action {
        margin-top: 4.4rem; }
        @media screen and (max-width: 1023px) {
          main.highperformer section.highperformer ul li .content .action {
            margin-top: 2.4rem; } }
        main.highperformer section.highperformer ul li .content .action a {
          position: relative;
          display: flex;
          align-items: center;
          width: fit-content;
          padding: 0 4.4rem 0 1.2rem;
          height: 3.2rem;
          padding-left: 1rem;
          border: 1px solid #000;
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 600;
          font-size: 1.4rem;
          line-height: 2.1rem;
          color: #000000;
          background-color: #fff;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          main.highperformer section.highperformer ul li .content .action a .arrow {
            position: relative;
            content: "";
            display: block;
            width: 3.2rem;
            height: 3.2rem;
            position: absolute;
            top: 0;
            right: 0;
            background-color: #000; }
            main.highperformer section.highperformer ul li .content .action a .arrow:after {
              content: "";
              display: block;
              width: 1.2rem;
              height: 1.2rem;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
              -webkit-mask-image: url("../images/why/why_arrow.svg");
              -webkit-mask-size: 100% 100%;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/why/why_arrow.svg");
              mask-size: 100% 100%;
              mask-position: 0 0;
              background-color: #fff;
              transition: all ease .3s; }
          @media screen and (min-width: 1024px) {
            main.highperformer section.highperformer ul li .content .action a:hover {
              background-position: 0% 0%; }
              main.highperformer section.highperformer ul li .content .action a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 1.2rem 0;
                mask-position: 1.2rem 0; } }
  main.highperformer section.highperformer:after {
    content: "";
    background-image: url("../images/highperformer/decor_text_black.svg");
    background-size: 18.6em auto;
    animation: decor-text-loop-highperformer linear calc(18.6s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-highperformer {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -18.6em 58%; } }
    @media screen and (max-width: 1023px) {
      main.highperformer section.highperformer:after {
        font-size: calc(3rem /4); } }
main.highperformer nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.highperformer nav.cta {
      padding: 8rem 0 12rem; } }
  main.highperformer nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.highperformer nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.highperformer nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.highperformer nav.cta .container .copy {
          width: auto; } }
    main.highperformer nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.highperformer nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.highperformer nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.highperformer nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.highperformer nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.highperformer nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.highperformer nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.highperformer nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.highperformer nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.highperformer nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.highperformer nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.highperformer nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.highperformer nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.highperformer nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.highperformer nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.highperformer nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.highperformer nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.highperformer nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.highperformer nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.highperformer nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.highperformer nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.highperformer nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.highperformer nav.other header {
        padding: 4rem 0 0; } }
    main.highperformer nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.highperformer nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.highperformer nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.highperformer nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.highperformer nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.highperformer nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.highperformer nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.highperformer nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.highperformer nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.highperformer nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.highperformer nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.highperformer nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.highperformer nav.other .content ul li {
            flex: 0 0 100%; } }
        main.highperformer nav.other .content ul li a {
          display: block; }
          main.highperformer nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.highperformer nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.highperformer nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.highperformer nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.highperformer nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.highperformer nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.highperformer nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.highperformer nav.other .content ul li:nth-child(4), main.highperformer nav.other .content ul li:nth-child(5), main.highperformer nav.other .content ul li:nth-child(6) {
            display: none; } }

main.highperformer-detail > header {
  background-color: #fff;
  padding-top: 8rem; }
  @media screen and (max-width: 1023px) {
    main.highperformer-detail > header {
      padding-top: 6.4rem; } }
  main.highperformer-detail > header .scroll {
    content: "";
    background-image: url("../images/common/decor_text_scroll_black.svg");
    background-size: 17.3em auto;
    animation: decor-text-loop-scroll linear calc(17.3s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff;
    width: 100%;
    text-indent: -9999px;
    overflow: hidden; }
@keyframes decor-text-loop-scroll {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -17.3em 58%; } }
    @media screen and (max-width: 1023px) {
      main.highperformer-detail > header .scroll {
        font-size: calc(3rem /4); } }
  main.highperformer-detail > header .content {
    background-color: #7800DA; }
    main.highperformer-detail > header .content .container {
      width: calc(100% - 6.6rem * 2);
      max-width: 115rem;
      margin: 0 auto;
      padding: 8rem 0; }
      @media screen and (max-width: 1023px) {
        main.highperformer-detail > header .content .container {
          width: calc(100% - 2.4rem * 2); } }
      @media screen and (max-width: 1023px) {
        main.highperformer-detail > header .content .container {
          padding: 4rem 0; } }
      main.highperformer-detail > header .content .container .title {
        margin-bottom: 6rem; }
        @media screen and (max-width: 1023px) {
          main.highperformer-detail > header .content .container .title {
            margin-bottom: 2.4rem; } }
        main.highperformer-detail > header .content .container .title img {
          height: 5.2rem; }
          @media screen and (max-width: 1023px) {
            main.highperformer-detail > header .content .container .title img {
              height: 3.1rem; } }
      main.highperformer-detail > header .content .container h1 {
        font-family: YakuHanJP, 'Noto Sans JP', san-serif;
        font-weight: 700;
        font-size: 8rem;
        line-height: 9.6rem;
        letter-spacing: -0.05em;
        color: #81F0DA;
        margin-bottom: 5.3rem; }
        @media screen and (max-width: 1023px) {
          main.highperformer-detail > header .content .container h1 {
            font-size: 3.2rem;
            line-height: 3.9rem;
            line-height: 4.6rem;
            letter-spacing: -0.05em;
            margin-bottom: 2.4rem; } }
        main.highperformer-detail > header .content .container h1 > span {
          display: block;
          width: fit-content;
          margin-bottom: 2rem;
          position: relative;
          width: fit-content;
          transition: all ease .3s;
          clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
          @media screen and (max-width: 1023px) {
            main.highperformer-detail > header .content .container h1 > span {
              margin-bottom: .7rem; } }
          main.highperformer-detail > header .content .container h1 > span:last-child {
            margin-bottom: 0; }
          main.highperformer-detail > header .content .container h1 > span strong,
          main.highperformer-detail > header .content .container h1 > span .highlight {
            background-color: #81F0DA;
            color: #7800DA;
            display: inline-block;
            padding: 0 .8rem; }
            @media screen and (max-width: 1023px) {
              main.highperformer-detail > header .content .container h1 > span strong,
              main.highperformer-detail > header .content .container h1 > span .highlight {
                padding: 0 .4rem; } }
          main.highperformer-detail > header .content .container h1 > span:before {
            content: "";
            display: block;
            background-color: #81F0DA;
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            width: 100%;
            transition: all ease .3s .3s;
            transform-origin: 100% 0; }
          main.highperformer-detail > header .content .container h1 > span[data-inview-active] {
            clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
            main.highperformer-detail > header .content .container h1 > span[data-inview-active]:before {
              transform: scale(0, 1); }
      main.highperformer-detail > header .content .container p {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 4.6rem;
        letter-spacing: .3rem;
        color: #81F0DA; }
        @media screen and (max-width: 1023px) {
          main.highperformer-detail > header .content .container p {
            font-size: 1.4rem;
            line-height: 2.8rem; } }
main.highperformer-detail section.profile {
  background-color: #fff;
  display: flex;
  gap: 4.8rem;
  padding: 6.4rem 5rem;
  background-color: #fff; }
  main.highperformer-detail section.profile:has(.container) {
    display: block;
    padding: 0; }
  @media screen and (max-width: 1023px) {
    main.highperformer-detail section.profile {
      display: block; } }
  main.highperformer-detail section.profile .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    display: flex;
    gap: 4.8rem;
    padding: 6.4rem 0; }
    @media screen and (max-width: 1023px) {
      main.highperformer-detail section.profile .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.highperformer-detail section.profile .container {
        padding: 4rem 0;
        display: block; } }
  main.highperformer-detail section.profile figure {
    flex: 0 0 35.5rem; }
    @media screen and (max-width: 1023px) {
      main.highperformer-detail section.profile figure {
        margin-bottom: 2.4rem; } }
  main.highperformer-detail section.profile .content {
    flex: 1; }
    main.highperformer-detail section.profile .content .join {
      border: 1px solid #000;
      padding: .4rem;
      font-weight: 700;
      font-size: 1.4rem;
      line-height: 2rem;
      letter-spacing: 0.09em;
      color: #000000;
      width: fit-content;
      margin-bottom: 2.4rem; }
      @media screen and (max-width: 1023px) {
        main.highperformer-detail section.profile .content .join {
          font-size: 1.2rem;
          line-height: 1.7rem;
          margin-bottom: 1.6rem; } }
    main.highperformer-detail section.profile .content .profile,
    main.highperformer-detail section.profile .content .job {
      font-weight: 700;
      font-size: 1.4rem;
      line-height: 2.4rem;
      letter-spacing: .1em;
      color: #000000;
      margin-bottom: 1.2rem; }
      @media screen and (max-width: 1023px) {
        main.highperformer-detail section.profile .content .profile,
        main.highperformer-detail section.profile .content .job {
          margin-bottom: .8rem; } }
    main.highperformer-detail section.profile .content .name {
      margin-bottom: 2.4rem; }
      main.highperformer-detail section.profile .content .name p:nth-child(1) {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 1.5;
        letter-spacing: 0.12em;
        color: #000000;
        margin-bottom: .4rem; }
      main.highperformer-detail section.profile .content .name p:nth-child(2) {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 500;
        font-size: 1.4rem;
        line-height: 2.8rem;
        letter-spacing: .1rem;
        color: #000000; }
        @media screen and (max-width: 1023px) {
          main.highperformer-detail section.profile .content .name p:nth-child(2) {
            line-height: 1.5; } }
    main.highperformer-detail section.profile .content .description {
      font-weight: 500;
      font-size: 1.4rem;
      line-height: 2.8rem;
      letter-spacing: .1rem;
      color: #000000; }
main.highperformer-detail section.movie {
  background-color: #fff; }
  main.highperformer-detail section.movie:after {
    content: "";
    background-image: url("../images/highperformer/decor_text_black.svg");
    background-size: 18.6em auto;
    animation: decor-text-loop-highperformer linear calc(18.6s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-highperformer {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -18.6em 58%; } }
    @media screen and (max-width: 1023px) {
      main.highperformer-detail section.movie:after {
        font-size: calc(3rem /4); } }
  main.highperformer-detail section.movie .container {
    padding: 0 4rem 8rem; }
    @media screen and (max-width: 1023px) {
      main.highperformer-detail section.movie .container {
        padding: 0 2.4rem 5.6rem; } }
    main.highperformer-detail section.movie .container figure {
      position: relative;
      width: 100%;
      aspect-ratio: 16 / 9; }
      main.highperformer-detail section.movie .container figure iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
main.highperformer-detail > .body:after {
  content: "";
  background-image: url("../images/highperformer/decor_text_black.svg");
  background-size: 18.6em auto;
  animation: decor-text-loop-highperformer linear calc(18.6s / 10) infinite;
  text-indent: -9999px;
  overflow: hidden;
  background-position: 0 58%;
  background-repeat: repeat-x;
  display: block;
  font-size: 1rem;
  height: 4em;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  background-color: #fff; }
@keyframes decor-text-loop-highperformer {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -18.6em 58%; } }
  @media screen and (max-width: 1023px) {
    main.highperformer-detail > .body:after {
      font-size: calc(3rem /4); } }
main.highperformer-detail > .body section {
  display: flex;
  background-color: #7800DA; }
  @media screen and (max-width: 1023px) {
    main.highperformer-detail > .body section {
      display: block; } }
  main.highperformer-detail > .body section + section {
    margin-top: -10rem; }
    @media screen and (max-width: 1023px) {
      main.highperformer-detail > .body section + section {
        margin-top: 0; } }
  main.highperformer-detail > .body section header {
    padding: 10rem 0 10rem 6rem;
    flex: 0 0 47.4rem;
    background-color: #7800DA; }
    @media screen and (max-width: 1023px) {
      main.highperformer-detail > .body section header {
        padding: 4rem 0  2.4rem 2.4rem; } }
    main.highperformer-detail > .body section header h3,
    main.highperformer-detail > .body section header h2 {
      position: sticky;
      top: 20rem; }
      @media screen and (max-width: 1023px) {
        main.highperformer-detail > .body section header h3,
        main.highperformer-detail > .body section header h2 {
          position: static; } }
      main.highperformer-detail > .body section header h3 span,
      main.highperformer-detail > .body section header h2 span {
        display: block;
        width: fit-content;
        padding: 0 .8rem;
        font-family: YakuhanJP, 'Noto Sans JP', san-serif;
        font-style: normal;
        font-weight: 700;
        font-size: 2.8rem;
        line-height: 3.6rem;
        margin-bottom: .7rem;
        letter-spacing: -0.05em;
        color: #7800DA;
        background-color: #81F0DA;
        position: relative;
        width: fit-content;
        transition: all ease .3s;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
        main.highperformer-detail > .body section header h3 span:before,
        main.highperformer-detail > .body section header h2 span:before {
          content: "";
          display: block;
          background-color: #81F0DA;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          transition: all ease .3s .3s;
          transform-origin: 100% 0; }
        main.highperformer-detail > .body section header h3 span[data-inview-active],
        main.highperformer-detail > .body section header h2 span[data-inview-active] {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          main.highperformer-detail > .body section header h3 span[data-inview-active]:before,
          main.highperformer-detail > .body section header h2 span[data-inview-active]:before {
            transform: scale(0, 1); }
        @media screen and (max-width: 1023px) {
          main.highperformer-detail > .body section header h3 span,
          main.highperformer-detail > .body section header h2 span {
            font-size: 2.4rem;
            line-height: 3.18rem;
            padding: 0 .4rem;
            margin-bottom: .54rem; } }
  main.highperformer-detail > .body section .content {
    background-color: #fff;
    flex: 1;
    padding: 10rem 6.7rem 10rem 9.7rem; }
    @media screen and (max-width: 1023px) {
      main.highperformer-detail > .body section .content {
        margin-left: 24px; } }
    @media screen and (max-width: 1023px) {
      main.highperformer-detail > .body section .content {
        padding: 2.4rem 2.4rem 5.6rem; } }
    main.highperformer-detail > .body section .content p {
      max-width: 52rem;
      font-weight: 700;
      font-size: 1.4rem;
      line-height: 2.8rem;
      letter-spacing: .3rem;
      color: #000000;
      margin: 2.8rem 0; }
    main.highperformer-detail > .body section .content figure {
      margin: 8rem 0; }
      @media screen and (max-width: 1023px) {
        main.highperformer-detail > .body section .content figure {
          margin: 4rem 0; } }
    main.highperformer-detail > .body section .content *:first-child {
      margin-top: 0; }
    main.highperformer-detail > .body section .content *:last-child {
      margin-bottom: 0; }
main.highperformer-detail section.appeal {
  background-color: #7800DA; }
  main.highperformer-detail section.appeal:after {
    content: "";
    background-image: url("../images/highperformer/decor_text_black.svg");
    background-size: 18.6em auto;
    animation: decor-text-loop-highperformer linear calc(18.6s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-highperformer {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -18.6em 58%; } }
    @media screen and (max-width: 1023px) {
      main.highperformer-detail section.appeal:after {
        font-size: calc(3rem /4); } }
  main.highperformer-detail section.appeal .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 5.6rem 0; }
    @media screen and (max-width: 1023px) {
      main.highperformer-detail section.appeal .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.highperformer-detail section.appeal .container {
        padding: 4rem 0; } }
    main.highperformer-detail section.appeal .container p {
      font-family: YakuHanJP, 'Noto Sans JP', san-serif;
      font-weight: 700;
      font-size: 4rem;
      line-height: 5.8rem;
      letter-spacing: -0.05em;
      color: #81F0DA; }
      @media screen and (max-width: 1023px) {
        main.highperformer-detail section.appeal .container p {
          font-size: 2rem;
          line-height: 2.9rem; } }
      @media screen and (max-width: 1023px) {
        main.highperformer-detail section.appeal .container p br {
          display: none; } }
main.highperformer-detail section.highperformer {
  background-color: #fff; }
  main.highperformer-detail section.highperformer ul li {
    display: flex;
    border-bottom: 1px solid #000; }
    @media screen and (max-width: 1023px) {
      main.highperformer-detail section.highperformer ul li {
        display: block; } }
    main.highperformer-detail section.highperformer ul li figure {
      flex: 0 0 72rem;
      overflow: hidden; }
      main.highperformer-detail section.highperformer ul li figure a {
        display: block; }
        main.highperformer-detail section.highperformer ul li figure a img {
          transition: all ease .3s; }
        main.highperformer-detail section.highperformer ul li figure a:hover img {
          transform: scale(1.05); }
    main.highperformer-detail section.highperformer ul li .content {
      flex: 1;
      border-left: 1px solid #000;
      padding-left: 4.8rem; }
      @media screen and (max-width: 1023px) {
        main.highperformer-detail section.highperformer ul li .content {
          padding: 2.4rem 2.4rem 4rem;
          border: none;
          border-top: 1px solid #000; } }
      main.highperformer-detail section.highperformer ul li .content .title {
        display: flex;
        align-items: center;
        height: 23.2rem;
        padding-top: .8rem;
        font-weight: 700;
        font-size: 3.2rem;
        line-height: 4.8rem;
        letter-spacing: 0.09em;
        color: #000000; }
        @media screen and (max-width: 1023px) {
          main.highperformer-detail section.highperformer ul li .content .title {
            font-size: 2.4rem;
            line-height: 3.4rem;
            margin-bottom: 1.6rem;
            height: auto; } }
      main.highperformer-detail section.highperformer ul li .content .profile {
        font-weight: 500;
        font-size: 1.4rem;
        line-height: 2.4rem;
        letter-spacing: .1rem;
        color: #000000;
        margin-bottom: 1.5rem; }
        @media screen and (max-width: 1023px) {
          main.highperformer-detail section.highperformer ul li .content .profile {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            margin-bottom: .8rem; } }
      main.highperformer-detail section.highperformer ul li .content .name {
        display: flex;
        gap: 2rem;
        align-items: baseline; }
        @media screen and (max-width: 1023px) {
          main.highperformer-detail section.highperformer ul li .content .name {
            gap: 1.6rem; } }
        main.highperformer-detail section.highperformer ul li .content .name p:nth-child(1) {
          font-weight: 700;
          font-size: 2.8rem;
          line-height: 4.4rem;
          letter-spacing: 0.09em;
          color: #000000; }
          @media screen and (max-width: 1023px) {
            main.highperformer-detail section.highperformer ul li .content .name p:nth-child(1) {
              font-weight: 700;
              font-size: 2.4rem;
              line-height: 3.4rem; } }
        main.highperformer-detail section.highperformer ul li .content .name p:nth-child(2) {
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 500;
          font-size: 1.4rem;
          line-height: 100%;
          letter-spacing: -0.04em;
          color: #000000; }
          @media screen and (max-width: 1023px) {
            main.highperformer-detail section.highperformer ul li .content .name p:nth-child(2) {
              font-size: 1.2rem;
              line-height: 1.8rem; } }
      main.highperformer-detail section.highperformer ul li .content .action {
        margin-top: 4.4rem; }
        @media screen and (max-width: 1023px) {
          main.highperformer-detail section.highperformer ul li .content .action {
            margin-top: 2.4rem; } }
        main.highperformer-detail section.highperformer ul li .content .action a {
          position: relative;
          display: flex;
          align-items: center;
          width: fit-content;
          padding: 0 4.4rem 0 1.2rem;
          height: 3.2rem;
          padding-left: 1rem;
          border: 1px solid #000;
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 600;
          font-size: 1.4rem;
          line-height: 2.1rem;
          color: #000000;
          background-color: #fff;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          main.highperformer-detail section.highperformer ul li .content .action a .arrow {
            position: relative;
            content: "";
            display: block;
            width: 3.2rem;
            height: 3.2rem;
            position: absolute;
            top: 0;
            right: 0;
            background-color: #000; }
            main.highperformer-detail section.highperformer ul li .content .action a .arrow:after {
              content: "";
              display: block;
              width: 1.2rem;
              height: 1.2rem;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
              -webkit-mask-image: url("../images/why/why_arrow.svg");
              -webkit-mask-size: 100% 100%;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/why/why_arrow.svg");
              mask-size: 100% 100%;
              mask-position: 0 0;
              background-color: #fff;
              transition: all ease .3s; }
          @media screen and (min-width: 1024px) {
            main.highperformer-detail section.highperformer ul li .content .action a:hover {
              background-position: 0% 0%; }
              main.highperformer-detail section.highperformer ul li .content .action a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 1.2rem 0;
                mask-position: 1.2rem 0; } }
main.highperformer-detail nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.highperformer-detail nav.cta {
      padding: 8rem 0 12rem; } }
  main.highperformer-detail nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.highperformer-detail nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.highperformer-detail nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.highperformer-detail nav.cta .container .copy {
          width: auto; } }
    main.highperformer-detail nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.highperformer-detail nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.highperformer-detail nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.highperformer-detail nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.highperformer-detail nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.highperformer-detail nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.highperformer-detail nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.highperformer-detail nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.highperformer-detail nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.highperformer-detail nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.highperformer-detail nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.highperformer-detail nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.highperformer-detail nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.highperformer-detail nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.highperformer-detail nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.highperformer-detail nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.highperformer-detail nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.highperformer-detail nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.highperformer-detail nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.highperformer-detail nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.highperformer-detail nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.highperformer-detail nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.highperformer-detail nav.other header {
        padding: 4rem 0 0; } }
    main.highperformer-detail nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.highperformer-detail nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.highperformer-detail nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.highperformer-detail nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.highperformer-detail nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.highperformer-detail nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.highperformer-detail nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.highperformer-detail nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.highperformer-detail nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.highperformer-detail nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.highperformer-detail nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.highperformer-detail nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.highperformer-detail nav.other .content ul li {
            flex: 0 0 100%; } }
        main.highperformer-detail nav.other .content ul li a {
          display: block; }
          main.highperformer-detail nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.highperformer-detail nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.highperformer-detail nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.highperformer-detail nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.highperformer-detail nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.highperformer-detail nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.highperformer-detail nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.highperformer-detail nav.other .content ul li:nth-child(4), main.highperformer-detail nav.other .content ul li:nth-child(5), main.highperformer-detail nav.other .content ul li:nth-child(6) {
            display: none; } }

main.women > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.women > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.women > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/women/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.women > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.women > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.women > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-women {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -61.1em 0;
    				}
    			}
    			background-image: url("../images/women/header_title_en.svg");
    //			background-size: 61.1rem 7.7rem;
    			background-size: 61.1em auto;
    			animation: header-title-en-women linear calc(61.1s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.women > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.women > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.women > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.women > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.women > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.women > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.women > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.women > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.women > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.women > header .scroll {
        font-size: calc(3rem /4); } }
main.women section.movie {
  background-color: #FF9AA0; }
  main.women section.movie:after {
    content: "";
    background-image: url("../images/women/decor_text_black.svg");
    background-size: 12.9em auto;
    animation: decor-text-loop-women linear calc(12.9s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-women {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -12.9em 58%; } }
    @media screen and (max-width: 1023px) {
      main.women section.movie:after {
        font-size: calc(3rem /4); } }
  main.women section.movie .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 6.4rem 0; }
    @media screen and (max-width: 1023px) {
      main.women section.movie .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.women section.movie .container {
        padding: 4rem 0 5.6rem; } }
    main.women section.movie .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 1.6rem; }
      @media screen and (max-width: 1023px) {
        main.women section.movie .container ul {
          gap: 4rem; } }
      main.women section.movie .container ul li {
        flex: 0 0 calc((100% - 1.6rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.women section.movie .container ul li {
            flex: 0 0 100%; } }
        main.women section.movie .container ul li a {
          display: block;
          cursor: pointer; }
        main.women section.movie .container ul li figure {
          position: relative; }
          main.women section.movie .container ul li figure:before {
            content: "";
            display: block;
            background-color: rgba(0, 0, 0, 0.4);
            mix-blend-mode: multiply;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0; }
          main.women section.movie .container ul li figure:after {
            content: "";
            display: block;
            background-image: url("../images/women/movie_play.svg");
            background-size: 100% 100%;
            width: 10rem;
            height: 10rem;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%); }
            @media screen and (max-width: 1023px) {
              main.women section.movie .container ul li figure:after {
                width: 7.2rem;
                height: 7.2rem; } }
        main.women section.movie .container ul li .content {
          padding: 3.2rem 0 0; }
          @media screen and (max-width: 1023px) {
            main.women section.movie .container ul li .content {
              padding: 2.4rem 0 0; } }
          main.women section.movie .container ul li .content .label {
            width: fit-content;
            height: 2.9rem;
            padding: 0 .5rem;
            font-weight: 700;
            font-size: 2rem;
            line-height: 2.9rem;
            letter-spacing: 0.09em;
            color: #FF9AA0;
            background: #006B00;
            margin-bottom: 2.2rem; }
          main.women section.movie .container ul li .content .title {
            font-weight: 700;
            font-size: 3.2rem;
            line-height: 4.4rem;
            letter-spacing: 0.09em;
            color: #006B00; }
            @media screen and (max-width: 1023px) {
              main.women section.movie .container ul li .content .title {
                font-size: 2.4rem;
                line-height: 3.4rem; } }
main.women .dialog {
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.75);
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: auto;
  opacity: 0;
  pointer-events: none;
  transition: all ease .3s; }
  main.women .dialog.active {
    opacity: 1;
    pointer-events: auto; }
  main.women .dialog .wrapper {
    position: relative;
    margin: auto; }
    main.women .dialog .wrapper section {
      position: relative;
      width: 80rem;
      aspect-ratio: 16 / 9;
      display: none; }
      @media screen and (max-width: 1023px) {
        main.women .dialog .wrapper section {
          width: calc(100vw - 2.4rem * 2); } }
      main.women .dialog .wrapper section.active {
        display: block; }
      main.women .dialog .wrapper section iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
    main.women .dialog .wrapper .close {
      position: absolute;
      right: -5.6rem;
      top: -4rem; }
      @media screen and (max-width: 1023px) {
        main.women .dialog .wrapper .close {
          right: 0;
          top: -5.6rem; } }
      main.women .dialog .wrapper .close button {
        position: relative;
        width: 5.6rem;
        height: 4rem;
        background-color: #fff;
        text-indent: -9999px;
        overflow: hidden; }
        main.women .dialog .wrapper .close button:before, main.women .dialog .wrapper .close button:after {
          content: "";
          display: block;
          width: 2.4rem;
          height: 1px;
          background-color: #000;
          position: absolute;
          top: 50%;
          left: calc(50% - 1.2rem); }
        main.women .dialog .wrapper .close button:before {
          transform: rotate(20deg); }
        main.women .dialog .wrapper .close button:after {
          transform: rotate(-20deg); }
main.women article section.profile {
  background-color: #fff; }
  main.women article section.profile:after {
    content: "";
    background-image: url("../images/women/decor_text_black.svg");
    background-size: 12.9em auto;
    animation: decor-text-loop-women linear calc(12.9s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-women {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -12.9em 58%; } }
    @media screen and (max-width: 1023px) {
      main.women article section.profile:after {
        font-size: calc(3rem /4); } }
  main.women article section.profile .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 8rem 0; }
    @media screen and (max-width: 1023px) {
      main.women article section.profile .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.women article section.profile .container {
        padding: 4rem 0 5.6rem; } }
    main.women article section.profile .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.1rem; }
      @media screen and (max-width: 1023px) {
        main.women article section.profile .container ul {
          gap: 4rem; } }
      main.women article section.profile .container ul li {
        flex: 0 0 calc((100% - 4.1rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.women article section.profile .container ul li {
            flex: 0 0 100%; } }
        main.women article section.profile .container ul li figure {
          margin-bottom: 2.4rem;
          position: relative; }
          main.women article section.profile .container ul li figure:after {
            content: "";
            background-size: auto 100%;
            background-repeat: no-repeat;
            background-position: 100% 0%;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0; }
        main.women article section.profile .container ul li .join {
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 2rem;
          letter-spacing: 0.09em;
          color: #000000;
          width: fit-content;
          padding: 0 .4rem;
          border: 1px solid #000;
          margin-bottom: 1.6rem; }
        main.women article section.profile .container ul li .job {
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 2.4rem;
          letter-spacing: .3rem;
          color: #000000;
          margin-bottom: 1.8rem; }
          @media screen and (max-width: 1023px) {
            main.women article section.profile .container ul li .job {
              font-size: 1.2rem;
              line-height: 2.2rem;
              margin-bottom: .8rem; } }
        main.women article section.profile .container ul li .name {
          margin-bottom: 2.4rem; }
          @media screen and (max-width: 1023px) {
            main.women article section.profile .container ul li .name {
              display: flex;
              align-items: baseline;
              gap: 1.6rem; } }
          main.women article section.profile .container ul li .name p:nth-child(1) {
            font-weight: 700;
            font-size: 2.4rem;
            line-height: 1;
            letter-spacing: 0.12em;
            color: #000000;
            margin-bottom: .6rem; }
          main.women article section.profile .container ul li .name p:nth-child(2) {
            font-family: 'Poppins';
            font-style: normal;
            font-weight: 500;
            font-size: 1.4rem;
            line-height: 2.8rem;
            letter-spacing: .1rem;
            color: #000000; }
            @media screen and (max-width: 1023px) {
              main.women article section.profile .container ul li .name p:nth-child(2) {
                font-size: 1.2rem;
                line-height: 1.8rem; } }
        main.women article section.profile .container ul li .description {
          font-weight: 500;
          font-size: 1.4rem;
          line-height: 2.8rem;
          letter-spacing: .1rem;
          color: #000000; }
main.women article section.intro {
  background-color: #FF9AA0; }
  main.women article section.intro:after {
    content: "";
    background-image: url("../images/women/decor_text_black.svg");
    background-size: 12.9em auto;
    animation: decor-text-loop-women linear calc(12.9s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-women {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -12.9em 58%; } }
    @media screen and (max-width: 1023px) {
      main.women article section.intro:after {
        font-size: calc(3rem /4); } }
  main.women article section.intro .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 9.1rem 0 8rem; }
    @media screen and (max-width: 1023px) {
      main.women article section.intro .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.women article section.intro .container {
        padding: 6rem 0 5.6rem; } }
    main.women article section.intro .container h2,
    main.women article section.intro .container h3 {
      margin-bottom: 4.8rem; }
      @media screen and (max-width: 1023px) {
        main.women article section.intro .container h2,
        main.women article section.intro .container h3 {
          margin-bottom: 3.2em;
          margin-right: -1rem; } }
      main.women article section.intro .container h2 > span,
      main.women article section.intro .container h3 > span {
        position: relative;
        display: block;
        width: fit-content;
        font-family: YakuhanJP, 'Noto Sans JP', san-serif;
        font-style: normal;
        font-weight: bold;
        font-size: 6.4rem;
        line-height: 7.5rem;
        letter-spacing: -0.05em;
        margin-bottom: 1.7rem;
        color: #006B00;
        position: relative;
        width: fit-content;
        transition: all ease .3s;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
        @media screen and (max-width: 1023px) {
          main.women article section.intro .container h2 > span,
          main.women article section.intro .container h3 > span {
            font-size: 3.2rem;
            line-height: 4rem;
            margin-bottom: .6rem; } }
        main.women article section.intro .container h2 > span:before,
        main.women article section.intro .container h3 > span:before {
          content: "";
          display: block;
          background-color: #006B00;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          transition: all ease .3s .3s;
          transform-origin: 100% 0; }
        main.women article section.intro .container h2 > span[data-inview-active],
        main.women article section.intro .container h3 > span[data-inview-active] {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          main.women article section.intro .container h2 > span[data-inview-active]:before,
          main.women article section.intro .container h3 > span[data-inview-active]:before {
            transform: scale(0, 1); }
        main.women article section.intro .container h2 > span .highlight,
        main.women article section.intro .container h3 > span .highlight {
          display: inline-block;
          padding: 0 1.4rem;
          color: #FF9AA0;
          background-color: #006B00; }
          @media screen and (max-width: 1023px) {
            main.women article section.intro .container h2 > span .highlight,
            main.women article section.intro .container h3 > span .highlight {
              padding: 0 .4rem; } }
    main.women article section.intro .container p {
      font-weight: 700;
      font-size: 2.4rem;
      line-height: 4.6rem;
      letter-spacing: .3rem;
      color: #006B00; }
      @media screen and (max-width: 1023px) {
        main.women article section.intro .container p {
          font-size: 1.4rem;
          line-height: 2.8rem; } }
      main.women article section.intro .container p + p {
        margin-top: 4.6rem; }
        @media screen and (max-width: 1023px) {
          main.women article section.intro .container p + p {
            margin-top: 2.8rem; } }
main.women article > .body:after {
  content: "";
  background-image: url("../images/women/decor_text_black.svg");
  background-size: 12.9em auto;
  animation: decor-text-loop-women linear calc(12.9s / 10) infinite;
  text-indent: -9999px;
  overflow: hidden;
  background-position: 0 58%;
  background-repeat: repeat-x;
  display: block;
  font-size: 1rem;
  height: 4em;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  background-color: #fff; }
@keyframes decor-text-loop-women {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -12.9em 58%; } }
  @media screen and (max-width: 1023px) {
    main.women article > .body:after {
      font-size: calc(3rem /4); } }
main.women article > .body > section {
  display: flex;
  background-color: #FF9AA0; }
  @media screen and (max-width: 1023px) {
    main.women article > .body > section {
      display: block; } }
  main.women article > .body > section + section {
    margin-top: -10rem; }
    @media screen and (max-width: 1023px) {
      main.women article > .body > section + section {
        margin-top: 0; } }
  main.women article > .body > section header {
    padding: 10rem 0 10rem 6rem;
    flex: 0 0 47.4rem;
    background-color: #FF9AA0; }
    @media screen and (max-width: 1023px) {
      main.women article > .body > section header {
        padding: 4rem 0  2.4rem 2.4rem; } }
    main.women article > .body > section header h3,
    main.women article > .body > section header h2 {
      position: sticky;
      top: 20rem; }
      @media screen and (max-width: 1023px) {
        main.women article > .body > section header h3,
        main.women article > .body > section header h2 {
          position: static; } }
      main.women article > .body > section header h3 span,
      main.women article > .body > section header h2 span {
        display: block;
        width: fit-content;
        padding: 0 .8rem;
        font-family: YakuhanJP, 'Noto Sans JP', san-serif;
        font-style: normal;
        font-weight: 700;
        font-size: 2.8rem;
        line-height: 3.6rem;
        margin-bottom: .7rem;
        letter-spacing: -0.05em;
        color: #FF9AA0;
        background-color: #006B00;
        position: relative;
        width: fit-content;
        transition: all ease .3s;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
        main.women article > .body > section header h3 span:before,
        main.women article > .body > section header h2 span:before {
          content: "";
          display: block;
          background-color: #006B00;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          transition: all ease .3s .3s;
          transform-origin: 100% 0; }
        main.women article > .body > section header h3 span[data-inview-active],
        main.women article > .body > section header h2 span[data-inview-active] {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          main.women article > .body > section header h3 span[data-inview-active]:before,
          main.women article > .body > section header h2 span[data-inview-active]:before {
            transform: scale(0, 1); }
        @media screen and (max-width: 1023px) {
          main.women article > .body > section header h3 span,
          main.women article > .body > section header h2 span {
            font-size: 2.4rem;
            line-height: 3.18rem;
            padding: 0 .4rem;
            margin-bottom: .54rem; } }
  main.women article > .body > section .content {
    background-color: #fff;
    flex: 1;
    padding: 10rem 6.7rem 10rem 9.7rem; }
    @media screen and (max-width: 1023px) {
      main.women article > .body > section .content {
        margin-left: 24px; } }
    @media screen and (max-width: 1023px) {
      main.women article > .body > section .content {
        margin-left: 24px;
        padding: 0 2.4rem 0 0; } }
    @media screen and (max-width: 1023px) {
      main.women article > .body > section .content section {
        padding-bottom: 3.2rem; } }
    main.women article > .body > section .content section + section {
      margin-top: 8rem; }
      @media screen and (max-width: 1023px) {
        main.women article > .body > section .content section + section {
          margin-top: 0; } }
    main.women article > .body > section .content section h4 {
      position: relative;
      font-weight: 700;
      font-size: 1.8rem;
      line-height: 3.2rem;
      letter-spacing: .2rem;
      color: #000000;
      margin-bottom: 3.2rem;
      padding-bottom: 1.2rem;
      border-bottom: 1px solid #000; }
      @media screen and (max-width: 1023px) {
        main.women article > .body > section .content section h4 {
          font-size: 1.6rem;
          line-height: 3.2rem;
          margin-bottom: 0;
          padding: 2.4rem 0 2.4rem 0; } }
      main.women article > .body > section .content section h4 .marker {
        color: #FF9AA0; }
    main.women article > .body > section .content section dl dt {
      position: relative;
      font-weight: 700;
      font-size: 1.6rem;
      line-height: 2.8rem;
      letter-spacing: .3rem;
      color: #FF9AA0;
      padding-left: 12.2rem;
      margin-top: 2.4rem;
      margin-bottom: .8rem; }
      @media screen and (max-width: 1023px) {
        main.women article > .body > section .content section dl dt {
          padding-top: 1.6rem;
          padding-left: 10.6rem;
          margin-top: 0;
          margin-bottom: .8rem; } }
      main.women article > .body > section .content section dl dt figure img {
        position: absolute;
        top: 0;
        left: 0;
        width: 9rem; }
    main.women article > .body > section .content section dl dd {
      font-weight: 700;
      font-size: 1.4rem;
      line-height: 2.8rem;
      letter-spacing: .3rem;
      color: #000000;
      border-bottom: 1px dotted #000;
      padding-left: 12.2rem;
      padding-bottom: 2.4rem;
      min-height: 5.4rem; }
      @media screen and (max-width: 1023px) {
        main.women article > .body > section .content section dl dd {
          padding-left: 10.6rem; } }
      main.women article > .body > section .content section dl dd:last-child {
        border: none;
        padding-bottom: 0; }
    main.women article > .body > section .content section > figure {
      margin-top: 4rem; }
main.women nav.system {
  background-color: #fff;
  display: flex;
  align-items: center;
  background-image: url("../images/personality/leader_decor.png");
  background-image: url("../images/women/system_docor.png");
  background-size: 69rem 48.8rem;
  background-position: 100% 0;
  background-repeat: no-repeat; }
  @media screen and (max-width: 1023px) {
    main.women nav.system {
      display: block;
      background-image: none; } }
  main.women nav.system figure {
    flex: 0 0 72rem;
    overflow: hidden; }
    main.women nav.system figure a {
      display: block; }
      @media screen and (max-width: 1023px) {
        main.women nav.system figure a {
          position: relative;
          height: 34rem; } }
      main.women nav.system figure a img {
        transition: all ease .3s; }
        @media screen and (max-width: 1023px) {
          main.women nav.system figure a img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover; } }
        @media screen and (max-width: 1023px) {
          main.women nav.system figure a img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover; } }
      @media screen and (min-width: 1024px) {
        main.women nav.system figure a:hover img {
          transform: scale(1.05); } }
  main.women nav.system .content {
    flex: 1;
    padding: 4.8rem; }
    @media screen and (max-width: 1023px) {
      main.women nav.system .content {
        padding: 4rem 2.4rem 5.4rem;
        background-image: url("../images/personality/leader_decor.png");
        background-image: url("../images/women/system_docor.png");
        background-size: auto 40rem;
        background-position: 100% 100%;
        background-repeat: no-repeat; } }
    main.women nav.system .content hgroup {
      margin-bottom: 4rem; }
      main.women nav.system .content hgroup h2 {
        font-weight: 700;
        font-size: 3.2rem;
        line-height: 4.4rem;
        letter-spacing: 0.09em;
        color: #000000;
        margin-bottom: 1.6rem; }
        @media screen and (max-width: 1023px) {
          main.women nav.system .content hgroup h2 {
            font-size: 2.8rem;
            line-height: 4rem; } }
      main.women nav.system .content hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 500;
        font-size: 1.4rem;
        line-height: 2.8rem;
        letter-spacing: .1rem;
        color: #000000; }
        @media screen and (max-width: 1023px) {
          main.women nav.system .content hgroup p {
            font-size: 1.4rem;
            line-height: 1; } }
    main.women nav.system .content > p {
      font-weight: 500;
      font-size: 1.4rem;
      line-height: 2.8rem;
      letter-spacing: .1rem;
      color: #000000; }
    main.women nav.system .content .action {
      margin-top: 4.8rem; }
      @media screen and (max-width: 1023px) {
        main.women nav.system .content .action {
          margin-top: 4rem; } }
      main.women nav.system .content .action p a {
        position: relative;
        display: flex;
        align-items: center;
        width: fit-content;
        padding: 0 4.4rem 0 1.2rem;
        height: 3.2rem;
        padding-left: 1rem;
        border: 1px solid #000;
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 1.4rem;
        line-height: 2.1rem;
        color: #000000;
        background-color: #fff;
        background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
        background-size: 200% 100%;
        background-position: 100% 0%;
        transition: background-position 0.3s ease; }
        main.women nav.system .content .action p a .arrow {
          position: relative;
          content: "";
          display: block;
          width: 3.2rem;
          height: 3.2rem;
          position: absolute;
          top: 0;
          right: 0;
          background-color: #000; }
          main.women nav.system .content .action p a .arrow:after {
            content: "";
            display: block;
            width: 1.2rem;
            height: 1.2rem;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            -webkit-mask-image: url("../images/why/why_arrow.svg");
            -webkit-mask-size: 100% 100%;
            -webkit-mask-position: 0 0;
            mask-image: url("../images/why/why_arrow.svg");
            mask-size: 100% 100%;
            mask-position: 0 0;
            background-color: #fff;
            transition: all ease .3s; }
        @media screen and (min-width: 1024px) {
          main.women nav.system .content .action p a:hover {
            background-position: 0% 0%; }
            main.women nav.system .content .action p a:hover .arrow:after {
              background-color: #D9FF00;
              -webkit-mask-position: 1.2rem 0;
              mask-position: 1.2rem 0; } }
  main.women nav.system + div:before {
    content: "";
    background-image: url("../images/system/decor_text_special_interview_black.svg");
    background-size: 19.1em auto;
    animation: decor-text-loop-special-interview linear calc(19.1s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-special-interview {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -19.1em 58%; } }
    @media screen and (max-width: 1023px) {
      main.women nav.system + div:before {
        font-size: calc(3rem /4); } }
main.women nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.women nav.cta {
      padding: 8rem 0 12rem; } }
  main.women nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.women nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.women nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.women nav.cta .container .copy {
          width: auto; } }
    main.women nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.women nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.women nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.women nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.women nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.women nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.women nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.women nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.women nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.women nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.women nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.women nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.women nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.women nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.women nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.women nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.women nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.women nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.women nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.women nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.women nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.women nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.women nav.other header {
        padding: 4rem 0 0; } }
    main.women nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.women nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.women nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.women nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.women nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.women nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.women nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.women nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.women nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.women nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.women nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.women nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.women nav.other .content ul li {
            flex: 0 0 100%; } }
        main.women nav.other .content ul li a {
          display: block; }
          main.women nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.women nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.women nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.women nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.women nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.women nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.women nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.women nav.other .content ul li:nth-child(4), main.women nav.other .content ul li:nth-child(5), main.women nav.other .content ul li:nth-child(6) {
            display: none; } }

main.movie > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.movie > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.movie > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/movie/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.movie > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.movie > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.movie > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-movie {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -34.5em 0;
    				}
    			}
    			background-image: url("../images/movie/header_title_en.svg");
    //			background-size: 34.5rem 7.7rem;
    			background-size: 34.5em auto;
    			animation: header-title-en-movie linear calc(34.5s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.movie > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.movie > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.movie > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.movie > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.movie > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.movie > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.movie > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.movie > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.movie > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.movie > header .scroll {
        font-size: calc(3rem /4); } }
main.movie section.movie {
  background-color: #fff; }
  main.movie section.movie:after {
    content: "";
    background-image: url("../images/movie/decor_text_black.svg");
    background-size: 6.6em auto;
    animation: decor-text-loop-movie linear calc(6.6s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-movie {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -6.6em 58%; } }
    @media screen and (max-width: 1023px) {
      main.movie section.movie:after {
        font-size: calc(3rem /4); } }
  main.movie section.movie .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 8rem 0 10.4rem; }
    @media screen and (max-width: 1023px) {
      main.movie section.movie .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.movie section.movie .container {
        padding: 4rem 0 6.4rem; } }
    main.movie section.movie .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 5.6rem 1.6rem; }
      @media screen and (max-width: 1023px) {
        main.movie section.movie .container ul {
          gap: 4rem; } }
      main.movie section.movie .container ul li {
        flex: 0 0 calc((100% - 1.6rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.movie section.movie .container ul li {
            flex: 0 0 100%; } }
        main.movie section.movie .container ul li a {
          display: block;
          cursor: pointer; }
          main.movie section.movie .container ul li a figure {
            position: relative;
            margin-bottom: 4rem; }
            @media screen and (max-width: 1023px) {
              main.movie section.movie .container ul li a figure {
                margin-bottom: 2.4rem; } }
            main.movie section.movie .container ul li a figure:before {
              content: "";
              display: block;
              background-color: rgba(0, 0, 0, 0.4);
              mix-blend-mode: multiply;
              position: absolute;
              top: 0;
              left: 0;
              right: 0;
              bottom: 0; }
            main.movie section.movie .container ul li a figure:after {
              content: "";
              display: block;
              background-image: url("../images/movie/movie_play.svg");
              background-size: 100% 100%;
              width: 12rem;
              height: 12rem;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%); }
              @media screen and (max-width: 1023px) {
                main.movie section.movie .container ul li a figure:after {
                  width: 7.2rem;
                  height: 7.2rem; } }
          main.movie section.movie .container ul li a .title {
            padding: 0 .5rem;
            background-color: #58037F;
            height: 2.9rem;
            font-weight: 700;
            font-size: 2rem;
            line-height: 2.9rem;
            letter-spacing: 0.09em;
            color: #CAB400;
            width: fit-content;
            margin-bottom: 20px; }
            @media screen and (max-width: 1023px) {
              main.movie section.movie .container ul li a .title {
                font-size: 1.6rem;
                line-height: 2.5rem;
                height: 2.5rem;
                padding: 0 .4rem; } }
          main.movie section.movie .container ul li a .description {
            font-weight: 400;
            font-size: 1.4rem;
            line-height: 2.8rem;
            letter-spacing: .3rem;
            color: #000000; }
            @media screen and (max-width: 1023px) {
              main.movie section.movie .container ul li a .description {
                letter-spacing: 0; } }
main.movie .dialog {
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.75);
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: auto;
  opacity: 0;
  pointer-events: none;
  transition: all ease .3s; }
  main.movie .dialog.active {
    opacity: 1;
    pointer-events: auto; }
  main.movie .dialog .wrapper {
    position: relative;
    margin: auto; }
    main.movie .dialog .wrapper section {
      position: relative;
      width: 80rem;
      aspect-ratio: 16 / 9;
      display: none; }
      @media screen and (max-width: 1023px) {
        main.movie .dialog .wrapper section {
          width: calc(100vw - 2.4rem * 2); } }
      main.movie .dialog .wrapper section.active {
        display: block; }
      main.movie .dialog .wrapper section iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
    main.movie .dialog .wrapper .close {
      position: absolute;
      right: -5.6rem;
      top: -4rem; }
      @media screen and (max-width: 1023px) {
        main.movie .dialog .wrapper .close {
          right: 0;
          top: -5.6rem; } }
      main.movie .dialog .wrapper .close button {
        position: relative;
        width: 5.6rem;
        height: 4rem;
        background-color: #fff;
        text-indent: -9999px;
        overflow: hidden; }
        main.movie .dialog .wrapper .close button:before, main.movie .dialog .wrapper .close button:after {
          content: "";
          display: block;
          width: 2.4rem;
          height: 1px;
          background-color: #000;
          position: absolute;
          top: 50%;
          left: calc(50% - 1.2rem); }
        main.movie .dialog .wrapper .close button:before {
          transform: rotate(20deg); }
        main.movie .dialog .wrapper .close button:after {
          transform: rotate(-20deg); }
main.movie nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.movie nav.cta {
      padding: 8rem 0 12rem; } }
  main.movie nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.movie nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.movie nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.movie nav.cta .container .copy {
          width: auto; } }
    main.movie nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.movie nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.movie nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.movie nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.movie nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.movie nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.movie nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.movie nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.movie nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.movie nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.movie nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.movie nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.movie nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.movie nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.movie nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.movie nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.movie nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.movie nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.movie nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.movie nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.movie nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.movie nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.movie nav.other header {
        padding: 4rem 0 0; } }
    main.movie nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.movie nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.movie nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.movie nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.movie nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.movie nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.movie nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.movie nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.movie nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.movie nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.movie nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.movie nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.movie nav.other .content ul li {
            flex: 0 0 100%; } }
        main.movie nav.other .content ul li a {
          display: block; }
          main.movie nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.movie nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.movie nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.movie nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.movie nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.movie nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.movie nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.movie nav.other .content ul li:nth-child(4), main.movie nav.other .content ul li:nth-child(5), main.movie nav.other .content ul li:nth-child(6) {
            display: none; } }

main.recruit > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.recruit > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.recruit > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/recruit/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.recruit > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.recruit > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.recruit > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-recruit {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -66.7em 0;
    				}
    			}
    			background-image: url("../images/recruit/header_title_en.svg");
    //			background-size: 66.7rem 7.7rem;
    			background-size: 66.7em auto;
    			animation: header-title-en-recruit linear calc(66.7s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.recruit > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.recruit > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.recruit > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.recruit > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.recruit > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.recruit > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.recruit > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.recruit > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.recruit > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.recruit > header .scroll {
        font-size: calc(3rem /4); } }
main.recruit section.job,
main.recruit section.qualification,
main.recruit section.department {
  background-color: #FFE6BE;
  background-image: url("../images/recruit/decor_arrow.png");
  background-size: 44.1rem 31rem;
  background-position: 100% 0;
  background-repeat: no-repeat; }
  main.recruit section.job:not(.job),
  main.recruit section.qualification:not(.job),
  main.recruit section.department:not(.job) {
    border-top: .8rem solid #000; }
    @media screen and (max-width: 1023px) {
      main.recruit section.job:not(.job),
      main.recruit section.qualification:not(.job),
      main.recruit section.department:not(.job) {
        border-top: .4rem solid #000; } }
  main.recruit section.job .container,
  main.recruit section.qualification .container,
  main.recruit section.department .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 9rem 0 11rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    min-height: 31rem; }
    @media screen and (max-width: 1023px) {
      main.recruit section.job .container,
      main.recruit section.qualification .container,
      main.recruit section.department .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.recruit section.job .container,
      main.recruit section.qualification .container,
      main.recruit section.department .container {
        display: block;
        padding: 4rem 0; } }
    main.recruit section.job .container h2,
    main.recruit section.qualification .container h2,
    main.recruit section.department .container h2 {
      position: relative;
      width: fit-content;
      transition: all ease .3s;
      clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
      @media screen and (max-width: 1023px) {
        main.recruit section.job .container h2,
        main.recruit section.qualification .container h2,
        main.recruit section.department .container h2 {
          margin-bottom: 2rem; } }
      main.recruit section.job .container h2 .highlight,
      main.recruit section.qualification .container h2 .highlight,
      main.recruit section.department .container h2 .highlight {
        display: inline-block;
        font-weight: 700;
        font-size: 8rem;
        line-height: 9rem;
        height: 9.6rem;
        letter-spacing: -0.05em;
        color: #FFE6BE;
        padding: 0 1.2rem;
        background-color: #F13800; }
        @media screen and (max-width: 1023px) {
          main.recruit section.job .container h2 .highlight,
          main.recruit section.qualification .container h2 .highlight,
          main.recruit section.department .container h2 .highlight {
            font-weight: 700;
            font-size: 32px;
            line-height: 4.3rem;
            height: 4.3rem;
            padding: 0 .8rem; } }
      main.recruit section.job .container h2:before,
      main.recruit section.qualification .container h2:before,
      main.recruit section.department .container h2:before {
        content: "";
        display: block;
        background-color: #F13800;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        transition: all ease .3s .3s;
        transform-origin: 100% 0; }
      main.recruit section.job .container h2[data-inview-active],
      main.recruit section.qualification .container h2[data-inview-active],
      main.recruit section.department .container h2[data-inview-active] {
        clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
        main.recruit section.job .container h2[data-inview-active]:before,
        main.recruit section.qualification .container h2[data-inview-active]:before,
        main.recruit section.department .container h2[data-inview-active]:before {
          transform: scale(0, 1); }
    main.recruit section.job .container .body,
    main.recruit section.qualification .container .body,
    main.recruit section.department .container .body {
      flex: 0 0 69.6rem; }
      main.recruit section.job .container .body .copy,
      main.recruit section.qualification .container .body .copy,
      main.recruit section.department .container .body .copy {
        font-weight: 700;
        font-size: 1.8rem;
        line-height: 3.2rem;
        letter-spacing: .3rem;
        color: #F13800;
        margin-bottom: 0; }
        @media screen and (max-width: 1023px) {
          main.recruit section.job .container .body .copy,
          main.recruit section.qualification .container .body .copy,
          main.recruit section.department .container .body .copy {
            font-size: 1.6rem;
            line-height: 2.8rem;
            margin-bottom: .8rem; } }
      main.recruit section.job .container .body p,
      main.recruit section.qualification .container .body p,
      main.recruit section.department .container .body p {
        font-weight: 500;
        font-size: 1.6rem;
        line-height: 3.2rem;
        letter-spacing: .3rem;
        color: #000000; }
        @media screen and (max-width: 1023px) {
          main.recruit section.job .container .body p,
          main.recruit section.qualification .container .body p,
          main.recruit section.department .container .body p {
            font-size: 1.4rem;
            line-height: 2.8rem; } }
main.recruit section.department:after {
  content: "";
  background-image: url("../images/recruit/decor_text_black.svg");
  background-size: 14.2em auto;
  animation: decor-text-loop-recruit linear calc(14.2s / 10) infinite;
  text-indent: -9999px;
  overflow: hidden;
  background-position: 0 58%;
  background-repeat: repeat-x;
  display: block;
  font-size: 1rem;
  height: 4em;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  background-color: #fff; }
@keyframes decor-text-loop-recruit {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -14.2em 58%; } }
  @media screen and (max-width: 1023px) {
    main.recruit section.department:after {
      font-size: calc(3rem /4); } }
main.recruit section.records {
  background-color: #fff;
  overflow: hidden; }
  main.recruit section.records:after {
    content: "";
    background-image: url("../images/recruit/decor_text_black.svg");
    background-size: 14.2em auto;
    animation: decor-text-loop-recruit linear calc(14.2s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-recruit {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -14.2em 58%; } }
    @media screen and (max-width: 1023px) {
      main.recruit section.records:after {
        font-size: calc(3rem /4); } }
  main.recruit section.records .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 9rem 0 6.5rem; }
    @media screen and (max-width: 1023px) {
      main.recruit section.records .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.recruit section.records .container {
        padding: 4rem 0 5.6rem; } }
    main.recruit section.records .container h2 {
      margin-bottom: 5rem;
      position: relative;
      width: fit-content;
      transition: all ease .3s;
      clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
      @media screen and (max-width: 1023px) {
        main.recruit section.records .container h2 {
          margin-bottom: 2.4rem; } }
      main.recruit section.records .container h2 .highlight {
        display: inline-block;
        font-weight: 700;
        font-size: 8rem;
        line-height: 9rem;
        height: 9.6rem;
        letter-spacing: -0.05em;
        color: #fff;
        padding: 0 1.2rem;
        background-color: #000; }
        @media screen and (max-width: 1023px) {
          main.recruit section.records .container h2 .highlight {
            font-weight: 700;
            font-size: 32px;
            line-height: 4.3rem;
            height: 4.3rem;
            padding: 0 .8rem; } }
      main.recruit section.records .container h2:before {
        content: "";
        display: block;
        background-color: #000;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        transition: all ease .3s .3s;
        transform-origin: 100% 0; }
      main.recruit section.records .container h2[data-inview-active] {
        clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
        main.recruit section.records .container h2[data-inview-active]:before {
          transform: scale(0, 1); }
    main.recruit section.records .container dl {
      margin: 0 -6.6rem; }
      @media screen and (max-width: 1023px) {
        main.recruit section.records .container dl {
          margin: 0 -2.4rem; } }
      main.recruit section.records .container dl div {
        display: flex;
        font-weight: 700;
        font-size: 3.2rem;
        line-height: 7.4rem;
        text-align: center;
        letter-spacing: -0.05em;
        color: #000000;
        border-bottom: 1px solid #000;
        padding: 1rem 6.6rem 0rem; }
        @media screen and (max-width: 1023px) {
          main.recruit section.records .container dl div {
            padding: 1.6rem 0 1.6rem 5.5rem;
            font-weight: 700;
            font-size: 2.4rem;
            line-height: 3.4rem;
            flex-wrap: wrap; } }
        main.recruit section.records .container dl div:last-child {
          padding-bottom: 0;
          border: none; }
        main.recruit section.records .container dl div dt:after {
          content: '：'; }
        @media screen and (max-width: 1023px) {
          main.recruit section.records .container dl div dd {
            display: contents; } }
        main.recruit section.records .container dl div dd span:nth-child(1) {
          font-weight: 700;
          font-size: 4.8rem;
          line-height: 1;
          text-align: center;
          letter-spacing: -0.05em;
          color: #F13800; }
          @media screen and (max-width: 1023px) {
            main.recruit section.records .container dl div dd span:nth-child(1) {
              font-weight: 700;
              font-size: 3.2rem;
              line-height: 1; } }
        main.recruit section.records .container dl div dd span:nth-child(2) {
          flex: 0 0 100%;
          text-align: left; }
main.recruit section.requirements {
  background-color: #fff; }
  main.recruit section.requirements:after {
    content: "";
    background-image: url("../images/recruit/decor_text_black.svg");
    background-size: 14.2em auto;
    animation: decor-text-loop-recruit linear calc(14.2s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-recruit {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -14.2em 58%; } }
    @media screen and (max-width: 1023px) {
      main.recruit section.requirements:after {
        font-size: calc(3rem /4); } }
  main.recruit section.requirements .container dl {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: -1px; }
    main.recruit section.requirements .container dl dt {
      padding: 3rem 6rem 3rem 6.6rem;
      background-color: #F4F4F4;
      border-bottom: 1px solid #000;
      flex: 0 0 42rem;
      font-weight: 700;
      font-size: 3.2rem;
      line-height: 4.6rem;
      letter-spacing: 0.09em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.recruit section.requirements .container dl dt {
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 2rem;
          flex: 0 0 14rem;
          padding: 2.4rem 0 2.4rem 2.4rem; } }
    main.recruit section.requirements .container dl dd {
      padding: 3rem 6.6rem 3rem 6rem;
      border-bottom: 1px solid #000;
      flex: 0 0 calc(100% - 42rem);
      font-weight: 700;
      font-size: 1.6rem;
      line-height: 3.2rem;
      letter-spacing: .1em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.recruit section.requirements .container dl dd {
          flex: 0 0 calc(100% - 14rem);
          padding: 2.4rem 2.4rem 2.4rem 1.6rem;
          font-size: 1.4rem;
          line-height: 2.8rem; } }
      main.recruit section.requirements .container dl dd p + p {
        margin-top: 1.6rem; }
        @media screen and (max-width: 1023px) {
          main.recruit section.requirements .container dl dd p + p {
            margin-top: 2.8rem; } }
      @media screen and (max-width: 1023px) {
        main.recruit section.requirements .container dl dd table {
          display: block; } }
      @media screen and (max-width: 1023px) {
        main.recruit section.requirements .container dl dd table tr {
          display: block; } }
      main.recruit section.requirements .container dl dd table tr th {
        text-align: left; }
        @media screen and (max-width: 1023px) {
          main.recruit section.requirements .container dl dd table tr th {
            display: block; } }
        @media screen and (max-width: 1023px) {
          main.recruit section.requirements .container dl dd table tr th:after {
            content: "："; } }
      main.recruit section.requirements .container dl dd table tr td:before {
        content: "："; }
        @media screen and (max-width: 1023px) {
          main.recruit section.requirements .container dl dd table tr td:before {
            display: none; } }
main.recruit nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.recruit nav.cta {
      padding: 8rem 0 12rem; } }
  main.recruit nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.recruit nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.recruit nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.recruit nav.cta .container .copy {
          width: auto; } }
    main.recruit nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.recruit nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.recruit nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.recruit nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.recruit nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.recruit nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.recruit nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.recruit nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.recruit nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.recruit nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.recruit nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.recruit nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.recruit nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.recruit nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.recruit nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.recruit nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.recruit nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.recruit nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.recruit nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.recruit nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.recruit nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.recruit nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.recruit nav.other header {
        padding: 4rem 0 0; } }
    main.recruit nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.recruit nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.recruit nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.recruit nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.recruit nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.recruit nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.recruit nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.recruit nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.recruit nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.recruit nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.recruit nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.recruit nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.recruit nav.other .content ul li {
            flex: 0 0 100%; } }
        main.recruit nav.other .content ul li a {
          display: block; }
          main.recruit nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.recruit nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.recruit nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.recruit nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.recruit nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.recruit nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.recruit nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.recruit nav.other .content ul li:nth-child(4), main.recruit nav.other .content ul li:nth-child(5), main.recruit nav.other .content ul li:nth-child(6) {
            display: none; } }

main.flow > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.flow > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.flow > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/flow/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.flow > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.flow > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.flow > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-flow {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -62em 0;
    				}
    			}
    			background-image: url("../images/flow/header_title_en.svg");
    //			background-size: 62rem 7.7rem;
    			background-size: 62em auto;
    			animation: header-title-en-flow linear calc(62s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.flow > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.flow > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.flow > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.flow > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.flow > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.flow > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.flow > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.flow > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.flow > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.flow > header .scroll {
        font-size: calc(3rem /4); } }
main.flow section {
  background-color: #fff; }
  main.flow section:after {
    content: "";
    background-image: url("../images/flow/decor_text_black.svg");
    background-size: 13em auto;
    animation: decor-text-loop-flow linear calc(13s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-flow {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -13em 58%; } }
    @media screen and (max-width: 1023px) {
      main.flow section:after {
        font-size: calc(3rem /4); } }
  main.flow section header {
    background-color: #007561; }
    main.flow section header:after {
      content: "";
      background-image: url("../images/flow/decor_text_black.svg");
      background-size: 13em auto;
      animation: decor-text-loop-flow linear calc(13s / 10) infinite;
      text-indent: -9999px;
      overflow: hidden;
      background-position: 0 58%;
      background-repeat: repeat-x;
      display: block;
      font-size: 1rem;
      height: 4em;
      border-top: 1px solid #000;
      border-bottom: 1px solid #000;
      background-color: #fff; }
@keyframes decor-text-loop-flow {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -13em 58%; } }
      @media screen and (max-width: 1023px) {
        main.flow section header:after {
          font-size: calc(3rem /4); } }
    main.flow section header .container {
      width: calc(100% - 6.6rem * 2);
      max-width: 115rem;
      margin: 0 auto;
      padding: 9.6rem 0 8rem; }
      @media screen and (max-width: 1023px) {
        main.flow section header .container {
          width: calc(100% - 2.4rem * 2); } }
      @media screen and (max-width: 1023px) {
        main.flow section header .container {
          padding: 4rem 0; } }
      main.flow section header .container h2 {
        margin-bottom: 3.6rem;
        position: relative;
        width: fit-content;
        transition: all ease .3s;
        clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
        main.flow section header .container h2:before {
          content: "";
          display: block;
          background-color: #FDA000;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          transition: all ease .3s .3s;
          transform-origin: 100% 0; }
        main.flow section header .container h2[data-inview-active] {
          clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          main.flow section header .container h2[data-inview-active]:before {
            transform: scale(0, 1); }
        @media screen and (max-width: 1023px) {
          main.flow section header .container h2 {
            margin-bottom: 3.2rem; } }
        main.flow section header .container h2 .highlight {
          display: inline-block;
          font-weight: 700;
          font-size: 8rem;
          line-height: 9.6rem;
          letter-spacing: -0.05em;
          color: #007561;
          padding: 0 1.2rem;
          height: 9.6rem;
          background-color: #FDA000; }
          @media screen and (max-width: 1023px) {
            main.flow section header .container h2 .highlight {
              font-size: 32px;
              line-height: 4rem;
              height: 4rem; } }
      main.flow section header .container p {
        font-weight: 700;
        font-size: 24px;
        line-height: 46px;
        letter-spacing: 3px;
        color: #FDA000; }
        @media screen and (max-width: 1023px) {
          main.flow section header .container p {
            font-size: 1.4rem;
            line-height: 2.8rem; } }
  main.flow section .body {
    overflow: hidden; }
    main.flow section .body .container {
      width: calc(100% - 6.6rem * 2);
      max-width: 115rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.flow section .body .container {
          width: calc(100% - 2.4rem * 2); } }
      main.flow section .body .container ol {
        width: 89.6rem;
        margin: 0 auto;
        padding: 8rem 0 18rem; }
        @media screen and (max-width: 1023px) {
          main.flow section .body .container ol {
            width: auto;
            padding: 4.8rem 0 6.4rem; } }
        main.flow section .body .container ol li {
          position: relative;
          width: 44rem;
          opacity: 0;
          transition: opacity ease 1s; }
          @media screen and (max-width: 1023px) {
            main.flow section .body .container ol li {
              width: auto;
              margin-bottom: 5.6rem !important; }
              main.flow section .body .container ol li:last-child {
                margin-bottom: 0 !important; } }
          main.flow section .body .container ol li .circle {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            width: 44rem;
            height: 44rem;
            padding-bottom: .8rem;
            background-size: 100% 100%; }
            @media screen and (max-width: 1023px) {
              main.flow section .body .container ol li .circle {
                width: 29.4rem;
                height: 29.4rem;
                margin: 0 auto 4rem;
                padding-bottom: 0; } }
            main.flow section .body .container ol li .circle .marker {
              display: flex;
              align-items: center;
              font-family: 'Poppins';
              font-style: normal;
              font-weight: 600;
              font-size: 2rem;
              line-height: 1;
              text-align: center;
              color: #FFFFFF;
              height: 2.8rem;
              padding: 0 .6rem;
              background-color: #000;
              margin-bottom: 2rem; }
              @media screen and (max-width: 1023px) {
                main.flow section .body .container ol li .circle .marker {
                  font-size: 1.6rem;
                  height: 2.5rem;
                  padding: 0 .4rem;
                  margin-bottom: 1.6rem; } }
            main.flow section .body .container ol li .circle .title {
              font-weight: 700;
              font-size: 4.8rem;
              line-height: 6.9rem;
              text-align: center;
              letter-spacing: -0.05em;
              color: #000000; }
              @media screen and (max-width: 1023px) {
                main.flow section .body .container ol li .circle .title {
                  font-weight: 700;
                  font-size: 3.2rem;
                  line-height: 4.6rem; } }
          main.flow section .body .container ol li > p {
            position: absolute;
            top: calc(100% + 2.4rem);
            left: 4rem;
            right: 4rem;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 3.6rem;
            letter-spacing: .3rem;
            color: #000000; }
            @media screen and (max-width: 1023px) {
              main.flow section .body .container ol li > p {
                position: relative;
                top: auto;
                left: auto;
                right: auto;
                font-size: 1.4rem;
                line-height: 2.8rem; } }
            main.flow section .body .container ol li > p .highlight {
              display: inline;
              -webkit-box-decoration-break: clone;
              box-decoration-break: clone;
              padding: .2em .2em;
              background-color: #fff; }
          main.flow section .body .container ol li:before {
            content: "";
            position: absolute;
            bottom: 37rem;
            display: block;
            width: 13.8rem;
            height: 13.8rem; }
            @media screen and (max-width: 1023px) {
              main.flow section .body .container ol li:before {
                width: 9rem;
                height: 9rem;
                top: -4.2rem;
                bottom: auto; } }
          @media screen and (max-width: 1023px) {
            main.flow section .body .container ol li:after {
              content: "";
              position: absolute;
              top: 24.8rem;
              display: block;
              width: 9rem;
              height: 9rem;
              bottom: auto; } }
          main.flow section .body .container ol li:nth-child(2n + 1) {
            margin: 0 auto 0 0; }
            @media screen and (max-width: 1023px) {
              main.flow section .body .container ol li:nth-child(2n + 1) {
                margin: 0 auto; } }
            main.flow section .body .container ol li:nth-child(2n + 1) .circle {
              background-image: url("../images/flow/flow_cirle_01.png"); }
            main.flow section .body .container ol li:nth-child(2n + 1):before {
              left: 38rem;
              background: linear-gradient(to bottom right, transparent calc(50% - 0.5px), #000 calc(50% - 0.5px), #000 calc(50% + 0.5px), transparent calc(50% + 0.5px));
              transform-origin: 100% 0; }
              @media screen and (max-width: 1023px) {
                main.flow section .body .container ol li:nth-child(2n + 1):before {
                  left: -2.4rem;
                  background: linear-gradient(to bottom left, transparent calc(50% - 0.5px), #000 calc(50% - 0.5px), #000 calc(50% + 0.5px), transparent calc(50% + 0.5px)); } }
            main.flow section .body .container ol li:nth-child(2n + 1):after {
              right: -2.4rem;
              background: linear-gradient(to bottom left, transparent calc(50% - 0.5px), #000 calc(50% - 0.5px), #000 calc(50% + 0.5px), transparent calc(50% + 0.5px)); }
            main.flow section .body .container ol li:nth-child(2n + 1) > p .highlight {
              background-color: #FDA000; }
          main.flow section .body .container ol li:nth-child(2n) {
            margin: 0 0 0 auto; }
            @media screen and (max-width: 1023px) {
              main.flow section .body .container ol li:nth-child(2n) {
                margin: 0 auto; } }
            main.flow section .body .container ol li:nth-child(2n) .circle {
              background-image: url("../images/flow/flow_cirle_02.png"); }
              main.flow section .body .container ol li:nth-child(2n) .circle .title {
                color: #FDA000; }
            main.flow section .body .container ol li:nth-child(2n):before {
              right: 38rem;
              background: linear-gradient(to bottom left, transparent calc(50% - 0.5px), #000 calc(50% - 0.5px), #000 calc(50% + 0.5px), transparent calc(50% + 0.5px));
              transform-origin: 0 0; }
              @media screen and (max-width: 1023px) {
                main.flow section .body .container ol li:nth-child(2n):before {
                  right: -2.4rem;
                  background: linear-gradient(to bottom right, transparent calc(50% - 0.5px), #000 calc(50% - 0.5px), #000 calc(50% + 0.5px), transparent calc(50% + 0.5px)); } }
            main.flow section .body .container ol li:nth-child(2n):after {
              left: -2.4rem;
              background: linear-gradient(to bottom right, transparent calc(50% - 0.5px), #000 calc(50% - 0.5px), #000 calc(50% + 0.5px), transparent calc(50% + 0.5px)); }
            main.flow section .body .container ol li:nth-child(2n) > p .highlight {
              background-color: #007561;
              color: #FDA000; }
          main.flow section .body .container ol li:first-child:before {
            display: none; }
          main.flow section .body .container ol li:last-child:after {
            content: "";
            display: block;
            width: 27.6rem;
            height: 27.6rem;
            position: absolute;
            left: 38rem;
            top: 37rem;
            background: linear-gradient(to bottom left, transparent calc(50% - 0.5px), #000 calc(50% - 0.5px), #000 calc(50% + 0.5px), transparent calc(50% + 0.5px)); }
            @media screen and (max-width: 1023px) {
              main.flow section .body .container ol li:last-child:after {
                top: 24.8rem;
                left: auto;
                right: -2.4rem;
                width: 9rem;
                height: 9rem;
                bottom: auto; } }
          main.flow section .body .container ol li[data-inview-active] {
            opacity: 1; }
main.flow nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.flow nav.cta {
      padding: 8rem 0 12rem; } }
  main.flow nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.flow nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.flow nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.flow nav.cta .container .copy {
          width: auto; } }
    main.flow nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.flow nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.flow nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.flow nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.flow nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.flow nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.flow nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.flow nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.flow nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.flow nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.flow nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.flow nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.flow nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.flow nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.flow nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.flow nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.flow nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.flow nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.flow nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.flow nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.flow nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.flow nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.flow nav.other header {
        padding: 4rem 0 0; } }
    main.flow nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.flow nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.flow nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.flow nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.flow nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.flow nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.flow nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.flow nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.flow nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.flow nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.flow nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.flow nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.flow nav.other .content ul li {
            flex: 0 0 100%; } }
        main.flow nav.other .content ul li a {
          display: block; }
          main.flow nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.flow nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.flow nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.flow nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.flow nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.flow nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.flow nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.flow nav.other .content ul li:nth-child(4), main.flow nav.other .content ul li:nth-child(5), main.flow nav.other .content ul li:nth-child(6) {
            display: none; } }

main.faq > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.faq > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.faq > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/faq/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.faq > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.faq > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.faq > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-faq {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -23.6em 0;
    				}
    			}
    			background-image: url("../images/faq/header_title_en.svg");
    //			background-size: 23.6rem 7.7rem;
    			background-size: 23.6em auto;
    			animation: header-title-en-faq linear calc(23.6s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.faq > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.faq > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.faq > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.faq > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.faq > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.faq > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.faq > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.faq > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.faq > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.faq > header .scroll {
        font-size: calc(3rem /4); } }
main.faq .body {
  background-color: #FDDD25; }
  main.faq .body:after {
    content: "";
    background-image: url("../images/faq/decor_text_black.svg");
    background-size: 5.5em auto;
    animation: decor-text-loop-faq linear calc(5.5s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-faq {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -5.5em 58%; } }
    @media screen and (max-width: 1023px) {
      main.faq .body:after {
        font-size: calc(3rem /4); } }
  main.faq .body > section {
    display: flex; }
    @media screen and (max-width: 1023px) {
      main.faq .body > section {
        display: block; } }
    main.faq .body > section + section {
      margin-top: -10rem; }
      @media screen and (max-width: 1023px) {
        main.faq .body > section + section {
          margin-top: 0; } }
    main.faq .body > section header {
      padding: 10rem 0 10rem 6rem;
      flex: 0 0 47.4rem;
      background-color: #FDDD25; }
      @media screen and (max-width: 1023px) {
        main.faq .body > section header {
          padding: 4rem 0  2.4rem 2.4rem; } }
      main.faq .body > section header h2 {
        position: sticky;
        top: 10rem; }
        @media screen and (max-width: 1023px) {
          main.faq .body > section header h2 {
            position: static; } }
        main.faq .body > section header h2 span {
          display: block;
          width: fit-content;
          padding: 0 .8rem;
          font-weight: 700;
          font-size: 4rem;
          line-height: 5.3rem;
          letter-spacing: -0.05em;
          color: #FDDD25;
          background-color: #090583;
          margin-bottom: .9rem;
          position: relative;
          width: fit-content;
          transition: all ease .3s;
          clip-path: polygon(0 0, 0 100%, 0 100%, 0 0); }
          main.faq .body > section header h2 span:before {
            content: "";
            display: block;
            background-color: #090583;
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            width: 100%;
            transition: all ease .3s .3s;
            transform-origin: 100% 0; }
          main.faq .body > section header h2 span[data-inview-active] {
            clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
            main.faq .body > section header h2 span[data-inview-active]:before {
              transform: scale(0, 1); }
          @media screen and (max-width: 1023px) {
            main.faq .body > section header h2 span {
              font-size: 2.4rem;
              line-height: 3.18rem;
              padding: 0 .4rem;
              margin-bottom: .54rem; } }
    main.faq .body > section .content {
      background-color: #fff;
      flex: 1;
      padding: 10rem 6.7rem 10rem 9.7rem; }
      @media screen and (max-width: 1023px) {
        main.faq .body > section .content {
          margin-left: 24px;
          padding: 2.4rem 2.4rem 2.4rem 1.6rem; } }
      main.faq .body > section .content p.title {
        font-weight: 700;
        font-size: 1.8rem;
        line-height: 3.2rem;
        letter-spacing: .2rem;
        color: #090583;
        padding-bottom: 1.2rem;
        border-bottom: 1px solid #000000;
        margin-bottom: 2.4rem; }
      main.faq .body > section .content dl div {
        border: 1px solid #090583;
        margin-top: 1.6rem; }
        main.faq .body > section .content dl div dt {
          position: relative;
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 2.8rem;
          letter-spacing: .3rem;
          color: #000000;
          padding: .8rem 4.8rem; }
          main.faq .body > section .content dl div dt .marker {
            width: 3.6rem;
            height: 3.6rem;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.8rem;
            text-align: center;
            color: #FDDD25;
            display: flex;
            justify-content: center;
            align-items: center;
            background-color: #090583;
            position: absolute;
            top: .4rem;
            left: .4rem; }
          main.faq .body > section .content dl div dt .toggle {
            position: absolute;
            top: 2.1rem;
            right: 1rem; }
            main.faq .body > section .content dl div dt .toggle:before, main.faq .body > section .content dl div dt .toggle:after {
              position: absolute;
              right: 0;
              top: 0;
              content: '';
              display: block;
              width: 2.2rem;
              height: 1px;
              background-color: #000; }
            main.faq .body > section .content dl div dt .toggle:after {
              transform: rotate(90deg); }
          main.faq .body > section .content dl div dt.active {
            border-bottom: none; }
            main.faq .body > section .content dl div dt.active .toggle:after {
              transform: rotate(0deg); }
        main.faq .body > section .content dl div dd {
          position: relative;
          font-weight: 700;
          font-size: 1.4rem;
          line-height: 2.8rem;
          letter-spacing: .3rem;
          color: #000000;
          padding: 0 .8rem 0 4.8rem;
          border-top: 1px dashed #090583;
          display: none; }
          main.faq .body > section .content dl div dd:before, main.faq .body > section .content dl div dd:after {
            content: '';
            height: .8rem;
            display: block; }
          main.faq .body > section .content dl div dd .marker {
            width: 3.6rem;
            height: 3.6rem;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.8rem;
            text-align: center;
            color: #090583;
            display: flex;
            justify-content: center;
            align-items: center;
            background-color: #FDDD25;
            position: absolute;
            top: .4rem;
            left: .4rem; }
main.faq nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.faq nav.cta {
      padding: 8rem 0 12rem; } }
  main.faq nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.faq nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.faq nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.faq nav.cta .container .copy {
          width: auto; } }
    main.faq nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.faq nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.faq nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.faq nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.faq nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.faq nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.faq nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.faq nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.faq nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.faq nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.faq nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.faq nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.faq nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.faq nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.faq nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.faq nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.faq nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.faq nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.faq nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.faq nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.faq nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.faq nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.faq nav.other header {
        padding: 4rem 0 0; } }
    main.faq nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.faq nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.faq nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.faq nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.faq nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.faq nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.faq nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.faq nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.faq nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.faq nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.faq nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.faq nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.faq nav.other .content ul li {
            flex: 0 0 100%; } }
        main.faq nav.other .content ul li a {
          display: block; }
          main.faq nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.faq nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.faq nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.faq nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.faq nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.faq nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.faq nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.faq nav.other .content ul li:nth-child(4), main.faq nav.other .content ul li:nth-child(5), main.faq nav.other .content ul li:nth-child(6) {
            display: none; } }

main.internship > header {
  position: relative;
  background-color: #fff;
  padding-top: 25.3rem;
  height: 67.6rem;
  overflow: hidden; }
  @media screen and (max-width: 1023px) {
    main.internship > header {
      height: 61.9rem;
      padding-top: 21.3rem; } }
  main.internship > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/internship/header_decor.png");
    transform: translate(-51.6rem, 51.6rem);
    transition: all ease .5s;
    opacity: 0; }
    @media screen and (max-width: 1023px) {
      main.internship > header:before {
        width: 71.4rem;
        height: 50.2rem;
        bottom: 3rem;
        transform: translate(-58.2rem, 58.2rem); } }
    .is-loaded main.internship > header:before {
      transform: translate(0, 0);
      opacity: 1; }
  main.internship > header hgroup {
    position: relative;
    border-top: .8rem solid #000;
    padding-top: 4rem;
    		/*
    		p {
    			position: relative;
    //			height: 8.3rem;
    			height: 9.1rem;
    			text-indent: -9999px;
    			overflow: hidden;
    //			border-bottom: .8rem solid #000;
    			background-position: 0 0;
    			background-repeat: repeat-x;
    			@include tablet {
    				height: 6.4rem;
    			}
    			@keyframes header-title-en-internship {
    				0% {
    					background-position: 0 0;
    				}
    				100% {
    					background-position: -57.6em 0;
    				}
    			}
    			background-image: url("../images/internship/header_title_en.svg");
    //			background-size: 57.6rem 7.7rem;
    			background-size: 57.6em auto;
    			animation: header-title-en-internship linear calc(57.6s / 10) infinite;
    //			margin-bottom: 4rem;
    			margin-bottom: 3.2rem;
    			font-size: 1rem;
    			@include tablet {
    				font-size: 46 / 72 * 1rem;
    				margin-bottom: 2rem;
    			}
    			&:after {
    				content: "";
    				display: block;
    				background-color: #000;
    				height: .8rem;
    				position: absolute;
    				bottom: .8rem;
    				left: 0;
    				right: 0;
    				@include tablet {
    				}
    			}
    		}
    		*/ }
    @media screen and (max-width: 1023px) {
      main.internship > header hgroup {
        border-top: .5rem solid #000;
        padding-top: 2.4rem; } }
    main.internship > header hgroup p {
      position: absolute;
      left: 4rem;
      bottom: calc(100% - .8rem);
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.internship > header hgroup p {
          font-size: 4.8rem;
          left: 2.4rem;
          bottom: calc(100% - .3rem); } }
    main.internship > header hgroup h1 {
      width: 70rem;
      margin-left: 6.6rem; }
      @media screen and (max-width: 1023px) {
        main.internship > header hgroup h1 {
          width: 34.2rem;
          margin-left: 2.4rem;
          margin-bottom: .9rem; } }
  main.internship > header .lead {
    position: relative;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000;
    margin-left: 6.6rem;
    max-width: 60rem; }
    @media screen and (max-width: 1023px) {
      main.internship > header .lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        max-width: none; } }
    main.internship > header .lead br {
      display: none; }
@keyframes header-scroll-loop {
  0% {
    background-position: 0 50%; }
  100% {
    background-position: -17.3em 50%; } }
  main.internship > header .scroll {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-image: url("../images/why/header_scroll.svg");
    background-size: 17.3em 1.5em;
    background-repeat: repeat-x;
    background-position: 0 50%;
    text-indent: -9999px;
    background-color: #fff;
    overflow: hidden;
    animation: header-scroll-loop linear calc(17.2s / 10) infinite; }
    @media screen and (max-width: 1023px) {
      main.internship > header .scroll {
        font-size: calc(3rem /4); } }
main.internship section.speed {
  background-color: #fff; }
  main.internship section.speed::after {
    content: "";
    background-image: url("../images/internship/decor_text_black.svg");
    background-size: 12.1em auto;
    animation: decor-text-loop-internship linear calc(12.1s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-internship {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -12.1em 58%; } }
    @media screen and (max-width: 1023px) {
      main.internship section.speed::after {
        font-size: calc(3rem /4); } }
  main.internship section.speed .container {
    display: flex;
    align-items: center;
    background-size: 69rem 48.8rem;
    background-position: 100% 0;
    background-repeat: no-repeat; }
    @media screen and (max-width: 1023px) {
      main.internship section.speed .container {
        display: block;
        background-image: none; } }
    main.internship section.speed .container figure {
      flex: 0 0 72rem;
      overflow: hidden; }
      main.internship section.speed .container figure a {
        display: block; }
        @media screen and (max-width: 1023px) {
          main.internship section.speed .container figure a {
            position: relative;
            height: 34rem; } }
        main.internship section.speed .container figure a img {
          transition: all ease .3s; }
          @media screen and (max-width: 1023px) {
            main.internship section.speed .container figure a img {
              position: absolute;
              top: 0;
              left: 0;
              width: 100%;
              height: 100%;
              object-fit: cover; } }
          @media screen and (max-width: 1023px) {
            main.internship section.speed .container figure a img {
              position: absolute;
              top: 0;
              left: 0;
              width: 100%;
              height: 100%;
              object-fit: cover; } }
        @media screen and (min-width: 1024px) {
          main.internship section.speed .container figure a:hover img {
            transform: scale(1.05); } }
    main.internship section.speed .container .content {
      flex: 1;
      padding: 4.8rem; }
      @media screen and (max-width: 1023px) {
        main.internship section.speed .container .content {
          padding: 4rem 2.4rem 5.4rem; } }
      main.internship section.speed .container .content h2 {
        font-weight: 700;
        font-size: 3.2rem;
        line-height: 4.4rem;
        letter-spacing: 0.09em;
        color: #000000;
        margin-bottom: 4rem; }
        @media screen and (max-width: 1023px) {
          main.internship section.speed .container .content h2 {
            font-size: 2.8rem;
            line-height: 4rem; } }
      main.internship section.speed .container .content > p {
        font-weight: 500;
        font-size: 1.4rem;
        line-height: 2.8rem;
        letter-spacing: .1rem;
        color: #000000; }
      main.internship section.speed .container .content .action {
        margin-top: 4.8rem; }
        @media screen and (max-width: 1023px) {
          main.internship section.speed .container .content .action {
            margin-top: 4rem; } }
        main.internship section.speed .container .content .action p a {
          position: relative;
          display: flex;
          align-items: center;
          width: fit-content;
          padding: 0 4.4rem 0 1.2rem;
          height: 3.2rem;
          padding-left: 1rem;
          border: 1px solid #000;
          font-family: 'Poppins';
          font-style: normal;
          font-weight: 600;
          font-size: 1.4rem;
          line-height: 2.1rem;
          color: #000000;
          background-color: #fff;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          main.internship section.speed .container .content .action p a .arrow {
            position: relative;
            content: "";
            display: block;
            width: 3.2rem;
            height: 3.2rem;
            position: absolute;
            top: 0;
            right: 0;
            background-color: #000; }
            main.internship section.speed .container .content .action p a .arrow:after {
              content: "";
              display: block;
              width: 1.2rem;
              height: 1.2rem;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
              -webkit-mask-image: url("../images/why/why_arrow.svg");
              -webkit-mask-size: 100% 100%;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/why/why_arrow.svg");
              mask-size: 100% 100%;
              mask-position: 0 0;
              background-color: #fff;
              transition: all ease .3s; }
          @media screen and (min-width: 1024px) {
            main.internship section.speed .container .content .action p a:hover {
              background-position: 0% 0%; }
              main.internship section.speed .container .content .action p a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 1.2rem 0;
                mask-position: 1.2rem 0; } }
main.internship section.comingsoon {
  background-color: #fff; }
  main.internship section.comingsoon:after {
    content: "";
    background-image: url("../images/internship/decor_text_black.svg");
    background-size: 12.1em auto;
    animation: decor-text-loop-internship linear calc(12.1s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff; }
@keyframes decor-text-loop-internship {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -12.1em 58%; } }
    @media screen and (max-width: 1023px) {
      main.internship section.comingsoon:after {
        font-size: calc(3rem /4); } }
  main.internship section.comingsoon .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto;
    padding: 6.4rem 0; }
    @media screen and (max-width: 1023px) {
      main.internship section.comingsoon .container {
        width: calc(100% - 2.4rem * 2); } }
    @media screen and (max-width: 1023px) {
      main.internship section.comingsoon .container {
        padding: 3.2rem 0; } }
    main.internship section.comingsoon .container p {
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      text-align: center;
      color: #D71900; }
      @media screen and (max-width: 1023px) {
        main.internship section.comingsoon .container p {
          font-size: 4rem; } }
main.internship nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.internship nav.cta {
      padding: 8rem 0 12rem; } }
  main.internship nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.internship nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.internship nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.internship nav.cta .container .copy {
          width: auto; } }
    main.internship nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.internship nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.internship nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.internship nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.internship nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.internship nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.internship nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.internship nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.internship nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.internship nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.internship nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.internship nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.internship nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.internship nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.internship nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.internship nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.internship nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.internship nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.internship nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.internship nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.internship nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.internship nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.internship nav.other header {
        padding: 4rem 0 0; } }
    main.internship nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.internship nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.internship nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.internship nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.internship nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.internship nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.internship nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.internship nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.internship nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.internship nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.internship nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.internship nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.internship nav.other .content ul li {
            flex: 0 0 100%; } }
        main.internship nav.other .content ul li a {
          display: block; }
          main.internship nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.internship nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.internship nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.internship nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.internship nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.internship nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.internship nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.internship nav.other .content ul li:nth-child(4), main.internship nav.other .content ul li:nth-child(5), main.internship nav.other .content ul li:nth-child(6) {
            display: none; } }

main.error > header {
  position: relative;
  background-color: #fff;
  padding-top: 14rem;
  height: 67.6rem;
  padding: 14rem 10.4rem 0; }
  @media screen and (max-width: 1023px) {
    main.error > header {
      heigth: 55.5rem;
      padding: 9.2rem 2.4rem 0; } }
  main.error > header h1 {
    position: relative;
    margin-bottom: 3rem; }
    @media screen and (max-width: 1023px) {
      main.error > header h1 {
        margin-bottom: 1.6rem; } }
    main.error > header h1 span:nth-child(1) {
      display: block;
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 10rem;
      line-height: 100%;
      letter-spacing: -0.04em;
      color: #000000;
      margin-bottom: 1rem; }
      @media screen and (max-width: 1023px) {
        main.error > header h1 span:nth-child(1) {
          font-size: 6.4rem;
          margin-bottom: .8rem; } }
    main.error > header h1 span:nth-child(2) {
      font-family: 'Poppins';
      font-style: normal;
      font-weight: 600;
      font-size: 4rem;
      line-height: 100%;
      color: #000000; }
      @media screen and (max-width: 1023px) {
        main.error > header h1 span:nth-child(2) {
          font-size: 2.8rem;
          line-height: 4.2rem; } }
  main.error > header .copy {
    position: relative;
    font-weight: 700;
    font-size: 32px;
    line-height: 44px;
    letter-spacing: 0.09em;
    color: #D71900;
    margin-bottom: 2rem; }
    @media screen and (max-width: 1023px) {
      main.error > header .copy {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3.4rem;
        margin-bottom: 1.6rem; } }
  main.error > header p.lead {
    position: relative;
    max-width: 52.8rem;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 3.6rem;
    letter-spacing: .3rem;
    color: #000000; }
    @media screen and (max-width: 1023px) {
      main.error > header p.lead {
        font-size: 1.4rem;
        line-height: 2.8rem;
        letter-spacing: .3rem; } }
  main.error > header .scroll {
    content: "";
    background-image: url("../images/common/decor_text_scroll_black.svg");
    background-size: 17.3em auto;
    animation: decor-text-loop-scroll linear calc(17.3s / 10) infinite;
    text-indent: -9999px;
    overflow: hidden;
    background-position: 0 58%;
    background-repeat: repeat-x;
    display: block;
    font-size: 1rem;
    height: 4em;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0; }
@keyframes decor-text-loop-scroll {
  0% {
    background-position: 0 58%; }
  100% {
    background-position: -17.3em 58%; } }
    @media screen and (max-width: 1023px) {
      main.error > header .scroll {
        font-size: calc(3rem /4); } }
  main.error > header:before {
    content: "";
    width: 73.5rem;
    height: 51.6rem;
    position: absolute;
    right: 0;
    bottom: 4rem;
    background-size: 100% 100%;
    background-image: url("../images/error/header_decor.png"); }
    @media screen and (max-width: 1023px) {
      main.error > header:before {
        width: 71.1rem;
        height: 50rem;
        bottom: 3rem;
        bottom: 3rem; } }
main.error nav.cta {
  background-color: rgba(0, 0, 0, 0.75);
  padding: 4.8rem 0 11rem; }
  @media screen and (max-width: 1023px) {
    main.error nav.cta {
      padding: 8rem 0 12rem; } }
  main.error nav.cta .container {
    width: calc(100% - 6.6rem * 2);
    max-width: 115rem;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      main.error nav.cta .container {
        width: calc(100% - 2.4rem * 2); } }
    main.error nav.cta .container .copy {
      width: 70rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.error nav.cta .container .copy {
          width: auto; } }
    main.error nav.cta .container ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4.8rem;
      width: 104.8rem;
      margin: 0 auto;
      margin-top: 7.8rem; }
      @media screen and (max-width: 1023px) {
        main.error nav.cta .container ul {
          margin-top: 6rem;
          gap: 1.6rem;
          width: auto; } }
      main.error nav.cta .container ul li {
        flex: 0 0 calc((100% - 4.8rem) / 2); }
        @media screen and (max-width: 1023px) {
          main.error nav.cta .container ul li {
            flex: 0 0 100%; } }
        main.error nav.cta .container ul li a {
          position: relative;
          display: block;
          background-color: #fff;
          font-size: 1rem;
          height: 8em;
          padding-top: 1.5em;
          background: linear-gradient(to right, #D9FF00 50%, #fff 50%);
          background-size: 200% 100%;
          background-position: 100% 0%;
          transition: background-position 0.3s ease; }
          @media screen and (max-width: 1023px) {
            main.error nav.cta .container ul li a {
              font-size: calc(6 / 8 * 1rem); } }
          main.error nav.cta .container ul li a p {
            width: calc(100% - 8em); }
            main.error nav.cta .container ul li a p:nth-child(2) {
              background-repeat: repeat-x;
              text-indent: -9999px;
              overflow: hidden; }
            main.error nav.cta .container ul li a p:nth-child(1) {
              display: flex;
              gap: .4em;
              justify-content: center;
              margin-bottom: .5em; }
              main.error nav.cta .container ul li a p:nth-child(1) span:nth-child(1) {
                font-weight: 700;
                font-size: 3.2em;
                line-height: 1;
                color: #000000; }
              main.error nav.cta .container ul li a p:nth-child(1) span:nth-child(2) {
                font-family: 'Poppins';
                font-style: normal;
                font-weight: 500;
                font-size: 3.8em;
                line-height: 1;
                color: #000000; }
            main.error nav.cta .container ul li a p:nth-child(2) {
              height: 1.3em; }
          main.error nav.cta .container ul li a .arrow {
            content: "";
            display: block;
            width: 7.2em;
            height: 7.2em;
            background-color: #000;
            position: absolute;
            top: .4em;
            right: .4em; }
            main.error nav.cta .container ul li a .arrow:after {
              content: '';
              display: block;
              width: 2.2em;
              height: 2.2em;
              -webkit-mask-image: url("../images/common/cta_arrow.svg");
              -webkit-mask-size: 2.2em 2.2em;
              -webkit-mask-position: 0 0;
              mask-image: url("../images/common/cta_arrow.svg");
              mask-size: 2.2em 2.2em;
              mask-position: 0 0;
              position: absolute;
              top: calc(50% - 1.1em);
              left: calc(50% - 1.1em);
              transition: all ease .3s;
              background-color: #fff; }
          @media screen and (min-width: 1024px) {
            main.error nav.cta .container ul li a:hover {
              background-position: 0% 0%; }
              main.error nav.cta .container ul li a:hover .arrow:after {
                background-color: #D9FF00;
                -webkit-mask-position: 2.2rem 0;
                mask-position: 2.2rem 0; } }
@keyframes cta-graduate-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -19.1em 0; } }
@keyframes cta-graduate-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 8.7em 0; } }
@keyframes cta-career-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -25em 0; } }
@keyframes cta-career-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 15.8em 0; } }
        main.error nav.cta .container ul li:nth-child(1) a {
          						/*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_graduate_text.svg");
          							background-size: 19.1em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-graduate-loop linear calc(19.1s / 10) infinite; 					
          						}
          						*/ }
          main.error nav.cta .container ul li:nth-child(1) a p:nth-child(2) {
            background-image: url("../images/common/cta_graduate_text_en.svg");
            background-size: 8.7em 1.3em;
            animation: cta-graduate-en-loop linear calc(8.7s / 10) infinite; }
        main.error nav.cta .container ul li:nth-child(2) a {
          					   /*
          						p:nth-child(1) {
          							background-image: url("../images/common/cta_career_text.svg");
          							background-size: 25em 3.2em;
          							background-position: 52% 50%;
          							background-repeat: no-repeat;
          //							animation: cta-career-loop linear calc(25s / 10) infinite; 					
          						}
          						*/ }
          main.error nav.cta .container ul li:nth-child(2) a p:nth-child(2) {
            background-image: url("../images/common/cta_career_text_en.svg");
            background-size: 15.8em 1.3em;
            animation: cta-career-en-loop linear calc(15.8s / 10) infinite; }
main.error nav.other {
  background-color: #F4F4F4; }
@keyframes other-title-en-loop {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -169.8em 0; } }
  main.error nav.other header {
    position: relative;
    padding: 8rem 0 0; }
    @media screen and (max-width: 1023px) {
      main.error nav.other header {
        padding: 4rem 0 0; } }
    main.error nav.other header:before {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      background-image: url("../images/common/other_header_decor.png");
      background-size: 100% 100%;
      width: 27.7rem;
      height: 19.5rem; }
      @media screen and (max-width: 1023px) {
        main.error nav.other header:before {
          width: 13.5rem;
          height: 9.5rem; } }
    main.error nav.other header hgroup {
      position: relative;
      border-bottom: .8rem solid #000000; }
      @media screen and (max-width: 1023px) {
        main.error nav.other header hgroup {
          border-bottom: .5rem solid #000000; } }
      main.error nav.other header hgroup h2 {
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 3rem;
        color: #000000;
        padding: 0 4rem;
        margin-bottom: -.5rem; }
        @media screen and (max-width: 1023px) {
          main.error nav.other header hgroup h2 {
            font-size: 1.6rem;
            line-height: 1.9rem;
            padding: 0 2.4rem;
            margin-bottom: .2rem; } }
      main.error nav.other header hgroup p {
        font-family: 'Poppins';
        font-style: normal;
        font-weight: 600;
        font-size: 10rem;
        line-height: 10rem;
        height: 8.5rem;
        letter-spacing: -0.04em;
        color: #000000;
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.error nav.other header hgroup p {
            font-size: 4rem;
            line-height: 4rem;
            height: 3.4rem;
            padding: 0 2.4rem; } }
  main.error nav.other .content {
    padding: 8rem 2rem 6.4rem; }
    @media screen and (max-width: 1023px) {
      main.error nav.other .content {
        padding: 4rem 2.4rem 8rem; } }
    main.error nav.other .content ul {
      display: flex;
      flex-wrap: wrap;
      gap: 4rem 2rem; }
      main.error nav.other .content ul li {
        flex: 0 0 calc((100% - 2rem * 2) / 3); }
        @media screen and (max-width: 1023px) {
          main.error nav.other .content ul li {
            flex: 0 0 100%; } }
        main.error nav.other .content ul li a {
          display: block; }
          main.error nav.other .content ul li a figure {
            margin-bottom: 1rem;
            overflow: hidden; }
            main.error nav.other .content ul li a figure img {
              transition: all ease .3s;
              width: 100%; }
          main.error nav.other .content ul li a p:nth-child(2) {
            display: flex;
            gap: 6px;
            align-items: center;
            padding: 1rem 0;
            font-weight: 700;
            font-size: 1.6rem;
            line-height: 2.3rem;
            letter-spacing: 0.1em;
            color: #000000;
            border-bottom: 1px solid #000000;
            margin-bottom: 1.4rem; }
            main.error nav.other .content ul li a p:nth-child(2):after {
              content: "";
              background-image: url("../images/home/contents_arrow.svg");
              background-size: 100% 100%;
              width: 1.4rem;
              height: 1.3rem;
              display: block;
              transition: all ease .3s; }
          main.error nav.other .content ul li a p:nth-child(3) {
            font-weight: 400;
            font-size: 1.2rem;
            line-height: 2.2rem;
            letter-spacing: 1px;
            color: #000000; }
          @media screen and (min-width: 1024px) {
            main.error nav.other .content ul li a:hover figure img {
              transform: scale(1.05); }
            main.error nav.other .content ul li a:hover p:nth-child(2):after {
              background-position: 1.4rem 0; } }
        @media screen and (max-width: 1023px) {
          main.error nav.other .content ul li:nth-child(4), main.error nav.other .content ul li:nth-child(5), main.error nav.other .content ul li:nth-child(6) {
            display: none; } }
