@charset "UTF-8";
/*!
Theme Name: 西都｜SAITO
Theme URI: https://antway.co.jp/
Author: shogo yonetani
Author URI: https://panarea.co.jp
Description: 西都｜SAITO
*/
/*Color Management*/
:root {
  /*Uncategorized*/
  --primary: #E83836;
  --primary-90: #E83836e6;
  --primary-20: #E8383633;
  --secondary: #FFFFFF;
  --black: #3E3A39;
  --on-black: #CCCCCC;
  --outline: #D9D9D9;
  --on-primary-line: #FF8C8B;
  --primary-10: #E838361a;
  --orange: #E8592D;
  --yellow: #EA8024;
  /*bg*/
  --bg-gray: #F1F1F1;
  --bg-black: #2B2827;
  --on-primary-fill: #DE1C1A;
  --om-gray-fill: #E5E5E5;
  /*text*/
  --text-on-black: #CCCCCC;
  --text-sub: #3E3A39b3;
  /*overlay*/
  --picture-b-30: #0000004d;
  --picture-b-10: #0000001a;
  --picture-w: #FFFFFF1a;
  --s-font-noto: 'Noto Sans JP';
  --s-font-inter: Inter;
  --fontweight-5: 500;
  --fontweight-6: 600;
  --fontweight-7: 700;
  --fontweight-8: 800;
  --color-text: #3E3A39b3;
  --color-key1: #469ad3;
  --color-key2: #3c86b7;
  --color-key3: #33719a;
  --color-key4: #1f455e;
  --color-key5: #282828;
  --color-white: #fff;
  --color-gray: #757575;
  --color-lightgray: #ecedf0;
  --color-black: #171617;
  --border-light-black: rgba(31,69,94,.205);
  --border-light-white: rgba(255,255,255,.1025); }

/*!レスポンシブ*/
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
  display: block; }

audio, canvas, progress, video {
  display: inline-block;
  vertical-align: baseline; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden], template {
  display: none; }

a {
  background: transparent; }

a:active, a:hover {
  outline: 0; }

abbr[title] {
  border-bottom: 1px dotted; }

b, strong {
  font-weight: 700; }

dfn {
  font-style: italic; }

h1 {
  font-size: 2em;
  margin: .67em 0; }

mark {
  background: #ff0;
  color: #000; }

small {
  font-size: 80%; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -.5em; }

sub {
  bottom: -.25em; }

img {
  border: 0; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 1em 40px; }

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

pre {
  overflow: auto; }

code, kbd, pre, samp {
  font-family: monospace;
  font-size: 1em; }

input, optgroup, select, textarea {
  color: inherit;
  font: inherit;
  margin: 0; }

button {
  overflow: visible; }

button, select {
  text-transform: none; }

button, html input[type="button"], input[type=reset], input[type=submit] {
  -webkit-appearance: button;
  /*cursor:pointer*/ }

button[disabled], html input[disabled] {
  /*cursor:default*/ }

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0; }

input {
  line-height: normal; }

input[type=checkbox], input[type=radio] {
  box-sizing: border-box;
  padding: 0; }

input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

fieldset {
  border: 1px solid silver;
  margin: 0 2px;
  padding: .35em .625em .75em; }

legend {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto; }

optgroup {
  font-weight: 700; }

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

td, th {
  padding: 0; }

/*!//normalize.css*/
/*! locomotive-scroll v4.1.3 | MIT License | https://github.com/locomotivemtl/locomotive-scroll */
html.has-scroll-smooth {
  overflow: hidden; }

html.has-scroll-dragging {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.has-scroll-smooth body {
  overflow: hidden; }

.has-scroll-smooth [data-scroll-container] {
  min-height: 100vh; }

[data-scroll-direction=horizontal] [data-scroll-container] {
  display: inline-block;
  height: 100vh;
  white-space: nowrap; }

[data-scroll-direction=horizontal] [data-scroll-section] {
  display: inline-block;
  height: 100%;
  vertical-align: top;
  white-space: nowrap; }

.c-scrollbar {
  height: 100%;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform-origin: center right;
  transition: transform .3s,opacity .3s;
  width: 11px; }

.c-scrollbar:hover {
  transform: scaleX(1.45); }

.c-scrollbar:hover, .has-scroll-dragging .c-scrollbar, .has-scroll-scrolling .c-scrollbar {
  opacity: 1; }

[data-scroll-direction=horizontal] .c-scrollbar {
  bottom: 0;
  height: 10px;
  top: auto;
  transform: scaleY(1);
  width: 100%; }

[data-scroll-direction=horizontal] .c-scrollbar:hover {
  transform: scaleY(1.3); }

.c-scrollbar_thumb {
  background-color: #000;
  border-radius: 10px;
  cursor: -webkit-grab;
  cursor: grab;
  margin: 2px;
  opacity: .5;
  position: absolute;
  right: 0;
  top: 0;
  width: 7px; }

.has-scroll-dragging .c-scrollbar_thumb {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

[data-scroll-direction=horizontal] .c-scrollbar_thumb {
  bottom: 0;
  right: auto; }

/*!basic css*/
html {
  height: 100%;
  font-size: 1.2vw;
  scrollbar-gutter: stable; }
  @media screen and (max-width: 768px) {
    html {
      font-size: 3.5vw; } }

body {
  min-width: calc(1184px + (64px * 2));
  margin: 0;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: auto;
  height: auto;
  font-family: "Montserrat", "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  -webkit-text-size-adjust: 100%;
  overflow-x: auto;
  overflow-y: auto;
  scrollbar-gutter: stable;
  background: var(--secondary);
  color: var(--black);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  padding-bottom: 1px; }
  @media screen and (max-width: 768px) {
    body {
      min-width: 100%; } }
  body.no-scroll {
    overflow: hidden;
    overscroll-behavior: contain; }

* {
  color: var(--black);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

::selection {
  background-color: rgba(0, 0, 0, 0.15);
  color: var(--primary-90); }

/* Scroll bar custem */
::-webkit-scrollbar {
  width: 6px;
  height: 6px; }

::-webkit-scrollbar-track {
  background: var(--om-gray-fill);
  border: none;
  margin: 0; }

::-webkit-scrollbar-thumb {
  background: var(--primary);
  border: none;
  margin: 0;
  border-radius: 0; }

::-webkit-scrollbar-thumb:hover {
  background: var(--primary); }

* {
  scrollbar-width: thin;
  /* 自動的に細くする */
  scrollbar-color: var(--primary) var(--om-gray-fill);
  /* thumb, track */ }

/*!TEXT*/
p, h1, h2, h3, h4, h5 {
  display: block;
  -webkit-margin-before: 0em;
  -webkit-margin-after: 0em;
  -webkit-margin-start: 0px;
  -webkit-margin-end: 0px;
  margin: 0;
  font-size: 1em; }

h1, h2, h3, h4, h5 {
  position: relative;
  z-index: 15; }

p {
  letter-spacing: 0; }

.jp-copy-b {
  font-size: 48px;
  font-weight: bold;
  line-height: 1.65; }
  @media screen and (max-width: 768px) {
    .jp-copy-b {
      font-size: 24.2425px; } }

.jp-h1-b {
  font-size: 40px;
  font-weight: bold;
  line-height: 1.65; }
  @media screen and (max-width: 768px) {
    .jp-h1-b {
      font-size: 20px; } }

.jp-h2-b {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.65; }
  @media screen and (max-width: 768px) {
    .jp-h2-b {
      font-size: 20px; } }

.jp-28-b {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.65; }

.jp-24-b {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.65; }
  @media screen and (max-width: 768px) {
    .jp-24-b {
      font-size: 15.75576px; } }

.jp-20-b {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.65; }
  @media screen and (max-width: 768px) {
    .jp-20-b {
      font-size: 13.33334px; } }

.jp-text-b {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.65; }
  @media screen and (max-width: 768px) {
    .jp-text-b {
      font-size: 13.3334px; } }

.jp-text-m {
  font-size: 16px;
  font-weight: normal;
  line-height: 1.65; }
  @media screen and (max-width: 768px) {
    .jp-text-m {
      font-size: 13.3334px; } }

.jp-subtext-b {
  font-size: 15px;
  font-weight: bold;
  line-height: 1.65; }
  @media screen and (max-width: 768px) {
    .jp-subtext-b {
      font-size: 13.3334px; } }

.jp-subtext-m {
  font-size: 15px;
  font-weight: normal;
  line-height: 1.65; }
  @media screen and (max-width: 768px) {
    .jp-subtext-m {
      font-size: 13.3334px; } }

.jp-label-text-b {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.65; }
  @media screen and (max-width: 768px) {
    .jp-label-text-b {
      font-size: 10.9091px; } }

.b80 {
  font-size: 80px;
  font-weight: bold;
  line-height: 1.5; }
  @media screen and (max-width: 768px) {
    .b80 {
      font-size: 40px; } }

.b48 {
  font-size: 48px;
  font-weight: bold;
  line-height: 1.5; }
  @media screen and (max-width: 768px) {
    .b48 {
      font-size: 24px; } }

.b40 {
  font-size: 40px;
  font-weight: bold;
  line-height: 1.6; }
  @media screen and (max-width: 768px) {
    .b40 {
      font-size: 25px; } }

.bSL {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5; }

.b20 {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5; }

.b16 {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5; }

.b15 {
  font-size: 15px;
  font-weight: bold;
  line-height: 1.5; }

.m15 {
  font-size: 15px;
  font-weight: bold;
  line-height: 1.5; }

.b14 {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5; }

.b11 {
  font-size: 11px;
  font-weight: bold;
  line-height: 1.5; }

.b160 {
  font-size: 160px;
  font-weight: bold;
  line-height: 1; }
  @media screen and (max-width: 768px) {
    .b160 {
      font-size: 78px; } }

.b128 {
  font-size: 128px;
  font-weight: bold;
  line-height: 1; }
  @media screen and (max-width: 768px) {
    .b128 {
      font-size: 100px; } }

.b24 {
  font-size: 24px;
  font-weight: bold;
  line-height: 1; }
  @media screen and (max-width: 768px) {
    .b24 {
      font-size: 16px; } }

i {
  font-style: normal; }

.emphasis {
  background: linear-gradient(#ff1d9157, #ff1d9157) no-repeat;
  background-size: 100%;
  background-position: 0; }

.posCenter {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0); }

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

img.objf {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;'; }

video.objf {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;'; }

iframe.objf {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;'; }

/*!LINK*/
a {
  text-decoration: none; }
  a.not {
    cursor: not-allowed; }

.button {
  display: flex;
  align-items: center; }
  .button > .text {
    text-transform: uppercase; }
  .button > .arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    overflow: hidden; }
  .button.small {
    column-gap: calc(16px * 1); }
    .button.small > .arrow {
      width: calc(16px * 2);
      height: calc(16px * 2); }
      .button.small > .arrow img {
        width: calc(16px / 8 * 5);
        height: calc(16px / 8 * 5); }
  .button.medium {
    column-gap: calc(16px * 1.5); }
    .button.medium > .arrow {
      width: 72px;
      height: 72px; }
      @media screen and (max-width: 768px) {
        .button.medium > .arrow {
          width: 36px;
          height: 36px; } }
      .button.medium > .arrow img {
        width: 24px;
        height: 24px; }
        @media screen and (max-width: 768px) {
          .button.medium > .arrow img {
            width: 16px;
            height: 16px; } }
  .button.large {
    column-gap: calc(16px * 2); }
    @media screen and (max-width: 768px) {
      .button.large {
        column-gap: calc(16px * 1); } }
    .button.large > .arrow {
      width: calc(16px * 5.5);
      height: calc(16px * 5.5); }
      @media screen and (max-width: 768px) {
        .button.large > .arrow {
          width: calc(16px * 2);
          height: calc(16px * 2); } }
      .button.large > .arrow img {
        width: calc(16px * 2);
        height: calc(16px * 2); }
        @media screen and (max-width: 768px) {
          .button.large > .arrow img {
            width: calc(16px / 3 * 2);
            height: calc(16px / 3* 2); } }
  .button.gray > .arrow {
    background: var(--bg-gray);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  .button.gray:hover > .arrow {
    background: var(--bg-black); }
    .button.gray:hover > .arrow img {
      filter: brightness(0) invert(1);
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  .button.darkgray > .arrow {
    background: var(--bg-black); }
    .button.darkgray > .arrow img {
      filter: brightness(0) invert(1); }
  .button.red > .arrow {
    background: var(--primary);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  .button.red:hover > .arrow {
    background: var(--bg-black);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  .button.left {
    margin-left: 0;
    margin-right: auto;
    justify-content: flex-start; }
  .button.right {
    margin-left: auto;
    margin-right: 0;
    justify-content: flex-end; }
  .button.center {
    margin-left: auto;
    margin-right: auto;
    justify-content: center; }

.buttonicon {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  .buttonicon img {
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  .buttonicon.xsmall {
    width: 28px;
    min-width: 28px;
    height: 28px;
    border-radius: 28px; }
    .buttonicon.xsmall img {
      width: 14px;
      height: 14px; }
  .buttonicon.small {
    width: 36px;
    min-width: 36px;
    height: 36px;
    border-radius: 36px; }
    .buttonicon.small img {
      width: 16px;
      height: 16px; }
  .buttonicon.medium {
    width: 72px;
    min-width: 72px;
    height: 72px;
    border-radius: 72px; }
    @media screen and (max-width: 768px) {
      .buttonicon.medium {
        width: 36px;
        min-width: 36px;
        height: 36px; } }
    .buttonicon.medium img {
      width: 24px;
      height: 24px; }
      @media screen and (max-width: 768px) {
        .buttonicon.medium img {
          width: 16px;
          height: 16px; } }
  .buttonicon.large {
    width: 88px;
    min-width: 88px;
    height: 88px;
    border-radius: 88px; }
    .buttonicon.large img {
      width: 32px;
      height: 32px; }
  .buttonicon.gray {
    background: var(--bg-gray); }
    .buttonicon.gray:hover {
      background: var(--bg-black); }
      .buttonicon.gray:hover img {
        filter: brightness(0) invert(1); }
  .buttonicon.black {
    background: var(--bg-black); }
    .buttonicon.black img {
      filter: brightness(0) invert(1); }
    .buttonicon.black:hover {
      background: var(--secondary); }
      .buttonicon.black:hover img {
        filter: brightness(1) invert(0); }
  .buttonicon.red {
    background: var(--primary); }
    .buttonicon.red img {
      filter: brightness(0) invert(1); }
    .buttonicon.red:hover {
      background: var(--bg-black); }
      .buttonicon.red:hover img {
        filter: brightness(0) invert(1); }
  .buttonicon.white {
    background: var(--secondary); }
    .buttonicon.white:hover {
      background: var(--bg-black); }
      .buttonicon.white:hover img {
        filter: brightness(0) invert(1); }
  .buttonicon.left {
    margin-left: 0;
    margin-right: auto; }
  .buttonicon.right {
    margin-left: auto;
    margin-right: 0; }
  .buttonicon.center {
    margin-left: auto;
    margin-right: auto; }
  .buttonicon:hover {
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    .buttonicon:hover img {
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }

.cv > .arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--primary);
  border-radius: 50%; }
  .cv > .arrow img {
    filter: brightness(0) invert(1); }
.cv.small {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 42px;
  border-radius: 4px; }
.cv.medium {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  height: 76px;
  border-radius: 4px; }
  @media screen and (max-width: 768px) {
    .cv.medium {
      justify-content: center;
      height: 38px; } }
  .cv.medium > .arrow {
    width: calc(16px * 2);
    height: calc(16px * 2); }
    @media screen and (max-width: 768px) {
      .cv.medium > .arrow {
        display: none; } }
    .cv.medium > .arrow img {
      width: calc(16px * 1);
      height: calc(16px * 1); }
.cv.large {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 48px;
  height: 136px;
  border-radius: 8px; }
  @media screen and (max-width: 768px) {
    .cv.large {
      padding: 0 24px;
      height: 76px;
      border-radius: 4px; } }
  .cv.large > .arrow {
    width: calc(16px * 4);
    height: calc(16px * 4); }
    @media screen and (max-width: 768px) {
      .cv.large > .arrow {
        width: calc(16px * 2);
        height: calc(16px * 2); } }
    .cv.large > .arrow img {
      width: calc(16px * 1.5);
      height: calc(16px * 1.5); }
      @media screen and (max-width: 768px) {
        .cv.large > .arrow img {
          width: calc(16px * 1);
          height: calc(16px * 1); } }
.cv.black {
  background: var(--bg-black);
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  .cv.black > .text {
    color: var(--secondary);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
.cv.white {
  background: var(--secondary);
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  .cv.white:hover {
    background: var(--bg-black);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    .cv.white:hover > .text {
      color: var(--secondary);
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
.cv.left {
  margin-left: 0;
  margin-right: auto; }
.cv.right {
  margin-left: auto;
  margin-right: 0; }
.cv.center {
  margin-left: auto;
  margin-right: auto; }

.fill {
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  .fill > .text {
    font-weight: 700;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  .fill.xsmall {
    width: 124px;
    max-width: 100%;
    height: 36px;
    border-radius: 36px; }
  .fill.small {
    width: 135px;
    max-width: 100%;
    height: 39px;
    border-radius: 39px; }
  .fill.medium {
    width: 157px;
    max-width: 100%;
    height: 48px;
    border-radius: 48px; }
    .fill.medium > .arrow {
      width: calc(16px * 2);
      height: calc(16px * 2); }
      .fill.medium > .arrow img {
        width: calc(16px * 1);
        height: calc(16px * 1); }
  .fill.large {
    width: 300px;
    max-width: 100%;
    height: 64px;
    border-radius: 64px; }
    @media screen and (max-width: 768px) {
      .fill.large {
        width: 175px;
        height: 45px;
        border-radius: 45px; } }
  .fill.white {
    background: var(--secondary); }
    .fill.white > .text {
      color: var(--primary); }
  .fill.red {
    background: var(--primary); }
    .fill.red > .text {
      color: var(--secondary); }
  .fill.left {
    margin-left: 0;
    margin-right: auto; }
  .fill.right {
    margin-left: auto;
    margin-right: 0; }
  .fill.center {
    margin-left: auto;
    margin-right: auto; }
  .fill:hover {
    background: var(--bg-black);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    .fill:hover > .text {
      color: var(--secondary);
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }

.noallow {
  cursor: not-allowed !important;
  pointer-events: none !important; }

/*!ul/dl*/
ul, dl {
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  -webkit-margin-start: 0;
  -webkit-margin-end: 0;
  -webkit-padding-start: 0;
  -moz-margin-before: 0;
  -moz-margin-after: 0;
  -moz-margin-start: 0;
  -moz-margin-end: 0;
  -moz-padding-start: 0;
  -ms-margin-before: 0;
  -ms-margin-after: 0;
  -ms-margin-start: 0;
  -ms-margin-end: 0;
  -ms-padding-start: 0;
  -o-margin-before: 0;
  -o-margin-after: 0;
  -o-margin-start: 0;
  -o-margin-end: 0;
  -o-padding-start: 0;
  margin-before: 0;
  margin-after: 0;
  margin-start: 0;
  margin-end: 0;
  padding-start: 0;
  -webkit-padding-left: 0;
  -moz-padding-left: 0;
  -ms-padding-left: 0;
  -o-padding-left: 0;
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0; }

ul li {
  list-style-type: none; }

dl dd {
  margin-left: 0; }

.clear::after {
  content: '';
  display: block;
  clear: both; }

/*!fugure*/
figure {
  margin: 0; }
  figure figurecaption {
    font-size: .85em;
    margin-top: .41em;
    display: block; }

/*!shadow*/
.sdw {
  box-shadfigureow: 0 1rem 3rem rgba(0, 0, 0, 0.05); }

.shadow {
  box-shadow: 0 2.5rem 2rem -2rem #193b4d66; }

/*!Resposive*/
.hidden-xs {
  display: block !important; }
  @media screen and (max-width: 768px) {
    .hidden-xs {
      display: none !important; } }

.visible-xs {
  display: none !important; }
  @media screen and (max-width: 768px) {
    .visible-xs {
      display: block !important; } }

/*!.sticky*/
.sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 8999; }

/*Pgae Transition*/
#page-transition {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  inset: 0;
  pointer-events: none;
  z-index: 9999; }

.catch {
  position: relative;
  z-index: 1;
  text-align: center; }
  .catch span {
    display: block;
    color: var(--secondary); }

.bar {
  position: absolute;
  background: var(--primary);
  will-change: transform; }
  .bar.left, .bar.right {
    height: 100%;
    width: 50vw; }
  .bar.top, .bar.bottom {
    width: 100%;
    height: 50vh; }
  .bar.left {
    left: 0;
    transform-origin: 0% 50%; }
  .bar.right {
    right: 0;
    transform-origin: 100% 50%; }
  .bar.top {
    top: 0;
    transform-origin: 50% 0%; }
  .bar.bottom {
    bottom: 0;
    transform-origin: 50% 100%; }

html.is-animating .bar.left,
html.is-animating .bar.right {
  transform: scaleX(1); }

html.is-animating .bar.top,
html.is-animating .bar.bottom {
  transform: scaleY(1); }

html:not(.is-animating) .bar.left,
html:not(.is-animating) .bar.right {
  transform: scaleX(0); }

html:not(.is-animating) .bar.top,
html:not(.is-animating) .bar.bottom {
  transform: scaleY(0); }

/*Mouse Coursor*/
/*
.mf-cursor {
 mix-blend-mode: normal!important;
 --mf-bg   : transparent;
 --mf-size : 123px;
 pointer-events: none;
 transform: scale(0);
 &::before {
  display: none!important;
 }
 &.-stack {
  transform: scale(1);
  .mf-cursor-inner{
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 6px;
  }
 }
   .mf-cursor-media {
    //position: relative!important;
    width: 72px!important;
    height: 72px!important;
    margin: 0!important;
    overflow: hidden;
   }
   .mf-cursor-text{
    font-size: 16px;
    color: var(--secondary);
    font-weight: bold;
    line-height: 1.5;
    text-transform: none;
    white-space: nowrap;
   }
}
*/
/* 通常はシンプル、.jobcursol上だけ -stack で拡張表示 */
.mf-cursor {
  /* ここで transform は書かない！(Mouse Follower が管理) */
  mix-blend-mode: normal !important;
  pointer-events: none;
  z-index: 9999;
  /* 基本サイズ/背景（通常モード） */
  --mf-size: 16px;
  /* 普段は小さめドット等に */
  transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s;
  -o-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s;
  -moz-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s;
  -webkit-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s;
  /* Mouse Follower の擬似要素は使わないなら非表示 */
  /* 通常はメディア/テキストは見せない */
  /* 見た目（例：シンプルなドット/リング） */
  width: var(--mf-size);
  height: var(--mf-size);
  border-radius: 50%;
  background: var(--picture-b-30); }
  .mf-cursor::before {
    display: none !important; }
  .mf-cursor .mf-cursor-media,
  .mf-cursor .mf-cursor-text {
    display: none; }
  .mf-cursor.-pointer:not(.-stack) {
    --mf-size: 64px;
    transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s;
    -o-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s;
    -moz-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s;
    -webkit-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; }

/* --- 特別モード（.jobcursol上でJSから addState('-stack')） --- */
.mf-cursor.-stack {
  background: none;
  /* 画像スロット */
  /* テキストスロット */ }
  .mf-cursor.-stack .mf-cursor-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px; }
  .mf-cursor.-stack .mf-cursor-media {
    display: block;
    /* 通常は非表示→拡張時のみ出す */
    width: 72px !important;
    height: 72px !important;
    margin: 0 !important;
    overflow: hidden;
    border-radius: 8px;
    /* 好みで */ }
  .mf-cursor.-stack .mf-cursor-text {
    display: block;
    font-size: 16px;
    color: var(--secondary, #fff);
    /* フォールバック付き */
    font-weight: bold;
    line-height: 1.5;
    text-transform: none;
    white-space: nowrap; }

/* タッチ端末など hover 不能環境では非表示（任意） */
@media (hover: none) {
  .mf-cursor {
    display: none; } }
/*!.inview*/
.inview {
  opacity: 0; }
  .inview.action {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
  .inview.action[data-delay="1"] {
    transition-delay: 0.05s; }
  .inview.action[data-delay="2"] {
    transition-delay: 0.1s; }
  .inview.action[data-delay="3"] {
    transition-delay: 0.15s; }
  .inview.action[data-delay="4"] {
    transition-delay: 0.2s; }
  .inview.action[data-delay="5"] {
    transition-delay: 0.25s; }
  .inview.action[data-delay="6"] {
    transition-delay: 0.3s; }
  .inview.action[data-delay="7"] {
    transition-delay: 0.35s; }
  .inview.action[data-delay="8"] {
    transition-delay: 0.4s; }
  .inview.action[data-delay="9"] {
    transition-delay: 0.45s; }
  .inview.action[data-delay="10"] {
    transition-delay: 0.5s; }

svg .primary, svg .secondary, svg .thirdry {
  opacity: 0; }
svg.gone .primary, svg.gone .secondary, svg.gone .thirdry {
  opacity: 1;
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
svg.gone .primary {
  transition-delay: .615s; }
svg.gone .secondary {
  transition-delay: 1.115s; }
svg.gone .thirdry {
  transition-delay: 1.525s; }

/*ベンダープレフィックス登録*/
.animation {
  animation: humbNav 1.5s linear 0s infinite;
  -o-animation: humbNav 1.5s linear 0s infinite;
  -moz-animation: humbNav 1.5s linear 0s infinite;
  -webkit-animation: humbNav 1.5s linear 0s infinite; }

@keyframes humbNav {
  0% {
    width: 30%; }
  50% {
    width: 15%; }
  100% {
    width: 30%; } }
@-webkit-keyframes humbNav {
  0% {
    width: 30%; }
  50% {
    width: 15%; }
  100% {
    width: 30%; } }
@-o-keyframes humbNav {
  0% {
    width: 30%; }
  50% {
    width: 15%; }
  100% {
    width: 30%; } }
.anime_fade {
  display: flex; }

.anime_fade:hover span {
  animation: anime_fade 1s linear 0s 1;
  -o-animation: anime_fade 1s linear 0s 1;
  -moz-animation: anime_fade 1s linear 0s 1;
  -webkit-animation: anime_fade 1s linear 0s 1; }

@keyframes anime_fade {
  0% {
    opacity: 1; }
  5% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 1; } }
@-webkit-keyframes anime_fade {
  0% {
    opacity: 1; }
  5% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 1; } }
@-o-keyframes anime_fade {
  0% {
    opacity: 1; }
  5% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 1; } }
.transition {
  transition: ease 0.3s;
  transition: -o-ease 0.3s;
  transition: -moz-ease 0.3s;
  transition: -webkit-ease 0.3s; }

/*!input*/
select {
  outline: none;
  text-indent: 0.01px;
  text-overflow: '';
  background: #f8f8f8;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  width: 100%;
  height: 60px;
  font-size: 1.5rem; }
  select option {
    background-color: #fff;
    color: #333; }

/*!------------------------------------
css_assets(パーツ)
-------------------------------------*/
/*!button*/
.humbBtn {
  position: relative;
  z-index: 15;
  width: 3.28em;
  height: 3.28em;
  border-radius: 4.1em;
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  @media screen and (max-width: 768px) {
    .humbBtn {
      display: block; } }
  .humbBtn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: var(--color-white);
    transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }
  .humbBtn span.dots {
    display: block;
    width: 4px;
    height: 4px;
    border-radius: 4px;
    background: var(--bg-black);
    position: absolute;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    .humbBtn span.dots:nth-child(1) {
      top: calc(50% - 8px);
      left: calc(50% - 8px);
      transform: translate(-50%, -50%); }
    .humbBtn span.dots:nth-child(2) {
      top: calc(50% - 8px);
      left: 50%;
      transform: translate(-50%, -50%); }
    .humbBtn span.dots:nth-child(3) {
      top: calc(50% - 8px);
      left: calc(50% + 8px);
      transform: translate(-50%, -50%); }
    .humbBtn span.dots:nth-child(4) {
      top: 50%;
      left: calc(50% - 8px);
      transform: translate(-50%, -50%); }
    .humbBtn span.dots:nth-child(5) {
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
    .humbBtn span.dots:nth-child(6) {
      top: 50%;
      left: calc(50% + 8px);
      transform: translate(-50%, -50%); }
    .humbBtn span.dots:nth-child(7) {
      top: calc(50% + 8px);
      left: calc(50% - 8px);
      transform: translate(-50%, -50%); }
    .humbBtn span.dots:nth-child(8) {
      top: calc(50% + 8px);
      left: 50%;
      transform: translate(-50%, -50%); }
    .humbBtn span.dots:nth-child(9) {
      top: calc(50% + 8px);
      left: calc(50% + 8px);
      transform: translate(-50%, -50%); }
  .humbBtn span.border {
    display: block;
    width: 30%;
    height: 1px;
    border-radius: 2px;
    background: var(--bg-black);
    position: absolute;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    .humbBtn span.border:nth-child(1) {
      top: 40%;
      left: 55%;
      transform: translate(-50%, -50%); }
    .humbBtn span.border:nth-child(2) {
      top: 50%;
      left: 45%;
      transform: translate(-50%, -50%); }
    .humbBtn span.border:nth-child(3) {
      top: 60%;
      left: 50%;
      transform: translate(-50%, -50%); }
  .humbBtn span.borders {
    display: block;
    width: 30%;
    height: 1px;
    border-radius: 2px;
    background: var(--bg-black);
    position: absolute;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    .humbBtn span.borders:nth-child(1) {
      top: 37.5%;
      left: 50%;
      transform: translate(-50%, -50%); }
    .humbBtn span.borders:nth-child(2) {
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
    .humbBtn span.borders:nth-child(3) {
      top: 62.5%;
      left: 50%;
      transform: translate(-50%, -50%); }
  .humbBtn span.txt {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    font-size: .7em;
    color: var(--color-white);
    letter-spacing: 3px; }
  .humbBtn:hover {
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    .humbBtn:hover::before {
      border-radius: 6px;
      transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }
    .humbBtn:hover span.dots {
      background: var(--bg-black);
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      .humbBtn:hover span.dots:nth-child(1) {
        top: calc(50% - 6px);
        left: calc(50% - 6px); }
      .humbBtn:hover span.dots:nth-child(2) {
        top: calc(50% - 6px);
        left: 50%; }
      .humbBtn:hover span.dots:nth-child(3) {
        top: calc(50% - 6px);
        left: calc(50% + 6px); }
      .humbBtn:hover span.dots:nth-child(4) {
        top: 50%;
        left: calc(50% - 6px); }
      .humbBtn:hover span.dots:nth-child(5) {
        top: 50%;
        left: 50%; }
      .humbBtn:hover span.dots:nth-child(6) {
        top: 50%;
        left: calc(50% + 6px); }
      .humbBtn:hover span.dots:nth-child(7) {
        top: calc(50% + 6px);
        left: calc(50% - 6px); }
      .humbBtn:hover span.dots:nth-child(8) {
        top: calc(50% + 6px);
        left: 50%; }
      .humbBtn:hover span.dots:nth-child(9) {
        top: calc(50% + 6px);
        left: calc(50% + 6px); }
    .humbBtn:hover span.borders {
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      .humbBtn:hover span.borders:nth-child(1) {
        top: 50%; }
      .humbBtn:hover span.borders:nth-child(3) {
        top: 50%; }
  .humbBtn.active {
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    .humbBtn.active::before {
      transform: scale(1);
      pointer-events: none;
      opacity: 0;
      transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }
    .humbBtn.active span.dots {
      background: var(--bg-gray);
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      .humbBtn.active span.dots:nth-child(1) {
        top: 50%;
        left: calc(50% - 5px); }
      .humbBtn.active span.dots:nth-child(2) {
        top: 50%;
        left: 50%; }
      .humbBtn.active span.dots:nth-child(3) {
        top: 50%;
        left: calc(50% + 5px); }
      .humbBtn.active span.dots:nth-child(4) {
        top: 50%;
        left: calc(50% - 5px); }
      .humbBtn.active span.dots:nth-child(5) {
        top: 50%;
        left: 50%; }
      .humbBtn.active span.dots:nth-child(6) {
        top: 50%;
        left: calc(50% + 5px); }
      .humbBtn.active span.dots:nth-child(7) {
        top: 50%;
        left: calc(50% - 5px); }
      .humbBtn.active span.dots:nth-child(8) {
        top: 50%;
        left: 50%; }
      .humbBtn.active span.dots:nth-child(9) {
        top: 50%;
        left: calc(50% + 5px); }
    .humbBtn.active span.border {
      background: var(--bg-gray) !important;
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      .humbBtn.active span.border:nth-child(1) {
        top: 50%; }
      .humbBtn.active span.border:nth-child(3) {
        top: 50%; }
    .humbBtn.active span.borders {
      background: var(--color-white) !important;
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      .humbBtn.active span.borders:nth-child(1) {
        top: 50%;
        transform: translate(-50%, -50%) rotate(45deg); }
      .humbBtn.active span.borders:nth-child(2) {
        opacity: 0; }
      .humbBtn.active span.borders:nth-child(3) {
        top: 50%;
        transform: translate(-50%, -50%) rotate(-45deg); }
    .humbBtn.active span.txt {
      color: var(--color-white) !important; }
  .humbBtn.scroll span {
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }

/*!------------------------------------
css_sections(ブロック)
-------------------------------------*/
/*!#siteHeader------------------------------------------------------------------------------------------------*/
/*公式*/
#siteHead {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 8000;
  display: flex;
  justify-content: space-between;
  width: 100%;
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  #siteHead > .head {
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    #siteHead > .head a {
      display: flex;
      padding: 20px 24px; }
      @media screen and (max-width: 768px) {
        #siteHead > .head a {
          padding: 16px; } }
      #siteHead > .head a h1 img {
        display: block; }
        @media screen and (max-width: 768px) {
          #siteHead > .head a h1 img {
            width: 48px;
            height: auto; } }
  #siteHead .humb_menu {
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  #siteHead.move > .head {
    opacity: 0;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  #siteHead.move .humb_menu {
    right: calc(1024px + (64px * 2));
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    @media screen and (max-width: 768px) {
      #siteHead.move .humb_menu {
        right: 0; } }

/*
body.scroll {
	#siteHead {
  .wrapper {
   ._head {
    opacity: 0;
    pointer-events: none;
    @include mov;
   }
  }
 	@include mov;
	}
	#cside {
		transform: translateY(0);
		@include mov;
	}
 &.scrollUp {
  #siteHead {
 		@include mov;
   .wrapper {
    ._head {
     opacity: 1;
     pointer-events: auto;
     @include mov;
    }
   }
   &.move {
    background: none;
    a.title {
     opacity: 0;
     visibility: hidden;
     pointer-events: none;
    }
   }
  }
	 #cside {
		 transform: translateY(170px);
	 	@include mov;
 	}
 }
}
*/
/*!#aside*/
aside#aside {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 7999;
  display: block;
  width: calc(1024px + (64px * 2));
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  padding: 64px;
  background: var(--secondary);
  overflow: scroll;
  transform: translateX(100%);
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  @media screen and (max-width: 768px) {
    aside#aside {
      width: 100%;
      padding: 44px 0 24px; } }
  aside#aside .aside_head {
    margin-bottom: 64px;
    padding-bottom: 64px;
    border-bottom: solid 1px var(--outline); }
    @media screen and (max-width: 768px) {
      aside#aside .aside_head {
        display: none; } }
    aside#aside .aside_head dl {
      display: flex;
      display: flex;
      align-items: center;
      gap: 64px; }
      aside#aside .aside_head dl > dt {
        flex: 1; }
      aside#aside .aside_head dl > dd {
        flex: 1; }
  @media screen and (max-width: 768px) {
    aside#aside .aside_body {
      display: flex;
      flex-direction: column; } }
  aside#aside .aside_body ul.aside_navigation {
    display: flex;
    gap: 32px; }
    @media screen and (max-width: 768px) {
      aside#aside .aside_body ul.aside_navigation {
        flex-direction: column;
        gap: 0; } }
    aside#aside .aside_body ul.aside_navigation > li {
      flex: 1; }
      @media screen and (max-width: 768px) {
        aside#aside .aside_body ul.aside_navigation > li {
          border-bottom: solid 1px var(--outline); } }
      aside#aside .aside_body ul.aside_navigation > li dl > dt {
        display: flex;
        align-items: center;
        justify-content: space-between; }
        aside#aside .aside_body ul.aside_navigation > li dl > dt * {
          color: var(--primary); }
        aside#aside .aside_body ul.aside_navigation > li dl > dt a {
          display: block;
          padding: 16px 0; }
          @media screen and (max-width: 768px) {
            aside#aside .aside_body ul.aside_navigation > li dl > dt a {
              padding: 16px 32px; } }
        aside#aside .aside_body ul.aside_navigation > li dl > dt .tgr_parents_next {
          display: none; }
          @media screen and (max-width: 768px) {
            aside#aside .aside_body ul.aside_navigation > li dl > dt .tgr_parents_next {
              display: block;
              padding: 0 32px; } }
          aside#aside .aside_body ul.aside_navigation > li dl > dt .tgr_parents_next .buttonicon {
            background: var(--bg-black); }
            aside#aside .aside_body ul.aside_navigation > li dl > dt .tgr_parents_next .buttonicon svg.open {
              display: block; }
            aside#aside .aside_body ul.aside_navigation > li dl > dt .tgr_parents_next .buttonicon svg.close {
              display: none; }
          aside#aside .aside_body ul.aside_navigation > li dl > dt .tgr_parents_next.open .buttonicon {
            background: var(--bg-gray); }
            aside#aside .aside_body ul.aside_navigation > li dl > dt .tgr_parents_next.open .buttonicon svg.open {
              display: none; }
            aside#aside .aside_body ul.aside_navigation > li dl > dt .tgr_parents_next.open .buttonicon svg.close {
              display: block; }
      @media screen and (max-width: 768px) {
        aside#aside .aside_body ul.aside_navigation > li dl > dd {
          padding-bottom: 24px; } }
      aside#aside .aside_body ul.aside_navigation > li dl > dd ul > li a {
        display: block;
        padding: 4px 16px;
        white-space: nowrap;
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        @media screen and (max-width: 768px) {
          aside#aside .aside_body ul.aside_navigation > li dl > dd ul > li a {
            padding: 8px 32px; } }
        aside#aside .aside_body ul.aside_navigation > li dl > dd ul > li a:hover {
          color: var(--primary);
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  aside#aside .aside_body .recruit_banar {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 64px;
    padding: 16px;
    background: var(--primary);
    border-radius: 8px; }
    @media screen and (max-width: 768px) {
      aside#aside .aside_body .recruit_banar {
        order: 3;
        width: calc(100% - 40px);
        margin: 0 auto;
        margin-top: 64px;
        padding: 8px 16px;
        border-radius: 4px; } }
    aside#aside .aside_body .recruit_banar > .head {
      padding: 0 16px;
      color: var(--secondary); }
      @media screen and (max-width: 768px) {
        aside#aside .aside_body .recruit_banar > .head {
          display: none; } }
    aside#aside .aside_body .recruit_banar > .body {
      flex: 1; }
      aside#aside .aside_body .recruit_banar > .body ul {
        display: flex;
        align-items: center;
        gap: 16px; }
        aside#aside .aside_body .recruit_banar > .body ul > li {
          flex: 1; }
    aside#aside .aside_body .recruit_banar + * {
      margin-top: 64px; }
  aside#aside .aside_body .aside_body-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px; }
    @media screen and (max-width: 768px) {
      aside#aside .aside_body .aside_body-foot {
        order: 2;
        align-items: flex-start;
        flex-direction: column;
        width: calc(100% - 40px);
        margin: 0 auto;
        margin-top: 32px; } }
    aside#aside .aside_body .aside_body-foot ul {
      display: flex;
      align-items: center;
      gap: 8px 24px; }
      @media screen and (max-width: 768px) {
        aside#aside .aside_body .aside_body-foot ul {
          align-items: flex-start;
          flex-direction: column; } }
      aside#aside .aside_body .aside_body-foot ul li a {
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        aside#aside .aside_body .aside_body-foot ul li a:hover {
          color: var(--primary);
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    aside#aside .aside_body .aside_body-foot .copy {
      color: var(--on-black); }
  aside#aside.move {
    transform: translateX(0);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
aside#fixLogo {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9998;
  transform: translateY(-128px);
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  aside#fixLogo a {
    display: flex;
    padding: 20px 24px; }
    @media screen and (max-width: 768px) {
      aside#fixLogo a {
        padding: 16px; } }
    aside#fixLogo a h1 img {
      display: block; }
      @media screen and (max-width: 768px) {
        aside#fixLogo a h1 img {
          width: 48px;
          height: auto; } }
  aside#fixLogo.transparent {
    opacity: 0;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
aside#fixNav {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10001;
  transform: translateY(-68px);
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  aside#fixNav.move {
    right: calc(1024px + (64px * 2));
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    @media screen and (max-width: 768px) {
      aside#fixNav.move {
        right: 0; } }

body.scroll aside#fixLogo, body.scroll aside#fixNav {
  transform: translateY(0);
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }

.humb_menu {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 68px;
  height: 66px;
  background: var(--primary);
  overflow: hidden;
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  @media screen and (max-width: 768px) {
    .humb_menu {
      width: 48px;
      height: 44px; } }
  .humb_menu:hover {
    background: var(--bg-black);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    @media screen and (max-width: 768px) {
      .humb_menu:hover {
        background: var(--primary); } }
  .humb_menu:has(.active) {
    background: var(--bg-black);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  .humb_menu p.humbNav {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    padding: 20px 16px;
    cursor: pointer; }
    @media screen and (max-width: 768px) {
      .humb_menu p.humbNav {
        gap: 7px;
        padding: 12px; } }
    .humb_menu p.humbNav > i {
      display: block;
      width: 36px;
      height: 2px;
      background: var(--secondary);
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      @media screen and (max-width: 768px) {
        .humb_menu p.humbNav > i {
          width: 24px; } }
    .humb_menu p.humbNav.active > i {
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      .humb_menu p.humbNav.active > i:first-child {
        transform: translateX(68px); }
      .humb_menu p.humbNav.active > i:last-child {
        transform: translateX(-68px); }

/*!//#siteHeader------------------------------------------------------------------------------------------------*/
/*!#siteFooter------------------------------------------------------------------------------------------------*/
#siteFoot {
  position: relative;
  z-index: 15;
  width: 100%;
  overflow: hidden;
  background-color: var(--bg-black); }
  #siteFoot * {
    color: var(--secondary); }
  #siteFoot .wrapper {
    width: 100%;
    max-width: 1312px;
    margin: 0 auto;
    padding: 96px 64px; }
    @media screen and (max-width: 768px) {
      #siteFoot .wrapper {
        padding: 48px 24px; } }
  #siteFoot .f_warpper {
    display: flex;
    flex-wrap: wrap;
    gap: 48px 96px; }
    @media screen and (max-width: 768px) {
      #siteFoot .f_warpper {
        flex-direction: column; } }
    #siteFoot .f_warpper > .__logo {
      display: flex;
      flex-direction: column;
      gap: 96px;
      width: 120px; }
      @media screen and (max-width: 768px) {
        #siteFoot .f_warpper > .__logo {
          width: 72px;
          margin: 0 auto; } }
    #siteFoot .f_warpper > .__nav {
      flex: 1; }
      #siteFoot .f_warpper > .__nav > .block ~ .block {
        margin-top: 48px;
        padding-top: 48px;
        border-top: solid 1px #515151; }
      #siteFoot .f_warpper > .__nav .__nav_secondary ul.parent {
        display: flex;
        flex-wrap: wrap;
        gap: 18px 96px; }
        @media screen and (max-width: 768px) {
          #siteFoot .f_warpper > .__nav .__nav_secondary ul.parent {
            flex-direction: column; } }
        #siteFoot .f_warpper > .__nav .__nav_secondary ul.parent > li dl > dt {
          display: flex;
          align-items: center;
          min-height: 55px;
          padding: 16px 0; }
        #siteFoot .f_warpper > .__nav .__nav_secondary ul.parent > li dl > dd * {
          color: var(--on-black); }
      #siteFoot .f_warpper > .__nav .__nav_secondary ul.child {
        display: flex;
        flex-direction: column;
        gap: 12px; }
        #siteFoot .f_warpper > .__nav .__nav_secondary ul.child > li a {
          text-decoration: underline;
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
          #siteFoot .f_warpper > .__nav .__nav_secondary ul.child > li a:hover {
            color: var(--primary);
            transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      #siteFoot .f_warpper > .__nav .__nav_secondary ul.outer {
        display: flex;
        flex-direction: column;
        gap: 8px; }
        #siteFoot .f_warpper > .__nav .__nav_secondary ul.outer > li a {
          display: flex;
          align-items: center;
          gap: 8px;
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
          #siteFoot .f_warpper > .__nav .__nav_secondary ul.outer > li a svg.outer {
            fill: var(--on-black);
            transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
          #siteFoot .f_warpper > .__nav .__nav_secondary ul.outer > li a:hover {
            color: var(--primary);
            transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
            #siteFoot .f_warpper > .__nav .__nav_secondary ul.outer > li a:hover svg.outer {
              fill: var(--primary);
              transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
              -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
              -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
              -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      #siteFoot .f_warpper > .__nav .__nav_tertiary {
        display: flex;
        align-items: center;
        justify-content: space-between; }
        @media screen and (max-width: 768px) {
          #siteFoot .f_warpper > .__nav .__nav_tertiary {
            align-items: flex-start;
            flex-direction: column;
            gap: 48px; } }
        #siteFoot .f_warpper > .__nav .__nav_tertiary * {
          color: var(--on-black); }
        #siteFoot .f_warpper > .__nav .__nav_tertiary ul {
          display: flex;
          align-items: center;
          gap: 8px 24px; }
          @media screen and (max-width: 768px) {
            #siteFoot .f_warpper > .__nav .__nav_tertiary ul {
              align-items: flex-start;
              flex-direction: column; } }
          #siteFoot .f_warpper > .__nav .__nav_tertiary ul li a {
            transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
            #siteFoot .f_warpper > .__nav .__nav_tertiary ul li a:hover {
              color: var(--primary);
              transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
              -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
              -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
              -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  #siteFoot nav ul.footer_navigation {
    display: flex;
    gap: 16px 32px; }
    @media screen and (max-width: 768px) {
      #siteFoot nav ul.footer_navigation {
        flex-direction: column; } }
    #siteFoot nav ul.footer_navigation > li {
      flex: 1; }
      @media screen and (max-width: 768px) {
        #siteFoot nav ul.footer_navigation > li {
          min-width: 100%; } }
      #siteFoot nav ul.footer_navigation > li a {
        position: relative;
        z-index: 15;
        white-space: nowrap; }
  #siteFoot nav dl > dt a, #siteFoot nav dl > dt > div {
    display: flex;
    align-items: center;
    height: 56px;
    letter-spacing: .0205em;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    @media screen and (max-width: 768px) {
      #siteFoot nav dl > dt a, #siteFoot nav dl > dt > div {
        height: 53px; } }
    #siteFoot nav dl > dt a:hover, #siteFoot nav dl > dt > div:hover {
      color: var(--primary);
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  #siteFoot nav dl > dd {
    text-indent: 1em; }
    #siteFoot nav dl > dd a {
      display: flex;
      align-items: center;
      height: 33px;
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      @media screen and (max-width: 768px) {
        #siteFoot nav dl > dd a {
          height: 30px; } }
      #siteFoot nav dl > dd a:hover {
        color: var(--primary);
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    #siteFoot nav dl > dd ul * {
      color: var(--bg-gray); }
  #siteFoot ul.social {
    display: flex;
    flex-direction: column;
    gap: 12px; }
    @media screen and (max-width: 768px) {
      #siteFoot ul.social {
        gap: 0; } }
    #siteFoot ul.social * {
      color: var(--on-black); }
    #siteFoot ul.social > li a {
      display: flex;
      align-items: center;
      gap: 10px; }
      #siteFoot ul.social > li a i {
        line-height: 0;
        filter: brightness(0) invert(1); }
      #siteFoot ul.social > li a .text {
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      #siteFoot ul.social > li a:hover .text {
        color: var(--primary);
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }

/*//!#siteFooter----------------------------------------------------------------------------------------------*/
/*!#index----------------------------------------------------------------------------------------------*/
/*!#siteContent*/
#siteContent {
  position: relative;
  z-index: 15;
  width: 100%;
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  transition-delay: .246s; }
  @media screen and (max-width: 768px) {
    #siteContent {
      width: 100%;
      overflow: hidden;
      margin-bottom: 0 !important; } }
  #siteContent::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    z-index: 20;
    display: block;
    opacity: 0;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  #siteContent.blur::after {
    width: 100%;
    height: 100%;
    background: var(--picture-b-30);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    opacity: 1;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }

.slider {
  display: flex;
  align-items: center; }
  .slider .slider__inner {
    display: flex;
    align-items: center; }
    .slider .slider__inner:first-child {
      animation: loop 180s linear infinite; }
    .slider .slider__inner:nth-child(2) {
      animation: loop2 180s -120s linear infinite; }
    .slider .slider__inner:last-child {
      animation: loop3 180s -60s linear infinite; }

@keyframes loop {
  0% {
    transform: translateX(200%); }
  to {
    transform: translateX(-100%); } }
@keyframes loop2 {
  0% {
    transform: translateX(100%); }
  to {
    transform: translateX(-200%); } }
@keyframes loop3 {
  0% {
    transform: translateX(0%); }
  to {
    transform: translateX(-300%); } }
hgroup:has(h2) h2 {
  text-transform: uppercase; }

.idx {
  position: relative;
  z-index: 15; }
  .idx .wrapper {
    width: 100%;
    max-width: 1312px;
    margin: 0 auto;
    padding: 96px 64px; }
    @media screen and (max-width: 768px) {
      .idx .wrapper {
        padding: 48px 24px; } }
  @media screen and (max-width: 768px) {
    .idx.keyvisual {
      height: 100vh; } }
  .idx.keyvisual .card_wrapper {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9000;
    width: 100vw;
    height: 100%; }
    .idx.keyvisual .card_wrapper .sticky {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 100vh; }
      @media screen and (max-width: 768px) {
        .idx.keyvisual .card_wrapper .sticky {
          height: 100%; } }
    .idx.keyvisual .card_wrapper .card {
      position: relative;
      z-index: 15;
      display: flex;
      flex-direction: column;
      gap: 64px;
      width: 643px;
      height: 525px;
      padding: 72px 64px 64px;
      background: var(--secondary); }
      @media screen and (max-width: 768px) {
        .idx.keyvisual .card_wrapper .card {
          gap: 32px;
          width: 316px;
          height: 258px;
          padding: 36px 32px 48px; } }
      @media screen and (max-width: 768px) {
        .idx.keyvisual .card_wrapper .card > img {
          width: 96px;
          height: auto; } }
      .idx.keyvisual .card_wrapper .card > * {
        opacity: 0; }
      .idx.keyvisual .card_wrapper .card.gone > * {
        opacity: 1;
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        .idx.keyvisual .card_wrapper .card.gone > *:nth-child(0) {
          transition-delay: calc((0 * 0.1025s) + 0.615s); }
        .idx.keyvisual .card_wrapper .card.gone > *:nth-child(1) {
          transition-delay: calc((1 * 0.1025s) + 0.615s); }
        .idx.keyvisual .card_wrapper .card.gone > *:nth-child(2) {
          transition-delay: calc((2 * 0.1025s) + 0.615s); }
        .idx.keyvisual .card_wrapper .card.gone > *:nth-child(3) {
          transition-delay: calc((3 * 0.1025s) + 0.615s); }
        .idx.keyvisual .card_wrapper .card.gone > *:nth-child(4) {
          transition-delay: calc((4 * 0.1025s) + 0.615s); }
        .idx.keyvisual .card_wrapper .card.gone > *:nth-child(5) {
          transition-delay: calc((5 * 0.1025s) + 0.615s); }
    .idx.keyvisual .card_wrapper .jobcursol {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 5;
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      @media screen and (max-width: 768px) {
        .idx.keyvisual .card_wrapper .jobcursol {
          pointer-events: none; } }
      .idx.keyvisual .card_wrapper .jobcursol:hover {
        background: var(--primary-90);
        cursor: none;
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  .idx.keyvisual .background {
    position: relative;
    z-index: 15;
    width: 100%;
    overflow: hidden; }
    .idx.keyvisual .background .slider > .slider__inner > .slider__item {
      display: block;
      width: auto;
      width: calc((100vh / 3) / 307 * 376);
      height: calc(100vh / 3);
      overflow: hidden;
      background: var(--primary);
      line-height: 0; }
      @media screen and (max-width: 768px) {
        .idx.keyvisual .background .slider > .slider__inner > .slider__item {
          width: calc((100vh / 4) / 307 * 376);
          height: calc(100vh / 4); } }
      .idx.keyvisual .background .slider > .slider__inner > .slider__item:has(img) {
        background: var(--secondary); }
    .idx.keyvisual .background .slider:nth-child(2) > .slider__inner {
      animation-duration: 150s !important; }
      .idx.keyvisual .background .slider:nth-child(2) > .slider__inner:nth-child(2) {
        animation-delay: -100s !important; }
      .idx.keyvisual .background .slider:nth-child(2) > .slider__inner:last-child {
        animation-delay: -50s !important; }
    .idx.keyvisual .background .slider:nth-child(4) > .slider__inner {
      animation-duration: 150s !important; }
      .idx.keyvisual .background .slider:nth-child(4) > .slider__inner:nth-child(2) {
        animation-delay: -100s !important; }
      .idx.keyvisual .background .slider:nth-child(4) > .slider__inner:last-child {
        animation-delay: -50s !important; }
  .idx.keyvisual .side_navigation {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 9001;
    display: block;
    width: 300px;
    height: 100vh;
    padding-top: 98px; }
    @media screen and (max-width: 768px) {
      .idx.keyvisual .side_navigation {
        display: none; } }
    .idx.keyvisual .side_navigation::before {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      z-index: -1;
      width: 100%;
      height: 100%;
      background: linear-gradient(to left, #384551, #38455100);
      opacity: 0; }
    .idx.keyvisual .side_navigation ul {
      display: flex;
      flex-direction: column;
      gap: 24px;
      transform: translateX(300px); }
      .idx.keyvisual .side_navigation ul > li a {
        display: block;
        padding: 0 32px;
        color: var(--secondary);
        text-align: right;
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        .idx.keyvisual .side_navigation ul > li a:hover {
          color: var(--primary);
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    .idx.keyvisual .side_navigation.gone::before {
      opacity: 1;
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      transition-delay: 1s; }
    .idx.keyvisual .side_navigation.gone ul {
      transform: translateX(0);
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      transition-delay: 1s; }
  .idx.message .wrapper {
    padding-top: 128px;
    padding-bottom: 128px; }
    @media screen and (max-width: 768px) {
      .idx.message .wrapper {
        padding-top: 64px;
        padding-bottom: 64px; } }
  .idx.message .message_head + * {
    margin-top: calc(16px * 3); }
  .idx.message .message_body {
    display: flex;
    align-items: center;
    gap: 48px calc(16px * 6); }
    @media screen and (max-width: 768px) {
      .idx.message .message_body {
        flex-direction: column; } }
    .idx.message .message_body > .text {
      flex: 54;
      display: flex;
      flex-direction: column;
      gap: calc(16px * 5); }
      @media screen and (max-width: 768px) {
        .idx.message .message_body > .text {
          gap: 40px; } }
      .idx.message .message_body > .text dl {
        display: flex;
        flex-direction: column;
        gap: calc(16px * 2); }
        @media screen and (max-width: 768px) {
          .idx.message .message_body > .text dl {
            gap: 24px; } }
        .idx.message .message_body > .text dl > dt {
          letter-spacing: .041em; }
    .idx.message .message_body > .image {
      flex: 37; }
  .idx.purpose .purpose_head .image {
    width: 100%;
    max-height: calc(1440px / 18 * 5);
    aspect-ratio: 18/5;
    overflow: hidden;
    line-height: 0; }
  .idx.purpose .purpose_head > .wrapper {
    padding-top: 0;
    padding-bottom: 0; }
    .idx.purpose .purpose_head > .wrapper hgroup h2 {
      color: var(--primary);
      transform: translateY(-50%);
      line-height: 1; }
  .idx.purpose .purpose_body .wrapper {
    display: flex;
    align-items: center;
    gap: calc(16px * 5);
    padding-top: calc(16px * 10);
    padding-bottom: calc(16px * 10); }
    @media screen and (max-width: 768px) {
      .idx.purpose .purpose_body .wrapper {
        flex-direction: column;
        gap: 40px;
        padding-top: 96px;
        padding-bottom: 96px; } }
    @media screen and (max-width: 768px) {
      .idx.purpose .purpose_body .wrapper > div {
        width: 100%; } }
    .idx.purpose .purpose_body .wrapper > div.lead {
      flex: 538;
      display: flex;
      flex-direction: column;
      gap: calc(16px * 5); }
      .idx.purpose .purpose_body .wrapper > div.lead dl > dt {
        letter-spacing: .0205em; }
    .idx.purpose .purpose_body .wrapper > div.body {
      flex: 566; }
      @media screen and (max-width: 768px) {
        .idx.purpose .purpose_body .wrapper > div.body {
          display: flex;
          flex-direction: column;
          gap: 32px; } }
  .idx.value {
    display: flex;
    align-items: center;
    max-width: 1440px;
    margin: 0 auto;
    aspect-ratio: 1440/1292;
    background: url(images/logo-fill.svg), var(--primary);
    background-position: center;
    background-size: cover;
    border-radius: 96px;
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      .idx.value {
        padding: 96px 0;
        border-radius: 24px;
        aspect-ratio: initial; } }
    .idx.value .wrapper {
      display: flex;
      flex-direction: column;
      gap: 64px; }
      @media screen and (max-width: 768px) {
        .idx.value .wrapper {
          gap: 32px; } }
    .idx.value .value_head * {
      color: var(--secondary); }
    .idx.value .value_body {
      display: flex;
      align-items: center;
      justify-content: space-between; }
      @media screen and (max-width: 768px) {
        .idx.value .value_body {
          align-items: flex-end; } }
      .idx.value .value_body > .title {
        display: flex;
        align-items: center;
        gap: 12px 32px; }
        @media screen and (max-width: 768px) {
          .idx.value .value_body > .title {
            align-items: flex-start;
            flex-direction: column; } }
        .idx.value .value_body > .title * {
          color: var(--secondary); }
    .idx.value .value_foot .way-container {
      position: relative;
      z-index: 15;
      display: flex;
      flex-direction: column; }
    .idx.value .value_foot .card_wrapper {
      counter-reset: num; }
      .idx.value .value_foot .card_wrapper .card {
        background: var(--secondary);
        border-radius: 8px;
        overflow: hidden; }
        .idx.value .value_foot .card_wrapper .card > .title {
          padding: 40px 32px 16px; }
          @media screen and (max-width: 768px) {
            .idx.value .value_foot .card_wrapper .card > .title {
              padding: 24px 24px 8px; } }
          .idx.value .value_foot .card_wrapper .card > .title dl > dt {
            display: flex;
            column-gap: 8px;
            color: var(--primary);
            letter-spacing: .041em; }
            .idx.value .value_foot .card_wrapper .card > .title dl > dt::before {
              counter-increment: num;
              content: counter(num) "."; }
    .idx.value .value_foot .swiper-button_wrapper {
      position: relative;
      z-index: 15;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: calc(16px * 2);
      margin-top: calc(16px * 4); }
      @media screen and (max-width: 768px) {
        .idx.value .value_foot .swiper-button_wrapper {
          gap: 16px;
          margin-top: 32px; } }
      .idx.value .value_foot .swiper-button_wrapper .swiper-button-prev, .idx.value .value_foot .swiper-button_wrapper .swiper-button-next {
        position: relative;
        top: initial;
        left: initial;
        right: initial;
        bottom: initial;
        width: auto;
        height: auto;
        margin: initial;
        padding: initial; }
        .idx.value .value_foot .swiper-button_wrapper .swiper-button-prev::after, .idx.value .value_foot .swiper-button_wrapper .swiper-button-next::after {
          display: none; }
      .idx.value .value_foot .swiper-button_wrapper .swiper-button-prev {
        transform: rotate(180deg); }
  .idx.jobtype {
    background: var(--secondary);
    overflow: hidden; }
    .idx.jobtype .wrapper {
      padding-top: 128px;
      padding-bottom: 128px; }
      @media screen and (max-width: 768px) {
        .idx.jobtype .wrapper {
          padding-top: 64px;
          padding-bottom: 64px; } }
    .idx.jobtype .jobtype_head {
      display: flex;
      flex-direction: column;
      gap: calc(16px * 4); }
      @media screen and (max-width: 768px) {
        .idx.jobtype .jobtype_head {
          gap: 32px; } }
      .idx.jobtype .jobtype_head dl {
        display: flex;
        flex-direction: column;
        gap: calc(16px * 2); }
        @media screen and (max-width: 768px) {
          .idx.jobtype .jobtype_head dl {
            gap: 24px; } }
      .idx.jobtype .jobtype_head + * {
        margin-top: calc(16px * 4); }
        @media screen and (max-width: 768px) {
          .idx.jobtype .jobtype_head + * {
            margin-top: 32px; } }
    @media screen and (max-width: 768px) {
      .idx.jobtype .jobtype_body {
        width: calc(100% + (24px * 2));
        margin: 0 -24px;
        margin-top: 32px; } }
    .idx.jobtype .jobtype_body .jobtype-container {
      position: relative;
      z-index: 15; }
      .idx.jobtype .jobtype_body .jobtype-container::before {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        display: block;
        width: 701px;
        height: 618px;
        background: url(images/index/jobtype-00.svg);
        background-size: cover; }
        @media screen and (max-width: 768px) {
          .idx.jobtype .jobtype_body .jobtype-container::before {
            width: 100%;
            height: calc(288px + (28px * 2));
            border-radius: 8px;
            overflow: hidden; } }
      .idx.jobtype .jobtype_body .jobtype-container > .swiper-wrapper {
        padding: 112.5px 0; }
        @media screen and (max-width: 768px) {
          .idx.jobtype .jobtype_body .jobtype-container > .swiper-wrapper {
            padding: 28px 0 48px; } }
        .idx.jobtype .jobtype_body .jobtype-container > .swiper-wrapper > .swiper-slide {
          width: 446px;
          height: 394px; }
          @media screen and (max-width: 768px) {
            .idx.jobtype .jobtype_body .jobtype-container > .swiper-wrapper > .swiper-slide {
              width: 326px;
              height: 288px; } }
          .idx.jobtype .jobtype_body .jobtype-container > .swiper-wrapper > .swiper-slide .card {
            transform: scale(0.9); }
            @media screen and (max-width: 768px) {
              .idx.jobtype .jobtype_body .jobtype-container > .swiper-wrapper > .swiper-slide .card {
                transform: scale(0.95); } }
          .idx.jobtype .jobtype_body .jobtype-container > .swiper-wrapper > .swiper-slide.swiper-slide-active .card {
            transform: scale(1); }
          .idx.jobtype .jobtype_body .jobtype-container > .swiper-wrapper > .swiper-slide .swiper-slide-shadow-coverflow {
            display: none; }
        .idx.jobtype .jobtype_body .jobtype-container > .swiper-wrapper.done .card {
          opacity: 0;
          visibility: hidden; }
        .idx.jobtype .jobtype_body .jobtype-container > .swiper-wrapper.gone .card {
          opacity: 1;
          visibility: visible;
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      .idx.jobtype .jobtype_body .jobtype-container > .swiper-button_wrapper {
        position: relative;
        z-index: 15;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 32px; }
        @media screen and (max-width: 768px) {
          .idx.jobtype .jobtype_body .jobtype-container > .swiper-button_wrapper {
            justify-content: flex-end;
            gap: 16px;
            padding: 0 24px; } }
        .idx.jobtype .jobtype_body .jobtype-container > .swiper-button_wrapper .swiper-button-prev, .idx.jobtype .jobtype_body .jobtype-container > .swiper-button_wrapper .swiper-button-next {
          position: relative;
          top: initial;
          left: initial;
          right: initial;
          bottom: initial;
          width: auto;
          height: auto;
          margin: initial;
          padding: initial; }
          .idx.jobtype .jobtype_body .jobtype-container > .swiper-button_wrapper .swiper-button-prev::after, .idx.jobtype .jobtype_body .jobtype-container > .swiper-button_wrapper .swiper-button-next::after {
            display: none; }
        .idx.jobtype .jobtype_body .jobtype-container > .swiper-button_wrapper .swiper-button-prev {
          transform: rotate(180deg); }
      .idx.jobtype .jobtype_body .jobtype-container .card {
        position: relative;
        z-index: 15;
        display: block;
        width: 100%;
        height: 100%;
        border-radius: 8px;
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
        overflow: hidden; }
        .idx.jobtype .jobtype_body .jobtype-container .card > .background {
          position: absolute;
          top: 0;
          left: 0;
          z-index: -5;
          width: 100%;
          height: 100%; }
          .idx.jobtype .jobtype_body .jobtype-container .card > .background::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            display: block;
            width: 100%;
            height: 100%;
            background: var(--picture-b-30); }
        .idx.jobtype .jobtype_body .jobtype-container .card > .text {
          display: flex;
          align-items: center;
          justify-content: center;
          flex-direction: column;
          gap: 36px;
          height: 100%;
          text-align: center; }
          @media screen and (max-width: 768px) {
            .idx.jobtype .jobtype_body .jobtype-container .card > .text {
              gap: 24px; } }
          .idx.jobtype .jobtype_body .jobtype-container .card > .text dl {
            display: flex;
            flex-direction: column-reverse;
            gap: 16px; }
            @media screen and (max-width: 768px) {
              .idx.jobtype .jobtype_body .jobtype-container .card > .text dl {
                gap: 10.6px; } }
            .idx.jobtype .jobtype_body .jobtype-container .card > .text dl * {
              color: var(--secondary); }
  .idx.workstyle {
    background: var(--bg-black); }
    .idx.workstyle * {
      color: var(--secondary); }
    .idx.workstyle .workstyle_head > .image {
      width: 100%;
      max-height: calc(1440px / 18 * 5);
      aspect-ratio: 18/5;
      overflow: hidden;
      line-height: 0; }
    .idx.workstyle .workstyle_head > .wrapper {
      padding-top: 0;
      padding-bottom: 0; }
      .idx.workstyle .workstyle_head > .wrapper hgroup h2 {
        transform: translateY(-50%);
        line-height: 1; }
    .idx.workstyle .workstyle_body .wrapper {
      display: flex;
      align-items: center;
      gap: 40px calc(16px * 5);
      padding-top: 96px;
      padding-bottom: 96px; }
      @media screen and (max-width: 768px) {
        .idx.workstyle .workstyle_body .wrapper {
          flex-direction: column;
          padding-top: 48px;
          padding-bottom: 48px; } }
      .idx.workstyle .workstyle_body .wrapper .text {
        flex: 538;
        display: flex;
        flex-direction: column;
        gap: calc(16px * 5); }
        @media screen and (max-width: 768px) {
          .idx.workstyle .workstyle_body .wrapper .text {
            gap: 40px;
            width: 100%; } }
        .idx.workstyle .workstyle_body .wrapper .text dl {
          display: flex;
          flex-direction: column;
          gap: calc(16px * 2); }
          @media screen and (max-width: 768px) {
            .idx.workstyle .workstyle_body .wrapper .text dl {
              gap: 24px; } }
          .idx.workstyle .workstyle_body .wrapper .text dl > dt {
            letter-spacing: .0205em; }
      .idx.workstyle .workstyle_body .wrapper .image {
        flex: 566;
        aspect-ratio: 566/500;
        overflow: hidden; }
        @media screen and (max-width: 768px) {
          .idx.workstyle .workstyle_body .wrapper .image {
            width: 100%; } }
  .idx.voice {
    background: var(--secondary);
    overflow: hidden; }
    .idx.voice .wrapper {
      padding-top: 128px;
      padding-bottom: 128px; }
      @media screen and (max-width: 768px) {
        .idx.voice .wrapper {
          padding-top: 64px;
          padding-bottom: 64px; } }
    .idx.voice .voice_head hgroup h2 {
      color: var(--primary); }
    .idx.voice .voice_head .description {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-top: 32px; }
      @media screen and (max-width: 768px) {
        .idx.voice .voice_head .description {
          align-items: flex-start;
          flex-direction: column;
          gap: 32px;
          margin-top: 24px; } }
    .idx.voice .voice_head + * {
      margin-top: calc(16px * 5); }
      @media screen and (max-width: 768px) {
        .idx.voice .voice_head + * {
          margin-top: 32px; } }
    .idx.voice .voice_body .voice-container {
      position: relative;
      z-index: 15;
      max-width: 100%;
      margin: 0 auto; }
      .idx.voice .voice_body .voice-container.swiper {
        overflow: visible; }
      .idx.voice .voice_body .voice-container .swiper-wrapper .swiper-slide {
        width: 375px; }
        @media screen and (max-width: 768px) {
          .idx.voice .voice_body .voice-container .swiper-wrapper .swiper-slide {
            width: 315px; } }
      .idx.voice .voice_body .voice-container .swiper-button_wrapper {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 32px;
        margin-top: 64px; }
        @media screen and (max-width: 768px) {
          .idx.voice .voice_body .voice-container .swiper-button_wrapper {
            gap: 16px;
            margin-top: 32px; } }
        .idx.voice .voice_body .voice-container .swiper-button_wrapper .swiper-button-prev, .idx.voice .voice_body .voice-container .swiper-button_wrapper .swiper-button-next {
          position: relative;
          top: initial;
          left: initial;
          right: initial;
          bottom: initial;
          width: auto;
          height: auto;
          margin: initial;
          padding: initial;
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
          .idx.voice .voice_body .voice-container .swiper-button_wrapper .swiper-button-prev .buttonicon.black:hover, .idx.voice .voice_body .voice-container .swiper-button_wrapper .swiper-button-next .buttonicon.black:hover {
            background: var(--primary); }
            .idx.voice .voice_body .voice-container .swiper-button_wrapper .swiper-button-prev .buttonicon.black:hover img, .idx.voice .voice_body .voice-container .swiper-button_wrapper .swiper-button-next .buttonicon.black:hover img {
              filter: brightness(0) invert(1); }
          .idx.voice .voice_body .voice-container .swiper-button_wrapper .swiper-button-prev::after, .idx.voice .voice_body .voice-container .swiper-button_wrapper .swiper-button-next::after {
            display: none; }
        .idx.voice .voice_body .voice-container .swiper-button_wrapper .swiper-button-prev {
          transform: rotate(180deg); }
      .idx.voice .voice_body .voice-container .card {
        display: block;
        background: var(--secondary);
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
        border-radius: 8px;
        overflow: hidden;
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        .idx.voice .voice_body .voice-container .card > .background {
          position: relative;
          z-index: 15; }
          .idx.voice .voice_body .voice-container .card > .background .image {
            position: relative;
            z-index: 15;
            aspect-ratio: 375/500;
            line-height: 0;
            overflow: hidden; }
            .idx.voice .voice_body .voice-container .card > .background .image::after {
              content: '';
              position: absolute;
              left: 0;
              bottom: 0;
              display: block;
              width: 100%;
              height: 100%;
              background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.4)); }
            .idx.voice .voice_body .voice-container .card > .background .image img {
              transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
              -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
              -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
              -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
          .idx.voice .voice_body .voice-container .card > .background .text {
            position: absolute;
            bottom: 0;
            z-index: 20;
            display: flex;
            flex-direction: column;
            gap: 8px;
            padding: 20px 28px; }
            @media screen and (max-width: 768px) {
              .idx.voice .voice_body .voice-container .card > .background .text {
                gap: 4px;
                padding: 16px 24px; } }
            .idx.voice .voice_body .voice-container .card > .background .text * {
              text-transform: uppercase;
              color: var(--secondary); }
        .idx.voice .voice_body .voice-container .card > .attr {
          padding: 32px 24px; }
          @media screen and (max-width: 768px) {
            .idx.voice .voice_body .voice-container .card > .attr {
              padding: 16px 24px; } }
          .idx.voice .voice_body .voice-container .card > .attr * {
            transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
          .idx.voice .voice_body .voice-container .card > .attr dl {
            display: flex;
            flex-direction: column-reverse;
            gap: 8px; }
            @media screen and (max-width: 768px) {
              .idx.voice .voice_body .voice-container .card > .attr dl {
                gap: 4px; } }
            .idx.voice .voice_body .voice-container .card > .attr dl > dt {
              display: flex;
              align-items: center;
              justify-content: space-between; }
              @media screen and (max-width: 768px) {
                .idx.voice .voice_body .voice-container .card > .attr dl > dt .arrow {
                  width: 20px;
                  height: 20px; } }
              .idx.voice .voice_body .voice-container .card > .attr dl > dt .icon {
                fill: var(--primary);
                transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
                -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
                -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
                -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
            .idx.voice .voice_body .voice-container .card > .attr dl > dd {
              opacity: .7; }
        .idx.voice .voice_body .voice-container .card:hover {
          background: var(--primary-90);
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
          .idx.voice .voice_body .voice-container .card:hover > .background .image img {
            transform: scale(1.05);
            transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s;
            -o-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s;
            -moz-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s;
            -webkit-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; }
          .idx.voice .voice_body .voice-container .card:hover > .attr * {
            color: var(--secondary);
            transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
          .idx.voice .voice_body .voice-container .card:hover > .attr dl > dt .icon {
            fill: var(--secondary);
            transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    .idx.voice .voice_foot {
      margin-top: 64px; }
      @media screen and (max-width: 768px) {
        .idx.voice .voice_foot {
          margin-top: 32px; } }
  .idx.news .wrapper {
    display: flex;
    gap: 40px 80px;
    padding-top: 64px;
    padding-bottom: 64px; }
    @media screen and (max-width: 768px) {
      .idx.news .wrapper {
        flex-direction: column;
        padding-top: 40px; } }
  .idx.news .news_head {
    flex: 304; }
    .idx.news .news_head hgroup h2 {
      color: var(--primary); }
  .idx.news .news_body {
    flex: 800; }
    .idx.news .news_body ul > li {
      border-top: solid 1px var(--outline); }
      .idx.news .news_body ul > li a {
        display: flex;
        align-items: flex-start;
        gap: 32px;
        padding: 24px 32px; }
        @media screen and (max-width: 768px) {
          .idx.news .news_body ul > li a {
            gap: 16px;
            padding: 16px; } }
        .idx.news .news_body ul > li a .category {
          padding: 4px 12px;
          background: var(--bg-gray);
          border-radius: 20px;
          white-space: nowrap;
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        .idx.news .news_body ul > li a .text {
          display: flex;
          flex-direction: column;
          gap: 10px; }
          .idx.news .news_body ul > li a .text .title {
            transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        .idx.news .news_body ul > li a:hover .category {
          color: var(--secondary);
          background: var(--bg-black);
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        .idx.news .news_body ul > li a:hover .text .title {
          color: var(--primary);
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    .idx.news .news_body ul + * {
      margin-top: 16px; }
      @media screen and (max-width: 768px) {
        .idx.news .news_body ul + * {
          margin-top: 40px; } }
  .idx.recruit {
    background: var(--bg-gray); }
    .idx.recruit .wrapper {
      padding-top: 128px;
      padding-bottom: 128px; }
      @media screen and (max-width: 768px) {
        .idx.recruit .wrapper {
          padding-top: 64px;
          padding-bottom: 64px; } }
      .idx.recruit .wrapper .inner {
        display: flex;
        align-items: center;
        flex-direction: column;
        gap: calc(16px * 2);
        padding: calc(16px * 4);
        background: var(--primary);
        border-radius: calc(16px * 1); }
        @media screen and (max-width: 768px) {
          .idx.recruit .wrapper .inner {
            padding: 32px 28px; } }
    .idx.recruit .recruit_head * {
      color: var(--secondary); }
    .idx.recruit .recruit_head dl > dt {
      letter-spacing: .205em; }
      .idx.recruit .recruit_head dl > dt + * {
        margin-top: 16px; }
    .idx.recruit .recruit_body {
      text-align: center; }
      .idx.recruit .recruit_body * {
        color: var(--secondary); }
      .idx.recruit .recruit_body dl {
        display: flex;
        flex-direction: column;
        gap: calc(16px * 2); }
        .idx.recruit .recruit_body dl > dt {
          letter-spacing: .0205em; }
      .idx.recruit .recruit_body + * {
        margin-top: calc(16px * 2); }
        @media screen and (max-width: 768px) {
          .idx.recruit .recruit_body + * {
            margin-top: 0; } }
    .idx.recruit .recruit_foot {
      display: flex;
      align-items: center;
      gap: 24px 32px;
      width: 100%; }
      @media screen and (max-width: 768px) {
        .idx.recruit .recruit_foot {
          flex-direction: column; } }
      .idx.recruit .recruit_foot > div {
        flex: 1; }
        @media screen and (max-width: 768px) {
          .idx.recruit .recruit_foot > div {
            width: 100%; } }

#page_header {
  min-height: 200px;
  padding-top: 128px;
  padding-bottom: 64px; }
  @media screen and (max-width: 768px) {
    #page_header {
      padding-top: 64px;
      padding-bottom: 32px; } }
  #page_header .wrapper {
    width: 100%;
    max-width: 1312px;
    margin: 0 auto;
    padding: 0 64px;
    padding-top: 64px;
    padding-bottom: 64px; }
    @media screen and (max-width: 768px) {
      #page_header .wrapper {
        padding: 0 24px;
        padding-top: 32px;
        padding-bottom: 32px; } }
  #page_header h1 {
    color: var(--primary); }
    #page_header h1 + * {
      margin-top: 32px; }
      @media screen and (max-width: 768px) {
        #page_header h1 + * {
          margin-top: 24px; } }

.page .wrapper {
  width: 100%;
  max-width: 1312px;
  margin: 0 auto;
  padding: 0 64px; }
  @media screen and (max-width: 768px) {
    .page .wrapper {
      padding: 0 24px; } }
.page.page_error .wrapper {
  display: flex;
  flex-direction: column;
  gap: 64px;
  padding-bottom: 160px;
  text-align: center; }
  .page.page_error .wrapper .b80, .page.page_error .wrapper .jp-h1-b {
    color: var(--primary); }

.navigation .wrapper > .image {
  display: flex;
  align-items: center;
  justify-content: center; }
  .navigation .wrapper > .image + * {
    margin-top: 64px; }
    @media screen and (max-width: 768px) {
      .navigation .wrapper > .image + * {
        margin-top: 36px;
        padding-bottom: 48px; } }

nav.pageanker ul {
  display: flex;
  justify-content: center; }
  @media screen and (max-width: 768px) {
    nav.pageanker ul {
      flex-direction: column;
      padding: 0 16px; } }
  @media screen and (max-width: 768px) {
    nav.pageanker ul > li {
      border-bottom: solid 1px var(--outline); } }
  nav.pageanker ul > li + li {
    border-left: solid 1px var(--outline); }
    @media screen and (max-width: 768px) {
      nav.pageanker ul > li + li {
        border-left: 0px; } }
  nav.pageanker ul > li a {
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 0 40px; }
    @media screen and (max-width: 768px) {
      nav.pageanker ul > li a {
        flex-direction: row;
        justify-content: space-between;
        padding: 12px 8px; } }
    nav.pageanker ul > li a > .text {
      display: flex;
      align-items: center;
      flex-direction: column-reverse; }
      @media screen and (max-width: 768px) {
        nav.pageanker ul > li a > .text {
          align-items: flex-start; } }
      nav.pageanker ul > li a > .text .en {
        color: var(--primary); }

.page_navigation {
  position: relative;
  z-index: 15;
  padding: calc(8.5em / 8 * 2) 0 calc(8.5em / 8 * 2);
  background: #f0f0f0; }
  .page_navigation a {
    display: block; }
  .page_navigation .wrapper {
    position: relative;
    z-index: 15;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    width: calc(100% / 32 * 29);
    margin: 0 auto; }
    .page_navigation .wrapper > span {
      font-size: 1.075em; }
    .page_navigation .wrapper .nextpage {
      display: flex;
      align-items: center;
      column-gap: calc(8.5em / 8 * 4); }
      @media screen and (max-width: 768px) {
        .page_navigation .wrapper .nextpage {
          align-items: flex-end;
          justify-content: space-between;
          column-gap: calc(8.5em / 8 * 2);
          width: 100%; } }
      .page_navigation .wrapper .nextpage > .text {
        display: flex;
        align-items: center;
        column-gap: calc(8.5em / 16 * 3); }
        .page_navigation .wrapper .nextpage > .text hgroup p {
          line-height: 1.3325; }
          .page_navigation .wrapper .nextpage > .text hgroup p.en {
            font-size: 2.05em; }
        .page_navigation .wrapper .nextpage > .text i {
          display: flex;
          align-items: center;
          min-height: 1.64em;
          padding: 0 calc(8.5em / 10);
          background: var(--color-black);
          border-radius: 8.5em; }
          .page_navigation .wrapper .nextpage > .text i img {
            display: block;
            width: .9em;
            height: .9em;
            filter: brightness(0) invert(1); }
      .page_navigation .wrapper .nextpage > .image {
        width: calc(8.5em / 8 * 8); }
        @media screen and (max-width: 768px) {
          .page_navigation .wrapper .nextpage > .image {
            width: calc(8.5em / 8 * 7); } }
        .page_navigation .wrapper .nextpage > .image div {
          aspect-ratio: 1/1;
          border-radius: calc(8.5em / 16);
          overflow: hidden; }

.company-message {
  background: var(--bg-gray); }
  .company-message .message_head .image {
    aspect-ratio: 18/5;
    overflow: hidden;
    line-height: 0; }
  .company-message .message_head > .wrapper {
    padding-top: 0;
    padding-bottom: 0; }
    .company-message .message_head > .wrapper hgroup h2 {
      transform: translateY(-50%);
      color: var(--primary);
      line-height: 1; }
  .company-message .message_body .wrapper {
    display: flex;
    align-items: center;
    gap: 48px calc(16px * 5);
    padding-top: 96px;
    padding-bottom: 96px; }
    @media screen and (max-width: 768px) {
      .company-message .message_body .wrapper {
        flex-direction: column;
        padding-top: 48px;
        padding-bottom: 48px; } }
    @media screen and (max-width: 768px) {
      .company-message .message_body .wrapper > div {
        width: 100%; } }
    .company-message .message_body .wrapper > div.text {
      flex: 522;
      display: flex;
      flex-direction: column;
      gap: 32px; }
      @media screen and (max-width: 768px) {
        .company-message .message_body .wrapper > div.text {
          gap: 24px; } }
      .company-message .message_body .wrapper > div.text dl {
        display: flex;
        flex-direction: column;
        gap: 32px; }
        @media screen and (max-width: 768px) {
          .company-message .message_body .wrapper > div.text dl {
            gap: 24px; } }
        .company-message .message_body .wrapper > div.text dl > dt {
          letter-spacing: .0205em; }
      @media screen and (max-width: 768px) {
        .company-message .message_body .wrapper > div.text img {
          width: 140px;
          height: auto; } }
    .company-message .message_body .wrapper > div.image {
      flex: 566;
      aspect-ratio: 566/500;
      overflow: hidden;
      line-height: 0; }

.company-thinking .wrapper {
  padding-top: 96px;
  padding-bottom: 96px; }
  @media screen and (max-width: 768px) {
    .company-thinking .wrapper {
      padding-top: 48px;
      padding-bottom: 48px; } }
.company-thinking .thinking_head hgroup + * {
  margin-top: 32px; }
  @media screen and (max-width: 768px) {
    .company-thinking .thinking_head hgroup + * {
      margin-top: 5px; } }
.company-thinking .thinking_body {
  margin-top: 64px;
  padding-top: 64px;
  padding-bottom: 40px; }
  @media screen and (max-width: 768px) {
    .company-thinking .thinking_body {
      margin-top: 32px;
      padding-top: 0;
      padding-bottom: 0; } }
  .company-thinking .thinking_body img {
    display: block;
    width: auto;
    width: 715px;
    max-width: 100%;
    margin: 0 auto;
    line-height: 0; }

.company-service .service_head {
  padding-top: 128px; }
  @media screen and (max-width: 768px) {
    .company-service .service_head {
      padding-top: 64px; } }
  .company-service .service_head hgroup * {
    color: var(--primary); }
  .company-service .service_head hgroup + * {
    margin-top: 64px; }
    @media screen and (max-width: 768px) {
      .company-service .service_head hgroup + * {
        margin-top: 32px; } }
.company-service .service_body {
  width: 100%;
  max-width: 1184px;
  margin: 0 auto;
  margin-top: 64px;
  padding-bottom: 128px;
  line-height: 0; }
  @media screen and (max-width: 768px) {
    .company-service .service_body {
      margin-top: 32px;
      padding-bottom: 64px; } }

.company-office .office_head .wrapper {
  padding-top: 96px; }
  @media screen and (max-width: 768px) {
    .company-office .office_head .wrapper {
      padding-top: 48px; } }
.company-office .office_head hgroup + * {
  margin-top: 64px; }
  @media screen and (max-width: 768px) {
    .company-office .office_head hgroup + * {
      margin-top: 32px; } }
.company-office .office_body {
  padding-top: 96px;
  padding-bottom: 96px; }
  @media screen and (max-width: 768px) {
    .company-office .office_body {
      padding-top: 48px;
      padding-bottom: 48px; } }
  .company-office .office_body .office_gallery .swiper-wrapper .swiper-slide {
    position: relative;
    z-index: 15;
    text-align: center;
    line-height: 0;
    overflow: hidden;
    overflow: hidden; }
    .company-office .office_body .office_gallery .swiper-wrapper .swiper-slide::before {
      content: "";
      position: absolute;
      inset: 0;
      background: var(--slide-bg) center/cover no-repeat;
      z-index: -10; }
    .company-office .office_body .office_gallery .swiper-wrapper .swiper-slide::after {
      content: "";
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      -webkit-backdrop-filter: blur(24px);
      backdrop-filter: blur(24px);
      z-index: -5; }
    .company-office .office_body .office_gallery .swiper-wrapper .swiper-slide img {
      width: 100%;
      max-width: 960px;
      height: auto;
      aspect-ratio: 3/2;
      overflow: hidden; }
  .company-office .office_body .office_gallery .swiper-button-prev, .company-office .office_body .office_gallery .swiper-button-next {
    display: none;
    width: auto;
    height: auto; }
    @media screen and (max-width: 768px) {
      .company-office .office_body .office_gallery .swiper-button-prev, .company-office .office_body .office_gallery .swiper-button-next {
        display: block; } }
    .company-office .office_body .office_gallery .swiper-button-prev::after, .company-office .office_body .office_gallery .swiper-button-next::after {
      display: none; }
  .company-office .office_body .office_gallery .swiper-button-prev .buttonicon {
    transform: rotate(180deg); }
  .company-office .office_body .office_gallery-thumbnail {
    position: relative;
    z-index: 15;
    width: calc(688px + ((32px + 36px) * 2));
    max-width: 100%;
    margin: 0 auto;
    margin-top: 32px;
    padding: 0 calc(32px + 36px); }
    @media screen and (max-width: 768px) {
      .company-office .office_body .office_gallery-thumbnail {
        margin-top: 24px;
        padding: 0; } }
    .company-office .office_body .office_gallery-thumbnail .swiper-wrapper .swiper-slide {
      position: relative;
      z-index: 15; }
      .company-office .office_body .office_gallery-thumbnail .swiper-wrapper .swiper-slide::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 0;
        background: var(--primary);
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      .company-office .office_body .office_gallery-thumbnail .swiper-wrapper .swiper-slide.swiper-slide-thumb-active::after {
        height: 6px;
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    .company-office .office_body .office_gallery-thumbnail::before, .company-office .office_body .office_gallery-thumbnail::after {
      content: '';
      display: block;
      width: calc(32px + 36px);
      height: 100%;
      background: var(--secondary);
      position: absolute;
      top: 0;
      z-index: 5; }
      @media screen and (max-width: 768px) {
        .company-office .office_body .office_gallery-thumbnail::before, .company-office .office_body .office_gallery-thumbnail::after {
          display: none; } }
    .company-office .office_body .office_gallery-thumbnail::before {
      left: 0; }
    .company-office .office_body .office_gallery-thumbnail::after {
      right: 0; }
    .company-office .office_body .office_gallery-thumbnail .swiper-button-prev, .company-office .office_body .office_gallery-thumbnail .swiper-button-next {
      display: block;
      width: auto;
      height: auto; }
      @media screen and (max-width: 768px) {
        .company-office .office_body .office_gallery-thumbnail .swiper-button-prev, .company-office .office_body .office_gallery-thumbnail .swiper-button-next {
          display: none; } }
      .company-office .office_body .office_gallery-thumbnail .swiper-button-prev::after, .company-office .office_body .office_gallery-thumbnail .swiper-button-next::after {
        display: none; }
    .company-office .office_body .office_gallery-thumbnail .swiper-button-prev .buttonicon {
      transform: rotate(180deg); }

.company-outline .wrapper {
  padding-top: 128px;
  padding-bottom: 128px; }
  @media screen and (max-width: 768px) {
    .company-outline .wrapper {
      padding-top: 64px;
      padding-bottom: 64px; } }
.company-outline .outline_head hgroup {
  text-align: center; }
  .company-outline .outline_head hgroup * {
    color: var(--primary); }
.company-outline .outline_body {
  margin-top: 64px; }
  @media screen and (max-width: 768px) {
    .company-outline .outline_body {
      margin-top: 32px; } }
  .company-outline .outline_body ul > li {
    display: flex;
    align-items: center;
    border-top: solid 1px var(--outline); }
    .company-outline .outline_body ul > li .head {
      flex: 248;
      padding: 24px 0; }
      @media screen and (max-width: 768px) {
        .company-outline .outline_body ul > li .head {
          flex: 96;
          padding: 16px 8px; } }
    .company-outline .outline_body ul > li .body {
      flex: 712;
      padding: 32px 24px; }
      @media screen and (max-width: 768px) {
        .company-outline .outline_body ul > li .body {
          flex: 246;
          padding: 16px 8px; } }

.company-pitch .wrapper {
  padding-top: 128px;
  padding-bottom: 128px; }
  @media screen and (max-width: 768px) {
    .company-pitch .wrapper {
      padding-top: 64px;
      padding-bottom: 64px; } }
.company-pitch .pitch_body {
  margin-top: 64px;
  aspect-ratio: 16/9; }
  @media screen and (max-width: 768px) {
    .company-pitch .pitch_body {
      margin-top: 32px; } }

.dna-outline .wrapper {
  display: flex;
  gap: 96px;
  padding-top: 96px;
  padding-bottom: 96px; }
  @media screen and (max-width: 768px) {
    .dna-outline .wrapper {
      flex-direction: column;
      gap: 48px;
      padding-top: 48px;
      padding-bottom: 48px; } }
  .dna-outline .wrapper > .text {
    flex: 522;
    display: flex;
    flex-direction: column;
    gap: 80px; }
    @media screen and (max-width: 768px) {
      .dna-outline .wrapper > .text {
        width: 100%;
        gap: 40px; } }
    .dna-outline .wrapper > .text dl {
      display: flex;
      flex-direction: column;
      gap: 32px; }
      @media screen and (max-width: 768px) {
        .dna-outline .wrapper > .text dl {
          gap: 24px; } }
  .dna-outline .wrapper > .image {
    flex: 566; }
    @media screen and (max-width: 768px) {
      .dna-outline .wrapper > .image {
        width: 100%; } }

.dna-purpose {
  background: var(--bg-gray);
  overflow: hidden; }
  .dna-purpose .purpose_head hgroup * {
    color: var(--primary); }
  .dna-purpose .purpose_head hgroup + * {
    margin-top: 64px; }
  .dna-purpose .purpose_head .wrapper {
    padding-top: 128px;
    padding-bottom: 128px; }
    @media screen and (max-width: 768px) {
      .dna-purpose .purpose_head .wrapper {
        padding-top: 64px;
        padding-bottom: 64px; } }
  .dna-purpose .purpose_body {
    max-width: 1440px;
    margin: 0 auto; }
    .dna-purpose .purpose_body .wrapper {
      padding-top: 64px;
      padding-bottom: 128px; }
      @media screen and (max-width: 768px) {
        .dna-purpose .purpose_body .wrapper {
          padding-top: 32px;
          padding-bottom: 64px; } }
    .dna-purpose .purpose_body ul > li {
      display: flex;
      gap: 96px;
      padding: 64px 0; }
      @media screen and (max-width: 768px) {
        .dna-purpose .purpose_body ul > li {
          gap: 48px;
          padding: 32px 0; } }
      .dna-purpose .purpose_body ul > li > .text {
        flex: 644; }
        @media screen and (max-width: 768px) {
          .dna-purpose .purpose_body ul > li > .text {
            width: 100%; } }
      .dna-purpose .purpose_body ul > li > .image {
        flex: 700;
        aspect-ratio: 1/1;
        overflow: hidden; }
        @media screen and (max-width: 768px) {
          .dna-purpose .purpose_body ul > li > .image {
            width: 100%; } }
      .dna-purpose .purpose_body ul > li:nth-child(2n-1) {
        flex-direction: row-reverse; }
        @media screen and (max-width: 768px) {
          .dna-purpose .purpose_body ul > li:nth-child(2n-1) {
            flex-direction: column-reverse; } }
        .dna-purpose .purpose_body ul > li:nth-child(2n-1) > .text p {
          padding-right: 128px; }
          @media screen and (max-width: 768px) {
            .dna-purpose .purpose_body ul > li:nth-child(2n-1) > .text p {
              padding: 0 24px; } }
      .dna-purpose .purpose_body ul > li:nth-child(2n) {
        flex-direction: row; }
        @media screen and (max-width: 768px) {
          .dna-purpose .purpose_body ul > li:nth-child(2n) {
            flex-direction: column; } }
        .dna-purpose .purpose_body ul > li:nth-child(2n) > .text p {
          padding-left: 128px; }
          @media screen and (max-width: 768px) {
            .dna-purpose .purpose_body ul > li:nth-child(2n) > .text p {
              padding: 0 24px; } }
  .dna-purpose .purpose_foot .wrapper {
    padding-top: 64px;
    padding-bottom: 101px; }
    @media screen and (max-width: 768px) {
      .dna-purpose .purpose_foot .wrapper {
        padding-top: 32px;
        padding-bottom: 64px; } }
  .dna-purpose .purpose_foot .foot_gallery {
    pointer-events: none; }
    .dna-purpose .purpose_foot .foot_gallery .slider > .slider__inner > .slider__item {
      width: 1440px;
      max-width: 100vw;
      margin: 0 64px;
      line-height: 0; }
      @media screen and (max-width: 768px) {
        .dna-purpose .purpose_foot .foot_gallery .slider > .slider__inner > .slider__item {
          margin: 0 32px; } }
    .dna-purpose .purpose_foot .foot_gallery .image {
      width: 100%;
      height: auto;
      max-height: 615px;
      aspect-ratio: 1440 / 614;
      background: url(images/dna/purpose-foot-02.jpg);
      background-repeat: repeat;
      background-position: center; }
      @media screen and (max-width: 768px) {
        .dna-purpose .purpose_foot .foot_gallery .image {
          background-size: cover; } }

.dna-mission {
  background: var(--secondary); }
  .dna-mission .wrapper {
    padding-top: 160px;
    padding-bottom: 160px; }
    @media screen and (max-width: 768px) {
      .dna-mission .wrapper {
        padding-top: 96px;
        padding-bottom: 96px; } }
  .dna-mission hgroup * {
    color: var(--primary); }
  .dna-mission hgroup + * {
    margin-top: 64px; }
  .dna-mission dl {
    display: flex;
    flex-direction: column;
    gap: 64px; }
    .dna-mission dl > dt {
      letter-spacing: .0205em; }

.dna-way {
  position: relative;
  z-index: 15;
  max-width: 1440px;
  margin: 0 auto;
  background: var(--primary);
  border-radius: 96px; }
  @media screen and (max-width: 768px) {
    .dna-way {
      border-radius: 24px; } }
  .dna-way .background {
    position: absolute;
    z-index: 5;
    width: 100%;
    height: 100%; }
    .dna-way .background .sticky {
      border-radius: 96px;
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        .dna-way .background .sticky {
          border-radius: 24px; } }
  .dna-way .wrapper {
    position: relative;
    z-index: 15;
    padding-top: 160px;
    padding-bottom: 160px;
    border-radius: 96px;
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      .dna-way .wrapper {
        padding-top: 96px;
        padding-bottom: 96px;
        border-radius: 24px; } }
  .dna-way .way_head * {
    color: var(--secondary); }
  .dna-way .way_head hgroup + * {
    margin-top: 64px; }
    @media screen and (max-width: 768px) {
      .dna-way .way_head hgroup + * {
        margin-top: 32px; } }
  .dna-way .way_body {
    margin-top: 64px; }
    @media screen and (max-width: 768px) {
      .dna-way .way_body {
        margin-top: 32px; } }
    .dna-way .way_body ul {
      display: flex;
      flex-direction: column;
      gap: 64px; }
      @media screen and (max-width: 768px) {
        .dna-way .way_body ul {
          gap: 32px; } }
      .dna-way .way_body ul > li {
        display: flex;
        align-items: center;
        flex-direction: row;
        gap: 0 96px;
        padding: 48px 80px;
        background: var(--secondary);
        border-radius: 8px;
        overflow: hidden; }
        @media screen and (max-width: 768px) {
          .dna-way .way_body ul > li {
            flex-direction: column-reverse;
            padding: 0; } }
        .dna-way .way_body ul > li > .text {
          flex: 468; }
          @media screen and (max-width: 768px) {
            .dna-way .way_body ul > li > .text {
              width: 100%;
              padding: 24px; } }
          .dna-way .way_body ul > li > .text dl {
            display: flex;
            flex-direction: column;
            gap: 24px; }
            .dna-way .way_body ul > li > .text dl dt {
              color: var(--primary); }
            .dna-way .way_body ul > li > .text dl + * {
              margin-top: 24px; }
          .dna-way .way_body ul > li > .text .description {
            display: flex;
            flex-direction: column-reverse;
            gap: 24px; }
            @media screen and (max-width: 768px) {
              .dna-way .way_body ul > li > .text .description {
                gap: 16px; } }
        .dna-way .way_body ul > li > .image {
          flex: 460; }
          @media screen and (max-width: 768px) {
            .dna-way .way_body ul > li > .image {
              width: 100%; } }
        .dna-way .way_body ul > li:nth-child(2n) {
          flex-direction: row-reverse; }
          @media screen and (max-width: 768px) {
            .dna-way .way_body ul > li:nth-child(2n) {
              flex-direction: column-reverse; } }

.dna-history {
  overflow: hidden; }
  .dna-history .wrapper {
    padding-top: 128px;
    padding-bottom: 128px; }
    @media screen and (max-width: 768px) {
      .dna-history .wrapper {
        padding-top: 64px;
        padding-bottom: 64px; } }
    .dna-history .wrapper .history_body {
      position: relative;
      z-index: 15; }
      .dna-history .wrapper .history_body .history_body_head > .title {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-top: 64px; }
        @media screen and (max-width: 768px) {
          .dna-history .wrapper .history_body .history_body_head > .title {
            margin-top: 32px; } }
        .dna-history .wrapper .history_body .history_body_head > .title dl {
          display: flex;
          align-items: center;
          gap: 32px; }
          @media screen and (max-width: 768px) {
            .dna-history .wrapper .history_body .history_body_head > .title dl {
              align-items: flex-start;
              flex-direction: column;
              gap: 0; } }
      .dna-history .wrapper .history_body .history_body_head + * {
        margin-top: 64px; }
        @media screen and (max-width: 768px) {
          .dna-history .wrapper .history_body .history_body_head + * {
            margin-top: 32px; } }
      .dna-history .wrapper .history_body .swiper {
        position: initial;
        overflow: visible; }
      .dna-history .wrapper .history_body > .history-thumbs {
        margin-left: -44px;
        margin-right: -44px; }
        @media screen and (max-width: 768px) {
          .dna-history .wrapper .history_body > .history-thumbs {
            margin-left: -7.5vw;
            margin-right: -12.5vw; } }
        .dna-history .wrapper .history_body > .history-thumbs > .swiper-wrapper > .swiper-slide {
          position: relative;
          z-index: 15;
          display: flex;
          flex-direction: column;
          align-items: center;
          gap: 7px;
          width: initial;
          width: 128px;
          color: var(--primary);
          cursor: pointer; }
          @media screen and (max-width: 768px) {
            .dna-history .wrapper .history_body > .history-thumbs > .swiper-wrapper > .swiper-slide {
              width: 25vw; } }
          .dna-history .wrapper .history_body > .history-thumbs > .swiper-wrapper > .swiper-slide::before {
            content: '';
            position: absolute;
            left: 64px;
            bottom: 12px;
            z-index: -1;
            display: block;
            width: 100%;
            height: 1px;
            background: var(--outline); }
          .dna-history .wrapper .history_body > .history-thumbs > .swiper-wrapper > .swiper-slide::after {
            content: '';
            display: block;
            width: 18px;
            height: 18px;
            background: var(--secondary);
            border: solid 3px var(--primary);
            border-radius: 50%; }
          .dna-history .wrapper .history_body > .history-thumbs > .swiper-wrapper > .swiper-slide:hover::after {
            background: var(--primary); }
      .dna-history .wrapper .history_body > .history-container > .swiper-wrapper {
        margin-top: 64px; }
        @media screen and (max-width: 768px) {
          .dna-history .wrapper .history_body > .history-container > .swiper-wrapper {
            margin-top: 32px; } }
        .dna-history .wrapper .history_body > .history-container > .swiper-wrapper > .swiper-slide {
          position: relative;
          z-index: 15;
          display: flex;
          flex-direction: column;
          height: auto;
          /*
          &::before {
           content: '';
           position: absolute;
           top: 40px;
           z-index: -1;
           display: block;
           width: calc(100% + 40px);
           height: 1px;
           background: var(--outline);
          }
          */ }
          .dna-history .wrapper .history_body > .history-container > .swiper-wrapper > .swiper-slide .year {
            color: var(--primary); }
      .dna-history .wrapper .history_body > .history-container .card_wrapper .attr {
        display: flex;
        align-items: center;
        flex-direction: column;
        gap: 4px;
        width: 40px;
        display: none; }
        .dna-history .wrapper .history_body > .history-container .card_wrapper .attr .year {
          white-space: nowrap; }
        .dna-history .wrapper .history_body > .history-container .card_wrapper .attr .circle {
          display: block;
          width: 24px;
          height: 24px;
          background: var(--secondary);
          border: solid 4px var(--primary);
          border-radius: 50%; }
      .dna-history .wrapper .history_body > .history-container .card_wrapper .card {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        height: 100%;
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
        border-radius: 8px;
        overflow: hidden; }
        .dna-history .wrapper .history_body > .history-container .card_wrapper .card > .text {
          display: flex;
          flex-direction: column;
          gap: 24px;
          padding: 40px 32px 68px; }
          @media screen and (max-width: 768px) {
            .dna-history .wrapper .history_body > .history-container .card_wrapper .card > .text {
              padding: 32px 24px; } }
          .dna-history .wrapper .history_body > .history-container .card_wrapper .card > .text dl {
            display: flex;
            flex-direction: column;
            gap: 24px; }
            @media screen and (max-width: 768px) {
              .dna-history .wrapper .history_body > .history-container .card_wrapper .card > .text dl {
                gap: 16px; } }
        .dna-history .wrapper .history_body > .history-container .card_wrapper .card > .image {
          aspect-ratio: 3/2;
          overflow: hidden;
          line-height: 0; }
      .dna-history .wrapper .history_body > .history-container .swiper-button_wrapper {
        position: absolute;
        z-index: 15;
        top: 0;
        right: 0;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: calc(16px * 2); }
        @media screen and (max-width: 768px) {
          .dna-history .wrapper .history_body > .history-container .swiper-button_wrapper {
            gap: 16px; } }
        .dna-history .wrapper .history_body > .history-container .swiper-button_wrapper .swiper-button-prev, .dna-history .wrapper .history_body > .history-container .swiper-button_wrapper .swiper-button-next {
          position: relative;
          top: initial;
          left: initial;
          right: initial;
          bottom: initial;
          width: auto;
          height: auto;
          margin: initial;
          padding: initial; }
          .dna-history .wrapper .history_body > .history-container .swiper-button_wrapper .swiper-button-prev::after, .dna-history .wrapper .history_body > .history-container .swiper-button_wrapper .swiper-button-next::after {
            display: none; }
        .dna-history .wrapper .history_body > .history-container .swiper-button_wrapper .swiper-button-prev {
          transform: rotate(180deg); }

.dna-concept .wrapper {
  display: flex;
  flex-direction: column;
  gap: 64px;
  padding-top: 96px;
  padding-bottom: 96px; }
  @media screen and (max-width: 768px) {
    .dna-concept .wrapper {
      gap: 32px;
      padding-top: 48px;
      padding-bottom: 48px; } }
  .dna-concept .wrapper > .text {
    width: 700px;
    max-width: 100%;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      .dna-concept .wrapper > .text p {
        font-size: 14px; } }
  .dna-concept .wrapper > .image {
    padding: 92px 124px; }
    @media screen and (max-width: 768px) {
      .dna-concept .wrapper > .image {
        padding: 32px 12px; } }

.dna-pager {
  position: relative;
  z-index: 15;
  display: block;
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  .dna-pager .primary {
    background: var(--primary); }
    .dna-pager .primary .wrapper dl * {
      color: var(--bg-gray); }
  .dna-pager .secondary {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--bg-gray);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  .dna-pager .wrapper {
    padding-top: 96px;
    padding-bottom: 96px; }
    @media screen and (max-width: 768px) {
      .dna-pager .wrapper {
        padding-top: 48px;
        padding-bottom: 48px; } }
    .dna-pager .wrapper dl * {
      color: var(--primary); }
  .dna-pager:hover .secondary {
    clip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }

.more {
  display: flex;
  align-items: center;
  gap: 8px;
  text-transform: uppercase;
  cursor: pointer; }
  .more svg {
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  .more.red {
    color: var(--primary); }
  .more.right {
    margin-left: auto;
    margin-right: 0; }
  .more::before {
    content: 'read more';
    display: block; }
  .more.open::before {
    content: 'close'; }
  .more.open svg {
    transform: rotate(-180deg);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }

.tgr_parents {
  cursor: pointer; }

.job-vision {
  position: relative;
  z-index: 15;
  margin-top: 72px;
  overflow: hidden; }
  .job-vision .background {
    position: absolute;
    top: 0;
    z-index: 0;
    width: 100%;
    height: 100%; }
    .job-vision .background.gsap_blur {
      filter: blur(0); }
    .job-vision .background .vision_graphics {
      width: 100%;
      max-width: 1312px;
      margin: 0 auto;
      padding: 0 64px; }
      @media screen and (max-width: 768px) {
        .job-vision .background .vision_graphics {
          padding: 160px 0; } }
      .job-vision .background .vision_graphics img {
        width: 1440px;
        max-width: initial;
        height: auto; }
        @media screen and (max-width: 768px) {
          .job-vision .background .vision_graphics img {
            width: 100%; } }
  .job-vision .wrapper {
    position: relative;
    z-index: 15;
    padding-bottom: 160px; }
    @media screen and (max-width: 768px) {
      .job-vision .wrapper {
        padding-bottom: 64px; } }
  .job-vision .vision_head {
    display: flex;
    flex-direction: column;
    gap: 622px;
    padding-top: 72px;
    padding-bottom: 153px; }
    @media screen and (max-width: 768px) {
      .job-vision .vision_head {
        gap: 552px;
        padding-bottom: 40px; } }
    .job-vision .vision_head > .head * {
      color: var(--primary); }
    @media screen and (max-width: 768px) {
      .job-vision .vision_head > .head .b128 {
        font-size: 6.97em; } }
    .job-vision .vision_head > .body {
      max-width: 596px; }
  .job-vision .vision_body {
    padding-top: 128px; }
    @media screen and (max-width: 768px) {
      .job-vision .vision_body {
        padding-top: 64px; } }
    .job-vision .vision_body ul.list {
      display: flex;
      flex-direction: column;
      gap: 96px; }
      @media screen and (max-width: 768px) {
        .job-vision .vision_body ul.list {
          gap: 64px; } }
      .job-vision .vision_body ul.list > li {
        display: flex;
        align-items: center;
        gap: 24px 96px; }
        .job-vision .vision_body ul.list > li > .text {
          flex: 522; }
          .job-vision .vision_body ul.list > li > .text .title {
            color: var(--primary); }
            .job-vision .vision_body ul.list > li > .text .title + * {
              margin-top: 24px; }
              @media screen and (max-width: 768px) {
                .job-vision .vision_body ul.list > li > .text .title + * {
                  margin-top: 16px; } }
          .job-vision .vision_body ul.list > li > .text .lead {
            letter-spacing: .0615em; }
            .job-vision .vision_body ul.list > li > .text .lead + * {
              margin-top: 24px; }
              @media screen and (max-width: 768px) {
                .job-vision .vision_body ul.list > li > .text .lead + * {
                  margin-top: 16px; } }
          .job-vision .vision_body ul.list > li > .text .description {
            display: flex;
            flex-direction: column;
            gap: 24px; }
            @media screen and (max-width: 768px) {
              .job-vision .vision_body ul.list > li > .text .description {
                gap: 16px; } }
        .job-vision .vision_body ul.list > li > .image {
          flex: 566;
          border-radius: 8px;
          overflow: hidden; }
        .job-vision .vision_body ul.list > li:nth-child(2n-1) {
          flex-direction: row; }
          @media screen and (max-width: 768px) {
            .job-vision .vision_body ul.list > li:nth-child(2n-1) {
              flex-direction: column; } }
        .job-vision .vision_body ul.list > li:nth-child(2n) {
          flex-direction: row-reverse; }
          @media screen and (max-width: 768px) {
            .job-vision .vision_body ul.list > li:nth-child(2n) {
              flex-direction: column; } }

.job-type .wrapper {
  padding-top: 128px;
  padding-bottom: 128px; }
  @media screen and (max-width: 768px) {
    .job-type .wrapper {
      padding-top: 64px;
      padding-bottom: 96px; } }
.job-type .type_head hgroup + * {
  margin-top: 64px; }
  @media screen and (max-width: 768px) {
    .job-type .type_head hgroup + * {
      margin-top: 32px; } }
.job-type .type_body {
  margin-top: 64px; }
  @media screen and (max-width: 768px) {
    .job-type .type_body {
      margin-top: 32px; } }
  .job-type .type_body ul.main {
    display: flex;
    flex-direction: column;
    gap: 64px; }
    @media screen and (max-width: 768px) {
      .job-type .type_body ul.main {
        gap: 32px; } }
    .job-type .type_body ul.main > li > .head {
      position: relative;
      z-index: 15;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column-reverse;
      gap: 8px;
      aspect-ratio: 1184/400;
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        .job-type .type_body ul.main > li > .head {
          aspect-ratio: 342/135.54; } }
      .job-type .type_body ul.main > li > .head > .background {
        position: absolute;
        z-index: -1;
        background: #000; }
        .job-type .type_body ul.main > li > .head > .background img {
          opacity: .7; }
      .job-type .type_body ul.main > li > .head > .buttonicon {
        position: absolute;
        right: 20px;
        bottom: 20px;
        z-index: 20; }
        @media screen and (max-width: 768px) {
          .job-type .type_body ul.main > li > .head > .buttonicon {
            display: none;
            right: 8px;
            bottom: 8px; } }
        .job-type .type_body ul.main > li > .head > .buttonicon img {
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        .job-type .type_body ul.main > li > .head > .buttonicon::before {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          display: block;
          width: 100%;
          height: 100%;
          border-radius: 50%;
          background: var(--primary);
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      .job-type .type_body ul.main > li > .head .title {
        position: relative;
        z-index: 25;
        color: var(--secondary); }
      .job-type .type_body ul.main > li > .head:hover > .buttonicon img {
        transform: rotate(90deg);
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      .job-type .type_body ul.main > li > .head:hover > .buttonicon::before {
        transform: scale(35);
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      .job-type .type_body ul.main > li > .head.open > .buttonicon img {
        transform: rotate(45deg);
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      .job-type .type_body ul.main > li > .head.open > .buttonicon::before {
        transform: scale(35);
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      .job-type .type_body ul.main > li > .head.open .visible-xs {
        display: none !important; }
    .job-type .type_body ul.main > li > .body {
      padding: 64px; }
      @media screen and (max-width: 768px) {
        .job-type .type_body ul.main > li > .body {
          padding: 32px 8px; } }
      .job-type .type_body ul.main > li > .body > .body_head {
        display: flex;
        gap: 48px 96px; }
        @media screen and (max-width: 768px) {
          .job-type .type_body ul.main > li > .body > .body_head {
            flex-direction: column; } }
        .job-type .type_body ul.main > li > .body > .body_head > .text {
          flex: 394; }
          @media screen and (max-width: 768px) {
            .job-type .type_body ul.main > li > .body > .body_head > .text {
              width: 100%; } }
        .job-type .type_body ul.main > li > .body > .body_head > .image {
          flex: 565; }
          @media screen and (max-width: 768px) {
            .job-type .type_body ul.main > li > .body > .body_head > .image {
              width: 100%; } }
        .job-type .type_body ul.main > li > .body > .body_head dl {
          display: flex;
          flex-direction: column;
          gap: 32px; }
          @media screen and (max-width: 768px) {
            .job-type .type_body ul.main > li > .body > .body_head dl {
              gap: 24px; } }
          .job-type .type_body ul.main > li > .body > .body_head dl ~ dl {
            margin-top: 80px; }
            @media screen and (max-width: 768px) {
              .job-type .type_body ul.main > li > .body > .body_head dl ~ dl {
                margin-top: 40px; } }
      .job-type .type_body ul.main > li > .body > .body_body {
        margin-top: 64px;
        padding-top: 64px;
        border-top: solid 1px var(--outline); }
        .job-type .type_body ul.main > li > .body > .body_body dl {
          display: flex;
          flex-direction: column;
          gap: 32px; }
          @media screen and (max-width: 768px) {
            .job-type .type_body ul.main > li > .body > .body_body dl {
              gap: 16px; } }
          .job-type .type_body ul.main > li > .body > .body_body dl ~ dl {
            margin-top: 40px; }
            @media screen and (max-width: 768px) {
              .job-type .type_body ul.main > li > .body > .body_body dl ~ dl {
                margin-top: 20px; } }
  .job-type .type_body ul.disc {
    padding-left: 1em; }
    .job-type .type_body ul.disc > li {
      list-style-type: disc; }
  .job-type .type_body ul.demical {
    padding-left: 1em; }
    .job-type .type_body ul.demical > li {
      list-style-type: decimal; }

.job-style {
  background: var(--bg-black); }
  .job-style .style_head .image {
    width: 100%;
    max-height: calc(1440px / 18 * 5);
    aspect-ratio: 18/5;
    overflow: hidden;
    line-height: 0; }
  .job-style .style_head > .wrapper {
    padding-top: 0;
    padding-bottom: 0; }
    .job-style .style_head > .wrapper hgroup h2 {
      transform: translateY(-50%);
      color: var(--secondary);
      line-height: 1; }
  .job-style .style_body .wrapper {
    padding-top: 96px;
    padding-bottom: 96px; }
    @media screen and (max-width: 768px) {
      .job-style .style_body .wrapper {
        padding-top: 48px;
        padding-bottom: 48px; } }
    .job-style .style_body .wrapper * {
      color: var(--secondary); }
    .job-style .style_body .wrapper dl {
      display: flex;
      flex-direction: column;
      gap: 32px; }
  .job-style .style_foot {
    padding-bottom: 128px;
    background: linear-gradient(to bottom, var(--bg-black) 25%, var(--bg-gray) 25%); }
    @media screen and (max-width: 768px) {
      .job-style .style_foot {
        padding-bottom: 64px; } }
    .job-style .style_foot .wrapper {
      padding: 0 24px; }
    .job-style .style_foot .card {
      display: flex;
      flex-direction: column;
      background: var(--secondary);
      border-radius: 8px;
      overflow: hidden;
      box-shadow: 0 8px 32px #0000001A;
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      .job-style .style_foot .card > .image {
        aspect-ratio: 400/353; }
      .job-style .style_foot .card > .text {
        display: flex;
        flex-direction: column;
        gap: 16px;
        padding: 40px 32px; }
        @media screen and (max-width: 768px) {
          .job-style .style_foot .card > .text {
            gap: 8px;
            padding: 24px; } }
        .job-style .style_foot .card > .text .type, .job-style .style_foot .card > .text .title {
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        .job-style .style_foot .card > .text .type {
          display: flex;
          align-items: center;
          column-gap: 7px;
          color: var(--primary); }
          .job-style .style_foot .card > .text .type::before {
            content: '';
            display: block;
            width: 8px;
            height: 8px;
            border-radius: 8px;
            background: var(--primary); }
      .job-style .style_foot .card:hover {
        background: var(--primary-90);
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        .job-style .style_foot .card:hover > .text .type, .job-style .style_foot .card:hover > .text .title {
          color: var(--secondary);
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }

.job-benefit .wrapper {
  padding-top: 128px;
  padding-bottom: 128px; }
  @media screen and (max-width: 768px) {
    .job-benefit .wrapper {
      padding-top: 64px;
      padding-bottom: 0; } }
.job-benefit .benefit_head {
  text-align: center; }
  @media screen and (max-width: 768px) {
    .job-benefit .benefit_head {
      text-align: left; } }
  .job-benefit .benefit_head hgroup > * {
    color: var(--primary); }
  .job-benefit .benefit_head hgroup + * {
    margin-top: 64px; }
    @media screen and (max-width: 768px) {
      .job-benefit .benefit_head hgroup + * {
        margin-top: 32px; } }
.job-benefit .benefit_body {
  margin-top: 64px; }
  @media screen and (max-width: 768px) {
    .job-benefit .benefit_body {
      margin-top: 32px; } }
  .job-benefit .benefit_body ul {
    width: 100%;
    max-width: 960px;
    margin: 0 auto; }
    .job-benefit .benefit_body ul > li {
      display: flex;
      border-top: solid 1px var(--outline); }
      .job-benefit .benefit_body ul > li > .head {
        flex: 248;
        padding: 32px 24px; }
      .job-benefit .benefit_body ul > li > .body {
        flex: 712;
        padding: 32px 24px; }
.job-benefit .benefit_foot {
  margin-top: 64px;
  padding-bottom: 120px; }
  .job-benefit .benefit_foot .column {
    display: flex;
    justify-content: center;
    gap: 0 96px; }
    @media screen and (max-width: 768px) {
      .job-benefit .benefit_foot .column {
        flex-direction: column; } }
    .job-benefit .benefit_foot .column:nth-child(1) .pin:first-child {
      margin-top: 96px; }
      @media screen and (max-width: 768px) {
        .job-benefit .benefit_foot .column:nth-child(1) .pin:first-child {
          margin-top: 0; } }
    @media screen and (max-width: 768px) {
      .job-benefit .benefit_foot .column:nth-child(2) {
        flex-direction: column-reverse; } }
    .job-benefit .benefit_foot .column:nth-child(2) .pin:first-child {
      margin-top: 192px; }
      @media screen and (max-width: 768px) {
        .job-benefit .benefit_foot .column:nth-child(2) .pin:first-child {
          margin-top: 0; } }
    .job-benefit .benefit_foot .column .pin {
      position: relative;
      z-index: 15;
      display: flex;
      align-items: center;
      justify-content: center;
      transform: rotate(45deg);
      border-radius: 50% 50% 8px 50%;
      text-align: center;
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      .job-benefit .benefit_foot .column .pin.red {
        background: var(--primary); }
        .job-benefit .benefit_foot .column .pin.red * {
          color: var(--secondary);
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      .job-benefit .benefit_foot .column .pin.gray {
        background: var(--bg-gray); }
        @media screen and (max-width: 768px) {
          .job-benefit .benefit_foot .column .pin.gray {
            margin-left: auto; } }
      .job-benefit .benefit_foot .column .pin.large {
        width: 340px;
        height: 340px; }
        @media screen and (max-width: 768px) {
          .job-benefit .benefit_foot .column .pin.large {
            width: 240px;
            height: 240px; } }
      .job-benefit .benefit_foot .column .pin.medium {
        width: 280px;
        height: 280px; }
        @media screen and (max-width: 768px) {
          .job-benefit .benefit_foot .column .pin.medium {
            width: 210px;
            height: 210px; } }
      .job-benefit .benefit_foot .column .pin:has(.modal_button) {
        border: solid 4px var(--secondary); }
        .job-benefit .benefit_foot .column .pin:has(.modal_button):hover {
          border: solid 4px var(--primary);
          background: var(--secondary);
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
          .job-benefit .benefit_foot .column .pin:has(.modal_button):hover * {
            color: var(--primary);
            transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
          .job-benefit .benefit_foot .column .pin:has(.modal_button):hover .modal_button {
            transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
            .job-benefit .benefit_foot .column .pin:has(.modal_button):hover .modal_button .text {
              transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
              -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
              -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
              -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
            .job-benefit .benefit_foot .column .pin:has(.modal_button):hover .modal_button .icon {
              background: var(--primary);
              transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
              -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
              -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
              -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
              .job-benefit .benefit_foot .column .pin:has(.modal_button):hover .modal_button .icon img {
                filter: brightness(0) invert(1);
                transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
                -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
                -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
                -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      .job-benefit .benefit_foot .column .pin .inner {
        display: flex;
        align-items: center;
        flex-direction: column;
        gap: 12px;
        transform: rotate(-45deg); }
        @media screen and (max-width: 768px) {
          .job-benefit .benefit_foot .column .pin .inner {
            gap: 8px; }
            .job-benefit .benefit_foot .column .pin .inner img {
              width: 40px;
              height: 40px; } }
      .job-benefit .benefit_foot .column .pin .modal_button {
        position: absolute;
        right: 0;
        bottom: 0;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        flex-direction: column;
        gap: 8px;
        width: 100%;
        height: 100%;
        transform: rotate(-45deg);
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        .job-benefit .benefit_foot .column .pin .modal_button .text {
          text-transform: uppercase;
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        .job-benefit .benefit_foot .column .pin .modal_button .icon {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 32px;
          height: 32px;
          background: var(--secondary);
          border-radius: 50%;
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
          .job-benefit .benefit_foot .column .pin .modal_button .icon img {
            transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }

.job-career {
  background: var(--bg-gray); }
  .job-career .academy_head .wrapper {
    padding-top: 128px; }
    @media screen and (max-width: 768px) {
      .job-career .academy_head .wrapper {
        padding-top: 64px; } }
  .job-career .academy_head hgroup * {
    color: var(--primary); }
  .job-career .academy_head hgroup + * {
    margin-top: 64px; }
    @media screen and (max-width: 768px) {
      .job-career .academy_head hgroup + * {
        margin-top: 32px; } }
  .job-career .academy_head .academy_head_content {
    display: flex;
    flex-direction: column;
    gap: 64px;
    padding: 64px 56px;
    background: var(--primary);
    border-radius: 12px; }
    @media screen and (max-width: 768px) {
      .job-career .academy_head .academy_head_content {
        gap: 40px;
        padding: 48px 24px; } }
    .job-career .academy_head .academy_head_content > dl {
      display: flex;
      align-items: center;
      flex-direction: column;
      gap: 40px;
      text-align: center; }
      @media screen and (max-width: 768px) {
        .job-career .academy_head .academy_head_content > dl {
          gap: 16px; } }
      .job-career .academy_head .academy_head_content > dl * {
        color: var(--secondary); }
    .job-career .academy_head .academy_head_content ul {
      display: flex;
      gap: 32px 24px; }
      @media screen and (max-width: 768px) {
        .job-career .academy_head .academy_head_content ul {
          flex-direction: column; } }
      .job-career .academy_head .academy_head_content ul > li {
        flex: 1;
        padding: 40px 32px;
        background: var(--secondary);
        border-radius: 8px; }
        @media screen and (max-width: 768px) {
          .job-career .academy_head .academy_head_content ul > li {
            padding: 32px 24px; } }
        .job-career .academy_head .academy_head_content ul > li dl {
          display: flex;
          flex-direction: column;
          gap: 24px; }
          @media screen and (max-width: 768px) {
            .job-career .academy_head .academy_head_content ul > li dl {
              gap: 16px; } }
          .job-career .academy_head .academy_head_content ul > li dl > dt {
            line-height: 1.65;
            color: var(--primary); }
  .job-career .academy_body {
    position: relative;
    z-index: 15; }
    .job-career .academy_body .wrapper {
      padding-top: 128px;
      padding-bottom: 200px; }
      @media screen and (max-width: 768px) {
        .job-career .academy_body .wrapper {
          padding-top: 64px; } }
    .job-career .academy_body .academy_body_content {
      width: 100%;
      max-width: 960px;
      display: flex;
      flex-direction: column;
      gap: 64px;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        .job-career .academy_body .academy_body_content {
          gap: 32px; } }
      .job-career .academy_body .academy_body_content .title {
        text-align: center; }
      .job-career .academy_body .academy_body_content ~ .academy_body_content {
        margin-top: 128px; }
        @media screen and (max-width: 768px) {
          .job-career .academy_body .academy_body_content ~ .academy_body_content {
            margin-top: 64px; } }
      .job-career .academy_body .academy_body_content.academy_body_vision > ul {
        display: flex;
        flex-direction: column;
        gap: 20px; }
        .job-career .academy_body .academy_body_content.academy_body_vision > ul > li {
          display: flex;
          gap: 16px 32px;
          padding: 32px 40px;
          background: var(--secondary);
          border-radius: 8px;
          overflow: hidden;
          box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); }
          @media screen and (max-width: 768px) {
            .job-career .academy_body .academy_body_content.academy_body_vision > ul > li {
              align-items: center;
              flex-direction: column;
              padding: 32px 24px; } }
          .job-career .academy_body .academy_body_content.academy_body_vision > ul > li > .image {
            width: 120px;
            height: 120px; }
          .job-career .academy_body .academy_body_content.academy_body_vision > ul > li > .text {
            flex: 1; }
            .job-career .academy_body .academy_body_content.academy_body_vision > ul > li > .text dl {
              display: flex;
              flex-direction: column;
              gap: 12px; }
              .job-career .academy_body .academy_body_content.academy_body_vision > ul > li > .text dl > dt {
                color: var(--primary); }
          .job-career .academy_body .academy_body_content.academy_body_vision > ul > li.arrow {
            padding: 0;
            background: transparent;
            border-radius: 0;
            box-shadow: none; }
            .job-career .academy_body .academy_body_content.academy_body_vision > ul > li.arrow::after {
              content: '';
              display: block;
              width: 40px;
              height: 35px;
              margin: 0 auto;
              background: url(images/job/academy-arrow.svg);
              background-size: cover; }
              @media screen and (max-width: 768px) {
                .job-career .academy_body .academy_body_content.academy_body_vision > ul > li.arrow::after {
                  width: calc(40px / 4 * 3);
                  height: calc(35px / 4 * 3); } }
      .job-career .academy_body .academy_body_content.academy_body_vision ul.demical {
        padding-left: 1.2em; }
        .job-career .academy_body .academy_body_content.academy_body_vision ul.demical > li {
          list-style-type: decimal; }
      .job-career .academy_body .academy_body_content.academy_body_curriculum .table_wrapper {
        position: relative;
        width: calc(100% + 24px);
        padding-right: 24px; }
        @media screen and (max-width: 768px) {
          .job-career .academy_body .academy_body_content.academy_body_curriculum .table_wrapper {
            overflow: scroll;
            -webkit-overflow-scrolling: touch; } }
      .job-career .academy_body .academy_body_content.academy_body_curriculum .scroll-hint {
        position: absolute;
        top: 151px;
        right: 80px;
        display: none;
        align-items: center;
        flex-direction: column;
        padding: 16px 32px;
        background: #0F151A99;
        color: var(--secondary);
        border-radius: 12px;
        pointer-events: none;
        transition: opacity 0.3s;
        opacity: 1; }
        @media screen and (max-width: 768px) {
          .job-career .academy_body .academy_body_content.academy_body_curriculum .scroll-hint {
            display: flex; } }
        .job-career .academy_body .academy_body_content.academy_body_curriculum .scroll-hint.hidden {
          opacity: 0; }
      .job-career .academy_body .academy_body_content.academy_body_curriculum table {
        width: 100%; }
        @media screen and (max-width: 768px) {
          .job-career .academy_body .academy_body_content.academy_body_curriculum table {
            width: 300%; } }
        .job-career .academy_body .academy_body_content.academy_body_curriculum table thead tr th {
          padding: 16px 8px;
          background: var(--primary);
          border: solid 4px var(--bg-gray);
          color: var(--secondary); }
        .job-career .academy_body .academy_body_content.academy_body_curriculum table thead tr td {
          background: transparent;
          border: solid 4px var(--bg-gray); }
        .job-career .academy_body .academy_body_content.academy_body_curriculum table tbody tr th {
          width: 80px;
          padding: 16px 8px;
          border: solid 4px var(--bg-gray);
          writing-mode: vertical-rl;
          -webkit-writing-mode: vertical-rl;
          -moz-writing-mode: vertical-rl;
          text-orientation: upright; }
          .job-career .academy_body .academy_body_content.academy_body_curriculum table tbody tr th.level1 {
            background: var(--outline); }
          .job-career .academy_body .academy_body_content.academy_body_curriculum table tbody tr th.level2 {
            background: var(--black);
            color: var(--secondary); }
          .job-career .academy_body .academy_body_content.academy_body_curriculum table tbody tr th span {
            white-space: pre;
            writing-mode: vertical-rl;
            display: inline-block; }
        .job-career .academy_body .academy_body_content.academy_body_curriculum table tbody tr td {
          padding: 16px 8px;
          background: var(--secondary);
          border: solid 4px var(--bg-gray);
          text-align: center; }
      .job-career .academy_body .academy_body_content.academy_body_curriculum .caption {
        margin-top: 16px; }

.modal_wrapper {
  position: fixed;
  inset: 0;
  display: none;
  place-items: center;
  padding: 0 64px;
  background: var(--primary-90);
  z-index: 99999;
  opacity: 0;
  visibility: hidden;
  transform: scale(0.96);
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  @media screen and (max-width: 768px) {
    .modal_wrapper {
      padding: 24px; } }
  .modal_wrapper.is-open {
    display: grid;
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  .modal_wrapper .modal_box {
    max-width: min(100%, 1200px);
    max-height: 100%;
    background: var(--secondary);
    border-radius: 20px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); }
    @media screen and (max-width: 768px) {
      .modal_wrapper .modal_box {
        overflow: scroll;
        -webkit-overflow-scrolling: touch; } }
    .modal_wrapper .modal_box .modal_head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 20px;
      padding: 48px 80px;
      border-bottom: solid 1px var(--outline); }
      @media screen and (max-width: 768px) {
        .modal_wrapper .modal_box .modal_head {
          padding: 24px; } }
      .modal_wrapper .modal_box .modal_head * {
        color: var(--primary); }
    .modal_wrapper .modal_box .modal_body {
      display: flex;
      align-items: center;
      gap: 40px 80px;
      padding: 64px 80px; }
      @media screen and (max-width: 768px) {
        .modal_wrapper .modal_box .modal_body {
          flex-direction: column;
          padding: 32px 24px; } }
      .modal_wrapper .modal_box .modal_body > .text {
        flex: 454; }
        .modal_wrapper .modal_box .modal_body > .text dl {
          display: flex;
          flex-direction: column-reverse; }
          .modal_wrapper .modal_box .modal_body > .text dl > dd {
            color: var(--primary); }
          .modal_wrapper .modal_box .modal_body > .text dl + * {
            margin-top: 24px; }
      .modal_wrapper .modal_box .modal_body > .image {
        flex: 506; }
    .modal_wrapper .modal_box .modal_close {
      border: none;
      cursor: pointer; }

body.modal-open {
  overflow: hidden; }

.recruit_introduction .wrapper {
  padding-top: 128px;
  padding-bottom: 128px; }
  @media screen and (max-width: 768px) {
    .recruit_introduction .wrapper {
      padding-top: 64px;
      padding-bottom: 64px; } }
.recruit_introduction dl {
  display: flex;
  flex-direction: column;
  gap: 64px; }
  .recruit_introduction dl > dt {
    letter-spacing: .041em; }

.recruit_position .wrapper {
  padding-top: 128px;
  padding-bottom: 128px; }
  @media screen and (max-width: 768px) {
    .recruit_position .wrapper {
      padding-top: 64px;
      padding-bottom: 64px; } }
.recruit_position .position_body {
  display: flex;
  gap: 64px;
  margin-top: 64px; }
  @media screen and (max-width: 768px) {
    .recruit_position .position_body {
      flex-direction: column;
      gap: 32px;
      margin-top: 32px; } }
  .recruit_position .position_body > .side {
    flex: 320; }
    @media screen and (max-width: 768px) {
      .recruit_position .position_body > .side {
        width: 100%; } }
    @media screen and (max-width: 768px) {
      .recruit_position .position_body > .side ul {
        display: flex; } }
    @media screen and (max-width: 768px) {
      .recruit_position .position_body > .side ul > li {
        flex: 1; } }
    .recruit_position .position_body > .side ul > li a {
      display: flex;
      align-items: center;
      gap: 16px;
      height: 80px;
      padding: 0 32px; }
      @media screen and (max-width: 768px) {
        .recruit_position .position_body > .side ul > li a {
          justify-content: center;
          height: 54px; } }
      .recruit_position .position_body > .side ul > li a > .icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        background: var(--bg-black);
        border-radius: 50%;
        overflow: hidden;
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        @media screen and (max-width: 768px) {
          .recruit_position .position_body > .side ul > li a > .icon {
            display: none; } }
        .recruit_position .position_body > .side ul > li a > .icon img {
          width: 14px;
          height: 14px;
          filter: brightness(0) invert(1); }
      .recruit_position .position_body > .side ul > li a > .text {
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    .recruit_position .position_body > .side ul > li:hover {
      background: var(--bg-gray); }
    @media screen and (max-width: 768px) {
      .recruit_position .position_body > .side ul > li.active {
        background: var(--primary); } }
    .recruit_position .position_body > .side ul > li.active a > .icon {
      background: var(--primary);
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    .recruit_position .position_body > .side ul > li.active a > .text {
      color: var(--primary);
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      @media screen and (max-width: 768px) {
        .recruit_position .position_body > .side ul > li.active a > .text {
          color: var(--secondary); } }
  .recruit_position .position_body > .main {
    flex: 800; }
    @media screen and (max-width: 768px) {
      .recruit_position .position_body > .main {
        width: 100%; } }
    .recruit_position .position_body > .main ul.post {
      display: flex;
      flex-direction: column;
      gap: 96px; }
      @media screen and (max-width: 768px) {
        .recruit_position .position_body > .main ul.post {
          gap: 48px; } }
      .recruit_position .position_body > .main ul.post > li a.card {
        display: flex;
        flex-direction: column;
        gap: 40px; }
        @media screen and (max-width: 768px) {
          .recruit_position .position_body > .main ul.post > li a.card {
            gap: 24px; } }
        .recruit_position .position_body > .main ul.post > li a.card > .image {
          position: relative;
          z-index: 15;
          display: flex;
          align-items: center;
          justify-content: center;
          aspect-ratio: 800/450;
          overflow: hidden;
          line-height: 0; }
          .recruit_position .position_body > .main ul.post > li a.card > .image .background {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%; }
          .recruit_position .position_body > .main ul.post > li a.card > .image img {
            transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
          .recruit_position .position_body > .main ul.post > li a.card > .image .fill {
            position: relative;
            opacity: 0;
            transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        .recruit_position .position_body > .main ul.post > li a.card > .text {
          padding: 0 32px; }
          @media screen and (max-width: 768px) {
            .recruit_position .position_body > .main ul.post > li a.card > .text {
              padding: 0 8px; } }
          .recruit_position .position_body > .main ul.post > li a.card > .text ul.attr {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 8px; }
            .recruit_position .position_body > .main ul.post > li a.card > .text ul.attr > li {
              display: flex;
              align-items: center;
              min-height: 31px;
              padding: 4px 12px;
              background: var(--bg-gray);
              border-radius: 31px; }
              @media screen and (max-width: 768px) {
                .recruit_position .position_body > .main ul.post > li a.card > .text ul.attr > li {
                  min-height: 26px; } }
          .recruit_position .position_body > .main ul.post > li a.card > .text dl {
            display: flex;
            flex-direction: column;
            gap: 16px;
            margin-top: 16px; }
            .recruit_position .position_body > .main ul.post > li a.card > .text dl > dt {
              transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
              -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
              -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
              -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        .recruit_position .position_body > .main ul.post > li a.card:hover > .image img {
          filter: brightness(0.7);
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
          @media screen and (max-width: 768px) {
            .recruit_position .position_body > .main ul.post > li a.card:hover > .image img {
              filter: brightness(1); } }
        .recruit_position .position_body > .main ul.post > li a.card:hover > .image .fill {
          opacity: 1;
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
          @media screen and (max-width: 768px) {
            .recruit_position .position_body > .main ul.post > li a.card:hover > .image .fill {
              opacity: 0; } }
        .recruit_position .position_body > .main ul.post > li a.card:hover > .text dl > dt {
          color: var(--primary);
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }

#single_header {
  min-height: 200px;
  padding-top: 128px;
  padding-bottom: 64px; }
  @media screen and (max-width: 768px) {
    #single_header {
      padding-top: 64px;
      padding-bottom: 32px; } }
  #single_header .wrapper {
    position: relative;
    z-index: 15;
    width: 100%;
    max-width: 1312px;
    margin: 0 auto;
    padding: 0 64px;
    padding-top: 64px;
    padding-bottom: 64px; }
    @media screen and (max-width: 768px) {
      #single_header .wrapper {
        padding: 0 24px;
        padding-top: 32px;
        padding-bottom: 32px; } }
  #single_header h1 {
    color: var(--bg-black); }
    #single_header h1 + * {
      margin-top: 32px; }
      @media screen and (max-width: 768px) {
        #single_header h1 + * {
          margin-top: 24px; } }
  #single_header ul.attr {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px; }
    #single_header ul.attr > li {
      display: flex;
      align-items: center;
      min-height: 31px;
      padding: 4px 12px;
      background: var(--bg-gray);
      border-radius: 31px; }
      @media screen and (max-width: 768px) {
        #single_header ul.attr > li {
          min-height: 26px; } }
  #single_header.interview_header {
    position: relative;
    z-index: 15; }
    @media screen and (max-width: 768px) {
      #single_header.interview_header {
        padding-bottom: 0; }
        #single_header.interview_header .wrapper {
          padding-bottom: 0; } }
    #single_header.interview_header .background {
      position: absolute;
      top: 0;
      z-index: -1;
      left: calc(50% - 190px);
      width: calc(50% + (190px + (100vw - 1312px) / 2));
      min-width: 816px;
      height: calc(100% + 64px);
      line-height: 0; }
      @media screen and (max-width: 768px) {
        #single_header.interview_header .background {
          position: relative;
          left: -24px;
          width: calc(100% + 48px);
          min-width: 100%;
          height: auto; } }
    #single_header.interview_header .inner {
      display: flex;
      flex-direction: column;
      gap: 190px;
      padding: 0 32px; }
      @media screen and (max-width: 768px) {
        #single_header.interview_header .inner {
          gap: 49px;
          padding: 32px 0; } }
      #single_header.interview_header .inner .buttonicon {
        transform: rotate(180deg); }
      #single_header.interview_header .inner hgroup {
        display: flex;
        flex-direction: column;
        gap: 8px; }
        #single_header.interview_header .inner hgroup .kana {
          color: var(--primary); }
  #single_header.workstyle_header {
    position: relative;
    z-index: 15; }
    @media screen and (max-width: 768px) {
      #single_header.workstyle_header {
        padding-bottom: 0; }
        #single_header.workstyle_header .wrapper {
          padding-bottom: 0; } }
    #single_header.workstyle_header .background {
      position: absolute;
      top: calc(64px + 72px);
      z-index: -1;
      left: calc(50% - 190px);
      width: calc(50% + (190px + (100vw - 1312px) / 2));
      min-width: 816px;
      height: calc(100% - 72px);
      line-height: 0; }
      @media screen and (max-width: 768px) {
        #single_header.workstyle_header .background {
          position: relative;
          top: 0;
          left: -24px;
          width: calc(100% + 48px);
          min-width: 100%;
          height: auto; } }
    #single_header.workstyle_header .inner {
      display: flex;
      flex-direction: column;
      gap: 64px; }
      @media screen and (max-width: 768px) {
        #single_header.workstyle_header .inner {
          gap: 32px;
          padding: 32px 0; } }
      #single_header.workstyle_header .inner .buttonicon {
        transform: rotate(180deg); }
      #single_header.workstyle_header .inner hgroup {
        display: flex;
        flex-direction: column; }
        #single_header.workstyle_header .inner hgroup .kana {
          color: var(--primary); }

.post_interview .wrapper {
  width: 100%;
  max-width: 1312px;
  margin: 0 auto;
  padding: 0 64px; }
  @media screen and (max-width: 768px) {
    .post_interview .wrapper {
      padding: 0 24px; } }
.post_interview .interview_qa {
  background: var(--bg-gray); }
  .post_interview .interview_qa .wrapper {
    padding-top: 96px;
    padding-bottom: 96px; }
    @media screen and (max-width: 768px) {
      .post_interview .interview_qa .wrapper {
        padding-top: 48px;
        padding-bottom: 48px; } }
  .post_interview .interview_qa .introduce_wrapper {
    position: relative;
    z-index: 15;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 53px 0;
    padding-left: 52px;
    padding-right: 48px; }
    @media screen and (max-width: 768px) {
      .post_interview .interview_qa .introduce_wrapper {
        gap: 16px;
        padding: 24px 0;
        padding-left: 30px;
        padding-right: 24px; } }
    .post_interview .interview_qa .introduce_wrapper::before {
      content: '';
      position: absolute;
      top: 53px;
      left: 0;
      display: block;
      width: 4px;
      height: calc(100% - (53px * 2));
      background: var(--primary); }
      @media screen and (max-width: 768px) {
        .post_interview .interview_qa .introduce_wrapper::before {
          top: 24px;
          width: 2px;
          height: calc(100% - (24px * 2)); } }
    .post_interview .interview_qa .introduce_wrapper .head {
      display: flex;
      align-items: center;
      gap: 16px; }
      .post_interview .interview_qa .introduce_wrapper .head > .image {
        width: 64px;
        height: 64px; }
        @media screen and (max-width: 768px) {
          .post_interview .interview_qa .introduce_wrapper .head > .image {
            width: 48px;
            height: 48px; } }
      .post_interview .interview_qa .introduce_wrapper .head > .text {
        color: var(--primary); }
    .post_interview .interview_qa .introduce_wrapper .body ul {
      padding-left: 16px; }
      .post_interview .interview_qa .introduce_wrapper .body ul > li {
        list-style-type: disc; }
    .post_interview .interview_qa .introduce_wrapper + * {
      margin-top: 16px; }
  .post_interview .interview_qa ul.qa {
    display: flex;
    flex-direction: column;
    gap: 16px; }
    .post_interview .interview_qa ul.qa > li {
      padding: 40px 48px;
      background: var(--secondary); }
      @media screen and (max-width: 768px) {
        .post_interview .interview_qa ul.qa > li {
          padding: 24px 20px; } }
      .post_interview .interview_qa ul.qa > li dl {
        display: flex;
        flex-direction: column;
        gap: 16px; }
        .post_interview .interview_qa ul.qa > li dl > dt {
          display: flex;
          align-items: center;
          gap: 20px; }
          @media screen and (max-width: 768px) {
            .post_interview .interview_qa ul.qa > li dl > dt {
              gap: 12px; } }
          .post_interview .interview_qa ul.qa > li dl > dt::before {
            content: 'Q';
            display: flex;
            align-items: center;
            justify-content: center;
            width: 40px;
            min-width: 40px;
            height: 36px;
            background: var(--primary);
            border-radius: 4px;
            color: var(--secondary);
            font-size: 24px;
            font-weight: bold;
            line-height: 1; }
            @media screen and (max-width: 768px) {
              .post_interview .interview_qa ul.qa > li dl > dt::before {
                width: 36px;
                min-width: 36px;
                height: 35px;
                font-size: 16px; } }

.post_workstyle .wrapper {
  width: 100%;
  max-width: 1312px;
  margin: 0 auto;
  padding: 0 64px; }
  @media screen and (max-width: 768px) {
    .post_workstyle .wrapper {
      padding: 0 24px; } }
.post_workstyle .workstyle_outline .wrapper {
  display: flex;
  gap: 96px;
  padding-top: 160px;
  padding-bottom: 96px; }
  @media screen and (max-width: 768px) {
    .post_workstyle .workstyle_outline .wrapper {
      flex-direction: column;
      gap: 48px;
      padding-top: 96px;
      padding-bottom: 48px; } }
  .post_workstyle .workstyle_outline .wrapper > .text {
    flex: 522; }
    .post_workstyle .workstyle_outline .wrapper > .text dl {
      display: flex;
      flex-direction: column;
      gap: 32px; }
      @media screen and (max-width: 768px) {
        .post_workstyle .workstyle_outline .wrapper > .text dl {
          gap: 24px; } }
  .post_workstyle .workstyle_outline .wrapper > .image {
    flex: 566; }
.post_workstyle .workstyle_timeline .timeline_head hgroup {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 16px; }
  .post_workstyle .workstyle_timeline .timeline_head hgroup .icon {
    width: 48px;
    height: 48px; }
    @media screen and (max-width: 768px) {
      .post_workstyle .workstyle_timeline .timeline_head hgroup .icon {
        width: 24px;
        height: 24px; } }
.post_workstyle .workstyle_timeline .timeline_body {
  margin-top: 64px; }
  @media screen and (max-width: 768px) {
    .post_workstyle .workstyle_timeline .timeline_body {
      margin-top: 32px;
      padding-bottom: 64px; } }
  .post_workstyle .workstyle_timeline .timeline_body ul {
    display: flex;
    flex-direction: column;
    gap: 64px; }
    .post_workstyle .workstyle_timeline .timeline_body ul > li {
      position: relative;
      z-index: 15;
      display: flex;
      align-items: flex-start;
      gap: 32px; }
      @media screen and (max-width: 768px) {
        .post_workstyle .workstyle_timeline .timeline_body ul > li {
          gap: 16px; } }
      .post_workstyle .workstyle_timeline .timeline_body ul > li::before {
        content: '';
        position: absolute;
        top: 36px;
        left: calc(200px - (24px + 1px) / 2);
        z-index: -5;
        display: block;
        width: 1px;
        height: calc(100% + 64px);
        background: var(--outline); }
        @media screen and (max-width: 768px) {
          .post_workstyle .workstyle_timeline .timeline_body ul > li::before {
            top: 12px;
            left: calc(72px - (24px + 1px) / 2); } }
      .post_workstyle .workstyle_timeline .timeline_body ul > li .time {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 20px;
        width: 200px;
        color: var(--primary); }
        @media screen and (max-width: 768px) {
          .post_workstyle .workstyle_timeline .timeline_body ul > li .time {
            gap: 8px;
            width: 72px; } }
        .post_workstyle .workstyle_timeline .timeline_body ul > li .time::after {
          content: '';
          display: block;
          width: 16px;
          min-width: 16px;
          height: 16px;
          background: var(--secondary);
          border: solid 4px var(--primary);
          border-radius: 24px; }
      .post_workstyle .workstyle_timeline .timeline_body ul > li .event {
        flex: 1;
        display: flex;
        gap: 24px 32px;
        min-height: 200px; }
        @media screen and (max-width: 768px) {
          .post_workstyle .workstyle_timeline .timeline_body ul > li .event {
            flex-direction: column;
            min-height: initial; } }
        .post_workstyle .workstyle_timeline .timeline_body ul > li .event > .text {
          width: 100%;
          max-width: 612px; }
        .post_workstyle .workstyle_timeline .timeline_body ul > li .event > .image {
          width: 100%;
          max-width: 300px;
          opacity: 0;
          transform: scale(0.9); }
        .post_workstyle .workstyle_timeline .timeline_body ul > li .event dl {
          display: flex;
          flex-direction: column;
          gap: 16px;
          padding: 0 32px; }
          @media screen and (max-width: 768px) {
            .post_workstyle .workstyle_timeline .timeline_body ul > li .event dl {
              padding: 0; } }
        .post_workstyle .workstyle_timeline .timeline_body ul > li .event.action > .image {
          transform: scale(1);
          opacity: 1;
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          transition-delay: .205s; }
      .post_workstyle .workstyle_timeline .timeline_body ul > li:last-child::before {
        display: none; }
.post_workstyle .workstyle_schedule .wrapper {
  padding-top: 128px;
  padding-bottom: 128px; }
  @media screen and (max-width: 768px) {
    .post_workstyle .workstyle_schedule .wrapper {
      padding: 0;
      padding-top: 64px;
      padding-bottom: 64px; } }
.post_workstyle .workstyle_schedule .schedule_head hgroup {
  display: flex;
  align-items: center;
  flex-direction: column; }
  .post_workstyle .workstyle_schedule .schedule_head hgroup .icon {
    width: 48px;
    height: 48px; }
    @media screen and (max-width: 768px) {
      .post_workstyle .workstyle_schedule .schedule_head hgroup .icon {
        width: 24px;
        height: 24px; } }
.post_workstyle .workstyle_schedule .schedule_body {
  margin-top: 64px; }
  @media screen and (max-width: 768px) {
    .post_workstyle .workstyle_schedule .schedule_body {
      margin-top: 32px; } }
  .post_workstyle .workstyle_schedule .schedule_body table {
    width: 100%;
    table-layout: fixed; }
    .post_workstyle .workstyle_schedule .schedule_body table thead tr {
      height: 56px; }
      .post_workstyle .workstyle_schedule .schedule_body table thead tr th {
        background: var(--bg-gray);
        border: solid 1px var(--outline);
        word-break: break-all; }
    .post_workstyle .workstyle_schedule .schedule_body table tbody tr {
      height: 58px; }
      .post_workstyle .workstyle_schedule .schedule_body table tbody tr th {
        background: var(--primary-10);
        border: solid 1px var(--outline);
        text-align: center;
        word-break: break-all;
        font-weight: normal;
        color: var(--primary); }
      .post_workstyle .workstyle_schedule .schedule_body table tbody tr td {
        padding: 16px;
        border: solid 1px var(--outline);
        text-align: center;
        word-break: break-all; }
        @media screen and (max-width: 768px) {
          .post_workstyle .workstyle_schedule .schedule_body table tbody tr td {
            padding: 8px; } }
        .post_workstyle .workstyle_schedule .schedule_body table tbody tr td span.from, .post_workstyle .workstyle_schedule .schedule_body table tbody tr td span.sep, .post_workstyle .workstyle_schedule .schedule_body table tbody tr td span.to {
          display: inline; }
          @media screen and (max-width: 768px) {
            .post_workstyle .workstyle_schedule .schedule_body table tbody tr td span.from, .post_workstyle .workstyle_schedule .schedule_body table tbody tr td span.sep, .post_workstyle .workstyle_schedule .schedule_body table tbody tr td span.to {
              display: block;
              text-align: center; } }
.post_workstyle .workstyle_endline .wrapper {
  display: flex;
  gap: 96px;
  padding-top: 96px;
  padding-bottom: 96px; }
  @media screen and (max-width: 768px) {
    .post_workstyle .workstyle_endline .wrapper {
      flex-direction: column;
      gap: 48px;
      padding-top: 48px;
      padding-bottom: 48px; } }
  .post_workstyle .workstyle_endline .wrapper > .text {
    flex: 522; }
    .post_workstyle .workstyle_endline .wrapper > .text dl {
      display: flex;
      flex-direction: column;
      gap: 32px; }
      @media screen and (max-width: 768px) {
        .post_workstyle .workstyle_endline .wrapper > .text dl {
          gap: 24px; } }
  .post_workstyle .workstyle_endline .wrapper > .image {
    flex: 566; }

.jobpost-message hgroup * {
  color: var(--primary); }
.jobpost-message hgroup + * {
  margin-top: 64px; }
  @media screen and (max-width: 768px) {
    .jobpost-message hgroup + * {
      margin-top: 32px; } }
.jobpost-message .wrapper {
  display: flex;
  flex-direction: column-reverse; }
  .jobpost-message .wrapper .message_body {
    padding-top: 64px;
    padding-bottom: 128px; }
    @media screen and (max-width: 768px) {
      .jobpost-message .wrapper .message_body {
        padding-top: 32px;
        padding-bottom: 64px; } }
    .jobpost-message .wrapper .message_body dl {
      display: flex;
      flex-direction: column;
      gap: 64px; }
      @media screen and (max-width: 768px) {
        .jobpost-message .wrapper .message_body dl {
          gap: 32px; } }
  .jobpost-message .wrapper .message_thumbnail {
    aspect-ratio: 1184/400;
    line-height: 0;
    overflow: hidden; }

.jobpost-gallery {
  background: var(--bg-gray); }
  .jobpost-gallery hgroup * {
    color: var(--primary); }
  .jobpost-gallery .wrapper {
    padding-top: 128px;
    padding-bottom: 128px; }
    @media screen and (max-width: 768px) {
      .jobpost-gallery .wrapper {
        padding-top: 64px;
        padding-bottom: 64px; } }
  .jobpost-gallery .gallery_body {
    margin-top: 64px; }
    @media screen and (max-width: 768px) {
      .jobpost-gallery .gallery_body {
        margin-top: 32px; } }
    .jobpost-gallery .gallery_body .gallery-container > .swiper-wrapper > .swiper-slide {
      aspect-ratio: 1/1;
      overflow: hidden;
      line-height: 0; }
    .jobpost-gallery .gallery_body .gallery-container .swiper-button_wrapper {
      position: relative;
      z-index: 15;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 32px;
      margin-top: 64px; }
      @media screen and (max-width: 768px) {
        .jobpost-gallery .gallery_body .gallery-container .swiper-button_wrapper {
          gap: 16px;
          margin-top: 32px; } }
      .jobpost-gallery .gallery_body .gallery-container .swiper-button_wrapper .swiper-button-prev, .jobpost-gallery .gallery_body .gallery-container .swiper-button_wrapper .swiper-button-next {
        position: relative;
        top: initial;
        left: initial;
        right: initial;
        bottom: initial;
        width: auto;
        height: auto;
        margin: initial;
        padding: initial; }
        .jobpost-gallery .gallery_body .gallery-container .swiper-button_wrapper .swiper-button-prev::after, .jobpost-gallery .gallery_body .gallery-container .swiper-button_wrapper .swiper-button-next::after {
          display: none; }
      .jobpost-gallery .gallery_body .gallery-container .swiper-button_wrapper .swiper-button-prev {
        transform: rotate(180deg); }

.jobpost-description .wrapper {
  padding-top: 128px;
  padding-bottom: 96px; }
  @media screen and (max-width: 768px) {
    .jobpost-description .wrapper {
      padding-top: 64px;
      padding-bottom: 48px; } }
.jobpost-description .description_head {
  text-align: center; }
.jobpost-description .description_body {
  margin-top: 64px; }
  @media screen and (max-width: 768px) {
    .jobpost-description .description_body {
      margin-top: 32px; } }
  .jobpost-description .description_body ul {
    max-width: 960px;
    margin: 0 auto; }
    .jobpost-description .description_body ul > li {
      display: flex;
      border-top: solid 1px var(--outline); }
      .jobpost-description .description_body ul > li > .head {
        flex: 248;
        padding: 32px 24px; }
        @media screen and (max-width: 768px) {
          .jobpost-description .description_body ul > li > .head {
            flex: 96;
            padding: 22px 0; } }
      .jobpost-description .description_body ul > li > .body {
        flex: 712;
        padding: 32px 24px; }
        @media screen and (max-width: 768px) {
          .jobpost-description .description_body ul > li > .body {
            flex: 246;
            padding: 24px 16px; } }

.jobpost-wanted .wrapper {
  display: flex;
  gap: 64px;
  padding-top: 96px;
  padding-bottom: 128px; }
  @media screen and (max-width: 768px) {
    .jobpost-wanted .wrapper {
      flex-direction: column;
      gap: 32px;
      padding-top: 48px;
      padding-bottom: 64px; } }
  .jobpost-wanted .wrapper > .wanted_head {
    flex: 320; }
    @media screen and (max-width: 768px) {
      .jobpost-wanted .wrapper > .wanted_head {
        width: 100%; } }
  .jobpost-wanted .wrapper > .wanted_body {
    flex: 800; }
    @media screen and (max-width: 768px) {
      .jobpost-wanted .wrapper > .wanted_body {
        width: 100%; } }
    .jobpost-wanted .wrapper > .wanted_body ul {
      display: flex;
      flex-direction: column;
      gap: 24px;
      padding-left: 1em; }
      @media screen and (max-width: 768px) {
        .jobpost-wanted .wrapper > .wanted_body ul {
          gap: 8px; } }
      .jobpost-wanted .wrapper > .wanted_body ul > li {
        list-style-type: disc; }
        .jobpost-wanted .wrapper > .wanted_body ul > li:last-child {
          color: var(--primary); }
      .jobpost-wanted .wrapper > .wanted_body ul + * {
        margin-top: 48px; }
        @media screen and (max-width: 768px) {
          .jobpost-wanted .wrapper > .wanted_body ul + * {
            margin-top: 32px; } }
    .jobpost-wanted .wrapper > .wanted_body .banar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 24px 40px;
      background: var(--primary);
      border: solid 1px var(--primary);
      border-radius: 8px;
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      @media screen and (max-width: 768px) {
        .jobpost-wanted .wrapper > .wanted_body .banar {
          padding: 32px 24px; } }
      .jobpost-wanted .wrapper > .wanted_body .banar * {
        color: var(--secondary);
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
      .jobpost-wanted .wrapper > .wanted_body .banar > .text {
        display: flex;
        align-items: center;
        gap: 16px 64px; }
        @media screen and (max-width: 768px) {
          .jobpost-wanted .wrapper > .wanted_body .banar > .text {
            align-items: flex-start;
            flex-direction: column; } }
      .jobpost-wanted .wrapper > .wanted_body .banar > .icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        background: var(--bg-black);
        border-radius: 36px;
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        .jobpost-wanted .wrapper > .wanted_body .banar > .icon img {
          width: 18px;
          height: 18px;
          filter: brightness(0) invert(1); }
      .jobpost-wanted .wrapper > .wanted_body .banar:hover {
        background: var(--secondary);
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        .jobpost-wanted .wrapper > .wanted_body .banar:hover * {
          color: var(--primary);
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        .jobpost-wanted .wrapper > .wanted_body .banar:hover > .icon {
          background: var(--primary);
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }

.jobpost-form {
  background: var(--bg-gray); }
  .jobpost-form .wrapper {
    padding-top: 128px;
    padding-bottom: 128px; }
    @media screen and (max-width: 768px) {
      .jobpost-form .wrapper {
        padding-top: 64px;
        padding-bottom: 64px; } }
  .jobpost-form .form_head {
    text-align: center; }
    .jobpost-form .form_head hgroup + * {
      margin-top: 64px; }
      @media screen and (max-width: 768px) {
        .jobpost-form .form_head hgroup + * {
          margin-top: 32px; } }
  .jobpost-form .form_body {
    margin-top: 64px; }

.formWrap {
  position: relative;
  z-index: 15;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 64px;
  background: var(--secondary);
  border-radius: 8px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    .formWrap {
      padding: 48px 16px; } }

ul.listDocForm {
  display: flex;
  flex-direction: column;
  gap: 32px;
  width: 100%;
  max-width: 600px;
  margin: 0 auto; }
  ul.listDocForm li {
    display: flex;
    flex-direction: column;
    gap: 12px; }
    ul.listDocForm li > .head .title.must {
      display: flex;
      align-items: center;
      gap: 10px; }
      ul.listDocForm li > .head .title.must::after {
        content: '必須';
        display: block;
        padding: 2px 6px;
        background: var(--primary-10);
        border-radius: 4px;
        color: var(--primary);
        font-size: 14px;
        font-weight: bold;
        line-height: 1.65; }
        @media screen and (max-width: 768px) {
          ul.listDocForm li > .head .title.must::after {
            font-size: 10.9091px; } }
    ul.listDocForm li > .head .caption {
      opacity: .7; }
    ul.listDocForm li > .body input:has(+ .error) {
      border-color: var(--primary); }
    ul.listDocForm li > .body .error {
      color: var(--primary);
      font-size: 15px;
      font-weight: normal;
      line-height: 1.65; }
      @media screen and (max-width: 768px) {
        ul.listDocForm li > .body .error {
          font-size: 13.3334px; } }

.mw_wp_form .horizontal-item + .horizontal-item {
  margin: 0 !important; }
.mw_wp_form .checkbox_wrapper {
  position: relative;
  z-index: 15;
  display: flex;
  align-items: center;
  height: 44px;
  border: solid 1px var(--outline);
  background: #f8f8f8;
  padding: 0 18px 0 44px;
  border-radius: 5px; }
  .mw_wp_form .checkbox_wrapper .text {
    position: relative;
    z-index: 20; }
    .mw_wp_form .checkbox_wrapper .text a {
      color: var(--primary);
      text-decoration: underline; }
.mw_wp_form span.mwform-checkbox-field {
  position: absolute;
  z-index: 15;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }
  .mw_wp_form span.mwform-checkbox-field input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none; }
    .mw_wp_form span.mwform-checkbox-field input:checked + span.mwform-checkbox-field-text::after {
      transform: scale(1);
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  .mw_wp_form span.mwform-checkbox-field span.mwform-checkbox-field-text {
    position: relative;
    z-index: 15;
    display: block;
    width: 100%;
    height: 100%; }
    .mw_wp_form span.mwform-checkbox-field span.mwform-checkbox-field-text::before {
      content: '';
      position: absolute;
      left: 12px;
      top: calc(50% - 10px);
      display: block;
      width: 20px;
      height: 20px;
      border-radius: 3px;
      background: var(--secondary);
      border: solid 1px var(--outline); }
    .mw_wp_form span.mwform-checkbox-field span.mwform-checkbox-field-text::after {
      content: '';
      position: absolute;
      left: 16px;
      top: calc(50% - 6px);
      display: block;
      width: 14px;
      height: 14px;
      border-radius: 2px;
      background: var(--primary);
      transform: scale(0);
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
.mw_wp_form span.mwform-radio-field {
  position: relative;
  z-index: 15; }
  .mw_wp_form span.mwform-radio-field input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none; }
    .mw_wp_form span.mwform-radio-field input:checked + span.mwform-radio-field-text::after {
      transform: scale(1);
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  .mw_wp_form span.mwform-radio-field span.mwform-radio-field-text {
    display: block;
    border: solid 1px var(--bg-gray);
    background: var(--color-white);
    padding: 8px 18px 8px 44px;
    border-radius: 5px; }
    .mw_wp_form span.mwform-radio-field span.mwform-radio-field-text::before {
      content: '';
      position: absolute;
      left: 12px;
      top: calc(50% - 10px);
      display: block;
      width: 20px;
      height: 20px;
      border-radius: 20px;
      background: var(--color-white);
      border: solid 1px var(--border-light-black); }
    .mw_wp_form span.mwform-radio-field span.mwform-radio-field-text::after {
      content: '';
      position: absolute;
      left: 16px;
      top: calc(50% - 6px);
      display: block;
      width: 14px;
      height: 14px;
      border-radius: 14px;
      background: var(--color-key1);
      transform: scale(0);
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
.mw_wp_form form > p {
  display: none; }
.mw_wp_form input::placeholder {
  color: #aaa; }
.mw_wp_form input:focus::-webkit-input-placeholder {
  color: transparent; }
.mw_wp_form input:focus::-moz-placeholder {
  color: transparent; }
.mw_wp_form input:focus::-ms-input-placeholder {
  color: transparent; }
.mw_wp_form input:focus::placeholder {
  color: transparent; }
.mw_wp_form input[type="text"], .mw_wp_form textarea {
  width: 100%;
  height: auto;
  border: solid 1px var(--outline);
  background: var(--color-white);
  border-radius: 0;
  line-height: 1.5;
  color: var(--bg-black);
  font-size: 16px;
  border-radius: 6px;
  -webkit-appearance: none;
  appearance: none; }
.mw_wp_form select {
  width: 100%;
  height: auto;
  border: solid 1px var(--outline);
  background: var(--color-white);
  border-radius: 0;
  line-height: 1.5;
  color: var(--bg-black);
  font-size: 16px;
  border-radius: 6px; }
.mw_wp_form input[type="text"], .mw_wp_form textarea {
  padding: .82em; }
.mw_wp_form select {
  position: relative;
  z-index: 15;
  padding: 0 .82em; }
  .mw_wp_form select::after {
    content: '';
    position: absolute;
    right: .82em;
    top: calc(50% - .5em);
    display: block;
    width: 1em;
    height: 1em;
    background: url(images/icn-arrow-p.svg);
    background-size: cover; }
.mw_wp_form input[type="radio"] + span {
  color: #252525; }
.mw_wp_form input[type="text"]#namehead, .mw_wp_form input[type="text"]#kanahead {
  flex: 1; }
.mw_wp_form input[type="text"]#namebody, .mw_wp_form input[type="text"]#kanabody {
  flex: 1; }
.mw_wp_form input[type="text"]#postcode {
  width: 10em; }
.mw_wp_form input[type="text"]#address1, .mw_wp_form input[type="text"]#address2 {
  flex: 1;
  margin-right: 1em; }
.mw_wp_form input[type="text"]#address3 {
  flex: 2; }
.mw_wp_form input[type="text"]#old {
  width: 10em;
  margin-right: 1em; }
.mw_wp_form input[type="text"]#date2, .mw_wp_form input[type="text"]#date3 {
  margin-top: 1em; }
.mw_wp_form input[type="text"]#year, .mw_wp_form input[type="text"]#month, .mw_wp_form input[type="text"]#date {
  width: 8.2em; }
  .mw_wp_form input[type="text"]#year + span, .mw_wp_form input[type="text"]#month + span, .mw_wp_form input[type="text"]#date + span {
    margin: 0 .82em 0 .41em; }
.mw_wp_form input[type="text"].address {
  margin-top: 7px; }
.mw_wp_form select {
  height: 4em; }
.mw_wp_form label {
  /*line-height: 4em;*/ }
.mw_wp_form input[type="text"]:focus, .mw_wp_form textarea:focus, .mw_wp_form select:focus {
  outline: none;
  border: solid 1px #a0a0a0; }
.mw_wp_form input[type="submit"] {
  border: none;
  position: relative;
  margin: 0 auto;
  display: block;
  color: var(--secondary);
  @inlcude mov; }
  .mw_wp_form input[type="submit"]:hover {
    @inlcude mov; }
  .mw_wp_form input[type="submit"]:disabled {
    filter: grayscale(1) opacity(0.5);
    pointer-events: none; }
.mw_wp_form.mw_wp_form_confirm ul.listDocForm li.entryBtnWrap {
  display: flex; }
  .mw_wp_form.mw_wp_form_confirm ul.listDocForm li.entryBtnWrap input[type="submit"].back {
    order: 1;
    background: #252525; }
.mw_wp_form.mw_wp_form_confirm dl.listDocForm dd {
  background: #f7f7f7;
  padding: 1.23em 2.46em;
  border-radius: 4px;
  border: solid 1px #eee;
  color: #777; }
.mw_wp_form.mw_wp_form_confirm dl.listDocForm dl.listComplete {
  font-weight: 500; }
.mw_wp_form.mw_wp_form_complete .completeWrap > * ~ * {
  margin-top: .82em; }
.mw_wp_form.mw_wp_form_complete .completeWrap dl.listComplete dt p {
  font-weight: 500;
  font-size: 1.41em;
  margin-top: .82em; }

.post_news .pageback {
  display: none; }
  @media screen and (max-width: 768px) {
    .post_news .pageback {
      display: block; }
      .post_news .pageback + * {
        margin-top: 24px; } }
  .post_news .pageback a {
    transform: rotate(180deg); }
.post_news .news_header {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding-bottom: 64px; }
  @media screen and (max-width: 768px) {
    .post_news .news_header {
      gap: 24px;
      padding-bottom: 32px; } }
  .post_news .news_header .attr {
    display: flex;
    align-content: center;
    gap: 16px; }
    .post_news .news_header .attr .category {
      padding: 4px 12px;
      background: var(--bg-gray);
      border-radius: 20px; }
.post_news .news_main h2 {
  padding-top: 64px;
  padding-bottom: 24px; }
.post_news .news_main h3 {
  margin-top: 48px;
  margin-bottom: 24px;
  padding: 8px 16px;
  background: var(--primary);
  color: var(--secondary); }
.post_news .news_main h4 {
  display: inline-block;
  margin-top: 32px;
  margin-bottom: 12px;
  padding: 8px 12px;
  border-top: solid 1px var(--outline);
  border-bottom: solid 1px var(--outline); }
.post_news .news_main h5 {
  padding-top: 24px;
  padding-bottom: 12px; }
.post_news .news_main h6 {
  padding-top: 16px;
  padding-bottom: 8px; }
.post_news .news_main p, .post_news .news_main ul, .post_news .news_main ol {
  padding: 16px 0; }
.post_news .news_main p:has(a) {
  font-size: 16px;
  font-weight: normal;
  line-height: 1.65; }
  @media screen and (max-width: 768px) {
    .post_news .news_main p:has(a) {
      font-size: 15.7576px; } }
.post_news .news_main p:has(.alignleft) {
  text-align: left; }
.post_news .news_main p:has(.alignright) {
  text-align: right; }
.post_news .news_main p:has(.aligncenter) {
  text-align: center; }
.post_news .news_main ul {
  padding-left: 1em; }
  .post_news .news_main ul > li {
    list-style-type: disc; }
.post_news .news_main ol {
  padding-left: 1em; }
  .post_news .news_main ol > li {
    list-style-type: decimal; }
.post_news .news_main blockquote {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 8px 0;
  padding: 32px;
  background: var(--bg-gray); }
  .post_news .news_main blockquote p {
    padding: 0; }
.post_news .news_main table {
  display: flex;
  flex-direction: column; }
  .post_news .news_main table caption {
    order: 10;
    margin-top: 4px;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.8;
    color: var(--text-sub);
    text-align: left; }
  .post_news .news_main table tr th {
    min-width: 100px;
    padding: 8px 16px;
    background: var(--bg-gray);
    border: solid 1px var(--outline);
    font-size: 13px;
    line-height: 1.8;
    font-weight: bold;
    text-align: center; }
  .post_news .news_main table tr td {
    min-width: 100px;
    padding: 8px 16px;
    border: solid 1px var(--outline);
    font-size: 13px;
    line-height: 1.8;
    text-align: center; }
.post_news .news_main a {
  color: var(--primary);
  text-decoration: underline; }

.archive_news .wrapper {
  padding-bottom: 128px; }
  @media screen and (max-width: 768px) {
    .archive_news .wrapper {
      padding-bottom: 64px; } }
.archive_news .news_body {
  display: flex;
  gap: 64px; }
  @media screen and (max-width: 768px) {
    .archive_news .news_body {
      flex-direction: column-reverse; } }
  .archive_news .news_body > .side {
    flex: 320;
    display: flex;
    flex-direction: column;
    gap: 32px; }
    @media screen and (max-width: 768px) {
      .archive_news .news_body > .side {
        width: 100%;
        gap: 16px; } }
    .archive_news .news_body > .side .side_block .title {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 30px;
      background: var(--bg-gray);
      border-radius: 4px; }
      .archive_news .news_body > .side .side_block .title + * {
        margin-top: 12px; }
    .archive_news .news_body > .side ul > li a {
      display: flex;
      align-items: center;
      gap: 16px;
      height: 56px;
      padding: 0 32px; }
      @media screen and (max-width: 768px) {
        .archive_news .news_body > .side ul > li a {
          height: 46px; } }
      .archive_news .news_body > .side ul > li a > .icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        background: var(--bg-black);
        border-radius: 50%;
        overflow: hidden;
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        .archive_news .news_body > .side ul > li a > .icon img {
          width: 14px;
          height: 14px;
          filter: brightness(0) invert(1); }
      .archive_news .news_body > .side ul > li a > .text {
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    .archive_news .news_body > .side ul > li:hover {
      background: var(--bg-gray); }
    .archive_news .news_body > .side ul > li.active a > .icon {
      background: var(--primary);
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    .archive_news .news_body > .side ul > li.active a > .text {
      color: var(--primary);
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  .archive_news .news_body > .main {
    flex: 800; }
    @media screen and (max-width: 768px) {
      .archive_news .news_body > .main {
        width: 100%; } }
    .archive_news .news_body > .main ul.post > li {
      border-top: solid 1px var(--outline); }
      .archive_news .news_body > .main ul.post > li a {
        display: flex;
        align-items: flex-start;
        gap: 32px;
        padding: 32px 24px;
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        @media screen and (max-width: 768px) {
          .archive_news .news_body > .main ul.post > li a {
            gap: 16px;
            padding: 16px; } }
        .archive_news .news_body > .main ul.post > li a .category {
          padding: 4px 12px;
          background: var(--bg-gray);
          border-radius: 20px;
          white-space: nowrap;
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        .archive_news .news_body > .main ul.post > li a .text {
          display: flex;
          flex-direction: column;
          gap: 10px; }
          .archive_news .news_body > .main ul.post > li a .text .title {
            transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        .archive_news .news_body > .main ul.post > li a:hover {
          background: var(--bg-gray);
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
          .archive_news .news_body > .main ul.post > li a:hover .category {
            color: var(--secondary);
            background: var(--bg-black);
            transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
          .archive_news .news_body > .main ul.post > li a:hover .text .title {
            color: var(--primary);
            transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
    .archive_news .news_body > .main ul.post + * {
      margin-top: 16px; }
      @media screen and (max-width: 768px) {
        .archive_news .news_body > .main ul.post + * {
          margin-top: 40px; } }
.archive_news nav.pagination {
  display: flex;
  justify-content: center; }
  .archive_news nav.pagination ul {
    display: flex;
    align-items: center;
    gap: 12px; }
    @media screen and (max-width: 768px) {
      .archive_news nav.pagination ul {
        gap: 4px; } }
    .archive_news nav.pagination ul > li a, .archive_news nav.pagination ul > li span {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 32px;
      height: 32px;
      border: solid 1px var(--outline);
      border-radius: 4px;
      color: var(--text-sub); }
    .archive_news nav.pagination ul > li.current span {
      background: var(--primary);
      border: solid 1px var(--primary);
      color: var(--secondary); }

/* ie hack */
@media all and (-ms-high-contrast: none) {
  .headerLogo img {
    width: 100%;
    height: 4.5vw; }

  a.btn > span.circle {
    border: solid 2px rgba(240, 95, 64, 0.2); }

  ul.listFooterNav > li span.circle {
    border: solid 2px rgba(240, 95, 64, 0.2); }

  .careerstepWrap .flexWrap > .flexCenter .inner {
    border: solid 2px rgba(240, 95, 64, 0.8); }

  .secIndex.sec1 .kv_leadcopy .kv_leadcopy_inner {
    width: 100%; }

  .secIndex.sec3 .indexService .swiper-button-prev {
    left: auto;
    bottom: auto; }

  dl.listFootnav dt a {
    display: inline-block; }

  .secPage.root .flexWrap > .flexItem {
    width: calc((100% / 3) - 0.01px); }

  ul.listPhilosophy {
    justify-content: space-around; }

  .member_wrapper .f_wrapper .__left {
    position: relative; }

  header.pageHeader {
    height: 31.5em; }

  ul.listLGBtn a.btn {
    width: 100%; }

  ul.listLogos li img {
    width: 8em; }

  ul.listLogos {
    justify-content: space-between; } }
/*ヘッダー調整*/
nav.globalNav ul.listGlobal li span.en {
  white-space: nowrap; }

/*page_csr*/
.card_text ._body > img {
  margin-bottom: 0.82em; }

/*page_career*/
.careerImg {
  margin-bottom: 2.05em; }

/*page_csr*/
dl.listSDGs dt > span {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-left: 0;
  margin: 0 1.23em; }

dl.listSDGs dt > span img {
  width: calc(50% - 2px); }

dl.listSDGs dt > span img:nth-child(n+3) {
  margin-top: 4px; }

/*page_business/~*/
p.writer {
  text-align: right;
  font-size: 1em;
  margin-top: 0.82em; }
  p.writer > span {
    display: block;
    font-size: .8em;
    margin-bottom: .205em; }

/*page_movie*/
.secPage.lp.movie h2.pageTtl {
  background: #fff; }

/*single-events*/
body.single-events .flexLower {
  margin-bottom: 6.15em; }

.secPage.basic.eventForm .wrapper {
  padding-bottom: 0; }

/*page_about 事業紹介 画像調整*/
@media screen and (max-width: 768px) {
  .type_wrapper ._stokerImg {
    position: absolute;
    right: 0;
    left: auto; } }
/*crosstalk 調整*/
.interview_wrapper ._body p.box ~ p.box {
  margin-top: 1.125em; }

.interview_wrapper ._body p.box span {
  font-size: 0.625em;
  font-weight: 600; }
