@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

ul {
  list-style-type: none;
}

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

ul,
ol,
div {
  margin: 0;
  padding: 0;
}

@font-face {
  font-family: "Futura Book";
  src: url('../public/fonts/Futura-Book-Italic.ttf') format("truetype");
  font-style: italic;
}
@font-face {
  font-family: "Futura PT Medium Oblique";
  src: url('../public/fonts/Futura-PT-Medium-Oblique.otf') format("opentype");
  font-style: italic;
}
html {
  font-family: "Noto Sans JP", sans-serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: 62.5%;
  color: #000;
  scroll-behavior: smooth;
  scroll-padding-top: 75px;
}
@media screen and (max-width: 767px) {
  html {
    scroll-padding-top: 54px;
  }
}

body {
  min-height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 1.6rem;
}

img {
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  vertical-align: middle;
  font-style: italic;
}

main {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
main:not(.main--top) {
  margin-top: 75px;
}
@media screen and (max-width: 767px) {
  main:not(.main--top) {
    margin-top: 54px;
  }
}

.lenis-locked,
.lenis-locked body,
.lenis-locked .lenis {
  overflow: hidden !important;
  height: 100% !important;
}

.image {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.image--100 {
  height: 100%;
}
.image--auto {
  width: auto;
}
.image--contain {
  -o-object-fit: contain;
     object-fit: contain;
}

.container {
  padding: 0 4%;
  margin: 0 auto;
  max-width: calc(1140px + 8%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .container {
    max-width: 100%;
    padding-inline: 6%;
  }
}

.header {
  position: fixed;
  top: 0;
  width: 100%;
  background-color: #fff;
  z-index: 999;
}
.header__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-block: 20px;
  max-width: calc(1410px + 8%);
  z-index: 999;
}
@media screen and (max-width: 767px) {
  .header__container {
    padding: 0 5.33%;
  }
}
.header__logo-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 25px;
}
@media screen and (max-width: 767px) {
  .header__logo-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2px;
  }
}
.header__logo {
  width: 280px;
}
@media screen and (max-width: 767px) {
  .header__logo {
    width: 150px;
  }
}
.header__recruiting-site {
  font-family: "JOST", sans-serif;
  font-size: 1.736rem;
  font-weight: 300;
  font-style: oblique;
  color: #a51306;
}
@media screen and (max-width: 1450px) {
  .header__recruiting-site {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .header__recruiting-site {
    font-size: 8px;
  }
}
.header__nav-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .header__nav-group {
    gap: 18.4px;
  }
}
.header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 35px;
}
@media screen and (max-width: 1450px) {
  .header__nav {
    gap: 20px;
  }
}
.header__nav-item {
  position: relative;
  font-size: 1.42rem;
}
@media screen and (max-width: 1450px) {
  .header__nav-item {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 1366px) {
  .header__nav-item {
    font-size: 1.1rem;
  }
}
.header__nav-item::before {
  width: 100%;
  height: 30px;
  position: absolute;
  bottom: -30px;
  left: 0;
}
.header__nav-item::after {
  content: "";
  position: absolute;
  bottom: -3.5px;
  left: 0;
  width: 100%;
  height: 1px;
  background: #a51306;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: top right;
          transform-origin: top right;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.header__nav-item:hover {
  cursor: pointer;
}
.header__nav-item:hover::before {
  content: "";
}
.header__nav-item:hover::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: top left;
          transform-origin: top left;
}
.header__nav-item:hover .header__subnav {
  grid-template-rows: 1fr;
  padding-block: 0 30px;
  -webkit-transition: grid-template-rows 0.2s ease;
  transition: grid-template-rows 0.2s ease;
  transition: grid-template-rows 0.2s ease, -ms-grid-rows 0.2s ease;
}
.header__subnav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  overflow: hidden;
}
.header__subnav {
  position: absolute;
  bottom: -27px;
  left: 0;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 0 100vw;
  margin: 0 -100vw;
  display: grid;
  grid-template-rows: 0fr;
  background: #fff;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.header__button-wrapper {
  position: relative;
}
@media screen and (min-width: 1201px) {
  .header__button-wrapper:hover .header__button-menu {
    grid-template-rows: 1fr;
  }
}
@media screen and (max-width: 1200px) {
  .header__button-wrapper.sp-active .header__button-menu {
    grid-template-rows: 1fr;
  }
}
.header__button {
  min-width: 152px;
  min-height: 35px;
  color: #fff;
  background: #a51306;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .header__button {
    min-height: 54px;
    min-width: 80px;
  }
}
.header__button--submenu {
  position: relative;
  background: #fff;
  color: #000;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding-left: 10px;
}
.header__button--submenu:not(:last-child) {
  border-bottom: 1px solid #a2a2a2;
}
.header__button--submenu::after {
  content: "";
  width: 13px;
  height: 13px;
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url('../public/img/icons/arrow-button.svg') no-repeat center/contain;
}
.header__button-menu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  display: grid;
  grid-template-rows: 0fr;
  -webkit-transition: grid-template-rows 0.2s ease-out;
  transition: grid-template-rows 0.2s ease-out;
  transition: grid-template-rows 0.2s ease-out, -ms-grid-rows 0.2s ease-out;
}
@media screen and (max-width: 767px) {
  .header__button-menu {
    width: calc(100% + 60px);
  }
}
.header__button-menu-list {
  overflow: hidden;
}
.header__button-text {
  font-family: "JOST", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  font-style: oblique;
}
@media screen and (max-width: 767px) {
  .header__button-text {
    font-size: 11px;
  }
}
.header__button-text--small {
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .header__button-text--small {
    font-size: 9px;
  }
}

.footer {
  position: relative;
  background: #f5f5f5;
  z-index: 3;
}
.footer__container {
  max-width: calc(1270px + 8%);
}
.footer__group {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 50px;
     -moz-column-gap: 50px;
          column-gap: 50px;
  padding-block: 110px 125px;
}
@media screen and (max-width: 1200px) {
  .footer__group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .footer__group {
    padding-block: 74px 56px;
  }
}
.footer__group-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .footer__group-left {
    row-gap: 40px;
  }
}
@media screen and (max-width: 1200px) {
  .footer__logo-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.footer__logo {
  width: 314px;
}
@media screen and (max-width: 767px) {
  .footer__logo {
    width: 250px;
  }
}
.footer__menu-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .footer__menu-bottom {
    gap: 26px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.footer__menu-bottom-item {
  font-size: 1.4rem;
}
.footer__menu-bottom-item--newtab::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background: url('../public/img/icons/newtab-red.svg') no-repeat center/contain;
  margin-left: 5px;
}
.footer__columns {
  max-width: 100%;
  display: grid;
  grid-template-columns: 1.3fr 1fr 1.1fr;
  row-gap: 100px;
}
@media screen and (max-width: 1280px) {
  .footer__columns {
    min-width: unset;
    -webkit-column-gap: 16px;
       -moz-column-gap: 16px;
            column-gap: 16px;
  }
}
@media screen and (max-width: 850px) {
  .footer__columns {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .footer__columns {
    display: none;
  }
}
.footer__column, .footer__inner-column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 20px;
}
.footer__inner-column {
  padding-left: 25px;
  border-left: 1px solid #d56561;
  min-height: 85px;
}
@media screen and (max-width: 767px) {
  .footer__inner-column {
    min-height: auto;
    padding-left: 15px;
  }
}
.footer__item {
  font-size: 1.4rem;
}
@media screen and (max-width: 1280px) {
  .footer__item {
    font-size: 12px;
  }
}
.footer__item--nowrap {
  text-wrap: nowrap;
}
.footer__item-large {
  font-family: "Noto Serif JP", serif;
  font-style: italic;
  font-size: 2rem;
  color: #a51306;
}
.footer__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 20px;
  padding-bottom: 10px;
}
@media screen and (max-width: 1200px) {
  .footer__bottom {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .footer__bottom {
    padding-bottom: 50px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 66px;
  }
}
.footer__copyright {
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .footer__copyright {
    font-size: 10px;
    text-align: center;
  }
}
.footer__quote {
  position: absolute;
  top: 2.7vw;
  left: 50%;
  -webkit-transform: translate(-50%, -100%);
          transform: translate(-50%, -100%);
  width: 100%;
}
@media screen and (max-width: 767px) {
  .footer__quote {
    top: 0;
    width: 100%;
    max-width: 400px;
  }
}
.footer__quote--uppercase {
  top: 1vw;
}
@media screen and (max-width: 767px) {
  .footer__quote--uppercase {
    top: 0;
  }
}
.footer__scroll-up-button {
  position: absolute;
  top: 30px;
  left: 100%;
  border: 1px solid #a51306;
  border-radius: 50%;
  width: 52px;
  height: 52px;
  background: #a51306;
  cursor: pointer;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
@media screen and (max-width: 1440px) {
  .footer__scroll-up-button {
    left: 97%;
  }
}
@media screen and (max-width: 767px) {
  .footer__scroll-up-button {
    top: 26px;
    width: 45px;
    height: 45px;
    left: auto;
    right: 0;
  }
}
.footer__scroll-up-button::after {
  content: "";
  margin: auto;
  position: absolute;
  inset: 0;
  width: 14px;
  height: 13px;
  background: #fff;
  -webkit-mask: url('../public/img/icons/arrow-up.svg') no-repeat center/contain;
          mask: url('../public/img/icons/arrow-up.svg') no-repeat center/contain;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
@media screen and (max-width: 767px) {
  .footer__scroll-up-button::after {
    width: 12.25px;
    height: 11.5px;
  }
}
.footer__scroll-up-button:hover {
  background: #fff;
}
.footer__scroll-up-button:hover::after {
  background: #a51306;
}

.main-menu {
  position: fixed;
  top: -100%;
  width: 100%;
  height: calc(100svh - 75px);
  padding-block: 120px;
  background: #7f1306;
  font-family: "Noto Sans JP", sans-serif;
  color: #fff;
  -webkit-transition: 0.6s cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: 0.6s cubic-bezier(0.25, 0.1, 0.25, 1);
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
  opacity: 0;
  pointer-events: none;
  z-index: 998;
}
@media screen and (max-width: 767px) {
  .main-menu {
    padding-block: 40px;
    height: calc(100dvh - 54px);
  }
}
.main-menu.active {
  opacity: 1;
  pointer-events: auto;
  overflow-y: scroll;
}
.main-menu__container {
  padding: 0 4%;
  margin: 0 auto;
  max-width: calc(1140px + 8%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .main-menu__container {
    max-width: 100%;
    padding-inline: 6%;
  }
}
.main-menu__columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  row-gap: 70px;
}
@media screen and (max-width: 1200px) {
  .main-menu__columns {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .main-menu__columns {
    grid-template-columns: 1fr;
    row-gap: 40px;
  }
}
.main-menu__column, .main-menu__inner-column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
.main-menu__inner-column {
  padding-left: 30px;
  border-left: 1px solid #d56561;
  min-height: 118px;
}
@media screen and (max-width: 767px) {
  .main-menu__inner-column {
    min-height: auto;
    padding-left: 15px;
  }
}
.main-menu__item, .main-menu__bottom-link {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.main-menu__item:hover, .main-menu__bottom-link:hover {
  opacity: 0.6;
}
.main-menu__item {
  font-size: 1.7rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .main-menu__item {
    font-size: 14px;
  }
}
.main-menu__item-large {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3rem;
  font-weight: 200;
  color: #d56561;
}
@media screen and (max-width: 1200px) {
  .main-menu__item-large {
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 767px) {
  .main-menu__item-large {
    font-size: 2.4rem;
  }
}
.main-menu__bottom {
  margin-top: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 45px;
}
@media screen and (max-width: 767px) {
  .main-menu__bottom {
    margin-top: 40px;
    gap: 20px;
  }
}
.main-menu__bottom-link {
  font-size: 1.2rem;
  font-weight: 500;
}
.main-menu__bottom-link--newtab::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background: url('../public/img/icons/newtab.svg') no-repeat center/contain;
  margin-left: 5px;
}

.sec-entry {
  padding-bottom: 283px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .sec-entry {
    padding-bottom: 242px;
  }
}
.sec-entry__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 0 4%;
  margin: 0 auto;
  max-width: calc(1140px + 8%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-entry__container {
    max-width: 100%;
    padding-inline: 6%;
  }
}
.sec-entry__title {
  font-family: "Futura Book", sans-serif;
  color: #a51913;
  font-style: oblique;
  font-weight: 400;
  font-size: 7rem;
}
@media screen and (max-width: 767px) {
  .sec-entry__title {
    font-size: 48px;
  }
}
.sec-entry__title-jp {
  margin-top: 5px;
  font: italic 800 1.7rem "Noto Serif JP", serif;
  letter-spacing: -0.03em;
}
@media screen and (max-width: 767px) {
  .sec-entry__title-jp {
    font-size: 12px;
    font-weight: 700;
  }
}
.sec-entry__button-list {
  margin-top: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .sec-entry__button-list {
    gap: 23px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
  }
}
.sec-entry__button {
  border: 1px solid #a51306;
  position: relative;
  width: 293px;
  height: 80px;
  font: 700 1.6rem "Noto Serif JP", serif;
  letter-spacing: -0.03em;
  color: #fff;
  background: #a51306;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .sec-entry__button {
    width: 100%;
    max-width: 293px;
  }
}
.sec-entry__button:hover {
  color: #a51306;
}
.sec-entry__button:hover::before {
  -webkit-clip-path: polygon(-30px 0%, 100% 0%, calc(100% + 30px) 100%, 0% 100%);
          clip-path: polygon(-30px 0%, 100% 0%, calc(100% + 30px) 100%, 0% 100%);
}
.sec-entry__button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #fff;
  -webkit-transition: -webkit-clip-path 0.3s ease-out;
  transition: -webkit-clip-path 0.3s ease-out;
  transition: clip-path 0.3s ease-out;
  transition: clip-path 0.3s ease-out, -webkit-clip-path 0.3s ease-out;
  -webkit-clip-path: polygon(-30px 0%, -30px 0%, 0% 100%, 0% 100%);
          clip-path: polygon(-30px 0%, -30px 0%, 0% 100%, 0% 100%);
}
.sec-entry__button-text {
  position: relative;
  z-index: 1;
}

.tab {
  width: 100%;
  border-bottom: 10px solid #a51913;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 120px;
     -moz-column-gap: 120px;
          column-gap: 120px;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 1024px) {
  .tab {
    padding-inline: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .tab {
    -webkit-column-gap: 40px;
       -moz-column-gap: 40px;
            column-gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .tab {
    -webkit-column-gap: 20px;
       -moz-column-gap: 20px;
            column-gap: 20px;
    border-width: 6px;
  }
}
.tab__toggle {
  width: 100%;
  max-width: 400px;
  height: 100px;
  background-color: #fff;
  border: 1px solid #a51913;
  border-radius: 25px 25px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font: 700 2.4rem "Noto Sans JP", sans-serif;
  color: #000;
  letter-spacing: 0.06em;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .tab__toggle {
    max-width: 160px;
    height: 64px;
    border-radius: 12px 12px 0 0;
    font-size: 14px;
    line-height: 1.2857142857em;
    padding-top: 8px;
    padding-inline: 16px;
  }
}
.tab__toggle:hover, .tab__toggle.active {
  background-color: #a51913;
  color: #fff;
}
.tab__content {
  background-color: #f5f5f5;
  padding-block: 140px 350px;
}
@media screen and (max-width: 767px) {
  .tab__content {
    padding-block: 80px 280px;
  }
}
.tab__wrapper {
  display: none;
}
.tab__wrapper.active {
  display: block;
  -webkit-animation: fade-in 0.5s ease-in-out;
          animation: fade-in 0.5s ease-in-out;
}
.tab__wrap {
  padding-top: 125px;
}
@media screen and (max-width: 767px) {
  .tab__wrap {
    padding-top: 149px;
  }
}
.tab__wrap:not(:last-child) {
  margin-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .tab__wrap:not(:last-child) {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .tab__wrap--pt80 {
    padding-top: 80px;
  }
}
.tab__title {
  font: 700 3rem "Noto Serif JP", serif;
  letter-spacing: 0.06em;
  color: #000;
  text-align: center;
  margin-bottom: 55px;
}
@media screen and (max-width: 767px) {
  .tab__title {
    font-size: 22px;
    line-height: 1.7272727273em;
    letter-spacing: 0.04em;
    margin-bottom: 60px;
  }
}

.modal {
  width: 100%;
  height: 100vh;
  background-color: rgba(255, 255, 255, 0.8);
  position: fixed;
  top: 0;
  left: 0;
  padding-block: 150px 100px;
  display: none;
  z-index: 9;
  overflow-y: auto;
  -webkit-animation: fade-in 0.3s ease;
          animation: fade-in 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .modal {
    padding: 76px 25px;
  }
}
.modal.active {
  display: block;
  -webkit-animation: fade-in 0.3 ease;
          animation: fade-in 0.3 ease;
}
.modal__wrap {
  width: 100%;
  border-radius: 12px;
  padding: 0 4%;
  margin: 0 auto;
  max-width: calc(1140px + 8%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 91px 40px 130px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .modal__wrap {
    max-width: 100%;
    padding-inline: 6%;
  }
}
@media screen and (max-width: 767px) {
  .modal__wrap {
    padding: 109px 0 66px;
  }
}
.modal__wrap--yellow {
  background-color: #f1de52;
}
.modal__wrap--green {
  background-color: #aad152;
}
.modal__wrap--pink {
  background-color: #de98c6;
}
.modal__wrap--navy {
  background-color: #3979af;
}
.modal__wrap--navy .modal__title,
.modal__wrap--navy .modal__desc,
.modal__wrap--navy .modal__keyword-ja,
.modal__wrap--navy .modal__employee-head {
  color: #fff;
}
.modal__wrap--blue {
  background-color: #87cad9;
}
.modal__close-wrap {
  width: 100%;
  padding: 0 4%;
  margin: 0 auto;
  max-width: calc(1140px + 8%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding-inline: 0 30px;
  position: fixed;
  top: 180px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .modal__close-wrap {
    max-width: 100%;
    padding-inline: 6%;
  }
}
@media screen and (max-width: 767px) {
  .modal__close-wrap {
    top: 175px;
    padding-right: 15px;
  }
}
.modal__close {
  width: 50px;
  height: 50px;
  background-color: #fff;
  border: 1px solid #a51306;
  border-radius: 50%;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  cursor: pointer;
}
.modal__close > span {
  width: 25px;
  height: 1px;
  display: inline-block;
  background-color: #a51306;
  border-radius: 1px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.modal__close > span:last-child {
  -webkit-transform: translateX(-50%) rotate(90deg);
          transform: translateX(-50%) rotate(90deg);
}
.modal__close:hover {
  background-color: #a51306;
}
.modal__close:hover span {
  background-color: #fff;
}
.modal__container {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
}
.modal__content {
  margin-bottom: 38px;
}
@media screen and (max-width: 767px) {
  .modal__content {
    padding-inline: 25px;
    margin-bottom: 63px;
  }
}
.modal__head {
  min-height: 61px;
  border-radius: 30px !important;
  margin-bottom: 51px !important;
}
@media screen and (max-width: 767px) {
  .modal__head {
    min-height: 50px;
  }
}
.modal__title {
  letter-spacing: 0.06em;
  margin-bottom: 20px !important;
}
@media screen and (max-width: 767px) {
  .modal__title {
    font-size: 20px;
    margin-bottom: 23px !important;
  }
}
.modal__desc {
  line-height: 1.8571428571em;
}
.modal__img {
  width: 100%;
  height: auto;
  aspect-ratio: 720/400;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .modal__img {
    aspect-ratio: 325/181;
    margin-bottom: 72px;
  }
}
@media screen and (max-width: 767px) {
  .modal__keyword {
    padding-inline: 25px;
  }
}
.modal__keyword-head {
  margin-bottom: 36px;
}
@media screen and (max-width: 767px) {
  .modal__keyword-head {
    margin-bottom: 86px;
  }
}
.modal__keyword-en, .modal__keyword-ja {
  display: block;
  text-align: center;
}
.modal__keyword-en {
  font: 500 6.5rem "Futura Book", sans-serif;
  color: #fff;
  -webkit-text-stroke: 1px #a51306;
  text-shadow: -0.5px -0.5px 0 #a51306, 0.5px -0.5px 0 #a51306, -0.5px 0.5px 0 #a51306, 0.5px 0.5px 0 #a51306;
}
.modal__keyword-ja {
  font-size: 1.8rem;
  font-weight: 700;
  color: #000;
}
.modal__block-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 50px 24px;
}
@media screen and (max-width: 767px) {
  .modal__block-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 67px;
  }
}
.modal__block {
  width: calc(50% - 12px);
  min-height: 212px;
  background-color: #fff;
  position: relative;
  padding: 48px 40px 35px;
  color: #000;
}
@media screen and (max-width: 767px) {
  .modal__block {
    width: 100%;
    padding-inline: 23px;
  }
}
.modal__block-num {
  font: 500 5rem "Futura Book", sans-serif;
  color: #a51306;
  position: absolute;
  top: -31px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.modal__block-title {
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  display: block;
  margin-bottom: 30px;
}
.modal__block-desc {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2em;
  text-align: justify;
}
.modal__employee {
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .modal__employee {
    margin-top: 87px;
    padding-inline: 25px;
  }
}
.modal__employee-head {
  font-size: 1.8rem;
  font-weight: 700;
  display: block;
  text-align: center;
  margin-bottom: 68px;
}
@media screen and (max-width: 767px) {
  .modal__employee-head {
    margin-bottom: 47px;
  }
}
.modal__employee-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 60px 72px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .modal__employee-list {
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .modal__employee-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 50px;
  }
}
.modal__employee-list--center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.modal__employee-item {
  width: calc(50% - 36px);
  min-height: 470px;
  position: relative;
  overflow: hidden;
  z-index: 0;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .modal__employee-item {
    width: calc(50% - 20px);
  }
}
@media screen and (max-width: 767px) {
  .modal__employee-item {
    width: 100%;
    max-width: 285px;
    min-height: unset;
  }
}
.modal__employee-item::after {
  content: "";
  width: 100%;
  height: 121px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.3)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 100%);
  position: absolute;
  left: 0;
  bottom: 0;
}
.modal__employee-item:hover .modal__employee-img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.modal__employee-item:hover .modal__employee-arrow {
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
}
.modal__badge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: #fff;
  position: absolute;
  top: 18px;
  left: 0;
}
.modal__badge--navy .modal__badge-left {
  background: #004679;
}
.modal__badge--navy .modal__badge-right {
  color: #004679;
}
.modal__badge-left, .modal__badge-right {
  min-width: 90px;
  padding-inline: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .modal__badge-left, .modal__badge-right {
    font-size: 14px !important;
    min-width: 56px;
  }
}
.modal__badge-left {
  position: relative;
  background: #cd8f13;
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  color: #fff;
  -webkit-clip-path: polygon(0% 0%, 90% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(0% 0%, 90% 0%, 100% 100%, 0% 100%);
}
.modal__badge-right {
  font-size: 1.6rem;
  color: #cd8f13;
}
.modal__employee-img {
  position: relative;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  z-index: -1;
}
.modal__employee-content {
  color: #fff;
  position: absolute;
  left: 17px;
  bottom: 17px;
  z-index: 1;
}
.modal__employee-desc {
  font-size: 1.6rem;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .modal__employee-desc {
    font-size: 14px;
    line-height: 1.5714285714em;
  }
}
.modal__employee-info {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .modal__employee-info {
    font-size: 12px;
  }
}
.modal__employee-arrow {
  width: 35px;
  height: 35px;
  background: url('../public/img/icons/arrow-button.svg') center/cover no-repeat;
  position: absolute;
  right: 15px;
  bottom: 15px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .modal__employee-arrow {
    width: 30px;
    height: 30px;
    right: 13px;
    bottom: 13px;
  }
}

.guidelines__banner {
  width: 100%;
  min-height: 537px;
  background: linear-gradient(100deg, #7ab6e4 0%, #7ab6e4 50%, #fedd94 50%, #fedd94 100%);
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .guidelines__banner {
    background: linear-gradient(100deg, #7ab6e4 0%, #7ab6e4 53%, #fedd94 53%, #fedd94 100%);
    min-height: 364px;
  }
}
.guidelines__banner::before, .guidelines__banner::after {
  content: "";
  width: 685px;
  height: 289px;
  position: absolute;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .guidelines__banner::before, .guidelines__banner::after {
    width: 300px;
    height: 127px;
  }
}
.guidelines__banner::before {
  background: url('../public/img/career/deco-01.svg') center/cover no-repeat;
  left: -194px;
  bottom: 0;
}
@media screen and (max-width: 1024px) {
  .guidelines__banner::before {
    left: -26px;
  }
}
@media screen and (max-width: 767px) {
  .guidelines__banner::before {
    width: 264px;
    height: 138px;
    background: url('../public/img/career/deco-01-sp.svg') center/cover no-repeat;
  }
}
.guidelines__banner::after {
  background: url('../public/img/career/deco-02.svg') center/cover no-repeat;
  right: -221px;
  top: 0;
}
@media screen and (max-width: 1024px) {
  .guidelines__banner::after {
    right: -26px;
  }
}
@media screen and (max-width: 767px) {
  .guidelines__banner::after {
    width: 199px;
    height: 85px;
    background: url('../public/img/career/deco-02-sp.svg') center/cover no-repeat;
  }
}
.guidelines__banner-container {
  width: 100%;
  max-width: 1140px;
  height: 465px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .guidelines__banner-container {
    max-width: 400px;
    height: 314px;
  }
}
.guidelines__banner-slogan {
  width: 355px;
  height: 172px;
  position: absolute;
  top: -5px;
  left: 7px;
}
@media screen and (max-width: 1024px) {
  .guidelines__banner-slogan {
    width: 209px;
    height: 98px;
    left: 53%;
    -webkit-transform: translateX(-47%);
            transform: translateX(-47%);
  }
}
.guidelines__banner-img {
  width: 681px;
  height: 431px;
  position: absolute;
  left: 48.7%;
  -webkit-transform: translateX(-51.3%);
          transform: translateX(-51.3%);
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .guidelines__banner-img {
    width: 349px;
    height: auto;
    aspect-ratio: 611/427;
    bottom: -25px;
  }
}
.guidelines__wrapper {
  padding-block: 107px 230px;
}
@media screen and (max-width: 767px) {
  .guidelines__wrapper {
    padding-block: 60px 120px;
  }
}
.guidelines__desc {
  font-size: 1.4rem;
  font-weight: 500;
  color: #2e2e2e;
  line-height: 2em;
}
.guidelines__desc--main {
  font-size: 2rem;
  text-align: center;
  line-height: 2em;
  color: #000;
  margin-bottom: 214px;
}
@media screen and (max-width: 767px) {
  .guidelines__desc--main {
    font-size: 14px;
    letter-spacing: -0.02em;
    padding-inline: 4%;
    margin-bottom: 81px;
  }
}
.guidelines__desc--w56 {
  width: 56%;
}
@media screen and (max-width: 1024px) {
  .guidelines__desc--w56 {
    width: 100%;
  }
}
.guidelines__section:not(:last-child) {
  margin-bottom: 144px;
}
@media screen and (max-width: 767px) {
  .guidelines__section:not(:last-child) {
    margin-bottom: 160px;
  }
}
.guidelines__container {
  color: #000;
  padding: 0 4%;
  margin: 0 auto;
  max-width: calc(1140px + 8%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .guidelines__container {
    max-width: 100%;
    padding-inline: 6%;
  }
}
.guidelines__row, .guidelines__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.guidelines__row {
  position: relative;
  z-index: 0;
}
.guidelines__row::before {
  content: "";
  width: 616px;
  height: 531px;
  background: url('../public/img/career/deco-03.png') center/cover no-repeat;
  position: absolute;
  top: 400px;
  left: -300px;
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  .guidelines__row::before {
    width: 307px;
    height: 261px;
    top: unset;
    left: -150px;
    bottom: -294px;
  }
}
.guidelines__row--decor-fade::before {
  opacity: 0.4;
}
.guidelines__row--decor-non::before {
  content: none;
}
.guidelines__head {
  width: 14%;
  padding-top: 86px;
  padding-right: 50px;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  text-align: right;
}
@media screen and (max-width: 1024px) {
  .guidelines__head {
    padding-top: 47px;
    padding-right: 22px;
    text-align: left;
  }
}
.guidelines__head-text {
  font: 700 4.2rem "Noto Serif JP", serif;
  line-height: 1.5em;
  color: #231815;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
}
@media screen and (max-width: 767px) {
  .guidelines__head-text {
    font-size: 26px;
  }
}
.guidelines__content {
  width: 86%;
  border-left: 1px solid #a51306;
  padding-left: 30px;
}
@media screen and (max-width: 1024px) {
  .guidelines__content {
    width: 100%;
    padding-left: 0;
    border-left: 0;
  }
}
.guidelines__content--pb103 {
  padding-bottom: 103px;
}
@media screen and (max-width: 767px) {
  .guidelines__content--pb103 {
    padding-bottom: 60px;
  }
}
.guidelines__content--pt192 {
  padding-block: 92px 180px !important;
}
@media screen and (max-width: 767px) {
  .guidelines__content--pt192 {
    padding-block: 60px 0 !important;
  }
}
.guidelines__info {
  width: 40%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 83px 30px 0 0;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .guidelines__info {
    padding-top: 40px;
  }
}
@media screen and (max-width: 1024px) {
  .guidelines__info {
    width: 100%;
    border-left: 1px solid #a51306;
    padding-block: 47px;
    padding-right: 0;
    margin-bottom: 55px;
  }
}
.guidelines__info-name {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.6em;
  display: block;
  margin: 0 0 20px 24px;
}
@media screen and (max-width: 767px) {
  .guidelines__info-name {
    font-size: 30px;
    line-height: 1.9333333333em;
    margin-bottom: 15px;
  }
}
.guidelines__info-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.guidelines__info-item:not(:last-child) {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .guidelines__info-item:not(:last-child) {
    margin-bottom: 27px;
  }
}
.guidelines__info-label {
  min-width: 140px;
  min-height: 26px;
  display: inline-block;
  -webkit-clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 100%, 0 100%);
  background-color: #a51913;
  font: 700 1.8rem "Noto Serif JP", serif;
  color: #fff;
  text-align: center;
  position: relative;
  margin-right: 17px;
  padding: 2px 20px 1px 10px;
}
@media screen and (max-width: 767px) {
  .guidelines__info-label {
    min-width: 120px;
    font-size: 16px;
  }
}
.guidelines__info-label--mw202 {
  min-width: 202px;
}
@media screen and (max-width: 767px) {
  .guidelines__info-label--mw202 {
    min-width: 193px;
  }
}
.guidelines__info-detail {
  font-size: 1.8rem;
  line-height: 1.4444444444em;
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .guidelines__info-detail {
    display: block;
    margin-top: 5px;
  }
}
@media screen and (max-width: 767px) {
  .guidelines__info-detail {
    font-size: 16px;
  }
}
.guidelines__details {
  width: 60%;
}
@media screen and (max-width: 1024px) {
  .guidelines__details {
    width: 100%;
  }
}
.guidelines__img {
  width: 100%;
  height: auto;
}
.guidelines__img--mb74 {
  margin-bottom: 74px;
}
@media screen and (max-width: 1024px) {
  .guidelines__img--mb74 {
    margin-bottom: 0;
  }
}
.guidelines__wrap:not(:last-child) {
  margin-bottom: 77px;
}
.guidelines__question {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 2em;
  display: inline-block;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .guidelines__question {
    font-size: 20px;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 1024px) {
  .guidelines__block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 1024px) {
  .guidelines__block {
    row-gap: 56px;
  }
}
.guidelines__block:not(:last-child) {
  margin-bottom: 91px;
}
@media screen and (max-width: 1024px) {
  .guidelines__block:not(:last-child) {
    margin-bottom: 75px;
  }
}
.guidelines__block--mb160 {
  margin-bottom: 160px;
}
.guidelines__block--main {
  margin-bottom: 146px;
}
@media screen and (max-width: 1024px) {
  .guidelines__block--main {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .guidelines__block--main {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.guidelines__block--rev {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1024px) {
  .guidelines__block--rev {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    row-gap: 30px;
  }
}
.guidelines__block-content {
  width: calc(100% - 450px);
  padding-right: 50px;
}
@media screen and (max-width: 1024px) {
  .guidelines__block-content {
    width: 100%;
    padding-right: 0;
  }
}
.guidelines__block-content--full {
  width: 100%;
  padding-right: 0;
}
.guidelines__block-content--pl50 {
  padding-inline: 50px 0;
}
@media screen and (max-width: 1024px) {
  .guidelines__block-content--pl50 {
    padding-inline: 0;
  }
}
.guidelines__block-wrap {
  padding-left: 20px;
  margin-top: 15px;
}
@media screen and (max-width: 1024px) {
  .guidelines__block-wrap {
    padding-left: 0;
  }
}
.guidelines__block-wrap--row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 1024px) {
  .guidelines__block-wrap--row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.guidelines__block-wrap--pl0 {
  padding-left: 0;
}
.guidelines__block-wrap--mt36 {
  margin-top: 36px;
}
.guidelines__block-head {
  margin-bottom: 26px;
}
@media screen and (max-width: 767px) {
  .guidelines__block-head {
    margin-bottom: 31px;
  }
}
.guidelines__block-head--w44 {
  width: 44%;
}
@media screen and (max-width: 1024px) {
  .guidelines__block-head--w44 {
    width: 100%;
  }
}
.guidelines__block-num, .guidelines__block-text {
  color: #000;
  display: block;
}
.guidelines__block-num {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.6em;
}
@media screen and (max-width: 767px) {
  .guidelines__block-num {
    font-size: 34px;
  }
}
.guidelines__block-text {
  font-size: 3rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .guidelines__block-text {
    font-size: 20px;
    margin-top: 10px;
  }
}
.guidelines__block-image {
  width: 100%;
  max-width: 450px;
  height: auto;
  aspect-ratio: 450/335;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .guidelines__block-image {
    margin: 0 auto;
  }
}
.guidelines__btn {
  all: unset;
  width: 100%;
  max-width: 350px;
  height: 70px;
  background-color: #fff;
  border: 1px solid #a2a2a2;
  border-radius: 35px;
  font: 500 2.5rem "JOST", sans-serif;
  color: #a51913;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: 0 auto;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  .guidelines__btn {
    margin-top: 94px;
  }
}
@media screen and (max-width: 767px) {
  .guidelines__btn {
    max-width: 325px;
    height: 65px;
    font-size: 22px;
  }
}
.guidelines__btn::after {
  content: "";
  width: 25px;
  height: 25px;
  background: #a51913 url('../public/img/icons/caret-sm.svg') top 50% center/10px 6px no-repeat;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.guidelines__btn:hover {
  border-color: #a51913;
}
.guidelines__btn:hover::after {
  width: 34px;
  height: 34px;
}
.guidelines__btn.close {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.guidelines__btn.close::after {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.guidelines__collapse {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 1s ease;
  transition: max-height 1s ease;
}
@media screen and (max-width: 767px) {
  .guidelines__collapse.active {
    padding-top: 230px;
  }
}
.guidelines__collapse .career__row::before {
  display: none;
}
.guidelines__collapse .career__content {
  padding-top: 113px;
}
@media screen and (max-width: 767px) {
  .guidelines__collapse .career__content {
    padding-top: 230px;
  }
}
.guidelines__sec-banner {
  width: 100%;
  height: auto;
  aspect-ratio: 1500/558;
}
@media screen and (max-width: 767px) {
  .guidelines__sec-banner {
    aspect-ratio: 375/251;
  }
}
.guidelines__sec-banner picture,
.guidelines__sec-banner img {
  width: 100%;
  height: 100%;
}
.guidelines__sec-banner img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.top {
  overflow-x: clip;
}
.top__bg-wrap {
  width: 100vw;
  height: 100vh;
  position: fixed;
  z-index: -1;
  overflow: clip;
}
.top__bg-video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top__mv-main {
  position: relative;
  top: 0;
  left: 0;
  width: 100vw;
  max-width: 100%;
}
.top__mv-main::after {
  content: "";
  display: block;
  width: 100%;
  height: calc(100vh - ((100vh - 20vw) / 2 + 10px) - 75px);
  background: #fff;
}
@media screen and (max-width: 767px) {
  .top__mv-main::after {
    height: calc(100vh - ((100vh - 48vw) / 2 + 5px) - 54px);
  }
}
.top__mv-tgl-wrap {
  position: relative;
  height: 100vh;
  -ms-flex-line-pack: center;
      align-content: center;
}
.top__mv-tgl-wrap::before, .top__mv-tgl-wrap::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: calc((100vh - 20vw) / 2 + 10px);
  background: #fff;
}
@media screen and (max-width: 767px) {
  .top__mv-tgl-wrap::before, .top__mv-tgl-wrap::after {
    height: calc((100vh - 48vw) / 2 + 5px);
  }
}
.top__mv-tgl-wrap::before {
  top: 0;
}
.top__mv-tgl-wrap::after {
  bottom: 0;
}
.top__mv-tgl {
  width: 100vw;
  max-width: 100%;
}
.top__mv-tgl--white {
  aspect-ratio: 1528/135;
}
@media screen and (max-width: 767px) {
  .top__mv-tgl--white {
    aspect-ratio: 383/130;
  }
}
.top__mv-tgl picture {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.top__mv-scroll {
  position: fixed;
  bottom: 26px;
  right: 24px;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .top__mv-scroll {
    right: 12px;
    gap: 5px;
  }
}
.top__mv-scroll-line {
  position: relative;
  width: 1px;
  height: 60px;
}
.top__mv-scroll-line::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 0;
  background: #a51306;
  -webkit-animation: line-move 1.5s ease-in-out 0.8s infinite;
          animation: line-move 1.5s ease-in-out 0.8s infinite;
}
.top__mv-scroll-text {
  width: 9.7px;
  height: 44.7px;
  aspect-ratio: 9.7/44.7;
}
@media screen and (max-width: 767px) {
  .top__mv-scroll-text {
    width: 8px;
  }
}
.top__mv-sail-wrap {
  margin-top: 40vh;
}
.top__mv-sail-ship {
  margin: auto;
  position: relative;
  width: 149px;
  aspect-ratio: 149/112;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top__mv-sail-ship {
    width: 133px;
  }
}
.top__mv-sail-pin {
  margin-top: -36px;
}
.top__mv-sail-path {
  width: 100%;
  height: 120vh;
  background: #fff;
}
.top__mv-sail-mask {
  -webkit-mask-image: url('../public/img/top/ship-mask.png');
          mask-image: url('../public/img/top/ship-mask.png');
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  height: 100vh;
}
@media screen and (max-width: 767px) {
  .top__mv-sail-mask {
    height: 40vh;
  }
}
@media screen and (max-width: 767px) {
  .top__container {
    padding-inline: 5.33%;
  }
}
.top__body {
  position: relative;
  z-index: 2;
}
.top__title {
  font-family: "Futura Book", sans-serif;
  color: #a51913;
  font-style: oblique;
  font-weight: 400;
  font-size: 7.2rem;
  line-height: 66px;
}
@media screen and (max-width: 767px) {
  .top__title {
    font-size: 46px;
    line-height: 42px;
  }
}
.top__title--fs6 {
  font-size: 6rem;
}
@media screen and (max-width: 767px) {
  .top__title--fs6 {
    font-size: 38px;
  }
}
.top__title--fs7 {
  font-size: 7rem;
}
@media screen and (max-width: 767px) {
  .top__title--fs7 {
    font-size: 38px;
  }
}
.top__button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 7px;
  font: 700 2.2rem "Noto Serif JP", serif;
  color: #231815;
}
@media screen and (max-width: 767px) {
  .top__button {
    font-size: 19px;
    gap: 5px;
  }
}
.top__button::before, .top__button::after {
  content: "";
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.top__button::before {
  right: 0;
  width: 0;
  height: 1px;
  bottom: -6px;
  position: absolute;
  background-color: #a51306;
}
.top__button::after {
  margin-bottom: 5px;
  display: block;
  width: 20px;
  aspect-ratio: 1;
  background: url('../public/img/icons/arrow-button.svg') no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .top__button::after {
    margin-bottom: 3px;
    width: 22px;
  }
}
.top__button:hover::before {
  left: 0;
  right: auto;
  width: 100%;
}
.top__button:hover::after {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
.top__button--lg {
  font-size: 2.7rem;
  letter-spacing: -0.06em;
  gap: 9.5px;
}
@media screen and (max-width: 767px) {
  .top__button--lg {
    font-size: 22px;
  }
}
.top__button--lg::after {
  width: 28px;
}
@media screen and (max-width: 767px) {
  .top__button--lg::after {
    width: 23px;
  }
}
.top__button--sm {
  font-size: 1.5rem;
  letter-spacing: -0.07em;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .top__button--sm {
    font-size: 16px;
    gap: 12px;
  }
}
.top__button--sm::after {
  margin-bottom: 2px;
  width: 18px;
}
.top__button--long {
  gap: 2px;
}
@media screen and (max-width: 767px) {
  .top__button--long {
    gap: 16px;
  }
}
.top__card:hover .top__button::before {
  left: 0;
  right: auto;
  width: 100%;
}
.top__card:hover .top__button::after {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
.top__card:hover .top__card-img img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.top__card-img {
  overflow: hidden;
}
.top__card-img img {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.top__af {
  margin-top: -40vh;
  padding-bottom: 176px;
  width: 100%;
  background: linear-gradient(to bottom, transparent 200px, #fff 200px);
}
@media screen and (max-width: 767px) {
  .top__af {
    margin-top: -10vh;
    padding-bottom: 70px;
    background: linear-gradient(to bottom, transparent 50px, #fff 50px);
  }
}
.top__af-container {
  display: grid;
  grid-template-columns: 502fr 638fr;
}
@media screen and (max-width: 767px) {
  .top__af-container {
    padding: 0;
    grid-template-columns: 1fr;
  }
}
.top__af-head {
  padding-top: 28px;
  padding-right: 50px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top__af-head {
    margin-bottom: 10px;
    padding: 0 5.33%;
    max-width: 100%;
  }
}
.top__af-head-content {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top__af-head-content {
    margin-left: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.top__af-flag {
  position: absolute;
  left: -300px;
  top: 145px;
  aspect-ratio: 837/728;
  width: 837px;
}
@media screen and (max-width: 767px) {
  .top__af-flag {
    position: relative;
    width: 370px;
    left: -58px;
    top: auto;
    margin-top: -20px;
  }
}
@media screen and (max-width: 365px) {
  .top__af-flag {
    width: 90%;
  }
}
.top__af-subtitle {
  margin-top: 20px;
  width: 315px;
  aspect-ratio: 315/98;
}
@media screen and (max-width: 767px) {
  .top__af-subtitle {
    width: 196px;
  }
}
.top__af-body {
  z-index: 1;
}
.top__af-main-card {
  display: block;
  padding-right: 30px;
  max-width: 520px;
}
@media screen and (max-width: 980px) {
  .top__af-main-card {
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .top__af-main-card {
    max-width: unset;
  }
}
@media screen and (max-width: 767px) {
  .top__af-main-card-info {
    padding: 0 4%;
  }
}
.top__af-main-card-desc {
  margin-top: 12px;
  font-size: 1.4rem;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .top__af-main-card-desc {
    margin-top: 6px;
    font-size: 12px;
  }
}
.top__af-card-list {
  margin-top: 75px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
}
@media screen and (max-width: 980px) {
  .top__af-card-list {
    grid-template-columns: 1fr;
    max-width: 320px;
  }
}
@media screen and (max-width: 767px) {
  .top__af-card-list {
    margin-top: 62px;
    padding: 0 4%;
    max-width: 100%;
    gap: 55px;
  }
}
.top__af-card-img {
  margin-bottom: 10px;
  width: 100%;
  aspect-ratio: 302/200;
}
.top__af-card-img--main {
  margin-bottom: 22px;
  aspect-ratio: 520/358;
}
@media screen and (max-width: 767px) {
  .top__af-card-img--main {
    margin-bottom: 16px;
  }
}
.top__cyf {
  padding-bottom: 118px;
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #f5f5f5), color-stop(50%, #fff));
  background: linear-gradient(to bottom, #f5f5f5 50%, #fff 50%);
}
@media screen and (max-width: 767px) {
  .top__cyf {
    padding-bottom: 42px;
  }
}
.top__cyf.is-active {
  -webkit-clip-path: none;
          clip-path: none;
}
@media screen and (min-width: 767px) {
  .top__cyf.is-active .top__cyf-head-intro {
    padding-top: 10px;
    padding-bottom: 35px;
  }
}
@media screen and (min-width: 767px) {
  .top__cyf.is-active .top__cyf-title {
    padding-bottom: 0;
    font-size: 2rem;
    line-height: 1em;
  }
}
@media screen and (min-width: 767px) {
  .top__cyf.is-active .top__cyf-title br {
    display: none;
  }
}
@media screen and (min-width: 767px) {
  .top__cyf.is-active .top__cyf-subtitle {
    margin-left: 0;
  }
}
.top__cyf.is-active .top__cyf-tab-list {
  margin-right: 15%;
}
@media screen and (max-width: 1160px) {
  .top__cyf.is-active .top__cyf-tab-list {
    margin-right: 5%;
  }
}
@media screen and (max-width: 980px) {
  .top__cyf.is-active .top__cyf-tab-list {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .top__cyf.is-active .top__cyf-tab-list {
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .top__cyf.is-active .top__cyf-tab-button--right {
    margin-left: -2px;
  }
}
.top__cyf.is-active .top__cyf-tab-title--land {
  padding-right: 0;
}
@media screen and (max-width: 767px) {
  .top__cyf.is-active .top__cyf-tab-title-pointer-wrap {
    bottom: 1px;
  }
}
.top__cyf.is-active .top__cyf-tab-title-pointer {
  width: 0;
}
.top__cyf.is-active .top__cyf-tab-title-pointer-dot--maritime {
  right: -4px;
}
.top__cyf.is-active .top__cyf-tab-title-pointer-dot--land {
  left: -4px;
}
.top__cyf.is-active .top__cyf-tab-info--maritime {
  margin-top: 22px;
  width: 174px;
}
@media screen and (max-width: 980px) {
  .top__cyf.is-active .top__cyf-tab-info--maritime {
    width: 160px;
  }
}
@media screen and (max-width: 767px) {
  .top__cyf.is-active .top__cyf-tab-info--maritime {
    margin-top: 16px;
    width: 128px;
  }
}
.top__cyf.is-active .top__cyf-tab-info--land {
  margin-top: 16px;
  margin-left: -36px;
  width: 172px;
}
@media screen and (max-width: 980px) {
  .top__cyf.is-active .top__cyf-tab-info--land {
    width: 145px;
  }
}
@media screen and (max-width: 767px) {
  .top__cyf.is-active .top__cyf-tab-info--land {
    margin-left: -28px;
    margin-top: 13px;
    width: 126px;
  }
}
.top__cyf.is-active .top__cyf-tab-desc {
  opacity: 0;
  height: 0;
}
.top__cyf.is-active .top__cyf-tab-img--maritime {
  margin-left: -33px;
  height: 134px;
}
@media screen and (max-width: 767px) {
  .top__cyf.is-active .top__cyf-tab-img--maritime {
    height: 95px;
  }
}
.top__cyf.is-active .top__cyf-tab-img--land {
  height: 129px;
}
@media screen and (max-width: 767px) {
  .top__cyf.is-active .top__cyf-tab-img--land {
    height: 93px;
  }
}
.top__cyf-head {
  width: 100%;
  overflow-x: clip;
  z-index: 9;
  pointer-events: none;
}
.top__cyf-head-content {
  background: #fff;
  pointer-events: auto;
}
@media screen and (max-width: 767px) {
  .top__cyf-head-content {
    background: transparent;
  }
}
.top__cyf-head-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 30px;
  pointer-events: auto;
}
@media screen and (max-width: 767px) {
  .top__cyf-head-container {
    padding-inline: 0;
    gap: 24px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.top__cyf-head-intro {
  margin-top: auto;
  padding-top: 46px;
  padding-bottom: 52px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .top__cyf-head-intro {
    margin-bottom: -62px;
    padding-bottom: 0;
    padding-inline: 5.33%;
    background: #fff;
    position: relative;
    z-index: 10;
  }
}
.top__cyf-title {
  padding-bottom: 0.25em;
  padding-left: 0.03em;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.top__cyf-title span:last-child {
  display: inline-block;
}
.top__cyf-subtitle {
  margin-left: 15px;
  margin-block: 10px 12px;
  width: 390px;
  aspect-ratio: 390/28;
}
@media screen and (max-width: 767px) {
  .top__cyf-subtitle {
    margin-left: 6px;
    margin-bottom: 8px;
    width: 263px;
  }
}
.top__cyf-head-note {
  font-size: 12px;
  color: #999;
}
@media screen and (max-width: 767px) {
  .top__cyf-head-note {
    font-size: 10px;
    letter-spacing: -0.05em;
  }
}
.top__cyf-body {
  overflow-x: clip;
  background: #f5f5f5;
}
@media screen and (max-width: 767px) {
  .top__cyf-tab-list-pin {
    z-index: 9;
  }
}
@media screen and (max-width: 767px) {
  .top__cyf-tab-list-bg {
    padding-top: 64px;
    width: 100%;
    background: #fff;
  }
}
.top__cyf-tab-list {
  padding-top: 85px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 980px) {
  .top__cyf-tab-list {
    margin: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media screen and (max-width: 767px) {
  .top__cyf-tab-list {
    padding-top: 0;
    padding-inline: 5.33%;
    overflow-y: clip;
    z-index: 9;
  }
}
.top__cyf-tab-button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
}
.top__cyf-tab-button::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: #fff;
  opacity: 0.35;
  z-index: 2;
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
  -webkit-transition: -webkit-clip-path 0.3s ease;
  transition: -webkit-clip-path 0.3s ease;
  transition: clip-path 0.3s ease;
  transition: clip-path 0.3s ease, -webkit-clip-path 0.3s ease;
}
.top__cyf-tab-button:hover {
  z-index: 2;
}
.top__cyf-tab-button:hover .top__cyf-tab-title-pointer-dot {
  -webkit-animation: pulse 1.5s;
          animation: pulse 1.5s;
}
@media screen and (max-width: 767px) {
  .top__cyf-tab-button:hover .top__cyf-tab-title-pointer-dot {
    -webkit-animation: none;
            animation: none;
  }
}
.top__cyf-tab-button:hover::before {
  -webkit-transition: -webkit-clip-path 0.3s ease;
  transition: -webkit-clip-path 0.3s ease;
  transition: clip-path 0.3s ease;
  transition: clip-path 0.3s ease, -webkit-clip-path 0.3s ease;
}
.top__cyf-tab-button.active {
  z-index: 3;
}
.top__cyf-tab-button--left {
  margin-right: -5px;
}
@media screen and (max-width: 767px) {
  .top__cyf-tab-button--left {
    margin-right: -2px;
  }
}
.top__cyf-tab-button--left.active::before, .top__cyf-tab-button--left:hover::before {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
}
@media screen and (max-width: 767px) {
  .top__cyf-tab-button--right {
    margin-left: -11px;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
}
.top__cyf-tab-button--right.active::before, .top__cyf-tab-button--right:hover::before {
  -webkit-clip-path: inset(0 0 0 100%);
          clip-path: inset(0 0 0 100%);
}
.top__cyf-tab-info {
  position: relative;
  z-index: 1;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.top__cyf-tab-info--maritime {
  margin-top: 80px;
  width: 150px;
}
@media screen and (max-width: 767px) {
  .top__cyf-tab-info--maritime {
    width: 92px;
    margin-top: 63px;
  }
}
.top__cyf-tab-info--land {
  margin-top: 23px;
  margin-left: -42px;
  width: 135px;
}
@media screen and (max-width: 767px) {
  .top__cyf-tab-info--land {
    margin-top: 24px;
    margin-left: -21px;
    width: 94px;
  }
}
.top__cyf-tab-title {
  padding-bottom: 6px;
  position: relative;
  font-family: "Noto Serif JP", serif;
  font-size: 2.7rem;
  letter-spacing: 0.06em;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .top__cyf-tab-title {
    padding-bottom: 6px;
    padding-right: 0;
    gap: 6px;
    font-size: 16px;
  }
}
.top__cyf-tab-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #a51306;
}
.top__cyf-tab-title--land {
  padding-right: 14px;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .top__cyf-tab-title-caret {
    width: 18px;
    height: 18px;
  }
}
.top__cyf-tab-title-pointer-wrap {
  position: absolute;
  left: 100%;
  bottom: 0;
}
.top__cyf-tab-title-pointer-wrap--land {
  left: auto;
  right: 100%;
}
.top__cyf-tab-title-pointer {
  position: relative;
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  width: 100px;
  -webkit-transform-origin: top left;
          transform-origin: top left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .top__cyf-tab-title-pointer {
    width: 32px;
  }
}
.top__cyf-tab-title-pointer::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #a51306;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.top__cyf-tab-title-pointer--land {
  -webkit-transform-origin: top right;
          transform-origin: top right;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .top__cyf-tab-title-pointer--land {
    width: 37px;
    -webkit-transform: rotate(-36deg);
            transform: rotate(-36deg);
  }
}
.top__cyf-tab-title-pointer-dot {
  position: absolute;
  bottom: -4.5px;
  border-radius: 50%;
  width: 9px;
  height: 9px;
  background: #a51306;
}
@media screen and (max-width: 767px) {
  .top__cyf-tab-title-pointer-dot {
    width: 5px;
    height: 5px;
    bottom: -2.5px;
  }
}
.top__cyf-tab-title-pointer-dot--maritime {
  right: 0;
}
.top__cyf-tab-title-pointer-dot--land {
  left: 0;
}
.top__cyf-tab-desc {
  margin-top: 12px;
  font-size: 1.2rem;
  letter-spacing: -0.02em;
  line-height: 2em;
  max-width: 130px;
  text-align: left;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .top__cyf-tab-desc {
    margin-top: 8px;
    max-width: 95px;
    font-size: 10px;
    letter-spacing: -0.025em;
    -webkit-font-feature-settings: initial;
            font-feature-settings: initial;
  }
}
.top__cyf-tab-desc--land {
  letter-spacing: -0.025em;
}
.top__cyf-tab-img {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.top__cyf-tab-img--maritime {
  margin-left: -26px;
  aspect-ratio: 86/134;
  height: 320px;
}
@media screen and (max-width: 767px) {
  .top__cyf-tab-img--maritime {
    margin-left: -38px;
    height: 193px;
  }
}
.top__cyf-tab-img--land {
  aspect-ratio: 69/129;
  height: 305px;
}
@media screen and (max-width: 767px) {
  .top__cyf-tab-img--land {
    height: 190px;
  }
}
.top__cyf-tab-panel {
  display: none;
  overflow-x: clip;
}
.top__cyf-tab-panel.active {
  display: block;
}
.top__cyf-tab-panel.active:first-child .top__cyf-sec-title,
.top__cyf-tab-panel.active:first-child .top__cyf-sec-content {
  -webkit-animation: tab-left 0.6s ease forwards;
          animation: tab-left 0.6s ease forwards;
}
.top__cyf-tab-panel.active:nth-child(2) .top__cyf-sec-title,
.top__cyf-tab-panel.active:nth-child(2) .top__cyf-sec-content {
  -webkit-animation: tab-right 0.6s ease forwards;
          animation: tab-right 0.6s ease forwards;
}
.top__cyf-tab-panel:first-child .top__cyf-sec-title,
.top__cyf-tab-panel:first-child .top__cyf-sec-right-content {
  opacity: 0;
  -webkit-transform: translateX(40px);
          transform: translateX(40px);
}
.top__cyf-tab-panel:nth-child(2) .top__cyf-sec-title,
.top__cyf-tab-panel:nth-child(2) .top__cyf-sec-right-content {
  opacity: 0;
  -webkit-transform: translateX(-40px);
          transform: translateX(-40px);
}
.top__cyf-tab-panel-wrap {
  overflow: hidden;
}
.top__cyf-sec {
  display: grid;
  grid-template-columns: 162px 1fr;
  gap: 40px;
}
@media screen and (max-width: 1080px) {
  .top__cyf-sec {
    grid-template-columns: 162px 712px;
  }
}
@media screen and (max-width: 767px) {
  .top__cyf-sec {
    grid-template-columns: 47fr 238fr;
    gap: 24px 15%;
  }
}
@media screen and (max-width: 360px) {
  .top__cyf-sec {
    -webkit-column-gap: 10%;
       -moz-column-gap: 10%;
            column-gap: 10%;
  }
}
.top__cyf-sec-head {
  padding-top: 110px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 980px;
  grid-row: 1/3;
}
@media screen and (max-width: 980px) {
  .top__cyf-sec-head {
    grid-row: 1/2;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .top__cyf-sec-head {
    padding-top: 70px;
  }
}
.top__cyf-sec-head::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 1px;
  height: calc(100% + 200px);
  background: #a51913;
}
.top__cyf-sec-title {
  width: 38px;
}
@media screen and (max-width: 767px) {
  .top__cyf-sec-title {
    margin-left: -8px;
    width: 23.5px;
  }
}
.top__cyf-sec-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 980px) {
  .top__cyf-sec-content {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (max-width: 980px) {
  .top__cyf-sec-content--interview {
    grid-column: 1/3;
  }
}
.top__cyf-list, .top__cyf-interview {
  max-width: 785px;
}
@media screen and (max-width: 1080px) {
  .top__cyf-list, .top__cyf-interview {
    max-width: 100%;
  }
}
.top__cyf-list {
  padding-top: 118px;
  counter-reset: count;
}
@media screen and (max-width: 980px) {
  .top__cyf-list {
    max-width: 550px;
  }
}
@media screen and (max-width: 767px) {
  .top__cyf-list {
    padding-block: 70px 100px;
  }
}
.top__cyf-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
}
@media screen and (max-width: 980px) {
  .top__cyf-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .top__cyf-item {
    gap: 0;
  }
}
.top__cyf-item:not(:last-child) {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .top__cyf-item:not(:last-child) {
    margin-bottom: 80px;
  }
}
.top__cyf-item-left {
  position: relative;
  width: 48.2%;
}
@media screen and (max-width: 980px) {
  .top__cyf-item-left {
    width: 100%;
  }
}
.top__cyf-item-left::before {
  content: counter(count, decimal-leading-zero);
  counter-increment: count;
  position: absolute;
  left: 35px;
  top: -46px;
  font-family: "Futura Book", sans-serif;
  color: #a51913;
  font-style: oblique;
  font-size: 7rem;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top__cyf-item-left::before {
    left: 16px;
    top: -30px;
    font-size: 46px;
  }
}
.top__cyf-item-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  aspect-ratio: 378/247;
}
@media screen and (max-width: 767px) {
  .top__cyf-item-img {
    width: 100%;
  }
}
.top__cyf-item-img picture {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.top__cyf-item-right {
  width: 46%;
}
@media screen and (max-width: 980px) {
  .top__cyf-item-right {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .top__cyf-item-right {
    margin-top: 5px;
  }
}
.top__cyf-item-title-jp {
  margin-block: 5px 5px;
  font: 700 1.6rem "Noto Serif JP", serif;
  color: #a51306;
}
@media screen and (max-width: 767px) {
  .top__cyf-item-title-jp {
    margin-block: 0 12px;
    font-size: 12px;
  }
}
.top__cyf-item-desc {
  margin-top: 12px;
  font-size: 1.4rem;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .top__cyf-item-desc {
    font-size: 12px;
  }
}
.top__cyf-interview {
  margin-block: 30px 154px;
}
@media screen and (max-width: 767px) {
  .top__cyf-interview {
    margin-block: 0 144px;
    padding-left: 8%;
  }
}
.top__cyf-interview-subtitle {
  margin-block: 6px 15px;
  font: 700 2.4rem "Noto Serif JP", serif;
  letter-spacing: 0.11em;
}
@media screen and (max-width: 767px) {
  .top__cyf-interview-subtitle {
    margin-bottom: 20px;
    font-size: 18.68px;
  }
}
.top__cyf-splide {
  max-width: 100%;
  overflow: hidden;
}
.top__cyf-slide {
  position: relative;
  overflow: hidden;
  display: block;
  aspect-ratio: 200/321;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .top__cyf-slide {
    aspect-ratio: 174/280;
  }
}
.top__cyf-slide:hover .top__cyf-slide-img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.top__cyf-slide-img {
  position: absolute;
  inset: 0;
  width: 100%;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.top__cyf-slide-info {
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
  padding: 14px 4px 14px 14px;
  width: 100%;
  min-height: 120px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, 0.3)));
  background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.3));
}
@media screen and (max-width: 767px) {
  .top__cyf-slide-info {
    padding: 7px 2px 12px 7px;
    min-height: 104px;
  }
}
.top__cyf-slide-tgl {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.6666666667em;
}
@media screen and (max-width: 767px) {
  .top__cyf-slide-tgl {
    font-size: 11px;
    line-height: 1.6363636364em;
  }
}
.top__cyf-slide-label {
  margin-top: 6px;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .top__cyf-slide-label {
    font-size: 9px;
  }
}
.top__cyf-slider-arrows {
  margin-top: 38px;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  position: static !important;
  padding: 0 !important;
}
@media screen and (max-width: 767px) {
  .top__cyf-slider-arrows {
    margin-top: 32px;
  }
}
@media screen and (max-width: 360px) {
  .top__cyf-slider-arrows {
    max-width: 280px;
  }
}
.top__cyf-slider-arrow {
  background: transparent;
  -webkit-transform: none;
          transform: none;
  position: relative;
  inset: auto;
  width: 24px;
  height: 24px;
  border: 1px solid #9d1404;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
@media screen and (max-width: 767px) {
  .top__cyf-slider-arrow {
    width: 23px;
    height: 23px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.top__cyf-slider-arrow::after {
  content: "";
  margin: auto;
  position: absolute;
  inset: 0;
  width: 8px;
  aspect-ratio: 1;
  background: #9d1404;
  -webkit-mask: url('../public/img/icons/caret.svg') no-repeat center/contain;
          mask: url('../public/img/icons/caret.svg') no-repeat center/contain;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
.top__cyf-slider-arrow:hover {
  background: #9d1404;
}
.top__cyf-slider-arrow:hover::after {
  background: #fff;
}
.top__cyf-slider-arrow--prev {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
.top__cyf-pagination {
  position: static;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  margin: 0 16px;
  padding: 0;
  width: 240px;
}
@media screen and (max-width: 767px) {
  .top__cyf-pagination {
    margin: 0 10px;
  }
}
.top__cyf-pagination li {
  line-height: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
}
.top__cyf-page {
  border-radius: 0;
  height: 3px;
  width: 100%;
  margin: 0;
  opacity: 1;
  background: #eaeaea;
}
.top__cyf-page.is-active {
  background: #9d1404;
  -webkit-transform: none;
          transform: none;
}

.interview-detail {
  background: #fff;
}
.interview-detail__image-block {
  position: relative;
}
@media screen and (max-width: 767px) {
  .interview-detail__image-block:first-child {
    margin-bottom: 200px;
  }
}
.interview-detail__image-block:not(:first-child) {
  margin-top: -90px;
}
@media screen and (max-width: 767px) {
  .interview-detail__image-block:not(:first-child) {
    margin-top: -45px;
  }
}
@media screen and (max-width: 767px) {
  .interview-detail__background {
    width: 100%;
    height: 560px;
  }
}
@media screen and (max-width: 767px) {
  .interview-detail__background--main {
    height: 330px;
    -o-object-position: top;
       object-position: top;
  }
}
.interview-detail__image-block-container {
  position: absolute;
  inset: 0;
}
.interview-detail__name-wrapper {
  display: inline-block;
  padding: 5.6666666667vw 3.8vw 7.3333333333vw 16vw;
  border-right: 1px solid #a51306;
}
@media screen and (max-width: 767px) {
  .interview-detail__name-wrapper {
    padding: 25px 4%;
  }
  .interview-detail__name-wrapper img {
    -o-object-fit: contain;
       object-fit: contain;
    max-height: 240px;
  }
}
.interview-detail__name {
  width: 2.5133333333vw;
}
@media screen and (max-width: 767px) {
  .interview-detail__name {
    width: 30px;
  }
}
@media screen and (max-width: 767px) {
  .interview-detail__name--small {
    width: auto;
  }
}
.interview-detail__image-block-info {
  position: absolute;
  right: 9.3333333333vw;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  min-width: 33.8666666667vw;
  min-height: 25.8666666667vw;
  background: rgba(255, 255, 255, 0.75);
  -webkit-backdrop-filter: blur(10px) brightness(1.5);
          backdrop-filter: blur(10px) brightness(1.5);
  padding: 3.6666666667vw 3.3333333333vw 2.6vw 3.3333333333vw;
}
@media screen and (max-width: 767px) {
  .interview-detail__image-block-info {
    width: 100%;
    top: auto;
    bottom: -160px;
    left: 0;
    -webkit-transform: none;
            transform: none;
    height: 200px;
    padding: 30px 0 30px 12.5714285714%;
  }
}
.interview-detail__quote {
  font-size: 2.2vw;
  font-weight: 500;
  line-height: 1.5151515152em;
  margin-bottom: 1.8vw;
}
@media screen and (max-width: 767px) {
  .interview-detail__quote {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 18.5px;
    line-height: 1.6666666667em;
  }
}
.interview-detail__career {
  font-size: 1.2vw;
  font-weight: 300;
  line-height: 1.6666666667em;
  margin-bottom: 0.4666666667vw;
}
@media screen and (max-width: 767px) {
  .interview-detail__career {
    font-size: 10px;
    margin-bottom: 11px;
    line-height: 2em;
  }
}
.interview-detail__initials {
  font-size: 3.0666666667vw;
  font-weight: 300;
  line-height: 1.6956521739em;
}
@media screen and (max-width: 767px) {
  .interview-detail__initials {
    font-size: 24px;
    line-height: 1em;
    margin-left: 0;
  }
}
.interview-detail__content-grid {
  display: grid;
  grid-template-columns: 1fr minmax(0, 1140px) 1fr;
  grid-template-areas: ". content content";
  background: #f5f5f5;
  margin-top: -90px;
}
@media screen and (max-width: 1200px) {
  .interview-detail__content-grid {
    grid-template-columns: 1fr 76% 1fr;
  }
}
@media screen and (max-width: 767px) {
  .interview-detail__content-grid {
    grid-template-columns: 4% 92.8571428571% 1fr;
    margin-top: -45px;
  }
}
@media screen and (max-width: 767px) {
  .interview-detail__content-grid:nth-child(2) {
    margin-top: 0;
  }
}
.interview-detail__content-grid:has(.interview-detail__slider) {
  margin-top: 0;
}
.interview-detail__content-block {
  grid-area: content;
  display: grid;
  grid-template-columns: minmax(0, 1140px) 1fr;
  min-height: 590px;
  background: #fff;
  z-index: 1;
}
@media screen and (max-width: 1200px) {
  .interview-detail__content-block {
    background: none;
  }
}
@media screen and (max-width: 767px) {
  .interview-detail__content-block {
    min-height: auto;
  }
}
@media screen and (max-width: 1200px) {
  .interview-detail__content-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 50px;
    background: #f5f5f5;
  }
}
.interview-detail__content-block-item {
  background: #fff;
  display: grid;
  grid-template-columns: 16.2280701754% 1fr;
  gap: 9.3421052632%;
  padding-bottom: 120px;
}
@media screen and (max-width: 1200px) {
  .interview-detail__content-block-item {
    padding-inline: 0 40px;
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .interview-detail__content-block-item {
    padding-inline: 0 6%;
    padding-bottom: 52.5px;
  }
}
.interview-detail__content-block-item .interview-detail__content {
  padding-top: 93px;
}
@media screen and (max-width: 1200px) {
  .interview-detail__content-block-item .interview-detail__content {
    padding-top: 0;
  }
}
.interview-detail__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (max-width: 1200px) {
  .interview-detail__content {
    padding-left: 8.5714285714%;
  }
}
.interview-detail__heading-left-wrapper {
  height: 511.5px;
  border-right: 1px solid #a51306;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 56px;
}
@media screen and (max-width: 1200px) {
  .interview-detail__heading-left-wrapper {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    height: auto;
    padding: 40px 10px 17.6px 8.5714285714%;
    border-bottom: 1px solid #a51306;
    border-right: none;
  }
}
.interview-detail__heading-left {
  font-family: "Noto Serif JP", serif;
  font-size: 3.05rem;
  font-weight: 700;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: mixed;
}
@media screen and (max-width: 1200px) {
  .interview-detail__heading-left {
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
  }
}
@media screen and (max-width: 767px) {
  .interview-detail__heading-left {
    font-size: 22px;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
  }
}
@media screen and (max-width: 767px) {
  .interview-detail__heading-left--oneline {
    width: 20px;
  }
}
.interview-detail__heading {
  font-size: 2.8rem;
  margin-bottom: 54px;
}
@media screen and (max-width: 1200px) {
  .interview-detail__heading {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 767px) {
  .interview-detail__heading {
    font-size: 17px;
    margin-bottom: 27px;
  }
}
.interview-detail__description {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 2.1111111111em;
}
@media screen and (max-width: 767px) {
  .interview-detail__description {
    font-size: 14px;
  }
}
.interview-detail__other {
  padding-block: 104px 312.7px;
  background: #f5f5f5;
}
@media screen and (max-width: 767px) {
  .interview-detail__other {
    padding-block: 82.5px 156.35;
  }
}
.interview-detail__other-heading {
  font-size: 2.8rem;
}
@media screen and (max-width: 767px) {
  .interview-detail__other-heading {
    font-size: 17px;
  }
}
.interview-detail__slider-container {
  grid-area: content;
}
.interview-detail__slider {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .interview-detail__slider {
    margin-top: 40px;
    padding-left: 20px;
  }
}
.interview-detail__slider-item {
  position: relative;
  z-index: 0;
}
.interview-detail__slider-item::after {
  display: block;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.3)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(to top, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0));
  width: 100%;
  height: 120px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .interview-detail__slider-item::after {
    height: 104px;
  }
}
.interview-detail__slider-img {
  position: relative;
  width: 200px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .interview-detail__slider-img {
    width: 174px;
  }
}
.interview-detail__slider-content {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 10px;
  padding: 15px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .interview-detail__slider-content {
    padding: 12.5px 7px;
  }
}
.interview-detail__slider-heading {
  font-size: 1.2rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .interview-detail__slider-heading {
    font-size: 11px;
  }
}
.interview-detail__slider-subheading {
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .interview-detail__slider-subheading {
    font-size: 9px;
  }
}
.interview-detail__slider-arrows {
  margin-top: 38px;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  position: static !important;
  padding: 0 !important;
}
@media screen and (max-width: 767px) {
  .interview-detail__slider-arrows {
    margin-top: 32px;
  }
}
@media screen and (max-width: 360px) {
  .interview-detail__slider-arrows {
    max-width: 280px;
  }
}
.interview-detail__slider-arrow {
  background: transparent;
  -webkit-transform: none;
          transform: none;
  position: relative;
  inset: auto;
  width: 24px;
  height: 24px;
  border: 1px solid #9d1404;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
@media screen and (max-width: 767px) {
  .interview-detail__slider-arrow {
    width: 23px;
    height: 23px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.interview-detail__slider-arrow::after {
  content: "";
  margin: auto;
  position: absolute;
  inset: 0;
  width: 8px;
  aspect-ratio: 1;
  background: #9d1404;
  -webkit-mask: url('../public/img/icons/caret.svg') no-repeat center/contain;
          mask: url('../public/img/icons/caret.svg') no-repeat center/contain;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
.interview-detail__slider-arrow:hover {
  background: #9d1404;
}
.interview-detail__slider-arrow:hover::after {
  background: #fff;
}
.interview-detail__slider-arrow--prev {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
.interview-detail__pagination {
  position: static;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  margin: 0 16px;
  padding: 0;
  width: 240px;
}
@media screen and (max-width: 767px) {
  .interview-detail__pagination {
    margin: 0 10px;
  }
}
.interview-detail__pagination li {
  line-height: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
}
.interview-detail__page {
  border-radius: 0;
  height: 3px;
  width: 100%;
  margin: 0;
  opacity: 1;
  background: #eaeaea;
}
.interview-detail__page.is-active {
  background: #9d1404;
  -webkit-transform: none;
          transform: none;
}

.interview__main-visual {
  position: relative;
}
@media screen and (max-width: 767px) {
  .interview__mv-image {
    width: 100%;
    height: 200px;
  }
}
.interview__main-visual-content {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.interview__interview-text {
  position: absolute;
  bottom: -5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 50.4vw;
}
@media screen and (max-width: 767px) {
  .interview__interview-text {
    width: 81.6vw;
    bottom: -2px;
  }
}
.interview__offshore, .interview__onshore {
  position: absolute;
  top: 5.8vw;
  width: 1.6vw;
}
@media screen and (max-width: 767px) {
  .interview__offshore, .interview__onshore {
    width: 2.5333333333vw;
    top: 30px;
  }
}
.interview__offshore {
  left: 41vw;
}
@media screen and (max-width: 767px) {
  .interview__offshore {
    left: 37.4133333333vw;
  }
}
.interview__onshore {
  left: 49.2vw;
}
@media screen and (max-width: 767px) {
  .interview__onshore {
    left: 51.5466666667vw;
  }
}
.interview__main {
  padding-block: 100px 400px;
}
@media screen and (max-width: 767px) {
  .interview__main {
    padding-block: 42px 280px;
  }
}
.interview__category-list {
  margin-block: 100px 106px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 60px;
}
@media screen and (max-width: 767px) {
  .interview__category-list {
    margin-block: 50px 73px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 11px;
  }
}
.interview__category {
  position: relative;
  min-width: 250px;
  min-height: 70px;
  font-family: "Noto Serif JP", serif;
  font-size: 2.2rem;
  font-weight: 700;
  border-radius: 35px;
  border: 1px solid #a2a2a2;
  z-index: 0;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .interview__category {
    min-height: 38px;
    min-width: auto;
    font-size: 12px;
  }
}
.interview__category:hover {
  color: #fff;
}
.interview__category:hover::before {
  -webkit-clip-path: polygon(-30px 0%, 100% 0%, calc(100% + 30px) 100%, 0% 100%);
          clip-path: polygon(-30px 0%, 100% 0%, calc(100% + 30px) 100%, 0% 100%);
}
.interview__category::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 35px;
  background: #a51306;
  -webkit-transition: -webkit-clip-path 0.3s ease-out;
  transition: -webkit-clip-path 0.3s ease-out;
  transition: clip-path 0.3s ease-out;
  transition: clip-path 0.3s ease-out, -webkit-clip-path 0.3s ease-out;
  -webkit-clip-path: polygon(-30px 0%, -30px 0%, 0% 100%, 0% 100%);
          clip-path: polygon(-30px 0%, -30px 0%, 0% 100%, 0% 100%);
  z-index: -1;
}
.interview__category--active {
  background: #a51306;
  color: #fff;
}
.interview__lead {
  font-size: 2rem;
  font-weight: 500;
  line-height: 2em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .interview__lead {
    font-size: 14px;
  }
}
.interview__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: auto;
  gap: 90px 7.0175438596%;
}
@media screen and (max-width: 767px) {
  .interview__list {
    grid-template-columns: 1fr 1fr;
    gap: 15px;
  }
}
.interview__item {
  position: relative;
  aspect-ratio: 327/470;
  background: #555;
  z-index: 0;
  padding-top: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .interview__item {
    aspect-ratio: auto;
    height: 223px;
    padding-top: 0;
  }
}
.interview__item::after {
  display: block;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 120px;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.3)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(to top, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0));
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .interview__item::after {
    height: 113px;
  }
}
.interview__item > picture {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.interview__item:hover .interview__item-arrow {
  width: 45px;
  height: 45px;
}
.interview__item:hover .interview__item-arrow > img {
  width: 14.3px;
}
.interview__item:hover .interview__item-image {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.interview__item-image {
  width: 100%;
  height: 100%;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  -o-object-position: top;
     object-position: top;
}
.interview__item-badge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  background: #fff;
}
.interview__item-badge--gold .interview__badge-left {
  background: #cd8f13;
}
.interview__item-badge--gold .interview__badge-right {
  color: #cd8f13;
}
.interview__badge-left, .interview__badge-right {
  min-width: 90px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .interview__badge-left, .interview__badge-right {
    font-size: 10px;
    min-width: 56px;
  }
}
.interview__badge-left {
  position: relative;
  background: #004679;
  font-family: "Noto Serif JP", serif;
  color: #fff;
  padding-right: 10px;
  -webkit-clip-path: polygon(0% 0%, 90% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(0% 0%, 90% 0%, 100% 100%, 0% 100%);
}
.interview__badge-right {
  padding-right: 10px;
}
.interview__item-text {
  color: #fff;
}
.interview__item-title {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5625em;
}
@media screen and (max-width: 767px) {
  .interview__item-title {
    font-size: 12px;
  }
}
.interview__item-job {
  font-size: 1.4rem;
  line-height: 2.2857142857em;
}
@media screen and (max-width: 767px) {
  .interview__item-job {
    font-size: 10px;
  }
}
.interview__item-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 70px;
  padding: 10px 15px;
}
@media screen and (max-width: 767px) {
  .interview__item-bottom {
    padding: 11.5px;
  }
}
.interview__item-arrow {
  position: absolute;
  bottom: 10px;
  right: 15px;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background: #a51306;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .interview__item-arrow {
    width: 20px;
    height: 20px;
    right: 8px;
    bottom: 8.5px;
  }
}
@media screen and (max-width: 767px) {
  .interview__item-arrow > img {
    width: 6px;
  }
}
.interview__tab {
  display: none;
  -webkit-animation: 0.3s fade-in ease;
          animation: 0.3s fade-in ease;
}
.interview__tab.active {
  display: block;
}

@-webkit-keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.app__banner {
  width: 100%;
  height: 428px;
  background: url('../public/img/application/banner.jpg') center bottom/cover no-repeat;
  position: relative;
}
@media screen and (max-width: 767px) {
  .app__banner {
    background: url('../public/img/application/banner-sp.jpg') center bottom/cover no-repeat;
    height: 226px;
  }
}
.app__container {
  width: 100%;
  padding: 0 4%;
  margin: 0 auto;
  max-width: calc(1140px + 8%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .app__container {
    max-width: 100%;
    padding-inline: 6%;
  }
}
.app__container--abs {
  position: absolute;
  top: 40%;
  -webkit-transform: translateY(-60%);
          transform: translateY(-60%);
}
.app__page-title {
  font: 700 5.6rem "Noto Serif JP", serif;
  font-style: oblique;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .app__page-title {
    font-size: 20px;
    margin-left: 18px;
  }
}
.app__anchor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 22px;
}
@media screen and (max-width: 767px) {
  .app__anchor {
    gap: 10px;
  }
}
.app__anchor-link {
  width: 250px;
  height: 70px;
  background-color: #fff;
  border: 1px solid #a2a2a2;
  border-radius: 35px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 2rem;
  font-weight: 500;
  color: #000;
  padding: 5px 30px;
  position: relative;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .app__anchor-link {
    width: 101px;
    height: 38px;
    font-size: 14px;
    padding-inline: 15px 10px;
  }
}
.app__anchor-link::after {
  content: "";
  width: 25px;
  height: 25px;
  background: #a51913 url('../public/img/icons/caret-sm.svg') top 50% center/10px 6px no-repeat;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 16px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .app__anchor-link::after {
    width: 18px;
    height: 18px;
  }
}
.app__anchor-link:hover {
  border-color: #a51913;
}
.app__anchor-link:hover::after {
  width: 20px;
  height: 20px;
}
.app__block {
  width: 100%;
  background-color: #fff;
  border: 1px solid #e8e8e8;
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .app__block {
    margin-bottom: 80px;
  }
}
.app__block--mb0 {
  margin-bottom: 0;
}
.app__block--col {
  padding: 38px 40px;
}
@media screen and (max-width: 767px) {
  .app__block--col {
    padding: 40px 30px;
  }
}
.app__block-title {
  font-size: 2.2rem;
  font-weight: 600;
  color: #a51306;
  letter-spacing: 0.04em;
  display: block;
  margin-bottom: 27px;
}
@media screen and (max-width: 767px) {
  .app__block-title {
    font-size: 20px;
    margin-bottom: 15px;
  }
}
.app__block-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 38px 40px;
}
@media screen and (max-width: 767px) {
  .app__block-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-inline: 30px;
    row-gap: 20px;
  }
}
.app__block-item:not(:last-child) {
  border-bottom: 1px solid #e8e8e8;
}
.app__block-label, .app__block-desc, .app__item {
  font-size: 1.8rem;
  color: #000;
  letter-spacing: 0.04em;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .app__block-label, .app__block-desc, .app__item {
    font-size: 14px;
  }
}
.app__block-label {
  width: 240px;
  font-weight: 600;
  color: #a51913;
}
@media screen and (max-width: 767px) {
  .app__block-label {
    width: 100%;
    font-size: 18px;
  }
}
.app__block-info {
  width: calc(100% - 240px);
}
@media screen and (max-width: 767px) {
  .app__block-info {
    width: 100%;
  }
}
.app__block-desc {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .app__block-desc {
    font-size: 13px;
  }
}
.app__block-desc--fs16 {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .app__block-desc--fs16 {
    font-size: 13px;
  }
}
.app__block-desc--mb20 {
  margin-bottom: 20px;
}
.app__table, .app__table-head, .app__table-body, .app__table-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.app__table {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .app__table {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    border: 1px solid #e0e0e0;
  }
}
.app__table-head, .app__table-body {
  width: 100%;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .app__table-head, .app__table-body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.app__table-head {
  min-height: 33px;
  background-color: #e0e0e0;
}
@media screen and (max-width: 767px) {
  .app__table-head {
    width: 18%;
    font-size: 9px;
  }
}
.app__table-body {
  min-height: 48px;
  border-bottom: 1px solid #e0e0e0;
}
@media screen and (max-width: 767px) {
  .app__table-body {
    width: 41%;
    font-size: 10px;
    border-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .app__table-body--border {
    border-right: 1px solid #e0e0e0;
  }
}
.app__table-item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-inline: 12px;
}
@media screen and (max-width: 767px) {
  .app__table-item {
    width: 100% !important;
    height: 45px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    padding-inline: 4px;
  }
}
.app__table-item:nth-child(1) {
  width: 21%;
}
.app__table-item:nth-child(2) {
  width: 33%;
}
.app__table-item:nth-child(3) {
  width: 23%;
}
.app__table-item:nth-child(4) {
  width: 23%;
}
@media screen and (max-width: 767px) {
  .app__table-item:not(:last-child) {
    border-bottom: 1px solid #e0e0e0;
  }
}
.app__btn {
  margin-inline: auto;
}
.app__faq-block:not(:last-child) {
  margin-bottom: 134px;
}
@media screen and (max-width: 767px) {
  .app__faq-block:not(:last-child) {
    margin-bottom: 64px;
  }
}
.app__faq-item.active .app__faq-ques::after {
  display: none;
}
.app__faq-item.active .app__faq-ans {
  max-height: -webkit-fit-content;
  max-height: -moz-fit-content;
  max-height: fit-content;
  padding-block: 36px 54px;
}
@media screen and (max-width: 767px) {
  .app__faq-item.active .app__faq-ans {
    padding-block: 30px 40px;
  }
}
.app__faq-item:not(:last-child) .app__faq-ques {
  border-bottom: 1px solid #e8e8e8;
}
.app__faq-ques, .app__faq-ans {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.app__faq-ques {
  min-height: 106px;
  background-color: #fff;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding: 36px 100px 40px 36px;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .app__faq-ques {
    min-height: 95px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 20px 45px 20px 20px;
  }
}
.app__faq-ques::before, .app__faq-ques::after {
  content: "";
  width: 30px;
  height: 2px;
  background-color: #a51306;
  position: absolute;
  top: 50%;
  right: 52px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .app__faq-ques::before, .app__faq-ques::after {
    width: 20px;
    right: 30px;
  }
}
.app__faq-ques::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}
.app__faq-ans {
  max-height: 0;
  background-color: #ededed;
  overflow: hidden;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  padding-inline: 40px;
}
@media screen and (max-width: 767px) {
  .app__faq-ans {
    padding-inline: 20px;
  }
}
.app__faq-icon {
  font-weight: 500;
  margin-right: 20px;
}
@media screen and (max-width: 767px) {
  .app__faq-icon {
    font-size: 17px !important;
    margin-right: 17px;
  }
}
.app__faq-icon, .app__faq-text {
  font-size: 1.8rem;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .app__faq-icon, .app__faq-text {
    font-size: 16px;
    line-height: 1.625em;
  }
}
@media screen and (max-width: 767px) {
  .app__faq-text--ans {
    font-size: 11px !important;
    letter-spacing: 0.04em;
    line-height: 1.9230769231em;
    margin-top: 3px;
  }
}
.app__faq-link {
  text-decoration: underline;
  text-underline-position: under;
}
.app__block-wrap:not(:last-child) {
  margin-bottom: 54px;
}
.app__list--num {
  list-style-type: decimal;
  margin-left: 25px;
}
@media screen and (max-width: 767px) {
  .app__list--num {
    margin-left: 15px;
  }
}
.app__list--num .app__item {
  padding-left: 0;
}
.app__list--num .app__item::before {
  display: none;
}
.app__item {
  position: relative;
  padding-left: 25px;
}
@media screen and (max-width: 767px) {
  .app__item {
    padding-left: 18px;
  }
}
.app__item::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.app__block-inner {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .app__block-inner {
    margin-top: 40px;
  }
}
.app__block-sub {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  display: inline-block;
  margin-bottom: 50px;
  padding-bottom: 3px;
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 767px) {
  .app__block-sub {
    font-size: 14px;
    margin-bottom: 30px;
  }
}
.app__link {
  color: #0a00ff;
}
.app__bottom-paragraph {
  margin-bottom: 70px;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  line-height: 2em;
  text-align: center;
}

.specials {
  overflow-x: hidden;
}
.specials__banner {
  width: 100%;
  height: 570px;
  background: url('../public/img/specials/banner.jpg') center/cover no-repeat;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .specials__banner {
    background: #fff;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.specials__banner::before {
  content: "";
  width: calc(50% + 13px);
  height: 354px;
  background-color: rgba(255, 255, 255, 0.4);
  -webkit-backdrop-filter: blur(15px) brightness(1.41);
          backdrop-filter: blur(15px) brightness(1.41);
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .specials__banner::before {
    width: 70%;
  }
}
@media screen and (max-width: 767px) {
  .specials__banner::before {
    width: 100%;
    display: none;
  }
}
.specials__container {
  width: 100%;
  padding: 0 4%;
  margin: 0 auto;
  max-width: calc(1140px + 8%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-inline: 25px;
}
@media screen and (max-width: 767px) {
  .specials__container {
    max-width: 100%;
    padding-inline: 6%;
  }
}
.specials__banner-content {
  width: calc(50% + 15px);
  height: 354px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .specials__banner-content {
    width: 90%;
  }
}
@media screen and (max-width: 767px) {
  .specials__banner-content {
    width: 100%;
    padding-top: 10px;
  }
}
.specials__banner-content::after {
  content: "Specials";
  font-family: "Futura Book", sans-serif;
  font-size: 5rem;
  color: #a51306;
  line-height: 1em;
  position: absolute;
  top: -27px;
  left: 0;
}
@media screen and (max-width: 767px) {
  .specials__banner-content::after {
    font-size: 54px;
    top: -50px;
  }
}
.specials__banner-head, .specials__banner-desc {
  color: #000;
}
.specials__banner-head {
  font-family: "Noto Serif JP", serif;
  font-size: 3.2rem;
  margin-bottom: 33px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .specials__banner-head {
    font-size: 24px;
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 767px) {
  .specials__banner-head {
    font-size: 28px;
    margin-bottom: 43px;
  }
}
.specials__banner-head .align {
  -webkit-transform: translateX(-29px);
          transform: translateX(-29px);
  display: inline-block;
}
.specials__banner-desc {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.125em;
}
@media screen and (max-width: 767px) {
  .specials__banner-desc {
    font-size: 14px;
    line-height: 2em;
  }
}
.specials__wrapper {
  background-color: #f5f5f5;
  padding-block: 154px 300px;
}
@media screen and (max-width: 1024px) {
  .specials__wrapper {
    padding-block: 80px 200px;
  }
}
.specials__mission {
  background-color: #fff;
  padding-block: 80px 200px;
  position: relative;
  counter-increment: mission;
}
@media screen and (max-width: 1024px) {
  .specials__mission {
    padding-block: 60px 108px;
  }
}
.specials__mission::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  right: -100%;
}
.specials__mission:not(:last-child) {
  margin-bottom: 200px;
}
@media screen and (max-width: 1024px) {
  .specials__mission:not(:last-child) {
    margin-bottom: 100px;
  }
}
.specials__title {
  font-family: "Futura Book", sans-serif;
  font-size: 5.6rem;
  color: #a51306;
  position: absolute;
  top: -52px;
  left: 37px;
}
@media screen and (max-width: 767px) {
  .specials__title {
    font-size: 46px;
    top: -40px;
    left: 16px;
  }
}
.specials__title::after {
  content: counter(mission);
  font-size: 7rem;
}
@media screen and (max-width: 767px) {
  .specials__title::after {
    font-size: 56px;
  }
}
.specials__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 71px;
}
@media screen and (max-width: 767px) {
  .specials__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 91px;
  }
}
.specials__img {
  width: 100%;
  max-width: 544px;
  height: 347px;
}
@media screen and (max-width: 1024px) {
  .specials__img {
    height: auto;
    aspect-ratio: 310/198;
  }
}
@media screen and (max-width: 767px) {
  .specials__img {
    margin-bottom: 30px;
  }
}
.specials__content {
  width: 100%;
  max-width: 596px;
  color: #000;
}
.specials__head {
  width: 100%;
  font: 700 3rem "Noto Serif JP", serif;
  letter-spacing: -0.02em;
  line-height: 1.6666666667em;
  border-bottom: 2px solid #a51306;
  padding: 22px 0 20px 53px;
  margin-bottom: 38px;
}
@media screen and (max-width: 1024px) {
  .specials__head {
    line-height: unset;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .specials__head {
    font-size: 24px;
    padding-inline: 24px 0;
  }
}
@media screen and (max-width: 767px) {
  .specials__head {
    font-size: 22px;
    padding: 0 0 20px 30px;
    margin-bottom: 30px;
  }
}
.specials__head--nowrap {
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .specials__head--nowrap {
    white-space: wrap;
  }
}
.specials__desc {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2em;
  padding-inline: 53px 0;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .specials__desc {
    padding-inline: 24px;
  }
}
@media screen and (max-width: 767px) {
  .specials__desc {
    font-size: 14px;
    padding-inline: 30px 0;
  }
}
.specials__choices-title {
  font: 500 2.8rem "Noto Sans JP", sans-serif;
  color: #a51306;
  text-align: center;
  display: block;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .specials__choices-title {
    font-size: 28px;
    margin-bottom: 53px;
  }
}
.specials__choices-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 auto 110px;
  gap: 13px;
}
@media screen and (max-width: 767px) {
  .specials__choices-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-inline: 30px 0;
    margin-bottom: 80px;
    gap: 40px;
  }
}
.specials__choices-item {
  width: 100%;
  max-width: 340px;
  min-height: 300px;
  background-color: #f5f5f5;
  border-radius: 28px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #000;
  padding: 30px 15px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .specials__choices-item {
    max-width: 290px;
  }
}
@media screen and (max-width: 767px) {
  .specials__choices-item {
    min-height: 260px;
    padding: 25px 10px;
  }
}
.specials__choices-item--mh308 {
  min-height: 308px;
}
@media screen and (max-width: 767px) {
  .specials__choices-item--mh308 {
    min-height: 260px;
  }
}
.specials__choices-option {
  font: 500 5.2rem "Futura Book", sans-serif;
  color: #a51306;
  font-style: italic;
  line-height: 1em;
  display: block;
  margin-bottom: 6px;
}
@media screen and (max-width: 767px) {
  .specials__choices-option {
    font-size: 43px;
  }
}
.specials__choices-text {
  font-size: 2rem;
  font-weight: 500;
  line-height: 2em;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .specials__choices-text {
    font-size: 16px;
  }
}
.specials__choices-btn {
  width: 219px;
  height: 44px;
  background-color: #fff;
  border: 0;
  border-radius: 22px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.2rem;
  font-weight: 500;
  color: #a51306;
  position: absolute;
  left: 50%;
  bottom: 37px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .specials__choices-btn {
    width: 186px;
    height: 40px;
    bottom: 35px;
  }
}
.specials__choices-btn::before, .specials__choices-btn::after {
  content: "";
  width: 15px;
  height: 1px;
  background-color: #a51306;
  position: absolute;
  top: 50%;
  right: 23px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .specials__choices-btn::before, .specials__choices-btn::after {
    width: 13px;
  }
}
.specials__choices-btn::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}
.specials__choices-btn:hover {
  background-color: #a51306;
  color: #fff;
}
.specials__choices-btn:hover::before, .specials__choices-btn:hover::after {
  background-color: #fff;
}
.specials__tip {
  width: 100%;
  height: 100%;
  background-color: rgb(200, 200, 200);
  padding: 20px 28px;
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-animation: fade-in 0.3s ease;
          animation: fade-in 0.3s ease;
}
@media screen and (max-width: 767px) {
  .specials__tip {
    padding: 23px 16px;
  }
}
.specials__tip.active {
  display: block;
}
.specials__tip-close {
  all: unset;
  font-size: 2.2rem;
  color: #fff;
  position: absolute;
  top: 15px;
  right: 18px;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .specials__tip-close {
    font-size: 30px;
    top: 8px;
    right: 10px;
  }
}
.specials__tip-title, .specials__tip-desc {
  font-weight: 500;
}
.specials__tip-title {
  font-size: 1.2rem;
  color: #a51306;
  display: block;
  margin: 0 auto 30px;
  text-align: center;
}
.specials__tip-desc {
  font-size: 1.4rem;
  color: #000;
  line-height: 1.7142857143em;
}
.specials__accordion {
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .specials__accordion {
    width: calc(100% - 60px);
  }
}
.specials__accordion-head {
  width: 100%;
  height: 100px;
  background-color: #a51306;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 2.7rem;
  font-weight: 500;
  color: #fff;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .specials__accordion-head {
    height: 60px;
    font-size: 16px;
  }
}
.specials__accordion-head::before, .specials__accordion-head::after {
  content: "";
  width: 35px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: 60px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .specials__accordion-head::before, .specials__accordion-head::after {
    width: 21px;
    right: 20px;
  }
}
.specials__accordion-head::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}
.specials__accordion-head.close::after {
  opacity: 0;
}
.specials__accordion-content {
  max-height: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 80px;
     -moz-column-gap: 80px;
          column-gap: 80px;
  background-color: #f5f5f5;
  color: #000;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  overflow: hidden;
  padding-inline: 62px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .specials__accordion-content {
    -webkit-column-gap: 40px;
       -moz-column-gap: 40px;
            column-gap: 40px;
    padding-inline: 32px;
  }
}
@media screen and (max-width: 767px) {
  .specials__accordion-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-inline: 20px;
    text-align: center;
    row-gap: 20px;
  }
}
.specials__accordion-content.active {
  max-height: -webkit-fit-content;
  max-height: -moz-fit-content;
  max-height: fit-content;
  padding-block: 38px 75px;
}
.specials__accordion-icon {
  font-size: 2.1rem;
  font-weight: 500;
  color: #a51306;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .specials__accordion-icon {
    font-size: 20px;
  }
}
.specials__accordion-icon span.fs100 {
  font-family: "Futura Book", sans-serif;
  font-size: 10rem;
  display: block;
}
@media screen and (max-width: 767px) {
  .specials__accordion-icon span.fs100 {
    font-size: 79px;
    line-height: 1.2em;
  }
}
.specials__accordion-desc {
  font-weight: 500;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .specials__accordion-desc {
    line-height: 1.875em;
  }
}
.specials__accordion-desc span {
  font-size: 2rem;
  display: block;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .specials__accordion-desc span {
    font-size: 20px;
  }
}
.specials__accordion-desc p {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .specials__accordion-desc p {
    font-size: 14px;
    text-align: left;
  }
}

.career__banner {
  width: 100%;
  height: 570px;
  background: url('../public/img/career/banner.jpg') center/cover no-repeat;
  padding-top: 100px;
}
@media screen and (max-width: 767px) {
  .career__banner {
    height: 330px;
    background: url('../public/img/career/banner-sp.jpg') center/cover no-repeat;
    padding-top: 54px;
  }
}
.career__container {
  width: 100%;
  padding: 0 4%;
  margin: 0 auto;
  max-width: calc(1140px + 8%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .career__container {
    max-width: 100%;
    padding-inline: 6%;
  }
}
.career__banner-heading {
  font: 400 7rem "JOST", sans-serif;
  font-style: oblique;
  color: #a51306;
  line-height: 1em;
  margin-bottom: 46px;
}
@media screen and (max-width: 767px) {
  .career__banner-heading {
    font-size: 54px;
    margin-bottom: 0;
  }
}
.career__banner-subhead {
  font: 700 3.8rem "Noto Serif JP", serif;
  font-style: italic;
  color: #000;
  display: block;
}
@media screen and (max-width: 767px) {
  .career__banner-subhead {
    font-size: 28px;
    margin-top: 12px;
  }
}
.career__banner-desc {
  font-size: 1.8rem;
  line-height: 2.3333333333em;
}
@media screen and (max-width: 767px) {
  .career__banner-desc {
    font-size: 14px;
    text-align: center;
    margin-top: 56px;
  }
}
.career__main {
  padding-top: 140px;
}
@media screen and (max-width: 767px) {
  .career__main {
    padding-top: 87px;
  }
}
.career__tab {
  position: relative;
  left: unset;
  bottom: unset;
  -webkit-column-gap: 55px;
     -moz-column-gap: 55px;
          column-gap: 55px;
}
@media screen and (max-width: 767px) {
  .career__tab {
    -webkit-column-gap: 15px;
       -moz-column-gap: 15px;
            column-gap: 15px;
  }
}
.career__tab .tab__toggle {
  width: 400px;
  height: 80px;
}
@media screen and (max-width: 767px) {
  .career__tab .tab__toggle {
    width: 160px;
    height: 64px;
  }
}
.career__employee-head {
  font-size: 2.8rem;
  font-weight: 700;
  color: #000;
  display: block;
  text-align: center;
  margin-bottom: 53px;
}
@media screen and (max-width: 767px) {
  .career__employee-head {
    font-size: 22px;
    margin-bottom: 40px;
  }
}
.career__employee-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 60px 22px;
  margin-bottom: 292px;
}
@media screen and (max-width: 767px) {
  .career__employee-list {
    gap: 50px 15px;
    margin-bottom: 180px;
  }
}
.career__employee-item {
  width: 144px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .career__employee-item {
    width: 100px;
  }
}
.career__employee-item::after {
  content: "";
  width: 25px;
  height: 25px;
  background: url('../public/img/icons/arrow-down.svg') center/100% no-repeat;
  position: absolute;
  left: 50%;
  bottom: -37px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .career__employee-item::after {
    width: 20px;
    height: 20px;
    bottom: -28px;
  }
}
.career__employee-item:hover::after {
  width: 30px;
  height: 30px;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.career__employee-img {
  width: 100%;
  height: 144px;
  border-radius: 50%;
  overflow: hidden;
  margin-bottom: 13px;
}
@media screen and (max-width: 767px) {
  .career__employee-img {
    width: 100px;
    height: 100px;
    margin-inline: auto;
  }
}
.career__employee-text {
  font-size: 1.4rem;
  color: #000;
  display: block;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .career__employee-text {
    font-size: 10px;
  }
}
.career__employee-text--mt5 {
  margin-top: 5px;
}
.career__block {
  width: 100%;
  border-radius: 12px;
  padding: 0 36px 46px;
  position: relative;
  scroll-margin-top: 150px;
}
@media screen and (max-width: 767px) {
  .career__block {
    padding: 0 24px 24px;
  }
}
.career__block:not(:last-child) {
  margin-bottom: 252px;
}
@media screen and (max-width: 1024px) {
  .career__block:not(:last-child) {
    margin-bottom: 160px;
  }
}
.career__block--navy {
  background-color: #3979af;
}
.career__block--blue {
  background-color: #82c9d9;
}
.career__block--orange {
  background-color: #cd8f12;
}
.career__block--green {
  background-color: #9abe4a;
}
.career__block-img {
  width: 270px;
  height: 270px;
  border-radius: 50%;
  overflow: hidden;
  position: absolute;
  top: -116px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 1024px) {
  .career__block-img {
    width: 130px;
    height: 130px;
    top: -65px;
  }
}
.career__block-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 36px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .career__block-head {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .career__block-head {
    margin-bottom: 20px;
  }
}
.career__block-side {
  width: 108px;
  min-height: 168px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 45px 14px 17px 0;
  border-right: 1px solid #fff;
  margin-right: 28px;
}
@media screen and (max-width: 767px) {
  .career__block-side {
    width: 60px;
  }
}
.career__block-sub {
  font-size: 1.4rem;
}
.career__block-sub, .career__block-ja {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  color: #fff;
  letter-spacing: 0.03em;
  line-height: 1em;
}
.career__block-ja {
  font: 700 2.5rem "Noto Serif JP", serif;
}
@media screen and (max-width: 767px) {
  .career__block-ja {
    font-size: 18px;
  }
}
.career__block-detail {
  padding-top: 38px;
}
@media screen and (max-width: 1024px) {
  .career__block-detail {
    padding-top: 90px;
  }
}
.career__block-initial, .career__block-text {
  color: #fff;
}
.career__block-initial {
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .career__block-initial {
    font-size: 20px;
  }
}
.career__block-text {
  display: block;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .career__block-text {
    font-size: 14px;
  }
}
.career__block-text > span.num {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .career__block-text > span.num {
    font-size: 18px;
  }
}
.career__block-text--fs18 {
  font-size: 1.8rem;
  margin-top: 14px;
}
@media screen and (max-width: 767px) {
  .career__block-text--fs18 {
    font-size: 16px;
  }
}
.career__ques-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 15px 33px;
}
.career__ques-item {
  width: 100%;
  max-width: 334px;
  min-height: 460px;
  background-color: #fff;
  border-radius: 33px;
  padding: 24px 33px;
  counter-increment: question;
}
@media screen and (max-width: 1024px) {
  .career__ques-item {
    max-width: 100%;
    min-height: unset;
  }
}
@media screen and (max-width: 767px) {
  .career__ques-item {
    padding: 24px;
  }
}
.career__ques-num, .career__ques-text {
  display: block;
  text-align: center;
  color: #000;
}
.career__ques-num {
  font-family: -apple-system, system-ui, sans-serif;
  font-size: 3.7rem;
}
@media screen and (max-width: 767px) {
  .career__ques-num {
    font-size: 30px;
  }
}
.career__ques-num::after {
  content: counter(question) ".";
}
.career__ques-text {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.3333333333em;
  margin-block: 18px 28px;
}
@media screen and (max-width: 767px) {
  .career__ques-text {
    font-size: 16px;
    margin-block: 12px 18px;
  }
}
.career__ques-head {
  font-size: 2rem;
  line-height: 1.6em;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .career__ques-head {
    font-size: 16px;
    margin-bottom: 20px;
  }
}
.career__ques-ans {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2em;
}

.message__mv-wrapper {
  position: relative;
}
.message__mv-wrapper::after {
  display: block;
  content: "";
  position: absolute;
  left: 50%;
  bottom: -45px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  height: 78px;
  width: 1px;
  background: #a51306;
}
@media screen and (max-width: 767px) {
  .message__mv-wrapper::after {
    height: 20.8vw;
  }
}
.message__main-heading {
  position: absolute;
  bottom: 60px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 12.4666666667vw;
}
@media screen and (max-width: 767px) {
  .message__main-heading {
    width: 38.4vw;
  }
}
.message__support {
  position: relative;
  padding-bottom: 165px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .message__support {
    padding-bottom: 180px;
  }
}
.message__support::after {
  content: "";
  position: absolute;
  left: -30px;
  bottom: 129.5px;
  width: 125px;
  height: 463px;
  background: url('../public/img/message/message-decor.svg') no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .message__support::after {
    display: none;
  }
}
.message__flag-wrapper {
  position: relative;
  width: 95.6133333333vw;
  margin-left: -7.5333333333vw;
  margin-top: 2.6266666667vw;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .message__flag-wrapper {
    margin-top: 7.6vw;
    width: 158.1333333333vw;
    margin-left: -37.3333333333vw;
  }
}
.message__support-heading {
  font-family: "Noto Serif JP", serif;
  font-size: 3.1333333333vw;
  font-weight: 700;
  position: absolute;
  top: 25.3vw;
  left: 46.5733333333vw;
}
@media screen and (max-width: 767px) {
  .message__support-heading {
    font-size: 5.8666666667vw;
    letter-spacing: 0.06em;
    top: 36.9333333333vw;
    left: 60.8vw;
  }
}
.message__support-description {
  margin: -155px auto 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 2.5em;
}
@media screen and (max-width: 1200px) {
  .message__support-description {
    margin-top: 28.5px;
    font-size: 14px;
    line-height: 2.4285714286em;
    letter-spacing: normal;
  }
}
@media screen and (max-width: 767px) {
  .message__support-description {
    font-size: 11px;
  }
}
.message__support-osah {
  font-size: 2rem;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .message__support-osah {
    font-size: 14px;
  }
}
.message__osah {
  position: relative;
}
@media screen and (max-width: 767px) {
  .message__osah-container {
    padding-inline: 10.6666666667%;
  }
}
.message__osah-background {
  width: 100%;
  min-height: 1280px;
}
.message__osah-content {
  position: absolute;
  inset: 0;
  padding-block: 233px 575px;
}
@media screen and (max-width: 1200px) {
  .message__osah-content {
    padding-block: 100px;
  }
}
.message__osah-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0;
}
@media screen and (max-width: 1200px) {
  .message__osah-grid {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 70px;
  }
}
@media screen and (max-width: 767px) {
  .message__osah-grid {
    justify-items: start;
  }
}
.message__osah-description {
  padding-left: 50px;
  font-weight: 500;
  line-height: 1.875em;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 1200px) {
  .message__osah-description {
    padding-left: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media screen and (max-width: 767px) {
  .message__osah-description {
    font-size: 14px;
    line-height: 2em;
  }
}
.message__group {
  position: relative;
}
.message__rc {
  position: absolute;
  bottom: 0;
  left: 0;
  overflow: hidden;
  white-space: nowrap;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
  z-index: 1;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.message__rc-image {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .message__rc-image {
    margin-inline: 6%;
  }
}

@-webkit-keyframes marquee {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@keyframes marquee {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
.work {
  padding-bottom: 300px;
}
@media screen and (max-width: 767px) {
  .work {
    padding-bottom: 230px;
  }
}
.work__banner {
  width: 100%;
  height: 572px;
  background: url('../public/img/work/banner.jpg') center/cover no-repeat;
  padding-top: 166px;
}
@media screen and (max-width: 767px) {
  .work__banner {
    height: 330px;
    background: url('../public/img/work/banner-sp.jpg') center/cover no-repeat;
    padding-top: 54px;
  }
}
.work__banner--offshore {
  background: url('../public/img/work/banner-onshore.jpg') center/cover no-repeat;
}
@media screen and (max-width: 767px) {
  .work__banner--offshore {
    background: url('../public/img/work/banner-onshore-sp.jpg') center/cover no-repeat;
  }
}
.work__container {
  width: 100%;
  padding: 0 4%;
  margin: 0 auto;
  max-width: calc(1140px + 8%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .work__container {
    max-width: 100%;
    padding-inline: 6%;
  }
}
.work__banner-heading {
  font: 500 8.1rem "Futura Book", sans-serif;
  line-height: 1.1728395062em;
  color: #a51306;
}
@media screen and (max-width: 767px) {
  .work__banner-heading {
    font-size: 54px;
    line-height: 1.1666666667em;
  }
}
.work__banner-subhead {
  font: 700 4.4rem "Noto Serif JP", serif;
  letter-spacing: 0.11em;
  color: #000;
}
@media screen and (max-width: 767px) {
  .work__banner-subhead {
    font-size: 29px;
    letter-spacing: 0.1em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-left: 5px;
  }
}
.work__banner-subhead > .fs28 {
  font-size: 2.8rem;
  letter-spacing: 0.18em;
  display: inline-block;
  margin-left: 37px;
  -webkit-transform: translateY(-7px);
          transform: translateY(-7px);
}
@media screen and (max-width: 767px) {
  .work__banner-subhead > .fs28 {
    font-size: 20px;
    letter-spacing: 0.1em;
    margin: 10px 0 0;
  }
}
.work__main {
  width: 100%;
  margin-bottom: 14px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .work__main {
    margin-bottom: 66px;
  }
}
.work__bg {
  width: 100%;
  height: 100vh;
  display: block;
  position: sticky;
  top: 0;
  z-index: -1;
  -o-object-fit: cover;
     object-fit: cover;
  pointer-events: none;
}
.work__wrapper {
  width: 100%;
  margin-top: -100vh;
  padding-block: 75px;
  margin-bottom: 180px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .work__wrapper {
    margin-bottom: 78px;
  }
}
.work__desc {
  font-size: 2rem;
  font-weight: 500;
  line-height: 2em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .work__desc {
    font-size: 14px;
  }
}
.work__desc--mx710 {
  max-width: 710px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .work__desc--mx710 {
    padding-inline: 4%;
  }
}
.work__wrap-list {
  margin-block: 133px 180px;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .work__wrap-list {
    margin-block: 108px 114px;
    padding-left: 25px;
  }
}
.work__wrap-list--visible {
  overflow: visible;
}
@media screen and (max-width: 1024px) {
  .work__wrap-list--visible {
    padding-inline: 25px;
  }
}
.work__wrap-wrapper:not(:last-child) {
  margin-bottom: 30px;
}
@media screen and (max-width: 1024px) {
  .work__wrap-wrapper:not(:last-child) {
    margin-bottom: 115px;
  }
}
@media screen and (max-width: 767px) {
  .work__wrap-wrapper:not(:last-child) {
    margin-bottom: 30px;
  }
}
.work__wrap-wrapper--onshore:not(:last-child) {
  margin-bottom: 100px;
}
.work__wrap {
  width: 100%;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 0 4%;
  margin: 0 auto;
  max-width: calc(1140px + 8%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 0 75px 83px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .work__wrap {
    max-width: 100%;
    padding-inline: 6%;
  }
}
@media screen and (max-width: 1024px) {
  .work__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 41px 0 100px;
  }
}
.work__wrap::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 100%;
}
.work__wrap:not(:last-child) {
  margin-bottom: 100px;
}
.work__wrap--no-deco {
  padding: 28px 25px 46px;
}
@media screen and (max-width: 767px) {
  .work__wrap--no-deco {
    padding: 65px 15px 90px;
  }
}
.work__wrap--no-deco::after {
  display: none;
}
.work__wrap--no-deco:not(:last-child) {
  margin-bottom: 30px;
}
@media screen and (max-width: 1024px) {
  .work__wrap--no-deco:not(:last-child) {
    margin-bottom: 115px;
  }
}
.work__wrap--p112 {
  padding-block: 112px 82px;
}
@media screen and (max-width: 767px) {
  .work__wrap--p112 {
    padding-block: 80px 76px;
  }
}
.work__wrap-head {
  width: 71px;
  min-height: 511px;
  border-right: 1px solid #a51306;
  font: 700 2.5rem "Noto Serif JP", serif;
  color: #000;
  letter-spacing: 0.12em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  padding: 60px 40px 0 0;
}
@media screen and (max-width: 1024px) {
  .work__wrap-head {
    width: calc(100% - 40px);
    min-height: unset;
    -webkit-writing-mode: unset;
        -ms-writing-mode: unset;
            writing-mode: unset;
    text-orientation: unset;
    border-right: 0;
    border-bottom: 1px solid #a51306;
    font-size: 21px;
    padding: 0 0 22px 30px;
  }
}
.work__head-label {
  width: 265px;
  height: 55px;
  background-color: #a51306;
  font-size: 2.4rem;
  color: #fff;
  letter-spacing: 0.18em;
  position: absolute;
  top: -27px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.work__wrap-content {
  width: calc(100% - 71px);
  padding-top: 100px;
}
@media screen and (max-width: 1024px) {
  .work__wrap-content {
    width: calc(100% - 40px);
    padding-top: 51px;
    padding-left: 35px;
  }
}
.work__wrap-content--pt107 {
  padding-top: 107px;
}
@media screen and (max-width: 1024px) {
  .work__wrap-content--pt107 {
    padding-top: 58px;
  }
}
.work__flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 65px 84px;
}
@media screen and (max-width: 767px) {
  .work__flow {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.work__flow-item {
  min-width: 285px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
.work__flow-title, .work__flow-label {
  display: block;
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .work__flow-title, .work__flow-label {
    font-size: 22px;
  }
}
.work__flow-title {
  font-weight: 700;
  color: #7f1306;
  letter-spacing: 0.18em;
  margin-bottom: 20px;
}
.work__flow-label {
  font-weight: 400;
  letter-spacing: 0.18em;
  color: #fff;
  width: 100%;
  max-width: 265px;
  height: 55px;
  background-color: #7f1306;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .work__flow-label {
    max-width: 246px;
    height: 51px;
  }
}
.work__flow-label--gray {
  background-color: #e8e8e8;
  color: #000;
}
.work__flow-illus {
  width: 285px;
  height: auto;
  margin: 12px auto;
}
@media screen and (max-width: 767px) {
  .work__flow-illus {
    width: 264px;
  }
}
.work__flight, .work__flight-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.work__flight {
  width: 100%;
  max-width: 854px;
  border: 1px solid #fff;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .work__flight {
    max-width: 265px;
  }
}
.work__flight-item, .work__flight-wrap {
  width: 100%;
}
.work__flight-item {
  height: 250px;
  -webkit-clip-path: polygon(0 0, 100% 0%, 100% 67%, 50% 100%, 0 67%);
          clip-path: polygon(0 0, 100% 0%, 100% 67%, 50% 100%, 0 67%);
  padding-top: 60px;
  margin-top: -84px;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .work__flight-item {
    height: unset;
    -webkit-clip-path: polygon(0 0, 100% 0%, 100% 82%, 50% 100%, 0 82%);
            clip-path: polygon(0 0, 100% 0%, 100% 82%, 50% 100%, 0 82%);
    padding-block: 82px 32px;
  }
}
.work__flight-item::before, .work__flight-item::after {
  content: "";
  width: 51%;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 0;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .work__flight-item::before, .work__flight-item::after {
    width: 55.8%;
  }
}
.work__flight-item::before {
  left: 0;
  -webkit-transform: rotate(11deg);
          transform: rotate(11deg);
  -webkit-transform-origin: top left;
          transform-origin: top left;
}
@media screen and (max-width: 1024px) {
  .work__flight-item::before {
    -webkit-transform: rotate(24.6deg);
            transform: rotate(24.6deg);
  }
}
.work__flight-item::after {
  right: 0;
  -webkit-transform: rotate(-11deg);
          transform: rotate(-11deg);
  -webkit-transform-origin: top right;
          transform-origin: top right;
}
@media screen and (max-width: 1024px) {
  .work__flight-item::after {
    -webkit-transform: rotate(-24.6deg);
            transform: rotate(-24.6deg);
  }
}
.work__flight-item--01 {
  height: 220px;
  background-color: #f6ecec;
  padding-top: 25px;
  margin-top: 0;
}
@media screen and (max-width: 1024px) {
  .work__flight-item--01 {
    height: unset;
    padding-block: 36px;
  }
}
.work__flight-item--01::before, .work__flight-item--01::after {
  display: none;
}
.work__flight-item--01 .work__item-head,
.work__flight-item--01 .work__item-desc {
  margin-top: 0;
}
.work__flight-item--02 {
  background-color: #e3c5c4;
  margin-top: -73px;
}
.work__flight-item--02::before, .work__flight-item--02::after {
  width: 50.8%;
}
@media screen and (max-width: 1024px) {
  .work__flight-item--02::before, .work__flight-item--02::after {
    width: 55.2%;
  }
}
.work__flight-item--02::before {
  -webkit-transform: rotate(9.7deg);
          transform: rotate(9.7deg);
}
@media screen and (max-width: 1024px) {
  .work__flight-item--02::before {
    -webkit-transform: rotate(24.6deg);
            transform: rotate(24.6deg);
  }
}
.work__flight-item--02::after {
  -webkit-transform: rotate(-9.7deg);
          transform: rotate(-9.7deg);
}
@media screen and (max-width: 1024px) {
  .work__flight-item--02::after {
    -webkit-transform: rotate(-24.6deg);
            transform: rotate(-24.6deg);
  }
}
.work__flight-item--03 {
  background-color: #d8938d;
}
@media screen and (max-width: 1024px) {
  .work__flight-item--03 {
    margin-top: -69px;
  }
}
@media screen and (max-width: 1024px) {
  .work__flight-item--03::before, .work__flight-item--03::after {
    width: 56.7%;
  }
}
@media screen and (max-width: 1024px) {
  .work__flight-item--03::before {
    -webkit-transform: rotate(27.5deg);
            transform: rotate(27.5deg);
  }
}
@media screen and (max-width: 1024px) {
  .work__flight-item--03::after {
    -webkit-transform: rotate(-27.5deg);
            transform: rotate(-27.5deg);
  }
}
.work__flight-item--04 {
  background-color: #c56d65;
}
@media screen and (max-width: 1024px) {
  .work__flight-item--04::before {
    -webkit-transform: rotate(25.5deg);
            transform: rotate(25.5deg);
  }
}
@media screen and (max-width: 1024px) {
  .work__flight-item--04::after {
    -webkit-transform: rotate(-25.5deg);
            transform: rotate(-25.5deg);
  }
}
.work__flight-item--05 {
  background-color: #a73d35;
}
@media screen and (max-width: 1024px) {
  .work__flight-item--05 {
    margin-top: -65px;
  }
}
@media screen and (max-width: 1024px) {
  .work__flight-item--05::before, .work__flight-item--05::after {
    width: 56%;
  }
}
@media screen and (max-width: 1024px) {
  .work__flight-item--05::before {
    -webkit-transform: rotate(26deg);
            transform: rotate(26deg);
  }
}
@media screen and (max-width: 1024px) {
  .work__flight-item--05::after {
    -webkit-transform: rotate(-26deg);
            transform: rotate(-26deg);
  }
}
.work__flight-item--06 {
  background-color: #96281e;
}
@media screen and (max-width: 1024px) {
  .work__flight-item--06 {
    margin-top: -60px;
  }
}
@media screen and (max-width: 1024px) {
  .work__flight-item--06::before, .work__flight-item--06::after {
    width: 55.2%;
  }
}
@media screen and (max-width: 1024px) {
  .work__flight-item--06::before {
    -webkit-transform: rotate(24.4deg);
            transform: rotate(24.4deg);
  }
}
@media screen and (max-width: 1024px) {
  .work__flight-item--06::after {
    -webkit-transform: rotate(-24.4deg);
            transform: rotate(-24.4deg);
  }
}
@media screen and (max-width: 1024px) {
  .work__flight-item--02, .work__flight-item--04 {
    margin-top: -64px;
  }
}
.work__flight-item--04, .work__flight-item--05, .work__flight-item--06 {
  color: #fff;
}
.work__flight-item--04 .work__flight-head, .work__flight-item--05 .work__flight-head, .work__flight-item--06 .work__flight-head {
  color: #fff;
  border-color: #fff;
}
.work__flight-item--04 .work__flight-head::after, .work__flight-item--05 .work__flight-head::after, .work__flight-item--06 .work__flight-head::after {
  background-color: #fff;
}
.work__flight-wrap {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px 24px;
}
@media screen and (max-width: 1024px) {
  .work__flight-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.work__flight-head, .work__flight-desc {
  margin-top: 20px;
}
@media screen and (max-width: 1024px) {
  .work__flight-head, .work__flight-desc {
    margin-top: 0;
  }
}
.work__flight-head {
  width: 100px;
  border-right: 1px solid #a51306;
  font-size: 1.8rem;
  font-weight: 700;
  color: #a51306;
  padding-block: 8px 12px;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .work__flight-head {
    width: unset;
    border-right: 0;
    padding: 0 0 15px;
  }
}
@media screen and (max-width: 1024px) {
  .work__flight-head::after {
    content: "";
    width: 49px;
    height: 1px;
    background-color: #a51306;
    position: absolute;
    left: 50%;
    bottom: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.work__flight-desc {
  width: 350px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.7em;
}
@media screen and (max-width: 1024px) {
  .work__flight-desc {
    width: unset;
    font-size: 12px;
    text-align: center;
    line-height: 1.9em;
  }
}
@media screen and (max-width: 767px) {
  .work__flight-desc {
    text-align: center;
  }
}
.work__flight-desc > .mr37 {
  margin-right: 37px;
}
@media screen and (max-width: 767px) {
  .work__flight-desc > .mr37 {
    margin-right: 0;
  }
}
.work__flight-img {
  width: 130px;
  height: 130px;
  margin-left: 10px;
}
@media screen and (max-width: 1024px) {
  .work__flight-img {
    width: 92px;
    height: 92px;
    margin-left: 0;
  }
}
.work__maritime, .work__maritime-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .work__maritime, .work__maritime-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.work__maritime {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px 29px;
}
.work__maritime-list {
  gap: 86px 124px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .work__maritime-list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 50px;
  }
}
.work__maritime-item {
  width: 100%;
  max-width: 212px;
}
.work__maritime-item--mw260 {
  max-width: 260px;
}
.work__maritime-main {
  width: 522px;
  height: 490px;
}
@media screen and (max-width: 1024px) {
  .work__maritime-main {
    width: 100%;
    max-width: 300px;
    height: auto;
    aspect-ratio: 300/282;
  }
}
.work__maritime-img {
  width: 212px;
  height: 212px;
  margin: 0 auto;
}
.work__maritime-title {
  width: 139px;
  height: 26px;
  background-color: #3979af;
  -webkit-clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 100%, 0 100%);
  font-size: 1.6rem;
  font-weight: 500;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-inline: 10px;
  -webkit-transform: translate(3px, -20px);
          transform: translate(3px, -20px);
  position: relative;
}
.work__maritime-title--blue {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  white-space: nowrap;
  background-color: #87cad9;
  color: #000;
  padding-inline: 10px 25px;
  -webkit-transform: translate(-10px, -20px);
          transform: translate(-10px, -20px);
}
@media screen and (max-width: 767px) {
  .work__maritime-title--blue {
    -webkit-transform: translate(10px, -20px);
            transform: translate(10px, -20px);
  }
}
.work__maritime-desc {
  font-size: 1.2rem;
  line-height: 1.6666666667em;
}
.work__maritime-desc--mw199 {
  width: 199px;
  margin-inline: auto;
}
.work__maritime-desc--mw211 {
  width: 211px;
  margin-inline: auto;
}
.work__maritime-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 84px;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .work__maritime-wrap {
    gap: 30px;
  }
}
.work__maritime-note {
  font-size: 2rem;
  font-weight: 400;
  color: #000;
}
.work__dept {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 78px 36px;
}
@media screen and (max-width: 767px) {
  .work__dept {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 98px;
  }
}
.work__dept-block {
  width: calc(50% - 18px);
  min-height: 477px;
  border-radius: 12px;
  padding: 94px 42px 33px;
  position: relative;
  cursor: pointer;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .work__dept-block {
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  .work__dept-block {
    width: 100%;
    padding: 94px 25px 150px;
  }
}
.work__dept-block--yellow {
  background-color: #f1de52;
}
.work__dept-block--green {
  background-color: #aad153;
}
.work__dept-block--pink {
  background-color: #de98c6;
}
.work__dept-block--navy {
  background-color: #3979af;
}
.work__dept-block--navy .work__dept-title,
.work__dept-block--navy .work__dept-desc {
  color: #fff;
}
.work__dept-block--blue {
  background-color: #87cad9;
}
@media screen and (max-width: 767px) {
  .work__dept-block:last-child .work__dept-head {
    font-size: 18px;
  }
}
.work__dept-block:hover {
  opacity: 0.8;
}
.work__dept-img {
  width: 120px;
  height: 120px;
  position: absolute;
  top: -47px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.work__dept-head, .work__dept-title {
  font-size: 2.6rem;
  color: #000;
}
@media screen and (max-width: 1024px) {
  .work__dept-head, .work__dept-title {
    font-size: 20px;
  }
}
.work__dept-head {
  width: 100%;
  min-height: 55px;
  background-color: #fff;
  border-radius: 27px;
  text-align: center;
  padding: 11px 10px 10px;
  margin-bottom: 27px;
}
@media screen and (max-width: 767px) {
  .work__dept-head {
    min-height: 50px;
    margin-bottom: 34px;
  }
}
.work__dept-head:has(+ .work__dept-head-note) {
  margin-block: 10px !important;
}
.work__dept-head-note {
  font-size: 2.4rem;
  font-weight: 500;
  text-align: right;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .work__dept-head-note {
    font-size: 16px;
  }
}
.work__dept-title {
  font-family: "Noto Serif JP", serif;
  margin-bottom: 18px;
}
@media screen and (max-width: 1024px) {
  .work__dept-title {
    font-size: 18px;
    margin-bottom: 23px;
  }
}
.work__dept-desc {
  font-size: 1.6rem;
  line-height: 1.875em;
}
.work__dept-arrow {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #a51306;
  position: absolute;
  left: 50%;
  bottom: 33px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.work__dept-arrow > span {
  width: 25px;
  height: 1px;
  display: inline-block;
  background-color: #a51306;
  border-radius: 1px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.work__dept-arrow > span:last-child {
  -webkit-transform: translateX(-50%) rotate(90deg);
          transform: translateX(-50%) rotate(90deg);
}

.maritime {
  background: #e6eff7;
}
.maritime__mv {
  position: relative;
  overflow: hidden;
  z-index: 0;
}
.maritime__mv-background {
  position: relative;
  width: 100%;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .maritime__mv-background {
    height: 164.8vw;
  }
}
.maritime__mv-content {
  position: absolute;
  inset: 0;
  padding-top: 7.8666666667vw;
}
@media screen and (max-width: 767px) {
  .maritime__mv-content {
    padding-top: 12.2666666667vw;
  }
}
.maritime__mv-heading-container {
  margin: 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.maritime__mv-heading {
  position: relative;
  width: 33.2vw;
  z-index: 1;
  margin-bottom: 2.8vw;
}
@media screen and (max-width: 767px) {
  .maritime__mv-heading {
    width: 69.72vw;
    margin-bottom: 9.7066666667vw;
  }
}
.maritime__specials-title {
  display: block;
  font-family: "Futura Book", sans-serif;
  font-size: 3.2666666667vw;
  font-style: italic;
  font-weight: 300;
  letter-spacing: 0.01em;
  color: #a51306;
  text-align: center;
  margin-bottom: 0.6vw;
}
@media screen and (max-width: 767px) {
  .maritime__specials-title {
    font-size: 7.2vw;
    margin-bottom: 1.6533333333vw;
  }
}
.maritime__mv-description {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: 1.0666666667vw;
  line-height: 2.125em;
  text-align: center;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .maritime__mv-description {
    font-size: 3.7333333333vw;
  }
}
.maritime__decor-01, .maritime__decor-02, .maritime__decor-03, .maritime__decor-04, .maritime__decor-05, .maritime__decor-06, .maritime__decor-07, .maritime__decor-08 {
  position: absolute;
  z-index: 1;
}
.maritime__decor-01 {
  width: 15.3333333333vw;
  height: 17vw;
  top: 11.9333333333vw;
  left: 7.2666666667vw;
}
@media screen and (max-width: 767px) {
  .maritime__decor-01 {
    width: 16.2586666667vw;
    height: 18.0533333333vw;
    top: 16.9333333333vw;
    left: -2.6666666667vw;
  }
}
.maritime__decor-02 {
  width: 8.054vw;
  height: 9.034vw;
  top: 5.4266666667vw;
  left: 24.9466666667vw;
}
@media screen and (max-width: 767px) {
  .maritime__decor-02 {
    width: 12.064vw;
    height: 13.5333333333vw;
    left: 16.3733333333vw;
    top: 6.1333333333vw;
  }
}
.maritime__decor-03 {
  width: 8.6666666667vw;
  height: 9.948vw;
  top: 3.2133333333vw;
  left: 58.8vw;
}
@media screen and (max-width: 767px) {
  .maritime__decor-03 {
    width: 12.52vw;
    height: 14.3706666667vw;
    top: 8.88vw;
    left: 68.88vw;
  }
}
.maritime__decor-04 {
  width: 11vw;
  height: 13.1166666667vw;
  top: 7.7266666667vw;
  left: 71.7933333333vw;
}
@media screen and (max-width: 767px) {
  .maritime__decor-04 {
    width: 13.7706666667vw;
    height: 16.4213333333vw;
    top: 16.9333333333vw;
    left: 86.24vw;
  }
}
.maritime__decor-05 {
  width: 7.0993333333vw;
  height: 8.3993333333vw;
  top: 19.98vw;
  left: 83.62vw;
}
@media screen and (max-width: 767px) {
  .maritime__decor-05 {
    width: 12.0613333333vw;
    height: 14.2693333333vw;
    top: 44.32vw;
    left: 86.24vw;
  }
}
.maritime__decor-06 {
  width: 6vw;
  height: 6.9713333333vw;
  top: 29.8066666667vw;
  left: 72.2666666667vw;
}
@media screen and (max-width: 767px) {
  .maritime__decor-06 {
    width: 8.8586666667vw;
    height: 10.2933333333vw;
    top: 69.8933333333vw;
    left: 81.7866666667vw;
  }
}
.maritime__decor-07 {
  width: 7.0993333333vw;
  height: 8.3993333333vw;
  top: 33.98vw;
  left: 39.2666666667vw;
}
@media screen and (max-width: 767px) {
  .maritime__decor-07 {
    width: 10.2vw;
    height: 12.0666666667vw;
    left: 3.44vw;
    top: 68.6666666667vw;
  }
}
.maritime__decor-08 {
  width: 7.0993333333vw;
  height: 8.3993333333vw;
  top: 28.38vw;
  left: 20.5333333333vw;
}
@media screen and (max-width: 767px) {
  .maritime__decor-08 {
    width: 9.8vw;
    height: 11.5946666667vw;
    left: 3.44vw;
    top: 47.0133333333vw;
  }
}
.maritime__map-container {
  position: relative;
  width: 113.4933333333vw;
  height: 69.346vw;
  margin-block: -27.2666666667vw 0;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .maritime__map-container {
    margin-block: -79.336vw 0;
    height: calc(69.346vw + 10px);
  }
}
.maritime__map {
  width: 113.4933333333vw;
  position: relative;
  margin-left: -8.2666666667vw;
  z-index: -1;
}
.maritime__map-lines {
  position: absolute;
  width: 104.0493333333vw;
  height: 39.918vw;
  top: 20.42vw;
  left: -2.1333333333vw;
}
.maritime__loc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6.4px;
  position: absolute;
  top: 0;
  left: 0;
}
.maritime__loc--1 {
  top: 27.2333333333vw;
  left: 10.3333333333vw;
}
@media screen and (max-width: 767px) {
  .maritime__loc--1 {
    left: 7.333vw;
  }
}
.maritime__loc--2 {
  top: 47.4466666667vw;
  left: 11.6666666667vw;
}
@media screen and (max-width: 767px) {
  .maritime__loc--2 {
    left: 7.6667vw;
  }
}
.maritime__loc--3 {
  top: 22.1533333333vw;
  left: 32.2666666667vw;
}
@media screen and (max-width: 767px) {
  .maritime__loc--3 {
    left: 28.2667vw;
  }
}
.maritime__loc--4 {
  top: 38.36vw;
  left: 38.68vw;
}
@media screen and (max-width: 767px) {
  .maritime__loc--4 {
    left: 34.68vw;
  }
}
.maritime__loc--5 {
  top: 17.08vw;
  left: 46.3333333333vw;
}
@media screen and (max-width: 767px) {
  .maritime__loc--5 {
    left: 43.2333vw;
  }
}
.maritime__loc--6 {
  top: 37.5133333333vw;
  left: 59.6666666667vw;
}
@media screen and (max-width: 767px) {
  .maritime__loc--6 {
    left: 56.6667vw;
  }
}
.maritime__loc--7 {
  top: 53.8533333333vw;
  left: 46.6666666667vw;
}
@media screen and (max-width: 767px) {
  .maritime__loc--7 {
    left: 42.6667vw;
  }
}
.maritime__loc--8 {
  top: 54.8733333333vw;
  left: 71.6vw;
}
@media screen and (max-width: 767px) {
  .maritime__loc--8 {
    left: 68.6vw;
  }
}
.maritime__loc-image {
  width: 8.214vw;
}
.maritime__loc-button {
  position: relative;
  min-width: 13.3333333333vw;
  min-height: 3.3333333333vw;
  border-radius: 1.8666666667vw;
  font-size: 0.8666666667vw;
  font-weight: 500;
  padding-right: 3.3333333333vw;
  background: #fff;
  text-align: center;
  padding-left: 0.9333333333vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .maritime__loc-button {
    font-size: 1.6vw;
    line-height: 1.2em;
    min-width: 20.048vw;
    min-height: 4.5333333333vw;
    border-radius: 7.4666666667vw;
  }
}
.maritime__loc-button::before {
  content: "";
  position: absolute;
  width: 1.7333333333vw;
  height: 2.3333333333vw;
  top: -1.6666666667vw;
  right: 1.3333333333vw;
  background: url('../public/img/maritime/loc-button-decor.png') no-repeat center/contain;
}
.maritime__loc-button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.6533333333vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.6666666667vw;
  height: 1.6666666667vw;
  background: url('../public/img/icons/arrow-down.svg') no-repeat center/contain;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .maritime__loc-button::after {
    width: 2.1173333333vw;
    height: 2.1173333333vw;
    right: 0.8vw;
  }
}
.maritime__loc-button:hover::after {
  width: 2.3333333333vw;
  height: 2.3333333333vw;
}
.maritime__block-list {
  display: grid;
  gap: 42px;
  padding-block: 74.5px 400px;
}
@media screen and (max-width: 767px) {
  .maritime__block-list {
    gap: 60px;
    padding-block: 52px 200px;
  }
}
.maritime__block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 593px;
  border-radius: 30px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .maritime__block {
    grid-template-columns: 1fr;
    border-radius: 15px;
  }
}
.maritime__ichikigram-header {
  background: #fff;
  padding: 8.2px 19.4px 10px 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .maritime__block-logo {
    width: 103.2px;
  }
}
.maritime__block-image-wrapper {
  position: relative;
  padding: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .maritime__block-image-wrapper {
    height: 338px;
  }
}
.maritime__block-image {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.maritime__block-image-description {
  font-size: 1.4rem;
  color: #fff;
  line-height: 1.7142857143em;
}
.maritime__block-info {
  position: relative;
  padding: 43px 53px 32.3px 51px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .maritime__block-info {
    padding: 36px 20px 30px;
  }
}
.maritime__block-heading {
  margin-block: 34.1px 28.6px;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 0.9545454545em;
}
@media screen and (max-width: 767px) {
  .maritime__block-heading {
    margin-block: 0 30px;
    font-size: 18px;
    line-height: 1.1666666667em;
  }
}
.maritime__block-description {
  font-size: 1.4rem;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .maritime__block-description {
    font-size: 14px;
    margin-bottom: 50px;
  }
}
.maritime__block-description .small {
  margin-top: 13.8px;
  font-size: 0.9rem;
  line-height: 1.6666666667em;
}
.maritime__coordinates {
  font-size: 1.4rem;
  line-height: 1.7142857143em;
}
.maritime__coordinates .small {
  font-size: 1rem;
  line-height: 2.4em;
}
.maritime__hashtag-list {
  margin-block: 20px 41.1px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .maritime__hashtag-list {
    margin-block: 20px 34px;
    gap: 10px;
  }
}
.maritime__hashtag {
  font-size: 1.4rem;
  line-height: 1.4285714286em;
  color: #6da9dd;
}
@media screen and (max-width: 767px) {
  .maritime__hashtag {
    font-size: 14px;
  }
}
.maritime__social-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 25px;
}
@media screen and (max-width: 767px) {
  .maritime__social-actions {
    gap: 15px;
  }
}
.maritime__bookmark {
  position: absolute;
  top: 43.2px;
  right: 50.4px;
  width: 22px;
}
@media screen and (max-width: 767px) {
  .maritime__bookmark {
    position: static;
    width: 16.65px;
  }
}

.company {
  -webkit-font-feature-settings: initial;
          font-feature-settings: initial;
  overflow-x: clip;
}
.company__mv {
  height: calc(100vh - 75px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .company__mv {
    padding-block: 100px 226px;
    height: auto;
  }
}
.company__mv-background {
  display: block;
  position: sticky;
  top: 75px;
  width: 100%;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .company__mv-background {
    top: 54px;
  }
}
.company__title {
  color: #fff;
  text-align: center;
  font-size: 4.9rem;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 767px) {
  .company__title {
    font-size: 36px;
  }
}
.company__title-sm {
  display: block;
  font-size: 3rem;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .company__title-sm {
    font-size: 22px;
  }
}
.company__sec:last-child .company__sec-content-wrapper {
  padding-bottom: 0;
  margin-bottom: 153px;
}
@media screen and (max-width: 767px) {
  .company__sec:last-child .company__sec-content-wrapper {
    margin-bottom: 120px;
  }
}
.company__sec-content-wrapper {
  margin-top: -100vh;
  padding-bottom: 153px;
}
@media screen and (max-width: 767px) {
  .company__sec-content-wrapper {
    padding-bottom: 120px;
  }
}
.company__sec-head {
  padding-top: 182px;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .company__sec-head {
    padding-top: 102px;
  }
}
.company__sec-head--c1 {
  padding-top: 0;
}
.company__sec-head-label {
  font-family: "Futura Book", sans-serif;
  font-size: 5.8rem;
  font-style: oblique;
  -webkit-text-stroke: 1px #a51913;
  -webkit-text-fill-color: #fff;
}
@media screen and (max-width: 767px) {
  .company__sec-head-label {
    font-size: 44px;
  }
}
.company__sec-title {
  margin-top: 8px;
  font-size: 2.8rem;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.06em;
  line-height: 1.7857142857em;
}
@media screen and (max-width: 767px) {
  .company__sec-title {
    font-size: 20px;
  }
}
.company__sec-body {
  margin-top: 62px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .company__sec-body {
    margin-top: 70px;
  }
}
.company__sec-body-label {
  position: absolute;
  left: -30px;
  top: 128px;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media screen and (max-width: 1000px) {
  .company__sec-body-label {
    left: -16px;
  }
}
@media screen and (max-width: 767px) {
  .company__sec-body-label {
    top: 38px;
    left: -11px;
  }
}
.company__sec-body-label-image {
  width: 109px;
  aspect-ratio: 109/452;
}
@media screen and (max-width: 1000px) {
  .company__sec-body-label-image {
    width: 60px;
  }
}
@media screen and (max-width: 767px) {
  .company__sec-body-label-image {
    width: 40px;
  }
}
.company__sec-body-label-text {
  margin-top: 30px;
  margin-right: 32px;
  font: 700 1.8rem "Noto Serif JP", serif;
  color: #a51913;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 1000px) {
  .company__sec-body-label-text {
    margin-right: 18px;
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .company__sec-body-label-text {
    margin-right: 10px;
    margin-top: 18.6px;
    font-size: 10px;
  }
}
.company__sec-body-label-text--c1 {
  width: 20px;
  aspect-ratio: 20/332;
}
@media screen and (max-width: 1000px) {
  .company__sec-body-label-text--c1 {
    width: 15px;
  }
}
@media screen and (max-width: 767px) {
  .company__sec-body-label-text--c1 {
    width: 10px;
  }
}
@media screen and (max-width: 767px) {
  .company__sec-body-label-text--c3 {
    letter-spacing: 0.01em;
  }
}
.company__sec-body-clip {
  padding-top: 120px;
  padding-bottom: 50px;
  background: #fff;
  -webkit-clip-path: polygon(0 17px, 17px 0, calc(100% - 17px) 0, 100% 17px, 100% calc(100% - 17px), calc(100% - 17px) 100%, 17px 100%, 0 calc(100% - 17px));
          clip-path: polygon(0 17px, 17px 0, calc(100% - 17px) 0, 100% 17px, 100% calc(100% - 17px), calc(100% - 17px) 100%, 17px 100%, 0 calc(100% - 17px));
}
@media screen and (max-width: 767px) {
  .company__sec-body-clip {
    -webkit-clip-path: polygon(0 15px, 15px 0, calc(100% - 15px) 0, 100% 15px, 100% calc(100% - 15px), calc(100% - 15px) 100%, 15px 100%, 0 calc(100% - 15px));
            clip-path: polygon(0 15px, 15px 0, calc(100% - 15px) 0, 100% 15px, 100% calc(100% - 15px), calc(100% - 15px) 100%, 15px 100%, 0 calc(100% - 15px));
    padding-top: 52px;
  }
}
.company__sec-body-clip--c1 {
  padding-bottom: 116px;
}
@media screen and (max-width: 767px) {
  .company__sec-body-clip--c1 {
    padding-bottom: 100px;
  }
}
.company__sec-body-clip--c3 {
  margin-top: 82px;
  padding-block: 76px 0;
  -webkit-clip-path: none;
          clip-path: none;
}
@media screen and (max-width: 767px) {
  .company__sec-body-clip--c3 {
    padding-block: 48px 0;
    margin-bottom: 132px;
  }
}
@media screen and (max-width: 400px) {
  .company__sec-body-clip--c3 {
    margin-bottom: 33.4vw;
  }
}
.company__sec-body-clip--c3::before {
  content: "";
  position: absolute;
  bottom: calc(100% - 1px);
  width: 100%;
  height: 20px;
  -webkit-clip-path: polygon(0 100%, 17px 0, calc(100% - 17px) 0, 100% 100%, 100% 100%);
          clip-path: polygon(0 100%, 17px 0, calc(100% - 17px) 0, 100% 100%, 100% 100%);
  background: #fff;
}
@media screen and (max-width: 767px) {
  .company__sec-body-clip--c3::before {
    -webkit-clip-path: polygon(0 100%, 15px 0, calc(100% - 15px) 0, 100% 100%, 100% 100%);
            clip-path: polygon(0 100%, 15px 0, calc(100% - 15px) 0, 100% 100%, 100% 100%);
  }
}
.company__sec-content {
  padding: 0 6%;
  margin: 0 auto;
  max-width: calc(744px + 12%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .company__sec-content {
    max-width: 100%;
    padding-inline: 6%;
  }
}
.company__sec-content-title {
  font-size: 3.2rem;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.06em;
  line-height: 1.5625em;
}
@media screen and (max-width: 1080px) {
  .company__sec-content-title {
    width: 72%;
  }
}
@media screen and (max-width: 767px) {
  .company__sec-content-title {
    width: 100%;
    font-size: 22px;
    line-height: 1.5454545455em;
    text-align: center;
  }
}
.company__sec-content-title--c1 {
  margin-bottom: 34px;
}
@media screen and (max-width: 767px) {
  .company__sec-content-title--c1 {
    margin-bottom: 16px;
  }
}
.company__sec-content-title--c2 {
  margin-bottom: 40px;
}
.company__sec-illus {
  position: absolute;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .company__sec-illus {
    margin-inline: auto;
    position: static;
    max-width: 290px;
  }
}
.company__sec-illus--c1 {
  top: 37px;
  right: 0;
  width: 448px;
  aspect-ratio: 448/447;
}
@media screen and (max-width: 980px) {
  .company__sec-illus--c1 {
    top: -20px;
    width: 400px;
  }
}
@media screen and (max-width: 767px) {
  .company__sec-illus--c1 {
    margin-bottom: 22.6px;
    margin-left: 10px;
    padding-right: 24px;
    width: 100%;
    aspect-ratio: 290/257;
  }
}
.company__sec-illus--c2 {
  top: 118px;
  right: 40px;
  width: 337px;
  aspect-ratio: 337/252;
}
@media screen and (max-width: 980px) {
  .company__sec-illus--c2 {
    top: 60px;
    width: 300px;
  }
}
@media screen and (max-width: 767px) {
  .company__sec-illus--c2 {
    margin-bottom: 48px;
    width: 89%;
  }
}
.company__sec-par {
  font-weight: 500;
  line-height: 2.25em;
}
@media screen and (max-width: 767px) {
  .company__sec-par {
    font-size: 14px;
    line-height: 2em;
  }
}
.company__sec-par--center {
  text-align: center;
}
.company__sec-image {
  width: 100%;
  aspect-ratio: 744/380;
}
@media screen and (max-width: 767px) {
  .company__sec-image {
    aspect-ratio: 285/198;
  }
}
.company__sec-image--c1 {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .company__sec-image--c1 {
    margin-top: 40px;
  }
}
.company__sec-image--c2 {
  margin-top: 63px;
}
.company__venn {
  position: relative;
  margin: 82px auto 145px;
  width: 100%;
  max-width: 930px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .company__venn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-inline: 6%;
    gap: 100px;
  }
}
.company__venn-mid, .company__venn-sec {
  border-radius: 50%;
  width: 51.6%;
  height: auto;
  aspect-ratio: 1;
}
@media screen and (max-width: 767px) {
  .company__venn-mid, .company__venn-sec {
    border-radius: 300px;
    width: 100%;
    max-width: 360px;
    aspect-ratio: unset;
  }
}
.company__venn-mid {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.company__venn-mid::after {
  content: "";
  top: 0;
  left: 93.25%;
  width: 100%;
  background: #dae3ea;
  z-index: 15;
  height: auto;
  position: absolute;
  border-radius: 50%;
  aspect-ratio: 1;
}
.company__venn-sec {
  padding-top: 46px;
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(32%, #dae3ea), color-stop(32%, #e6eff7));
  background: linear-gradient(to bottom, #dae3ea 32%, #e6eff7 32%);
}
@media screen and (max-width: 1200px) {
  .company__venn-sec {
    padding-top: calc(40px + (46 - 40) * (100vw - 768px) / (1200 - 768));
  }
}
@media screen and (max-width: 767px) {
  .company__venn-sec {
    padding-block: 30px 60px;
    background: linear-gradient(to bottom, #dae3ea 114px, #e6eff7 114px);
  }
}
.company__venn-sec:nth-child(2) {
  margin-left: -3.5%;
}
@media screen and (max-width: 767px) {
  .company__venn-sec:nth-child(2) {
    margin-left: 0;
  }
}
.company__venn-sec::after {
  content: "";
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -24.5px;
  border-left: 7px solid #a51913;
  border-right: 7px solid #a51913;
  width: 16px;
  height: 49px;
}
@media screen and (max-width: 767px) {
  .company__venn-sec::after {
    border-left-width: 5.8px;
    border-right-width: 5.8px;
    width: 9.3px;
    height: 34.8px;
    bottom: -17.4px;
  }
}
.company__venn-title-en {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 50px;
}
@media screen and (max-width: 1200px) {
  .company__venn-title-en {
    height: calc(38px + (50 - 38) * (100vw - 768px) / (1200 - 768));
  }
}
@media screen and (max-width: 767px) {
  .company__venn-title-en {
    height: 36px;
  }
}
.company__venn-title-jp {
  margin-top: 10px;
  text-align: center;
  font-size: 2.2rem;
  color: #a51913;
}
@media screen and (max-width: 1200px) {
  .company__venn-title-jp {
    margin-top: calc(2px + (10 - 2) * (100vw - 768px) / (1200 - 768));
    font-size: calc(15px + (22 - 15) * (100vw - 768px) / (1200 - 768));
  }
}
@media screen and (max-width: 767px) {
  .company__venn-title-jp {
    margin-top: 8px;
    font-size: 18px;
  }
}
.company__venn-par {
  margin: 34px auto 0;
  max-width: 268px;
  font-size: 1.4rem;
  color: #2e2e2e;
  font-weight: 500;
  line-height: 2em;
}
@media screen and (max-width: 1200px) {
  .company__venn-par {
    font-size: calc(11px + (14 - 11) * (100vw - 768px) / (1200 - 768));
    max-width: 270px;
  }
}
@media screen and (max-width: 980px) {
  .company__venn-par {
    margin-top: calc(15px + (25 - 15) * (100vw - 768px) / (980 - 768));
    max-width: 210px;
  }
}
@media screen and (max-width: 767px) {
  .company__venn-par {
    margin-top: 38px;
    width: 80%;
    max-width: 235px;
    font-size: 14px;
  }
}
.company__venn-label {
  margin: auto;
  position: absolute;
  top: calc(100% + 30px);
  left: 0;
  right: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font: 700 3.6rem "Noto Serif JP", serif;
}
@media screen and (max-width: 767px) {
  .company__venn-label {
    top: calc(100% + 23px);
    font-size: 23px;
  }
}
.company__map {
  margin-top: 95px;
  width: 100%;
  aspect-ratio: 1140/578;
}
@media screen and (max-width: 767px) {
  .company__map {
    aspect-ratio: 325/198;
  }
}
.company__bg-grad {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), to(#e8e8e8));
  background: linear-gradient(to bottom, transparent 50%, #e8e8e8);
}
.company__stat {
  padding-block: 95.7px 69px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 767px) {
  .company__stat {
    padding-block: 30px 84px;
    margin: auto;
    max-width: 380px;
    grid-template-columns: 1fr 1fr;
    gap: 52.5px 11px;
  }
}
.company__stat-item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .company__stat-item:last-child {
    margin: auto;
    max-width: 280px;
    grid-column: 1/3;
  }
}
.company__stat-bubble {
  position: absolute;
  top: 0;
  right: -26px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: url('../public/img/company/bubble.svg') no-repeat center/contain;
  width: 78px;
  aspect-ratio: 78/79;
}
@media screen and (max-width: 850px) {
  .company__stat-bubble {
    width: 33%;
  }
}
@media screen and (max-width: 767px) {
  .company__stat-bubble {
    top: -25px;
    right: -18px;
    width: 80.4px;
  }
}
.company__stat-bubble-icon {
  margin-top: 16%;
  width: 40%;
  aspect-ratio: 31/16;
}
@media screen and (max-width: 850px) {
  .company__stat-bubble-icon {
    width: 36%;
  }
}
@media screen and (max-width: 767px) {
  .company__stat-bubble-icon {
    width: 32px;
  }
}
.company__stat-bubble-text {
  margin-top: 1.5px;
  font-size: 1rem;
  font-weight: 500;
  color: #a51913;
}
@media screen and (max-width: 767px) {
  .company__stat-bubble-text {
    margin-top: 3px;
    font-size: 9px;
  }
}
@media screen and (max-width: 767px) {
  .company__stat-bubble-text--line2 {
    font-size: 10px;
  }
}
.company__stat-heading {
  font-size: 2.2rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .company__stat-heading {
    font-size: 15px;
  }
}
.company__stat-heading--kome {
  position: relative;
}
.company__stat-heading--kome::after {
  content: "※";
  position: absolute;
  top: 0;
  left: 100%;
  font-size: 1rem;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .company__stat-heading--kome::after {
    top: -6px;
  }
}
.company__stat-box {
  margin-top: 11px;
  border-radius: 50%;
  width: 100%;
  max-width: 190px;
  height: auto;
  color: #a51913;
  aspect-ratio: 1;
  background: linear-gradient(-45deg, #dae3ea 50%, #e6eff7 50%);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .company__stat-box {
    max-width: 134.5px;
  }
}
.company__stat-box-num {
  font-size: 6.85rem;
  line-height: 6.85rem;
  font-family: "JOST", sans-serif;
}
@media screen and (max-width: 767px) {
  .company__stat-box-num {
    font-size: 48px;
    line-height: 48px;
  }
}
.company__stat-box-num .odometer {
  font-family: inherit;
  font-weight: 500;
}
.company__stat-box-num .odometer .odometer-digit .odometer-digit-inner {
  overflow-x: visible;
  overflow-y: clip;
}
.company__stat-box-num--sm {
  font-size: 3.2rem;
}
@media screen and (max-width: 767px) {
  .company__stat-box-num--sm {
    font-size: 22px;
  }
}
.company__stat-box-num--sm .odometer-value {
  margin-left: -0.03em;
}
.company__stat-box-num--100 .odometer-digit:first-child {
  width: 32px;
}
@media screen and (max-width: 767px) {
  .company__stat-box-num--100 .odometer-digit:first-child {
    width: 21px;
  }
}
.company__stat-box-approx {
  font: 700 2.8rem "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .company__stat-box-approx {
    font-size: 19px;
  }
}
.company__stat-box-approx--sm {
  margin-right: 4px;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .company__stat-box-approx--sm {
    font-size: 14px;
  }
}
.company__stat-box-unit {
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .company__stat-box-unit {
    font-size: 14px;
  }
}
.company__stat-label {
  margin-top: 7.6px;
  font-size: 1.2rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .company__stat-label {
    margin-top: 4px;
    font-size: 10px;
  }
}
.company__stat-sublabel {
  margin-top: 5.4px;
  font-size: 1rem;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .company__stat-sublabel {
    margin-top: 7px;
  }
}
.company__transpo-title {
  font-family: "Noto Serif JP", serif;
  font-size: 2.6rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .company__transpo-title {
    font-size: 18px;
  }
}
.company__transpo-splide {
  margin-top: 28px;
  padding-bottom: 58px;
}
@media screen and (max-width: 767px) {
  .company__transpo-splide {
    margin-top: 38px;
  }
}
.company__transpo-item {
  position: relative;
  height: 220px;
  border-radius: 50%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .company__transpo-item {
    height: 172px;
  }
}
.company__transpo-item-image {
  width: 100%;
  height: 100%;
}
.company__transpo-item-text {
  padding: 7px;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  min-height: 44px;
  font-size: 1.4rem;
  line-height: 2.1428571429em;
  font-weight: 400;
  text-align: center;
  color: #a51913;
  background: #dae3ea;
}
@media screen and (max-width: 767px) {
  .company__transpo-item-text {
    padding: 5.5px;
    font-size: 11px;
    min-height: 35px;
  }
}
.company__transpo-item-text:has(.small) {
  padding-top: 0;
  line-height: normal;
}
.company__transpo-item-text .small {
  display: block;
  font-size: 1rem;
  margin-top: -5px;
}
.company__transpo-arrows {
  margin-top: 28px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .company__transpo-arrows {
    margin: 42.7px auto 0;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-width: 265px;
  }
}
.company__transpo-arrow {
  position: static;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 13px 0 13px 22px;
  border-color: transparent transparent transparent #a51913;
  background: transparent;
  border-radius: 0 !important;
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}
.company__transpo-arrow svg {
  display: none;
}
.company__transpo-arrow--prev {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
.company__c2-link {
  padding-block: 62px 104px;
}
@media screen and (max-width: 767px) {
  .company__c2-link {
    padding-block: 45.6px 80.5px;
  }
}
.company__c2-link-caption {
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .company__c2-link-caption {
    font-size: 16px;
    line-height: 1.75em;
  }
}
.company__c2-link-button {
  margin: 34px auto 0;
  border: 1px solid #a51306;
  position: relative;
  width: 293px;
  height: 80px;
  font: 700 1.6rem "Noto Serif JP", serif;
  letter-spacing: -0.03em;
  color: #fff;
  background: #a51306;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .company__c2-link-button {
    width: 100%;
    max-width: 293px;
  }
}
.company__c2-link-button:hover {
  color: #a51306;
}
.company__c2-link-button:hover::before {
  -webkit-clip-path: polygon(-30px 0%, 100% 0%, calc(100% + 30px) 100%, 0% 100%);
          clip-path: polygon(-30px 0%, 100% 0%, calc(100% + 30px) 100%, 0% 100%);
}
.company__c2-link-button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #fff;
  -webkit-transition: -webkit-clip-path 0.3s ease-out;
  transition: -webkit-clip-path 0.3s ease-out;
  transition: clip-path 0.3s ease-out;
  transition: clip-path 0.3s ease-out, -webkit-clip-path 0.3s ease-out;
  -webkit-clip-path: polygon(-30px 0%, -30px 0%, 0% 100%, 0% 100%);
          clip-path: polygon(-30px 0%, -30px 0%, 0% 100%, 0% 100%);
}
.company__c2-link-button-text {
  position: relative;
  z-index: 1;
}
.company__timeline-item-wrap {
  position: relative;
}
.company__timeline-item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 68px;
     -moz-column-gap: 68px;
          column-gap: 68px;
  padding: 0 6%;
  margin: 0 auto;
  max-width: calc(930px + 12%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .company__timeline-item {
    max-width: 100%;
    padding-inline: 6%;
  }
}
@media screen and (max-width: 980px) {
  .company__timeline-item {
    -webkit-column-gap: 7.5%;
       -moz-column-gap: 7.5%;
            column-gap: 7.5%;
  }
}
@media screen and (max-width: 767px) {
  .company__timeline-item {
    padding-left: 57.5px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.company__timeline-item--col {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .company__timeline-item--col {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (min-width: 767px) {
  .company__timeline-item--col .company__timeline-par {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .company__timeline-item--sp-rev {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.company__timeline-item::after, .company__timeline-item::before {
  content: "";
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .company__timeline-item::after, .company__timeline-item::before {
    right: auto;
  }
}
.company__timeline-item::after {
  width: 1px;
  background: #a51306;
}
@media screen and (max-width: 767px) {
  .company__timeline-item::after {
    left: 32px;
    height: 100% !important;
  }
}
.company__timeline-item::before {
  border-radius: 50%;
  top: 0;
  width: 14px;
  height: 14px;
  background: #a51913;
}
@media screen and (max-width: 767px) {
  .company__timeline-item::before {
    left: 25px;
  }
}
.company__timeline-item--1 {
  padding-bottom: 64.5px;
}
@media screen and (max-width: 767px) {
  .company__timeline-item--1 {
    padding-bottom: 78.3px;
  }
}
.company__timeline-item--1::before {
  top: 45px;
}
@media screen and (max-width: 767px) {
  .company__timeline-item--1::before {
    top: 35px;
  }
}
.company__timeline-item--1::after {
  top: 45px;
  height: calc(100% - 45px);
}
.company__timeline-item--2 {
  padding-bottom: 65px;
}
.company__timeline-item--2::before {
  top: 4px;
}
@media screen and (max-width: 767px) {
  .company__timeline-item--2::before {
    top: 8px;
  }
}
.company__timeline-item--2::after {
  top: 0;
  height: 100%;
}
.company__timeline-item--3 {
  padding-block: 10px 144px;
}
@media screen and (max-width: 767px) {
  .company__timeline-item--3 {
    padding-bottom: 74px;
  }
}
@media screen and (max-width: 767px) {
  .company__timeline-item--3::before {
    top: 46px;
  }
}
.company__timeline-item--3::after {
  bottom: 0;
  height: 133px;
}
.company__timeline-item--4 {
  padding-block: 10px 152px;
}
@media screen and (max-width: 767px) {
  .company__timeline-item--4 {
    padding-block: 0 10px;
  }
}
@media screen and (max-width: 767px) {
  .company__timeline-item--4::before {
    top: 36px;
  }
}
.company__timeline-item--4::after {
  bottom: 0;
  height: 136px;
}
.company__timeline-item--5 {
  padding-block: 34px 230px;
}
@media screen and (max-width: 767px) {
  .company__timeline-item--5 {
    padding-block: 0 100px;
    padding-left: 32px;
    z-index: 1;
  }
}
@media screen and (max-width: 767px) {
  .company__timeline-item--5::before {
    top: 12px;
  }
}
.company__timeline-item--5::after {
  bottom: 0;
  height: 206px;
}
@media screen and (max-width: 767px) {
  .company__timeline-item--5::after {
    bottom: auto;
    top: 0;
    height: 200% !important;
  }
}
.company__timeline-item-col {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
}
.company__timeline-item-col--end {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .company__timeline-item-col--end {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (min-width: 767px) {
  .company__timeline-item-col .company__timeline-par {
    width: 90%;
    max-width: 340px;
  }
}
.company__timeline-year {
  color: #a51913;
  font-family: "Futura Book", sans-serif;
  font-size: 7.5rem;
  font-style: oblique;
}
@media screen and (max-width: 767px) {
  .company__timeline-year {
    margin-bottom: 16px;
    font-size: 59px;
  }
}
.company__timeline-par {
  font-weight: 500;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .company__timeline-par {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .company__timeline-par:not(.company__timeline-par--tgl) {
    width: 83.5%;
    max-width: 400px;
  }
}
@media screen and (max-width: 767px) {
  .company__timeline-par--tgl {
    width: 87%;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .company__timeline-par--sp-w100 {
    width: 100%;
  }
}
.company__timeline-figure--1 {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .company__timeline-figure--1 {
    margin-top: 25px;
  }
}
@media screen and (max-width: 767px) {
  .company__timeline-figure--2 {
    margin-top: 30px;
  }
}
.company__timeline-image-caption {
  margin-top: 7px;
  font-size: 1.2rem;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .company__timeline-image-caption {
    margin-top: 4.8px;
    font-size: 9px;
  }
}
.company__timeline-image-caption--right {
  text-align: right;
}
@media screen and (max-width: 767px) {
  .company__timeline-image-caption--right {
    text-align: left;
  }
}
.company__timeline-image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
.company__timeline-image--1 {
  aspect-ratio: 42/25;
}
.company__timeline-image--2 {
  aspect-ratio: 420/238;
}
.company__timeline-tgl {
  width: 100%;
  font: 700 1.8rem "Noto Serif JP", serif;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .company__timeline-tgl {
    font-size: 13px;
    line-height: 30px;
    width: 91%;
  }
}
.company__timeline-tgl--red {
  color: #a51913;
}
.company__timeline-tgl--md {
  font-size: 3rem;
}
@media screen and (max-width: 767px) {
  .company__timeline-tgl--md {
    font-size: 21px;
  }
}
.company__timeline-tgl--lg {
  display: block;
  font-size: 4.5rem;
}
.company__timeline-tgl--main {
  margin-top: 7px;
}
@media screen and (max-width: 767px) {
  .company__timeline-tgl--main {
    font-size: 24px;
    line-height: 1.6666666667em;
  }
}
.company__timeline-tgl--final {
  margin-top: 26px;
  line-height: 1.6666666667em;
}
@media screen and (max-width: 767px) {
  .company__timeline-tgl--final {
    width: 100%;
    margin-top: 50px;
    font-size: 20px;
    line-height: 1.7em;
  }
}
.company__timeline-illus {
  position: absolute;
  top: -130px;
  left: 0;
  width: 463px;
  aspect-ratio: 463/423;
  z-index: -1;
}
@media screen and (max-width: 1080px) {
  .company__timeline-illus {
    width: 40%;
  }
}
@media screen and (max-width: 767px) {
  .company__timeline-illus {
    position: static;
    width: 100%;
    padding-left: 40px;
    aspect-ratio: unset;
    z-index: 1;
  }
}
@media screen and (max-width: 767px) {
  .company__timeline-illus picture {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    aspect-ratio: 463/423;
  }
}
@media screen and (max-width: 767px) {
  .company__timeline-illus picture::after {
    content: "";
    position: absolute;
    top: 0;
    left: -8px;
    width: 1px;
    background: #a51306;
    height: 100%;
  }
}
.company__end-pin {
  padding-top: 75px;
  margin-top: -130px;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .company__end-pin {
    margin-top: -90px;
    padding-top: 54px;
  }
}
.company__end-sec {
  padding-top: 25px;
  height: 150vh;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .company__end-sec {
    padding-bottom: 63%;
    width: 100%;
    height: auto;
  }
}
@media screen and (max-width: 500px) {
  .company__end-sec {
    padding-bottom: 73%;
  }
}
.company__end-content {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .company__end-content {
    z-index: 2;
  }
}
.company__end-visual {
  margin: 0 auto;
  width: 936px;
  aspect-ratio: 936/600;
  position: absolute;
  top: 240px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  will-change: width, height, clip-path;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -webkit-mask-image: url('../public/img/company/end-visual-mask.svg');
          mask-image: url('../public/img/company/end-visual-mask.svg');
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media screen and (max-width: 1200px) {
  .company__end-visual {
    width: 75vw;
  }
}
@media screen and (max-width: 767px) {
  .company__end-visual {
    -webkit-mask: unset;
            mask: unset;
    top: 36px;
    left: 50%;
    width: 100vw;
    height: calc(100% - 36px);
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    aspect-ratio: unset;
    z-index: 1;
  }
}
.company__end-visual-image {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .company__end-visual-image {
    position: relative;
    -webkit-clip-path: ellipse(100% 50% at 50% 90%);
            clip-path: ellipse(100% 50% at 50% 90%);
  }
}
@media screen and (max-width: 767px) {
  .company__end-visual-image::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 40%;
    width: 100%;
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(transparent));
    background: linear-gradient(to bottom, #fff, transparent);
  }
}
@media screen and (max-width: 767px) {
  .company__end-visual-image img {
    -o-object-position: bottom;
       object-position: bottom;
  }
}

.question__mv-section {
  position: relative;
}
.question__mv-wrapper {
  position: relative;
  overflow: hidden;
}
.question__mv-wrapper::after {
  content: "";
  position: absolute;
  bottom: -45px;
  left: 0;
  width: 100%;
  height: 279px;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(80%, #fff), to(#fff));
  background: linear-gradient(to bottom, transparent, #fff 80%, #fff 100%);
}
.question__mv-container {
  max-width: calc(76vw + 8%);
}
@media screen and (max-width: 767px) {
  .question__mv-container {
    max-width: 100%;
  }
}
.question__mv-content {
  position: absolute;
  inset: 0;
}
.question__mv-content-container {
  position: absolute;
  top: 7vw;
  left: 12.0666666667vw;
}
@media screen and (max-width: 767px) {
  .question__mv-content-container {
    top: 10.1866666667vw;
    left: 0;
    width: 100%;
  }
}
.question__mv-heading {
  width: 33.0273333333vw;
}
@media screen and (max-width: 1200px) {
  .question__mv-heading {
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  .question__mv-heading {
    margin-left: 6%;
    width: 69.9413333333vw;
  }
}
.question__mv-description {
  margin-top: 2.7666666667vw;
  font-size: 1.0666666667vw;
  line-height: 2.5em;
}
@media screen and (max-width: 1200px) {
  .question__mv-description {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .question__mv-description {
    font-size: 14px;
    line-height: 2em;
    text-align: center;
    max-width: 232px;
    margin: 49vw auto 58px;
  }
}
.question__category-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  padding: 0 4%;
  margin: 0 auto;
  max-width: calc(1140px + 8%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-block: 123.8px 200px;
  max-width: calc(1340px + 8%);
}
@media screen and (max-width: 767px) {
  .question__category-list {
    max-width: 100%;
    padding-inline: 6%;
  }
}
@media screen and (max-width: 1200px) {
  .question__category-list {
    margin-block: 100px;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }
}
@media screen and (max-width: 767px) {
  .question__category-list {
    padding-inline: 5%;
    margin-block: 245px 80px;
  }
}
.question__category {
  position: relative;
  min-height: 70px;
  border-radius: 35px;
  border: 1px solid #a2a2a2;
  padding-inline: 20px 44px;
  font-size: 1.6rem;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .question__category {
    font-size: 11px;
    min-height: 90px;
    padding: 14px 10px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    text-align: center;
  }
}
.question__category::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 25px;
  height: 25px;
  background: url('../public/img/icons/arrow-down.svg') no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .question__category::after {
    top: auto;
    bottom: 9px;
    right: auto;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 19px;
    height: 19px;
  }
}
.question__button {
  position: absolute;
  width: 50px;
  height: 50px;
  border: 1px solid #a51306;
  border-radius: 50%;
  bottom: 22.5px;
  left: 185px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .question__button {
    bottom: 20px;
    width: 40px;
    height: 40px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.question__button::before, .question__button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%);
          transform: translate(-50%);
  width: 25px;
  height: 1px;
  background: #a51306;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.question__button::after {
  -webkit-transform: translate(-50%) rotate(90deg);
          transform: translate(-50%) rotate(90deg);
}
.question__heading {
  font-size: 3rem;
  font-weight: 500;
  line-height: 2.015em;
  margin-bottom: 91.3px;
  padding-bottom: 19.7px;
  border-bottom: 2px solid #a51306;
}
@media screen and (max-width: 767px) {
  .question__heading {
    font-size: 20px;
    line-height: 1.7em;
    padding-bottom: 17.6px;
    margin-bottom: 76.3px;
  }
}
.question__question-block:last-child {
  margin-bottom: 325px;
}
@media screen and (max-width: 767px) {
  .question__question-block:last-child {
    margin-bottom: 150px;
  }
}
.question__list {
  margin-bottom: 202.5px;
  display: grid;
  grid-template-columns: repeat(6, auto);
  grid-template-rows: repeat(3, auto);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 100px 10px;
}
@media screen and (max-width: 1200px) {
  .question__list {
    grid-template-columns: auto auto;
  }
}
@media screen and (max-width: 767px) {
  .question__list {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    gap: 50px 15px;
    margin-bottom: 100px;
  }
}
.question__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 100px 10px;
}
@media screen and (max-width: 767px) {
  .question__row {
    gap: 50px 15px;
  }
}
.question__row + .question__row {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .question__row + .question__row {
    margin-top: 50px;
  }
}
.question__item {
  width: 367px;
  height: 324px;
  grid-column: span 2;
  cursor: pointer;
}
@media screen and (max-width: 1200px) {
  .question__item {
    grid-column: span 1 !important;
  }
}
@media screen and (max-width: 767px) {
  .question__item {
    width: auto;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .question__item:nth-child(1) .question__image {
    width: 87.57px;
  }
}
@media screen and (max-width: 767px) {
  .question__item:nth-child(2) .question__image {
    width: 99.54px;
  }
}
.question__item:nth-child(3) {
  grid-column: 5/span 2;
}
@media screen and (max-width: 767px) {
  .question__item:nth-child(3) .question__image {
    width: 95.49px;
  }
}
.question__item:nth-child(5n+4) {
  grid-column: 2/span 2;
}
.question__item:nth-child(5n) {
  grid-column: 4/span 2;
}
@media screen and (max-width: 767px) {
  .question__item:nth-child(4) .question__image {
    width: 91.29px;
  }
}
@media screen and (max-width: 767px) {
  .question__item:nth-child(5) .question__image {
    width: 87.48px;
  }
}
@media screen and (max-width: 767px) {
  .question__item:nth-child(6) .question__image {
    width: 86.5px;
  }
}
@media screen and (max-width: 767px) {
  .question__item:nth-child(7) .question__image {
    width: 88.96px;
  }
}
@media screen and (max-width: 767px) {
  .question__item:nth-child(8) .question__image {
    width: 99.86px;
  }
}
.question__item.active .question__button::after {
  -webkit-transform: translate(-50%) rotate(180deg);
          transform: translate(-50%) rotate(180deg);
}
.question__item--yellow .question__item-body::before {
  background-image: url('../public/img/people/item-decor-yellow.svg');
}
.question__item--red .question__item-body::before {
  background-image: url('../public/img/people/item-decor-red.svg');
}
.question__item--blue .question__item-body::before {
  background-image: url('../public/img/people/item-decor-blue.svg');
}
.question__item--skyblue .question__item-body::before {
  background-image: url('../public/img/people/item-decor-skyblue.svg');
}
.question__item--green .question__item-body::before {
  background-image: url('../public/img/people/item-decor-green.svg');
}
.question__item--orange .question__item-body::before {
  background-image: url('../public/img/people/item-decor-orange.svg');
}
.question__item--brown .question__item-body::before {
  background-image: url('../public/img/people/item-decor-brown.svg');
}
.question__item--purple .question__item-body::before {
  background-image: url('../public/img/people/item-decor-purple.svg');
}
.question__item-head {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 120px;
  width: 100%;
  padding-inline: 205px 30px;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .question__item-head {
    height: 94px;
    padding-block: 8.8px 9.4px;
    padding-inline: 90px 15px;
  }
}
.question__item-head::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #a51306;
  -webkit-clip-path: polygon(0% 0%, 85.76% 0%, 90.76% 100%, 5.75% 100%);
          clip-path: polygon(0% 0%, 85.76% 0%, 90.76% 100%, 5.75% 100%);
  pointer-events: none;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .question__item-head::after {
    -webkit-clip-path: none;
            clip-path: none;
  }
}
.question__item-body {
  position: relative;
  width: 100%;
  height: 205px;
  padding: 32px 35px 0 60px;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .question__item-body {
    padding: 13px 10px;
    height: 150px;
  }
}
.question__item-body::before {
  content: "";
  position: absolute;
  top: 14px;
  left: 28px;
  width: 319px;
  height: 105px;
  background: url('../public/img/people/item-decor.svg') no-repeat center/contain;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .question__item-body::before {
    width: 100%;
    height: 72px;
    left: 0;
  }
}
.question__item-body::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #f5f5f5;
  -webkit-clip-path: polygon(5.64% 0%, 90.8% 0%, 100% 100%, 13.99% 100%);
          clip-path: polygon(5.64% 0%, 90.8% 0%, 100% 100%, 13.99% 100%);
  pointer-events: none;
  z-index: -2;
}
@media screen and (max-width: 767px) {
  .question__item-body::after {
    -webkit-clip-path: none;
            clip-path: none;
  }
}
.question__image {
  position: absolute;
  bottom: 0;
  left: 35px;
  width: 150px;
}
@media screen and (max-width: 767px) {
  .question__image {
    width: auto;
    left: 0;
  }
}
.question__person-info {
  color: #fff;
  letter-spacing: 0.18em;
}
.question__initials {
  font-size: 2.434rem;
  line-height: 1.2000821693em;
}
@media screen and (max-width: 767px) {
  .question__initials {
    font-size: 16px;
    line-height: 1.6875em;
  }
}
.question__job-type {
  font-size: 1.6rem;
  line-height: 1.2175em;
}
@media screen and (max-width: 767px) {
  .question__job-type {
    font-size: 14px;
    line-height: 1.1428571429em;
  }
}
.question__career {
  font-size: 1.2rem;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .question__career {
    font-size: 10px;
    line-height: 1.4em;
  }
}
.question__item-heading {
  font-family: "Noto Serif JP", serif;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.8181818182em;
}
@media screen and (max-width: 767px) {
  .question__item-heading {
    font-size: 14px;
    line-height: 1.5714285714em;
  }
}
.question__modal {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 800px;
  height: 380px;
  padding: 47.6px 31.8px;
  background: #f5f5f5;
  border: none;
  outline: none;
  z-index: 0;
  overflow: hidden;
  -webkit-animation: fade-in 0.3s ease;
          animation: fade-in 0.3s ease;
}
@media screen and (max-width: 767px) {
  .question__modal {
    height: 508px;
    padding: 44px 16px 44px 10px;
    overflow: scroll;
  }
}
.question__modal::after {
  content: "";
  position: absolute;
  top: 124px;
  left: 0;
  width: 100%;
  height: 6px;
  background: #000;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .question__modal::after {
    top: 144px;
  }
}
.question__modal.yellow::after {
  background: #ffef83;
}
.question__modal.red::after {
  background: #e2b9d2;
}
.question__modal.blue::after {
  background: #7092b9;
}
.question__modal.skyblue::after {
  background: #86ccdd;
}
.question__modal.purple::after {
  background: #b8a1c9;
}
.question__modal.brown::after {
  background: #c3ad75;
}
.question__modal.green::after {
  background: #82c4ad;
}
.question__modal.orange::after {
  background: #d18e76;
}
.question__modal-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 22px;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .question__modal-flex > picture {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.question__modal-info {
  max-width: 480px;
}
.question__modal-info-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .question__modal-info-row {
    margin-bottom: 0;
    gap: 10px;
  }
}
.question__modal-jobtype {
  font-size: 2rem;
  letter-spacing: 0.18em;
  line-height: 0.9em;
}
@media screen and (max-width: 767px) {
  .question__modal-jobtype {
    width: 100%;
  }
}
.question__modal-career, .question__modal-industry {
  font-size: 1.2rem;
  line-height: 1.0833333333em;
}
@media screen and (max-width: 767px) {
  .question__modal-career, .question__modal-industry {
    line-height: 1.8333333333em;
  }
}
.question__modal-industry {
  margin-bottom: 52px;
}
@media screen and (max-width: 767px) {
  .question__modal-industry {
    margin-bottom: 47.3px;
  }
}
.question__modal-initials {
  font-size: 2.4rem;
  line-height: 1.1666666667em;
  letter-spacing: 0.18em;
}
@media screen and (max-width: 767px) {
  .question__modal-initials {
    line-height: 1.15em;
  }
}
.question__modal-heading {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.95em;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .question__modal-heading {
    font-size: 16px;
    line-height: 1.6875em;
  }
}
.question__modal-description {
  font-size: 1.4rem;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .question__modal-description {
    font-size: 12px;
    padding-bottom: 44px;
  }
}
.question__modal-image {
  height: 320px;
  margin-top: -20px;
}
@media screen and (max-width: 767px) {
  .question__modal-image {
    max-width: 100px;
    height: 247.32px;
    margin-top: 0;
    -o-object-fit: contain;
       object-fit: contain;
  }
}
.question__modal-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1px solid #a51306;
  background: #fff;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .question__modal-close {
    top: 10px;
    right: 10px;
  }
}
.question__modal-close::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 19px;
  height: 19px;
  background: url('../public/img/people/close-ex.png') no-repeat center/contain;
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.benefits {
  background-color: #f5f5f5;
  padding-bottom: 300px;
}
.benefits__banner {
  width: 100%;
  height: 420px;
  background: url('../public/img/benefits/banner.jpg') center/cover no-repeat;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 95px;
}
@media screen and (max-width: 767px) {
  .benefits__banner {
    height: 140px;
    background: url('../public/img/benefits/banner-sp.jpg') center/cover no-repeat;
    margin-bottom: 60px;
  }
}
.benefits__container {
  width: 100%;
  padding: 0 4%;
  margin: 0 auto;
  max-width: calc(1140px + 8%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .benefits__container {
    max-width: 100%;
    padding-inline: 6%;
  }
}
.benefits__banner-head {
  font: 700 4.8rem "Noto Serif JP", serif;
  font-style: italic;
  color: #000;
  line-height: 1em;
}
@media screen and (max-width: 767px) {
  .benefits__banner-head {
    font-size: 22px;
  }
}
.benefits__desc {
  font-size: 2rem;
  font-weight: 500;
  color: #000;
  line-height: 2em;
  text-align: center;
  margin-bottom: 117px;
}
@media screen and (max-width: 767px) {
  .benefits__desc {
    font-size: 14px;
    margin-bottom: 85px;
  }
}
.benefits__wrap {
  width: 100%;
  background-color: #fff;
  position: relative;
  padding-top: 24px;
}
@media screen and (max-width: 767px) {
  .benefits__wrap {
    padding-top: 18px;
  }
}
.benefits__wrap:not(:last-child) {
  margin-bottom: 118px;
}
@media screen and (max-width: 767px) {
  .benefits__wrap:not(:last-child) {
    margin-bottom: 97px;
  }
}
.benefits__wrap-head {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 404px;
  height: 54px;
  background-color: #a51913;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.8em;
  padding-inline: 100px;
  position: absolute;
  top: -27px;
  left: 0;
}
@media screen and (max-width: 767px) {
  .benefits__wrap-head {
    min-width: calc(100% - 45px);
    height: 40px;
    font-size: 16px;
    padding-inline: 30px 10px;
    top: -20px;
  }
}
.benefits__item {
  padding: 36px 100px 40px;
}
@media screen and (max-width: 767px) {
  .benefits__item {
    padding: 37px 30px;
  }
}
.benefits__item:not(:last-child) {
  border-bottom: 1px solid #e8e8e8;
}
.benefits__title, .benefits__text {
  color: #000;
  letter-spacing: 0.04em;
}
.benefits__title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6em;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .benefits__title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 20px;
  }
}
.benefits__title::before {
  content: "・";
  display: inline-block;
  margin-right: 10px;
}
.benefits__text, .benefits__inner-item {
  font-size: 1.6rem;
  line-height: 2em;
  margin-left: 22px;
}
@media screen and (max-width: 767px) {
  .benefits__text, .benefits__inner-item {
    font-size: 13px;
    font-weight: 500;
  }
}
.benefits__inner-item::before {
  content: "•";
  display: inline-block;
  margin-right: 15px;
}
@media screen and (max-width: 767px) {
  .benefits__inner-item::before {
    margin-right: 40px;
  }
}
.benefits__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 21px;
     -moz-column-gap: 21px;
          column-gap: 21px;
}
@media screen and (max-width: 767px) {
  .benefits__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.benefits__illus {
  width: 142px;
  height: 142px;
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px);
}
@media screen and (max-width: 767px) {
  .benefits__illus {
    -webkit-transform: unset;
            transform: unset;
    margin-top: 24px;
  }
}
.benefits__scroll {
  width: 100%;
  overflow-x: auto;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .benefits__scroll {
    margin-top: 25px;
  }
}
.benefits__chart {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .benefits__chart {
    min-width: 742px;
    height: 505px;
  }
}

.hr {
  background-color: #f5f5f5;
  padding-bottom: 315px;
}
@media screen and (max-width: 767px) {
  .hr {
    padding-bottom: 260px;
  }
}
.hr__banner {
  width: 100%;
  height: 420px;
  background: url('../public/img/hr/banner.jpg') top center/cover no-repeat;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 95px;
}
@media screen and (max-width: 767px) {
  .hr__banner {
    background: url('../public/img/hr/banner-sp.jpg') center/cover no-repeat;
    height: 140px;
    margin-bottom: 60px;
  }
}
.hr__container {
  width: 100%;
  padding: 0 4%;
  margin: 0 auto;
  max-width: calc(1140px + 8%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .hr__container {
    max-width: 100%;
    padding-inline: 6%;
  }
}
.hr__banner-head {
  font: 700 4.8rem "Noto Serif JP", serif;
  font-style: italic;
  color: #000;
  line-height: 1em;
}
@media screen and (max-width: 767px) {
  .hr__banner-head {
    font-size: 22px;
  }
}
.hr__desc {
  font-size: 2rem;
  font-weight: 500;
  color: #000;
  line-height: 2em;
  text-align: center;
  margin-bottom: 117px;
}
@media screen and (max-width: 767px) {
  .hr__desc {
    font-size: 14px;
    margin-bottom: 73px;
  }
}
.hr__wrapper {
  width: 100%;
  background-color: #fff;
  padding: 60px 100px;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .hr__wrapper {
    padding: 58px 30px 41px;
  }
}
.hr__wrapper--line {
  padding: 60px 150px 164px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .hr__wrapper--line {
    padding: 60px 20px 100px 0;
  }
}
@media screen and (max-width: 767px) {
  .hr__wrapper--line {
    padding: 30px 20px 97px 0;
  }
}
.hr__wrapper--line::before {
  content: "";
  width: 1px;
  height: calc(100% - 62px);
  background-color: #a51913;
  position: absolute;
  left: 208px;
  bottom: 0;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .hr__wrapper--line::before {
    left: 50px;
  }
}
@media screen and (max-width: 767px) {
  .hr__wrapper--line::before {
    left: 40px;
  }
}
.hr__wrapper:not(:last-child) {
  margin-bottom: 130px;
}
@media screen and (max-width: 1024px) {
  .hr__wrapper:not(:last-child) {
    margin-bottom: 150px;
  }
}
.hr__wrapper-head {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 404px;
  height: 54px;
  background-color: #a51913;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.8em;
  padding-inline: 100px;
  position: absolute;
  top: -27px;
  left: 0;
}
@media screen and (max-width: 767px) {
  .hr__wrapper-head {
    min-width: calc(100% - 45px);
    height: 40px;
    font-size: 16px;
    padding-inline: 30px;
    top: -20px;
  }
}
.hr__wrap, .hr__wrap-head {
  z-index: 1;
}
.hr__wrap:not(:last-child) {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .hr__wrap:not(:last-child) {
    margin-bottom: 69px;
  }
}
.hr__wrap-head {
  width: 114px;
  height: 114px;
  background-color: #a51913;
  border-radius: 50%;
  font-size: 3.2rem;
  font-weight: 700;
  color: #fff;
  line-height: 1em;
  text-align: center;
  margin-bottom: 46px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .hr__wrap-head {
    width: 80px;
    height: 80px;
    font-size: 20px;
    margin-left: 10px;
  }
}
@media screen and (max-width: 767px) {
  .hr__wrap-head {
    width: 60px;
    height: 60px;
    font-size: 16px;
    line-height: 1.8125em;
    margin: 0 0 30px 10px;
  }
}
.hr__wrap-head--small {
  font-size: 2.9rem;
  line-height: 1.1724137931em;
}
@media screen and (max-width: 767px) {
  .hr__wrap-head--small {
    font-size: 16px;
  }
}
.hr__inner-wrap:not(:last-child) {
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .hr__inner-wrap:not(:last-child) {
    margin-bottom: 40px;
  }
}
.hr__inner-wrap-head {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 240px;
  height: 40px;
  background-color: #a51913;
  -webkit-clip-path: polygon(0 0, 90% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 0, 90% 0, 100% 100%, 0% 100%);
  font: 700 2.4rem "Noto Serif JP", serif;
  color: #fff;
  line-height: 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-inline: 90px 10px;
  margin: 0 0 30px 30px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .hr__inner-wrap-head {
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .hr__inner-wrap-head {
    min-width: 156px;
    height: 26px;
    font-size: 16px;
    margin: 0 0 30px;
    padding-left: 54px;
  }
}
.hr__inner-wrap-head--mw350 {
  min-width: 350px;
}
@media screen and (max-width: 767px) {
  .hr__inner-wrap-head--mw350 {
    min-width: 235px;
  }
}
.hr__block-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 28px 22px;
  margin-left: 120px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .hr__block-list {
    margin-left: 90px;
  }
}
@media screen and (max-width: 767px) {
  .hr__block-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-left: 0;
  }
}
.hr__block {
  width: 100%;
  max-width: 320px;
  min-height: 270px;
  background-color: #f5f5f5;
  padding: 26px 29px;
}
@media screen and (max-width: 767px) {
  .hr__block {
    max-width: calc(100% - 59px);
    min-height: 226px;
    padding: 30px 24px;
  }
}
.hr__block--mw668 {
  max-width: 668px;
  min-height: auto;
  margin-left: 120px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .hr__block--mw668 {
    width: calc(100% - 90px);
    max-width: 662px;
    margin-left: 90px;
  }
}
@media screen and (max-width: 767px) {
  .hr__block--mw668 {
    max-width: calc(100% - 59px);
    min-height: 388px;
    margin-left: auto;
  }
}
.hr__block-title {
  font-size: 1.8rem;
  font-weight: 700;
  color: #a51913;
  line-height: 1.3333333333em;
  display: block;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .hr__block-title {
    font-size: 14px;
    margin-bottom: 22px;
  }
}
.hr__block-desc {
  font-size: 1.4rem;
  font-weight: 500;
  color: #2e2e2e;
  line-height: 2em;
}
.hr__block-desc--fs16 {
  font-size: 1.6rem;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .hr__block-desc--fs16 {
    font-size: 13px;
    line-height: 1.9230769231em;
  }
}
.hr__block-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 45px 30px;
}
@media screen and (max-width: 767px) {
  .hr__block-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.hr__block-content {
  width: calc(100% - 340px);
}
@media screen and (max-width: 767px) {
  .hr__block-content {
    width: 100%;
  }
}
.hr__block-img {
  width: 100%;
  max-width: 310px;
  height: auto;
}

.cs__banner {
  width: 100%;
  height: 570px;
  background: url('../public/img/career-senior/banner.jpg') center/cover no-repeat;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .cs__banner {
    background: #fff;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.cs__banner::before {
  content: "";
  width: 50%;
  height: 354px;
  background-color: rgba(255, 255, 255, 0.4);
  -webkit-backdrop-filter: blur(15px) brightness(1.41);
          backdrop-filter: blur(15px) brightness(1.41);
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .cs__banner::before {
    width: 70%;
  }
}
@media screen and (max-width: 767px) {
  .cs__banner::before {
    width: 100%;
    display: none;
  }
}
.cs__container {
  width: 100%;
  padding: 0 4%;
  margin: 0 auto;
  max-width: calc(1140px + 8%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-inline: 25px;
}
@media screen and (max-width: 767px) {
  .cs__container {
    max-width: 100%;
    padding-inline: 6%;
  }
}
.cs__banner-content {
  width: 50%;
  height: 354px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .cs__banner-content {
    width: 90%;
  }
}
@media screen and (max-width: 767px) {
  .cs__banner-content {
    width: 100%;
    padding-top: 10px;
  }
}
.cs__banner-head, .cs__banner-desc {
  color: #000;
}
.cs__banner-head {
  font-family: "Noto Serif JP", serif;
  font-size: 3.2rem;
  margin-bottom: 33px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .cs__banner-head {
    font-size: 24px;
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 767px) {
  .cs__banner-head {
    font-size: 40px;
    margin-bottom: 38.6px;
  }
}
.cs__banner-desc {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.3333333333em;
}
@media screen and (max-width: 767px) {
  .cs__banner-desc {
    font-size: 14px;
    line-height: 2em;
  }
}
.cs__main {
  padding-block: 140px 415px;
  background: #f5f5f5;
}
@media screen and (max-width: 767px) {
  .cs__main {
    padding-block: 85px 207.5px;
  }
}
.cs__case-list {
  counter-reset: csCase;
  display: grid;
  gap: 100px;
}
@media screen and (max-width: 767px) {
  .cs__case-list {
    gap: 50px;
  }
}
.cs__case-item-wrapper {
  position: relative;
}
.cs__case-item-wrapper:has(.cs__case-item.active)::before {
  pointer-events: none;
  opacity: 0;
}
.cs__case-item-wrapper::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(100% - 20px);
  height: 420px;
  pointer-events: none;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(40%, #fff), to(#fff));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, #fff 40%, #fff 100%);
  z-index: 1;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .cs__case-item-wrapper::before {
    height: 320px;
  }
}
.cs__case-item-wrapper::after {
  position: absolute;
  counter-increment: csCase;
  content: "Case " counter(csCase);
  top: 0;
  right: 44px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-family: "Futura Book", sans-serif;
  font-weight: 300;
  font-style: italic;
  font-size: 7.2rem;
  line-height: 0.9166666667em;
  color: #a51306;
}
@media screen and (max-width: 767px) {
  .cs__case-item-wrapper::after {
    font-size: 49px;
    line-height: 1.0888888889em;
    right: 6%;
  }
}
.cs__case-item {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  max-height: 1013px;
  overflow: hidden;
  border-left: 20px solid #a51306;
  border-radius: 12px;
  padding: 70px 90px 0 70px;
  background: #fff;
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
}
@media screen and (max-width: 767px) {
  .cs__case-item {
    max-height: 1415px;
    padding: 63px 8% 100px 6%;
    border-left-width: 10px;
  }
}
.cs__case-item.active {
  padding-bottom: 256px;
}
@media screen and (max-width: 767px) {
  .cs__case-item.active {
    padding-bottom: 200px;
  }
}
.cs__case-item--bluegreen {
  border-color: #82d9be;
}
.cs__case-item--purple {
  border-color: #e19ee6;
}
.cs__case-item--skyblue {
  border-color: #82c2d9;
}
.cs__case-item--blue {
  border-color: #82a7d9;
}
.cs__case-item--yellowgreen {
  border-color: #d9cc82;
}
.cs__case-item--red {
  border-color: #d98282;
}
@media screen and (max-width: 767px) {
  .cs__case-image {
    width: 80%;
    margin: 0 auto;
  }
}
.cs__case-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 70px;
  margin-bottom: 38.8px;
}
@media screen and (max-width: 1200px) {
  .cs__case-top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .cs__case-top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 28px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.cs__case-info-wrapper {
  padding-left: 13px;
}
.cs__case-main-heading {
  font-size: 3.3rem;
  font-weight: 500;
  line-height: 1.5151515152em;
}
@media screen and (max-width: 767px) {
  .cs__case-main-heading {
    font-size: 24px;
    line-height: 1.6666666667em;
  }
}
.cs__case-department {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5em;
  margin-block: 29px 32px;
}
@media screen and (max-width: 767px) {
  .cs__case-department {
    font-size: 16px;
    line-height: 1.875em;
    margin-block: 25px 17px;
  }
}
.cs__case-initials {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 26px;
  font-weight: 300;
  font-size: 1.8rem;
  line-height: 1.6666666667em;
}
@media screen and (max-width: 767px) {
  .cs__case-initials {
    font-size: 14px;
    line-height: 2.1428571429em;
  }
}
.cs__case-initials .large {
  font-size: 4.6rem;
  line-height: 1em;
}
@media screen and (max-width: 767px) {
  .cs__case-initials .large {
    font-size: 30px;
  }
}
.cs__case-steps {
  display: grid;
  gap: 10px;
  margin-bottom: 60.2px;
}
@media screen and (max-width: 767px) {
  .cs__case-steps {
    margin-bottom: 49.8px;
  }
}
.cs__note {
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .cs__note {
    font-size: 9px;
  }
}
.cs__case-step-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.6rem;
  background: #e8e8e8;
}
@media screen and (max-width: 1200px) {
  .cs__case-step-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .cs__case-step-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: 12px;
    line-height: 2em;
  }
}
.cs__case-step-row dt,
.cs__case-step-row dd {
  padding-block: 9.1px 7.9px;
}
.cs__case-step-row dt {
  width: 188.65px;
  background: #a51306;
  font-weight: 700;
  color: #fff;
  padding-inline: 24.5px;
  -webkit-clip-path: polygon(0% 0%, 86.11% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(0% 0%, 86.11% 0%, 100% 100%, 0% 100%);
}
@media screen and (max-width: 767px) {
  .cs__case-step-row dt {
    width: 150px;
    padding-block: 7.3px 7.7px;
    padding-inline: 13px;
  }
}
.cs__case-step-row dd {
  padding-inline: 23.9px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .cs__case-step-row dd {
    padding-inline: 13px;
    padding-block: 11.6px 16.4px;
  }
}
.cs__case-description {
  font-size: 1.8rem;
  line-height: 2.1111111111em;
}
@media screen and (max-width: 767px) {
  .cs__case-description {
    font-size: 14px;
    line-height: 2em;
  }
}
.cs__case-subheading {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.3636363636em;
  color: #a51306;
  margin-block: 69px 30px;
}
@media screen and (max-width: 767px) {
  .cs__case-subheading {
    font-size: 20px;
  }
}
.cs__button {
  position: absolute;
  left: 50%;
  bottom: 100px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-family: "Futura Book", sans-serif;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.56em;
  min-width: 350px;
  min-height: 70px;
  border: 1px solid #a2a2a2;
  background: #fff;
  color: #a51306;
  border-radius: 35px;
  z-index: 2;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .cs__button {
    min-width: 270px;
    min-height: 54px;
    font-size: 16px;
    line-height: 1.5625em;
  }
}
.cs__button::after {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  position: absolute;
  right: 21px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: center/contain no-repeat url('../public/img/icons/arrow-down.svg');
}
@media screen and (max-width: 767px) {
  .cs__button::after {
    width: 20.88px;
    height: 20.88px;
  }
}
@media screen and (max-width: 767px) {
  .cs__button.active {
    bottom: 59.8px;
  }
}
.cs__button.active::after {
  -webkit-transform: translateY(-50%) scaleY(-1);
          transform: translateY(-50%) scaleY(-1);
}

.our-work__banner {
  width: 100%;
  height: 675px;
  background: url('../public/img/our-work/banner.jpg') center/cover no-repeat;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .our-work__banner {
    background: url('../public/img/our-work/banner-sp.jpg') center/cover no-repeat;
    height: 330px;
  }
}
.our-work__container {
  width: 100%;
  padding: 0 4%;
  margin: 0 auto;
  max-width: calc(1140px + 8%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .our-work__container {
    max-width: 100%;
    padding-inline: 6%;
  }
}
@media screen and (max-width: 767px) {
  .our-work__container--p0 {
    padding-inline: 0;
  }
}
.our-work__banner-head {
  font: 700 4.4rem "Noto Serif JP", serif;
  margin-bottom: 54px;
}
@media screen and (max-width: 767px) {
  .our-work__banner-head {
    font-size: 26px;
  }
}
.our-work__banner-desc {
  font-size: 1.6rem;
  font-weight: 500;
  color: #000;
  line-height: 2.125em;
}
@media screen and (max-width: 767px) {
  .our-work__banner-desc {
    font-size: 14px;
    line-height: 2em;
    text-align: center;
    margin-bottom: 100px;
  }
}
.our-work__wrapper {
  background-color: #e6eff7;
  padding-block: 170px 300px;
}
@media screen and (max-width: 767px) {
  .our-work__wrapper {
    padding-block: 57px 235px;
  }
}
.our-work__wrap:not(:last-child) {
  margin-bottom: 240px;
}
@media screen and (max-width: 767px) {
  .our-work__wrap:not(:last-child) {
    margin-bottom: 217px;
  }
}
.our-work__head {
  font: 700 3rem "Noto Serif JP", serif;
  letter-spacing: 0.06em;
  line-height: 1.6666666667em;
  text-align: center;
  display: block;
  margin-bottom: 110px;
}
@media screen and (max-width: 767px) {
  .our-work__head {
    font-size: 22px;
    margin-bottom: 60px;
  }
}
.our-work__head--mb76 {
  margin-bottom: 76px;
}
@media screen and (max-width: 767px) {
  .our-work__head--mb76 {
    margin-bottom: 50px;
  }
}
.our-work__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 240px;
}
@media screen and (max-width: 767px) {
  .our-work__block {
    margin-bottom: 0;
  }
}
.our-work__block-wrap {
  width: calc(50% - 128px);
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .our-work__block-wrap {
    width: calc(50% - 75px);
  }
}
@media screen and (max-width: 767px) {
  .our-work__block-wrap {
    width: calc(100% - 130px);
  }
}
.our-work__block-wrap--w256 {
  width: 256px;
  background-color: #fff;
  margin-top: 80px;
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .our-work__block-wrap--w256 {
    width: 150px;
  }
}
@media screen and (max-width: 767px) {
  .our-work__block-wrap--w256 {
    width: 130px;
    margin-top: 0;
  }
}
.our-work__block-wrap--w256::before {
  content: "";
  width: 100%;
  height: 98px;
  background-color: #fff;
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
          clip-path: polygon(50% 100%, 0 0, 100% 0);
  position: absolute;
  left: 0;
  bottom: -98px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .our-work__block-wrap--w256::before {
    height: 60px;
    bottom: -60px;
  }
}
@media screen and (max-width: 767px) {
  .our-work__block-wrap--w256::before {
    height: 44px;
    bottom: -44px;
  }
}
.our-work__block-wrap--w256 .our-work__block-item {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.our-work__block-wrap--w256 .our-work__block-item:last-child {
  border-bottom: 0;
}
.our-work__block-table {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.our-work__block-table:not(:last-child) {
  margin-bottom: 120px;
}
.our-work__block-head {
  width: 220px;
  height: 45px;
  background-color: #a51913;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  line-height: 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto 35px;
}
@media screen and (max-width: 767px) {
  .our-work__block-head {
    margin-bottom: 30px;
  }
}
.our-work__block-list {
  border-top: 1px solid #a51913;
  position: relative;
}
.our-work__block-list--bg01::before, .our-work__block-list--bg02::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.7);
  position: absolute;
  top: 0;
  left: 0;
}
.our-work__block-list--bg01 {
  background: url('../public/img/our-work/bg01.jpg') center/cover no-repeat;
}
.our-work__block-list--bg02 {
  background: url('../public/img/our-work/bg02.jpg') center/cover no-repeat;
}
.our-work__block-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #a51913;
  position: relative;
  z-index: 2;
  padding: 15px 4%;
}
@media screen and (max-width: 1024px) {
  .our-work__block-item {
    padding: 40px 28px;
  }
}
.our-work__block-item p {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 2em;
  width: 100%;
  max-width: 380px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .our-work__block-item p {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .our-work__block-item p {
    font-size: 10px;
  }
}
.our-work__block-item span {
  font-size: 1.6rem;
  font-weight: 700;
  display: block;
  text-align: center;
  color: #a51913;
}
@media screen and (max-width: 767px) {
  .our-work__block-item span {
    font-size: 14px;
  }
}
.our-work__block-item--h314 {
  height: 314px;
}
@media screen and (max-width: 767px) {
  .our-work__block-item--h314 {
    height: 289px;
  }
}
.our-work__block-item--h160 {
  height: 160px;
}
@media screen and (max-width: 767px) {
  .our-work__block-item--h160 {
    height: 150px;
  }
}
.our-work__block-item--h185 {
  height: 185px;
}
@media screen and (max-width: 767px) {
  .our-work__block-item--h185 {
    height: 130px;
  }
}
.our-work__block-item--h137 {
  height: 137px;
}
@media screen and (max-width: 767px) {
  .our-work__block-item--h137 {
    height: 130px;
  }
}
.our-work__service {
  width: 100%;
  background-color: #fff;
  padding-block: 124px 111px;
}
@media screen and (max-width: 767px) {
  .our-work__service {
    padding-block: 55px 50px;
  }
}
.our-work__service-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 1024px) {
  .our-work__service-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 53px;
  }
}
@media screen and (max-width: 767px) {
  .our-work__service-item--mb40 {
    margin-bottom: 40px !important;
  }
}
.our-work__service-item:nth-child(odd) {
  padding-right: 78px;
}
@media screen and (max-width: 1024px) {
  .our-work__service-item:nth-child(odd) {
    padding-right: 6%;
  }
}
.our-work__service-item:nth-child(odd) .our-work__service-title {
  padding: 20px 52px 24px 79px;
}
@media screen and (max-width: 1024px) {
  .our-work__service-item:nth-child(odd) .our-work__service-title {
    padding: 0 6% 25px;
  }
}
.our-work__service-item:nth-child(odd) .our-work__service-desc {
  padding-inline: 79px 52px;
}
@media screen and (max-width: 1024px) {
  .our-work__service-item:nth-child(odd) .our-work__service-desc {
    padding-inline: 6% 0;
  }
}
.our-work__service-item:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  padding-left: 78px;
}
@media screen and (max-width: 1024px) {
  .our-work__service-item:nth-child(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-inline: 0 6%;
  }
}
.our-work__service-item:nth-child(even) .our-work__service-title {
  padding: 20px 79px 24px 52px;
}
@media screen and (max-width: 1024px) {
  .our-work__service-item:nth-child(even) .our-work__service-title {
    padding: 0 6% 25px;
  }
}
.our-work__service-item:nth-child(even) .our-work__service-desc {
  padding-inline: 52px 79px;
}
@media screen and (max-width: 1024px) {
  .our-work__service-item:nth-child(even) .our-work__service-desc {
    padding-inline: 6% 0;
  }
}
.our-work__service-item:not(:last-child) {
  margin-bottom: 123px;
}
@media screen and (max-width: 767px) {
  .our-work__service-item:not(:last-child) {
    margin-bottom: 75px;
  }
}
.our-work__service-content {
  width: calc(100% - 570px);
}
@media screen and (max-width: 1024px) {
  .our-work__service-content {
    width: 100%;
  }
}
.our-work__service-content--mt80 {
  margin-top: 80px;
}
@media screen and (max-width: 1024px) {
  .our-work__service-content--mt80 {
    margin-top: 0;
  }
}
.our-work__service-title {
  font-size: 2.6rem;
  font-weight: 700;
  display: block;
  border-bottom: 2px solid #a51913;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .our-work__service-title {
    font-size: 22px;
    margin-bottom: 29px;
  }
}
.our-work__service-desc {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .our-work__service-desc {
    font-size: 14px;
  }
}
.our-work__service-img-wrap {
  width: 570px;
}
@media screen and (max-width: 1024px) {
  .our-work__service-img-wrap {
    width: 100%;
    padding-left: 6%;
  }
}
.our-work__service-img {
  width: 100%;
  height: 340px;
}
@media screen and (max-width: 767px) {
  .our-work__service-img {
    height: auto;
    aspect-ratio: 325/194;
  }
}
.our-work__materials {
  margin-top: 108px;
}
@media screen and (max-width: 767px) {
  .our-work__materials {
    margin-top: 73px;
  }
}
.our-work__desc {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  line-height: 2em;
  margin-bottom: 140px;
}
@media screen and (max-width: 767px) {
  .our-work__desc {
    font-size: 14px;
    margin-bottom: 172px;
  }
}
.our-work__material-item {
  margin-bottom: 18px;
}
.our-work__material-desc {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.6666666667em;
  padding-inline: 16px;
}
.our-work__ship-wrap {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (max-width: 1024px) {
  .our-work__ship-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    position: relative;
  }
}
.our-work__ship-wrap--01 {
  margin-bottom: 257px;
}
@media screen and (max-width: 1024px) {
  .our-work__ship-wrap--01 {
    margin-bottom: 190px;
  }
}
.our-work__ship-wrap--01 .our-work__ship-content {
  padding-top: 169px;
}
@media screen and (max-width: 1024px) {
  .our-work__ship-wrap--01 .our-work__ship-content {
    padding-top: 35px;
  }
}
.our-work__ship-wrap--01 .our-work__ship-head {
  width: 487px;
  height: 279px;
  top: -94px;
}
@media screen and (max-width: 1024px) {
  .our-work__ship-wrap--01 .our-work__ship-head {
    width: 100%;
    max-width: 264px;
    height: 151px;
    top: -124px;
  }
}
.our-work__ship-wrap--02 {
  margin-bottom: 237px;
}
@media screen and (max-width: 1024px) {
  .our-work__ship-wrap--02 {
    margin-bottom: 257px;
  }
}
.our-work__ship-wrap--02 .our-work__ship-content {
  padding-top: 150px;
}
@media screen and (max-width: 1024px) {
  .our-work__ship-wrap--02 .our-work__ship-content {
    padding-top: 35px;
  }
}
.our-work__ship-wrap--02 .our-work__ship-head {
  width: 724px;
  height: 326px;
  top: -188px;
}
@media screen and (max-width: 1024px) {
  .our-work__ship-wrap--02 .our-work__ship-head {
    width: 100%;
    max-width: 370px;
    height: 171px;
    top: -124px;
  }
}
.our-work__ship-wrap--03 {
  margin-bottom: 272px;
}
@media screen and (max-width: 1024px) {
  .our-work__ship-wrap--03 {
    margin-bottom: 357px;
  }
}
.our-work__ship-wrap--03 .our-work__ship-content {
  padding-top: 117px;
}
@media screen and (max-width: 1024px) {
  .our-work__ship-wrap--03 .our-work__ship-content {
    padding-top: 35px;
  }
}
.our-work__ship-wrap--03 .our-work__ship-head {
  width: 660px;
  height: 335px;
  top: -205px;
}
@media screen and (max-width: 1024px) {
  .our-work__ship-wrap--03 .our-work__ship-head {
    width: 100%;
    max-width: 354px;
    height: 173px;
    top: -181px;
  }
}
.our-work__ship-wrap--04 {
  margin-bottom: 321px;
}
@media screen and (max-width: 1024px) {
  .our-work__ship-wrap--04 {
    margin-bottom: 277px;
  }
}
.our-work__ship-wrap--04 .our-work__ship-content {
  padding-top: 90px;
}
@media screen and (max-width: 1024px) {
  .our-work__ship-wrap--04 .our-work__ship-content {
    padding-top: 35px;
  }
}
.our-work__ship-wrap--04 .our-work__ship-head {
  width: 904px;
  height: 335px;
  top: -229px;
}
@media screen and (max-width: 1024px) {
  .our-work__ship-wrap--04 .our-work__ship-head {
    width: 100%;
    max-width: 370px;
    height: 240px;
    top: -240px;
  }
}
.our-work__ship-wrap--05 .our-work__ship-content {
  padding-top: 70px;
}
@media screen and (max-width: 1024px) {
  .our-work__ship-wrap--05 .our-work__ship-content {
    padding-top: 35px;
  }
}
.our-work__ship-wrap--05 .our-work__ship-head {
  width: 692px;
  height: 335px;
  top: -253px;
}
@media screen and (max-width: 1024px) {
  .our-work__ship-wrap--05 .our-work__ship-head {
    width: 100%;
    max-width: 355px;
    height: 185px;
    top: -185px;
  }
}
.our-work__ship-content {
  position: relative;
}
@media screen and (max-width: 1024px) {
  .our-work__ship-content {
    width: 100%;
    padding-inline: 6%;
  }
}
.our-work__ship-head {
  max-width: unset;
  position: absolute;
  left: -20px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 1024px) {
  .our-work__ship-head {
    left: 0;
  }
}
.our-work__ship-detail {
  width: 100%;
  max-width: 376px;
  margin-right: 114px;
}
.our-work__ship-title {
  font-size: 2rem;
  font-weight: 700;
  color: #a51913;
  display: block;
  margin-bottom: 18px;
}
@media screen and (max-width: 767px) {
  .our-work__ship-title {
    font-size: 22px;
  }
}
.our-work__ship-desc {
  font-size: 1.6rem;
  font-weight: 500;
  color: #000;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .our-work__ship-desc {
    font-size: 14px;
  }
}
.our-work__ship-img {
  width: 50%;
  height: auto;
  aspect-ratio: 750/447;
}
@media screen and (max-width: 1024px) {
  .our-work__ship-img {
    width: 94%;
  }
}

.overflow {
  overflow: hidden;
}

.pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

.pc-inline {
  display: inline;
}
@media screen and (max-width: 767px) {
  .pc-inline {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}

.pc-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .pc-flex {
    display: none;
  }
}

.sp-flex {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.tablet {
  display: none;
}
@media screen and (max-width: 1200px) {
  .tablet {
    display: block;
  }
}

.tablet-flex {
  display: none;
}
@media screen and (max-width: 1200px) {
  .tablet-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (max-width: 1200px) {
  .tablet-none {
    display: none;
  }
}

.pc-tablet {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 1024px) {
  .pc-tablet {
    display: none;
  }
}

.sp-tablet {
  display: none;
}
@media screen and (max-width: 1024px) {
  .sp-tablet {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.pc-tablet-display {
  display: block;
}
@media screen and (max-width: 767px) {
  .pc-tablet-display {
    display: none;
  }
}

.nowrap {
  white-space: nowrap;
}

.bold {
  font-weight: 700;
}

[data-anima] {
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

[data-anima=reveal-right] {
  -webkit-clip-path: inset(0 0 0 100%);
          clip-path: inset(0 0 0 100%);
}
[data-anima=reveal-right].animate {
  -webkit-animation-name: reveal-right;
          animation-name: reveal-right;
}

[data-anima=reveal-right-move] {
  -webkit-clip-path: inset(0 0 0 100%);
          clip-path: inset(0 0 0 100%);
  -webkit-transform: translateX(-20px);
          transform: translateX(-20px);
}
[data-anima=reveal-right-move].animate {
  -webkit-animation-name: reveal-right-move;
          animation-name: reveal-right-move;
}

[data-anima=slide-up] {
  opacity: 0;
  -webkit-transform: translateY(20%);
          transform: translateY(20%);
}
[data-anima=slide-up].animate {
  -webkit-animation-name: slide-up;
          animation-name: slide-up;
}

[data-anima=fade-in] {
  opacity: 0;
}
[data-anima=fade-in].animate {
  -webkit-animation-name: fade-in;
          animation-name: fade-in;
}

[data-anima=reveal-down] {
  -webkit-clip-path: inset(0 0 100% 0);
          clip-path: inset(0 0 100% 0);
}
[data-anima=reveal-down].animate {
  -webkit-animation-name: reveal-down;
          animation-name: reveal-down;
}

[data-anima=slide-right] {
  opacity: 0;
  -webkit-transform: translateX(-20%);
          transform: translateX(-20%);
}
[data-anima=slide-right].animate {
  -webkit-animation-name: slide-right;
          animation-name: slide-right;
}

@-webkit-keyframes reveal-down {
  from {
    -webkit-clip-path: inset(0 0 100% 0);
            clip-path: inset(0 0 100% 0);
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}

@keyframes reveal-down {
  from {
    -webkit-clip-path: inset(0 0 100% 0);
            clip-path: inset(0 0 100% 0);
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
@-webkit-keyframes reveal-right {
  from {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
@keyframes reveal-right {
  from {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
@-webkit-keyframes reveal-right-move {
  from {
    -webkit-transform: translateX(-5%);
            transform: translateX(-5%);
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
@keyframes reveal-right-move {
  from {
    -webkit-transform: translateX(-5%);
            transform: translateX(-5%);
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
@-webkit-keyframes slide-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20%);
            transform: translateX(-20%);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
@keyframes slide-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20%);
            transform: translateX(-20%);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
@-webkit-keyframes slide-up {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20%);
            transform: translateY(20%);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
@keyframes slide-up {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20%);
            transform: translateY(20%);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes pulse {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgba(165, 25, 19, 0.7);
            box-shadow: 0 0 0 0 rgba(165, 25, 19, 0.7);
  }
  70% {
    -webkit-box-shadow: 0 0 0 10px rgba(165, 25, 19, 0);
            box-shadow: 0 0 0 10px rgba(165, 25, 19, 0);
  }
  100% {
    -webkit-box-shadow: 0 0 0 0 rgba(165, 25, 19, 0);
            box-shadow: 0 0 0 0 rgba(165, 25, 19, 0);
  }
}
@keyframes pulse {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgba(165, 25, 19, 0.7);
            box-shadow: 0 0 0 0 rgba(165, 25, 19, 0.7);
  }
  70% {
    -webkit-box-shadow: 0 0 0 10px rgba(165, 25, 19, 0);
            box-shadow: 0 0 0 10px rgba(165, 25, 19, 0);
  }
  100% {
    -webkit-box-shadow: 0 0 0 0 rgba(165, 25, 19, 0);
            box-shadow: 0 0 0 0 rgba(165, 25, 19, 0);
  }
}
@-webkit-keyframes tab-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(40px);
            transform: translateX(40px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes tab-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(40px);
            transform: translateX(40px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes tab-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-40px);
            transform: translateX(-40px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes tab-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-40px);
            transform: translateX(-40px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes line-move {
  0% {
    height: 0;
    bottom: 100%;
  }
  50% {
    height: 100%;
    bottom: 0;
  }
  100% {
    height: 0;
    bottom: 0;
  }
}
@keyframes line-move {
  0% {
    height: 0;
    bottom: 100%;
  }
  50% {
    height: 100%;
    bottom: 0;
  }
  100% {
    height: 0;
    bottom: 0;
  }
}
.interview-detail .splide__pagination {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 270px;
}
@media screen and (max-width: 767px) {
  .interview-detail .splide__pagination {
    width: 190px;
  }
}
.interview-detail .splide__pagination__page {
  margin: 0;
  border-radius: 0;
  width: 100%;
  background: #eaeaea;
  height: 3px;
}
.interview-detail .splide__pagination__page.is-active {
  -webkit-transform: scale(1);
          transform: scale(1);
  background: #a51306;
}

/* stylelint-disable */
.hamburger-inner::after {
  display: none !important;
}

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 0 0;
  display: inline-block;
  cursor: pointer;
  -webkit-transition-property: opacity, -webkit-filter;
  transition-property: opacity, -webkit-filter;
  transition-property: opacity, filter;
  transition-property: opacity, filter, -webkit-filter;
  -webkit-transition-duration: 0.15s;
          transition-duration: 0.15s;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
}
.hamburger:hover {
  opacity: 0.7;
}
.hamburger.is-active:hover {
  opacity: 0.7;
}
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
  background-color: #000;
}

.hamburger-box {
  width: 38px;
  height: 15px;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -0.5px;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 38px;
  height: 1px;
  background-color: #000;
  border-radius: 4px;
  position: absolute;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 0.15s;
          transition-duration: 0.15s;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
}
.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block;
}
.hamburger-inner::before {
  top: -7px;
}
.hamburger-inner::after {
  bottom: -7px;
}

/*
 * 3DX
 */
.hamburger--3dx .hamburger-box {
  -webkit-perspective: 76px;
          perspective: 76px;
}
.hamburger--3dx .hamburger-inner {
  -webkit-transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dx .hamburger-inner::before, .hamburger--3dx .hamburger-inner::after {
  -webkit-transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dx.is-active .hamburger-inner {
  background-color: transparent !important;
  -webkit-transform: rotateY(180deg);
          transform: rotateY(180deg);
}
.hamburger--3dx.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(0, 7px, 0) rotate(45deg);
          transform: translate3d(0, 7px, 0) rotate(45deg);
}
.hamburger--3dx.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -7px, 0) rotate(-45deg);
          transform: translate3d(0, -7px, 0) rotate(-45deg);
}

/*
 * 3DX Reverse
 */
.hamburger--3dx-r .hamburger-box {
  -webkit-perspective: 76px;
          perspective: 76px;
}
.hamburger--3dx-r .hamburger-inner {
  -webkit-transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dx-r .hamburger-inner::before, .hamburger--3dx-r .hamburger-inner::after {
  -webkit-transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dx-r.is-active .hamburger-inner {
  background-color: transparent !important;
  -webkit-transform: rotateY(-180deg);
          transform: rotateY(-180deg);
}
.hamburger--3dx-r.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(0, 7px, 0) rotate(45deg);
          transform: translate3d(0, 7px, 0) rotate(45deg);
}
.hamburger--3dx-r.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -7px, 0) rotate(-45deg);
          transform: translate3d(0, -7px, 0) rotate(-45deg);
}

/*
 * 3DY
 */
.hamburger--3dy .hamburger-box {
  -webkit-perspective: 76px;
          perspective: 76px;
}
.hamburger--3dy .hamburger-inner {
  -webkit-transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dy .hamburger-inner::before, .hamburger--3dy .hamburger-inner::after {
  -webkit-transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dy.is-active .hamburger-inner {
  background-color: transparent !important;
  -webkit-transform: rotateX(-180deg);
          transform: rotateX(-180deg);
}
.hamburger--3dy.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(0, 7px, 0) rotate(45deg);
          transform: translate3d(0, 7px, 0) rotate(45deg);
}
.hamburger--3dy.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -7px, 0) rotate(-45deg);
          transform: translate3d(0, -7px, 0) rotate(-45deg);
}

/*
 * 3DY Reverse
 */
.hamburger--3dy-r .hamburger-box {
  -webkit-perspective: 76px;
          perspective: 76px;
}
.hamburger--3dy-r .hamburger-inner {
  -webkit-transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dy-r .hamburger-inner::before, .hamburger--3dy-r .hamburger-inner::after {
  -webkit-transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dy-r.is-active .hamburger-inner {
  background-color: transparent !important;
  -webkit-transform: rotateX(180deg);
          transform: rotateX(180deg);
}
.hamburger--3dy-r.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(0, 7px, 0) rotate(45deg);
          transform: translate3d(0, 7px, 0) rotate(45deg);
}
.hamburger--3dy-r.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -7px, 0) rotate(-45deg);
          transform: translate3d(0, -7px, 0) rotate(-45deg);
}

/*
 * 3DXY
 */
.hamburger--3dxy .hamburger-box {
  -webkit-perspective: 76px;
          perspective: 76px;
}
.hamburger--3dxy .hamburger-inner {
  -webkit-transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dxy .hamburger-inner::before, .hamburger--3dxy .hamburger-inner::after {
  -webkit-transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dxy.is-active .hamburger-inner {
  background-color: transparent !important;
  -webkit-transform: rotateX(180deg) rotateY(180deg);
          transform: rotateX(180deg) rotateY(180deg);
}
.hamburger--3dxy.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(0, 7px, 0) rotate(45deg);
          transform: translate3d(0, 7px, 0) rotate(45deg);
}
.hamburger--3dxy.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -7px, 0) rotate(-45deg);
          transform: translate3d(0, -7px, 0) rotate(-45deg);
}

/*
 * 3DXY Reverse
 */
.hamburger--3dxy-r .hamburger-box {
  -webkit-perspective: 76px;
          perspective: 76px;
}
.hamburger--3dxy-r .hamburger-inner {
  -webkit-transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dxy-r .hamburger-inner::before, .hamburger--3dxy-r .hamburger-inner::after {
  -webkit-transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dxy-r.is-active .hamburger-inner {
  background-color: transparent !important;
  -webkit-transform: rotateX(180deg) rotateY(180deg) rotateZ(-180deg);
          transform: rotateX(180deg) rotateY(180deg) rotateZ(-180deg);
}
.hamburger--3dxy-r.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(0, 7px, 0) rotate(45deg);
          transform: translate3d(0, 7px, 0) rotate(45deg);
}
.hamburger--3dxy-r.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -7px, 0) rotate(-45deg);
          transform: translate3d(0, -7px, 0) rotate(-45deg);
}

/*
 * Arrow
 */
.hamburger--arrow.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(-7.6px, 0, 0) rotate(-45deg) scale(0.7, 1);
          transform: translate3d(-7.6px, 0, 0) rotate(-45deg) scale(0.7, 1);
}
.hamburger--arrow.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(-7.6px, 0, 0) rotate(45deg) scale(0.7, 1);
          transform: translate3d(-7.6px, 0, 0) rotate(45deg) scale(0.7, 1);
}

/*
 * Arrow Right
 */
.hamburger--arrow-r.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(7.6px, 0, 0) rotate(45deg) scale(0.7, 1);
          transform: translate3d(7.6px, 0, 0) rotate(45deg) scale(0.7, 1);
}
.hamburger--arrow-r.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(7.6px, 0, 0) rotate(-45deg) scale(0.7, 1);
          transform: translate3d(7.6px, 0, 0) rotate(-45deg) scale(0.7, 1);
}

/*
 * Arrow Alt
 */
.hamburger--arrowalt .hamburger-inner::before {
  -webkit-transition: top 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: top 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.hamburger--arrowalt .hamburger-inner::after {
  -webkit-transition: bottom 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: bottom 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.hamburger--arrowalt.is-active .hamburger-inner::before {
  top: 0;
  -webkit-transform: translate3d(-7.6px, -9.5px, 0) rotate(-45deg) scale(0.7, 1);
          transform: translate3d(-7.6px, -9.5px, 0) rotate(-45deg) scale(0.7, 1);
  -webkit-transition: top 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: top 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}
.hamburger--arrowalt.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: translate3d(-7.6px, 9.5px, 0) rotate(45deg) scale(0.7, 1);
          transform: translate3d(-7.6px, 9.5px, 0) rotate(45deg) scale(0.7, 1);
  -webkit-transition: bottom 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: bottom 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

/*
 * Arrow Alt Right
 */
.hamburger--arrowalt-r .hamburger-inner::before {
  -webkit-transition: top 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: top 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.hamburger--arrowalt-r .hamburger-inner::after {
  -webkit-transition: bottom 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: bottom 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.hamburger--arrowalt-r.is-active .hamburger-inner::before {
  top: 0;
  -webkit-transform: translate3d(7.6px, -9.5px, 0) rotate(45deg) scale(0.7, 1);
          transform: translate3d(7.6px, -9.5px, 0) rotate(45deg) scale(0.7, 1);
  -webkit-transition: top 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: top 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}
.hamburger--arrowalt-r.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: translate3d(7.6px, 9.5px, 0) rotate(-45deg) scale(0.7, 1);
          transform: translate3d(7.6px, 9.5px, 0) rotate(-45deg) scale(0.7, 1);
  -webkit-transition: bottom 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: bottom 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

/*
 * Arrow Turn
 */
.hamburger--arrowturn.is-active .hamburger-inner {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}
.hamburger--arrowturn.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1);
          transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1);
}
.hamburger--arrowturn.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1);
          transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1);
}

/*
 * Arrow Turn Right
 */
.hamburger--arrowturn-r.is-active .hamburger-inner {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}
.hamburger--arrowturn-r.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1);
          transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1);
}
.hamburger--arrowturn-r.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1);
          transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1);
}

/*
 * Boring
 */
.hamburger--boring .hamburger-inner, .hamburger--boring .hamburger-inner::before, .hamburger--boring .hamburger-inner::after {
  -webkit-transition-property: none;
  transition-property: none;
}
.hamburger--boring.is-active .hamburger-inner {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.hamburger--boring.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
}
.hamburger--boring.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

/*
 * Collapse
 */
.hamburger--collapse .hamburger-inner {
  top: auto;
  bottom: 0;
  -webkit-transition-duration: 0.13s;
          transition-duration: 0.13s;
  -webkit-transition-delay: 0.13s;
          transition-delay: 0.13s;
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
          transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--collapse .hamburger-inner::after {
  top: -14px;
  -webkit-transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}
.hamburger--collapse .hamburger-inner::before {
  -webkit-transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--collapse.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, -7px, 0) rotate(-45deg);
          transform: translate3d(0, -7px, 0) rotate(-45deg);
  -webkit-transition-delay: 0.22s;
          transition-delay: 0.22s;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
          transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--collapse.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  -webkit-transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
}
.hamburger--collapse.is-active .hamburger-inner::before {
  top: 0;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  -webkit-transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Collapse Reverse
 */
.hamburger--collapse-r .hamburger-inner {
  top: auto;
  bottom: 0;
  -webkit-transition-duration: 0.13s;
          transition-duration: 0.13s;
  -webkit-transition-delay: 0.13s;
          transition-delay: 0.13s;
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
          transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--collapse-r .hamburger-inner::after {
  top: -14px;
  -webkit-transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}
.hamburger--collapse-r .hamburger-inner::before {
  -webkit-transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--collapse-r.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, -7px, 0) rotate(45deg);
          transform: translate3d(0, -7px, 0) rotate(45deg);
  -webkit-transition-delay: 0.22s;
          transition-delay: 0.22s;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
          transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--collapse-r.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  -webkit-transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
}
.hamburger--collapse-r.is-active .hamburger-inner::before {
  top: 0;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Elastic
 */
.hamburger--elastic .hamburger-inner {
  top: 0.5px;
  -webkit-transition-duration: 0.275s;
          transition-duration: 0.275s;
  -webkit-transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
          transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.hamburger--elastic .hamburger-inner::before {
  top: 7px;
  -webkit-transition: opacity 0.125s 0.275s ease;
  transition: opacity 0.125s 0.275s ease;
}
.hamburger--elastic .hamburger-inner::after {
  top: 14px;
  -webkit-transition: -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.hamburger--elastic.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 7px, 0) rotate(135deg);
          transform: translate3d(0, 7px, 0) rotate(135deg);
  -webkit-transition-delay: 0.075s;
          transition-delay: 0.075s;
}
.hamburger--elastic.is-active .hamburger-inner::before {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  opacity: 0;
}
.hamburger--elastic.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -14px, 0) rotate(-270deg);
          transform: translate3d(0, -14px, 0) rotate(-270deg);
  -webkit-transition-delay: 0.075s;
          transition-delay: 0.075s;
}

/*
 * Elastic Reverse
 */
.hamburger--elastic-r .hamburger-inner {
  top: 0.5px;
  -webkit-transition-duration: 0.275s;
          transition-duration: 0.275s;
  -webkit-transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
          transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.hamburger--elastic-r .hamburger-inner::before {
  top: 7px;
  -webkit-transition: opacity 0.125s 0.275s ease;
  transition: opacity 0.125s 0.275s ease;
}
.hamburger--elastic-r .hamburger-inner::after {
  top: 14px;
  -webkit-transition: -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.hamburger--elastic-r.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 7px, 0) rotate(-135deg);
          transform: translate3d(0, 7px, 0) rotate(-135deg);
  -webkit-transition-delay: 0.075s;
          transition-delay: 0.075s;
}
.hamburger--elastic-r.is-active .hamburger-inner::before {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  opacity: 0;
}
.hamburger--elastic-r.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -14px, 0) rotate(270deg);
          transform: translate3d(0, -14px, 0) rotate(270deg);
  -webkit-transition-delay: 0.075s;
          transition-delay: 0.075s;
}

/*
 * Emphatic
 */
.hamburger--emphatic {
  overflow: hidden;
}
.hamburger--emphatic .hamburger-inner {
  -webkit-transition: background-color 0.125s 0.175s ease-in;
  transition: background-color 0.125s 0.175s ease-in;
}
.hamburger--emphatic .hamburger-inner::before {
  left: 0;
  -webkit-transition: top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
  transition: top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
}
.hamburger--emphatic .hamburger-inner::after {
  top: 7px;
  right: 0;
  -webkit-transition: top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
  transition: top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
}
.hamburger--emphatic.is-active .hamburger-inner {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  background-color: transparent !important;
}
.hamburger--emphatic.is-active .hamburger-inner::before {
  left: -76px;
  top: -76px;
  -webkit-transform: translate3d(76px, 76px, 0) rotate(45deg);
          transform: translate3d(76px, 76px, 0) rotate(45deg);
  -webkit-transition: left 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.hamburger--emphatic.is-active .hamburger-inner::after {
  right: -76px;
  top: -76px;
  -webkit-transform: translate3d(-76px, 76px, 0) rotate(-45deg);
          transform: translate3d(-76px, 76px, 0) rotate(-45deg);
  -webkit-transition: right 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

/*
 * Emphatic Reverse
 */
.hamburger--emphatic-r {
  overflow: hidden;
}
.hamburger--emphatic-r .hamburger-inner {
  -webkit-transition: background-color 0.125s 0.175s ease-in;
  transition: background-color 0.125s 0.175s ease-in;
}
.hamburger--emphatic-r .hamburger-inner::before {
  left: 0;
  -webkit-transition: top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
  transition: top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
}
.hamburger--emphatic-r .hamburger-inner::after {
  top: 7px;
  right: 0;
  -webkit-transition: top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
  transition: top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
}
.hamburger--emphatic-r.is-active .hamburger-inner {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  background-color: transparent !important;
}
.hamburger--emphatic-r.is-active .hamburger-inner::before {
  left: -76px;
  top: 76px;
  -webkit-transform: translate3d(76px, -76px, 0) rotate(-45deg);
          transform: translate3d(76px, -76px, 0) rotate(-45deg);
  -webkit-transition: left 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.hamburger--emphatic-r.is-active .hamburger-inner::after {
  right: -76px;
  top: 76px;
  -webkit-transform: translate3d(-76px, -76px, 0) rotate(45deg);
          transform: translate3d(-76px, -76px, 0) rotate(45deg);
  -webkit-transition: right 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

/*
 * Minus
 */
.hamburger--minus .hamburger-inner::before, .hamburger--minus .hamburger-inner::after {
  -webkit-transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear;
  transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear;
}
.hamburger--minus.is-active .hamburger-inner::before, .hamburger--minus.is-active .hamburger-inner::after {
  opacity: 0;
  -webkit-transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear;
  transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear;
}
.hamburger--minus.is-active .hamburger-inner::before {
  top: 0;
}
.hamburger--minus.is-active .hamburger-inner::after {
  bottom: 0;
}

/*
 * Slider
 */
.hamburger--slider .hamburger-inner {
  top: 0.5px;
}
.hamburger--slider .hamburger-inner::before {
  top: 7px;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-duration: 0.15s;
          transition-duration: 0.15s;
}
.hamburger--slider .hamburger-inner::after {
  top: 14px;
}
.hamburger--slider.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 7px, 0) rotate(45deg);
          transform: translate3d(0, 7px, 0) rotate(45deg);
}
.hamburger--slider.is-active .hamburger-inner::before {
  -webkit-transform: rotate(-45deg) translate3d(-5.4285714286px, -6px, 0);
          transform: rotate(-45deg) translate3d(-5.4285714286px, -6px, 0);
  opacity: 0;
}
.hamburger--slider.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -14px, 0) rotate(-90deg);
          transform: translate3d(0, -14px, 0) rotate(-90deg);
}

/*
 * Slider Reverse
 */
.hamburger--slider-r .hamburger-inner {
  top: 0.5px;
}
.hamburger--slider-r .hamburger-inner::before {
  top: 7px;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-duration: 0.15s;
          transition-duration: 0.15s;
}
.hamburger--slider-r .hamburger-inner::after {
  top: 14px;
}
.hamburger--slider-r.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 7px, 0) rotate(-45deg);
          transform: translate3d(0, 7px, 0) rotate(-45deg);
}
.hamburger--slider-r.is-active .hamburger-inner::before {
  -webkit-transform: rotate(45deg) translate3d(5.4285714286px, -6px, 0);
          transform: rotate(45deg) translate3d(5.4285714286px, -6px, 0);
  opacity: 0;
}
.hamburger--slider-r.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -14px, 0) rotate(90deg);
          transform: translate3d(0, -14px, 0) rotate(90deg);
}

/*
 * Spin
 */
.hamburger--spin .hamburger-inner {
  -webkit-transition-duration: 0.22s;
          transition-duration: 0.22s;
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
          transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin .hamburger-inner::before {
  -webkit-transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}
.hamburger--spin .hamburger-inner::after {
  -webkit-transition: bottom 0.1s 0.25s ease-in, -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.1s 0.25s ease-in, -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin.is-active .hamburger-inner {
  -webkit-transform: rotate(225deg);
          transform: rotate(225deg);
  -webkit-transition-delay: 0.12s;
          transition-delay: 0.12s;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
          transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--spin.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  -webkit-transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}
.hamburger--spin.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  -webkit-transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Spin Reverse
 */
.hamburger--spin-r .hamburger-inner {
  -webkit-transition-duration: 0.22s;
          transition-duration: 0.22s;
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
          transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin-r .hamburger-inner::before {
  -webkit-transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}
.hamburger--spin-r .hamburger-inner::after {
  -webkit-transition: bottom 0.1s 0.25s ease-in, -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.1s 0.25s ease-in, -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin-r.is-active .hamburger-inner {
  -webkit-transform: rotate(-225deg);
          transform: rotate(-225deg);
  -webkit-transition-delay: 0.12s;
          transition-delay: 0.12s;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
          transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--spin-r.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  -webkit-transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}
.hamburger--spin-r.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Spring
 */
.hamburger--spring .hamburger-inner {
  top: 0.5px;
  -webkit-transition: background-color 0s 0.13s linear;
  transition: background-color 0s 0.13s linear;
}
.hamburger--spring .hamburger-inner::before {
  top: 7px;
  -webkit-transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spring .hamburger-inner::after {
  top: 14px;
  -webkit-transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spring.is-active .hamburger-inner {
  -webkit-transition-delay: 0.22s;
          transition-delay: 0.22s;
  background-color: transparent !important;
}
.hamburger--spring.is-active .hamburger-inner::before {
  top: 0;
  -webkit-transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transform: translate3d(0, 7px, 0) rotate(45deg);
          transform: translate3d(0, 7px, 0) rotate(45deg);
}
.hamburger--spring.is-active .hamburger-inner::after {
  top: 0;
  -webkit-transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transform: translate3d(0, 7px, 0) rotate(-45deg);
          transform: translate3d(0, 7px, 0) rotate(-45deg);
}

/*
 * Spring Reverse
 */
.hamburger--spring-r .hamburger-inner {
  top: auto;
  bottom: 0;
  -webkit-transition-duration: 0.13s;
          transition-duration: 0.13s;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
          transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spring-r .hamburger-inner::after {
  top: -14px;
  -webkit-transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear;
}
.hamburger--spring-r .hamburger-inner::before {
  -webkit-transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spring-r.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, -7px, 0) rotate(-45deg);
          transform: translate3d(0, -7px, 0) rotate(-45deg);
  -webkit-transition-delay: 0.22s;
          transition-delay: 0.22s;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
          transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--spring-r.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  -webkit-transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear;
}
.hamburger--spring-r.is-active .hamburger-inner::before {
  top: 0;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Stand
 */
.hamburger--stand .hamburger-inner {
  -webkit-transition: background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--stand .hamburger-inner::before {
  -webkit-transition: top 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--stand .hamburger-inner::after {
  -webkit-transition: bottom 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--stand.is-active .hamburger-inner {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  background-color: transparent !important;
  -webkit-transition: background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--stand.is-active .hamburger-inner::before {
  top: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition: top 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--stand.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: bottom 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Stand Reverse
 */
.hamburger--stand-r .hamburger-inner {
  -webkit-transition: background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--stand-r .hamburger-inner::before {
  -webkit-transition: top 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--stand-r .hamburger-inner::after {
  -webkit-transition: bottom 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--stand-r.is-active .hamburger-inner {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  background-color: transparent !important;
  -webkit-transition: background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--stand-r.is-active .hamburger-inner::before {
  top: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition: top 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--stand-r.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: bottom 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Squeeze
 */
.hamburger--squeeze .hamburger-inner {
  -webkit-transition-duration: 0.075s;
          transition-duration: 0.075s;
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
          transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--squeeze .hamburger-inner::before {
  -webkit-transition: top 0.075s 0.12s ease, opacity 0.075s ease;
  transition: top 0.075s 0.12s ease, opacity 0.075s ease;
}
.hamburger--squeeze .hamburger-inner::after {
  -webkit-transition: bottom 0.075s 0.12s ease, -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.12s ease, -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--squeeze.is-active .hamburger-inner {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition-delay: 0.12s;
          transition-delay: 0.12s;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
          transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--squeeze.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  -webkit-transition: top 0.075s ease, opacity 0.075s 0.12s ease;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease;
}
.hamburger--squeeze.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  -webkit-transition: bottom 0.075s ease, -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s ease, -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Vortex
 */
.hamburger--vortex .hamburger-inner {
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
          transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.hamburger--vortex .hamburger-inner::before, .hamburger--vortex .hamburger-inner::after {
  -webkit-transition-duration: 0s;
          transition-duration: 0s;
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}
.hamburger--vortex .hamburger-inner::before {
  -webkit-transition-property: top, opacity;
  transition-property: top, opacity;
}
.hamburger--vortex .hamburger-inner::after {
  -webkit-transition-property: bottom, -webkit-transform;
  transition-property: bottom, -webkit-transform;
  transition-property: bottom, transform;
  transition-property: bottom, transform, -webkit-transform;
}
.hamburger--vortex.is-active .hamburger-inner {
  -webkit-transform: rotate(765deg);
          transform: rotate(765deg);
  -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
          transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.hamburger--vortex.is-active .hamburger-inner::before, .hamburger--vortex.is-active .hamburger-inner::after {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.hamburger--vortex.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
}
.hamburger--vortex.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

/*
 * Vortex Reverse
 */
.hamburger--vortex-r .hamburger-inner {
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
          transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.hamburger--vortex-r .hamburger-inner::before, .hamburger--vortex-r .hamburger-inner::after {
  -webkit-transition-duration: 0s;
          transition-duration: 0s;
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}
.hamburger--vortex-r .hamburger-inner::before {
  -webkit-transition-property: top, opacity;
  transition-property: top, opacity;
}
.hamburger--vortex-r .hamburger-inner::after {
  -webkit-transition-property: bottom, -webkit-transform;
  transition-property: bottom, -webkit-transform;
  transition-property: bottom, transform;
  transition-property: bottom, transform, -webkit-transform;
}
.hamburger--vortex-r.is-active .hamburger-inner {
  -webkit-transform: rotate(-765deg);
          transform: rotate(-765deg);
  -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
          transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.hamburger--vortex-r.is-active .hamburger-inner::before, .hamburger--vortex-r.is-active .hamburger-inner::after {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.hamburger--vortex-r.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
}
.hamburger--vortex-r.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

@font-face {
  font-family: "Futura Book";
  src: url('../public/fonts/Futura-Book-Italic.ttf') format("truetype");
  font-style: italic;
}
@font-face {
  font-family: "Futura PT Medium Oblique";
  src: url('../public/fonts/Futura-PT-Medium-Oblique.otf') format("opentype");
  font-style: italic;
}
@media screen and (max-width: 767px) {
  .hamburger-box,
  .hamburger-inner,
  .hamburger-inner::before,
  .hamburger-inner::after {
    width: 18px;
  }
  .hamburger-inner::before {
    top: -5px;
  }
  .hamburger-inner::after {
    bottom: -5px;
  }
}