@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: 0;
  font-family: 'Noto Sans JP';
  font-size: 10px; }
  @media screen and (max-width: 1240px) {
    html {
      font-size: calc(10 / 1240 * 100vw); } }
  @media screen and (max-width: 1024px) {
    html {
      font-size: 10px; } }
  @media screen and (max-width: 1023px) {
    html {
      scroll-padding-top: 4.8rem; } }
  @media screen and (max-width: 390px) {
    html {
      font-size: calc(10 / 390 * 100vw); } }

body {
  opacity: 0;
  transition: opacity ease 1s; }
  .is-loaded body {
    opacity: 1; }

#header {
  position: fixed;
  z-index: 1000;
  top: 2.4rem;
  left: 4rem;
  right: 4rem; }
  @media screen and (max-width: 1023px) {
    #header {
      top: 0;
      left: 0;
      right: 0; } }
  #header .container {
    height: 6.4rem;
    background-color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.6rem 0 1.6rem 2.4rem;
    border-radius: .8rem;
    overflow: hidden;
    box-shadow: 0.4rem 0.4rem 1.6rem rgba(0, 0, 0, 0.15); }
    @media screen and (max-width: 1023px) {
      #header .container {
        height: 4.8rem;
        padding: 1.5rem 0 1.5rem 1.6rem;
        border-radius: 0; } }
    #header .container .logo a {
      display: flex; }
      #header .container .logo a img {
        width: 34.1rem; }
        @media screen and (max-width: 1023px) {
          #header .container .logo a img {
            width: 19.2rem; } }
      #header .container .logo a span {
        display: flex;
        align-items: center;
        height: 3.2rem;
        border-left: 1px solid #214296;
        margin-left: 1.6rem;
        padding-left: 1.6rem;
        font-family: 'Inter';
        font-style: normal;
        font-weight: 700;
        font-size: 1.6rem;
        line-height: 100%;
        letter-spacing: -0.02em;
        color: #214296; }
        @media screen and (max-width: 1023px) {
          #header .container .logo a span {
            font-size: 1rem;
            height: 1.8rem;
            padding-left: .8rem;
            margin-left: .8rem; } }
    #header .container nav.menu {
      display: flex;
      align-items: center;
      gap: 2.4rem; }
      @media screen and (max-width: 1023px) {
        #header .container nav.menu {
          display: block;
          position: fixed;
          top: 4.8rem;
          left: 0;
          right: 0;
          bottom: 0;
          background-color: #fff;
          opacity: 0;
          pointer-events: none;
          transition: opacity ease .3s;
          padding: 6.4rem 2.4rem;
          z-index: -1; }
          .menu-active #header .container nav.menu {
            opacity: 1;
            pointer-events: auto; } }
      #header .container nav.menu ul {
        display: flex;
        align-items: center;
        gap: 2.4rem; }
        @media screen and (max-width: 1023px) {
          #header .container nav.menu ul {
            display: block;
            border-top: 1px dashed #3355AA; } }
        @media screen and (max-width: 1023px) {
          #header .container nav.menu ul li {
            border-bottom: 1px dashed #3355AA; } }
        #header .container nav.menu ul li a {
          position: relative;
          display: block; }
          #header .container nav.menu ul li a::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            width: 0;
            background-color: #00DACD;
            transition: all ease .3s; }
          #header .container nav.menu ul li a span {
            position: relative;
            display: block;
            font-family: 'Inter';
            font-style: normal;
            font-weight: 800;
            font-size: 1.6rem;
            line-height: 100%;
            letter-spacing: -0.02em;
            color: #3355AA;
            padding: .4rem .8rem; }
            @media screen and (max-width: 1023px) {
              #header .container nav.menu ul li a span {
                font-size: 2.4rem;
                padding: 2rem 0;
                text-align: center; } }
          @media screen and (min-width: 1024px) {
            #header .container nav.menu ul li a:hover::before {
              width: 100%; } }
      #header .container nav.menu p.entry {
        margin-top: -1.6rem;
        margin-bottom: -1.6rem; }
        @media screen and (max-width: 1023px) {
          #header .container nav.menu p.entry {
            margin: 0;
            margin-top: 6rem; } }
        #header .container nav.menu p.entry a {
          position: relative;
          display: flex;
          justify-content: center;
          align-items: center;
          width: 20rem;
          height: 6.4rem;
          background-color: #DF5451;
          font-family: 'Inter';
          font-style: normal;
          font-weight: 800;
          font-size: 2rem;
          line-height: 100%;
          letter-spacing: 0.08em;
          color: #FFFFFF;
          transition: all ease .3s; }
          @media screen and (max-width: 1023px) {
            #header .container nav.menu p.entry a {
              width: 100%;
              height: 8rem;
              border-radius: .8rem; } }
          #header .container nav.menu p.entry a::after {
            content: "";
            display: block;
            border-left: 1.1rem solid #fff;
            border-top: .7rem solid transparent;
            border-bottom: .7rem solid transparent;
            position: absolute;
            right: 4rem;
            top: 50%;
            transform: translateY(-50%);
            transition: all ease .3s; }
          @media screen and (min-width: 1024px) {
            #header .container nav.menu p.entry a:hover {
              background-color: #E26562; }
              #header .container nav.menu p.entry a:hover:after {
                right: 3.2rem; } }
    #header .container p.menu {
      display: none; }
      @media screen and (max-width: 1023px) {
        #header .container p.menu {
          display: block;
          position: absolute;
          right: 0;
          top: 0; } }
      #header .container p.menu button {
        position: relative;
        width: 4.8rem;
        height: 4.8rem;
        background-color: #3355AA; }
        #header .container p.menu button::before, #header .container p.menu button::after,
        #header .container p.menu button span {
          content: "";
          width: 2.4rem;
          height: .2rem;
          text-indent: -9999px;
          overflow: hidden;
          background-color: #fff;
          display: block;
          position: absolute;
          top: calc(50% - .1rem);
          left: calc(50% - 1.2rem); }
        .menu-active #header .container p.menu button span {
          opacity: 0; }
        #header .container p.menu button::before {
          margin-top: -.6rem; }
          .menu-active #header .container p.menu button::before {
            margin-top: 0;
            transform: rotate(45deg); }
        #header .container p.menu button::after {
          margin-top: .6rem; }
          .menu-active #header .container p.menu button::after {
            margin-top: 0;
            transform: rotate(-45deg); }

#footer {
  position: relative;
  background-color: #fff;
  padding: 6.4rem 0; }
  #footer .container .logo {
    margin-bottom: 4rem;
    text-align: center; }
    #footer .container .logo img {
      width: 100%;
      max-width: 34.1rem; }
      @media screen and (max-width: 1023px) {
        #footer .container .logo img {
          max-width: 32rem; } }
  #footer .container ul.link {
    display: flex;
    width: fit-content;
    border-left: 1px solid #214296;
    margin: 0 auto; }
    @media screen and (max-width: 1023px) {
      #footer .container ul.link {
        flex-direction: column;
        border: none;
        border-top: 1px solid #214296;
        width: 16.4rem; } }
    #footer .container ul.link li {
      padding: 0 2.8rem;
      border-right: 1px solid #214296; }
      @media screen and (max-width: 1023px) {
        #footer .container ul.link li {
          border: none;
          border-bottom: 1px solid #214296;
          padding: 0; } }
      #footer .container ul.link li a {
        display: block;
        font-style: normal;
        font-weight: 500;
        font-size: 1.2rem;
        line-height: 100%;
        text-align: center;
        color: #214296;
        padding: .3rem .4rem .2rem;
        transition: all ease .3s; }
        @media screen and (max-width: 1023px) {
          #footer .container ul.link li a {
            padding: 1.8rem 0; } }
        @media screen and (min-width: 1024px) {
          #footer .container ul.link li a:hover {
            background-color: #00DACD; } }
  #footer .container .secomtrust {
    width: fit-content;
    margin: 4rem auto; }
  #footer .container .information {
    display: flex;
    justify-content: center;
    gap: 2.4rem;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 100%;
    text-align: center;
    color: #6D6D6D; }
    @media screen and (max-width: 1023px) {
      #footer .container .information {
        line-height: 150%;
        display: block; } }
    @media screen and (max-width: 1023px) {
      #footer .container .information .address span {
        display: block; } }
    #footer .container .information ul.call {
      display: flex;
      gap: 2.4rem; }
      @media screen and (max-width: 1023px) {
        #footer .container .information ul.call {
          justify-content: center;
          margin-top: 1.8rem; } }
  #footer .container .copyright {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 100%;
    text-align: center;
    color: #6D6D6D;
    margin-top: 1.6rem; }

main.recruit {
  position: relative;
  z-index: 1; }
  @media screen and (max-width: 1023px) {
    main.recruit {
      padding-top: 4.8rem; } }
  @media screen and (max-width: 767px) {
    main.recruit {
      padding-top: 0; } }
  main.recruit header.visual {
    position: relative;
    height: 100svh;
    clip-path: inset(0); }
    @media screen and (max-width: 767px) {
      main.recruit header.visual {
        height: auto;
        padding-bottom: 8rem;
        background-color: #214296; } }
    main.recruit header.visual > .bg {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      height: 100vh; }
      @media screen and (max-width: 767px) {
        main.recruit header.visual > .bg {
          position: relative;
          height: calc(520 / 390 * 100vw); } }
      main.recruit header.visual > .bg .splide {
        width: 100%;
        height: 100%;
        opacity: .9; }
        main.recruit header.visual > .bg .splide * {
          width: 100%;
          height: 100%; }
        main.recruit header.visual > .bg .splide .splide__slide img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          transform: scale(1.2);
          transition: transform 7.5s ease-out; }
        main.recruit header.visual > .bg .splide .splide__slide.is-custom-prev img,
        main.recruit header.visual > .bg .splide .splide__slide.is-prev img,
        main.recruit header.visual > .bg .splide .splide__slide.is-active img {
          transform: scale(1); }
    main.recruit header.visual .content {
      position: absolute;
      bottom: 6rem;
      left: 50%;
      transform: translateX(-50%);
      width: calc(1290 / 1512 * 100vw); }
      @media screen and (max-width: 1023px) {
        main.recruit header.visual .content {
          width: calc(342 / 390 * 100vw); } }
      @media screen and (max-width: 767px) {
        main.recruit header.visual .content {
          position: relative;
          bottom: auto;
          left: auto;
          transform: none;
          width: auto;
          margin-top: -13.6rem;
          padding: 0 2.4rem; } }
      main.recruit header.visual .content h1 {
        display: flex;
        flex-direction: column;
        gap: 8px; }
        main.recruit header.visual .content h1 > span {
          position: relative;
          display: block;
          width: fit-content; }
          main.recruit header.visual .content h1 > span:before {
            content: "";
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            width: 0;
            background: #214296;
            transition: all ease .3s .3s; }
            .is-loaded main.recruit header.visual .content h1 > span:before {
              width: 100%; }
          main.recruit header.visual .content h1 > span > span {
            display: block;
            font-style: normal;
            font-weight: 700;
            font-size: 5.6rem;
            line-height: 100%;
            letter-spacing: 0.05em;
            font-feature-settings: 'halt' on;
            color: #FFFFFF;
            padding: .6rem .8rem 1.1rem;
            clip-path: polygon(0 0, 0 100%, 0% 100%, 0% 0);
            transition: all ease .3s .6s; }
            @media screen and (max-width: 767px) {
              main.recruit header.visual .content h1 > span > span {
                font-size: 3.2rem;
                padding: .8rem .8rem 1rem; } }
            .is-loaded main.recruit header.visual .content h1 > span > span {
              clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
      main.recruit header.visual .content p {
        font-style: normal;
        font-weight: 700;
        font-size: 1.6rem;
        line-height: 100%;
        letter-spacing: 0.03em;
        font-feature-settings: 'halt' on;
        color: #214296;
        padding: .6rem 1.2rem;
        background: #FFFFFF;
        width: fit-content;
        margin-top: 1.6rem;
        opacity: 0;
        transition: opacity ease 1s .9s; }
        .is-loaded main.recruit header.visual .content p {
          opacity: 1; }
        @media screen and (max-width: 767px) {
          main.recruit header.visual .content p {
            font-size: 1.2rem; } }
      main.recruit header.visual .content .action {
        position: absolute;
        right: 0;
        bottom: 0;
        opacity: 0;
        transition: opacity ease 1s .9s; }
        .is-loaded main.recruit header.visual .content .action {
          opacity: 1; }
        @media screen and (max-width: 1023px) {
          main.recruit header.visual .content .action {
            position: relative;
            right: auto;
            bottom: auto; } }
        main.recruit header.visual .content .action ul {
          display: flex;
          flex-direction: column;
          gap: 1.6rem; }
          @media screen and (max-width: 1023px) {
            main.recruit header.visual .content .action ul {
              margin-top: 3.2rem; } }
          main.recruit header.visual .content .action ul li a {
            position: relative;
            display: block;
            width: 24rem;
            padding: 1rem 2.4rem 1.2rem;
            background-color: #DF5451;
            font-style: normal;
            font-weight: 500;
            font-size: 1.8rem;
            line-height: 100%;
            letter-spacing: 0.05em;
            color: #FFFFFF;
            transition: all ease .3s; }
            main.recruit header.visual .content .action ul li a::after {
              content: "";
              display: block;
              border-left: 1.1rem solid #fff;
              border-top: .7rem solid transparent;
              border-bottom: .7rem solid transparent;
              position: absolute;
              right: 2.4rem;
              top: calc(50% - .7rem);
              transition: all ease .3s; }
            @media screen and (min-width: 1024px) {
              main.recruit header.visual .content .action ul li a:hover {
                background-color: #E26562; }
                main.recruit header.visual .content .action ul li a:hover:after {
                  right: 1.6rem; } }
  main.recruit section.message {
    position: relative;
    background-color: #214296;
    padding: 12rem 0 40rem; }
    @media screen and (max-width: 1023px) {
      main.recruit section.message {
        padding: 6.4rem 0 21.1rem; } }
    main.recruit section.message .container {
      max-width: 120rem;
      margin: 0 auto;
      position: relative;
      z-index: 1; }
      @media screen and (max-width: 1023px) {
        main.recruit section.message .container {
          width: calc(342 / 390 * 100vw); } }
      main.recruit section.message .container hgroup {
        position: relative;
        margin-bottom: 10rem;
        margin-bottom: 14rem; }
        @media screen and (max-width: 1023px) {
          main.recruit section.message .container hgroup {
            padding-bottom: 1rem;
            margin-bottom: 4rem; } }
        @media screen and (max-width: 1023px) {
          main.recruit section.message .container hgroup {
            margin-bottom: 4rem; } }
        main.recruit section.message .container hgroup p {
          font-family: "Mr Dafoe", cursive;
          font-style: normal;
          font-weight: 400;
          font-size: 18rem;
          line-height: 1;
          color: #425EA6;
          transform: rotate(-8deg) translateX(-4rem);
          transform-origin: 0 100%;
          padding-left: 3rem;
          opacity: 0;
          transition: all ease 1s; }
          @media screen and (max-width: 1023px) {
            main.recruit section.message .container hgroup p {
              font-size: 6.4rem;
              padding-left: 0;
              white-space: nowrap;
              transform: rotate(-8deg) translateX(-2rem); } }
        main.recruit section.message .container hgroup h2 {
          position: absolute;
          bottom: 2rem;
          left: 0;
          padding: 0 4.8rem;
          width: fit-content;
          opacity: 0;
          transform: translateY(4rem);
          transition: all ease 1s; }
          @media screen and (max-width: 1023px) {
            main.recruit section.message .container hgroup h2 {
              transform: translateY(2rem);
              padding: 0 2.4rem;
              bottom: 0; } }
          main.recruit section.message .container hgroup h2 span {
            position: relative;
            display: block;
            font-weight: 700;
            font-size: 2.4rem;
            line-height: 100%;
            letter-spacing: 0.16em;
            color: #3355AA;
            padding: .6rem 2.4rem .8rem;
            background-color: #fff; }
            @media screen and (max-width: 1023px) {
              main.recruit section.message .container hgroup h2 span {
                font-size: 1.6rem;
                padding: .6rem 1.6rem .8rem; } }
          main.recruit section.message .container hgroup h2:before {
            content: "";
            display: block;
            background-color: #DF5451;
            height: .4rem;
            position: absolute;
            left: 0;
            right: 0;
            top: calc(50% - .2rem); }
        main.recruit section.message .container hgroup[data-inview-active] p {
          opacity: 1;
          transform: rotate(-8deg) translateX(0); }
        main.recruit section.message .container hgroup[data-inview-active] h2 {
          opacity: 1;
          transform: translateY(0); }
      main.recruit section.message .container .lead {
        position: absolute;
        top: -3.2rem;
        right: 7rem;
        display: flex;
        flex-direction: row-reverse;
        gap: 1.8rem; }
        @media screen and (max-width: 1023px) {
          main.recruit section.message .container .lead {
            position: relative;
            top: auto;
            right: auto;
            width: fit-content;
            margin: 0 auto;
            margin-bottom: 4rem;
            gap: 1rem; } }
        main.recruit section.message .container .lead p:nth-child(1) {
          writing-mode: vertical-rl;
          font-family: 'Inter';
          font-style: normal;
          font-weight: 700;
          font-size: 1.2rem;
          line-height: 100%;
          letter-spacing: -0.02em;
          color: #00DACD;
          padding-top: 3.2rem; }
          @media screen and (max-width: 1023px) {
            main.recruit section.message .container .lead p:nth-child(1) {
              font-size: 1rem;
              padding-top: 1.6rem; } }
        main.recruit section.message .container .lead p:nth-child(2) {
          writing-mode: vertical-rl;
          font-weight: 500;
          font-size: 4.8rem;
          line-height: 100%;
          font-feature-settings: 'vert' on, 'halt' on;
          color: #FFFFFF;
          line-height: 7.2rem;
          padding-top: 1em; }
          @media screen and (max-width: 1023px) {
            main.recruit section.message .container .lead p:nth-child(2) {
              font-size: 2.8rem;
              line-height: 4.2rem; } }
          main.recruit section.message .container .lead p:nth-child(2) span {
            margin-top: -1em; }
      main.recruit section.message .container .body .content {
        padding: 0 4rem; }
        @media screen and (max-width: 1023px) {
          main.recruit section.message .container .body .content {
            padding: 0; } }
        main.recruit section.message .container .body .content p {
          font-weight: 500;
          font-size: 2.4rem;
          line-height: 200%;
          color: #FFFFFF; }
          @media screen and (max-width: 1023px) {
            main.recruit section.message .container .body .content p {
              font-size: 1.6rem; } }
          main.recruit section.message .container .body .content p + p {
            margin-top: 4.8rem; }
            @media screen and (max-width: 1023px) {
              main.recruit section.message .container .body .content p + p {
                margin-top: 0; } }
          @media screen and (max-width: 1023px) {
            main.recruit section.message .container .body .content p br {
              display: none; } }
    main.recruit section.message figure {
      position: absolute;
      left: 50%;
      bottom: 48rem;
      transform: translateX(-50%);
      max-width: 151.2rem;
      width: 100vw;
      display: flex;
      justify-content: flex-end; }
      @media screen and (max-width: 1023px) {
        main.recruit section.message figure {
          position: relative;
          left: auto;
          bottom: auto;
          transform: none;
          justify-content: center;
          margin-top: 4rem; } }
      main.recruit section.message figure img {
        width: 100%;
        max-width: 67rem;
        border-radius: 24rem 0 24rem 0; }
        @media screen and (max-width: 1023px) {
          main.recruit section.message figure img {
            border-radius: 16rem 0 16rem; } }
    main.recruit section.message .secom-alpha {
      position: absolute;
      bottom: calc(10.5rem + 10.5rem);
      left: 50%;
      transform: translateX(-50%);
      font-family: 'Inter';
      font-style: normal;
      font-weight: 500;
      font-size: 1.6rem;
      line-height: 100%;
      letter-spacing: -0.02em;
      color: #214296;
      padding: .8rem 1.6rem;
      background: #00DACD; }
      @media screen and (max-width: 1023px) {
        main.recruit section.message .secom-alpha {
          font-size: 1.2rem;
          padding: .4rem .8rem;
          bottom: calc(4rem + 6.4rem); } }
    main.recruit section.message .marquee {
      position: absolute;
      bottom: 10.5rem;
      left: 0;
      right: 0;
      overflow: hidden;
      white-space: nowrap; }
      @media screen and (max-width: 1023px) {
        main.recruit section.message .marquee {
          bottom: 6.4rem; } }
      main.recruit section.message .marquee .inner {
        display: flex;
        width: max-content;
        animation: marquee calc(var(--width) / 300 * 1s) linear infinite; }
        @media screen and (max-width: 1023px) {
          main.recruit section.message .marquee .inner {
            animation: marquee calc(var(--width) / 200 * 1s) linear infinite; } }
        main.recruit section.message .marquee .inner span {
          flex-shrink: 0;
          padding-right: 3rem;
          font-family: 'Inter';
          font-style: normal;
          font-weight: 800;
          font-size: 24rem;
          line-height: 100%;
          letter-spacing: -0.02em;
          color: rgba(0, 218, 205, 0.15); }
          @media screen and (max-width: 1023px) {
            main.recruit section.message .marquee .inner span {
              font-size: 10rem; } }
@keyframes marquee {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-50%); } }
  main.recruit section.philosophy {
    background-color: #214296;
    padding: 0 0 16rem; }
    @media screen and (max-width: 1023px) {
      main.recruit section.philosophy {
        padding: 0 0 8rem; } }
    main.recruit section.philosophy .container {
      max-width: 120rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.recruit section.philosophy .container {
          width: calc(342 / 390 * 100vw); } }
      main.recruit section.philosophy .container .box {
        background-color: #fff;
        border-radius: 1.6rem;
        padding: 6rem 8rem 7.2rem; }
        @media screen and (max-width: 1023px) {
          main.recruit section.philosophy .container .box {
            padding: 3rem 2.4rem 4rem; } }
        main.recruit section.philosophy .container .box hgroup {
          position: relative;
          margin-bottom: 10rem;
          text-align: center;
          margin-bottom: 4.6rem; }
          @media screen and (max-width: 1023px) {
            main.recruit section.philosophy .container .box hgroup {
              padding-bottom: 1rem;
              margin-bottom: 4rem; } }
          @media screen and (max-width: 1023px) {
            main.recruit section.philosophy .container .box hgroup {
              margin-bottom: 2.4rem;
              padding-bottom: 0rem; } }
          main.recruit section.philosophy .container .box hgroup p {
            font-family: "Mr Dafoe", cursive;
            font-style: normal;
            font-weight: 400;
            font-size: 18rem;
            line-height: 1;
            color: #425EA6;
            transform: rotate(-8deg) translateX(-4rem);
            transform-origin: 0 100%;
            padding-left: 3rem;
            opacity: 0;
            transition: all ease 1s;
            font-size: 10.4rem;
            line-height: 14.5rem;
            transform-origin: 50% 100%;
            color: #D3D9EA; }
            @media screen and (max-width: 1023px) {
              main.recruit section.philosophy .container .box hgroup p {
                font-size: 6.4rem;
                padding-left: 0;
                white-space: nowrap;
                transform: rotate(-8deg) translateX(-2rem); } }
            @media screen and (max-width: 1023px) {
              main.recruit section.philosophy .container .box hgroup p {
                font-size: 6.4rem;
                line-height: 1; } }
          main.recruit section.philosophy .container .box hgroup h2 {
            position: absolute;
            bottom: 2rem;
            left: 0;
            padding: 0 4.8rem;
            width: fit-content;
            opacity: 0;
            transform: translateY(4rem);
            transition: all ease 1s;
            position: relative;
            bottom: auto;
            left: auto;
            margin: 0 auto;
            margin-top: -2rem; }
            @media screen and (max-width: 1023px) {
              main.recruit section.philosophy .container .box hgroup h2 {
                transform: translateY(2rem);
                padding: 0 2.4rem;
                bottom: 0; } }
            @media screen and (max-width: 1023px) {
              main.recruit section.philosophy .container .box hgroup h2 {
                margin-top: auto; } }
            main.recruit section.philosophy .container .box hgroup h2 span {
              position: relative;
              display: block;
              font-weight: 700;
              font-size: 2.4rem;
              line-height: 100%;
              letter-spacing: 0.16em;
              color: #3355AA;
              padding: .6rem 2.4rem .8rem;
              background-color: #fff;
              color: #fff;
              background-color: #3355AA; }
              @media screen and (max-width: 1023px) {
                main.recruit section.philosophy .container .box hgroup h2 span {
                  font-size: 1.6rem;
                  padding: .6rem 1.6rem .8rem; } }
            main.recruit section.philosophy .container .box hgroup h2:before {
              content: "";
              display: block;
              background-color: #DF5451;
              height: .4rem;
              position: absolute;
              left: 0;
              right: 0;
              top: calc(50% - .2rem); }
          main.recruit section.philosophy .container .box hgroup[data-inview-active] p {
            opacity: 1;
            transform: rotate(-8deg) translateX(0); }
          main.recruit section.philosophy .container .box hgroup[data-inview-active] h2 {
            opacity: 1;
            transform: translateY(0); }
        main.recruit section.philosophy .container .box .body p {
          font-style: normal;
          font-weight: 400;
          font-size: 2rem;
          line-height: 200%;
          text-align: center;
          color: #000000; }
          @media screen and (max-width: 1023px) {
            main.recruit section.philosophy .container .box .body p {
              font-size: 1.6rem;
              text-align: left; } }
          main.recruit section.philosophy .container .box .body p + p {
            margin-top: 4rem; }
            @media screen and (max-width: 1023px) {
              main.recruit section.philosophy .container .box .body p + p {
                margin-top: 0; } }
          @media screen and (max-width: 1023px) {
            main.recruit section.philosophy .container .box .body p br {
              display: none; } }
  main.recruit section.interview {
    position: relative;
    padding: 12rem 0;
    background-color: #EEEEEE; }
    main.recruit section.interview:before {
      content: "";
      display: block;
      -webkit-mask-image: url("../images/corner_01.svg");
      -webkit-mask-size: 100% 100%;
      mask-image: url("../images/corner_01.svg");
      mask-size: 100% 100%;
      width: 8rem;
      height: 8rem;
      position: absolute;
      top: 0;
      left: 0;
      background-color: #214296; }
      @media screen and (max-width: 1023px) {
        main.recruit section.interview:before {
          width: 4rem;
          height: 4rem; } }
    main.recruit section.interview:after {
      content: "";
      display: block;
      -webkit-mask-image: url("../images/corner_02.svg");
      -webkit-mask-size: 100% 100%;
      mask-image: url("../images/corner_02.svg");
      mask-size: 100% 100%;
      width: 8rem;
      height: 8rem;
      position: absolute;
      top: 0;
      right: 0;
      background-color: #214296; }
      @media screen and (max-width: 1023px) {
        main.recruit section.interview:after {
          width: 4rem;
          height: 4rem; } }
    @media screen and (max-width: 1023px) {
      main.recruit section.interview {
        padding: 6rem 0; } }
    main.recruit section.interview .container {
      max-width: 120rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.recruit section.interview .container {
          width: calc(342 / 390 * 100vw); } }
      main.recruit section.interview .container hgroup {
        position: relative;
        margin-bottom: 10rem; }
        @media screen and (max-width: 1023px) {
          main.recruit section.interview .container hgroup {
            padding-bottom: 1rem;
            margin-bottom: 4rem; } }
        main.recruit section.interview .container hgroup p {
          font-family: "Mr Dafoe", cursive;
          font-style: normal;
          font-weight: 400;
          font-size: 18rem;
          line-height: 1;
          color: #425EA6;
          transform: rotate(-8deg) translateX(-4rem);
          transform-origin: 0 100%;
          padding-left: 3rem;
          opacity: 0;
          transition: all ease 1s; }
          @media screen and (max-width: 1023px) {
            main.recruit section.interview .container hgroup p {
              font-size: 6.4rem;
              padding-left: 0;
              white-space: nowrap;
              transform: rotate(-8deg) translateX(-2rem); } }
        main.recruit section.interview .container hgroup h2 {
          position: absolute;
          bottom: 2rem;
          left: 0;
          padding: 0 4.8rem;
          width: fit-content;
          opacity: 0;
          transform: translateY(4rem);
          transition: all ease 1s; }
          @media screen and (max-width: 1023px) {
            main.recruit section.interview .container hgroup h2 {
              transform: translateY(2rem);
              padding: 0 2.4rem;
              bottom: 0; } }
          main.recruit section.interview .container hgroup h2 span {
            position: relative;
            display: block;
            font-weight: 700;
            font-size: 2.4rem;
            line-height: 100%;
            letter-spacing: 0.16em;
            color: #3355AA;
            padding: .6rem 2.4rem .8rem;
            background-color: #fff; }
            @media screen and (max-width: 1023px) {
              main.recruit section.interview .container hgroup h2 span {
                font-size: 1.6rem;
                padding: .6rem 1.6rem .8rem; } }
          main.recruit section.interview .container hgroup h2:before {
            content: "";
            display: block;
            background-color: #DF5451;
            height: .4rem;
            position: absolute;
            left: 0;
            right: 0;
            top: calc(50% - .2rem); }
        main.recruit section.interview .container hgroup[data-inview-active] p {
          opacity: 1;
          transform: rotate(-8deg) translateX(0); }
        main.recruit section.interview .container hgroup[data-inview-active] h2 {
          opacity: 1;
          transform: translateY(0); }
      main.recruit section.interview .container .body article + article {
        margin-top: 4rem; }
      main.recruit section.interview .container .body article > header {
        position: relative;
        display: flex;
        justify-content: flex-end; }
        @media screen and (max-width: 1023px) {
          main.recruit section.interview .container .body article > header {
            display: block; } }
        main.recruit section.interview .container .body article > header .marquee {
          position: absolute;
          bottom: 0;
          left: 50%;
          transform: translateX(-50%);
          width: 100vw;
          overflow: hidden;
          white-space: nowrap; }
          main.recruit section.interview .container .body article > header .marquee .inner {
            display: flex;
            width: max-content;
            animation: marquee calc(var(--width) / 300 * 1s) linear infinite; }
            @media screen and (max-width: 1023px) {
              main.recruit section.interview .container .body article > header .marquee .inner {
                animation: marquee calc(var(--width) / 200 * 1s) linear infinite; } }
            main.recruit section.interview .container .body article > header .marquee .inner span {
              flex-shrink: 0;
              padding-right: 3rem;
              font-weight: 900;
              font-size: 16rem;
              line-height: 150%;
              font-feature-settings: 'halt' on;
              color: #EEEEEE;
              -webkit-text-stroke: 2px #00DACD;
              text-stroke: 2px #00DACD;
              paint-order: stroke; }
              @media screen and (max-width: 1023px) {
                main.recruit section.interview .container .body article > header .marquee .inner span {
                  font-size: 7.2rem; } }
        main.recruit section.interview .container .body article > header .content {
          position: absolute;
          top: 50%;
          left: 0;
          transform: translateY(-50%);
          padding: 0 0 0 8rem;
          order: 1; }
          @media screen and (max-width: 1023px) {
            main.recruit section.interview .container .body article > header .content {
              position: relative;
              top: auto;
              left: auto;
              transform: none;
              padding: 0; } }
          main.recruit section.interview .container .body article > header .content h3 {
            margin-bottom: 2.4rem; }
            @media screen and (max-width: 1023px) {
              main.recruit section.interview .container .body article > header .content h3 {
                margin-bottom: 1.6rem; } }
            main.recruit section.interview .container .body article > header .content h3 > span {
              position: relative;
              display: block;
              width: fit-content;
              margin-bottom: -.4rem; }
              main.recruit section.interview .container .body article > header .content h3 > span:before {
                content: "";
                display: block;
                position: absolute;
                top: 0;
                left: 0;
                bottom: 0;
                width: 0;
                background-color: #214296;
                transition: all ease .3s; }
              main.recruit section.interview .container .body article > header .content h3 > span span {
                position: relative;
                display: block;
                padding: .6rem .8rem .8rem;
                font-size: 4.8rem;
                font-weight: 700;
                line-height: 100%;
                font-feature-settings: 'halt' on;
                color: #FFFFFF;
                clip-path: polygon(0 0, 0 100%, 0% 100%, 0% 0);
                transition: all ease .3s .3s; }
                @media screen and (max-width: 1023px) {
                  main.recruit section.interview .container .body article > header .content h3 > span span {
                    font-size: 2.4rem; } }
          main.recruit section.interview .container .body article > header .content .join {
            font-weight: 700;
            font-size: 1.8rem;
            line-height: 100%;
            color: #FFFFFF;
            padding: .8rem;
            width: fit-content;
            background: #DF5451;
            margin-bottom: 2.4rem;
            opacity: 0;
            transition: all ease 1s .6s; }
            @media screen and (max-width: 1023px) {
              main.recruit section.interview .container .body article > header .content .join {
                font-size: 1.4rem;
                padding: .6rem .8rem;
                margin-bottom: 1.6rem; } }
          main.recruit section.interview .container .body article > header .content .profile {
            display: flex;
            gap: 1em;
            font-weight: 700;
            font-size: 2rem;
            line-height: 100%;
            color: #214296;
            width: fit-content;
            opacity: 0;
            transition: all ease 1s .6s; }
            @media screen and (max-width: 1023px) {
              main.recruit section.interview .container .body article > header .content .profile {
                font-size: 1.6rem;
                line-height: 150%;
                display: block; } }
            @media screen and (max-width: 1023px) {
              main.recruit section.interview .container .body article > header .content .profile span {
                display: block; } }
          main.recruit section.interview .container .body article > header .content[data-inview-active] h3 > span::before {
            width: 100%; }
          main.recruit section.interview .container .body article > header .content[data-inview-active] h3 > span > span {
            clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
          main.recruit section.interview .container .body article > header .content[data-inview-active] .join {
            opacity: 1; }
          main.recruit section.interview .container .body article > header .content[data-inview-active] .profile {
            opacity: 1; }
        main.recruit section.interview .container .body article > header figure {
          position: relative;
          order: 2;
          width: 50rem; }
          @media screen and (max-width: 1023px) {
            main.recruit section.interview .container .body article > header figure {
              width: calc(200 / 390 * 100vw);
              max-width: 28rem;
              margin-left: auto;
              margin-top: -8.2rem; } }
      main.recruit section.interview .container .body article .box {
        border-radius: 1.6rem;
        background-color: #214296;
        padding: 6.4rem 8rem; }
        @media screen and (max-width: 1023px) {
          main.recruit section.interview .container .body article .box {
            padding: calc(24 / 390 * 100vw) calc(16 / 390 * 100vw); } }
        main.recruit section.interview .container .body article .box p {
          font-weight: 500;
          font-size: 1.6rem;
          line-height: 200%;
          color: #FFFFFF; }
          @media screen and (max-width: 1023px) {
            main.recruit section.interview .container .body article .box p {
              font-size: 1.4rem; } }
          main.recruit section.interview .container .body article .box p + p {
            margin-top: 3.2rem; }
            @media screen and (max-width: 1023px) {
              main.recruit section.interview .container .body article .box p + p {
                margin-top: 2.8rem; } }
        main.recruit section.interview .container .body article .box figure {
          margin-top: 4rem; }
          main.recruit section.interview .container .body article .box figure ul {
            display: flex;
            gap: 2.4rem; }
            @media screen and (max-width: 1023px) {
              main.recruit section.interview .container .body article .box figure ul {
                gap: 1.6rem;
                flex-direction: column; } }
            main.recruit section.interview .container .body article .box figure ul li {
              flex: 1; }
              @media screen and (max-width: 1023px) {
                main.recruit section.interview .container .body article .box figure ul li {
                  flex: initial; } }
              main.recruit section.interview .container .body article .box figure ul li img {
                width: 100%;
                border-radius: .4rem; }
      main.recruit section.interview .container .body article:nth-child(2n) > header {
        justify-content: flex-start; }
        main.recruit section.interview .container .body article:nth-child(2n) > header .content {
          order: 2;
          left: auto;
          right: 0;
          padding: 0 8rem 0 0; }
          @media screen and (max-width: 1023px) {
            main.recruit section.interview .container .body article:nth-child(2n) > header .content {
              padding: 0; } }
          main.recruit section.interview .container .body article:nth-child(2n) > header .content h3 > span {
            margin: 0 0 0 auto; }
            main.recruit section.interview .container .body article:nth-child(2n) > header .content h3 > span:before {
              background-color: #fff; }
            main.recruit section.interview .container .body article:nth-child(2n) > header .content h3 > span span {
              color: #214296; }
          main.recruit section.interview .container .body article:nth-child(2n) > header .content > * {
            margin-right: 0;
            margin-left: auto;
            text-align: right; }
        main.recruit section.interview .container .body article:nth-child(2n) > header figure {
          order: 1; }
          @media screen and (max-width: 1023px) {
            main.recruit section.interview .container .body article:nth-child(2n) > header figure {
              margin-left: 0;
              margin-right: auto; } }
      main.recruit section.interview .container .body article:nth-child(2n) .box {
        background-color: #fff; }
        main.recruit section.interview .container .body article:nth-child(2n) .box p {
          color: #214296; }
  main.recruit section.workplace {
    position: relative;
    background-color: #214296;
    padding: 12rem 0 22rem; }
    main.recruit section.workplace:before {
      content: "";
      display: block;
      -webkit-mask-image: url("../images/corner_01.svg");
      -webkit-mask-size: 100% 100%;
      mask-image: url("../images/corner_01.svg");
      mask-size: 100% 100%;
      width: 8rem;
      height: 8rem;
      position: absolute;
      top: 0;
      left: 0;
      background-color: #EEEEEE; }
      @media screen and (max-width: 1023px) {
        main.recruit section.workplace:before {
          width: 4rem;
          height: 4rem; } }
    main.recruit section.workplace:after {
      content: "";
      display: block;
      -webkit-mask-image: url("../images/corner_02.svg");
      -webkit-mask-size: 100% 100%;
      mask-image: url("../images/corner_02.svg");
      mask-size: 100% 100%;
      width: 8rem;
      height: 8rem;
      position: absolute;
      top: 0;
      right: 0;
      background-color: #EEEEEE; }
      @media screen and (max-width: 1023px) {
        main.recruit section.workplace:after {
          width: 4rem;
          height: 4rem; } }
    @media screen and (max-width: 1023px) {
      main.recruit section.workplace {
        padding: 6.4rem 0; } }
    main.recruit section.workplace .container {
      max-width: 120rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.recruit section.workplace .container {
          width: calc(342 / 390 * 100vw); } }
      main.recruit section.workplace .container hgroup {
        position: relative;
        margin-bottom: 10rem; }
        @media screen and (max-width: 1023px) {
          main.recruit section.workplace .container hgroup {
            padding-bottom: 1rem;
            margin-bottom: 4rem; } }
        main.recruit section.workplace .container hgroup p {
          font-family: "Mr Dafoe", cursive;
          font-style: normal;
          font-weight: 400;
          font-size: 18rem;
          line-height: 1;
          color: #425EA6;
          transform: rotate(-8deg) translateX(-4rem);
          transform-origin: 0 100%;
          padding-left: 3rem;
          opacity: 0;
          transition: all ease 1s; }
          @media screen and (max-width: 1023px) {
            main.recruit section.workplace .container hgroup p {
              font-size: 6.4rem;
              padding-left: 0;
              white-space: nowrap;
              transform: rotate(-8deg) translateX(-2rem); } }
        main.recruit section.workplace .container hgroup h2 {
          position: absolute;
          bottom: 2rem;
          left: 0;
          padding: 0 4.8rem;
          width: fit-content;
          opacity: 0;
          transform: translateY(4rem);
          transition: all ease 1s; }
          @media screen and (max-width: 1023px) {
            main.recruit section.workplace .container hgroup h2 {
              transform: translateY(2rem);
              padding: 0 2.4rem;
              bottom: 0; } }
          main.recruit section.workplace .container hgroup h2 span {
            position: relative;
            display: block;
            font-weight: 700;
            font-size: 2.4rem;
            line-height: 100%;
            letter-spacing: 0.16em;
            color: #3355AA;
            padding: .6rem 2.4rem .8rem;
            background-color: #fff; }
            @media screen and (max-width: 1023px) {
              main.recruit section.workplace .container hgroup h2 span {
                font-size: 1.6rem;
                padding: .6rem 1.6rem .8rem; } }
          main.recruit section.workplace .container hgroup h2:before {
            content: "";
            display: block;
            background-color: #DF5451;
            height: .4rem;
            position: absolute;
            left: 0;
            right: 0;
            top: calc(50% - .2rem); }
        main.recruit section.workplace .container hgroup[data-inview-active] p {
          opacity: 1;
          transform: rotate(-8deg) translateX(0); }
        main.recruit section.workplace .container hgroup[data-inview-active] h2 {
          opacity: 1;
          transform: translateY(0); }
      main.recruit section.workplace .container .lead {
        font-weight: 500;
        font-size: 1.8rem;
        line-height: 200%;
        color: #FFFFFF;
        position: absolute; }
        @media screen and (max-width: 1023px) {
          main.recruit section.workplace .container .lead {
            position: relative;
            margin-bottom: 2.4rem; } }
      main.recruit section.workplace .container figure {
        position: relative;
        width: 100%;
        aspect-ratio: 1200	/ 1152; }
        @media screen and (max-width: 1023px) {
          main.recruit section.workplace .container figure {
            aspect-ratio: 342	/ 822;
            margin-bottom: 4.8rem; } }
        main.recruit section.workplace .container figure ul li {
          position: absolute;
          border-radius: .4rem;
          overflow: hidden; }
          main.recruit section.workplace .container figure ul li::before {
            content: "";
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            width: 0;
            background-color: #00DACD;
            transition: all ease .3s; }
          main.recruit section.workplace .container figure ul li img {
            position: relative;
            border-radius: .4rem;
            transition: all ease .3s .3s;
            clip-path: polygon(0 0, 0 100%, 0% 100%, 0% 0); }
          main.recruit section.workplace .container figure ul li:nth-child(1) {
            top: calc(160 / 1153 * 100%);
            left: calc(0 / 1200 * 100%);
            width: calc(480 / 1200 * 100%); }
            @media screen and (max-width: 1023px) {
              main.recruit section.workplace .container figure ul li:nth-child(1) {
                top: 0;
                left: 0;
                width: calc(167 / 342 * 100%); } }
          main.recruit section.workplace .container figure ul li:nth-child(2) {
            top: calc(496 / 1153 * 100%);
            left: calc(0 / 1200 * 100%);
            width: calc(480 / 1200 * 100%); }
            @media screen and (max-width: 1023px) {
              main.recruit section.workplace .container figure ul li:nth-child(2) {
                top: 0;
                left: calc(175 / 342 * 100%);
                width: calc(167 / 342 * 100%); } }
          main.recruit section.workplace .container figure ul li:nth-child(3) {
            top: calc(832 / 1153 * 100%);
            left: calc(0 / 1200 * 100%);
            width: calc(480 / 1200 * 100%); }
            @media screen and (max-width: 1023px) {
              main.recruit section.workplace .container figure ul li:nth-child(3) {
                top: calc(120 / 822 * 100%);
                left: calc(0 / 342 * 100%);
                width: calc(342 / 342 * 100%); } }
          main.recruit section.workplace .container figure ul li:nth-child(4) {
            top: calc(0 / 1153 * 100%);
            left: calc(496 / 1200 * 100%);
            width: calc(344 / 1200 * 100%); }
            @media screen and (max-width: 1023px) {
              main.recruit section.workplace .container figure ul li:nth-child(4) {
                top: calc(356 / 822 * 100%);
                left: calc(0 / 342 * 100%);
                width: calc(167 / 342 * 100%); } }
          main.recruit section.workplace .container figure ul li:nth-child(5) {
            top: calc(0 / 1153 * 100%);
            left: calc(856 / 1200 * 100%);
            width: calc(344 / 1200 * 100%); }
            @media screen and (max-width: 1023px) {
              main.recruit section.workplace .container figure ul li:nth-child(5) {
                top: calc(356 / 822 * 100%);
                left: calc(175 / 342 * 100%);
                width: calc(167 / 342 * 100%); } }
          main.recruit section.workplace .container figure ul li:nth-child(6) {
            top: calc(245 / 1153 * 100%);
            left: calc(496 / 1200 * 100%);
            width: calc(704 / 1200 * 100%); }
            @media screen and (max-width: 1023px) {
              main.recruit section.workplace .container figure ul li:nth-child(6) {
                top: calc(475 / 822 * 100%);
                left: calc(0 / 342 * 100%);
                width: calc(342 / 342 * 100%); } }
          main.recruit section.workplace .container figure ul li:nth-child(7) {
            top: calc(730 / 1153 * 100%);
            left: calc(496 / 1200 * 100%);
            width: calc(344 / 1200 * 100%); }
            @media screen and (max-width: 1023px) {
              main.recruit section.workplace .container figure ul li:nth-child(7) {
                top: calc(711 / 822 * 100%);
                left: calc(0 / 342 * 100%);
                width: calc(167 / 342 * 100%); } }
          main.recruit section.workplace .container figure ul li:nth-child(8) {
            top: calc(730 / 1153 * 100%);
            left: calc(856 / 1200 * 100%);
            width: calc(344 / 1200 * 100%); }
            @media screen and (max-width: 1023px) {
              main.recruit section.workplace .container figure ul li:nth-child(8) {
                top: calc(711 / 822 * 100%);
                left: calc(175 / 342 * 100%);
                width: calc(167 / 342 * 100%); } }
          main.recruit section.workplace .container figure ul li[data-inview-active]::before {
            width: 100%; }
          main.recruit section.workplace .container figure ul li[data-inview-active] img {
            clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); }
        main.recruit section.workplace .container figure p {
          position: absolute;
          top: calc(975 / 1153 * 100%);
          left: calc(496 / 1200 * 100%);
          width: calc(704 / 1200 * 100%);
          background-color: #00DACD;
          padding: 0 1.6rem;
          height: 3.6rem;
          display: flex;
          justify-content: flex-end;
          align-items: center;
          font-family: 'Inter';
          font-style: normal;
          font-weight: 700;
          font-size: 1.8rem;
          line-height: 200%; }
          @media screen and (max-width: 1023px) {
            main.recruit section.workplace .container figure p {
              top: auto;
              bottom: -4.8rem;
              left: 0;
              right: 0;
              width: auto;
              font-size: 1.2rem;
              height: 2.4rem;
              padding: 0 1.6rem; } }
  main.recruit section.data {
    position: relative;
    background-color: #FFFFFF;
    padding: 12rem 0; }
    main.recruit section.data:before {
      content: "";
      display: block;
      -webkit-mask-image: url("../images/corner_01.svg");
      -webkit-mask-size: 100% 100%;
      mask-image: url("../images/corner_01.svg");
      mask-size: 100% 100%;
      width: 8rem;
      height: 8rem;
      position: absolute;
      top: 0;
      left: 0;
      background-color: #214296; }
      @media screen and (max-width: 1023px) {
        main.recruit section.data:before {
          width: 4rem;
          height: 4rem; } }
    main.recruit section.data:after {
      content: "";
      display: block;
      -webkit-mask-image: url("../images/corner_02.svg");
      -webkit-mask-size: 100% 100%;
      mask-image: url("../images/corner_02.svg");
      mask-size: 100% 100%;
      width: 8rem;
      height: 8rem;
      position: absolute;
      top: 0;
      right: 0;
      background-color: #214296; }
      @media screen and (max-width: 1023px) {
        main.recruit section.data:after {
          width: 4rem;
          height: 4rem; } }
    @media screen and (max-width: 1023px) {
      main.recruit section.data {
        padding: 6.4rem 0; } }
    main.recruit section.data .container {
      max-width: 120rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.recruit section.data .container {
          width: calc(342 / 390 * 100vw); } }
      main.recruit section.data .container hgroup {
        position: relative;
        margin-bottom: 10rem; }
        @media screen and (max-width: 1023px) {
          main.recruit section.data .container hgroup {
            padding-bottom: 1rem;
            margin-bottom: 4rem; } }
        main.recruit section.data .container hgroup p {
          font-family: "Mr Dafoe", cursive;
          font-style: normal;
          font-weight: 400;
          font-size: 18rem;
          line-height: 1;
          color: #425EA6;
          transform: rotate(-8deg) translateX(-4rem);
          transform-origin: 0 100%;
          padding-left: 3rem;
          opacity: 0;
          transition: all ease 1s; }
          @media screen and (max-width: 1023px) {
            main.recruit section.data .container hgroup p {
              font-size: 6.4rem;
              padding-left: 0;
              white-space: nowrap;
              transform: rotate(-8deg) translateX(-2rem); } }
        main.recruit section.data .container hgroup h2 {
          position: absolute;
          bottom: 2rem;
          left: 0;
          padding: 0 4.8rem;
          width: fit-content;
          opacity: 0;
          transform: translateY(4rem);
          transition: all ease 1s; }
          @media screen and (max-width: 1023px) {
            main.recruit section.data .container hgroup h2 {
              transform: translateY(2rem);
              padding: 0 2.4rem;
              bottom: 0; } }
          main.recruit section.data .container hgroup h2 span {
            position: relative;
            display: block;
            font-weight: 700;
            font-size: 2.4rem;
            line-height: 100%;
            letter-spacing: 0.16em;
            color: #3355AA;
            padding: .6rem 2.4rem .8rem;
            background-color: #fff; }
            @media screen and (max-width: 1023px) {
              main.recruit section.data .container hgroup h2 span {
                font-size: 1.6rem;
                padding: .6rem 1.6rem .8rem; } }
          main.recruit section.data .container hgroup h2:before {
            content: "";
            display: block;
            background-color: #DF5451;
            height: .4rem;
            position: absolute;
            left: 0;
            right: 0;
            top: calc(50% - .2rem); }
        main.recruit section.data .container hgroup[data-inview-active] p {
          opacity: 1;
          transform: rotate(-8deg) translateX(0); }
        main.recruit section.data .container hgroup[data-inview-active] h2 {
          opacity: 1;
          transform: translateY(0); }
      @media screen and (max-width: 767px) {
        main.recruit section.data .container figure {
          max-width: 34.2rem;
          margin: 0 auto; } }
  main.recruit > .wrapper {
    clip-path: inset(0); }
    main.recruit > .wrapper > .bg {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      height: 100vh; }
      main.recruit > .wrapper > .bg .splide {
        width: 100%;
        height: 100%;
        opacity: .9; }
        main.recruit > .wrapper > .bg .splide * {
          width: 100%;
          height: 100%; }
        main.recruit > .wrapper > .bg .splide .splide__slide img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          transform: scale(1.2);
          transition: transform 7.5s ease-out; }
        main.recruit > .wrapper > .bg .splide .splide__slide.is-custom-prev img,
        main.recruit > .wrapper > .bg .splide .splide__slide.is-prev img,
        main.recruit > .wrapper > .bg .splide .splide__slide.is-active img {
          transform: scale(1); }
  main.recruit section.details {
    position: relative;
    position: relative;
    background-color: rgba(33, 66, 150, 0.9);
    padding: 12rem 0 0; }
    main.recruit section.details:before {
      content: "";
      display: block;
      -webkit-mask-image: url("../images/corner_01.svg");
      -webkit-mask-size: 100% 100%;
      mask-image: url("../images/corner_01.svg");
      mask-size: 100% 100%;
      width: 8rem;
      height: 8rem;
      position: absolute;
      top: 0;
      left: 0;
      background-color: #FFFFFF; }
      @media screen and (max-width: 1023px) {
        main.recruit section.details:before {
          width: 4rem;
          height: 4rem; } }
    main.recruit section.details:after {
      content: "";
      display: block;
      -webkit-mask-image: url("../images/corner_02.svg");
      -webkit-mask-size: 100% 100%;
      mask-image: url("../images/corner_02.svg");
      mask-size: 100% 100%;
      width: 8rem;
      height: 8rem;
      position: absolute;
      top: 0;
      right: 0;
      background-color: #FFFFFF; }
      @media screen and (max-width: 1023px) {
        main.recruit section.details:after {
          width: 4rem;
          height: 4rem; } }
    @media screen and (max-width: 1023px) {
      main.recruit section.details {
        padding: 6.4rem 0 0; } }
    main.recruit section.details .container {
      max-width: 120rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.recruit section.details .container {
          width: calc(342 / 390 * 100vw); } }
      main.recruit section.details .container hgroup {
        position: relative;
        margin-bottom: 10rem; }
        @media screen and (max-width: 1023px) {
          main.recruit section.details .container hgroup {
            padding-bottom: 1rem;
            margin-bottom: 4rem; } }
        main.recruit section.details .container hgroup p {
          font-family: "Mr Dafoe", cursive;
          font-style: normal;
          font-weight: 400;
          font-size: 18rem;
          line-height: 1;
          color: #425EA6;
          transform: rotate(-8deg) translateX(-4rem);
          transform-origin: 0 100%;
          padding-left: 3rem;
          opacity: 0;
          transition: all ease 1s; }
          @media screen and (max-width: 1023px) {
            main.recruit section.details .container hgroup p {
              font-size: 6.4rem;
              padding-left: 0;
              white-space: nowrap;
              transform: rotate(-8deg) translateX(-2rem); } }
        main.recruit section.details .container hgroup h2 {
          position: absolute;
          bottom: 2rem;
          left: 0;
          padding: 0 4.8rem;
          width: fit-content;
          opacity: 0;
          transform: translateY(4rem);
          transition: all ease 1s; }
          @media screen and (max-width: 1023px) {
            main.recruit section.details .container hgroup h2 {
              transform: translateY(2rem);
              padding: 0 2.4rem;
              bottom: 0; } }
          main.recruit section.details .container hgroup h2 span {
            position: relative;
            display: block;
            font-weight: 700;
            font-size: 2.4rem;
            line-height: 100%;
            letter-spacing: 0.16em;
            color: #3355AA;
            padding: .6rem 2.4rem .8rem;
            background-color: #fff; }
            @media screen and (max-width: 1023px) {
              main.recruit section.details .container hgroup h2 span {
                font-size: 1.6rem;
                padding: .6rem 1.6rem .8rem; } }
          main.recruit section.details .container hgroup h2:before {
            content: "";
            display: block;
            background-color: #DF5451;
            height: .4rem;
            position: absolute;
            left: 0;
            right: 0;
            top: calc(50% - .2rem); }
        main.recruit section.details .container hgroup[data-inview-active] p {
          opacity: 1;
          transform: rotate(-8deg) translateX(0); }
        main.recruit section.details .container hgroup[data-inview-active] h2 {
          opacity: 1;
          transform: translateY(0); }
      main.recruit section.details .container > dl {
        padding: 4.8rem;
        background-color: #fff;
        border-radius: 1.6rem; }
        @media screen and (max-width: 1023px) {
          main.recruit section.details .container > dl {
            padding: calc(24 / 390 * 100vw) calc(16 / 390 * 100vw); } }
        main.recruit section.details .container > dl > div {
          display: flex; }
          @media screen and (max-width: 1023px) {
            main.recruit section.details .container > dl > div {
              display: block; } }
          main.recruit section.details .container > dl > div > dt {
            flex: 0 0 16rem;
            padding: 1.6rem;
            font-weight: 700;
            font-size: 2rem;
            line-height: 100%;
            letter-spacing: 0.04em;
            color: #214296;
            border-top: .2rem solid #214296; }
            @media screen and (max-width: 1023px) {
              main.recruit section.details .container > dl > div > dt {
                font-size: 1.8rem;
                padding: .8rem 0 0; } }
          main.recruit section.details .container > dl > div > dd {
            flex: 0 0 calc(100% - 16rem);
            font-weight: 400;
            font-size: 1.6rem;
            line-height: 200%;
            color: #000000;
            padding: 1.2rem 1.6rem;
            border-top: .2rem solid #EEEEEE; }
            @media screen and (max-width: 1023px) {
              main.recruit section.details .container > dl > div > dd {
                padding: 2.4rem 0;
                border: none; } }
            main.recruit section.details .container > dl > div > dd dt,
            main.recruit section.details .container > dl > div > dd .job {
              font-weight: 700;
              font-size: 2rem;
              line-height: 150%;
              color: #214296; }
              @media screen and (max-width: 1023px) {
                main.recruit section.details .container > dl > div > dd dt,
                main.recruit section.details .container > dl > div > dd .job {
                  font-size: 1.6rem;
                  margin-bottom: .8rem; } }
            main.recruit section.details .container > dl > div > dd dt {
              margin-top: 2.4rem; }
              @media screen and (max-width: 1023px) {
                main.recruit section.details .container > dl > div > dd dt {
                  margin-top: 1.6rem; } }
              main.recruit section.details .container > dl > div > dd dt:first-child {
                margin-too: 0; }
            main.recruit section.details .container > dl > div > dd ul li {
              position: relative;
              padding-left: 2.4rem; }
              main.recruit section.details .container > dl > div > dd ul li::before {
                content: "";
                display: block;
                width: .4rem;
                height: .4rem;
                border-radius: 50%;
                background-color: #000;
                position: absolute;
                top: 1.4rem;
                left: 1rem; }
  main.recruit section.flow {
    position: relative;
    background-color: rgba(33, 66, 150, 0.9);
    padding: 12rem 0 16rem; }
    @media screen and (max-width: 1023px) {
      main.recruit section.flow {
        padding: 6.4rem 0; } }
    main.recruit section.flow .container {
      max-width: 120rem;
      margin: 0 auto; }
      @media screen and (max-width: 1023px) {
        main.recruit section.flow .container {
          width: calc(342 / 390 * 100vw); } }
      main.recruit section.flow .container hgroup {
        position: relative;
        margin-bottom: 10rem; }
        @media screen and (max-width: 1023px) {
          main.recruit section.flow .container hgroup {
            padding-bottom: 1rem;
            margin-bottom: 4rem; } }
        main.recruit section.flow .container hgroup p {
          font-family: "Mr Dafoe", cursive;
          font-style: normal;
          font-weight: 400;
          font-size: 18rem;
          line-height: 1;
          color: #425EA6;
          transform: rotate(-8deg) translateX(-4rem);
          transform-origin: 0 100%;
          padding-left: 3rem;
          opacity: 0;
          transition: all ease 1s; }
          @media screen and (max-width: 1023px) {
            main.recruit section.flow .container hgroup p {
              font-size: 6.4rem;
              padding-left: 0;
              white-space: nowrap;
              transform: rotate(-8deg) translateX(-2rem); } }
        main.recruit section.flow .container hgroup h2 {
          position: absolute;
          bottom: 2rem;
          left: 0;
          padding: 0 4.8rem;
          width: fit-content;
          opacity: 0;
          transform: translateY(4rem);
          transition: all ease 1s; }
          @media screen and (max-width: 1023px) {
            main.recruit section.flow .container hgroup h2 {
              transform: translateY(2rem);
              padding: 0 2.4rem;
              bottom: 0; } }
          main.recruit section.flow .container hgroup h2 span {
            position: relative;
            display: block;
            font-weight: 700;
            font-size: 2.4rem;
            line-height: 100%;
            letter-spacing: 0.16em;
            color: #3355AA;
            padding: .6rem 2.4rem .8rem;
            background-color: #fff; }
            @media screen and (max-width: 1023px) {
              main.recruit section.flow .container hgroup h2 span {
                font-size: 1.6rem;
                padding: .6rem 1.6rem .8rem; } }
          main.recruit section.flow .container hgroup h2:before {
            content: "";
            display: block;
            background-color: #DF5451;
            height: .4rem;
            position: absolute;
            left: 0;
            right: 0;
            top: calc(50% - .2rem); }
        main.recruit section.flow .container hgroup[data-inview-active] p {
          opacity: 1;
          transform: rotate(-8deg) translateX(0); }
        main.recruit section.flow .container hgroup[data-inview-active] h2 {
          opacity: 1;
          transform: translateY(0); }
      main.recruit section.flow .container ol {
        display: flex;
        gap: 2.7rem; }
        @media screen and (max-width: 1023px) {
          main.recruit section.flow .container ol {
            flex-direction: column; } }
        main.recruit section.flow .container ol li {
          position: relative;
          flex: 0 0 calc((100% - 2.7rem * 4) / 5);
          background-color: #fff;
          border-radius: 1.6rem;
          padding: 2.4rem; }
          @media screen and (max-width: 1023px) {
            main.recruit section.flow .container ol li {
              display: flex;
              justify-content: flex-start;
              align-items: center;
              gap: .8rem;
              padding: 1.6rem 1.6rem 1.6rem 2rem; } }
          main.recruit section.flow .container ol li::after {
            content: "";
            display: block;
            border-left: 1.1rem solid #00DACD;
            border-top: .7rem solid transparent;
            border-bottom: .7rem solid transparent;
            position: absolute;
            left: calc(100% + .8rem);
            top: 50%;
            transform: translateY(-50%); }
            @media screen and (max-width: 1023px) {
              main.recruit section.flow .container ol li::after {
                top: calc(100% + .8rem);
                left: 50%;
                transform: translateX(-50%);
                border: none;
                border-top: 1.1rem solid #00DACD;
                border-left: .7rem solid transparent;
                border-right: .7rem solid transparent; } }
          main.recruit section.flow .container ol li:last-child::after {
            display: none; }
          main.recruit section.flow .container ol li .marker {
            font-family: 'Inter';
            font-style: normal;
            font-weight: 300;
            font-size: 3.2rem;
            line-height: 100%;
            text-align: center;
            color: #214296;
            margin-bottom: .8rem; }
            @media screen and (max-width: 1023px) {
              main.recruit section.flow .container ol li .marker {
                margin: 0; } }
          main.recruit section.flow .container ol li p:nth-child(2) {
            font-weight: 700;
            font-size: 2rem;
            line-height: 150%;
            text-align: center;
            color: #214296;
            padding: 0 .8rem;
            background: #00DACD;
            width: fit-content;
            margin: 0 auto; }
            @media screen and (max-width: 1023px) {
              main.recruit section.flow .container ol li p:nth-child(2) {
                font-size: 1.8rem;
                margin: 0; } }
          main.recruit section.flow .container ol li .note {
            font-weight: 500;
            font-size: 1.4rem;
            line-height: 150%;
            text-align: center;
            color: #000000;
            margin-top: .8rem; }
            @media screen and (max-width: 1023px) {
              main.recruit section.flow .container ol li .note {
                margin: 0; } }
      main.recruit section.flow .container > .note {
        font-weight: 500;
        font-size: 1.6rem;
        line-height: 150%;
        text-align: center;
        color: #FFFFFF;
        margin-top: 2.4rem; }
        @media screen and (max-width: 1023px) {
          main.recruit section.flow .container > .note {
            font-size: 1.4rem; } }
      main.recruit section.flow .container .action {
        margin-top: 16rem;
        display: flex;
        justify-content: center; }
        @media screen and (max-width: 1023px) {
          main.recruit section.flow .container .action {
            margin-top: 6.4rem; } }
        main.recruit section.flow .container .action a {
          position: relative;
          width: 100%;
          max-width: 64rem;
          height: 12rem;
          background: #DF5451;
          border-radius: .4rem;
          display: flex;
          justify-content: center;
          align-items: center;
          font-weight: 700;
          font-size: 3.2rem;
          line-height: 100%;
          text-align: center;
          letter-spacing: 0.1em;
          color: #FFFFFF;
          transition: all ease .3s; }
          @media screen and (max-width: 1023px) {
            main.recruit section.flow .container .action a {
              font-size: 2.4rem;
              height: 8rem; } }
          main.recruit section.flow .container .action a::after {
            content: "";
            display: block;
            border-left: 1.4rem solid #fff;
            border-top: .8rem solid transparent;
            border-bottom: .8rem solid transparent;
            position: absolute;
            right: 3.6rem;
            top: 50%;
            transform: translateY(-50%);
            transition: all ease .3s; }
          @media screen and (min-width: 1024px) {
            main.recruit section.flow .container .action a:hover {
              background-color: #E26562; }
              main.recruit section.flow .container .action a:hover:after {
                right: 2rem; } }
