@charset "UTF-8";
/*!
Theme Name: コバヤシグループ
Theme URI: https://kinichi-recruit.com/
Author: shogo yonetani
Author URI: https://panarea.co.jp
Description: コバヤシグループ
*/
/*Color Management*/
:root {
  --sans: YakuHanJP_Narrow, "Inter", 游ゴシック, Yu Gothic, YuGothic, sans-serif;
  --s-font-noto: 'Noto Sans JP';
  --s-font-inter: Inter;
  --fontweight-5: 500;
  --fontweight-6: 600;
  --fontweight-7: 700;
  --fontweight-8: 800;
  --key1: #fffcfc;
  --key2: #fef8f7;
  --key3: #fdecea;
  --key4: #ffdeda;
  --key5: #fed0cc;
  --key6: #f7c1bc;
  --key7: #eeada8;
  --key8: #e3948f;
  --key9: #c03a3c;
  --key10: #b0292f;
  --key11: #c33d3f;
  --key12: #5f1f1e;
  --sub9: #76838e;
  --blue1: #fcfdff;
  --blue2: #f6f9fe;
  --blue3: #ecf2fe;
  --blue4: #dfeafe;
  --blue5: #cfe0fb;
  --blue6: #bdd3f7;
  --blue7: #a6c1ed;
  --blue8: #86a9e2;
  --blue9: #3d6ab6;
  --blue10: #305ca7;
  --blue11: #3966b1;
  --blue12: #203557;
  --gray1: #fcfcfc;
  --gray2: #f9f9f9;
  --gray3: #efefef;
  --gray4: #e8e8e8;
  --gray5: #e0e0e0;
  --gray6: #d9d9d9;
  --gray7: #cecece;
  --gray8: #bbb;
  --gray9: #8d8d8d;
  --gray10: #838383;
  --gray11: #646464;
  --gray12: #202020;
  --white: #fff;
  --color-gray: #757575;
  --color-lightgray: #ecedf0;
  --black: #171617;
  --border-light-black: rgba(31,69,94,.205);
  --border-light-white: rgba(255,255,255,.1025);
  --background: background-color:hsla(359,100%,50%,1);
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1818 1818' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E"), radial-gradient(circle at 0% 99%, #ff2f00 0%, transparent 67%), radial-gradient(circle at 46% 94%, #5a0c12 0%, transparent 81%), radial-gradient(circle at 89% 8%, #a2111d 0%, transparent 150%), radial-gradient(circle at 89% 8%, #230608 0%, transparent 150%), radial-gradient(circle at 93% 95%, #790610 0%, transparent 66%), radial-gradient(circle at 89% 8%, snow 0%, transparent 150%), radial-gradient(circle at 89% 8%, #f8e61b 0%, transparent 150%);
  background-blend-mode: overlay,normal,normal,normal,normal,normal,normal,normal;
  --shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 2px 6px rgba(0, 0, 0, 0.08); }

/*!レスポンシブ*/
/*mouse-follower-dev*/
.mf-cursor {
  color: #555555;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10001 !important;
  direction: ltr;
  contain: layout style size;
  pointer-events: none;
  transition: opacity 0.3s, color 0.4s; }
  @media screen and (max-width: 768px) {
    .mf-cursor {
      display: none; } }
  .mf-cursor:before {
    content: "";
    position: absolute;
    top: -24px;
    left: -24px;
    display: block;
    width: 48px;
    height: 48px;
    transform: scale(0.2);
    background: currentColor;
    border-radius: 50%;
    transition: transform 0.25s ease-in-out, opacity 0.1s; }
  .mf-cursor.-inverse {
    color: #aaaaaa; }
  @supports (mix-blend-mode: exclusion) {
    .mf-cursor.-exclusion {
      mix-blend-mode: exclusion; }
      .mf-cursor.-exclusion:before {
        background: #aaaaaa; } }
  .mf-cursor.-pointer:before {
    transform: scale(0.15); }
  .mf-cursor.-text {
    white-space: nowrap; }
    .mf-cursor.-text:before {
      opacity: 0.85;
      transform: scale(1.7); }
    .mf-cursor.-text.-active:before {
      transform: scale(1.6);
      transition-duration: 0.2s; }
  .mf-cursor.-icon:before {
    transform: scale(1.5); }
  .mf-cursor.-icon.-active:before {
    transform: scale(1.4); }
  .mf-cursor.-hidden:before {
    transform: scale(0); }
  .mf-cursor.-image {
    border-radius: 16px;
    /* 50% で円 */
    overflow: hidden; }
  .mf-cursor-text {
    position: absolute;
    top: -18px;
    left: -18px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: scale(0) rotate(10deg);
    opacity: 0;
    color: #fff;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    transition: opacity 0.4s, transform 0.3s; }
    .mf-cursor.-text .mf-cursor-text, .mf-cursor.-icon .mf-cursor-text {
      opacity: 1;
      transform: scale(1); }
  .mf-cursor-media {
    position: absolute;
    width: 300px !important;
    height: 200px !important;
    margin: -150px 0 0 -100px !important; }
    @media screen and (max-width: 768px) {
      .mf-cursor-media {
        width: 240px !important;
        height: 160px !important;
        margin: -120px 0 0 -80px !important; } }
    .mf-cursor-media .mf-cursor-media-box {
      border-radius: calc(8em / 32) !important; }
    .mf-cursor-media img, .mf-cursor-media video {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      border-radius: calc(8em / 32) !important; }
      @supports (object-fit: cover) {
        .mf-cursor-media img, .mf-cursor-media video {
          position: static;
          width: 100%;
          height: 100%;
          object-fit: cover;
          transform: translateZ(0); } }
    .mf-cursor-media-box {
      position: relative;
      width: 100%;
      height: 100%;
      overflow: hidden;
      transform: scale(0) translateZ(0);
      padding: 1px;
      opacity: 0;
      border-radius: 50%;
      transition: transform 0.35s, opacity 0.2s 0.2s; }
      .mf-cursor.-media .mf-cursor-media-box {
        opacity: 1;
        transform: scale(0.696);
        transition-duration: 0.4s, 0.4s;
        transition-delay: 0s, 0s; }

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: clamp(14px, calc(1vw + 0.5rem), 18px); }

body {
  margin: 0;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: auto;
  height: auto;
  font-family: var(--sans);
  font-weight: 400;
  letter-spacing: 0;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  background: var(--gray2);
  color: var(--gray12);
  /*
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  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;
  padding-bottom: 1px; }
  body::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 15;
    display: block;
    width: 100%;
    height: 100%;
    background: url("images/noise.png");
    background-repeat: repeat;
    background-size: 100px;
    pointer-events: none;
    opacity: .5; }

* {
  color: var(--gray12);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-feature-settings: "palt";
  -ms-overflow-style: none; }
  *::-webkit-scrollbar {
    display: none; }

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

/*!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;
  font-weight: 400;
  line-height: 1.64; }

i {
  font-style: normal; }

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

.objc {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  font-family: 'object-fit: contain;'; }

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

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

/*!LINK*/
a {
  text-decoration: none; }

.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; }

/*!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; }

/*!.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; }

.done.blur {
  opacity: 0;
  filter: blur(10px); }
  .done.blur.gone {
    opacity: 1;
    filter: blur(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;
    transition-delay: .328s;
    transition-duration: .82s; }

/*ベンダープレフィックス登録*/
/*!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(--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(--gray12);
    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(--gray12);
    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(--gray12);
    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(--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(--gray12);
      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(--gray2);
      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(--gray10) !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(--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(--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; }

.roll {
  display: block;
  height: 1.5em;
  overflow: hidden; }
  .roll > i {
    display: block;
    line-height: 1.5;
    white-space: nowrap;
    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; }
  .roll:hover > i {
    transform: translateY(-1.5em);
    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; }

.button {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: calc(8em / 32 * 3);
  min-width: 10.25em;
  min-height: 2.87em;
  padding: 0 calc(8em / 16 * 3);
  background: var(--gray1);
  border-radius: calc(8em);
  box-shadow: var(--shadow);
  overflow: hidden;
  font-size: .85em; }
  .button .icon {
    display: block;
    width: 1.23em;
    min-width: 1.23em;
    height: 1.23em; }
  .button.left {
    justify-content: flex-start; }
  .button.center {
    justify-content: center; }
  .button.right {
    justify-content: flex-end; }
  .button.white {
    background: var(--gray1);
    border: solid 1px var(--gray2); }
    .button.white * {
      color: var(--gray12) !important; }
  .button.black {
    background: var(--gray12);
    border-color: var(--gray11); }
    .button.black .text, .button.black * {
      color: var(--gray1); }
    .button.black .icon img {
      filter: brightness(0) invert(1); }
  .button.key {
    background: var(--key9);
    border: solid 1px var(--key10); }
    .button.key * {
      color: var(--gray1); }
    .button.key .icon img {
      filter: brightness(0) invert(1); }
  .button.blue {
    justify-content: center;
    background: var(--blue9);
    border: solid 1px var(--blue10); }
    .button.blue * {
      color: var(--gray1); }
    .button.blue .text {
      padding: 0; }
  .button.is-disabled {
    pointer-events: none;
    cursor: not-allowed;
    opacity: .5; }

.hero-catch {
  position: relative;
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  background: linear-gradient(135deg, var(--gray12) 40%, var(--key9) 50%, var(--gray9) 60%, var(--gray12) 70%);
  background-size: 250% 100%;
  animation: blue-light-sweep 10s alternate infinite;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; }

@keyframes blue-light-sweep {
  0% {
    background-position: -150% 0; }
  100% {
    background-position: 150% 0; } }
/*!------------------------------------
css_sections(ブロック)
-------------------------------------*/
/*!#siteHeader------------------------------------------------------------------------------------------------*/
/*公式*/
#siteHead {
  position: fixed;
  left: 0;
  z-index: 8000;
  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 .wrapper {
    position: relative;
    z-index: 15;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: calc(100% / 32 * 31);
    height: calc(8em / 8 * 5);
    margin-left: auto;
    margin-right: auto;
    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 .wrapper {
        height: calc(8em / 8 * 3); } }
    #siteHead .wrapper > .left {
      flex: 1; }
      #siteHead .wrapper > .left h1 {
        display: flex;
        align-items: center;
        gap: calc(8em / 32 * 3); }
        @media screen and (max-width: 768px) {
          #siteHead .wrapper > .left h1 {
            gap: calc(8em / 32 * 2); } }
        #siteHead .wrapper > .left h1 img {
          width: auto; }
          #siteHead .wrapper > .left h1 img.mark {
            height: 4em; }
            @media screen and (max-width: 768px) {
              #siteHead .wrapper > .left h1 img.mark {
                height: 3em; } }
          #siteHead .wrapper > .left h1 img.text {
            height: 1.23em;
            filter: invert(1); }
            @media screen and (max-width: 768px) {
              #siteHead .wrapper > .left h1 img.text {
                height: 1em; } }
            #siteHead .wrapper > .left h1 img.text.invert {
              filter: invert(0); }
    #siteHead .wrapper > .center {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: .75em;
      letter-spacing: .0205em; }
      @media screen and (max-width: 768px) {
        #siteHead .wrapper > .center {
          display: none; } }
      #siteHead .wrapper > .center * {
        color: var(--gray1); }
    #siteHead .wrapper > .right {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: flex-end; }
    #siteHead .wrapper nav {
      position: relative;
      z-index: 15;
      display: flex;
      align-items: center;
      gap: calc(8em / 8); }
      #siteHead .wrapper nav ul.switch-target {
        display: flex;
        align-items: center;
        flex-direction: row;
        border-radius: 8em; }
        @media screen and (max-width: 768px) {
          #siteHead .wrapper nav ul.switch-target {
            display: none; } }
        #siteHead .wrapper nav ul.switch-target > li .btn {
          display: flex;
          align-items: center;
          justify-content: center;
          min-width: 8.2em;
          height: 2.46em;
          border-radius: 8em;
          font-weight: 600; }
          #siteHead .wrapper nav ul.switch-target > li .btn.current {
            background: var(--key9);
            border: solid 1px var(--key10);
            box-shadow: var(--shadow); }
            #siteHead .wrapper nav ul.switch-target > li .btn.current * {
              color: var(--gray1); }
          #siteHead .wrapper nav ul.switch-target > li .btn * {
            color: var(--key9); }
  #siteHead ._menu {
    position: relative;
    z-index: 15;
    display: flex;
    align-items: center;
    justify-content: center; }
    #siteHead ._menu p.humbNav {
      display: flex;
      align-items: center;
      justify-content: center;
      column-gap: calc(8em / 16);
      min-width: 8.2em;
      height: 2.46em;
      margin: 0 auto;
      padding: calc(8em / 32);
      background: var(--gray12);
      box-shadow: var(--shadow);
      border-radius: 8em;
      text-transform: uppercase; }
      @media screen and (max-width: 768px) {
        #siteHead ._menu p.humbNav {
          height: 2.05em;
          column-gap: calc(8em / 16); } }
      #siteHead ._menu p.humbNav > span {
        position: relative; }
        #siteHead ._menu p.humbNav > span.icon {
          display: flex;
          justify-content: center;
          align-items: center;
          gap: calc(8em / 32); }
          #siteHead ._menu p.humbNav > span.icon > i {
            display: block;
            width: calc(8em / 64);
            height: calc(8em / 64);
            background: var(--gray1);
            border-radius: 8em;
            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 ._menu p.humbNav > span.text > i {
          font-weight: 600;
          color: var(--gray1); }
      #siteHead ._menu p.humbNav.active > span {
        align-content: center; }
        #siteHead ._menu p.humbNav.active > span.icon > 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; }
          #siteHead ._menu p.humbNav.active > span.icon > i:first-child {
            opacity: 0;
            transform: translateX(-5px); }
          #siteHead ._menu p.humbNav.active > span.icon > i:last-child {
            opacity: 0;
            transform: translateX(5px); }
  #siteHead.move {
    opacity: 0;
    pointer-events: 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; }
  #siteHead.lower .wrapper > .center * {
    color: var(--gray11); }

body.scroll #siteHead {
  top: 0;
  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; }
  body.scroll #siteHead .wrapper {
    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; }
    body.scroll #siteHead .wrapper .left {
      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; }
    body.scroll #siteHead .wrapper .center {
      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; }
body.scroll.scrollUp #siteHead {
  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; }
  body.scroll.scrollUp #siteHead .wrapper .center {
    opacity: 1;
    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; }

/*!#aside*/
aside#menu {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100vw;
  height: 100vh;
  background: var(--gray12);
  background: url(images/noise.png), var(--gray12);
  background-size: 100px, cover;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  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; }
  @media screen and (max-width: 768px) {
    aside#menu {
      height: auto; } }
  aside#menu.open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    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; }
    aside#menu.open .wrapper {
      height: 100vh; }
      aside#menu.open .wrapper > .left figure {
        transform: scale(1);
        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; }
  aside#menu .wrapper {
    display: flex; }
    @media screen and (max-width: 768px) {
      aside#menu .wrapper {
        flex-direction: column-reverse; } }
    aside#menu .wrapper > div {
      flex: 1;
      height: 100vh; }
      @media screen and (max-width: 768px) {
        aside#menu .wrapper > div {
          height: auto;
          min-height: 100vh; } }
    aside#menu .wrapper > .left {
      position: relative;
      z-index: 15;
      background-color: #ff0004;
      background-image: url(images/noise.png), radial-gradient(circle at 0% 99%, #ff2f00 0%, transparent 67%), radial-gradient(circle at 46% 94%, #5a0c12 0%, transparent 81%), radial-gradient(circle at 89% 8%, #a2111d 0%, transparent 150%), radial-gradient(circle at 89% 8%, #230608 0%, transparent 150%), radial-gradient(circle at 93% 95%, #790610 0%, transparent 66%), radial-gradient(circle at 89% 8%, snow 0%, transparent 150%), radial-gradient(circle at 89% 8%, #f8e61b 0%, transparent 150%);
      background-size: 100px, cover, cover, cover, cover, cover, cover, cover, cover, cover;
      background-blend-mode: overlay, normal, normal, normal, normal, normal, normal, normal;
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        aside#menu .wrapper > .left {
          display: none; } }
      aside#menu .wrapper > .left figure {
        transform: scale(1.05);
        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;
        line-height: 0; }
        aside#menu .wrapper > .left figure.front {
          position: absolute;
          right: 15%;
          bottom: -60px;
          z-index: 5;
          width: 100%; }
          @media screen and (max-width: 768px) {
            aside#menu .wrapper > .left figure.front {
              bottom: -41px; } }
        aside#menu .wrapper > .left figure.back {
          position: absolute;
          left: 0;
          bottom: -30px;
          z-index: -5;
          width: 125%;
          opacity: .7175;
          filter: blur(8px); }
          @media screen and (max-width: 768px) {
            aside#menu .wrapper > .left figure.back {
              bottom: -20px; } }
        aside#menu .wrapper > .left figure.main {
          position: absolute;
          bottom: 0;
          width: 100%; }
        aside#menu .wrapper > .left figure.part {
          position: absolute; }
          aside#menu .wrapper > .left figure.part.part1 {
            top: 0;
            right: 0;
            top: -25%;
            right: 20%;
            z-index: -1;
            width: 85%;
            mix-blend-mode: color-burn; }
            @media screen and (max-width: 768px) {
              aside#menu .wrapper > .left figure.part.part1 {
                right: -21%;
                width: 72%; } }
          aside#menu .wrapper > .left figure.part.part2 {
            bottom: -6%;
            left: -0;
            z-index: -1;
            width: 180%;
            mix-blend-mode: color-burn; }
            @media screen and (max-width: 768px) {
              aside#menu .wrapper > .left figure.part.part2 {
                left: -24%;
                width: 110%; } }
      aside#menu .wrapper > .left .keyvisual-head {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 50%;
        padding: 0 calc((100% / 16) / 2); }
    aside#menu .wrapper > .right {
      overflow: scroll; }
      aside#menu .wrapper > .right .global_navigation {
        padding: calc(8em / 8 * 7) calc(8em / 8 * 4); }
        @media screen and (max-width: 768px) {
          aside#menu .wrapper > .right .global_navigation {
            padding: calc(8em / 8 * 5) 24px; } }
        aside#menu .wrapper > .right .global_navigation * {
          color: var(--white); }
        aside#menu .wrapper > .right .global_navigation ul.col {
          display: flex;
          flex-direction: column;
          border-top: dotted 1px var(--gray11); }
          aside#menu .wrapper > .right .global_navigation ul.col > li {
            padding: calc(8em / 16 * 3) 0;
            border-bottom: dotted 1px var(--gray11); }
            aside#menu .wrapper > .right .global_navigation ul.col > li dl > dt {
              font-size: 2.05em;
              font-weight: 600; }
              @media screen and (max-width: 768px) {
                aside#menu .wrapper > .right .global_navigation ul.col > li dl > dt {
                  font-size: 1.435em; } }
              aside#menu .wrapper > .right .global_navigation ul.col > li dl > dt + dd {
                margin-top: calc(8em / 16 * 2); }
            aside#menu .wrapper > .right .global_navigation ul.col > li dl > dd {
              font-weight: 500; }
              aside#menu .wrapper > .right .global_navigation ul.col > li dl > dd a {
                opacity: .5; }
                aside#menu .wrapper > .right .global_navigation ul.col > li dl > dd a:hover {
                  opacity: 1; }
              aside#menu .wrapper > .right .global_navigation ul.col > li dl > dd + dd {
                margin-top: calc(8em / 32 * 1); }
aside#aside {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 7999;
  display: none;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  overflow: scroll;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px); }
  @media screen and (max-width: 768px) {
    aside#aside {
      padding-bottom: 4.1em;
      background: var(--border-light-black);
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px); } }
  aside#aside .navigation_wrapper {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    width: calc(100% / 16* 15);
    margin: 0 auto;
    height: 100%;
    margin: 0 auto;
    padding-top: calc(8em / 8 * 5);
    overflow: scroll; }
    @media screen and (max-width: 768px) {
      aside#aside .navigation_wrapper {
        justify-content: flex-end;
        padding-bottom: calc(8em / 12 * 1); } }
    aside#aside .navigation_wrapper .navigation_body {
      position: relative;
      z-index: 15;
      min-width: calc(8em / 8 * 21);
      max-width: 100%;
      padding: calc(8em / 16 * 3);
      border: solid 1px var(--border-light-black);
      border-radius: calc(8em / 16 * 1);
      overflow: hidden;
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px); }
      @media screen and (max-width: 768px) {
        aside#aside .navigation_wrapper .navigation_body {
          min-width: 100%; } }
      aside#aside .navigation_wrapper .navigation_body::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        display: block;
        width: 100%;
        height: 100%;
        background: linear-gradient(135deg, var(--color-black) 75%, var(--key12));
        opacity: .95;
        pointer-events: none; }
    aside#aside .navigation_wrapper ul.list {
      border-top: solid 1px var(--border-light-black); }
      aside#aside .navigation_wrapper ul.list * {
        color: var(--white); }
      aside#aside .navigation_wrapper ul.list > li {
        border-bottom: solid 1px var(--border-light-black); }
        aside#aside .navigation_wrapper ul.list > li:hover dl > dt::before {
          background: var(--white);
          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 .navigation_wrapper ul.list > li.current dl > dt::before {
          background: var(--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; }
        aside#aside .navigation_wrapper ul.list > li dl {
          display: flex;
          align-items: center;
          gap: 0 calc(8em / 3); }
          @media screen and (max-width: 768px) {
            aside#aside .navigation_wrapper ul.list > li dl {
              flex-direction: column;
              align-items: flex-start; } }
          aside#aside .navigation_wrapper ul.list > li dl > dt {
            display: flex;
            align-items: center;
            column-gap: calc(8em / 12); }
            aside#aside .navigation_wrapper ul.list > li dl > dt::before {
              content: '';
              display: block;
              width: .9em;
              min-width: .9em;
              height: .9em;
              border-radius: calc(8em / 48);
              background: rgba(255, 255, 255, 0.328);
              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 .navigation_wrapper ul.list > li dl > dt a, aside#aside .navigation_wrapper ul.list > li dl > dt div {
              display: flex;
              align-items: center;
              justify-content: space-between;
              column-gap: .615em;
              padding: calc(8em / 32 * 3) 0;
              font-size: 1.1275em;
              letter-spacing: -.01025em;
              line-height: 1; }
              @media screen and (max-width: 768px) {
                aside#aside .navigation_wrapper ul.list > li dl > dt a, aside#aside .navigation_wrapper ul.list > li dl > dt div {
                  padding: calc(85px / 6) 0; } }
              aside#aside .navigation_wrapper ul.list > li dl > dt a > span, aside#aside .navigation_wrapper ul.list > li dl > dt div > span {
                position: relative;
                z-index: 15;
                display: flex;
                align-items: center;
                justify-content: center;
                width: 2em;
                height: 1em;
                border: solid 1px var(--white);
                border-radius: 50%; }
                aside#aside .navigation_wrapper ul.list > li dl > dt a > span i, aside#aside .navigation_wrapper ul.list > li dl > dt div > span i {
                  position: absolute;
                  top: calc(50% - (1px / 2));
                  left: calc(50% - (1em / 2));
                  display: block;
                  width: 1em;
                  height: 1px;
                  background: var(--white);
                  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 .navigation_wrapper ul.list > li dl > dt a > span i:nth-child(2), aside#aside .navigation_wrapper ul.list > li dl > dt div > span i:nth-child(2) {
                    left: calc(50% - (.5em / 2));
                    width: .5em;
                    transform: rotate(90deg); }
          @media screen and (max-width: 768px) {
            aside#aside .navigation_wrapper ul.list > li dl > dd {
              padding-bottom: calc(85px / 6); } }
          aside#aside .navigation_wrapper ul.list > li dl > dd ul.children {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: calc(8em / 16); }
          aside#aside .navigation_wrapper ul.list > li dl > dd a, aside#aside .navigation_wrapper ul.list > li dl > dd div {
            display: flex;
            align-items: center;
            column-gap: .615em;
            padding: calc(85px/12) calc(85px/6);
            background: var(--border-light-white);
            border: solid 1px var(--white);
            border-radius: calc(85px / 24);
            font-size: 1em;
            font-weight: 600;
            letter-spacing: -.01025em;
            line-height: 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) {
              aside#aside .navigation_wrapper ul.list > li dl > dd a, aside#aside .navigation_wrapper ul.list > li dl > dd div {
                font-size: .9em; } }
            aside#aside .navigation_wrapper ul.list > li dl > dd a:hover, aside#aside .navigation_wrapper ul.list > li dl > dd div:hover {
              color: var(--color-black);
              background: var(--white);
              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 .navigation_wrapper ul.list > li.other {
          padding: calc(8em / 8) 0; }
          @media screen and (max-width: 768px) {
            aside#aside .navigation_wrapper ul.list > li.other {
              padding: calc(8em / 8) 0; } }
          aside#aside .navigation_wrapper ul.list > li.other a {
            display: flex;
            align-items: center;
            column-gap: .615em;
            padding: 0;
            font-size: 1.3325em;
            letter-spacing: -.01025em; }
            @media screen and (max-width: 768px) {
              aside#aside .navigation_wrapper ul.list > li.other a {
                padding: 5px 0;
                font-size: 1.3325em;
                line-height: 1; } }
            aside#aside .navigation_wrapper ul.list > li.other a > i {
              display: block;
              width: 1em;
              height: 1em; }
      aside#aside .navigation_wrapper ul.list.inview > li {
        opacity: 0; }
      aside#aside .navigation_wrapper ul.list.action > li {
        opacity: 1; }
        aside#aside .navigation_wrapper ul.list.action > li:nth-child(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: calc((0 * 0.0615s) + 0.1025s); }
        aside#aside .navigation_wrapper ul.list.action > li:nth-child(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: calc((1 * 0.0615s) + 0.1025s); }
        aside#aside .navigation_wrapper ul.list.action > li:nth-child(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;
          transition-delay: calc((2 * 0.0615s) + 0.1025s); }
        aside#aside .navigation_wrapper ul.list.action > li:nth-child(3) {
          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: calc((3 * 0.0615s) + 0.1025s); }
        aside#aside .navigation_wrapper ul.list.action > li:nth-child(4) {
          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: calc((4 * 0.0615s) + 0.1025s); }
        aside#aside .navigation_wrapper ul.list.action > li:nth-child(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;
          transition-delay: calc((5 * 0.0615s) + 0.1025s); }
        aside#aside .navigation_wrapper ul.list.action > li:nth-child(6) {
          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: calc((6 * 0.0615s) + 0.1025s); }
        aside#aside .navigation_wrapper ul.list.action > li:nth-child(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;
          transition-delay: calc((7 * 0.0615s) + 0.1025s); }
        aside#aside .navigation_wrapper ul.list.action > li:nth-child(8) {
          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: calc((8 * 0.0615s) + 0.1025s); }
        aside#aside .navigation_wrapper ul.list.action > li:nth-child(9) {
          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: calc((9 * 0.0615s) + 0.1025s); }
        aside#aside .navigation_wrapper ul.list.action > li:nth-child(10) {
          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: calc((10 * 0.0615s) + 0.1025s); }
        aside#aside .navigation_wrapper ul.list.action > li:nth-child(11) {
          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: calc((11 * 0.0615s) + 0.1025s); }
        aside#aside .navigation_wrapper ul.list.action > li:nth-child(12) {
          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: calc((12 * 0.0615s) + 0.1025s); }
        aside#aside .navigation_wrapper ul.list.action > li:nth-child(13) {
          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: calc((13 * 0.0615s) + 0.1025s); }
        aside#aside .navigation_wrapper ul.list.action > li:nth-child(14) {
          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: calc((14 * 0.0615s) + 0.1025s); }
        aside#aside .navigation_wrapper ul.list.action > li:nth-child(15) {
          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: calc((15 * 0.0615s) + 0.1025s); }
        aside#aside .navigation_wrapper ul.list.action > li:nth-child(16) {
          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: calc((16 * 0.0615s) + 0.1025s); }
        aside#aside .navigation_wrapper ul.list.action > li:nth-child(17) {
          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: calc((17 * 0.0615s) + 0.1025s); }
        aside#aside .navigation_wrapper ul.list.action > li:nth-child(18) {
          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: calc((18 * 0.0615s) + 0.1025s); }
        aside#aside .navigation_wrapper ul.list.action > li:nth-child(19) {
          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: calc((19 * 0.0615s) + 0.1025s); }
        aside#aside .navigation_wrapper ul.list.action > li:nth-child(20) {
          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: calc((20 * 0.0615s) + 0.1025s); }
    aside#aside .navigation_wrapper ul.social {
      display: flex;
      align-items: center;
      justify-content: center;
      column-gap: calc(8em / 8);
      filter: brightness(0) invert(1); }
    aside#aside .navigation_wrapper .foot {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: calc(85px / 4);
      margin-top: calc(8em / 8 * 3); }
      @media screen and (max-width: 768px) {
        aside#aside .navigation_wrapper .foot {
          margin-top: calc(8em / 8 * 2); } }
      aside#aside .navigation_wrapper .foot * {
        color: var(--white); }
      aside#aside .navigation_wrapper .foot ul.basic {
        display: flex;
        align-items: center;
        gap: calc(8em / 8);
        font-size: .85em; }
        @media screen and (max-width: 768px) {
          aside#aside .navigation_wrapper .foot ul.basic {
            width: 100%;
            justify-content: center;
            text-align: center; } }
        aside#aside .navigation_wrapper .foot ul.basic > li {
          display: flex;
          align-items: center; }
          @media screen and (max-width: 768px) {
            aside#aside .navigation_wrapper .foot ul.basic > li:last-child {
              display: none; } }

body.scroll aside#float {
  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; }
  @media screen and (max-width: 768px) {
    body.scroll aside#float {
      transform: scale(0.8);
      transform-origin: right; } }
body.scroll aside#top {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  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; }

/*!//#siteHeader------------------------------------------------------------------------------------------------*/
/*!#siteFooter------------------------------------------------------------------------------------------------*/
#siteFoot {
  position: relative;
  z-index: 15;
  width: 100%;
  padding: 0 32px;
  padding-top: calc(8em / 8 * 6);
  overflow: hidden;
  background-color: var(--gray12);
  background-image: url(images/noise.png), var(--gray12);
  background-size: 100px,cover; }
  @media screen and (max-width: 768px) {
    #siteFoot {
      padding: 0 24px;
      padding-top: calc(8em / 8 * 3); } }
  #siteFoot .wrapper {
    display: block;
    width: calc(100% / 18 * 16);
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 768px) {
      #siteFoot .wrapper {
        gap: 0;
        width: 100%; } }
    #siteFoot .wrapper * {
      color: var(--gray1); }
    #siteFoot .wrapper .cta-area {
      display: flex;
      gap: calc(16px * 2); }
      @media screen and (max-width: 768px) {
        #siteFoot .wrapper .cta-area {
          flex-direction: column;
          gap: calc(16px * 1); } }
      #siteFoot .wrapper .cta-area .card-btn {
        flex: 1;
        padding: calc(8em / 8 * 2);
        padding-left: calc(8em / 8 * 3);
        background: var(--key9);
        border-radius: calc(8em / 16 * 3);
        box-shadow: var(--shadow);
        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; }
        @media screen and (max-width: 768px) {
          #siteFoot .wrapper .cta-area .card-btn {
            padding-left: calc(8em / 8 * 2);
            border-radius: calc(8em / 16 * 1); } }
        #siteFoot .wrapper .cta-area .card-btn hgroup {
          display: flex;
          flex-direction: column-reverse; }
          #siteFoot .wrapper .cta-area .card-btn hgroup h2 {
            font-size: 2.05em;
            font-weight: 600; }
            @media screen and (max-width: 768px) {
              #siteFoot .wrapper .cta-area .card-btn hgroup h2 {
                font-size: 1.64em; } }
          #siteFoot .wrapper .cta-area .card-btn hgroup span {
            display: block;
            margin: calc(8em / 8 * 2) 0;
            font-size: .75em; }
            @media screen and (max-width: 768px) {
              #siteFoot .wrapper .cta-area .card-btn hgroup span {
                margin: calc(8em / 16 * 1) 0; } }
          #siteFoot .wrapper .cta-area .card-btn hgroup + * {
            margin-top: calc(8em / 16 * 3); }
            @media screen and (max-width: 768px) {
              #siteFoot .wrapper .cta-area .card-btn hgroup + * {
                margin-top: calc(8em / 16 * 1); } }
        #siteFoot .wrapper .cta-area .card-btn p {
          font-size: .8em; }
        #siteFoot .wrapper .cta-area .card-btn .icon {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 4em;
          height: 2em;
          margin-top: 2em;
          margin-left: auto;
          background: var(--gray1);
          border-radius: calc(8em); }
          #siteFoot .wrapper .cta-area .card-btn .icon img {
            width: 1em;
            height: 1em; }
        #siteFoot .wrapper .cta-area .card-btn:hover {
          transform: scale(0.985);
          filter: brightness(0.9);
          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; }
          #siteFoot .wrapper .cta-area .card-btn:hover .icon img {
            animation: arrowAnimation .328s 0s ease-in-out 1; }
      #siteFoot .wrapper .cta-area + * {
        margin-top: calc(8em / 8 * 3);
        padding-top: calc(8em / 8 * 3);
        border-top: solid 1px var(--gray11); }
    #siteFoot .wrapper .information-area {
      display: flex;
      flex-direction: column;
      gap: calc(8em / 8 * 6); }
      @media screen and (max-width: 768px) {
        #siteFoot .wrapper .information-area {
          gap: 0; } }
  #siteFoot .copyright, #siteFoot .policy {
    font-size: .85em; }
  #siteFoot ._primary {
    display: flex;
    align-items: flex-start;
    gap: calc(16px * 1); }
    @media screen and (max-width: 768px) {
      #siteFoot ._primary {
        flex-direction: column-reverse;
        gap: calc(8em / 8 * 3); } }
    #siteFoot ._primary .corplate {
      flex: 6;
      display: flex;
      align-items: flex-start;
      flex-direction: column;
      gap: calc(8em / 16 * 3); }
      @media screen and (max-width: 768px) {
        #siteFoot ._primary .corplate {
          min-width: 100%;
          padding: calc(8em / 8 * 1) 0; } }
      #siteFoot ._primary .corplate .logo {
        display: flex;
        align-items: center;
        gap: calc(8em / 32 * 3); }
        #siteFoot ._primary .corplate .logo img {
          width: auto; }
          #siteFoot ._primary .corplate .logo img.mark {
            height: 4em; }
          #siteFoot ._primary .corplate .logo img.text {
            height: 1.23em; }
        #siteFoot ._primary .corplate .logo p {
          font-size: 1.23em;
          font-weight: 600;
          letter-spacing: -.0205em; }
          @media screen and (max-width: 768px) {
            #siteFoot ._primary .corplate .logo p {
              font-size: 1.1275em; } }
      #siteFoot ._primary .corplate ul {
        display: flex;
        flex-direction: column;
        gap: calc(8em / 8); }
      #siteFoot ._primary .corplate dl {
        display: flex;
        flex-direction: column;
        gap: calc(8em / 32); }
        @media screen and (max-width: 768px) {
          #siteFoot ._primary .corplate dl {
            align-items: baseline; } }
        #siteFoot ._primary .corplate dl dt {
          font-size: .8em;
          font-weight: 600;
          color: var(--gray9); }
        #siteFoot ._primary .corplate dl dd {
          font-size: .75em; }
          #siteFoot ._primary .corplate dl dd a {
            display: table;
            border-bottom: dotted 1px var(--gray9); }
    #siteFoot ._primary .navigation {
      flex: 8;
      display: flex; }
      @media screen and (max-width: 768px) {
        #siteFoot ._primary .navigation {
          min-width: 100%;
          display: block;
          justify-content: flex-start; } }
  #siteFoot ._secondary {
    width: 100%; }
    #siteFoot ._secondary .bottom {
      width: calc((100% - 16px) / 14 * 8);
      margin-left: auto;
      padding: calc(8em / 8 * 4) 0;
      font-size: .75em; }
      @media screen and (max-width: 768px) {
        #siteFoot ._secondary .bottom {
          width: 100%;
          margin-left: initial; } }
      #siteFoot ._secondary .bottom ul {
        display: flex;
        gap: calc(8em / 16 * 2); }
        @media screen and (max-width: 768px) {
          #siteFoot ._secondary .bottom ul {
            justify-content: center;
            flex-direction: column;
            gap: calc(8em / 32 * 3); } }
        #siteFoot ._secondary .bottom ul > li.center {
          display: flex;
          align-items: center;
          justify-content: center; }
        #siteFoot ._secondary .bottom ul > li.right {
          display: flex;
          align-items: flex-end;
          justify-content: center; }
        #siteFoot ._secondary .bottom ul > li a * {
          color: var(--gray9); }
  #siteFoot nav.footer_navigation ul.col {
    display: flex;
    flex-direction: column;
    gap: calc(8em / 32 * 8); }
    @media screen and (max-width: 768px) {
      #siteFoot nav.footer_navigation ul.col {
        align-items: flex-start;
        gap: calc(8em / 32 * 4);
        font-size: 1em; } }
    #siteFoot nav.footer_navigation ul.col > li {
      flex: 1;
      display: flex;
      align-items: baseline;
      gap: calc(8em / 32 * 8); }
      #siteFoot nav.footer_navigation ul.col > li a {
        position: relative;
        z-index: 15;
        padding-bottom: calc(8em / 32);
        font-weight: 500;
        background: linear-gradient(var(--gray12), var(--gray12)) 100% 100%/0 1px no-repeat;
        transition: background-size 0.8s cubic-bezier(0.25, 1, 0.5, 1) 0s;
        will-change: background-size; }
        #siteFoot nav.footer_navigation ul.col > li a::before, #siteFoot nav.footer_navigation ul.col > li a::after {
          content: '';
          position: absolute;
          right: 0;
          bottom: 0;
          display: block;
          height: 1px;
          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.footer_navigation ul.col > li a::before {
          width: 100%;
          background: var(--border-light-white); }
        #siteFoot nav.footer_navigation ul.col > li a::after {
          width: 0;
          background: var(--white); }
        #siteFoot nav.footer_navigation ul.col > li a:hover {
          background-position: 0 100%;
          background-size: 100% 1px; }
          #siteFoot nav.footer_navigation ul.col > li a:hover::after {
            width: 100%;
            left: 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; }
        #siteFoot nav.footer_navigation ul.col > li a.button {
          padding-bottom: 0; }
          #siteFoot nav.footer_navigation ul.col > li a.button::before, #siteFoot nav.footer_navigation ul.col > li a.button::after {
            display: none; }
  #siteFoot nav.footer_navigation ul.row {
    display: flex;
    flex-direction: row;
    gap: calc(8em / 8 * 3); }
    @media screen and (max-width: 768px) {
      #siteFoot nav.footer_navigation ul.row {
        flex-direction: column;
        gap: calc(8em / 32 * 3); } }
    #siteFoot nav.footer_navigation ul.row > li {
      flex: 1; }
      @media screen and (max-width: 768px) {
        #siteFoot nav.footer_navigation ul.row > li {
          flex: initial; } }
  #siteFoot nav.footer_navigation dl > dt {
    display: flex;
    align-items: center;
    gap: calc(8em / 16);
    font-weight: 600;
    font-size: .95em; }
    #siteFoot nav.footer_navigation dl > dt + dd {
      margin-top: calc(8em / 32 * 4); }
  #siteFoot nav.footer_navigation dl > dd {
    display: table;
    font-size: .8em; }
    @media screen and (max-width: 768px) {
      #siteFoot nav.footer_navigation dl > dd {
        display: none;
        font-size: 10px; } }
    #siteFoot nav.footer_navigation dl > dd ~ dd {
      margin-top: calc(8em / 32 * 2); }
  #siteFoot nav.footer_navigation .policy-wrapper {
    display: flex;
    align-self: flex-start;
    margin-top: calc(8em / 32 * 16); }
    @media screen and (max-width: 768px) {
      #siteFoot nav.footer_navigation .policy-wrapper {
        margin-top: calc(8em / 32 * 4); } }
    #siteFoot nav.footer_navigation .policy-wrapper .title {
      flex: 5;
      font-size: .95em; }
    #siteFoot nav.footer_navigation .policy-wrapper > ul {
      flex: 11; }
    #siteFoot nav.footer_navigation .policy-wrapper dl > dd {
      display: table; }

/*//!#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%;
      margin-bottom: 0 !important; } }

.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%); } }
.verticalslider {
  display: block; }
  .verticalslider .verticalslider__inner {
    display: block; }
    .verticalslider .verticalslider__inner:first-child {
      animation: loopV 180s linear infinite; }
    .verticalslider .verticalslider__inner:nth-child(2) {
      animation: loopV2 180s -120s linear infinite; }
    .verticalslider .verticalslider__inner:last-child {
      animation: loopV3 180s -60s linear infinite; }
    .verticalslider .verticalslider__inner .slider__item {
      width: 100%;
      padding: 5px 0; }
      .verticalslider .verticalslider__inner .slider__item .aspect {
        border-radius: 18px;
        overflow: hidden; }
        @media screen and (max-width: 768px) {
          .verticalslider .verticalslider__inner .slider__item .aspect {
            border-radius: 10px; } }

@keyframes loopV {
  0% {
    transform: translateY(200%); }
  to {
    transform: translateY(-100%); } }
@keyframes loopV2 {
  0% {
    transform: translateY(100%); }
  to {
    transform: translateY(-200%); } }
@keyframes loopV3 {
  0% {
    transform: translateY(0%); }
  to {
    transform: translateY(-300%); } }
@keyframes arrowAnimation {
  0% {
    transform: translateX(0);
    opacity: 1; }
  25% {
    transform: translateX(30px);
    opacity: 0; }
  55% {
    transform: translateX(-30px);
    opacity: 0; }
  80% {
    transform: translateX(0);
    opacity: 1; }
  100% {
    transform: translateX(0);
    opacity: 1; } }
.noentry {
  filter: opacity(0.41) !important;
  pointer-events: none !important;
  cursor: not-allowed; }

.comingsoon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 180px;
  background: var(--gray2);
  filter: opacity(0.5); }

.idx {
  position: relative;
  z-index: 15; }
  .idx hgroup:has(h2) {
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: calc(8em / 32 * 3); }
    .idx hgroup:has(h2).left {
      justify-content: flex-start; }
    .idx hgroup:has(h2).center {
      justify-content: center; }
    .idx hgroup:has(h2).right {
      justify-content: flex-end; }
    .idx hgroup:has(h2) h2 {
      font-size: 2.05em; }
      @media screen and (max-width: 768px) {
        .idx hgroup:has(h2) h2 {
          font-size: 1.7425em; } }
    .idx hgroup:has(h2) + * {
      margin-top: calc(8em / 32 * 5); }
      @media screen and (max-width: 768px) {
        .idx hgroup:has(h2) + * {
          margin-top: calc(8em / 32 * 4); } }
  .idx hgroup:has(h3) {
    display: flex;
    align-items: baseline;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      .idx hgroup:has(h3) {
        justify-content: flex-end;
        flex-direction: row-reverse;
        gap: calc(8em / 32 * 2); } }
    .idx hgroup:has(h3) h3 {
      font-size: .95em; }
      @media screen and (max-width: 768px) {
        .idx hgroup:has(h3) h3 {
          font-size: 1.23em; } }
  .idx .content-section-subtitle {
    display: flex;
    align-items: center;
    gap: calc(8em / 16);
    font-weight: 600; }
    .idx .content-section-subtitle::before {
      content: '';
      display: block;
      width: calc(8em / 16);
      min-width: calc(8em / 16);
      height: calc(8em / 16);
      background: var(--key9);
      border-radius: 8em; }
  .idx.keyvisual {
    position: relative;
    z-index: 15;
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      .idx.keyvisual {
        aspect-ratio: 5/6; } }
    .idx.keyvisual .video-wrapper {
      width: 100%;
      height: 100%; }
    .idx.keyvisual .vector-wrapper {
      position: absolute;
      left: 0;
      bottom: 0;
      z-index: 15;
      width: 100%;
      padding: 32px; }
      @media screen and (max-width: 768px) {
        .idx.keyvisual .vector-wrapper {
          padding: 8px; } }
      .idx.keyvisual .vector-wrapper .vector {
        width: 15%;
        height: auto;
        aspect-ratio: 7/16;
        background: var(--key9);
        border-radius: 8px; }
        @media screen and (max-width: 768px) {
          .idx.keyvisual .vector-wrapper .vector {
            width: 25%; } }
    .idx.keyvisual .copy-wrapper {
      position: absolute;
      left: 0;
      bottom: 0;
      z-index: 25;
      width: 100%;
      padding: 0 32px;
      padding-bottom: 5em; }
      @media screen and (max-width: 768px) {
        .idx.keyvisual .copy-wrapper {
          padding: 0 24px;
          padding-bottom: 3em; } }
      .idx.keyvisual .copy-wrapper hgroup {
        display: flex;
        flex-direction: column-reverse; }
        .idx.keyvisual .copy-wrapper hgroup * {
          color: var(--gray1); }
        .idx.keyvisual .copy-wrapper hgroup span {
          display: block;
          font-weight: 600;
          font-size: 7.175em;
          letter-spacing: -.0328em;
          line-height: 1; }
          @media screen and (max-width: 768px) {
            .idx.keyvisual .copy-wrapper hgroup span {
              font-size: 3.28em; } }
        .idx.keyvisual .copy-wrapper hgroup h1 {
          font-size: 1.1275em; }
          @media screen and (max-width: 768px) {
            .idx.keyvisual .copy-wrapper hgroup h1 {
              font-size: 1em; } }
    .idx.keyvisual .wrapper {
      width: calc(100% / 18 * 16);
      margin-left: auto;
      margin-right: auto; }
      @media screen and (max-width: 768px) {
        .idx.keyvisual .wrapper {
          width: 100%; } }
  .idx.topics {
    padding: 0 32px;
    background: var(--gray3);
    background-size: cover;
    background-repeat: repeat;
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      .idx.topics {
        padding: 0 24px; } }
    .idx.topics .topics-head + * {
      margin-top: calc(8em / 8 * 2); }
    .idx.topics .wrapper {
      width: calc(100% / 36 * 34);
      margin-left: auto;
      margin-right: auto;
      padding: calc(8em / 8 * 8) 0; }
      @media screen and (max-width: 768px) {
        .idx.topics .wrapper {
          width: 100%;
          padding: calc(8em / 8 * 3) 0; } }
    .idx.topics .news-container .swiper-wrapper .swiper-slide {
      height: auto; }
    .idx.topics .news-container .swiper-navigation {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: calc(8em / 16 * 3);
      margin-top: calc(16px * 2); }
      @media screen and (max-width: 768px) {
        .idx.topics .news-container .swiper-navigation {
          margin-top: calc(16px * 1); } }
      .idx.topics .news-container .swiper-navigation .swiper-button-wrapper {
        display: flex;
        align-items: center;
        gap: calc(8em / 16); }
        .idx.topics .news-container .swiper-navigation .swiper-button-wrapper > .swiper-button-prev, .idx.topics .news-container .swiper-navigation .swiper-button-wrapper > .swiper-button-next {
          position: relative;
          top: initial;
          left: initial;
          right: initial;
          bottom: initial;
          width: 2.87em;
          height: 2.87em;
          margin: initial;
          padding: initial;
          background: var(--gray1);
          border-radius: 2.87em;
          box-shadow: var(--shadow); }
          .idx.topics .news-container .swiper-navigation .swiper-button-wrapper > .swiper-button-prev::before, .idx.topics .news-container .swiper-navigation .swiper-button-wrapper > .swiper-button-next::before {
            content: '';
            display: block;
            width: .75em;
            height: .75em;
            background: url(images/icon/arrow.svg);
            background-size: cover; }
          .idx.topics .news-container .swiper-navigation .swiper-button-wrapper > .swiper-button-prev svg, .idx.topics .news-container .swiper-navigation .swiper-button-wrapper > .swiper-button-next svg {
            display: none; }
        .idx.topics .news-container .swiper-navigation .swiper-button-wrapper > .swiper-button-prev {
          transform: rotate(180deg); }
    .idx.topics .news-container .card {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      aspect-ratio: 5/6;
      padding: calc(8em / 8 * 2);
      background: var(--gray1);
      border-radius: calc(8em / 16 * 3);
      box-shadow: var(--shadow);
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        .idx.topics .news-container .card {
          aspect-ratio: initial;
          gap: calc(8em / 16 * 3);
          height: 100%;
          padding: calc(8em / 16 * 3);
          border-radius: calc(8em / 16 * 1); } }
      .idx.topics .news-container .card .card-body {
        display: flex;
        flex-direction: column;
        gap: calc(8em / 32 * 3); }
        .idx.topics .news-container .card .card-body time {
          color: var(--gray9);
          font-size: .9em; }
        .idx.topics .news-container .card .card-body .title {
          display: -webkit-box;
          -webkit-line-clamp: 4;
          -webkit-box-orient: vertical;
          overflow: hidden; }
      .idx.topics .news-container .card .card-foot {
        display: flex;
        align-items: flex-start; }
        .idx.topics .news-container .card .card-foot .category {
          display: flex;
          align-items: center;
          justify-content: center;
          height: 1.8em;
          padding: 0 calc(8em / 16);
          border: solid 1px var(--key9);
          border-radius: calc(8em / 32);
          font-size: .8em;
          line-height: 1;
          color: var(--key9); }
  .idx.vision {
    padding: 0 32px;
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      .idx.vision {
        padding: 0 24px; } }
    .idx.vision .wrapper {
      position: relative;
      z-index: 20;
      width: calc(100% / 16 * 14);
      margin-top: calc(8em * -1);
      margin-left: auto;
      margin-right: auto; }
      @media screen and (max-width: 768px) {
        .idx.vision .wrapper {
          width: 100%;
          margin-top: calc(8em / 2 * -1); } }
    .idx.vision .vision-gallery {
      position: relative;
      z-index: 15;
      width: calc(100% + (32px * 2));
      height: auto;
      aspect-ratio: 2/1;
      margin-left: -32px;
      margin-right: -32px;
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        .idx.vision .vision-gallery {
          aspect-ratio: 4/3; } }
      .idx.vision .vision-gallery::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: 0;
        display: block;
        width: 100%;
        height: 50%;
        background: linear-gradient(to top, var(--gray12), transparent); }
      .idx.vision .vision-gallery ul {
        width: calc(100% + (100vw / 18 * 2));
        height: 100%;
        display: flex;
        gap: calc(16px);
        transform: translateX(-64px) rotate(7deg); }
        @media screen and (max-width: 768px) {
          .idx.vision .vision-gallery ul {
            gap: calc(16px / 2); } }
        .idx.vision .vision-gallery ul > li {
          flex: 1; }
          .idx.vision .vision-gallery ul > li:nth-child(2n) .verticalslider__inner {
            animation-direction: reverse; }
          @media screen and (max-width: 768px) {
            .idx.vision .vision-gallery ul > li:nth-child(1) {
              display: none; }
            .idx.vision .vision-gallery ul > li:nth-child(6) {
              display: none; } }
          .idx.vision .vision-gallery ul > li img {
            border-radius: calc(8em / 16 * 3);
            box-shadow: var(--shadow);
            overflow: hidden;
            line-height: 0; }
            @media screen and (max-width: 768px) {
              .idx.vision .vision-gallery ul > li img {
                border-radius: calc(8em / 16 * 1); } }
    .idx.vision .vision-head {
      display: flex;
      align-items: flex-start;
      flex-wrap: wrap;
      justify-content: space-between; }
      .idx.vision .vision-head * {
        color: var(--gray1); }
      .idx.vision .vision-head hgroup {
        align-items: flex-start;
        flex-direction: column; }
        .idx.vision .vision-head hgroup .subtitle {
          display: flex;
          align-items: center;
          gap: calc(8em / 32 * 2);
          font-weight: 600; }
          .idx.vision .vision-head hgroup .subtitle::before {
            content: '';
            display: block;
            width: 1.435em;
            height: 1.435em;
            background: url(images/mark.svg); }
        .idx.vision .vision-head hgroup .title {
          font-size: 3.28em;
          font-weight: 500;
          line-height: 1.23; }
          @media screen and (max-width: 768px) {
            .idx.vision .vision-head hgroup .title {
              font-size: 2.05em; } }
      .idx.vision .vision-head p {
        max-width: 32.8em; }
      .idx.vision .vision-head + * {
        margin-top: calc(8em / 8 * 3); }
    .idx.vision .vision-body {
      display: flex;
      align-items: flex-start;
      flex-direction: column; }
  .idx.service {
    padding: 0 32px;
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      .idx.service {
        padding: 0 24px; } }
    .idx.service .wrapper {
      width: calc(100% / 16 * 14);
      margin-left: auto;
      margin-right: auto;
      margin-top: 6em;
      padding-top: 4em;
      border-top: solid 1px var(--gray11); }
      @media screen and (max-width: 768px) {
        .idx.service .wrapper {
          width: 100%;
          margin-top: 3em;
          padding-top: 2em; } }
    .idx.service .service-head {
      display: flex;
      align-items: flex-start;
      flex-wrap: wrap;
      justify-content: space-between; }
      .idx.service .service-head * {
        color: var(--gray1); }
      .idx.service .service-head p {
        max-width: 51.25em; }
      .idx.service .service-head + * {
        margin-top: calc(8em / 8 * 3); }
        @media screen and (max-width: 768px) {
          .idx.service .service-head + * {
            margin-top: calc(8em / 8 * 2); } }
    .idx.service .service-body + * {
      margin-top: calc(8em / 8 * 6); }
      @media screen and (max-width: 768px) {
        .idx.service .service-body + * {
          margin-top: calc(8em / 8 * 3); } }
    .idx.service .service-foot .card {
      display: flex;
      align-items: center;
      gap: calc(8em / 16);
      padding: calc(8em / 16);
      background: var(--gray11);
      border-radius: calc(8em / 16 * 3);
      box-shadow: var(--shadow);
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        .idx.service .service-foot .card {
          border-radius: calc(8em / 16 * 1); } }
      .idx.service .service-foot .card .thumb {
        flex: 1;
        border-radius: calc(8em / 32 * 5);
        box-shadow: var(--shadow);
        overflow: hidden;
        line-height: 0; }
        @media screen and (max-width: 768px) {
          .idx.service .service-foot .card .thumb {
            border-radius: calc(8em / 64 * 5); } }
      .idx.service .service-foot .card .text {
        flex: 5;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 calc(8em / 8 * 2); }
        @media screen and (max-width: 768px) {
          .idx.service .service-foot .card .text {
            flex: 3;
            padding: 0 calc(8em / 16 * 3); } }
        .idx.service .service-foot .card .text * {
          color: var(--gray1); }
        .idx.service .service-foot .card .text .title {
          font-size: 1.64em;
          line-height: 1.3325; }
          @media screen and (max-width: 768px) {
            .idx.service .service-foot .card .text .title {
              font-size: 1.435em; } }
        .idx.service .service-foot .card .text .arrow {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 2.255em;
          height: 1.1275em;
          border-radius: 1em;
          background: var(--gray1); }
          .idx.service .service-foot .card .text .arrow svg {
            width: calc(8em / 32 * 2); }
    .idx.service .service-container .swiper-navigation {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: calc(8em / 16 * 3);
      margin-top: calc(16px * 2); }
      @media screen and (max-width: 768px) {
        .idx.service .service-container .swiper-navigation {
          margin-top: calc(16px * 1); } }
      .idx.service .service-container .swiper-navigation .swiper-button-wrapper {
        display: flex;
        align-items: center;
        gap: calc(8em / 16); }
        .idx.service .service-container .swiper-navigation .swiper-button-wrapper > .swiper-button-prev, .idx.service .service-container .swiper-navigation .swiper-button-wrapper > .swiper-button-next {
          position: relative;
          top: initial;
          left: initial;
          right: initial;
          bottom: initial;
          width: 2.87em;
          height: 2.87em;
          margin: initial;
          padding: initial;
          background: var(--gray1);
          border-radius: 2.87em;
          box-shadow: var(--shadow); }
          .idx.service .service-container .swiper-navigation .swiper-button-wrapper > .swiper-button-prev::before, .idx.service .service-container .swiper-navigation .swiper-button-wrapper > .swiper-button-next::before {
            content: '';
            display: block;
            width: .75em;
            height: .75em;
            background: url(images/icon/arrow.svg);
            background-size: cover; }
          .idx.service .service-container .swiper-navigation .swiper-button-wrapper > .swiper-button-prev svg, .idx.service .service-container .swiper-navigation .swiper-button-wrapper > .swiper-button-next svg {
            display: none; }
        .idx.service .service-container .swiper-navigation .swiper-button-wrapper > .swiper-button-prev {
          transform: rotate(180deg); }
    .idx.service .service-container .card {
      position: relative;
      z-index: 15;
      display: flex;
      justify-content: space-between;
      flex-direction: column;
      aspect-ratio: 16/9;
      padding: calc(8em / 8 * 2);
      background: var(--gray1);
      border-radius: calc(8em / 16 * 3);
      box-shadow: var(--shadow);
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        .idx.service .service-container .card {
          padding: calc(8em / 16 * 3);
          border-radius: calc(8em / 16 * 1); } }
      .idx.service .service-container .card .background {
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        width: 100%;
        height: 100%;
        pointer-events: none;
        filter: brightness(0.8); }
        .idx.service .service-container .card .background img {
          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.service .service-container .card .subtitle {
        color: var(--gray1); }
      .idx.service .service-container .card .text {
        display: flex;
        align-items: center;
        justify-content: space-between; }
        .idx.service .service-container .card .text .title {
          display: block;
          font-size: 1.64em;
          font-weight: 600;
          line-height: 1.3325;
          color: var(--gray1); }
          @media screen and (max-width: 768px) {
            .idx.service .service-container .card .text .title {
              font-size: 1.435em; } }
        .idx.service .service-container .card .text .arrow {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 2.255em;
          height: 1.1275em;
          border-radius: 1em;
          background: var(--gray1); }
          .idx.service .service-container .card .text .arrow svg {
            width: calc(8em / 32 * 2); }
      .idx.service .service-container .card:hover .background 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.recruit {
    padding: 0 32px;
    background: var(--gray3);
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      .idx.recruit {
        padding: 0 24px; } }
    .idx.recruit .wrapper {
      width: calc(100% / 16 * 14);
      margin-left: auto;
      margin-right: auto; }
      @media screen and (max-width: 768px) {
        .idx.recruit .wrapper {
          width: 100%; } }
    .idx.recruit .recruit-head + * {
      margin-top: calc(8em / 16 * 4); }
      @media screen and (max-width: 768px) {
        .idx.recruit .recruit-head + * {
          margin-top: calc(8em / 16 * 3); } }
    .idx.recruit .recruit-body {
      display: flex;
      align-items: center;
      gap: calc(8em / 16 * 3) calc(8em / 8 * 5); }
      @media screen and (max-width: 768px) {
        .idx.recruit .recruit-body {
          flex-direction: column; } }
      .idx.recruit .recruit-body > div {
        flex: 1; }
        @media screen and (max-width: 768px) {
          .idx.recruit .recruit-body > div {
            min-width: 100%; } }
      .idx.recruit .recruit-body > .thumb {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        aspect-ratio: 3 / 2;
        background: var(--gray1);
        border-radius: calc(8em / 16 * 3);
        box-shadow: var(--shadow);
        overflow: hidden;
        line-height: 0; }
        @media screen and (max-width: 768px) {
          .idx.recruit .recruit-body > .thumb {
            border-radius: calc(8em / 16 * 1); } }
      .idx.recruit .recruit-body > .text {
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        gap: calc(8em / 16 * 3); }
        .idx.recruit .recruit-body > .text dl > dt {
          font-size: 2.05em;
          font-weight: 600;
          line-height: 1.23; }
          .idx.recruit .recruit-body > .text dl > dt strong {
            color: var(--key9); }
          .idx.recruit .recruit-body > .text dl > dt + dd {
            margin-top: calc(8em / 32 * 5); }
            @media screen and (max-width: 768px) {
              .idx.recruit .recruit-body > .text dl > dt + dd {
                margin-top: calc(8em / 32 * 3); } }
  .idx.group {
    padding: 0 32px;
    background: var(--gray3);
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      .idx.group {
        padding: 0 24px; } }
    .idx.group .wrapper {
      width: calc(100% / 16 * 14);
      margin-left: auto;
      margin-right: auto;
      margin-top: 6em;
      padding-top: 4em;
      border-top: solid 1px var(--gray7); }
      @media screen and (max-width: 768px) {
        .idx.group .wrapper {
          width: 100%;
          margin-top: 3em;
          padding-top: 2em; } }
    .idx.group .group-head {
      display: flex;
      align-items: flex-start;
      flex-wrap: wrap;
      justify-content: space-between; }
      .idx.group .group-head p {
        max-width: 51.25em; }
      .idx.group .group-head + * {
        margin-top: calc(8em / 8 * 3); }
        @media screen and (max-width: 768px) {
          .idx.group .group-head + * {
            margin-top: calc(8em / 16 * 3); } }
    .idx.group .group-container .swiper-navigation {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: calc(8em / 16 * 3);
      margin-top: calc(16px * 2); }
      @media screen and (max-width: 768px) {
        .idx.group .group-container .swiper-navigation {
          margin-top: calc(16px * 1); } }
      .idx.group .group-container .swiper-navigation .swiper-button-wrapper {
        display: flex;
        align-items: center;
        gap: calc(8em / 16); }
        .idx.group .group-container .swiper-navigation .swiper-button-wrapper > .swiper-button-prev, .idx.group .group-container .swiper-navigation .swiper-button-wrapper > .swiper-button-next {
          position: relative;
          top: initial;
          left: initial;
          right: initial;
          bottom: initial;
          width: 2.87em;
          height: 2.87em;
          margin: initial;
          padding: initial;
          background: var(--gray1);
          border-radius: 2.87em;
          box-shadow: var(--shadow); }
          .idx.group .group-container .swiper-navigation .swiper-button-wrapper > .swiper-button-prev::before, .idx.group .group-container .swiper-navigation .swiper-button-wrapper > .swiper-button-next::before {
            content: '';
            display: block;
            width: .75em;
            height: .75em;
            background: url(images/icon/arrow.svg);
            background-size: cover; }
          .idx.group .group-container .swiper-navigation .swiper-button-wrapper > .swiper-button-prev svg, .idx.group .group-container .swiper-navigation .swiper-button-wrapper > .swiper-button-next svg {
            display: none; }
        .idx.group .group-container .swiper-navigation .swiper-button-wrapper > .swiper-button-prev {
          transform: rotate(180deg); }
    .idx.group .group-container .card {
      position: relative;
      z-index: 15;
      display: flex;
      justify-content: flex-end;
      flex-direction: column;
      aspect-ratio: 5/6;
      padding: calc(8em / 8 * 2);
      background: var(--gray1);
      border-radius: calc(8em / 16 * 3);
      box-shadow: var(--shadow);
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        .idx.group .group-container .card {
          padding: calc(8em / 16 * 3);
          border-radius: calc(8em / 16 * 1); } }
      .idx.group .group-container .card .background {
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        width: 100%;
        height: 100%;
        pointer-events: none;
        filter: brightness(0.8); }
      .idx.group .group-container .card .text {
        display: flex;
        align-items: center;
        justify-content: space-between; }
        .idx.group .group-container .card .text .title {
          display: block;
          font-weight: 600;
          color: var(--white); }
        .idx.group .group-container .card .text .arrow {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 2.255em;
          height: 1.1275em;
          border-radius: 1em;
          background: var(--gray1); }
          .idx.group .group-container .card .text .arrow svg {
            width: calc(8em / 32 * 2); }

.loading {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: url(images/noise.png), #c03a3c;
  background-size: 100px, cover;
  background-repeat: repeat;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 8vw;
  opacity: 1;
  visibility: visible;
  transition: opacity .8s ease, visibility .8s ease; }
  .loading.is-hide {
    opacity: 0;
    visibility: hidden;
    pointer-events: none; }
  .loading__text {
    color: #fff;
    font-size: clamp(2.4rem, 6vw, 8rem);
    font-weight: 600;
    letter-spacing: -.0205em;
    line-height: 1; }

/* Loading overlay
#loading-overlay {
 position: fixed;
 inset: 0;
 z-index: 200;
 background: #1A150E;
 background: url(images/noise.png), #1A150E;
 background-size: 100px,cover;
 background-repeat: repeat;
 display: flex;
 align-items: center;
 justify-content: center;
 transition: opacity 0.8s;
}
#loading-overlay.hidden {
  opacity: 0;
  pointer-events: none; }
#loading-text {
  font-family: 'Playfair Display', serif;
  font-size: 1rem;
  color: #B8956A;
  letter-spacing: 0.3em;
  text-transform: uppercase; }
#loading-image {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 25%;
 height: auto;
 filter: brightness(0) invert(1);
 @include mq(md) {
  width: 45%;
 }
 img {}
}
 */
/* --------------------------------
   KV Pattern
-------------------------------- */
.kv0 {
  position: relative; }
  .kv0 .background {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      .kv0 .background {
        aspect-ratio: 5/6; } }
  .kv0 .text {
    position: absolute;
    top: 46.81%;
    left: 1.44%;
    right: 39.42%;
    width: 59.16%;
    height: 20.58%; }
    @media screen and (max-width: 768px) {
      .kv0 .text {
        top: 32.8%;
        left: 4%;
        right: 4%;
        width: 92%;
        height: initial; } }
    .kv0 .text p {
      display: flex;
      flex-direction: column;
      gap: .5em; }
      @media screen and (max-width: 768px) {
        .kv0 .text p {
          font-weight: 600; } }
      .kv0 .text p span {
        display: block;
        font-size: 1.1275em;
        font-family: "F+UD-TsukuMin R", serif;
        letter-spacing: 0.1em;
        text-shadow: white -1px 1px 1px; }
        @media screen and (max-width: 768px) {
          .kv0 .text p span {
            font-size: 1.075em; } }

/*KV PatternA*/
.loading1 {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: url(images/noise.png), linear-gradient(to top, var(--key9), #d94210);
  background-size: 100px, cover;
  background-repeat: repeat;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  width: 100vw;
  height: 100vh;
  padding: 3em 6.25vw;
  opacity: 1;
  visibility: visible;
  transition: opacity .8s ease, visibility .8s ease; }
  @media screen and (max-width: 768px) {
    .loading1 {
      padding-bottom: 25svh; } }
  .loading1.is-hide {
    opacity: 0;
    visibility: hidden;
    pointer-events: none; }
    .loading1.is-hide svg {
      -webkit-filter: blur(12px);
      filter: blur(12px);
      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; }
  .loading1__inner {
    display: block;
    width: 60%; }
    @media screen and (max-width: 768px) {
      .loading1__inner {
        width: 100%; } }
  .loading1__text {
    width: 100%;
    opacity: 0;
    animation: loadingText 1.4s ease forwards;
    animation-delay: .4s; }

@keyframes loadingText {
  0% {
    opacity: 0;
    transform: translateY(8px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
@keyframes svgFade {
  from {
    opacity: 0;
    -webkit-filter: blur(12px);
    filter: blur(12px); }
  to {
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0); } }
.kv1 {
  position: relative;
  height: 100vh;
  overflow: hidden; }
  .kv1__copy {
    position: absolute;
    width: 100%;
    height: auto;
    padding: 3em calc(25vw / 4);
    left: 0;
    bottom: 0;
    z-index: 3;
    pointer-events: none; }
    .kv1__copy svg {
      width: 60%; }
      .kv1__copy svg .blur {
        opacity: 0;
        -webkit-filter: blur(15px);
        filter: blur(15px);
        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; }
      .kv1__copy svg.is-show .blur {
        opacity: 1;
        -webkit-filter: blur(0);
        filter: blur(0);
        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; }
      .kv1__copy svg.is-show .delay1 {
        transition-duration: 1.25s;
        transition-delay: .328s; }
      .kv1__copy svg.is-show .delay2 {
        transition-duration: 1.25s;
        transition-delay: .615s; }
  .kv1__tagline {
    position: absolute;
    left: 50%;
    top: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50vw;
    height: 60vh;
    pointer-events: none; }
    .kv1__tagline p span {
      display: block;
      height: 1.5em;
      overflow: hidden; }
      .kv1__tagline p span i {
        display: block;
        transform: translateY(32px); }
    .kv1__tagline p.is-show span i {
      transform: translateY(0);
      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; }
    .kv1__tagline p.is-show span:nth-child(1) i {
      transition-delay: .08s; }
    .kv1__tagline p.is-show span:nth-child(2) i {
      transition-delay: .12s; }
    .kv1__tagline p.is-show span:nth-child(3) i {
      transition-delay: .16s; }
    .kv1__tagline * {
      color: var(--white);
      font-weight: 600; }
  .kv1 .kv__bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 100%; }
    .kv1 .kv__bg::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 100%;
      background: linear-gradient(to top, var(--key9), #d94210); }
    .kv1 .kv__bg::after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 100%;
      background: url(images/noise.png), url(images/noise.png);
      background-size: 100px;
      background-repeat: repeat;
      mix-blend-mode: darken; }
    .kv1 .kv__bg video {
      mix-blend-mode: color-burn;
      opacity: .205; }
      @media screen and (max-width: 768px) {
        .kv1 .kv__bg video {
          opacity: .1025; } }
  .kv1 .kvMouse {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    perspective: 1200px;
    z-index: 2; }
    .kv1 .kvMouse .kvMouse__item img {
      opacity: 0;
      border-radius: 4px;
      line-height: 0;
      overflow: hidden;
      transform: scale(1.1275); }
    .kv1 .kvMouse.is-show .kvMouse__item img {
      opacity: 1;
      transform: scale(1);
      transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s;
      -o-transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s;
      -moz-transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s;
      -webkit-transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s; }
    .kv1 .kvMouse.is-show .kvMouse__item:nth-child(1) img {
      transition-delay: calc((.0615s * 1) + .205s); }
    .kv1 .kvMouse.is-show .kvMouse__item:nth-child(2) img {
      transition-delay: calc((.0615s * 3) + .205s); }
    .kv1 .kvMouse.is-show .kvMouse__item:nth-child(3) img {
      transition-delay: calc((.0615s * 2) + .205s); }
    .kv1 .kvMouse.is-show .kvMouse__item:nth-child(4) img {
      transition-delay: calc((.0615s * 3) + .205s); }
  .kv1 .kvMouse__item {
    position: absolute;
    will-change: transform;
    transform-style: preserve-3d; }
    .kv1 .kvMouse__item img {
      display: block;
      width: 100%;
      height: auto; }
    .kv1 .kvMouse__item:nth-child(1) {
      width: 24vw;
      left: 0;
      top: 18vh; }
    .kv1 .kvMouse__item:nth-child(2) {
      width: 8vw;
      aspect-ratio: 2/3;
      left: 28vw;
      top: 40vh; }
    .kv1 .kvMouse__item:nth-child(3) {
      width: 18vw;
      right: 2vw;
      top: 2vh; }
    .kv1 .kvMouse__item:nth-child(4) {
      width: 42vw;
      right: 4vw;
      bottom: 4vh; }

@media screen and (max-width: 768px) {
  .kv1 {
    min-height: 90svh;
    height: 90svh; }
    .kv1__copy {
      padding: 0 5vw 15svh;
      bottom: 0; }
      .kv1__copy svg {
        width: 100%; }
    .kv1__tagline {
      left: 0;
      top: initial;
      bottom: 0;
      width: 100%;
      height: 15svh;
      justify-content: flex-start;
      padding-inline: 7vw; }
      .kv1__tagline p {
        line-height: 1.7; }
    .kv1 .kv__bg video {
      opacity: .08; }
    .kv1 .kvMouse {
      z-index: 2;
      overflow: hidden; }
    .kv1 .kvMouse__item {
      border-radius: 3px;
      overflow: hidden; }
      .kv1 .kvMouse__item img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
      .kv1 .kvMouse__item:nth-child(1) {
        width: 46vw;
        left: -8vw;
        top: 21svh; }
      .kv1 .kvMouse__item:nth-child(2) {
        width: 18vw;
        aspect-ratio: 2 / 3;
        left: 58vw;
        top: 28svh; }
      .kv1 .kvMouse__item:nth-child(3) {
        width: 38vw;
        right: -7vw;
        top: 8svh; }
      .kv1 .kvMouse__item:nth-child(4) {
        width: 72vw;
        right: -8vw;
        bottom: 21svh; } }
/*KV PatternB*/
.loading2 {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: url(images/noise.png), linear-gradient(to top, var(--key9), #d94210);
  background-size: 100px, cover;
  background-repeat: repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 8vw;
  opacity: 1;
  visibility: visible;
  transition: opacity .8s ease, visibility .8s ease; }
  .loading2.is-hide {
    opacity: 0;
    visibility: hidden;
    pointer-events: none; }
    .loading2.is-hide svg {
      -webkit-filter: blur(12px);
      filter: blur(12px);
      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; }
  .loading2__inner {
    display: flex;
    align-items: center;
    justify-content: center; }
  .loading2__text {
    width: 3.28em;
    line-height: 1;
    opacity: 0;
    animation: loadingText 1.4s ease forwards;
    animation-delay: .4s; }
    @media screen and (max-width: 768px) {
      .loading2__text {
        width: 4.51em; } }
    .loading2__text .st0 {
      opacity: 0;
      filter: blur(12px);
      animation: svgFade 1s ease forwards; }
    .loading2__text .delay1 {
      animation-delay: .3s; }
    .loading2__text .delay2 {
      animation-delay: .7s; }

@keyframes loadingText {
  0% {
    opacity: 0;
    transform: translateY(8px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
@keyframes svgFade {
  from {
    opacity: 0;
    -webkit-filter: blur(12px);
    filter: blur(12px); }
  to {
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0); } }
.kv2 {
  position: relative;
  height: 100vh;
  overflow: hidden; }
  .kv2__video {
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(52vw, 900px);
    aspect-ratio: 16 / 9;
    transform: translate(-50%, -50%);
    overflow: hidden;
    border-radius: 8px;
    z-index: 2; }
    @media screen and (max-width: 768px) {
      .kv2__video {
        border-radius: 4px; } }
    .kv2__video video,
    .kv2__video img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover; }
  .kv2__copy {
    position: absolute;
    right: calc(25vw / 4);
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    width: calc(25vw / 2);
    pointer-events: none; }
    @media screen and (max-width: 768px) {
      .kv2__copy {
        right: 50%;
        top: 25%;
        transform: translate(50%, -50%); } }
    .kv2__copy svg .blur {
      opacity: 0;
      -webkit-filter: blur(15px);
      filter: blur(15px);
      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; }
    .kv2__copy svg.is-show .blur {
      opacity: 1;
      -webkit-filter: blur(0);
      filter: blur(0);
      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; }
    .kv2__copy svg.is-show .delay1 {
      transition-duration: 1.25s;
      transition-delay: .328s; }
    .kv2__copy svg.is-show .delay2 {
      transition-duration: 1.25s;
      transition-delay: .615s; }
  .kv2__tagline {
    position: absolute;
    left: calc(25vw / 4);
    right: calc(25vw / 4);
    bottom: 2.46em;
    z-index: 3;
    pointer-events: none; }
    .kv2__tagline p {
      opacity: 0;
      -webkit-filter: blur(12px);
      filter: blur(12px); }
      .kv2__tagline p.is-show {
        animation: blur2Text 2.4s ease forwards; }
    .kv2__tagline * {
      color: var(--white);
      font-weight: 600; }
  .kv2 .kv__bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 100%; }
    .kv2 .kv__bg::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 100%;
      background: linear-gradient(to top, var(--key9), #d94210); }
    .kv2 .kv__bg::after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 100%;
      background: url(images/noise.png), url(images/noise.png);
      background-size: 100px;
      background-repeat: repeat;
      mix-blend-mode: darken; }
    .kv2 .kv__bg video {
      mix-blend-mode: color-burn;
      opacity: .205; }
      @media screen and (max-width: 768px) {
        .kv2 .kv__bg video {
          opacity: .1025; } }

@keyframes blur2Text {
  0% {
    opacity: 0;
    -webkit-filter: blur(12px);
    filter: blur(12px); }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0); } }
/*KV PatternC*/
.loading3 {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: var(--gray2, #f9f9f9);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: opacity 1.4s ease, visibility 1.4s ease;
  opacity: 1;
  visibility: visible; }
  .loading3.is-hide {
    opacity: 0;
    visibility: hidden;
    pointer-events: none; }
  .loading3__inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%; }
  .loading3__text {
    width: 10em;
    animation: loading3Text 1.8s ease forwards; }

@keyframes loading3Text {
  0% {
    opacity: 0;
    filter: blur(12px);
    transform: translateY(4px); }
  100% {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0); } }
#siteContent:has(.kv3) {
  padding-top: 5em; }
  @media screen and (max-width: 768px) {
    #siteContent:has(.kv3) {
      padding-top: 3em; } }

.kv3 {
  position: relative;
  display: flex;
  height: calc(100vh - 5em);
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    .kv3 {
      flex-direction: column-reverse;
      height: auto; } }
  .kv3__inner {
    flex: 1;
    position: relative;
    min-width: 0;
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      .kv3__inner {
        aspect-ratio: 1/1; } }
    .kv3__inner .kv3Swiper {
      width: 100%;
      min-width: 0;
      height: 100%; }
      .kv3__inner .kv3Swiper .swiper-wrapper {
        width: 100%; }
    .kv3__inner .swiper-slide {
      width: 100% !important;
      height: 100%;
      overflow: hidden; }
      .kv3__inner .swiper-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transform: scale(1);
        transition: transform 24s ease;
        will-change: transform; }
      .kv3__inner .swiper-slide.swiper-slide-active img {
        transform: scale(1.05); }
  .kv3__sidebar {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 16.4em; }
    @media screen and (max-width: 768px) {
      .kv3__sidebar {
        justify-content: flex-start;
        padding: calc(50vw / 3) calc(25vw / 4) calc(25vw / 2); } }
    .kv3__sidebar svg {
      width: 4.1em;
      height: auto;
      margin-bottom: 4.1em; }
      @media screen and (max-width: 768px) {
        .kv3__sidebar svg {
          width: auto;
          height: 4.51em;
          margin-bottom: 0; } }
      .kv3__sidebar svg path {
        opacity: 0;
        filter: blur(12px);
        transition: opacity 1.8s cubic-bezier(0.19, 1, 0.22, 1), filter 1.8s cubic-bezier(0.19, 1, 0.22, 1), transform 1.8s cubic-bezier(0.19, 1, 0.22, 1);
        transition-delay: .3s;
        transform: translateY(16px);
        will-change: opacity, filter, transform; }
        .kv3__sidebar svg path.is-show {
          opacity: 1;
          filter: blur(0);
          transform: translateY(0); }
    .kv3__sidebar .scroll {
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: 20;
      display: flex;
      justify-content: center;
      width: 100%;
      height: auto; }
      @media screen and (max-width: 768px) {
        .kv3__sidebar .scroll {
          right: 0;
          left: initial;
          bottom: initial;
          top: calc(100% + 90vw);
          width: 3em;
          transform: translateY(-50%); } }
      .kv3__sidebar .scroll__item {
        display: flex;
        align-items: center;
        gap: .75em;
        -webkit-writing-mode: vertical-rl;
        writing-mode: vertical-rl;
        font-size: .8em; }
      @media screen and (max-width: 768px) {
        .kv3__sidebar .scroll__text {
          color: var(--white); } }
      .kv3__sidebar .scroll__dots {
        width: .5em;
        height: 5em; }
        .kv3__sidebar .scroll__dots::after {
          content: '';
          display: block;
          width: .5em;
          height: .5em;
          border-radius: .5em;
          background: var(--gray12);
          animation: scrolldot 2.4s ease-in-out infinite; }
          @media screen and (max-width: 768px) {
            .kv3__sidebar .scroll__dots::after {
              background: var(--white); } }

@keyframes scrolldot {
  0% {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0); }
  70% {
    opacity: 0;
    filter: blur(6px);
    transform: translateY(32px); }
  80% {
    opacity: 0;
    filter: blur(6px);
    transform: translateY(0); }
  100% {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0); } }
.service-zone {
  position: relative;
  z-index: 15;
  display: flex;
  flex-direction: column;
  padding-bottom: calc(8em / 8 * 8);
  background: var(--gray12); }
  @media screen and (max-width: 768px) {
    .service-zone {
      gap: calc(8em / 8 * 2); } }
  .service-zone::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: url(images/noise.png), rgba(0, 0, 0, 0.7);
    background-size: 100px, cover;
    background-repeat: repeat; }
  .service-zone .scene-panel {
    position: relative;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 3rem 6%;
    color: var(--gray1);
    pointer-events: none; }
    .service-zone .scene-panel * {
      color: var(--gray1); }
    .service-zone .scene-panel > * {
      pointer-events: auto; }
    .service-zone .scene-panel .scene-title {
      font-size: 3.28em;
      line-height: 1.23; }
      @media screen and (max-width: 768px) {
        .service-zone .scene-panel .scene-title {
          font-size: 2.255em; } }
      .service-zone .scene-panel .scene-title + * {
        margin-top: calc(8em / 32 * 3); }
    .service-zone .scene-panel p {
      max-width: 32.8em;
      font-size: 1em;
      line-height: 2; }
      @media screen and (max-width: 768px) {
        .service-zone .scene-panel p {
          font-size: 1.075em;
          line-height: 1.8;
          font-weight: 500; } }
      .service-zone .scene-panel p.scene-subtitle {
        display: flex;
        align-items: center;
        gap: calc(8em / 16);
        font-weight: 600; }
        .service-zone .scene-panel p.scene-subtitle::before {
          content: '';
          display: block;
          width: calc(8em / 16);
          min-width: calc(8em / 16);
          height: calc(8em / 16);
          background: var(--key9);
          border-radius: 8em; }
    .service-zone .scene-panel .button {
      margin-top: calc(8em / 16 * 5); }

.information-zone {
  display: flex;
  flex-direction: column;
  padding: calc(8em / 8 * 8) 0;
  background: var(--gray3); }
  @media screen and (max-width: 768px) {
    .information-zone {
      gap: calc(8em / 8 * 2);
      padding: calc(8em / 16 * 8) 0; } }

.topics-archive {
  position: relative;
  z-index: 15;
  width: 100%;
  padding: 0 32px;
  padding-top: calc(8em / 8 * 5);
  padding-bottom: calc(8em / 8 * 3);
  background: var(--gray2);
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    .topics-archive {
      padding: 0 24px; } }

.topics-archive__header .inner, .topics-important .inner, .topics-main .inner {
  display: block;
  width: calc(100% / 18 * 16);
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 768px) {
    .topics-archive__header .inner, .topics-important .inner, .topics-main .inner {
      width: 100%; } }

.topics-archive__header .inner {
  display: flex;
  flex-direction: column-reverse;
  padding: calc(8em / 8 * 3) 0; }
.topics-archive__header .topics-archive__sub {
  display: block;
  font-weight: 600;
  font-size: 6.15em;
  letter-spacing: -.0328em;
  line-height: 1; }
  @media screen and (max-width: 768px) {
    .topics-archive__header .topics-archive__sub {
      font-size: 4.1em; } }
.topics-archive__header .topics-archive__title {
  display: flex;
  align-items: center;
  gap: calc(8em / 16); }
  .topics-archive__header .topics-archive__title::before {
    content: '';
    display: block;
    width: 1.435em;
    height: 1.435em;
    background: url(images/mark.svg);
    background-size: cover; }

.topics-important .inner {
  border-top: solid 1px var(--gray6);
  padding: calc(8em / 8 * 2) 0; }
.topics-important .topics-section-head .topics-section-head__title {
  display: flex;
  align-items: center;
  gap: calc(8em / 16);
  font-size: 1.23em; }
  .topics-important .topics-section-head .topics-section-head__title + * {
    margin-top: calc(8em / 8 * 2); }
    @media screen and (max-width: 768px) {
      .topics-important .topics-section-head .topics-section-head__title + * {
        margin-top: calc(8em / 16 * 3); } }
.topics-important .topics-important__list .topics-important-card {
  display: flex;
  flex-direction: column;
  gap: calc(8em / 8);
  height: auto; }
  .topics-important .topics-important__list .topics-important-card .topics-important-card__thumb {
    aspect-ratio: 3/2;
    border-radius: calc(8em / 16);
    box-shadow: var(--shadow);
    overflow: hidden; }
  .topics-important .topics-important__list .topics-important-card .topics-important-card__text {
    flex: 1;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: calc(8em / 16); }
    .topics-important .topics-important__list .topics-important-card .topics-important-card__text .topics-important-card__meta {
      display: flex;
      align-items: center;
      gap: calc(8em / 16); }
      .topics-important .topics-important__list .topics-important-card .topics-important-card__text .topics-important-card__meta .topics-important-card__label {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 1.8em;
        padding: 0 calc(8em / 16);
        border: solid 1px var(--key9);
        border-radius: calc(8em / 32);
        font-size: .7em;
        line-height: 1;
        color: var(--key9); }
      .topics-important .topics-important__list .topics-important-card .topics-important-card__text .topics-important-card__meta .topics-important-card__date {
        color: var(--gray9);
        font-size: .75em; }
      .topics-important .topics-important__list .topics-important-card .topics-important-card__text .topics-important-card__meta .topics-important-card__new {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 1.8em;
        padding: 0 calc(8em / 16);
        border-radius: calc(8em / 32);
        font-size: 10px;
        line-height: 1;
        color: var(--white);
        background: var(--key9); }
    .topics-important .topics-important__list .topics-important-card .topics-important-card__text .topics-important-card__title {
      font-size: 1.1275em; }
.topics-important .topics-important__container .swiper-navigation {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: calc(8em / 16 * 3);
  margin-top: calc(16px * 2); }
  .topics-important .topics-important__container .swiper-navigation .swiper-button-wrapper {
    display: flex;
    align-items: center;
    gap: calc(8em / 16); }
    .topics-important .topics-important__container .swiper-navigation .swiper-button-wrapper > .swiper-button-prev, .topics-important .topics-important__container .swiper-navigation .swiper-button-wrapper > .swiper-button-next {
      position: relative;
      top: initial;
      left: initial;
      right: initial;
      bottom: initial;
      width: 2.87em;
      height: 2.87em;
      margin: initial;
      padding: initial;
      background: var(--gray1);
      border-radius: 2.87em;
      box-shadow: var(--shadow); }
      .topics-important .topics-important__container .swiper-navigation .swiper-button-wrapper > .swiper-button-prev::before, .topics-important .topics-important__container .swiper-navigation .swiper-button-wrapper > .swiper-button-next::before {
        content: '';
        display: block;
        width: .75em;
        height: .75em;
        background: url(images/icon/arrow.svg);
        background-size: cover; }
      .topics-important .topics-important__container .swiper-navigation .swiper-button-wrapper > .swiper-button-prev svg, .topics-important .topics-important__container .swiper-navigation .swiper-button-wrapper > .swiper-button-next svg {
        display: none; }
    .topics-important .topics-important__container .swiper-navigation .swiper-button-wrapper > .swiper-button-prev {
      transform: rotate(180deg); }
.topics-important + .topics-main .inner {
  margin-top: calc(8em / 8 * 4); }
  @media screen and (max-width: 768px) {
    .topics-important + .topics-main .inner {
      margin-top: calc(8em / 8 * 2); } }

.topics-main .inner {
  border-top: solid 1px var(--gray6);
  padding: calc(8em / 8 * 2) 0; }
.topics-main .topics-main__grid {
  display: flex;
  flex-wrap: wrap;
  gap: calc(8em / 16 * 3) calc(8em / 8 * 4); }
  .topics-main .topics-main__grid .topics-sidebar {
    width: 272px; }
    @media screen and (max-width: 768px) {
      .topics-main .topics-main__grid .topics-sidebar {
        width: 100%; } }
    .topics-main .topics-main__grid .topics-sidebar .topics-category {
      top: calc(8em / 8 * 5);
      padding: calc(8em / 8 * 2) calc(16px / 2 * 3) calc(8em / 8 * 2);
      background: var(--white);
      box-shadow: var(--shadow);
      border-radius: calc(8em / 32 * 4);
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        .topics-main .topics-main__grid .topics-sidebar .topics-category {
          padding: 0;
          background: transparent;
          box-shadow: none;
          border-radius: none;
          overflow: scroll; } }
      .topics-main .topics-main__grid .topics-sidebar .topics-category .topics-category__title {
        padding-bottom: calc(8em / 32 * 2);
        border-bottom: solid 1px var(--gray6); }
        @media screen and (max-width: 768px) {
          .topics-main .topics-main__grid .topics-sidebar .topics-category .topics-category__title {
            display: none; } }
      .topics-main .topics-main__grid .topics-sidebar .topics-category .topics-category__list {
        display: flex;
        flex-direction: column;
        gap: calc(8em / 16);
        padding: calc(8em / 32 * 3) 0;
        font-size: .85em; }
        @media screen and (max-width: 768px) {
          .topics-main .topics-main__grid .topics-sidebar .topics-category .topics-category__list {
            flex-direction: row;
            white-space: nowrap; } }
        .topics-main .topics-main__grid .topics-sidebar .topics-category .topics-category__list .topics-category__item .topics-category__link {
          color: var(--gray9);
          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; }
          @media screen and (max-width: 768px) {
            .topics-main .topics-main__grid .topics-sidebar .topics-category .topics-category__list .topics-category__item .topics-category__link {
              display: flex;
              align-items: center;
              justify-content: center;
              height: 2.46em;
              border: solid 1px var(--gray6);
              border-radius: 3em;
              padding: 0 1em;
              font-weight: 600; } }
          .topics-main .topics-main__grid .topics-sidebar .topics-category .topics-category__list .topics-category__item .topics-category__link:hover {
            color: var(--gray12);
            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; }
          .topics-main .topics-main__grid .topics-sidebar .topics-category .topics-category__list .topics-category__item .topics-category__link.is-current {
            color: var(--key9) !important; }
            @media screen and (max-width: 768px) {
              .topics-main .topics-main__grid .topics-sidebar .topics-category .topics-category__list .topics-category__item .topics-category__link.is-current {
                color: var(--white) !important; } }
        .topics-main .topics-main__grid .topics-sidebar .topics-category .topics-category__list .topics-category__item:has(.is-current) {
          display: flex;
          align-items: center;
          gap: calc(8em / 16); }
          @media screen and (max-width: 768px) {
            .topics-main .topics-main__grid .topics-sidebar .topics-category .topics-category__list .topics-category__item:has(.is-current) .topics-category__link {
              background: var(--key9);
              border: solid 1px var(--key9); } }
          .topics-main .topics-main__grid .topics-sidebar .topics-category .topics-category__list .topics-category__item:has(.is-current)::before {
            content: '';
            display: block;
            width: .5em;
            height: .5em;
            border-radius: .5em;
            background: var(--key9); }
            @media screen and (max-width: 768px) {
              .topics-main .topics-main__grid .topics-sidebar .topics-category .topics-category__list .topics-category__item:has(.is-current)::before {
                display: none; } }
  .topics-main .topics-main__grid .topics-content {
    flex: 1; }
    .topics-main .topics-main__grid .topics-content .topics-list {
      border-top: solid 1px var(--gray5); }
      .topics-main .topics-main__grid .topics-content .topics-list .topics-list__item {
        border-bottom: solid 1px var(--gray5); }
        .topics-main .topics-main__grid .topics-content .topics-list .topics-list__item .topics-card {
          display: flex;
          align-items: center;
          gap: calc(8em / 8 * 2);
          padding: calc(8em / 16 * 3) 0; }
          @media screen and (max-width: 768px) {
            .topics-main .topics-main__grid .topics-content .topics-list .topics-list__item .topics-card {
              gap: calc(8em / 16 * 3); } }
          .topics-main .topics-main__grid .topics-content .topics-list .topics-list__item .topics-card .topics-card__thumb {
            flex: 1;
            aspect-ratio: 3/2;
            border-radius: calc(8em / 16);
            overflow: hidden; }
          .topics-main .topics-main__grid .topics-content .topics-list .topics-list__item .topics-card .topics-card__text {
            flex: 3;
            display: flex;
            flex-direction: column;
            gap: calc(8em / 32); }
            @media screen and (max-width: 768px) {
              .topics-main .topics-main__grid .topics-content .topics-list .topics-list__item .topics-card .topics-card__text {
                flex: 1; } }
          .topics-main .topics-main__grid .topics-content .topics-list .topics-list__item .topics-card .topics-card__title {
            font-size: 1.1275em; }
          .topics-main .topics-main__grid .topics-content .topics-list .topics-list__item .topics-card .topics-card__meta {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: calc(8em / 16); }
            .topics-main .topics-main__grid .topics-content .topics-list .topics-list__item .topics-card .topics-card__meta .topics-card__terms {
              display: flex;
              align-items: center;
              justify-content: center;
              height: 1.8em;
              padding: 0 calc(8em / 16);
              border: solid 1px var(--key9);
              border-radius: calc(8em / 32);
              font-size: .7em;
              line-height: 1; }
              .topics-main .topics-main__grid .topics-content .topics-list .topics-list__item .topics-card .topics-card__meta .topics-card__terms span {
                color: var(--key9); }
            .topics-main .topics-main__grid .topics-content .topics-list .topics-list__item .topics-card .topics-card__meta .topics-card__date {
              color: var(--gray9);
              font-size: .75em; }
            .topics-main .topics-main__grid .topics-content .topics-list .topics-list__item .topics-card .topics-card__meta .topics-card__new {
              display: flex;
              align-items: center;
              justify-content: center;
              height: 1.8em;
              padding: 0 calc(8em / 16);
              border-radius: calc(8em / 32);
              font-size: 10px;
              line-height: 1;
              color: var(--white);
              background: var(--key9); }
    .topics-main .topics-main__grid .topics-content .topics-pagination {
      margin-top: 2em; }
      .topics-main .topics-main__grid .topics-content .topics-pagination ul.page-numbers {
        display: flex;
        align-content: center;
        justify-content: center;
        gap: calc(8em / 32 * 3);
        font-size: .8em; }
        .topics-main .topics-main__grid .topics-content .topics-pagination ul.page-numbers .page-numbers {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 3em;
          height: 3em;
          background: var(--gray1);
          border-radius: 3em;
          box-shadow: var(--shadow); }
          .topics-main .topics-main__grid .topics-content .topics-pagination ul.page-numbers .page-numbers.current {
            background: var(--gray12);
            color: var(--gray1); }
          .topics-main .topics-main__grid .topics-content .topics-pagination ul.page-numbers .page-numbers.prev, .topics-main .topics-main__grid .topics-content .topics-pagination ul.page-numbers .page-numbers.next {
            background: transparent;
            box-shadow: none; }
            .topics-main .topics-main__grid .topics-content .topics-pagination ul.page-numbers .page-numbers.prev img, .topics-main .topics-main__grid .topics-content .topics-pagination ul.page-numbers .page-numbers.next img {
              width: 1em;
              height: 1em; }
          .topics-main .topics-main__grid .topics-content .topics-pagination ul.page-numbers .page-numbers.prev {
            transform: rotate(180deg); }

main.single-topics {
  padding-top: calc(8em / 8 * 5);
  padding-bottom: calc(8em / 8 * 8); }

.inner-s {
  width: min(100% - 40px, 860px);
  margin: 0 auto; }

.single-topics-header {
  margin-bottom: 40px; }

.single-topics-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-bottom: 18px; }

.single-topics-meta__terms {
  display: flex;
  flex-wrap: wrap;
  gap: 8px; }

.single-topics-meta__term {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border: 1px solid var(--key9);
  border-radius: 999px;
  color: var(--key9);
  font-size: 12px;
  line-height: 1; }

.single-topics-meta__date {
  font-size: 13px;
  color: #666; }

.single-topics-header__title {
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.35;
  letter-spacing: 0.02em;
  font-weight: 700;
  margin: 0; }

.single-topics-thumbnail {
  margin-bottom: 48px; }

.single-topics-thumbnail img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px; }

.single-topics-content {
  font-size: 16px;
  line-height: 2;
  color: #222; }

.single-topics-content p {
  margin: 0 0 1.8em; }

.single-topics-content h2,
.single-topics-content h3,
.single-topics-content h4 {
  line-height: 1.5;
  margin: 2.2em 0 0.8em; }

.single-topics-content img {
  max-width: 100%;
  height: auto;
  border-radius: 12px; }

.single-topics-content a {
  text-decoration: underline;
  text-underline-offset: 0.15em; }

.single-topics-share {
  margin-top: 56px;
  padding-top: 24px;
  border-top: 1px solid #e5e5e5;
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap; }

.single-topics-share__label {
  font-size: 13px;
  color: #666; }

.single-topics-share__links {
  display: flex;
  gap: 10px;
  flex-wrap: wrap; }

.single-topics-share__links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  height: 40px;
  padding: 0 16px;
  background: var(--white);
  border: 1px solid var(--gray6);
  border-radius: 999px;
  text-decoration: none;
  font-size: 13px;
  color: #111;
  transition: .3s; }

.single-topics-share__links a:hover {
  background: #111;
  color: #fff;
  border-color: #111; }

.single-topics-nav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 20px;
  align-items: center;
  margin-top: 56px;
  padding-top: 24px;
  border-top: 1px solid #e5e5e5; }

.single-topics-nav__prev {
  text-align: left; }

.single-topics-nav__back {
  text-align: center; }

.single-topics-nav__next {
  text-align: right; }

.single-topics-nav a {
  text-decoration: none;
  color: #111;
  font-size: 14px; }

.single-topics-related {
  margin-top: 96px; }

.single-topics-related__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 28px; }

.single-topics-related__title {
  font-size: 24px;
  line-height: 1.4;
  margin: 0; }

.single-topics-related__archive {
  font-size: 14px;
  color: #111;
  text-decoration: none; }

.single-topics-related__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px; }

.topics-card--related .topics-card__link {
  display: block;
  text-decoration: none;
  color: inherit; }

.topics-card--related .topics-card__thumb {
  margin-bottom: 12px;
  border-radius: 10px;
  overflow: hidden; }

.topics-card--related .topics-card__thumb img {
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover; }

.topics-card--related .topics-card__title {
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 10px; }

.topics-card--related .topics-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center; }

.topics-card--related .topics-card__terms {
  display: flex;
  flex-wrap: wrap;
  gap: 6px; }

.topics-card--related .topics-card__term {
  display: inline-flex;
  padding: 3px 8px;
  border: 1px solid #ddd;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1; }

.topics-card--related .topics-card__date {
  font-size: 12px;
  color: #666; }

@media (max-width: 1024px) {
  .single-topics-related__list {
    grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) {
  .single-topics {
    padding: 48px 0 80px; }

  .inner-s {
    width: min(100% - 32px, 860px); }

  .single-topics-header__title {
    font-size: 28px; }

  .single-topics-content {
    font-size: 15px;
    line-height: 1.9; }

  .single-topics-nav {
    grid-template-columns: 1fr;
    text-align: left; }

  .single-topics-nav__prev,
  .single-topics-nav__back,
  .single-topics-nav__next {
    text-align: left; }

  .single-topics-related__list {
    grid-template-columns: 1fr; } }
header#pageHeader {
  position: relative;
  z-index: 15;
  padding: 0 32px;
  padding-top: calc(8em / 8 * 5);
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    header#pageHeader {
      padding: 0 24px;
      padding-top: calc(8em / 8 * 3); } }
  header#pageHeader .wrapper {
    display: block;
    width: calc(100% / 18 * 16);
    margin-left: auto;
    margin-right: auto;
    padding: calc(8em / 8 * 6) 0; }
    @media screen and (max-width: 768px) {
      header#pageHeader .wrapper {
        width: 100%;
        padding: calc(8em / 16 * 8) 0; } }
    header#pageHeader .wrapper hgroup {
      position: relative;
      z-index: 15;
      display: flex;
      flex-direction: column; }
      header#pageHeader .wrapper hgroup h1 {
        display: flex;
        align-items: center;
        gap: calc(8em / 16);
        font-size: 1.23em;
        font-weight: 600; }
        @media screen and (max-width: 768px) {
          header#pageHeader .wrapper hgroup h1 {
            font-size: 1.1275em; } }
        header#pageHeader .wrapper hgroup h1::before {
          content: '';
          display: block;
          width: 1.64em;
          height: 1.64em;
          background: url(images/mark.svg);
          background-size: cover; }
      header#pageHeader .wrapper hgroup span {
        position: relative;
        z-index: 15;
        font-size: 6.15em;
        font-weight: 600;
        letter-spacing: -.0205em;
        line-height: 1;
        text-transform: capitalize; }
        @media screen and (max-width: 768px) {
          header#pageHeader .wrapper hgroup span {
            font-size: 4.1em; } }
      header#pageHeader .wrapper hgroup + * {
        margin-top: calc(8em / 8); }
    header#pageHeader .wrapper .thumb {
      position: relative;
      z-index: 15;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: auto;
      aspect-ratio: 3/1;
      background: var(--gray3);
      border-radius: calc(8em / 16);
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        header#pageHeader .wrapper .thumb {
          aspect-ratio: 16/9; } }
  header#pageHeader:has(.background) {
    margin-bottom: 6em; }
    @media screen and (max-width: 768px) {
      header#pageHeader:has(.background) {
        margin-bottom: 4em; } }
    header#pageHeader:has(.background) * {
      color: var(--gray1); }
    header#pageHeader:has(.background) p {
      font-size: 1.435em;
      font-weight: 600; }
      @media screen and (max-width: 768px) {
        header#pageHeader:has(.background) p {
          font-size: 1.3325em; } }
      header#pageHeader:has(.background) p.lead {
        font-size: 2.87em;
        line-height: 1.23; }
        @media screen and (max-width: 768px) {
          header#pageHeader:has(.background) p.lead {
            font-size: 2.46em; } }
        header#pageHeader:has(.background) p.lead + p {
          max-width: 32.8em;
          margin-top: calc(8em / 32 * 3);
          font-size: 1.1275em; }
          @media screen and (max-width: 768px) {
            header#pageHeader:has(.background) p.lead + p {
              font-size: 1em; } }
    header#pageHeader:has(.background) .hero-catch {
      background: linear-gradient(135deg, var(--gray1) 40%, var(--key9) 50%, var(--gray3) 60%, var(--gray1) 70%);
      background-size: 250% 100%;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent; }
    header#pageHeader:has(.background) .background {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: -5;
      filter: brightness(0.82); }
      header#pageHeader:has(.background) .background::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 100%;
        display: block;
        background: url(images/noise.png), url(images/noise.png);
        background-size: 100px;
        background-repeat: repeat; }
  header#pageHeader.job-archive .wrapper {
    padding: calc(8em / 8 * 2) 0; }

header#singleHeader {
  position: relative;
  z-index: 15;
  padding: 0 32px;
  padding-top: calc(8em / 8 * 5); }
  @media screen and (max-width: 768px) {
    header#singleHeader {
      padding-top: calc(8em / 8 * 3); } }
  header#singleHeader .wrapper {
    display: flex;
    gap: calc(8em / 16 * 3) calc(8em / 8 * 4);
    width: calc(100% / 64 * 62);
    margin-left: auto;
    margin-right: auto;
    padding: calc(8em / 8 * 6) 0 calc(8em / 8 * 4); }
    @media screen and (max-width: 768px) {
      header#singleHeader .wrapper {
        flex-direction: column;
        width: 100%;
        padding: calc(8em / 16 * 8) 0 calc(8em / 16 * 5); } }
    header#singleHeader .wrapper::before {
      content: '';
      display: block;
      width: 272px;
      max-width: 100%; }
    header#singleHeader .wrapper .single-title {
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: 1em; }
      header#singleHeader .wrapper .single-title h1 {
        font-size: 3.28em;
        line-height: 1.23;
        font-weight: 600; }
        @media screen and (max-width: 768px) {
          header#singleHeader .wrapper .single-title h1 {
            font-size: 2.255em; } }
      header#singleHeader .wrapper .single-title .publish {
        display: flex;
        align-items: center;
        gap: calc(8em / 16); }
        header#singleHeader .wrapper .single-title .publish .cat {
          display: flex;
          align-items: center;
          justify-content: center;
          padding: calc(8em / 32) calc(8em / 16);
          border: solid 1px var(--key9);
          border-radius: calc(8em / 16);
          color: var(--key9);
          font-size: .75em;
          line-height: 1; }
        header#singleHeader .wrapper .single-title .publish time {
          color: var(--sub9);
          font-size: .75em; }

.page-frame {
  padding: 0 32px;
  padding-bottom: 6em; }
  @media screen and (max-width: 768px) {
    .page-frame {
      padding: 0 24px;
      padding-bottom: 3em;
      overflow: hidden; } }
  .page-frame .wrapper {
    width: calc(100% / 18 * 16);
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 768px) {
      .page-frame .wrapper {
        width: 100%; } }
  .page-frame.document .wrapper {
    width: 100%;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto; }
  .page-frame.page-flex hgroup:has(h2) {
    padding: calc(8em / 8 * 2) 0 calc(8em / 8 * 3);
    border-top: dotted 1px var(--gray11); }
    .page-frame.page-flex hgroup:has(h2) h2 {
      font-size: 1.1275em; }
      @media screen and (max-width: 768px) {
        .page-frame.page-flex hgroup:has(h2) h2 {
          font-size: 1.64em; } }
  .page-frame.page-flex hgroup:has(h3) h3 {
    background: var(--gray4);
    padding: calc(8em / 32 * 2) calc(8em / 32 * 3);
    border-radius: calc(8em / 32 * 1);
    overflow: hidden;
    line-height: 1.23; }
  .page-frame.page-flex hgroup:has(h3) + * {
    margin-top: calc(8em / 16 * 3); }
    @media screen and (max-width: 768px) {
      .page-frame.page-flex hgroup:has(h3) + * {
        margin-top: calc(8em / 16 * 2); } }
  .page-frame.page-flex hgroup:has(h4) {
    margin: 1em 0; }
    .page-frame.page-flex hgroup:has(h4) h4 {
      display: flex;
      align-items: center;
      gap: calc(8em / 32);
      font-size: 1.1275em;
      color: var(--key9); }
      .page-frame.page-flex hgroup:has(h4) h4::before {
        content: '';
        display: block;
        width: .7em;
        height: .7em;
        background: var(--key9);
        border-radius: 1em; }
  .page-frame.page-flex .wrapper {
    display: flex;
    gap: calc(8em / 16 * 3) calc(8em / 8 * 4); }
    @media screen and (max-width: 768px) {
      .page-frame.page-flex .wrapper {
        flex-direction: column; } }
  .page-frame.page-flex .flex-side {
    width: 272px;
    max-width: 100%; }
    @media screen and (max-width: 768px) {
      .page-frame.page-flex .flex-side {
        width: 100%; } }
    .page-frame.page-flex .flex-side .anker {
      top: calc(8em / 8 * 5);
      padding: calc(8em / 8 * 2) calc(16px / 2 * 3) calc(8em / 8 * 2);
      background: var(--white);
      border-radius: calc(8em / 16);
      box-shadow: var(--shadow); }
      .page-frame.page-flex .flex-side .anker dl {
        display: flex;
        flex-direction: column;
        gap: calc(8em / 32 * 3); }
        .page-frame.page-flex .flex-side .anker dl > dt {
          padding-bottom: calc(8em / 32 * 2);
          border-bottom: dotted 1px var(--gray11); }
          .page-frame.page-flex .flex-side .anker dl > dt p {
            font-size: 1.23em;
            font-weight: 600; }
        .page-frame.page-flex .flex-side .anker dl > dd {
          opacity: .205; }
          .page-frame.page-flex .flex-side .anker dl > dd a {
            display: flex;
            align-items: center;
            gap: calc(8em / 32);
            font-weight: 600; }
            .page-frame.page-flex .flex-side .anker dl > dd a span {
              display: block; }
              .page-frame.page-flex .flex-side .anker dl > dd a span.icon {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 1em;
                height: 1em;
                padding: calc(8em / 64); }
                .page-frame.page-flex .flex-side .anker dl > dd a span.icon svg {
                  fill: var(--gray1); }
          .page-frame.page-flex .flex-side .anker dl > dd:hover {
            opacity: 1; }
          .page-frame.page-flex .flex-side .anker dl > dd.active {
            opacity: 1; }
            .page-frame.page-flex .flex-side .anker dl > dd.active * {
              color: var(--key9); }
            .page-frame.page-flex .flex-side .anker dl > dd.active span.icon svg {
              fill: var(--key9); }
      .page-frame.page-flex .flex-side .anker ul.parent {
        display: flex;
        flex-direction: column;
        gap: calc(8em / 32 * 3);
        margin-top: 1em; }
        .page-frame.page-flex .flex-side .anker ul.parent > li .child-title {
          color: var(--gray9);
          font-weight: 600; }
        .page-frame.page-flex .flex-side .anker ul.parent > li .child-section {
          display: none; }
          .page-frame.page-flex .flex-side .anker ul.parent > li .child-section ul {
            display: flex;
            flex-direction: column;
            padding: calc(8rem / 32 * 2) 0; }
            .page-frame.page-flex .flex-side .anker ul.parent > li .child-section ul > li a {
              display: flex;
              align-items: center;
              gap: calc(8em / 16);
              padding: calc(8rem / 32 * 2) calc(8rem / 32 * 3);
              font-size: .85em; }
              .page-frame.page-flex .flex-side .anker ul.parent > li .child-section ul > li a .icon {
                width: calc(8em / 32 * 3);
                height: calc(8em / 32 * 3);
                line-height: 0; }
                .page-frame.page-flex .flex-side .anker ul.parent > li .child-section ul > li a .icon svg {
                  fill: var(--gray12); }
            .page-frame.page-flex .flex-side .anker ul.parent > li .child-section ul > li.active a .roll {
              color: var(--key9); }
            .page-frame.page-flex .flex-side .anker ul.parent > li .child-section ul > li.active a .icon svg {
              fill: var(--key9); }
        .page-frame.page-flex .flex-side .anker ul.parent > li.current {
          padding: calc(8em / 32 * 3) 0;
          border-bottom: solid 1px var(--gray6); }
          .page-frame.page-flex .flex-side .anker ul.parent > li.current .child-title {
            padding: calc(8em / 32 * 2) calc(8em / 32 * 3);
            background: var(--key3);
            border-radius: calc(8em / 32 * 1);
            overflow: hidden;
            color: var(--key9); }
          .page-frame.page-flex .flex-side .anker ul.parent > li.current .child-section {
            display: block; }
  .page-frame.page-flex .flex-main {
    display: flex;
    flex-direction: column;
    gap: calc(8em / 8 * 6);
    width: calc(100% - 272px); }
    @media screen and (max-width: 768px) {
      .page-frame.page-flex .flex-main {
        width: 100%; } }
    @media screen and (max-width: 768px) {
      .page-frame.page-flex .flex-main:has(.news-main) {
        order: -1; } }
  .page-frame.page-parent hgroup:has(h2) {
    padding: calc(8em / 8 * 2) 0 calc(8em / 8 * 3);
    border-top: dotted 1px var(--gray11); }
    .page-frame.page-parent hgroup:has(h2) h2 {
      font-size: 1.1275em; }
      @media screen and (max-width: 768px) {
        .page-frame.page-parent hgroup:has(h2) h2 {
          font-size: 1.64em; } }
  .page-frame.page-parent hgroup:has(h3) {
    padding: calc(8em / 8 * 3) 0 calc(8em / 16 * 3);
    border-top: dotted 1px var(--gray11); }
    .page-frame.page-parent hgroup:has(h3) h3 {
      font-size: 1.5575em;
      line-height: 1.23; }
    .page-frame.page-parent hgroup:has(h3) + * {
      margin-top: calc(8em / 16 * 2); }
  .page-frame.page-parent hgroup:has(h4) {
    margin: 1em 0; }
    .page-frame.page-parent hgroup:has(h4) h4 {
      display: flex;
      align-items: center;
      gap: calc(8em / 32);
      font-size: 1.1275em;
      color: var(--key9); }
      .page-frame.page-parent hgroup:has(h4) h4::before {
        content: '';
        display: block;
        width: .7em;
        height: .7em;
        background: var(--key9);
        border-radius: 1em; }

.document-header {
  padding-top: calc(8em / 8 * 5); }
  @media screen and (max-width: 768px) {
    .document-header {
      padding-top: calc(8em / 8 * 3); } }
  .document-header .wrapper {
    padding-top: calc(8em / 8 * 4);
    padding-bottom: calc(8em / 8 * 4); }
    @media screen and (max-width: 768px) {
      .document-header .wrapper {
        padding-top: calc(8em / 8 * 3);
        padding-bottom: calc(8em / 8 * 3); } }
  .document-header h1 {
    text-align: center;
    font-size: 2.255em;
    font-weight: 600; }

.page-group .group-lower .lower-main {
  display: flex;
  flex-direction: column;
  gap: calc(8em / 16 * 6); }
  .page-group .group-lower .lower-main .card {
    display: flex;
    align-items: flex-start;
    flex-direction: row-reverse;
    gap: calc(8em / 16 * 3) calc(8em / 8 * 4); }
    @media screen and (max-width: 768px) {
      .page-group .group-lower .lower-main .card {
        gap: calc(8em / 16 * 3) calc(8em / 8 * 2); } }
    .page-group .group-lower .lower-main .card .thumb {
      flex: 1;
      aspect-ratio: 3/2;
      overflow: hidden;
      border-radius: calc(8em / 16);
      overflow: hidden;
      box-shadow: var(--shadow); }
    .page-group .group-lower .lower-main .card .content {
      flex: 1;
      display: flex;
      flex-direction: column;
      align-items: flex-start; }
      .page-group .group-lower .lower-main .card .content dl > dt {
        font-weight: 600;
        font-size: 1.23em; }
        .page-group .group-lower .lower-main .card .content dl > dt + dd {
          margin-top: calc(8em / 32); }
      .page-group .group-lower .lower-main .card .content dl + * {
        margin-top: calc(8em / 16 * 3); }

.page-group__child .group__child-news .news-main ul.news-main__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0px, 1fr));
  gap: 1.5em 2em; }
  @media screen and (max-width: 768px) {
    .page-group__child .group__child-news .news-main ul.news-main__list {
      grid-template-columns: repeat(1, minmax(0px, 1fr)); } }
  .page-group__child .group__child-news .news-main ul.news-main__list > li.news-main__item {
    grid-template-columns: 1fr; }
.page-group__child .group__child-news .news-main .news-card {
  display: flex;
  flex-direction: column;
  gap: calc(8em / 32 * 5); }
  @media screen and (max-width: 768px) {
    .page-group__child .group__child-news .news-main .news-card {
      align-items: flex-start;
      flex-direction: row-reverse;
      border-bottom: dotted 1px var(--gray6);
      padding-bottom: 1.5em; } }
  .page-group__child .group__child-news .news-main .news-card .news-card__thumb {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    border-radius: 16px;
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      .page-group__child .group__child-news .news-main .news-card .news-card__thumb {
        width: 6.15em;
        min-width: 6.15em;
        border-radius: 4px; } }
  .page-group__child .group__child-news .news-main .news-card .news-card__text {
    display: flex;
    flex-direction: column;
    gap: calc(8em / 32 * 2); }
    @media screen and (max-width: 768px) {
      .page-group__child .group__child-news .news-main .news-card .news-card__text {
        gap: calc(8em / 32 * 1); } }
    .page-group__child .group__child-news .news-main .news-card .news-card__text .news-card__title {
      font-size: 1.23em;
      line-height: 1.3325; }
    .page-group__child .group__child-news .news-main .news-card .news-card__text .news-card__meta {
      display: flex;
      align-items: center;
      gap: calc(8em / 32 * 4); }
      .page-group__child .group__child-news .news-main .news-card .news-card__text .news-card__meta .news-card__date {
        font-size: .8em;
        color: var(--gray9); }
      .page-group__child .group__child-news .news-main .news-card .news-card__text .news-card__meta .news-card__categories {
        display: flex;
        align-items: center;
        gap: calc(8em / 16); }
        .page-group__child .group__child-news .news-main .news-card .news-card__text .news-card__meta .news-card__categories .news-card__category {
          display: flex;
          align-items: center;
          justify-content: center;
          padding: 2px 8px;
          border: solid 1px var(--gray6);
          border-radius: 4px;
          overflow: hidden;
          font-weight: 600;
          font-size: .8em; }
    .page-group__child .group__child-news .news-main .news-card .news-card__text .news-card__excerpt {
      font-size: .85em; }
.page-group__child .group__child-outline .outline-main ul.col {
  border-top: solid 1px var(--gray6); }
  .page-group__child .group__child-outline .outline-main ul.col > li.row {
    display: flex;
    row-gap: calc(8em / 16);
    padding: calc(8em / 32 * 5) 0;
    border-bottom: solid 1px var(--gray6); }
    .page-group__child .group__child-outline .outline-main ul.col > li.row .title {
      flex: 1;
      min-width: 6em;
      color: var(--gray11); }
    .page-group__child .group__child-outline .outline-main ul.col > li.row .content {
      flex: 3;
      white-space: normal;
      word-break: keep-all;
      overflow-wrap: break-word;
      line-break: strict; }
      .page-group__child .group__child-outline .outline-main ul.col > li.row .content .caption {
        color: var(--gray10);
        font-size: .85em; }
    @media screen and (max-width: 768px) {
      .page-group__child .group__child-outline .outline-main ul.col > li.row:has(.sp-100) {
        flex-wrap: wrap; }
        .page-group__child .group__child-outline .outline-main ul.col > li.row:has(.sp-100) .content {
          min-width: 100%; } }
.page-group__child .group__child-outline .outline-main table tr > th {
  padding: calc(8em / 32) 0;
  padding-right: 1em;
  text-align: left; }
.page-group__child .group__child-outline .outline-main table tr > td {
  padding: calc(8em / 32) 0; }
.page-group__child .group__child-outline .outline-main ul.disc {
  display: flex;
  flex-direction: column;
  gap: calc(8em / 32); }
.page-group__child .group__child-service .service-main {
  display: flex;
  flex-direction: column;
  gap: calc(8em / 16 * 5); }
  @media screen and (max-width: 768px) {
    .page-group__child .group__child-service .service-main {
      gap: calc(8em / 16 * 4); } }
  .page-group__child .group__child-service .service-main .block ul.grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0px, 1fr));
    gap: 16px; }
    @media screen and (max-width: 768px) {
      .page-group__child .group__child-service .service-main .block ul.grid {
        grid-template-columns: repeat(1, minmax(0px, 1fr));
        gap: 8px; } }
    .page-group__child .group__child-service .service-main .block ul.grid > li {
      grid-template-columns: 1fr; }
  .page-group__child .group__child-service .service-main .block .card {
    display: flex;
    align-items: center;
    gap: calc(8em / 32 * 3);
    cursor: pointer; }
    .page-group__child .group__child-service .service-main .block .card .thumb {
      flex: 1;
      max-width: calc(8em / 8 * 4);
      aspect-ratio: 1/1;
      background: linear-gradient(to top, var(--key11), var(--key8));
      border-radius: calc(8em / 32);
      box-shadow: var(--shadow);
      overflow: hidden;
      line-height: 0;
      padding: calc(8em / 32 * 3); }
      .page-group__child .group__child-service .service-main .block .card .thumb img {
        filter: brightness(0) invert(1);
        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; }
    .page-group__child .group__child-service .service-main .block .card .text {
      flex: 4; }
      .page-group__child .group__child-service .service-main .block .card .text dl > dt {
        font-weight: 600; }
      .page-group__child .group__child-service .service-main .block .card .text dl > dd {
        font-size: 14px;
        color: var(--gray10); }
    .page-group__child .group__child-service .service-main .block .card:hover .thumb img {
      transform: scale(1.05);
      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; }
.page-group__child .group__child-access .access-main {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  border-radius: calc(8em / 16);
  box-shadow: var(--shadow);
  overflow: hidden; }
.page-group__child .group__child-access .access-foot {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  margin-top: calc(8em / 16 * 3); }
  .page-group__child .group__child-access .access-foot dl > dt {
    font-size: 1.1275em;
    font-weight: 600; }
  .page-group__child .group__child-access .access-foot dl > dd {
    font-size: 14px;
    color: var(--gray10); }
  .page-group__child .group__child-access .access-foot dl + * {
    margin-top: calc(8em / 8); }
.page-group__child .group__child-history .history-main dl {
  display: grid;
  grid-template-columns: 12em 1fr;
  -moz-column-gap: 2em;
  column-gap: 2em;
  font-size: .85em; }
  @media screen and (max-width: 768px) {
    .page-group__child .group__child-history .history-main dl {
      grid-template-columns: 8em 1fr;
      -moz-column-gap: 1em;
      column-gap: 1em; } }
  .page-group__child .group__child-history .history-main dl > dt {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "year month";
    padding: calc(8em / 8) 0;
    border-top: solid 1px var(--gray6); }
    @media screen and (max-width: 768px) {
      .page-group__child .group__child-history .history-main dl > dt {
        grid-template-columns: repeat(1, 1fr); } }
    .page-group__child .group__child-history .history-main dl > dt .year {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
      grid-area: year; }
    .page-group__child .group__child-history .history-main dl > dt .month {
      -ms-grid-row: 1;
      -ms-grid-column: 2;
      grid-area: month; }
      @media screen and (max-width: 768px) {
        .page-group__child .group__child-history .history-main dl > dt .month {
          display: none; } }
  .page-group__child .group__child-history .history-main dl > dd {
    padding: calc(8em / 8) 0;
    border-top: solid 1px var(--gray6); }
.page-group__child .group__child-location .location-main {
  display: flex;
  flex-wrap: wrap;
  gap: calc(8em / 16 * 4); }
  .page-group__child .group__child-location .location-main .block {
    width: calc((100% / 2) - ((8em / 16 * 4) * 1 / 2)); }
    @media screen and (max-width: 768px) {
      .page-group__child .group__child-location .location-main .block {
        width: 100%; } }
    .page-group__child .group__child-location .location-main .block.md-100 {
      width: 100%; }
    .page-group__child .group__child-location .location-main .block .block-map {
      width: 100%;
      aspect-ratio: 2/1;
      border-radius: calc(8em / 16);
      box-shadow: var(--shadow);
      overflow: hidden;
      line-height: 0; }
      @media screen and (max-width: 768px) {
        .page-group__child .group__child-location .location-main .block .block-map {
          aspect-ratio: 3/2; } }
      .page-group__child .group__child-location .location-main .block .block-map + * {
        margin-top: calc(8em / 16 * 2); }
    .page-group__child .group__child-location .location-main .block .block-text {
      display: flex;
      align-items: flex-start;
      flex-direction: column; }
      .page-group__child .group__child-location .location-main .block .block-text hgroup {
        width: 100%; }
      .page-group__child .group__child-location .location-main .block .block-text .button {
        margin-top: calc(8em / 16 * 1); }

.page-service .service-jobcategory .jobcategory-main {
  display: flex;
  flex-direction: column;
  gap: calc(8em / 8 * 3); }
  .page-service .service-jobcategory .jobcategory-main .card {
    position: relative;
    z-index: 15;
    display: flex; }
    @media screen and (max-width: 768px) {
      .page-service .service-jobcategory .jobcategory-main .card {
        flex-direction: column; } }
    .page-service .service-jobcategory .jobcategory-main .card .thumb {
      flex: 1;
      position: relative;
      z-index: 15;
      aspect-ratio: 5 / 6;
      border-radius: calc(8em / 16);
      box-shadow: var(--shadow);
      overflow: hidden;
      line-height: 0; }
      @media screen and (max-width: 768px) {
        .page-service .service-jobcategory .jobcategory-main .card .thumb {
          aspect-ratio: 4 / 3; } }
    .page-service .service-jobcategory .jobcategory-main .card .content {
      flex: 2;
      display: flex;
      align-items: flex-start;
      flex-direction: column;
      gap: calc(8em / 32 * 3);
      padding: calc(8em / 16 * 3) calc(8em / 8 * 4); }
      @media screen and (max-width: 768px) {
        .page-service .service-jobcategory .jobcategory-main .card .content {
          padding: calc(8em / 16 * 3) calc(8em / 8 * 1); } }
      .page-service .service-jobcategory .jobcategory-main .card .content h3 {
        color: var(--key9); }
      .page-service .service-jobcategory .jobcategory-main .card .content dl > dt {
        font-size: 1.845em;
        line-height: 1.435;
        font-weight: 600; }
        .page-service .service-jobcategory .jobcategory-main .card .content dl > dt + * {
          margin-top: calc(8em / 32); }
      .page-service .service-jobcategory .jobcategory-main .card .content dl > dd {
        font-size: 14px;
        line-height: 1.8;
        color: var(--gray10); }
        .page-service .service-jobcategory .jobcategory-main .card .content dl > dd strong {
          border-bottom: dotted 1px var(--gray11); }
      .page-service .service-jobcategory .jobcategory-main .card .content dl + * {
        margin-top: 1em; }
      .page-service .service-jobcategory .jobcategory-main .card .content ul.grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0px, 1fr));
        gap: 16px 32px; }
        @media screen and (max-width: 768px) {
          .page-service .service-jobcategory .jobcategory-main .card .content ul.grid {
            grid-template-columns: repeat(1, minmax(0px, 1fr));
            gap: 8px 32px; } }
        .page-service .service-jobcategory .jobcategory-main .card .content ul.grid > li {
          grid-template-columns: 1fr; }
          .page-service .service-jobcategory .jobcategory-main .card .content ul.grid > li a {
            display: flex;
            align-items: center;
            gap: calc(8em / 32 * 3); }
            @media screen and (max-width: 768px) {
              .page-service .service-jobcategory .jobcategory-main .card .content ul.grid > li a {
                gap: calc(8em / 32 * 2); } }
            .page-service .service-jobcategory .jobcategory-main .card .content ul.grid > li a .icon {
              display: block;
              width: 2.46em;
              max-width: 2.46em;
              height: 2.46em;
              aspect-ratio: 1 / 1;
              background: linear-gradient(to top, var(--key11), var(--key8));
              border-radius: 3px;
              box-shadow: var(--shadow);
              overflow: hidden;
              line-height: 0;
              padding: 4px; }
              @media screen and (max-width: 768px) {
                .page-service .service-jobcategory .jobcategory-main .card .content ul.grid > li a .icon {
                  width: 2.46em;
                  max-width: 2.46em;
                  height: 2.46em; } }
              .page-service .service-jobcategory .jobcategory-main .card .content ul.grid > li a .icon img {
                filter: brightness(0) invert(1); }
            .page-service .service-jobcategory .jobcategory-main .card .content ul.grid > li a .text {
              font-weight: 600;
              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; }
            .page-service .service-jobcategory .jobcategory-main .card .content ul.grid > li a:hover .text {
              color: var(--key9);
              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; }
.page-service .service-number {
  position: relative;
  z-index: 15;
  padding: calc(8em / 8 * 3);
  border-radius: calc(8em / 16);
  overflow: hidden;
  box-shadow: var(--shadow); }
  @media screen and (max-width: 768px) {
    .page-service .service-number {
      width: calc(100% + 48px);
      margin-left: -24px;
      padding: 24px; } }
  .page-service .service-number .background {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    opacity: .5; }
  .page-service .service-number .number-main {
    padding-left: calc(8em / 8 * 10); }
    @media screen and (max-width: 768px) {
      .page-service .service-number .number-main {
        padding-left: 0; } }
  .page-service .service-number ul.grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(8em / 8); }
    @media screen and (max-width: 768px) {
      .page-service .service-number ul.grid {
        grid-template-columns: repeat(2, 1fr);
        gap: calc(8em / 16); } }
    .page-service .service-number ul.grid > li {
      display: flex;
      flex-direction: column;
      gap: calc(8em / 16 * 1);
      grid-template-columns: 1fr;
      aspect-ratio: 4/3;
      padding: calc(8em / 32 * 5);
      border-radius: calc(8em / 16);
      box-shadow: var(--shadow);
      background: var(--gray1); }
      @media screen and (max-width: 768px) {
        .page-service .service-number ul.grid > li {
          align-items: center;
          padding: calc(8em / 32 * 3) 0;
          aspect-ratio: auto; } }
      .page-service .service-number ul.grid > li .number-title {
        color: var(--key9);
        font-weight: 700;
        font-size: 1.1275em; }
        @media screen and (max-width: 768px) {
          .page-service .service-number ul.grid > li .number-title {
            font-size: 1em;
            text-align: center; } }
      .page-service .service-number ul.grid > li .number-item {
        display: flex;
        align-items: baseline; }
        @media screen and (max-width: 768px) {
          .page-service .service-number ul.grid > li .number-item {
            justify-content: center; } }
        .page-service .service-number ul.grid > li .number-item * {
          color: var(--gray12); }
        .page-service .service-number ul.grid > li .number-item .num {
          font-size: 5.125em;
          line-height: 1;
          font-weight: 800;
          letter-spacing: -.041em; }
          @media screen and (max-width: 768px) {
            .page-service .service-number ul.grid > li .number-item .num {
              font-size: 2.87em; } }
        .page-service .service-number ul.grid > li .number-item .meta {
          font-size: 1.3325em;
          font-weight: 600; }
      .page-service .service-number ul.grid > li .caption {
        flex: 1;
        display: flex;
        align-items: flex-end;
        color: var(--gray9); }
        @media screen and (max-width: 768px) {
          .page-service .service-number ul.grid > li .caption {
            font-size: .8em;
            text-align: center; } }
.page-service .service-careerstep .careerstep-main {
  counter-reset: num;
  display: flex;
  flex-direction: column;
  gap: calc(8em / 16 * 5); }
  .page-service .service-careerstep .careerstep-main .careerstep-main-item {
    display: flex;
    align-items: flex-start;
    gap: calc(8em / 16 * 5); }
    @media screen and (max-width: 768px) {
      .page-service .service-careerstep .careerstep-main .careerstep-main-item {
        gap: calc(8em / 32 * 5); } }
    .page-service .service-careerstep .careerstep-main .careerstep-main-item::before {
      counter-increment: num;
      content: counter(num);
      display: flex;
      align-items: center;
      justify-content: center;
      width: 4em;
      min-width: 4em;
      height: 4em;
      background: var(--black);
      border-radius: 3em;
      box-shadow: var(--shadow); }
    .page-service .service-careerstep .careerstep-main .careerstep-main-item .content {
      display: flex;
      align-items: flex-start;
      flex-direction: column;
      gap: calc(8em / 32); }
      .page-service .service-careerstep .careerstep-main .careerstep-main-item .content .spend {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 1.5em;
        padding: 0 calc(8em / 8);
        background: var(--key10);
        border-radius: calc(8em);
        font-size: .8em; }
      .page-service .service-careerstep .careerstep-main .careerstep-main-item .content h3 {
        font-size: 1.5575em; }
        @media screen and (max-width: 768px) {
          .page-service .service-careerstep .careerstep-main .careerstep-main-item .content h3 {
            font-size: 1.3325em; } }
  .page-service .service-careerstep .careerstep-main + * {
    margin-top: calc(8em / 8 * 5); }
.page-service .service-careerstep .careerstep-foot .title {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 4em;
  font-size: 1.3325em;
  letter-spacing: .082em; }
  .page-service .service-careerstep .careerstep-foot .title strong {
    font-weight: 600;
    border-bottom: dotted 1px var(--gray11); }
.page-service .service-careerstep .careerstep-foot ul.grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(8em / 16 * 4); }
  @media screen and (max-width: 768px) {
    .page-service .service-careerstep .careerstep-foot ul.grid {
      gap: 0;
      border-radius: calc(8em / 8);
      box-shadow: var(--shadow);
      overflow: hidden; } }
  .page-service .service-careerstep .careerstep-foot ul.grid > li {
    grid-template-columns: 1fr;
    position: relative;
    z-index: 15;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 4/5;
    border-radius: calc(8em / 8);
    box-shadow: var(--shadow);
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      .page-service .service-careerstep .careerstep-foot ul.grid > li {
        border-radius: 0;
        aspect-ratio: 9/21; } }
    .page-service .service-careerstep .careerstep-foot ul.grid > li .thumb {
      position: absolute;
      top: 0;
      left: 0;
      z-index: -5;
      width: 100%;
      height: 100%; }
      .page-service .service-careerstep .careerstep-foot ul.grid > li .thumb img {
        filter: brightness(0.7175); }
    .page-service .service-careerstep .careerstep-foot ul.grid > li h4 {
      font-weight: 500;
      font-size: 1.5575em;
      writing-mode: vertical-rl;
      text-orientation: mixed;
      transform: scaleX(1.25); }
      @media screen and (max-width: 768px) {
        .page-service .service-careerstep .careerstep-foot ul.grid > li h4 {
          font-size: 1.435em;
          letter-spacing: .082em; } }

.page-service__child .service__child-body .child-body-main {
  display: flex;
  align-items: flex-start;
  gap: calc(8em / 16 * 4) calc(8em / 16 * 8); }
  @media screen and (max-width: 768px) {
    .page-service__child .service__child-body .child-body-main {
      flex-direction: column-reverse; } }
.page-service__child .service__child-body .child-body-content {
  flex: 3;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: calc(8em / 16 * 2); }
  .page-service__child .service__child-body .child-body-content h3 {
    font-size: 1.23em;
    line-height: 1.23;
    color: var(--key9); }
  .page-service__child .service__child-body .child-body-content p.lead {
    font-weight: 600;
    font-size: 1.64em;
    line-height: 1.23; }
.page-service__child .service__child-body .child-body-thumb {
  flex: 1;
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  border: solid 1px var(--gray4);
  border-radius: 8px;
  overflow: hidden;
  line-height: 0;
  background: var(--white); }

.page-project .project-cases .project-type-nav .project-type-nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(8em / 64 * 3); }
  @media screen and (max-width: 768px) {
    .page-project .project-cases .project-type-nav .project-type-nav__list {
      flex-wrap: nowrap;
      overflow-x: scroll;
      -ms-overflow-style: none;
      white-space: nowrap; } }
  .page-project .project-cases .project-type-nav .project-type-nav__list .project-type-nav__item .project-type-nav__link {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .125em .75em;
    border-radius: 4px;
    background: var(--gray3);
    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; }
    .page-project .project-cases .project-type-nav .project-type-nav__list .project-type-nav__item .project-type-nav__link:hover {
      background: var(--gray5);
      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; }
    .page-project .project-cases .project-type-nav .project-type-nav__list .project-type-nav__item .project-type-nav__link.is-current {
      background: var(--key9);
      color: var(--gray1); }
.page-project .project-cases .project-type-nav + * {
  margin-top: 1em; }
.page-project .project-cases ul.project-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px; }
  @media screen and (max-width: 768px) {
    .page-project .project-cases ul.project-list {
      grid-template-columns: repeat(1, minmax(0, 1fr));
      gap: 0; } }
  .page-project .project-cases ul.project-list > li.project-list__item {
    grid-template-columns: 1fr; }
.page-project .project-cases .project-card {
  display: flex;
  flex-direction: column;
  gap: calc(8em / 8);
  padding: 1em 0; }
  @media screen and (max-width: 768px) {
    .page-project .project-cases .project-card {
      flex-direction: row;
      padding: calc(8em / 16) 0; } }
  .page-project .project-cases .project-card .project-card__thumb {
    width: 100%;
    height: auto;
    aspect-ratio: 3/2;
    border-radius: 16px;
    overflow: hidden;
    line-height: 0; }
    @media screen and (max-width: 768px) {
      .page-project .project-cases .project-card .project-card__thumb {
        max-width: 8em;
        border-radius: 8px; } }
  .page-project .project-cases .project-card .project-card__text {
    display: flex;
    flex-direction: column;
    gap: calc(8em / 32); }
    .page-project .project-cases .project-card .project-card__text .project-card__title {
      display: -webkit-box;
      -webkit-line-clamp: 1;
      -webkit-box-orient: vertical;
      overflow: hidden;
      font-size: 1.1275em; }
      @media screen and (max-width: 768px) {
        .page-project .project-cases .project-card .project-card__text .project-card__title {
          -webkit-line-clamp: 2; } }
    .page-project .project-cases .project-card .project-card__text .project-card__meta {
      display: flex;
      align-items: center;
      gap: 1em;
      font-size: .8em; }
    .page-project .project-cases .project-card .project-card__text .project-card__terms {
      font-weight: 600; }
    .page-project .project-cases .project-card .project-card__text .project-card__date {
      color: var(--gray9); }
.page-project .project-cases .project-pagination {
  margin-top: 2em; }
  @media screen and (max-width: 768px) {
    .page-project .project-cases .project-pagination {
      margin-top: 1em; } }
  .page-project .project-cases .project-pagination ul.page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(8em / 32 * 3); }
    .page-project .project-cases .project-pagination ul.page-numbers > li .page-numbers {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 3em;
      height: 3em;
      background: var(--gray2);
      border: solid 1px var(--gray4);
      border-radius: 3em;
      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; }
      .page-project .project-cases .project-pagination ul.page-numbers > li .page-numbers.dots {
        background: transparent !important;
        border-color: transparent; }
      .page-project .project-cases .project-pagination ul.page-numbers > li .page-numbers.prev, .page-project .project-cases .project-pagination ul.page-numbers > li .page-numbers.next {
        padding: 1em; }
      .page-project .project-cases .project-pagination ul.page-numbers > li .page-numbers.prev {
        transform: rotateY(180deg); }
      .page-project .project-cases .project-pagination ul.page-numbers > li .page-numbers:hover {
        background: var(--gray4);
        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; }
      .page-project .project-cases .project-pagination ul.page-numbers > li .page-numbers.current {
        background: var(--key9);
        color: var(--gray1); }
.page-project .project-resluts {
  margin-top: 6em; }
  @media screen and (max-width: 768px) {
    .page-project .project-resluts {
      margin-top: 4em; } }
  .page-project .project-resluts .results-column {
    display: flex;
    gap: calc(8em / 8 * 3) calc(8em / 8 * 3); }
    @media screen and (max-width: 768px) {
      .page-project .project-resluts .results-column {
        flex-direction: column; } }
    .page-project .project-resluts .results-column .results-main {
      flex: 2; }
    .page-project .project-resluts .results-column .results-side {
      flex: 1; }
  .page-project .project-resluts .results-main {
    display: flex;
    flex-direction: column;
    gap: 4em; }
    .page-project .project-resluts .results-main .results-main-item .result-month {
      background: var(--gray4);
      padding: calc(8em / 32 * 2) calc(8em / 32 * 3);
      margin-bottom: calc(8em / 32 * 3);
      border-radius: calc(8em / 32 * 1);
      overflow: hidden;
      line-height: 1.23; }
    .page-project .project-resluts .results-main .results-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 2em; }
      @media screen and (max-width: 768px) {
        .page-project .project-resluts .results-main .results-grid {
          grid-template-columns: repeat(1, minmax(0, 1fr));
          gap: 0; } }
      .page-project .project-resluts .results-main .results-grid > .results-grid-item {
        grid-template-columns: 1fr;
        padding-top: 2em;
        border-top: solid 1px var(--gray6); }
        @media screen and (max-width: 768px) {
          .page-project .project-resluts .results-main .results-grid > .results-grid-item {
            padding-top: calc(8em / 16 * 3); } }
        .page-project .project-resluts .results-main .results-grid > .results-grid-item .title {
          font-weight: 600;
          font-size: 1.1275em; }
        .page-project .project-resluts .results-main .results-grid > .results-grid-item .number {
          display: flex;
          align-items: baseline; }
          .page-project .project-resluts .results-main .results-grid > .results-grid-item .number .num {
            font-size: 7.175em;
            letter-spacing: -.0205em; }
          .page-project .project-resluts .results-main .results-grid > .results-grid-item .number .attr {
            color: var(--gray10);
            font-weight: 600; }
    .page-project .project-resluts .results-main .result-breakdown {
      font-size: .8em;
      padding: 1.5em;
      background: var(--gray3);
      border: solid 1px var(--gray6);
      border-radius: 8px; }
      @media screen and (max-width: 768px) {
        .page-project .project-resluts .results-main .result-breakdown {
          padding: 1.25em; } }
      .page-project .project-resluts .results-main .result-breakdown strong {
        display: block; }

header#singleHeader {
  position: relative;
  z-index: 15;
  padding: 0 32px; }
  @media screen and (max-width: 768px) {
    header#singleHeader {
      padding: 0 16px; } }
  header#singleHeader .wrapper {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: calc(8em / 8 * 1);
    margin: 0 auto 4em;
    padding: 3em calc(100% /32);
    border-bottom: solid 1px var(--border-light-black); }
    @media screen and (max-width: 768px) {
      header#singleHeader .wrapper {
        padding: 2em calc(100% /32);
        margin: 0 auto 2.5em; } }
    header#singleHeader .wrapper hgroup {
      position: relative;
      z-index: 15; }
      header#singleHeader .wrapper hgroup h1 {
        font-size: 2.46em;
        line-height: 1.23; }
        @media screen and (max-width: 768px) {
          header#singleHeader .wrapper hgroup h1 {
            font-size: 1.64em; } }
    header#singleHeader .wrapper .category {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 8em;
      background: var(--gray3);
      padding: .25em .5em;
      font-weight: 600;
      font-size: .8em; }
      header#singleHeader .wrapper .category.score {
        width: initial;
        padding: 0;
        background: transparent;
        font-size: 1em;
        color: #FBB03B; }
    header#singleHeader .wrapper time,
    header#singleHeader .wrapper .attr {
      font-size: .9em;
      color: var(--gray9); }

.single-frame {
  padding: 0 32px; }
  @media screen and (max-width: 768px) {
    .single-frame {
      padding: 0 16px; } }

@media screen and (max-width: 768px) {
  .single-news .wrapper {
    padding: 0 calc(100% /32); } }
.single-news .news-wrapper {
  display: flex; }
  @media screen and (max-width: 768px) {
    .single-news .news-wrapper {
      flex-direction: column;
      gap: 3em; } }
  @media screen and (max-width: 768px) {
    .single-news .news-wrapper > .left-side {
      order: 1; } }
  .single-news .news-wrapper > .left-side .sticky {
    top: 6em; }
  .single-news .news-wrapper > .main-side {
    flex: 1; }
    .single-news .news-wrapper > .main-side .inner {
      max-width: 760px;
      margin-inline: auto; }
      .single-news .news-wrapper > .main-side .inner .thumbnail {
        line-height: 0;
        border: solid 1px var(--border-light-black); }
        .single-news .news-wrapper > .main-side .inner .thumbnail + * {
          margin-top: 4em; }
      .single-news .news-wrapper > .main-side .inner .pager {
        display: flex;
        align-items: center;
        margin-top: calc(8em / 8 * 5);
        padding: calc(8em / 8 * 3) 0;
        border-top: solid 1px var(--border-light-black); }
        @media screen and (max-width: 768px) {
          .single-news .news-wrapper > .main-side .inner .pager {
            padding: calc(8em / 16 * 3) 0; } }
        .single-news .news-wrapper > .main-side .inner .pager > div {
          flex: 1;
          display: flex;
          align-items: center;
          justify-content: center;
          min-height: 3.69em;
          font-weight: 600; }
          .single-news .news-wrapper > .main-side .inner .pager > div * {
            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-news .news-wrapper > .main-side .inner .pager > div:hover * {
            color: var(--key10);
            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-news .news-wrapper > .right-side {
    width: 20em; }
    @media screen and (max-width: 768px) {
      .single-news .news-wrapper > .right-side {
        width: 100%;
        order: 2;
        padding-bottom: 6em; } }
    .single-news .news-wrapper > .right-side h3 {
      font-size: 1.1275em;
      padding-bottom: calc(8em / 16);
      margin-bottom: calc(8em / 32 * 5);
      border-bottom: solid 1px var(--border-light-black); }
    .single-news .news-wrapper > .right-side .side_block ~ .side_block {
      margin-top: 3em; }

.wysiwyg {
  max-width: 760px;
  margin-inline: auto;
  font-size: 1rem;
  line-height: 1.85;
  color: #202124;
  letter-spacing: 0.02em; }
  .wysiwyg > *:first-child {
    margin-top: 0; }
  .wysiwyg > *:last-child {
    margin-bottom: 0; }
  .wysiwyg p {
    margin: 0 0 1.4em;
    line-height: 1.85; }
  .wysiwyg strong,
  .wysiwyg b {
    font-weight: 700;
    color: var(--key11); }
  .wysiwyg em,
  .wysiwyg i {
    font-style: italic;
    color: var(--key7); }
  .wysiwyg mark {
    background: var(--gray2);
    color: inherit;
    padding: 0 .2em; }
  .wysiwyg a {
    color: var(--key12);
    text-decoration: underline;
    text-decoration-color: var(--key12);
    text-underline-offset: 0.18em;
    transition: .25s ease; }
    .wysiwyg a:hover {
      color: var(--key11);
      text-decoration-color: var(--key11); }
  .wysiwyg h1,
  .wysiwyg h2,
  .wysiwyg h3,
  .wysiwyg h4,
  .wysiwyg h5 {
    margin: 2.2em 0 .75em;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0.04em;
    color: #111; }
  .wysiwyg h1 {
    font-size: clamp(1.9rem, 4vw, 3rem);
    line-height: 1.35;
    color: var(--key12); }
  .wysiwyg h2 {
    position: relative;
    font-size: clamp(1.4rem, 2.6vw, 1.9rem);
    padding-left: .85em; }
    .wysiwyg h2::before {
      content: "";
      position: absolute;
      top: .25em;
      left: 0;
      width: 3px;
      height: calc(100% - .5em);
      background: linear-gradient(to bottom, var(--key11), var(--key12));
      border-radius: 10px; }
  .wysiwyg h3 {
    font-size: 1.25rem;
    padding-bottom: .5em;
    border-bottom: 1px solid var(--key12); }
  .wysiwyg h4 {
    font-size: 1.08rem;
    color: var(--key10); }
  .wysiwyg h5 {
    font-size: 1rem;
    color: var(--key7); }
  .wysiwyg ul,
  .wysiwyg ol {
    margin: 0 0 1.6em 1.2em;
    padding: 0; }
  .wysiwyg li {
    margin: .35em 0;
    line-height: 1.8; }
  .wysiwyg ul {
    list-style: none; }
    .wysiwyg ul li {
      position: relative;
      padding-left: .9em; }
      .wysiwyg ul li::before {
        content: "";
        position: absolute;
        top: .85em;
        left: 0;
        width: .35em;
        height: .35em;
        border-radius: 50%;
        background: var(--key8); }
  .wysiwyg ol li::marker {
    color: var(--key9);
    font-weight: 700; }
  .wysiwyg blockquote {
    position: relative;
    margin: 2.2em 0;
    padding: 1.4em 1.6em;
    background: linear-gradient(135deg, var(--key1), var(--key2));
    border-radius: 10px;
    color: var(--key10); }
    .wysiwyg blockquote::before {
      content: "“";
      position: absolute;
      top: .05em;
      left: .25em;
      font-size: 3rem;
      line-height: 1;
      color: var(--key4);
      opacity: .55; }
    .wysiwyg blockquote p {
      position: relative;
      margin-bottom: 0;
      z-index: 1; }
  .wysiwyg figure {
    margin: 2.2em 0; }
  .wysiwyg img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    display: block; }
  .wysiwyg figcaption {
    margin-top: .6em;
    font-size: .82rem;
    line-height: 1.6;
    color: var(--key7);
    text-align: center; }
  .wysiwyg .table_wrap {
    width: 100%;
    margin: 2.2em 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
  .wysiwyg table {
    width: 100%;
    min-width: 640px;
    margin: 0;
    border-collapse: collapse;
    font-size: .94em; }
  .wysiwyg th,
  .wysiwyg td {
    padding: .8em 1em;
    border: 1px solid var(--key3);
    vertical-align: top;
    white-space: normal; }
  .wysiwyg th {
    background: var(--key2);
    color: var(--key10);
    font-weight: 700;
    width: 30%; }
  @media screen and (max-width: 768px) {
    .wysiwyg .table_wrap {
      margin: 1.8em 0;
      padding-bottom: .4em; }
    .wysiwyg table {
      min-width: 620px;
      font-size: .9em; }
    .wysiwyg th,
    .wysiwyg td {
      padding: .7em .8em; } }
  .wysiwyg code {
    background: var(--key2);
    color: var(--key10);
    padding: .12em .35em;
    border-radius: 4px;
    font-size: .9em; }
  .wysiwyg pre {
    margin: 2em 0;
    padding: 1.2em;
    overflow-x: auto;
    background: #111;
    color: #fff;
    border-radius: 10px; }
    .wysiwyg pre code {
      background: none;
      color: inherit;
      padding: 0; }
  .wysiwyg hr {
    margin: 3em 0;
    border: 0;
    border-top: 1px solid var(--key4); }
  @media screen and (max-width: 768px) {
    .wysiwyg {
      font-size: .95rem;
      line-height: 1.8; }
      .wysiwyg p {
        line-height: 1.8;
        margin-bottom: 1.25em; }
      .wysiwyg h1,
      .wysiwyg h2,
      .wysiwyg h3,
      .wysiwyg h4,
      .wysiwyg h5 {
        margin-top: 1.8em; }
      .wysiwyg h1 {
        font-size: 1.9rem; }
      .wysiwyg h2 {
        font-size: 1.4rem; }
      .wysiwyg blockquote {
        padding: 1.2em 1.1em; }
      .wysiwyg img {
        border-radius: 8px; } }

ul.share {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: calc(8em / 16); }
  @media screen and (max-width: 768px) {
    ul.share {
      flex-direction: row;
      justify-content: center;
      gap: calc(8em / 8); } }
  ul.share > li a i {
    display: block;
    width: 2.2255em;
    height: 2.2255em; }

.side_category ul {
  display: flex;
  flex-direction: column;
  gap: .5em;
  padding: 1.5em;
  background: var(--gray2);
  border-radius: .5em;
  overflow: hidden; }
  .side_category ul > li a {
    display: flex;
    align-items: center;
    gap: calc(8em / 16);
    font-weight: 600; }
    .side_category ul > li a .icon {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 1.23em;
      height: 1.23em;
      border-radius: calc(8em / 32);
      background: var(--eye-gradient); }
      .side_category ul > li a .icon img {
        width: .7em;
        height: .7em;
        transform: rotate(90deg);
        filter: brightness(0) invert(1); }

.recentry_post ul {
  display: flex;
  flex-direction: column;
  gap: calc(8em / 16 * 3); }
.recentry_post a.card {
  display: flex;
  flex-direction: column;
  gap: 1em; }
  .recentry_post a.card > .thumb {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    overflow: hidden;
    border: solid 1px var(--border-light-black); }
  .recentry_post a.card > .text {
    display: flex;
    flex-direction: column;
    gap: calc(8em / 16); }
    .recentry_post a.card > .text .title {
      font-size: 1.1275em;
      line-height: 1.3325;
      font-weight: 600; }
    .recentry_post a.card > .text .meta {
      display: flex;
      align-items: center;
      gap: calc(8em / 8); }
    .recentry_post a.card > .text .category {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 8em;
      background: var(--gray3);
      padding: .25em .5em;
      font-weight: 600;
      font-size: .8em; }
      .recentry_post a.card > .text .category.score {
        width: initial;
        padding: 0;
        background: transparent;
        font-size: 1em;
        color: #FBB03B; }
    .recentry_post a.card > .text time,
    .recentry_post a.card > .text .attr {
      color: var(--gray9);
      font-size: .9em; }

.page-recruit .recruit-message .message-main dl > dt {
  font-weight: 600;
  font-size: 3.28em;
  line-height: 1.23; }
  @media screen and (max-width: 768px) {
    .page-recruit .recruit-message .message-main dl > dt {
      font-size: 2.665em; } }
  .page-recruit .recruit-message .message-main dl > dt strong {
    color: var(--key9); }
  .page-recruit .recruit-message .message-main dl > dt + dd {
    margin-top: calc(8em / 32 * 3); }
.page-recruit .recruit-message .message-main dl > dd {
  display: flex;
  flex-direction: column;
  gap: calc(8em / 16); }
  .page-recruit .recruit-message .message-main dl > dd span {
    display: block; }
.page-recruit .recruit-gallery .gallery-main .recruit-gallery__container .swiper-wrapper .swiper-slide {
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  border-radius: calc(8em / 16);
  box-shadow: var(--shadow);
  overflow: hidden; }
.page-recruit .recruit-gallery .gallery-main .recruit-gallery__container .swiper-navigation {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: calc(8em / 16 * 3);
  margin-top: calc(16px * 2); }
  .page-recruit .recruit-gallery .gallery-main .recruit-gallery__container .swiper-navigation .swiper-button-wrapper {
    display: flex;
    align-items: center;
    gap: calc(8em / 16); }
    .page-recruit .recruit-gallery .gallery-main .recruit-gallery__container .swiper-navigation .swiper-button-wrapper > .swiper-button-prev, .page-recruit .recruit-gallery .gallery-main .recruit-gallery__container .swiper-navigation .swiper-button-wrapper > .swiper-button-next {
      position: relative;
      top: initial;
      left: initial;
      right: initial;
      bottom: initial;
      width: 2.87em;
      height: 2.87em;
      margin: initial;
      padding: initial;
      background: var(--gray1);
      border-radius: 2.87em;
      box-shadow: var(--shadow); }
      .page-recruit .recruit-gallery .gallery-main .recruit-gallery__container .swiper-navigation .swiper-button-wrapper > .swiper-button-prev::before, .page-recruit .recruit-gallery .gallery-main .recruit-gallery__container .swiper-navigation .swiper-button-wrapper > .swiper-button-next::before {
        content: '';
        display: block;
        width: .75em;
        height: .75em;
        background: url(images/icon/arrow.svg);
        background-size: cover; }
      .page-recruit .recruit-gallery .gallery-main .recruit-gallery__container .swiper-navigation .swiper-button-wrapper > .swiper-button-prev svg, .page-recruit .recruit-gallery .gallery-main .recruit-gallery__container .swiper-navigation .swiper-button-wrapper > .swiper-button-next svg {
        display: none; }
    .page-recruit .recruit-gallery .gallery-main .recruit-gallery__container .swiper-navigation .swiper-button-wrapper > .swiper-button-prev {
      transform: rotate(180deg); }
.page-recruit .recruit-gallery .gallery-main + * {
  margin-top: calc(8em / 16 * 4); }
  @media screen and (max-width: 768px) {
    .page-recruit .recruit-gallery .gallery-main + * {
      margin-top: calc(8em / 16 * 3); } }
.page-recruit .recruit-gallery .gallery-foot p {
  display: flex;
  flex-direction: column;
  gap: calc(8em / 16); }
  .page-recruit .recruit-gallery .gallery-foot p span {
    display: block; }
.page-recruit .recruit-numbers .numbers-main .numbers-main__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px; }
  .page-recruit .recruit-numbers .numbers-main .numbers-main__grid .item {
    grid-template-columns: 1fr;
    padding: calc(8em / 16 * 5) 0 calc(8em / 16 * 3);
    border-top: solid 1px var(--gray6); }
    @media screen and (max-width: 768px) {
      .page-recruit .recruit-numbers .numbers-main .numbers-main__grid .item {
        padding: calc(8em / 16 * 3) 0 calc(8em / 16 * 2); } }
    .page-recruit .recruit-numbers .numbers-main .numbers-main__grid .item .number {
      display: flex;
      align-items: baseline; }
      .page-recruit .recruit-numbers .numbers-main .numbers-main__grid .item .number .num {
        font-size: 5.125em;
        font-weight: 500;
        letter-spacing: -.0328em;
        line-height: 1; }
        @media screen and (max-width: 768px) {
          .page-recruit .recruit-numbers .numbers-main .numbers-main__grid .item .number .num {
            font-size: 4.1em; } }
      .page-recruit .recruit-numbers .numbers-main .numbers-main__grid .item .number .unit {
        font-size: 1.64em;
        font-weight: 600; }
    .page-recruit .recruit-numbers .numbers-main .numbers-main__grid .item .caption {
      font-size: 11px;
      color: var(--gray9); }
.page-recruit .recruit-description .description-main .description-main__list {
  border-top: solid 1px var(--gray6); }
  .page-recruit .recruit-description .description-main .description-main__list > li {
    border-bottom: solid 1px var(--gray6); }
    .page-recruit .recruit-description .description-main .description-main__list > li .card {
      display: flex;
      align-items: center;
      gap: calc(8em / 16 * 3);
      padding: calc(8em / 16 * 3) 0; }
      .page-recruit .recruit-description .description-main .description-main__list > li .card .thumb {
        flex: 1;
        aspect-ratio: 3/2;
        border-radius: calc(8em / 16);
        box-shadow: var(--shadow);
        overflow: hidden; }
      .page-recruit .recruit-description .description-main .description-main__list > li .card .text {
        flex: 3; }
        @media screen and (max-width: 768px) {
          .page-recruit .recruit-description .description-main .description-main__list > li .card .text {
            flex: 2; } }
        .page-recruit .recruit-description .description-main .description-main__list > li .card .text .text__title {
          font-weight: 600;
          font-size: 1.1275em; }
        .page-recruit .recruit-description .description-main .description-main__list > li .card .text .text__content {
          font-size: 14px;
          color: var(--gray9);
          display: -webkit-box;
          -webkit-line-clamp: 3;
          -webkit-box-orient: vertical;
          overflow: hidden; }
          @media screen and (max-width: 768px) {
            .page-recruit .recruit-description .description-main .description-main__list > li .card .text .text__content {
              font-size: 12px;
              -webkit-line-clamp: 2; } }
        .page-recruit .recruit-description .description-main .description-main__list > li .card .text .text__meta {
          display: flex;
          align-items: center;
          gap: calc(8em / 16);
          margin-top: calc(8em / 32 * 3); }
          .page-recruit .recruit-description .description-main .description-main__list > li .card .text .text__meta .text__company {
            display: flex;
            align-items: center;
            justify-content: center;
            height: 1.8em;
            padding: 0 calc(8em / 16);
            border: solid 1px var(--key9);
            border-radius: calc(8em / 32);
            font-size: .7em;
            line-height: 1;
            color: var(--key9); }
          .page-recruit .recruit-description .description-main .description-main__list > li .card .text .text__meta .text__type {
            display: flex;
            align-items: center;
            justify-content: center;
            height: 1.8em;
            padding: 0 calc(8em / 16);
            border: solid 1px var(--gray6);
            border-radius: calc(8em / 32);
            font-size: .7em;
            line-height: 1;
            color: var(--gray9); }
.page-recruit .recruit-description .description-main + * {
  margin-top: calc(8em / 16 * 4); }
  @media screen and (max-width: 768px) {
    .page-recruit .recruit-description .description-main + * {
      margin-top: calc(8em / 16 * 3); } }
.page-recruit .recruit-description .description-foot {
  display: flex;
  align-items: center;
  justify-content: center; }

.archive_joblist {
  padding-top: calc(8em / 8 * 1);
  padding-bottom: calc(8em / 8 * 5); }
  @media screen and (max-width: 768px) {
    .archive_joblist {
      padding-top: calc(8em / 8 * 1);
      padding-bottom: calc(8em / 8 * 5); } }
  .archive_joblist .joblist-body {
    display: flex;
    gap: calc(8em / 8 * 3); }
    .archive_joblist .joblist-body > .left_side {
      width: 300px; }
      @media screen and (max-width: 768px) {
        .archive_joblist .joblist-body > .left_side {
          width: 100%; } }
      .archive_joblist .joblist-body > .left_side .sticky {
        top: calc(8em / 8 * 8); }
    .archive_joblist .joblist-body > .right_side {
      flex: 1; }
  .archive_joblist .search-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      .archive_joblist .search-head {
        align-items: center;
        min-height: 4.1em;
        padding: 0 calc(8em / 32 * 5);
        background: var(--white);
        border: solid 1px var(--gray4);
        border-radius: calc(8em / 32);
        overflow: hidden; } }
    .archive_joblist .search-head h3 {
      font-size: 1.1285em;
      font-weight: 600; }
    .archive_joblist .search-head .total {
      display: flex;
      align-items: baseline; }
      .archive_joblist .search-head .total .num {
        font-size: 1.845em;
        color: var(--key); }
      .archive_joblist .search-head .total .text {
        font-size: .8em; }
    .archive_joblist .search-head + * {
      margin-top: calc(8em / 8); }
      @media screen and (max-width: 768px) {
        .archive_joblist .search-head + * {
          display: none;
          margin-top: calc(8em / 16); } }
  .archive_joblist .searchandfilter {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: wrap; }
    @media screen and (max-width: 768px) {
      .archive_joblist .searchandfilter {
        padding: calc(8em / 16 * 3);
        background: var(--gray1);
        border: solid 1px var(--gray5);
        border-radius: calc(8em / 16); } }
    .archive_joblist .searchandfilter ul {
      display: flex;
      flex-direction: column;
      gap: calc(8em / 16);
      width: 100%; }
      .archive_joblist .searchandfilter ul > li {
        display: flex;
        flex-direction: column;
        padding: 0;
        border-radius: 6px;
        overflow: hidden; }
        @media screen and (max-width: 768px) {
          .archive_joblist .searchandfilter ul > li label {
            flex: 1; } }
        .archive_joblist .searchandfilter ul > li[data-sf-field-input-type="checkbox"] {
          margin-top: calc(8em / 8); }
          .archive_joblist .searchandfilter ul > li[data-sf-field-input-type="checkbox"] ul {
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            gap: calc(8em / 32);
            font-size: .9em; }
            .archive_joblist .searchandfilter ul > li[data-sf-field-input-type="checkbox"] ul > li {
              flex-direction: row;
              border-radius: 4px;
              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_joblist .searchandfilter ul > li[data-sf-field-input-type="checkbox"] ul > li:hover {
                opacity: .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; }
        .archive_joblist .searchandfilter ul > li[data-sf-field-input-type="radio"] {
          margin-top: calc(8em / 8); }
          .archive_joblist .searchandfilter ul > li[data-sf-field-input-type="radio"] ul {
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            gap: calc(8em / 24);
            font-size: .9em; }
            .archive_joblist .searchandfilter ul > li[data-sf-field-input-type="radio"] ul > li {
              display: table;
              border-radius: 4px;
              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_joblist .searchandfilter ul > li[data-sf-field-input-type="radio"] ul > li:hover {
                opacity: .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; }
        .archive_joblist .searchandfilter ul > li[data-sf-field-type="tag"] {
          margin-top: calc(8em / 64 * 3); }
          .archive_joblist .searchandfilter ul > li[data-sf-field-type="tag"] ul {
            gap: calc(8em / 32);
            max-height: 210px;
            overflow: scroll;
            background: var(--white);
            padding: .75em;
            border: 1px solid var(--gray3);
            border-radius: calc(8em / 32);
            font-size: .9em; }
            .archive_joblist .searchandfilter ul > li[data-sf-field-type="tag"] ul > li {
              position: relative;
              align-items: center;
              flex-direction: row; }
              .archive_joblist .searchandfilter ul > li[data-sf-field-type="tag"] ul > li input {
                width: 1px;
                opacity: 0; }
              .archive_joblist .searchandfilter ul > li[data-sf-field-type="tag"] ul > li::before {
                content: '';
                display: block;
                width: 1.23em;
                min-width: 1.23em;
                height: 1.23em;
                background: url(images/icon/check.svg);
                background-size: cover;
                filter: grayscale(1); }
              .archive_joblist .searchandfilter ul > li[data-sf-field-type="tag"] ul > li:has(input[type="checkbox"]:checked)::before {
                filter: grayscale(0); }
        .archive_joblist .searchandfilter ul > li[data-sf-field-input-type="link"] a {
          display: flex;
          align-items: center;
          justify-content: center;
          min-height: 2.87em;
          background: var(--gray3);
          border-radius: calc(8em / 32);
          overflow: hidden;
          color: var(--white);
          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; }
          .archive_joblist .searchandfilter ul > li[data-sf-field-input-type="link"] a:hover {
            filter: brightness(0.8);
            transform: scale(0.985);
            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; }
    .archive_joblist .searchandfilter h4 {
      min-width: 5.575em;
      padding: 0;
      margin-bottom: calc(8em / 16); }
    .archive_joblist .searchandfilter label {
      flex: 1; }
      @media screen and (max-width: 768px) {
        .archive_joblist .searchandfilter label {
          display: block; } }
    .archive_joblist .searchandfilter select {
      display: block;
      min-width: 184.5px;
      max-width: 100%;
      height: calc(8em / 8 * 3);
      background-color: var(--black);
      border: 1px solid var(--border-light-black);
      border-radius: 6px;
      font-size: 16px;
      padding: 0 40px 0 20px;
      background-image: url(../images/common/icon-chevron-bottom.svg);
      background-position: calc(100% - 0.28rem) center;
      background-size: 0.08rem 0.14rem; }
      @media screen and (max-width: 768px) {
        .archive_joblist .searchandfilter select {
          height: 41px; } }
    .archive_joblist .searchandfilter input[type="radio"] {
      display: none; }
      .archive_joblist .searchandfilter input[type="radio"] + label {
        padding: calc(8em / 24) calc(8em / 12);
        background: var(--white);
        border: solid 1px var(--border-light-black);
        border-radius: 4px; }
      .archive_joblist .searchandfilter input[type="radio"]:checked + label {
        background: var(--key);
        color: var(--white); }
    .archive_joblist .searchandfilter input[type="submit"] {
      display: block;
      min-width: 100%;
      height: calc(8em / 8 * 3);
      border: none;
      border-radius: 6px;
      font-size: 16px;
      padding: 0 20px;
      background: var(--key9);
      background: url(images/noise.png), var(--key9);
      background-repeat: repeat;
      background-size: 100px;
      color: var(--white); }
      @media screen and (max-width: 768px) {
        .archive_joblist .searchandfilter input[type="submit"] {
          width: 100%;
          height: 51.25px; } }
      .archive_joblist .searchandfilter input[type="submit"].search-filter-reset {
        background: var(--gray10);
        background: url(images/noise.png), var(--gray10);
        background-repeat: repeat;
        background-size: 100px; }
    .archive_joblist .searchandfilter + * {
      margin-top: calc(8em / 16 * 3); }

.joblist_archive ul.list {
  border-bottom: solid 1px var(--border-light-black); }
  .joblist_archive ul.list > li ~ li {
    border-top: solid 1px var(--border-light-black); }
  .joblist_archive ul.list > li .card {
    display: flex;
    align-items: center;
    gap: calc(8em / 16 * 3);
    padding: calc(8em / 16 * 3) calc(8em / 16 * 2);
    background: transparent;
    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; }
    @media screen and (max-width: 768px) {
      .joblist_archive ul.list > li .card {
        padding: calc(8em / 16 * 3) 0;
        background: transparent; } }
    .joblist_archive ul.list > li .card > .card-thumb {
      flex: 1;
      aspect-ratio: 3/2;
      border-radius: calc(8em / 32);
      box-shadow: var(--shadow);
      overflow: hidden;
      line-height: 0; }
    .joblist_archive ul.list > li .card > .card-text {
      flex: 3;
      display: flex;
      flex-direction: column; }
      @media screen and (max-width: 768px) {
        .joblist_archive ul.list > li .card > .card-text {
          flex: 2; } }
      .joblist_archive ul.list > li .card > .card-text .card-text__title {
        font-weight: 600;
        font-size: 1.23em; }
      .joblist_archive ul.list > li .card > .card-text .card-text__content {
        font-size: 14px;
        color: var(--gray9);
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden; }
        @media screen and (max-width: 768px) {
          .joblist_archive ul.list > li .card > .card-text .card-text__content {
            -webkit-line-clamp: 2; } }
      .joblist_archive ul.list > li .card > .card-text .card-text__meta {
        display: flex;
        align-items: center;
        gap: calc(8em / 16);
        margin-top: calc(8em / 32 * 3); }
      .joblist_archive ul.list > li .card > .card-text .card-text__company {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 1.8em;
        padding: 0 calc(8em / 16);
        border: solid 1px var(--key9);
        border-radius: calc(8em / 32);
        font-size: .7em;
        line-height: 1;
        color: var(--key9); }
      .joblist_archive ul.list > li .card > .card-text .card-text__type {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 1.8em;
        padding: 0 calc(8em / 16);
        border: solid 1px var(--gray6);
        border-radius: calc(8em / 32);
        font-size: .7em;
        line-height: 1;
        color: var(--gray9); }
    .joblist_archive ul.list > li .card:hover {
      background: var(--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; }
  .joblist_archive ul.list > li .linker {
    display: flex;
    align-items: center;
    gap: calc(8em / 8 * 1);
    width: 100%;
    margin-top: calc(8em / 16 * 2); }
    @media screen and (max-width: 768px) {
      .joblist_archive ul.list > li .linker {
        gap: calc(8em / 16 * 1); } }
    .joblist_archive ul.list > li .linker > li {
      flex: 1; }
      .joblist_archive ul.list > li .linker > li a {
        display: flex;
        align-items: center;
        justify-content: center;
        height: calc(8em / 8 * 4);
        background: var(--black);
        border: 1px solid rgba(0, 0, 0, 0.1025);
        border-radius: calc(8em / 32);
        font-size: 16px;
        padding: 0 24px;
        color: var(--white);
        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; }
        @media screen and (max-width: 768px) {
          .joblist_archive ul.list > li .linker > li a {
            height: calc(8em / 8 * 3); } }
        .joblist_archive ul.list > li .linker > li a:hover {
          transform: scale(0.985);
          filter: brightness(0.9);
          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; }
      .joblist_archive ul.list > li .linker > li[data-type="entry"] a {
        background: var(--key10);
        color: var(--gray1); }
.joblist_archive nav.pagination {
  margin-top: calc(8em / 8 * 3); }
  .joblist_archive nav.pagination .screen-reader-text {
    display: none; }
  .joblist_archive nav.pagination .nav-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(8em / 12); }
    .joblist_archive nav.pagination .nav-links .page-numbers {
      display: flex;
      align-items: center;
      justify-content: center;
      width: calc(8em / 3);
      height: calc(8em / 3);
      background: var(--gray3);
      border-radius: 8em;
      overflow: hidden; }
      .joblist_archive nav.pagination .nav-links .page-numbers:hover {
        filter: brightness(0.9); }
      .joblist_archive nav.pagination .nav-links .page-numbers.current {
        filter: brightness(1);
        background: var(--gray12);
        background: url(images/noise.png), var(--gray12);
        background-repeat: repeat;
        background-size: 100px;
        color: var(--white); }
      .joblist_archive nav.pagination .nav-links .page-numbers.dots {
        background: none; }

.jobpost-article .jobpost-main.flex-main {
  gap: calc(8em / 8 * 2); }
.jobpost-article .jobpost-main .main-head {
  display: flex;
  flex-direction: column;
  gap: calc(8em / 32 * 3); }
  .jobpost-article .jobpost-main .main-head h1 {
    font-weight: 400;
    font-size: 1.845em; }
  .jobpost-article .jobpost-main .main-head ul.meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: calc(8em / 16 * 3);
    font-size: .85em;
    color: var(--gray9); }
    .jobpost-article .jobpost-main .main-head ul.meta > li {
      display: flex;
      align-items: center;
      gap: calc(8em / 64 * 3); }
      .jobpost-article .jobpost-main .main-head ul.meta > li .icon {
        width: calc(8em / 32 * 5);
        height: auto; }
        .jobpost-article .jobpost-main .main-head ul.meta > li .icon img {
          filter: brightness(0) invert(1); }
.jobpost-article .jobpost-main .main-thumb {
  border-radius: calc(8em / 16);
  box-shadow: var(--shadow);
  overflow: hidden;
  line-height: 0; }
.jobpost-article .jobpost-side .side-main {
  top: calc(8em / 8 * 7);
  display: flex;
  flex-direction: column;
  gap: calc(8em / 16 * 3); }
.jobpost-article .requirements_wrapper table {
  width: 100%;
  font-size: 14px; }
  @media screen and (max-width: 768px) {
    .jobpost-article .requirements_wrapper table {
      font-size: 13px; } }
  .jobpost-article .requirements_wrapper table tbody {
    background: var(--white); }
    .jobpost-article .requirements_wrapper table tbody tr th, .jobpost-article .requirements_wrapper table tbody tr td {
      padding: calc(8em / 32 * 2) calc(8em / 32 * 3);
      border: solid 1px var(--gray6); }
    .jobpost-article .requirements_wrapper table tbody tr th {
      background: var(--gray3); }
.jobpost-article .requirements_wrapper ul.table > li {
  border-top: dotted 1px var(--gray11); }
.jobpost-article .requirements_wrapper ul.table.mini {
  font-size: .8em; }
  @media screen and (max-width: 768px) {
    .jobpost-article .requirements_wrapper ul.table.mini {
      background: var(--black);
      padding: calc(8em / 16 * 3);
      box-shadow: var(--shadow);
      border-radius: calc(8em / 16); } }
  .jobpost-article .requirements_wrapper ul.table.mini dl {
    flex-direction: column;
    padding: calc(8em / 16 * 2) 0; }
    @media screen and (max-width: 768px) {
      .jobpost-article .requirements_wrapper ul.table.mini dl {
        padding: calc(8em / 32 * 3) 0; } }
.jobpost-article .requirements_wrapper dl.list {
  display: flex;
  align-items: baseline;
  padding: calc(8em / 16 * 3) 0; }
  @media screen and (max-width: 768px) {
    .jobpost-article .requirements_wrapper dl.list {
      padding: calc(8em / 32 * 3) 0; } }
  .jobpost-article .requirements_wrapper dl.list > dt {
    flex: 1;
    min-width: 12.3em; }
  .jobpost-article .requirements_wrapper dl.list > dd {
    flex: 5; }

.formWrap {
  position: relative;
  z-index: 15; }
  .formWrap .caption {
    border-bottom: solid 1px var(--border-light-black);
    padding-bottom: 2.05em;
    margin-bottom: 2.46em; }
    @media screen and (max-width: 768px) {
      .formWrap .caption {
        padding: 0;
        padding-bottom: 1.23em;
        margin-bottom: 2.05em; } }

ul.listDocForm li {
  margin-bottom: 1.23em; }
  @media screen and (max-width: 768px) {
    ul.listDocForm li {
      margin-bottom: 1.64em; } }
  ul.listDocForm li.hidden {
    display: none; }
  ul.listDocForm li:last-child {
    margin-bottom: 0; }

dl.listDocForm {
  display: flex;
  flex-wrap: wrap; }
  dl.listDocForm dt {
    width: 100%; }
    dl.listDocForm dt p {
      display: flex;
      align-items: baseline;
      column-gap: calc(8.5em /32);
      font-weight: 600; }
      dl.listDocForm dt p small[data-type="必須"] {
        color: #e04645; }
      dl.listDocForm dt p small[data-type="任意"] {
        color: #aaa; }
      dl.listDocForm dt p small::before {
        content: attr(data-type) "";
        display: block; }
      dl.listDocForm dt p.must {
        position: relative;
        z-index: 15;
        display: table; }
  dl.listDocForm dd {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    column-gap: calc(85px / 4);
    width: 100%;
    margin-top: 5px; }
    @media screen and (max-width: 768px) {
      dl.listDocForm dd {
        column-gap: calc(85px / 8);
        margin-top: 3px; } }
    dl.listDocForm dd > br {
      display: none; }
    dl.listDocForm dd span.caption {
      display: block;
      width: 100%;
      margin-top: .41em;
      font-size: .85em; }

.mw_wp_form {
  width: 100%;
  max-width: 768px;
  margin: 0 auto; }
  .mw_wp_form .horizontal-item + .horizontal-item {
    margin: 0 !important; }
  .mw_wp_form span.mwform-checkbox-field {
    position: relative;
    z-index: 15;
    margin-right: 6px; }
    .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 {
      display: block;
      border: solid 1px var(--gray4);
      background: #f8f8f8;
      padding: 8px 18px 8px 44px;
      border-radius: 5px; }
      .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(--white);
        border: solid 1px var(--border-light-black); }
      .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(--key9);
        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(--gray4);
      background: var(--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(--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(--key9);
        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 input[type="email"], .mw_wp_form textarea {
    width: 100%;
    height: auto;
    border: solid 1px var(--border-light-black);
    background: var(--white);
    border-radius: 0;
    line-height: 1.5;
    color: var(--gray12);
    font-size: 16px;
    border-radius: 6px;
    -webkit-appearance: none;
    appearance: none; }
  .mw_wp_form select {
    width: 100%;
    height: auto;
    border: solid 1px var(--border-light-black);
    background: var(--white);
    border-radius: 0;
    line-height: 1.5;
    color: var(--gray12);
    font-size: 16px;
    border-radius: 6px; }
  .mw_wp_form input[type="text"], .mw_wp_form input[type="email"], .mw_wp_form textarea {
    padding: .82em; }
    @media screen and (max-width: 768px) {
      .mw_wp_form input[type="text"], .mw_wp_form input[type="email"], .mw_wp_form textarea {
        padding: 8px; } }
  .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"] {
    width: 100%;
    max-width: 18rem;
    height: 4em;
    border: none;
    font-weight: bold;
    text-align: center;
    line-height: 4em;
    font-size: 1em;
    background: var(--black);
    color: var(--gray1);
    position: relative;
    margin: 0 auto;
    border-radius: 6px;
    overflow: hidden;
    display: block;
    transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }
    @media screen and (max-width: 768px) {
      .mw_wp_form input[type="submit"] {
        height: 4em;
        line-height: 4em; } }
    .mw_wp_form input[type="submit"]:hover {
      background: var(--key10);
      transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }
  .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; }

.company-form {
  display: none; }
  .company-form.is-active {
    display: block; }

.page-entry .wrapper {
  display: flex;
  max-width: 1280px;
  gap: calc(8em / 16 * 5) calc(8em / 8 * 8); }
  @media screen and (max-width: 768px) {
    .page-entry .wrapper {
      flex-direction: column; } }
.page-entry .entry-side {
  flex: 1;
  max-width: 352px; }
  @media screen and (max-width: 768px) {
    .page-entry .entry-side {
      order: 1;
      max-width: 100%; } }
  .page-entry .entry-side .entry-guide {
    top: calc(8em / 8 * 5);
    display: flex;
    flex-direction: column;
    gap: calc(8em / 8); }
    .page-entry .entry-side .entry-guide ul {
      display: flex;
      flex-direction: column;
      gap: calc(8em / 32);
      padding-left: calc(8em / 16 * 3);
      font-size: .8em; }
      .page-entry .entry-side .entry-guide ul > li {
        list-style-type: disc; }
    .page-entry .entry-side .entry-guide p {
      font-size: .8em; }
    .page-entry .entry-side .entry-guide .privacy {
      font-size: .8em; }
      .page-entry .entry-side .entry-guide .privacy a {
        color: var(--gray9);
        border-bottom: solid 1px var(--gray9); }
    .page-entry .entry-side .entry-guide figure {
      border-radius: calc(8em / 16);
      box-shadow: var(--shadow);
      overflow: hidden;
      line-height: 0; }
    .page-entry .entry-side .entry-guide .callus-wrapper {
      display: flex;
      align-items: center;
      flex-direction: column;
      padding: calc(8em / 16 * 4);
      background: var(--white);
      border-radius: calc(8em / 32 * 3);
      box-shadow: var(--shadow); }
      .page-entry .entry-side .entry-guide .callus-wrapper .callus {
        display: flex;
        flex-direction: column;
        gap: calc(8em / 64 * 3); }
        .page-entry .entry-side .entry-guide .callus-wrapper .callus .title {
          display: flex;
          align-items: center;
          justify-content: center;
          min-height: 2em;
          margin-bottom: calc(8em / 16);
          background: var(--key9);
          border-radius: calc(8em);
          color: var(--key3);
          font-weight: 600;
          font-size: .9em; }
        .page-entry .entry-side .entry-guide .callus-wrapper .callus .tel {
          display: flex;
          align-items: center;
          margin: calc((8em / 32) * -1) 0;
          font-weight: 600;
          color: var(--key9);
          font-size: 2.05em;
          letter-spacing: -.0201em;
          line-height: 1; }
        .page-entry .entry-side .entry-guide .callus-wrapper .callus .opening {
          display: flex;
          align-items: center;
          justify-content: center;
          gap: calc(8em / 16);
          letter-spacing: -.0201em; }
          .page-entry .entry-side .entry-guide .callus-wrapper .callus .opening .attr {
            font-size: .9em;
            font-weight: 600;
            color: var(--gray9); }
          .page-entry .entry-side .entry-guide .callus-wrapper .callus .opening .time {
            font-weight: 600;
            color: var(--gray10); }
  .page-entry .entry-side .caption {
    font-size: .7em;
    color: var(--sub9); }
  .page-entry .entry-side .anker {
    top: calc(8em / 8 * 5);
    padding: calc(8em / 8 * 2) calc(16px / 2 * 3) calc(8em / 8 * 2);
    background: var(--key2);
    background: url(images/noise.png), var(--key2);
    background-size: 100px, cover;
    background-repeat: repeat;
    box-shadow: var(--shadow);
    border: solid 1px var(--key4);
    border-radius: calc(8em / 32 * 4);
    overflow: hidden; }
    .page-entry .entry-side .anker dl {
      display: flex;
      flex-direction: column;
      gap: calc(8em / 32 * 3); }
      .page-entry .entry-side .anker dl > dt {
        padding-bottom: calc(8em / 32 * 2);
        border-bottom: dotted 2px var(--key6); }
        .page-entry .entry-side .anker dl > dt p {
          font-size: 1.23em;
          font-weight: 600; }
      .page-entry .entry-side .anker dl > dd {
        opacity: .205; }
        .page-entry .entry-side .anker dl > dd a {
          font-weight: 600; }
        .page-entry .entry-side .anker dl > dd:hover {
          opacity: 1; }
        .page-entry .entry-side .anker dl > dd.active {
          opacity: 1; }
          .page-entry .entry-side .anker dl > dd.active * {
            color: var(--key9); }
.page-entry .entry-main {
  position: relative;
  z-index: 15;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: calc(8em / 8 * 6); }
  .page-entry .entry-main::after {
    content: '';
    position: absolute;
    top: 0;
    left: -4em;
    width: 1px;
    height: 100%;
    background: var(--gray6); }
  .page-entry .entry-main .block-main .block-item {
    white-space: normal;
    word-break: break-all;
    overflow-wrap: break-word;
    line-break: strict; }
    .page-entry .entry-main .block-main .block-item .question {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: calc(8em / 32 * 5) 0;
      cursor: pointer; }
      .page-entry .entry-main .block-main .block-item .question p {
        display: flex;
        align-items: baseline;
        gap: calc(8em / 32);
        font-size: 1.23em;
        font-weight: 600; }
        .page-entry .entry-main .block-main .block-item .question p::before {
          content: 'Q.';
          display: block;
          color: var(--key9);
          white-space: nowrap; }
      .page-entry .entry-main .block-main .block-item .question .icon {
        display: block;
        width: 1em;
        height: 1em;
        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; }
      .page-entry .entry-main .block-main .block-item .question.open .icon {
        transform: rotate(-180deg);
        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; }
    .page-entry .entry-main .block-main .block-item .answer {
      padding-bottom: calc(8em / 32 * 6); }
      .page-entry .entry-main .block-main .block-item .answer p {
        display: flex;
        align-items: baseline;
        gap: calc(8em * 1.23 / 32);
        color: var(--gray11); }
        .page-entry .entry-main .block-main .block-item .answer p strong {
          color: var(--gray12);
          border-bottom: dotted 2px var(--gray12); }
        .page-entry .entry-main .block-main .block-item .answer p::before {
          content: 'A.';
          display: block;
          font-size: 1.23em;
          font-weight: 600;
          color: var(--gray);
          white-space: nowrap; }

ul.form-table {
  display: flex;
  flex-direction: column;
  gap: calc(8em / 16 * 3); }
  ul.form-table > li .label {
    display: flex;
    align-items: baseline;
    gap: calc(8em / 16);
    font-weight: 600;
    font-size: 15px;
    color: var(--gray11); }
    ul.form-table > li .label .required {
      color: #aa4222; }
  ul.form-table > li .input:has(.horizontal-item) {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: calc(8em / 16); }
  ul.form-table > li .input p {
    font-size: 16px; }
  ul.form-table > li .input label {
    font-size: 14px;
    font-weight: 600;
    color: var(--gray11); }
  ul.form-table > li .input .tel-group {
    display: flex;
    flex-direction: column;
    gap: calc(8em / 16); }
  ul.form-table > li .inline-group {
    display: inline-flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: calc(8em / 16); }
  ul.form-table > li .horizontal-item {
    display: inline-flex; }
  ul.form-table + .required-note {
    font-size: 16px;
    color: #aa4222; }

.page-faq hgroup:has(h2) {
  padding: calc(8em / 8 * 4) 0 calc(8em / 8 * 3);
  border-top: dotted 2px var(--key9); }
  .page-faq hgroup:has(h2) h2 {
    font-size: 2.05em; }
.page-faq .wrapper {
  display: flex;
  gap: calc(8em / 16 * 3) calc(8em / 8 * 4); }
  @media screen and (max-width: 768px) {
    .page-faq .wrapper {
      flex-direction: column; } }
.page-faq .faq-side {
  width: 272px;
  max-width: 100%; }
  @media screen and (max-width: 768px) {
    .page-faq .faq-side {
      width: 100%; } }
  .page-faq .faq-side .anker {
    top: calc(8em / 8 * 5);
    padding: calc(8em / 8 * 2) calc(16px / 2 * 3) calc(8em / 8 * 2);
    background: var(--key2);
    background: url(images/noise.png), var(--key2);
    background-size: 100px, cover;
    background-repeat: repeat;
    box-shadow: var(--shadow);
    border: solid 1px var(--key4);
    border-radius: calc(8em / 32 * 4);
    overflow: hidden; }
    .page-faq .faq-side .anker dl {
      display: flex;
      flex-direction: column;
      gap: calc(8em / 32 * 3); }
      .page-faq .faq-side .anker dl > dt {
        padding-bottom: calc(8em / 32 * 2);
        border-bottom: dotted 2px var(--key6); }
        .page-faq .faq-side .anker dl > dt p {
          font-size: 1.23em;
          font-weight: 600; }
      .page-faq .faq-side .anker dl > dd {
        opacity: .205; }
        .page-faq .faq-side .anker dl > dd a {
          font-weight: 600; }
        .page-faq .faq-side .anker dl > dd:hover {
          opacity: 1; }
        .page-faq .faq-side .anker dl > dd.active {
          opacity: 1; }
          .page-faq .faq-side .anker dl > dd.active * {
            color: var(--key9); }
.page-faq .faq-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: calc(8em / 8 * 6); }
  .page-faq .faq-main .block-main .block-item {
    white-space: normal;
    word-break: break-all;
    overflow-wrap: break-word;
    line-break: strict; }
    .page-faq .faq-main .block-main .block-item .question {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: calc(8em / 32 * 5) 0;
      cursor: pointer; }
      .page-faq .faq-main .block-main .block-item .question p {
        display: flex;
        align-items: baseline;
        gap: calc(8em / 32);
        font-size: 1.23em;
        font-weight: 600; }
        .page-faq .faq-main .block-main .block-item .question p::before {
          content: 'Q.';
          display: block;
          color: var(--key9);
          white-space: nowrap; }
      .page-faq .faq-main .block-main .block-item .question .icon {
        display: block;
        width: 1em;
        height: 1em;
        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; }
      .page-faq .faq-main .block-main .block-item .question.open .icon {
        transform: rotate(-180deg);
        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; }
    .page-faq .faq-main .block-main .block-item .answer {
      display: flex;
      align-items: baseline;
      gap: calc(8em * 1.23 / 32);
      padding-bottom: calc(8em / 32 * 6); }
      .page-faq .faq-main .block-main .block-item .answer::before {
        content: 'A.';
        display: block;
        font-size: 1.23em;
        font-weight: 600;
        color: var(--gray);
        white-space: nowrap; }
      .page-faq .faq-main .block-main .block-item .answer p {
        color: var(--gray11); }
        .page-faq .faq-main .block-main .block-item .answer p strong {
          color: var(--gray12);
          border-bottom: dotted 2px var(--gray12); }

.privacy-policy-article__content {
  font-size: 14px;
  line-height: 1.64;
  color: #222;
  word-break: break-word; }

.privacy-policy-article__content > *:first-child {
  margin-top: 0; }

.privacy-policy-article__content p {
  margin: 0 0 1.4em; }

.privacy-policy-article__content h2,
.privacy-policy-article__content h3,
.privacy-policy-article__content h4 {
  margin: 2.4em 0 0.9em;
  color: #111;
  font-weight: 700;
  line-height: 1.6; }

.privacy-policy-article__content h2 {
  font-size: 24px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ddd; }

.privacy-policy-article__content h3 {
  font-size: 18px; }

.privacy-policy-article__content h4 {
  font-size: 16px; }

.privacy-policy-article__content ul,
.privacy-policy-article__content ol {
  margin: 0 0 1.6em 1.5em;
  padding: 0; }

.privacy-policy-article__content li {
  margin-bottom: 0.6em; }

.privacy-policy-article__content a {
  color: #111;
  text-decoration: underline;
  text-underline-offset: 0.14em; }

.privacy-policy-article__content strong {
  font-weight: 700; }

.privacy-policy-article__content table {
  width: 100%;
  border-collapse: collapse;
  margin: 2em 0; }

.privacy-policy-article__content th,
.privacy-policy-article__content td {
  border: 1px solid #ddd;
  padding: 12px;
  vertical-align: top;
  font-size: 14px;
  line-height: 1.8; }

.privacy-policy-article__content blockquote {
  margin: 2em 0;
  padding: 0 0 0 1em;
  border-left: 3px solid #ddd;
  color: #555; }

@media (max-width: 767px) {
  .privacy-policy-page {
    padding: 48px 0 80px; }

  .privacy-policy-page__inner {
    width: min(100% - 32px, 860px); }

  .privacy-policy-article__title {
    font-size: 28px; }

  .privacy-policy-article__content {
    font-size: 13px;
    line-height: 1.9; }

  .privacy-policy-article__content h2 {
    font-size: 20px; }

  .privacy-policy-article__content h3 {
    font-size: 17px; } }
.page_entry .wrapper {
  padding-top: calc(8em / 8 * 2) !important; }
  @media screen and (max-width: 768px) {
    .page_entry .wrapper {
      width: calc(100% / 16 * 15) !important; } }

.page_privacy .page_head p {
  font-size: 0.9em !important; }
.page_privacy .page_head nav {
  margin: calc(8em / 16 * 3) calc(8em / 8 * 2);
  padding: calc(8em / 8 * 2);
  background: var(--gray2); }
  @media screen and (max-width: 768px) {
    .page_privacy .page_head nav {
      margin: calc(8em / 16 * 3) 0;
      padding: calc(8em / 16 * 2); } }
  .page_privacy .page_head nav > span {
    display: block;
    color: var(--color-gray);
    margin-bottom: calc(8em / 16 * 1); }
  .page_privacy .page_head nav ul > li a {
    display: block;
    padding: calc(8em / 32 * 1) 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; }
    @media screen and (max-width: 768px) {
      .page_privacy .page_head nav ul > li a {
        padding: calc(8em / 64 * 1) 0; } }
    .page_privacy .page_head nav ul > li a:hover {
      opacity: .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; }
.page_privacy ul.list {
  padding: calc(8em / 16 * 4) 0;
  border-top: solid 1px var(--border-light-black);
  border-bottom: solid 1px var(--border-light-black); }
  .page_privacy ul.list > li ~ li {
    margin-top: calc(8em / 16 * 3); }
  .page_privacy ul.list > li[data-number] {
    display: flex;
    align-items: flex-start;
    justify-content: center; }
    .page_privacy ul.list > li[data-number]::before {
      content: attr(data-number) "";
      display: block;
      width: 3rem;
      font-weight: 600;
      font-size: 1.3325em;
      color: var(--key9);
      line-height: 1.64; }
  .page_privacy ul.list + p {
    margin-top: calc(85px / 8 * 3); }
.page_privacy dl._list {
  margin: 0 calc(8em / 16 * 4); }
  @media screen and (max-width: 768px) {
    .page_privacy dl._list {
      margin: 0; } }
  .page_privacy dl._list > dt {
    font-size: 1.3325em;
    font-weight: 600; }
    .page_privacy dl._list > dt + dd {
      margin-top: 12px; }
  .page_privacy dl._list > dd {
    padding-left: 1em;
    font-size: .9em; }
    .page_privacy dl._list > dd > * + * {
      margin-top: calc(8em / 16); }
.page_privacy ul.disc {
  display: flex;
  flex-direction: column;
  gap: calc(8em / 32); }
  .page_privacy ul.disc > li {
    display: flex;
    align-items: baseline;
    column-gap: calc(8em / 16);
    line-height: 1.5; }
    .page_privacy ul.disc > li::before {
      content: '';
      width: 1em;
      min-width: 1em;
      height: 1em;
      background: var(--color-black);
      border-radius: 50%;
      transform: scale(0.41); }
.page_privacy ul.number {
  display: flex;
  flex-direction: column;
  gap: calc(8em / 32);
  counter-reset: num; }
  .page_privacy ul.number > li {
    display: flex;
    align-items: baseline;
    column-gap: calc(8em / 16);
    line-height: 1.5; }
    .page_privacy ul.number > li::before {
      counter-increment: num;
      content: counter(num);
      width: 1em;
      min-width: 1em;
      height: 1em; }
.page_privacy .contactus > ul {
  display: flex;
  flex-direction: column;
  padding: calc(8em / 16 * 2) 0;
  background: var(--color-lightgray); }
  .page_privacy .contactus > ul > li {
    padding: calc(8em / 16 * 2);
    border-bottom: solid 1px var(--border-light-black); }
    .page_privacy .contactus > ul > li > dl {
      display: flex; }
      @media screen and (max-width: 768px) {
        .page_privacy .contactus > ul > li > dl {
          flex-direction: column;
          row-gap: calc(8em / 32); } }
      .page_privacy .contactus > ul > li > dl > dt {
        flex: 1;
        font-weight: 600; }
      .page_privacy .contactus > ul > li > dl > dd {
        flex: 3; }

/*//!#index----------------------------------------------------------------------------------------------*/
/* 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; }
