@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..900;1,6..96,400..900&display=swap');
/*reset css*/
body, h1, h2, h3, h4, p, ul, li, a, dl, dt, dd, table, tr, th, td, span, figcaption, s {
  margin: 0;
  padding: 0;
  color: #313131;
  text-decoration: none;
  list-style: none;
  line-height: 1;
  outline: none;
  box-sizing: border-box;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  body, h1, h2, h3, h4, p, ul, li, a, dl, dt, dd, table, tr, th, td, span, figcaption, s {
    font-size: 1.4rem;
  }
}

s {
  display: block;
}

button, input, select, textarea {
  background-color: unset;
  border: none;
  outline: none;
  -webkit-appearance: none;
}

div, section, article, figure, picture {
  box-sizing: border-box;
  margin: 0;
  display: block;
  padding: 0;
}

/*common*/
html, body {
  font-size: 62.5%;
  letter-spacing: 0.04em;
}

body {
  font-family: "Hiragino Mincho ProN", YuMincho, serif;
}

a {
  transition: all 0.2s;
}

img, svg {
  width: 100%;
  vertical-align: bottom;
  height: auto;
}

.ly_inner {
  margin: 0 auto;
  padding: 0 2rem;
  width: 124rem;
}

.ly_inner_s {
  margin: 0 auto;
  padding: 0 2rem;
  width: 80rem;
}
@media (max-width: 767px) {
  .ly_inner_s {
    width: auto;
    padding: 0 1.6rem;
  }
}

@media (max-width: 767px) {
  .ly_inner {
    width: auto;
    padding: 0 2rem;
  }
}
main {
  overflow: hidden;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .is_sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  html, body {
    font-size: 2.6666666667vw;
  }
  .is_pc {
    display: none;
  }
  .is_sp {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  html, body {
    font-size: 0.5208333333vw;
  }
}
/* common text size */
/* p{
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.02em;
}
span{
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.02em;
}
h2{
  font-size: 1.6rem;
  letter-spacing: 0.02em;
}
.lead{
  font-size: 2.4rem;
  letter-spacing: 0.02em;
}
.txt{
  font-size: 1.8rem;
  letter-spacing: 0.02em;
} */
.en_main {
  font-family: Times New Roman;
}

.en_g {
  font-family: Helvetica Neue;
}

/* common animation ///////////////////////////////////////////////*/
.js-focus {
  filter: blur(8px);
  transform: scale(1.1) translate(-15px, 40px) rotate(5deg);
  opacity: 0;
  transition: opacity 0.6s, filter 1s, transform 1.2s;
  transition-timing-function: ease-out;
}
.js-focus.is_active {
  filter: blur(0px);
  transform: scale(1) translate(0px, 0px);
  opacity: 1;
}

.js-focus-n {
  transform: scale(0.95);
  filter: blur(8px);
  opacity: 0;
  transition: opacity 1s, filter 1.8s, transform 0.8s;
  transition-timing-function: ease-out;
}
.js-focus-n.is_active {
  filter: blur(0px);
  transform: scale(1) translate(0px, 0px);
  opacity: 1;
}

.focus-in {
  filter: blur(0px);
  transform: scale(1);
  opacity: 1;
}

@keyframes focus-in {
  0% {
    filter: blur(24px);
    transform: scale(1.25);
    opacity: 0;
  }
  100% {
    filter: blur(0px);
    transform: scale(1);
    opacity: 1;
  }
}
.js-u-fade {
  opacity: 0;
  transform: translateY(15px);
  transition: opacity 1.2s cubic-bezier(0.5, 1, 0.89, 1), transform 1.5s cubic-bezier(0.36, 0.46, 0, 1.01);
}

.js-r-fade {
  transform: translateX(100px);
  opacity: 0;
  transition: opacity 1.2s cubic-bezier(0.5, 1, 0.89, 1), transform 1.5s cubic-bezier(0.36, 0.46, 0, 1.01);
}

.js-l-fade {
  transform: translateX(-15px);
  opacity: 0;
  transition: opacity 1.2s cubic-bezier(0.5, 1, 0.89, 1), transform 1.5s cubic-bezier(0.36, 0.46, 0, 1.01);
}

._delay01 {
  transition-delay: 0.2s;
}

._delay02 {
  transition-delay: 0.4s;
}

._delay03 {
  transition-delay: 0.6s;
}

._delay04 {
  transition-delay: 0.5s;
}

.fade-in {
  opacity: 1;
  transform: translate(0);
}

.js-spin {
  transform: rotateY(-450deg);
  transition-duration: 0.8s;
  will-change: transform;
  opacity: 0;
}

.js-spin.spin {
  transform: rotateY(0deg);
  opacity: 1;
}

@keyframes anm_coin {
  0% {
    transform: rotateY(-450deg);
    opacity: 0;
  }
  100% {
    transform: rotateY(0deg);
    opacity: 1;
  }
}
/* txt overflow animation */
/* js-m-txt wrapping to maskElem */
.js-m-txt {
  overflow: auto;
}

.js-m-txt .maskElem-y {
  transform: translateY(120%);
  display: block;
  font-size: inherit;
  color: inherit;
  line-height: inherit;
}

.js-m-txt .maskElem-x {
  transform: translateX(-120%);
  display: block;
  font-size: inherit;
  color: inherit;
  line-height: inherit;
}

@keyframes mask {
  100% {
    transform: translate(0);
  }
}
.mask.animated .maskElement-y,
.mask.animated .maskElement-x {
  animation: mask cubic-bezier(0.86, 0, 0.07, 1) forwards;
  animation-duration: 1.5s;
  overflow: hidden;
}

/* images overflow animation */
.js-m-img {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  /* display: inline-block; */
  transition: 1.5s 0.5s cubic-bezier(0.86, 0, 0.07, 1);
  transition-property: -webkit-clip-path;
  transition-property: clip-path;
  transition-property: clip-path, -webkit-clip-path;
}

.js-m-img.center {
  -webkit-clip-path: inset(0 100% 100% 0);
          clip-path: inset(0 100% 100% 0);
}

.js-m-img.animated {
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
}

.js-clip-animation-u {
  -webkit-clip-path: inset(100% 0 0 0);
          clip-path: inset(100% 0 0 0);
  /* display: inline-block; */
  transition: 1.5s 0.2s cubic-bezier(0.1, 0.37, 0.09, 1);
  transition-property: -webkit-clip-path;
  transition-property: clip-path;
  transition-property: clip-path, -webkit-clip-path;
}

.clip-in {
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
}

.js-zoom {
  transition-duration: 0.8s;
  transform: scale(0);
}
.js-zoom.zoom-in {
  transform: scale(1);
}

.js-textAdjustSize {
  margin: 0 auto;
}

.mute {
  transition: transform 0.5s;
  transition-delay: 0.3s;
  transform: translateX(0px);
  height: 3rem;
  width: 8rem;
  margin-right: 2rem;
  pointer-events: auto;
  cursor: pointer;
  position: fixed;
  top: 2rem;
  left: 1rem;
  z-index: 100;
}
@media (max-width: 767px) {
  .mute {
    height: 3rem;
    width: 4rem;
    margin-right: 2rem;
    pointer-events: auto;
    cursor: pointer;
    position: fixed;
    top: 2rem;
    left: 1rem;
  }
}

svg {
  fill: #fff;
  -webkit-fill: #fff;
}

.mute #on,
.mute #off {
  fill: #fff;
  transition: 0.25s transform ease;
  transform-origin: center center;
  transform: scale(0);
  filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.6));
}

#on.active,
#off.active {
  transform: scale(1) !important;
}

.mute {
  fill: #fff;
}

/* /////////////////////////////////////////////// */
.c_heading {
  font-family: "inglesa-caps-variable", sans-serif;
  font-variation-settings: "wght" 400;
  font-weight: 400;
}

.c_lettering {
  font-family: "adobe-handwriting-ernie", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.c_shppr {
  font-family: "Shippori Mincho", serif;
}

.c_colW {
  color: #fff;
}

.c_colB {
  color: #2A2E38;
}

.c_colDG {
  color: #757880;
}

.c_colG {
  color: #CFCFCF;
}

.c_fw5 {
  font-weight: 500;
}

.c_fw6 {
  font-weight: 600;
}

.c_fw7 {
  font-weight: 700;
}

.c_tac {
  text-align: center;
}

.c_tac_tar {
  text-align: center;
}
@media (max-width: 767px) {
  .c_tac_tar {
    text-align: left;
  }
}

.c_f_32 {
  font-size: 3.2rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.c_f_32_24 {
  font-size: 3.2rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .c_f_32_24 {
    font-size: 2.4rem;
  }
}

.c_f_44 {
  font-size: 4.4rem;
  font-weight: 500;
}

.c_f_44_24 {
  font-size: 4.4rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c_f_44_24 {
    font-size: 2.4rem;
  }
}

.c_f_40_24 {
  font-size: 4rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c_f_40_24 {
    font-size: 2.4rem;
  }
}

.c_f_28 {
  font-size: 2.8rem;
  font-weight: 500;
}

.c_f_28_16 {
  font-size: 2.8rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c_f_28_16 {
    font-size: 1.6rem;
  }
}

.c_f_24 {
  font-size: 2.4rem;
  font-weight: 500;
}

.c_f_24_20 {
  font-size: 2.4rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c_f_24_20 {
    font-size: 2rem;
  }
}

.c_f_24_16 {
  font-size: 2.4rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c_f_24_16 {
    font-size: 1.6rem;
  }
}

.c_f_24_14 {
  font-size: 2.4rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c_f_24_14 {
    font-size: 1.4rem;
  }
}

.c_f_20 {
  font-size: 2rem;
  font-weight: 500;
}

.c_f_20_16 {
  font-size: 2rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c_f_20_16 {
    font-size: 1.6rem;
  }
}

.c_f_20_18 {
  font-size: 2rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c_f_20_18 {
    font-size: 1.8rem;
  }
}

.c_f_12 {
  font-size: 1.2rem;
}

.c_f_12_10 {
  font-size: 1.2rem;
}
@media (max-width: 767px) {
  .c_f_12_10 {
    font-size: 1rem;
  }
}

.c_f_14 {
  font-size: 1.4rem;
}

.c_f_14_12 {
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .c_f_14_12 {
    font-size: 1.2rem;
  }
}

.c_f_16 {
  font-size: 1.6rem;
}

.c_f_16_14 {
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .c_f_16_14 {
    font-size: 1.4rem;
  }
}

.c_f_16_12 {
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .c_f_16_12 {
    font-size: 1.2rem;
  }
}

.c_f_b {
  font-weight: bold;
}

.c_txt3 {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 2;
}
@media (max-width: 767px) {
  .c_txt3 {
    font-size: 1.4rem;
  }
}

.c_txt5 {
  line-height: 2;
  letter-spacing: 0.04em;
}

.js_tAnimation_01 {
  overflow: hidden;
}
.js_tAnimation_01 > span {
  font-weight: inherit;
  letter-spacing: inherit;
  display: inline-block;
  overflow: hidden;
  color: inherit;
  font-size: inherit;
}
.js_tAnimation_01 > span span {
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  display: inline-block;
  overflow: hidden;
  color: inherit;
}

.js_pllx_img {
  position: absolute;
  top: 0;
  left: 0;
}

.js_maskAnimation,
.js_bgMaskAnimation {
  display: block;
  position: relative;
  overflow: hidden;
}
.js_maskAnimation .js_maskAnimation_elem,
.js_bgMaskAnimation .js_maskAnimation_elem {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 100%;
}
.js_maskAnimation .js_maskAnimation_txt,
.js_bgMaskAnimation .js_maskAnimation_txt {
  font-size: inherit;
  color: inherit;
  letter-spacing: inherit;
}

.c_moreBtnWrapper {
  display: flex;
  justify-content: center;
}

.c_moreBtn {
  width: 22rem;
  height: 14.5rem;
  background: url(../images/more_btn_bg.svg) no-repeat center center/contain;
  position: relative;
  text-align: center;
  font-size: 2.8rem;
  font-family: "adobe-handwriting-ernie", sans-serif;
  font-weight: bold;
  position: relative;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .c_moreBtn {
    width: 17.6rem;
    height: 11.6rem;
    font-size: 1.4rem;
    font-size: 1.6rem;
  }
}
.c_moreBtn > input {
  position: relative;
  text-align: center;
  display: block;
  font-size: inherit;
  display: inline-block;
  margin: 0 auto;
  font-family: inherit;
  font-weight: bold;
  position: relative;
  letter-spacing: 0.02em;
  color: inherit;
}
.c_moreBtn_arrow {
  position: absolute;
  top: -0.4rem;
  right: -5.6rem;
}
@media (max-width: 767px) {
  .c_moreBtn_arrow {
    right: -4.6rem;
    top: -0.8rem;
  }
}

.headerTrigger {
  width: 10.4rem;
  position: fixed;
  top: 2.4rem;
  left: 50%;
  transform: translate(-50%, 0) translate(0, 0);
  cursor: pointer;
  z-index: 1001;
  opacity: 0;
  visibility: hidden;
}
@media (max-width: 767px) {
  .headerTrigger {
    width: 8rem;
    top: 0.5rem;
  }
}

.header_txt {
  font-size: 2rem;
  position: fixed;
  top: 13.6rem;
  left: 50%;
  transform: translate(-50%, 0) translate(0, 0);
  cursor: pointer;
  z-index: 1002;
  opacity: 0;
  visibility: hidden;
}
@media (max-width: 767px) {
  .header_txt {
    font-size: 1.6rem;
    top: 8.6rem;
    font-size: 1.6rem;
  }
}

.header {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
}
.header .menu {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding-left: 105rem;
  gap: 7.2rem 0;
  transform: translateX(-25px);
  opacity: 0;
  visibility: hidden;
}
@media (max-width: 767px) {
  .header .menu {
    padding-left: 11rem;
    gap: 3.2rem 0;
  }
}
.header .menu_item {
  display: flex;
  flex-direction: column;
}
.header .menu_item_en {
  font-size: 3.2rem;
}
@media (max-width: 767px) {
  .header .menu_item_en {
    font-size: 2rem;
  }
}
.header .menu_item_jp {
  margin-top: 0.8rem;
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .header .menu_item_jp {
    font-size: 1rem;
  }
}
.header_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.headerCopy {
  text-align: center;
  position: fixed;
  bottom: 2.4rem;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 100%;
  letter-spacing: 0.07em;
  z-index: 100;
}

.errorPage {
  padding: 16rem 0 26rem;
  width: 100vw;
  text-align: center;
}
.errorPage h1 {
  font-size: 3.2rem;
  text-align: center;
  margin-bottom: 3.2rem;
  line-height: 2;
}
.errorPage p {
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 3.2rem;
}
.errorPage a {
  text-align: center;
  text-decoration: underline;
  font-size: 1.8rem;
  text-align: center;
}

@media (max-width: 767px) {
  #cursor {
    display: none;
  }
}

@media (min-width: 768px) {
  body {
    position: relative;
  }
  /* Pointer */
  #cursor {
    border: 1px solid #B0D0FF;
    position: fixed;
    width: 7.6rem;
    height: 7.6rem;
    border-radius: 100%;
    margin: -3.8rem 0 0 -3.8rem;
    pointer-events: none;
    transition: transform 0.3s;
    opacity: 0;
    z-index: 10000;
    animation: loop 3s linear infinite;
    transform-origin: center center;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s;
    transition-timing-function: ease-out;
    transform: scale(0.7);
  }
  #cursor .cursor_bg {
    width: 8rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    background: rgba(0, 178, 255, 0.5);
    filter: blur(3.5px);
    z-index: -1;
    border-radius: 60%;
  }
  #cursor span {
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 60%;
    background: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  #cursor::before {
    content: "";
    width: 100%;
    height: 100%;
    border: 1px solid #B0D0FF;
    border-radius: 60%;
    background: transparent;
    opacity: 0;
  }
  #cursor.active {
    transform: scale(1);
    animation: loop2 2s linear infinite 0.5s;
    opacity: 1;
  }
  #cursor.active::before {
    animation: hamon 1s linear infinite 0s;
  }
  #cursor.active span {
    opacity: 1;
  }
  @keyframes loop {
    0% {
      transform: scale(0.7);
    }
    50% {
      transform: scale(1);
    }
    100% {
      transform: scale(0.7);
    }
  }
  @keyframes hamon {
    0% {
      transform: scale(1);
      opacity: 0;
    }
    15% {
      opacity: 1;
    }
    100% {
      transform: scale(1.5);
    }
  }
}
.bgWrapper {
  position: fixed;
  width: 100vw;
  height: 100vh;
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0;
  pointer-events: none;
}

.bgVideo {
  width: 110%;
  height: 110%;
  position: absolute;
  top: -5%;
  left: -5%;
  -o-object-fit: cover;
     object-fit: cover;
  position: fixed;
  z-index: -1;
}

.cm_background {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  position: fixed;
  z-index: -1;
  background: #F6F0E3;
}

.bg_woods {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: 10;
  mix-blend-mode: multiply;
}
.bg_woods_l {
  width: 66.2rem;
  position: absolute;
  top: -4.8rem;
  left: -8rem;
  will-change: transform;
}
@media (max-width: 767px) {
  .bg_woods_l {
    left: 0;
    left: -8rem;
    width: 31.28rem;
  }
}
.bg_woods_r {
  width: 61.6rem;
  position: absolute;
  bottom: -2rem;
  right: -2rem;
  will-change: transform;
}
@media (max-width: 767px) {
  .bg_woods_r {
    right: 0;
    width: 24.64rem;
  }
}
.bg_woods_r2 {
  width: 44.1rem;
  position: absolute;
  top: -2.4rem;
  right: -5rem;
  will-change: transform;
}
@media (max-width: 767px) {
  .bg_woods_r2 {
    top: -2.4rem;
    right: -5rem;
    width: 22.05rem;
  }
}
.bg_woods_reef {
  position: absolute;
  opacity: 1;
  display: block;
}
.bg_woods_reef.__reef01 {
  width: 3.2rem;
  bottom: -2rem;
  left: 32rem;
}
.bg_woods_reef.__reef02 {
  width: 2.4rem;
  bottom: -2rem;
  left: 55rem;
}
.bg_woods_reef.__reef03 {
  width: 3.2rem;
  bottom: -2rem;
  left: 44rem;
}

.noise {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0.1;
}

.footer {
  padding-bottom: 10rem;
}
@media (max-width: 767px) {
  .footer {
    padding: 0 2rem 8rem;
  }
}
.footer_inner {
  position: relative;
  padding-top: 10.6rem;
  padding-bottom: 2.4rem;
  border-top: 1px solid #C7BCBC;
}
@media (max-width: 767px) {
  .footer_inner {
    padding-top: 4.4rem;
    padding-bottom: 1.6rem;
  }
}
.footer_inner::before {
  content: "";
  width: 100%;
  height: 1px;
  background: #C7BCBC;
  position: absolute;
  top: 0.5rem;
  left: 0;
  display: inline-block;
}
.footer_links {
  display: flex;
  justify-content: center;
  gap: 0 5.2rem;
}
@media (max-width: 767px) {
  .footer_links {
    flex-direction: column;
    align-items: center;
    gap: 2.4rem;
  }
}
.footer_links li a {
  font-size: 1.8rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .footer_links li a {
    font-size: 1.4rem;
  }
}
.footer_logo {
  width: 17.6rem;
  display: block;
  margin: 11.8rem auto 0;
}
@media (max-width: 767px) {
  .footer_logo {
    margin-top: 4.8rem;
    width: 14rem;
  }
}
.footer_copy {
  font-size: 1.4rem;
  text-align: center;
  margin-top: 4.18rem;
}
@media (max-width: 767px) {
  .footer_copy {
    font-size: 1.2rem;
    margin-top: 4.4rem;
  }
}

.cm_component_btn {
  width: 36rem;
  height: 8.2rem;
  background: #453434;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.2rem;
  font-weight: bold;
  color: #fff;
  position: relative;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .cm_component_btn {
    width: 24rem;
    height: 5rem;
    font-size: 1.6rem;
  }
}
.cm_component_btn_arrow {
  width: 0.8rem;
  position: absolute;
  top: 50%;
  right: 3.2rem;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
@media (max-width: 767px) {
  .cm_component_btn_arrow {
    width: 0.6rem;
    right: 2rem;
  }
}

.cm_company {
  width: 94rem;
  margin: 8rem auto 10rem;
  border-top: 1px solid #C7BCBC;
}
@media (max-width: 767px) {
  .cm_company {
    width: 100%;
    margin: 4rem auto 6rem;
  }
}
.cm_company_dl {
  display: flex;
  align-items: flex-start;
  padding-top: 3.2rem;
  padding-bottom: 3.2rem;
  padding-left: 2rem;
  padding-right: 2rem;
  border-bottom: 1px solid #C7BCBC;
  gap: 3.2rem;
}
@media (max-width: 767px) {
  .cm_company_dl {
    flex-direction: column;
    padding-top: 2rem;
    padding-bottom: 2rem;
    padding-left: 0;
    padding-right: 0;
    gap: 1.2rem;
  }
}
.cm_company_dl dt {
  font-family: "Hiragino Mincho ProN", YuMincho, serif;
  font-size: 1.7rem;
  flex: 0 0 26rem;
  width: 26rem;
  font-weight: 700;
  position: relative;
  letter-spacing: 0.14em;
  line-height: 1.6;
  color: #313131;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .cm_company_dl dt {
    font-size: 1.4rem;
    width: 100%;
    flex: 0 0 auto;
    letter-spacing: 0.08em;
    line-height: 1.5;
  }
}
.cm_company_dl dt > span {
  font: inherit;
  opacity: 0;
  transform: translateX(-25px);
  transition-duration: 1.5s;
  transition-timing-function: cubic-bezier(0.85, 0, 0.15, 1);
  display: inline-block;
}
.cm_company_dl dd {
  font-family: "Hiragino Mincho ProN", YuMincho, serif;
  font-style: normal;
  font-size: 1.7rem;
  letter-spacing: 0.06em;
  font-weight: 500;
  opacity: 0;
  transform: translateX(25px);
  transition-duration: 1.5s;
  transition-timing-function: cubic-bezier(0.85, 0, 0.15, 1);
  line-height: 2;
  color: #313131;
  flex: 1;
  text-align: left;
}
.cm_company_dl dd strong {
  font-weight: 700;
  color: #111111;
}
.cm_company_dl dd a {
  color: #313131;
  text-decoration: underline;
  transition: opacity 0.2s ease;
}
.cm_company_dl dd a:hover {
  opacity: 0.6;
}
@media (max-width: 767px) {
  .cm_company_dl dd {
    font-size: 1.4rem;
    max-width: 100%;
    line-height: 1.8;
    letter-spacing: 0.04em;
  }
}
.cm_company_dl dd .cm_company_dl_name {
  vertical-align: middle;
  width: 7.8rem;
}
@media (max-width: 767px) {
  .cm_company_dl dd .cm_company_dl_name {
    width: 5.6rem;
  }
}
.cm_company.is_active dt span {
  opacity: 1;
  transform: translate(0);
}
.cm_company.is_active dt::before {
  width: 100%;
}
.cm_company.is_active dd {
  opacity: 1;
  transform: translate(0);
}
.cm_service_lead {
  text-align: center;
  font-size: 1.8rem;
  line-height: 2.2222222222;
  letter-spacing: 0.06em;
  font-weight: 500;
  margin-top: 5.8rem;
}
@media (max-width: 767px) {
  .cm_service_lead {
    font-size: 1.4rem;
    margin-top: 4rem;
  }
}

.cm_service_list {
  margin-top: 4.6rem;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .cm_service_list {
    margin-top: 5.2rem;
    flex-direction: column;
    gap: 3.2rem 0;
  }
}

.cm_service_item {
  width: 41.1rem;
  padding: 9rem 0 7.4rem;
}
@media (max-width: 767px) {
  .cm_service_item {
    width: 29rem;
    margin: 0 auto;
    padding: 4.4rem 0 1.6rem;
  }
}

.cm_service_item_img {
  height: 20rem;
  text-align: center;
}
@media (max-width: 767px) {
  .cm_service_item_img {
    height: 16rem;
  }
}
.cm_service_item_img img {
  height: 100%;
  width: auto;
}

.cm_service_item_ttl {
  text-align: center;
}
.cm_service_item_ttl_en {
  font-size: 6rem;
  display: block;
  height: 14.4rem;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 767px) {
  .cm_service_item_ttl_en {
    font-size: 3.6rem;
    height: auto;
  }
}
.cm_service_item_ttl_jp {
  font-size: 2rem;
  font-weight: 700;
  margin-top: 5.4rem;
  display: block;
}
@media (max-width: 767px) {
  .cm_service_item_ttl_jp {
    font-size: 1.8rem;
    margin-top: 4rem;
  }
}

.cm_service_item_txt {
  line-height: 2.2222222222;
  font-weight: 500;
  width: 26.8rem;
  margin: 3.8rem auto 0;
}
@media (max-width: 767px) {
  .cm_service_item_txt {
    margin-top: 3.2rem;
    line-height: 2;
    width: auto;
    padding: 0 2.4rem;
  }
}

.cm_service_btn {
  margin-top: 4.4rem;
}
@media (max-width: 767px) {
  .cm_service_btn {
    margin-top: 6.4rem;
  }
}

.cm_contact_form {
  width: 108rem;
  margin: 12rem auto 0;
}
@media (max-width: 767px) {
  .cm_contact_form {
    width: 100%;
    padding: 0 2rem;
    margin-top: 6.4rem;
  }
}
.cm_contact_formCheck {
  margin-top: 2.4rem;
  padding-right: 12rem;
}
@media (max-width: 767px) {
  .cm_contact_formCheck {
    padding-right: 0;
  }
}
.cm_contact_formCheck input {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
}
@media (max-width: 767px) {
  .cm_contact_formCheck input {
    transform: scale(1.5);
  }
}
.cm_contact_formCheck label {
  display: inline-flex;
  gap: 0 0.6rem;
  align-items: center;
}
@media (max-width: 767px) {
  .cm_contact_formCheck label {
    gap: 1.2rem 0.6rem;
  }
}
.cm_contact_formCheck .wpcf7-list-item {
  margin: 0;
}
.cm_contact_formCheck .wpcf7-form-control {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem;
}
@media (max-width: 767px) {
  .cm_contact_formCheck .wpcf7-form-control {
    gap: 1.6rem;
  }
}
.cm_contact_formHead {
  font-family: "Hiragino Mincho ProN", YuMincho, serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.14em;
  display: flex;
  align-items: center;
  color: #313131;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .cm_contact_formHead {
    font-size: 1.3rem;
  }
}
.cm_contact_formHead:not(:first-child) {
  margin-top: 4.8rem;
}
.cm_contact_formInput {
  width: 100%;
  border-radius: 0.4rem;
  margin-top: 1.2rem;
}
@media (max-width: 767px) {
  .cm_contact_formInput {
    margin-top: 1.6rem;
  }
}
.cm_contact_formInput input {
  font-family: "Hiragino Mincho ProN", YuMincho, serif;
  width: 100%;
  height: 100%;
  padding: 1.8rem 1.2rem;
  box-sizing: border-box;
  font-size: 1.6rem;
  border-bottom: solid 1.5px #AFA7A7;
  font-weight: 500;
  color: #222;
  background: transparent;
  transition: border-color 0.3s ease;
  letter-spacing: 0.04em;
}
.cm_contact_formInput input:focus {
  outline: none;
  border-bottom-color: #313131;
}
@media (max-width: 767px) {
  .cm_contact_formInput input {
    padding: 1.4rem 0.6rem;
    font-size: 1.4rem;
  }
}
.cm_contact_formInput input::-moz-placeholder {
  font-family: "Hiragino Mincho ProN", YuMincho, serif;
  opacity: 0.45;
  color: #6A6666;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.04em;
}
.cm_contact_formInput input::placeholder {
  font-family: "Hiragino Mincho ProN", YuMincho, serif;
  opacity: 0.45;
  color: #6A6666;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.04em;
}
@media (max-width: 767px) {
  .cm_contact_formInput input::-moz-placeholder {
    font-size: 1.3rem;
  }
  .cm_contact_formInput input::placeholder {
    font-size: 1.3rem;
  }
}
.cm_contact_formInput.textarea {
  height: 18rem;
}
.cm_contact_formInput.textarea textarea {
  font-family: "Hiragino Mincho ProN", YuMincho, serif;
  width: 100%;
  height: 100%;
  padding: 1.6rem;
  box-sizing: border-box;
  border: solid 1.5px #AFA7A7;
  border-radius: 0.8rem;
  font-size: 1.6rem;
  color: #222;
  background: rgba(255, 255, 255, 0.4);
  resize: vertical;
  transition: border-color 0.3s ease;
  letter-spacing: 0.04em;
  line-height: 1.8;
}
.cm_contact_formInput.textarea textarea:focus {
  outline: none;
  border-color: #313131;
  background: rgba(255, 255, 255, 0.7);
}
@media (max-width: 767px) {
  .cm_contact_formInput.textarea textarea {
    font-size: 1.4rem;
  }
}
.cm_contact_formInput.textarea textarea::-moz-placeholder {
  font-family: "Hiragino Mincho ProN", YuMincho, serif;
  opacity: 0.5;
  color: #6A6666;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.04em;
}
.cm_contact_formInput.textarea textarea::placeholder {
  font-family: "Hiragino Mincho ProN", YuMincho, serif;
  opacity: 0.5;
  color: #6A6666;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.04em;
}
@media (max-width: 767px) {
  .cm_contact_formInput.textarea textarea::-moz-placeholder {
    font-size: 1.3rem;
  }
  .cm_contact_formInput.textarea textarea::placeholder {
    font-size: 1.3rem;
  }
}
@media (max-width: 767px) {
  .cm_contact_formInput.textarea textarea {
    padding: 1rem;
  }
}
.cm_contact_formSend_btn, .cm_contact_form .cm_component_btn {
  margin-top: 8rem;
  cursor: pointer;
}
@media (max-width: 767px) {
  .cm_contact_formSend_btn, .cm_contact_form .cm_component_btn {
    margin-top: 5.4rem;
  }
}
.cm_contact_form .required {
  font-family: "Hiragino Mincho ProN", YuMincho, serif;
  background: #313131;
  color: #fff;
  padding: 0.3rem 0.8rem;
  display: inline-block;
  margin-left: 1.2rem;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .cm_contact_form .required {
    font-size: 1.4rem;
  }
}
.cm_contact_form .wpcf7-not-valid-tip {
  font-size: 2.8rem;
  font-weight: bold;
  margin-top: 0.8rem;
}
.cm_contact_form .wpcf7-response-output {
  border-color: #2A2E38;
  font-size: 2rem;
  line-height: 1.5;
  color: #dc3232;
}
.cm_contact_form .c_moreBtn {
  margin-top: 10rem;
  cursor: pointer;
}
.cm_contact_form .c_moreBtn input {
  cursor: pointer;
}

.thanks .thanksArea {
  min-height: 65vh;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.thanks .thanksArea p {
  text-align: center;
  letter-spacing: 0.04em;
  line-height: 1.8;
  font-size: 2.4rem;
}
@media (max-width: 767px) {
  .thanks .thanksArea p {
    font-size: 1.6rem;
  }
}
.thanks .thanksArea a {
  margin-top: 4rem;
  opacity: 0.6;
  font-size: 2.8rem;
  text-decoration: underline;
}
@media (max-width: 767px) {
  .thanks .thanksArea a {
    font-size: 1.8rem;
  }
}

.js-letteringTarget_base path {
  fill: #000; /* Fill color */
}

.js-letteringTarget_mask path {
  fill: none; /* Fill color */
  stroke: #ffffff; /* Stroke color */
  stroke-width: 10px; /* Stroke width */
  stroke-linecap: round; /* Cap style */
  stroke-linejoin: round; /* Corner style */
}

.mouseStalker_item {
  width: 14rem;
  aspect-ratio: 142/192;
  position: fixed;
  pointer-events: none; /* Ignore mouse events */
  z-index: 9999; /* Display on top */
  top: 0;
  left: 0;
  opacity: 0;
}
.mouseStalker_item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

@media (min-width: 768px) {
  .footer .footer_links a,
  .header .menu a {
    position: relative;
  }
  .footer .footer_links a::before,
  .header .menu a::before {
    content: "";
    display: inline-block;
    width: 13.2rem;
    height: 8.7rem;
    background: url(../images/more_btn_bg.svg) no-repeat center center/contain;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    position: absolute;
    opacity: 0;
    visibility: hidden;
    transition-duration: 0.5s;
    pointer-events: none;
  }
  .footer .footer_links a:hover::before,
  .header .menu a:hover::before {
    opacity: 1;
    visibility: visible;
  }
  .header .menu a::before {
    width: 17.6rem;
    height: 11.6rem;
  }
}
.index .mv {
  height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.index .mv_ttl {
  opacity: 0;
  transform-origin: right;
}
.index .mv_ttl_elem {
  display: flex;
  align-items: flex-end;
}
.index .mv_ttl_elem_child.__txt svg {
  width: auto;
  height: 8.2rem;
}
@media (max-width: 767px) {
  .index .mv_ttl_elem_child.__txt svg {
    height: 3.28rem;
  }
}
.index .mv_ttl_elem_child.__dots svg {
  width: auto;
  height: 1.2rem;
}
@media (max-width: 767px) {
  .index .mv_ttl_elem_child.__dots svg {
    height: 0.48rem;
  }
}
.index .mv_ttl_elem_child.__02 {
  margin-left: 0.4rem;
}
@media (max-width: 767px) {
  .index .mv_ttl_elem_child.__02 {
    margin-left: 0.16rem;
  }
}
.index .mv_ttl_elem_child.__03 {
  margin-left: 0.2rem;
}
@media (max-width: 767px) {
  .index .mv_ttl_elem_child.__03 {
    margin-left: 0.08rem;
  }
}
.index .mv_ttl_elem_child.__04 {
  margin-left: 0.2rem;
}
@media (max-width: 767px) {
  .index .mv_ttl_elem_child.__04 {
    margin-left: 0.08rem;
  }
}
.index .mv_ttl_elem_child.__05 {
  margin-left: 0.4rem;
}
@media (max-width: 767px) {
  .index .mv_ttl_elem_child.__05 {
    margin-left: 0.16rem;
  }
}
.index .mv_ttl_elem_child.__dots {
  margin-left: 0.6rem;
  margin-bottom: 0.8rem;
}
@media (max-width: 767px) {
  .index .mv_ttl_elem_child.__dots {
    margin-left: 0.24rem;
    margin-bottom: 0.32rem;
  }
}
.index .mv_boat {
  width: 45.8333333333vw;
  position: absolute;
  bottom: 5.2083333333vw;
  left: 18.75vw;
}
@media (max-width: 767px) {
  .index .mv_boat {
    width: 40rem;
    bottom: 15rem;
    left: -8rem;
  }
}
.index .mv_boat > img {
  width: 100%;
  height: auto;
  position: absolute;
  left: 0;
  bottom: 0;
  opacity: 0;
  transition-duration: 1.5s;
}
.index .mv_boat > img.is_active {
  opacity: 1;
}
.index .mv_weve {
  width: 44rem;
  position: absolute;
  bottom: -8rem;
  left: 38rem;
  opacity: 0;
}
@media (max-width: 767px) {
  .index .mv_weve {
    width: 27rem;
    left: 13rem;
    bottom: -7rem;
  }
}
.index .about {
  padding: 20rem 0 12rem;
}
@media (max-width: 767px) {
  .index .about {
    padding: 12rem 0 12rem;
  }
}
.index .about_headWrapper {
  position: relative;
  margin: 0 auto;
}
.index .about_head {
  text-align: center;
  font-size: 7rem;
  line-height: 1.2;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .index .about_head {
    font-size: 3.2rem;
  }
}
.index .about_head span span {
  text-shadow: 2px 2px 4px #f6ede1;
  text-shadow: 2px 2px 4px #f6ede1;
}
.index .about_head_obj {
  width: 22rem;
  aspect-ratio: 366/130;
  overflow: hidden;
  display: inline-block;
  margin: 0 2rem 0;
  position: relative;
  top: -1.2rem;
}
@media (max-width: 767px) {
  .index .about_head_obj {
    width: 10rem;
    margin: 0 0.8rem 0;
  }
}
.index .about_head {
  position: relative;
  z-index: 2;
  margin: 0 auto;
}
.index .about_videoMask {
  -webkit-clip-path: url(#about_videoMaskObject);
  clip-path: url(#about_videoMaskObject);
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.index .about_lead {
  width: 81.1rem;
  margin: 11.6rem auto 0;
  text-align: center;
}
@media (max-width: 767px) {
  .index .about_lead {
    margin-top: 5.2rem;
    width: auto;
  }
}
.index .about_lead_jp {
  font-size: 1.8rem;
  line-height: 2.2222222222;
  letter-spacing: 0.06em;
  font-weight: 500;
}
@media (max-width: 767px) {
  .index .about_lead_jp {
    font-size: 1.4rem;
    line-height: 2;
    text-align: left;
  }
}
.index .about_lead_en {
  font-size: 1.8rem;
  line-height: 1.6666666667;
  font-weight: 400;
  margin-top: 3.3rem;
}
@media (max-width: 767px) {
  .index .about_lead_en {
    font-size: 1.4rem;
    line-height: 2;
    text-align: left;
    margin-top: 2.2rem;
  }
}
.index .about_more {
  margin: 14rem auto 0;
}
@media (max-width: 767px) {
  .index .about_more {
    margin-top: 5.2rem;
  }
}
.index .service {
  padding: 16rem 0 10.4166666667vw;
}
.index .service_ttl {
  text-align: center;
  font-size: 7.6rem;
}
@media (max-width: 767px) {
  .index .service_ttl {
    font-size: 4rem;
  }
}
.index .recruit {
  padding-top: 52.0833333333vw;
}
@media (max-width: 767px) {
  .index .recruit {
    padding-top: 32rem;
  }
}
.index .recruit_unit {
  display: flex;
  align-items: flex-start;
  gap: 0 9.4rem;
}
@media (max-width: 767px) {
  .index .recruit_unit {
    flex-direction: column-reverse;
    gap: 3.2rem 0;
  }
}
.index .recruit_lead {
  flex: 0 0 68rem;
  width: 68rem;
  padding-top: 29rem;
  transform: translateX(-25px);
  opacity: 0;
}
@media (max-width: 767px) {
  .index .recruit_lead {
    flex: 0 0 100%;
    width: 100%;
    padding-top: 0;
    margin-top: 0.4rem;
  }
}
.index .recruit_lead_jp {
  font-size: 1.8rem;
  line-height: 2.2222222222;
  letter-spacing: 0.06em;
  font-weight: 500;
}
@media (max-width: 767px) {
  .index .recruit_lead_jp {
    font-size: 1.4rem;
    line-height: 2;
  }
}
.index .recruit_lead_en {
  font-size: 1.8rem;
  line-height: 1.6666666667;
  font-weight: 400;
  margin-top: 3.3rem;
}
@media (max-width: 767px) {
  .index .recruit_lead_en {
    font-size: 1.4rem;
    line-height: 2;
    margin-top: 2.4rem;
  }
}
.index .recruit_obj {
  flex: 0 0 66.4rem;
}
@media (max-width: 767px) {
  .index .recruit_obj {
    flex: 0 0 100%;
  }
}
.index .recruit_elem {
  position: relative;
  height: 118.2rem;
  top: -3rem;
  left: -31rem;
  transform: scale(2.5);
}
@media (max-width: 767px) {
  .index .recruit_elem {
    transform: scale(1.6);
    height: 60rem;
    left: -2rem;
  }
}
.index .recruit_elem img {
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 767px) {
  .index .recruit_elem img {
    height: 100%;
    width: auto;
  }
}
.index .recruit_elem_base {
  z-index: 2;
}
.index .recruit_elem_shadow {
  z-index: 1;
  opacity: 0;
  transform: translateX(15px);
}
.index .recruit_more {
  margin-top: 12rem;
}
@media (max-width: 767px) {
  .index .recruit_more {
    margin: 5.2rem auto 0;
  }
}
.index .company {
  padding: 20rem 0;
}
@media (max-width: 767px) {
  .index .company {
    padding: 12rem 0;
  }
}

.cm_subPage_heading.__alineCenter {
  text-align: center;
}
.cm_subPage_heading_en {
  display: block;
  font-size: 8rem;
}
@media (max-width: 767px) {
  .cm_subPage_heading_en {
    font-size: 4rem;
  }
}
.cm_subPage_heading_jp {
  display: block;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  margin-top: 4rem;
  font-family: "Hiragino Mincho ProN", YuMincho, serif;
}
@media (max-width: 767px) {
  .cm_subPage_heading_jp {
    font-size: 1.4rem;
    margin-top: 1.6rem;
  }
}

.cm_subPage_lead {
  font-size: 1.8rem;
  line-height: 2.5;
}
.cm_subPage_lead.__alineCenter {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .cm_subPage_lead.__alineCenter {
    text-align: left;
  }
}
@media (max-width: 767px) {
  .cm_subPage_lead {
    font-size: 1.4rem;
    line-height: 2;
  }
}

.subPage > main {
  padding-bottom: 20rem;
}
@media (max-width: 767px) {
  .subPage > main {
    padding-bottom: 12rem;
  }
}
.subPage .mv {
  padding: 27rem 0 0;
}
@media (max-width: 767px) {
  .subPage .mv {
    padding: 19rem 0 0;
  }
}
.subPage .mv_unit {
  margin-top: 9rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 767px) {
  .subPage .mv_unit {
    margin-top: 0;
  }
}
.subPage .mv_ttl {
  transition-delay: 0.5s;
  text-align: center;
}
.subPage .mv_ttl_en {
  font-family: 'Bodoni Moda', 'Playfair Display', 'Didot', serif;
  font-size: 7.2rem;
  font-weight: 800;
  display: block;
  letter-spacing: 0.08em;
  color: #313131;
  line-height: 1.1;
}
@media (max-width: 767px) {
  .subPage .mv_ttl_en {
    font-size: 3.6rem;
  }
}
.subPage .mv_ttl_jp {
  font-size: 1.6rem;
  font-weight: 600;
  display: block;
  letter-spacing: 0.12em;
  margin-top: 1.6rem;
  color: #555;
}
@media (max-width: 767px) {
  .subPage .mv_ttl_jp {
    margin-top: 1rem;
    font-size: 1.3rem;
  }
}
.subPage .mv_txt_jp, .subPage .mv_txt_en {
  width: 62rem;
  transition-delay: 0.5s;
}
@media (max-width: 767px) {
  .subPage .mv_txt_jp, .subPage .mv_txt_en {
    width: auto;
  }
}
@media (max-width: 767px) {
  .subPage .mv_txt_jp {
    margin-top: 4.4rem;
  }
}
.subPage .mv_txt_en {
  margin-top: 2.8rem;
}
@media (max-width: 767px) {
  .subPage .mv_txt_en {
    margin-top: 2rem;
  }
}
.subPage .mv .__alineCenter {
  text-align: center;
  width: auto;
}
.subPage .mv .__jcCenter {
  justify-content: center;
}
.subPage .mv .cm_mv_img {
  transition-delay: 0.5s;
}
.subPage .mv_mediaArea {
  transition-delay: 0.5s;
}

.corporate-philosophy .cm_mv_img {
  width: 48.4rem;
}
@media (max-width: 767px) {
  .corporate-philosophy .cm_mv_img {
    width: 32rem;
    margin: 4.8rem auto 0;
  }
}
.corporate-philosophy .mv_unit {
  margin-top: 15rem;
}
@media (max-width: 767px) {
  .corporate-philosophy .mv_unit {
    margin-top: 0;
  }
}
@media (max-width: 767px) {
  .corporate-philosophy .philosophy {
    margin-top: 6rem;
  }
}
.corporate-philosophy .philosophy_section {
  padding-top: 24rem;
}
.corporate-philosophy .philosophy_section:nth-of-type(odd) .philosophy_unit {
  display: flex;
  flex-direction: row-reverse;
}
@media (max-width: 767px) {
  .corporate-philosophy .philosophy_section:nth-of-type(odd) .philosophy_unit {
    flex-direction: column;
  }
}
@media (max-width: 767px) {
  .corporate-philosophy .philosophy_section {
    padding-top: 8rem;
    flex-direction: column;
    height: auto;
  }
  .corporate-philosophy .philosophy_section:not(:first-of-type) {
    margin-top: 6.4rem;
  }
}
.corporate-philosophy .philosophy_unit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10rem;
}
@media (max-width: 767px) {
  .corporate-philosophy .philosophy_unit {
    justify-content: unset;
    margin-top: 0;
    flex-direction: column;
    height: auto;
  }
}
.corporate-philosophy .philosophy_txtArea {
  width: 60rem;
  flex: 0 0 60rem;
}
@media (max-width: 767px) {
  .corporate-philosophy .philosophy_txtArea {
    width: 100%;
    flex: 0 0 auto;
  }
}
.corporate-philosophy .philosophy_lead {
  margin-top: 4.8rem;
}
@media (max-width: 767px) {
  .corporate-philosophy .philosophy_lead {
    font-size: 1.4rem;
    margin-top: 3.2rem;
  }
}
.corporate-philosophy .philosophy_lead + .philosophy_lead {
  margin-top: 5.2rem;
}
@media (max-width: 767px) {
  .corporate-philosophy .philosophy_lead + .philosophy_lead {
    margin-top: 2.4rem;
  }
}
.corporate-philosophy .philosophy_lead .__head {
  display: block;
  font-size: 2rem;
  font-weight: bold;
  display: block;
  line-height: 1.75;
  margin-bottom: 0.6rem;
}
@media (max-width: 767px) {
  .corporate-philosophy .philosophy_lead .__head {
    font-size: 1.6rem;
  }
}
.corporate-philosophy .philosophy_lead .__en {
  margin-top: 0.8rem;
  display: block;
  font-size: 1.4rem;
  line-height: 1.4285714286;
  color: #776D6D;
}
.corporate-philosophy .philosophy_leadList {
  line-height: 1.5;
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .corporate-philosophy .philosophy_leadList {
    font-size: 1.4rem;
  }
}
.corporate-philosophy .philosophy_img {
  margin-left: auto;
  margin-right: 0;
}
@media (max-width: 767px) {
  .corporate-philosophy .philosophy_img {
    margin: 3.2rem auto 0;
  }
}
.corporate-philosophy .philosophy_img.__img01 {
  width: 39.8rem;
}
@media (max-width: 767px) {
  .corporate-philosophy .philosophy_img.__img01 {
    width: 21.492rem;
  }
}
.corporate-philosophy .philosophy_img.__img02 {
  width: 48.6rem;
}
@media (max-width: 767px) {
  .corporate-philosophy .philosophy_img.__img02 {
    width: 26.244rem;
  }
}
.corporate-philosophy .philosophy_img.__img03 {
  width: 46.5rem;
}
@media (max-width: 767px) {
  .corporate-philosophy .philosophy_img.__img03 {
    width: 25.11rem;
  }
}
.corporate-philosophy .message {
  padding: 20rem 0 0;
}
@media (max-width: 767px) {
  .corporate-philosophy .message {
    padding: 12rem 0 0;
  }
}
.corporate-philosophy .message_unit {
  margin-top: 12rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .corporate-philosophy .message_unit {
    margin-top: 8.4rem;
    flex-direction: column;
    justify-content: unset;
  }
}
.corporate-philosophy .message_txtArea {
  flex: 0 0 60rem;
}
@media (max-width: 767px) {
  .corporate-philosophy .message_txtArea {
    flex: 0 0 100%;
  }
}
@media (max-width: 767px) {
  .corporate-philosophy .message_lead {
    font-size: 1.4rem;
  }
}
.corporate-philosophy .message_lead + .message_lead {
  margin-top: 3.2rem;
}
@media (max-width: 767px) {
  .corporate-philosophy .message_lead + .message_lead {
    margin-top: 2.4rem;
  }
}
.corporate-philosophy .message_img {
  margin-top: 0;
  width: 42rem;
  position: relative;
}
@media (max-width: 767px) {
  .corporate-philosophy .message_img {
    margin: 3.6rem auto 0;
    width: 32rem;
  }
}
.corporate-philosophy .message_name {
  font-size: 5.6rem;
  position: absolute;
  transform: rotate(-5deg);
  bottom: -8.4rem;
  right: -3.6rem;
}
@media (max-width: 767px) {
  .corporate-philosophy .message_name {
    font-size: 4rem;
    bottom: -5.4rem;
    right: -1rem;
  }
}
.corporate-philosophy .about {
  padding: 28rem 0 0;
}
@media (max-width: 767px) {
  .corporate-philosophy .about {
    padding: 12rem 0 0;
  }
}
.corporate-philosophy .about .cm_company {
  margin-top: 6.4rem;
}
@media (max-width: 767px) {
  .corporate-philosophy .about .cm_company {
    margin-top: 5.4rem;
  }
}

.occupation .mv {
  height: auto;
  min-height: unset;
}
.occupation .cm_mv_img {
  width: 54.4rem;
  margin-top: 12rem;
}
@media (max-width: 767px) {
  .occupation .cm_mv_img {
    width: 32rem;
    margin: 4.8rem auto 0;
  }
}
.occupation .occupationThumbs {
  padding: 14rem 0 0;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs {
    padding: 12rem 0 0;
  }
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_wrap {
    padding: 0 2rem;
  }
}
.occupation .occupationThumbs_unit {
  width: 163.4rem;
  height: 108.2rem;
  margin: 0 auto;
  display: flex;
  gap: 0 1rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_unit {
    width: 100%;
    height: auto;
    gap: 0 0.5rem;
    align-items: flex-start;
  }
}
.occupation .occupationThumbs_leftBlk {
  width: 56.6rem;
  display: flex;
  flex-direction: column;
  gap: 1rem 0;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_leftBlk {
    width: 50%;
    gap: 0.5rem 0;
  }
}
.occupation .occupationThumbs_flexItem {
  display: block;
  border: solid 1px #333333;
  padding: 3.4rem 3.3rem 0;
  transition-duration: 0.3s;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem {
    padding: 0.8rem;
  }
}
.occupation .occupationThumbs_flexItem .img img {
  width: 100%;
  transition-duration: 0.3s;
}
.occupation .occupationThumbs_flexItem .img.hover {
  opacity: 0;
  visibility: hidden;
  display: none;
}
.occupation .occupationThumbs_flexItem.__01 {
  text-align: center;
  padding-bottom: 12.1rem;
  height: 100%;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__01 {
    padding-bottom: 4.3rem;
    height: auto;
  }
}
.occupation .occupationThumbs_flexItem.__01 .occupationThumbs_ttlLettering {
  margin-top: 5.3rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__01 .occupationThumbs_ttlLettering {
    margin-top: 0.8rem;
  }
}
.occupation .occupationThumbs_flexItem.__01 .occupationThumbs_ttlJP {
  margin-top: 2.7rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__01 .occupationThumbs_ttlJP {
    margin-top: 1.6rem;
  }
}
.occupation .occupationThumbs_flexItem.__01 .img {
  width: 30.2rem;
  margin: 8.7rem auto 0;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__01 .img {
    width: 70%;
    margin-top: 4rem;
  }
}
.occupation .occupationThumbs_flexItem.__02 {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding-bottom: 1.7rem;
}
.occupation .occupationThumbs_flexItem.__02 .ttlArea {
  margin-right: 9rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__02 .ttlArea {
    margin-right: 0.8rem;
  }
}
.occupation .occupationThumbs_flexItem.__02 .ttlArea .occupationThumbs_ttlLettering {
  margin-top: 5.3rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__02 .ttlArea .occupationThumbs_ttlLettering {
    margin-top: 0;
  }
}
.occupation .occupationThumbs_flexItem.__02 .img {
  width: 23.6rem;
  margin-right: 9rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__02 .img {
    width: 35%;
    margin-right: 0;
    margin-top: 1.6rem;
  }
}
.occupation .occupationThumbs_flexItem.__02 .occupationThumbs_ttlJP {
  margin-top: 6.9rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__02 .occupationThumbs_ttlJP {
    margin-top: 1.6rem;
  }
}
.occupation .occupationThumbs_flexItem.__02.is_sp {
  display: none;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__02.is_sp {
    display: flex;
  }
}
.occupation .occupationThumbs_flexItem.__03 {
  position: relative;
  padding-bottom: 2.8rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__03 {
    padding-bottom: 1.6rem;
  }
}
.occupation .occupationThumbs_flexItem.__03 .occupationThumbs_subTtl {
  position: absolute;
  left: -3rem;
  top: 15rem;
  transform: rotate(90deg);
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__03 .occupationThumbs_subTtl {
    top: 8.4rem;
    left: -2rem;
  }
}
.occupation .occupationThumbs_flexItem.__03 .img {
  width: 20.5rem;
  margin: 2.4rem auto 0;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__03 .img {
    width: 60%;
    margin-top: 0.4rem;
  }
}
.occupation .occupationThumbs_flexItem.__03 .occupationThumbs_ttlLettering {
  margin-top: 2.2rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__03 .occupationThumbs_ttlLettering {
    margin-top: 2rem;
  }
}
.occupation .occupationThumbs_flexItem.__03 .occupationThumbs_ttlJP {
  text-align: center;
  position: absolute;
  top: 3.5rem;
  right: 3.5rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__03 .occupationThumbs_ttlJP {
    top: 1.2rem;
    right: 1.2rem;
  }
}
.occupation .occupationThumbs_flexItem.__05 {
  display: flex;
  padding-bottom: 3.87rem;
  height: 100%;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__05 {
    padding-bottom: 1.6rem;
    height: auto;
  }
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__05 .ttlArea .occupationThumbs_subTtl {
    white-space: unset;
    line-height: 1em;
  }
}
.occupation .occupationThumbs_flexItem.__05 .ttlArea .occupationThumbs_ttlLettering {
  margin-top: 2.4rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__05 .ttlArea .occupationThumbs_ttlLettering {
    margin-top: 1.6rem;
  }
}
.occupation .occupationThumbs_flexItem.__05 .ttlArea .occupationThumbs_ttlJP {
  margin-top: -0.3rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__05 .ttlArea .occupationThumbs_ttlJP {
    margin-top: 0;
  }
}
.occupation .occupationThumbs_flexItem.__05 .img {
  width: 26rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__05 .img {
    width: 100%;
    margin-top: 2rem;
  }
}
.occupation .occupationThumbs_flexItem.__06 {
  display: flex;
  padding-bottom: 0.2rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__06 {
    padding-bottom: 0.3rem;
  }
}
.occupation .occupationThumbs_flexItem.__06 .ttlArea {
  margin-right: 4.8rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__06 .ttlArea {
    margin-right: 0;
  }
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__06 .ttlArea .occupationThumbs_subTtl {
    white-space: unset;
    line-height: 1em;
  }
}
.occupation .occupationThumbs_flexItem.__06 .img {
  width: 23.8rem;
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__06 .img {
    width: 60%;
    margin-top: 1.6rem;
  }
}
.occupation .occupationThumbs_flexItem.__06 .occupationThumbs_ttlLettering {
  margin-top: 3.1rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__06 .occupationThumbs_ttlLettering {
    margin-top: 1.6rem;
  }
}
.occupation .occupationThumbs_flexItem.__07 {
  display: flex;
  padding-bottom: 1.1rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__07 {
    justify-content: space-between;
  }
}
.occupation .occupationThumbs_flexItem.__07 .ttlArea .occupationThumbs_ttlLettering {
  margin-top: 2rem;
  line-height: 1.0652173913;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__07 .ttlArea .occupationThumbs_ttlLettering {
    margin-top: 0.8rem;
  }
}
.occupation .occupationThumbs_flexItem.__07 .ttlArea .occupationThumbs_ttlJP {
  margin-top: 2rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__07 .ttlArea .occupationThumbs_ttlJP {
    margin-top: 0.8rem;
  }
}
.occupation .occupationThumbs_flexItem.__07 .img {
  width: 12.4rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__07 .img {
    width: 30%;
  }
}
.occupation .occupationThumbs_flexItem.__08 {
  position: relative;
  padding-bottom: 3rem;
  height: 100%;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__08 {
    display: none;
    padding-bottom: 0.8rem;
  }
}
.occupation .occupationThumbs_flexItem.__08 .occupationThumbs_ttlLettering {
  text-align: right;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__08 .occupationThumbs_ttlLettering {
    text-align: left;
  }
}
.occupation .occupationThumbs_flexItem.__08 .occupationThumbs_subTtl {
  display: block;
  text-align: right;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__08 .occupationThumbs_subTtl {
    text-align: left;
  }
}
.occupation .occupationThumbs_flexItem.__08 .img {
  width: 35.5rem;
  margin-top: 2.3rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__08 .img {
    width: 50%;
    margin-top: 0;
  }
}
.occupation .occupationThumbs_flexItem.__08 .occupationThumbs_ttlJP {
  position: absolute;
  top: 15rem;
  right: 3.4rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__08 .occupationThumbs_ttlJP {
    top: unset;
    right: unset;
    bottom: 0.8rem;
    left: 0.8rem;
  }
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__08.is_pc {
    display: none;
  }
}
.occupation .occupationThumbs_flexItem.__08.is_sp {
  display: none;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_flexItem.__08.is_sp {
    display: flex;
  }
}
.occupation .occupationThumbs_flexItem .occupationThumbs_subTtl,
.occupation .occupationThumbs_flexItem .occupationThumbs_ttlLettering,
.occupation .occupationThumbs_flexItem .occupationThumbs_ttlJP {
  transition-duration: 0.3s;
}
.occupation .occupationThumbs_flexItem:hover {
  background: #333333;
}
.occupation .occupationThumbs_flexItem:hover .occupationThumbs_subTtl,
.occupation .occupationThumbs_flexItem:hover .occupationThumbs_ttlLettering,
.occupation .occupationThumbs_flexItem:hover .occupationThumbs_ttlJP {
  color: #ffffff;
}
.occupation .occupationThumbs_flexItem:hover .img.normal {
  display: none;
  opacity: 0;
  visibility: hidden;
}
.occupation .occupationThumbs_flexItem:hover .img.hover {
  display: block;
  opacity: 1;
  visibility: visible;
}
.occupation .occupationThumbs_subTtl {
  font-size: 1.6rem;
  line-height: 2.125;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_subTtl {
    font-size: 0.8rem;
  }
}
.occupation .occupationThumbs_ttlLettering {
  font-size: 4.6rem;
  line-height: 1.3695652174;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_ttlLettering {
    font-size: 1.5rem;
  }
}
.occupation .occupationThumbs_ttlJP {
  display: block;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.1;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_ttlJP {
    font-size: 0.8rem;
  }
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_ttlJP.is_pc {
    display: none;
  }
}
.occupation .occupationThumbs_ttlJP.is_sp {
  display: none;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_ttlJP.is_sp {
    display: block;
  }
}
.occupation .occupationThumbs_rightBlk {
  width: 107rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_rightBlk {
    width: 50%;
    gap: 0.5rem;
    flex-direction: column-reverse;
  }
}
.occupation .occupationThumbs_rightBlk_bottom {
  display: flex;
  gap: 0 1rem;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_rightBlk_bottom {
    gap: 0.5rem;
    flex-direction: column;
  }
}
.occupation .occupationThumbs_rightBlk_bottom_left {
  width: calc(100% - 48.4rem);
  display: flex;
  flex-direction: column;
  gap: 1rem 0;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_rightBlk_bottom_left {
    width: 100%;
    gap: 0.5rem 0;
  }
}
.occupation .occupationThumbs_rightBlk_bottom_right {
  width: calc(100% - 56.7rem);
  display: flex;
  flex-direction: column;
  gap: 1rem 0;
}
@media (max-width: 767px) {
  .occupation .occupationThumbs_rightBlk_bottom_right {
    width: 100%;
    gap: 0.5rem;
  }
}

.recruitDetail.ec .cm_mv_img {
  width: 47.4rem;
}
@media (max-width: 767px) {
  .recruitDetail.ec .cm_mv_img {
    width: 27.492rem;
    margin: 4.8rem auto 0;
  }
}
.recruitDetail.photographer .cm_mv_img {
  width: 39.8rem;
}
@media (max-width: 767px) {
  .recruitDetail.photographer .cm_mv_img {
    width: 23.084rem;
    margin: 4.8rem auto 0;
  }
}
.recruitDetail.customerSupport .cm_mv_img {
  width: 44rem;
}
@media (max-width: 767px) {
  .recruitDetail.customerSupport .cm_mv_img {
    width: 25.52rem;
    margin: 4.8rem auto 0;
  }
}
.recruitDetail.appraiser .cm_mv_img {
  width: 43.4rem;
}
@media (max-width: 767px) {
  .recruitDetail.appraiser .cm_mv_img {
    width: 25.172rem;
    margin: 4.8rem auto 0;
  }
}
.recruitDetail.snsOperations .cm_mv_img {
  width: 43.4rem;
}
@media (max-width: 767px) {
  .recruitDetail.snsOperations .cm_mv_img {
    width: 25.172rem;
    margin: 4.8rem auto 0;
  }
}
.recruitDetail.imageCreator .cm_mv_img {
  width: 40.7rem;
}
@media (max-width: 767px) {
  .recruitDetail.imageCreator .cm_mv_img {
    width: 23.606rem;
    margin: 4.8rem auto 0;
  }
}
.recruitDetail .guidelines {
  padding: 20rem 0 0;
}
@media (max-width: 767px) {
  .recruitDetail .guidelines {
    padding: 8rem 0 0;
  }
}
.recruitDetail .cm_company {
  width: 108rem;
  margin-top: 6.4rem;
}
@media (max-width: 767px) {
  .recruitDetail .cm_company {
    width: 100%;
    margin-top: 3.2rem;
  }
}
.recruitDetail .cm_company_dl {
  align-items: flex-start;
}
@media (max-width: 767px) {
  .recruitDetail .cm_company_dl {
    align-items: flex-start;
  }
}
.recruitDetail .cm_company_dl dt {
  line-height: 1.3888888889;
}
@media (max-width: 767px) {
  .recruitDetail .cm_company_dl dt {
    line-height: 1.75;
  }
}
.recruitDetail .cm_company_dl dd {
  width: 75rem;
  line-height: 1.3888888889;
  padding-bottom: 2.4rem;
  line-height: 1.75;
}
@media (max-width: 767px) {
  .recruitDetail .cm_company_dl dd {
    line-height: 1.75;
    letter-spacing: 0.06em;
    max-width: 22rem;
  }
}
.recruitDetail .flow {
  padding: 32rem 0 0;
}
@media (max-width: 767px) {
  .recruitDetail .flow {
    padding: 12rem 0 0;
  }
}
.recruitDetail .flow_list {
  display: flex;
  flex-direction: column;
  gap: 18rem 0;
  width: 81.1rem;
  margin: 18rem auto 0;
}
@media (max-width: 767px) {
  .recruitDetail .flow_list {
    margin-top: 8rem;
    width: auto;
    gap: 12rem 0;
  }
}
.recruitDetail .flow_item {
  border: 1px solid #453434;
  padding: 6.2rem 4.4rem 5rem;
  position: relative;
  text-align: center;
}
@media (max-width: 767px) {
  .recruitDetail .flow_item {
    text-align: center;
    padding: 4rem 2rem 2.4rem;
  }
}
.recruitDetail .flow_item_head {
  position: absolute;
  background: #453434;
  padding: 1.5rem 2.6rem;
  color: #fff;
  font-size: 2.4rem;
  letter-spacing: 0.08em;
  position: absolute;
  top: -3.5rem;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
@media (max-width: 767px) {
  .recruitDetail .flow_item_head {
    padding: 1rem 2rem;
    font-size: 1.8rem;
    top: -2rem;
  }
}
.recruitDetail .flow_item_txt {
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  .recruitDetail .flow_item_txt {
    font-size: 1.4rem;
    line-height: 1.75;
  }
}
.recruitDetail .flow_item:not(:last-of-type)::after {
  content: "";
  width: 2.4rem;
  height: 1.3rem;
  background: url(../images/occupation_detail_flow_arrow.svg) no-repeat center center/contain;
  position: absolute;
  bottom: -9rem;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
@media (max-width: 767px) {
  .recruitDetail .flow_item:not(:last-of-type)::after {
    bottom: -6rem;
  }
}
.recruitDetail .flow_btn {
  margin-top: 10rem;
}
@media (max-width: 767px) {
  .recruitDetail .flow_btn {
    margin-top: 6.4rem;
  }
}

.service .cm_mv_img {
  width: 52.2rem;
}
@media (max-width: 767px) {
  .service .cm_mv_img {
    width: 32rem;
    margin: 4.8rem auto 0;
  }
}
.service .serviceList {
  padding: 20rem 0 0;
}
@media (max-width: 767px) {
  .service .serviceList {
    padding: 12rem 0 0;
  }
}
.service .sales {
  padding: 20rem 0 8rem;
}
.service .sales_lead {
  margin-top: 7.2rem;
}
@media (max-width: 767px) {
  .service .sales_lead {
    font-size: 1.4rem;
  }
}
.service .sales_lead + .sales_lead {
  margin-top: 4.4rem;
}
@media (max-width: 767px) {
  .service .sales_lead + .sales_lead {
    margin-top: 2.4rem;
  }
}


/* ==========================================================================
   Portfolio Project Showcase Enhancements
   ========================================================================== */
.portfolio_project_wrap {
  margin-top: 6rem;
  margin-bottom: 8rem;
}
.portfolio_preview_container {
  position: relative;
  border-radius: 1.6rem;
  overflow: hidden;
  box-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.15);
  margin-bottom: 4rem;
  background: #1a1a1a;
  border: 1px solid rgba(0, 0, 0, 0.08);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.portfolio_preview_container:hover {
  transform: translateY(-6px);
  box-shadow: 0 3rem 6rem rgba(0, 0, 0, 0.25);
}
.portfolio_preview_img {
  width: 100%;
  display: block;
  height: auto;
  transition: transform 0.6s ease;
}
.portfolio_preview_container:hover .portfolio_preview_img {
  transform: scale(1.02);
}
.portfolio_badge_row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 2.5rem 0 3.5rem;
}
.portfolio_tag {
  display: inline-block;
  font-family: "Hiragino Mincho ProN", YuMincho, serif;
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  padding: 0.6rem 1.6rem;
  border-radius: 999px;
  background: rgba(49, 49, 49, 0.08);
  color: #313131;
  border: 1px solid rgba(49, 49, 49, 0.15);
  font-weight: 500;
  transition: all 0.3s ease;
}
.portfolio_tag:hover {
  background: #313131;
  color: #fff;
}
.portfolio_tag.accent {
  background: #313131;
  color: #fff;
  border-color: #313131;
}
.portfolio_btn_group {
  display: flex;
  align-items: center;
  gap: 2.4rem;
  margin-top: 4rem;
  flex-wrap: wrap;
}
.btn_external_link {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  padding: 1.4rem 3.2rem;
  background: #313131;
  color: #f7f6f2 !important;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  border-radius: 999px;
  box-shadow: 0 1rem 2.5rem rgba(49, 49, 49, 0.18);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.btn_external_link:hover {
  background: #111;
  transform: translateY(-2px);
  box-shadow: 0 1.5rem 3.5rem rgba(0, 0, 0, 0.25);
  color: #ffffff !important;
}
.btn_external_link svg {
  width: 1.4rem;
  height: 1.4rem;
  fill: currentColor;
}
.project_stats_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
  margin: 4rem 0;
}
@media (max-width: 767px) {
  .project_stats_grid {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
}
.project_stat_card {
  padding: 2.4rem;
  background: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(49, 49, 49, 0.1);
  border-radius: 1.2rem;
  transition: all 0.3s ease;
}
.project_stat_card:hover {
  background: rgba(255, 255, 255, 0.9);
  transform: translateY(-3px);
}
.project_stat_num {
  font-family: "inglesa-script-variable", serif;
  font-size: 3.2rem;
  color: #313131;
  line-height: 1;
  margin-bottom: 0.8rem;
}
.project_stat_label {
  font-size: 1.4rem;
  font-weight: 600;
  color: #313131;
  margin-bottom: 0.6rem;
}
.project_stat_desc {
  font-size: 1.2rem;
  color: #666;
  line-height: 1.6;
}
.project_divider {
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(49, 49, 49, 0.15), transparent);
  margin: 10rem 0 8rem;
}

/* ==========================================================================
   GitHub Profile Showcase Card
   ========================================================================== */
.github_card_wrap {
  width: 94rem;
  margin: 6rem auto 10rem;
}
@media (max-width: 767px) {
  .github_card_wrap {
    width: 100%;
    margin: 4rem auto 6rem;
  }
}
.github_profile_card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3.2rem;
  padding: 3.6rem 2rem;
  border-top: 1px solid #C7BCBC;
  border-bottom: 1px solid #C7BCBC;
  border-left: none;
  border-right: none;
  background: transparent;
  text-decoration: none !important;
  color: #313131 !important;
  transition: all 0.3s ease;
}
.github_profile_card:hover {
  background: transparent;
  opacity: 0.85;
}
.github_card_left {
  display: flex;
  align-items: center;
  gap: 2.4rem;
}
.github_card_avatar {
  width: 6.8rem;
  height: 6.8rem;
  border-radius: 50%;
  border: 1px solid #C7BCBC;
  object-fit: cover;
  flex-shrink: 0;
}
.github_card_info {
  display: flex;
  flex-direction: column;
}
.github_card_name_row {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  flex-wrap: wrap;
}
.github_card_name {
  font-family: 'Bodoni Moda', 'Playfair Display', serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: #313131;
  letter-spacing: 0.04em;
}
.github_card_handle {
  font-family: "Hiragino Mincho ProN", YuMincho, serif;
  font-size: 1.4rem;
  color: #776D6D;
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.github_card_handle svg {
  width: 1.4rem;
  height: 1.4rem;
  fill: currentColor;
}
.github_card_bio {
  font-family: "Hiragino Mincho ProN", YuMincho, serif;
  font-size: 1.5rem;
  line-height: 1.6;
  color: #555555;
  margin-top: 0.6rem;
  letter-spacing: 0.03em;
}
.github_card_btn {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1.2rem 2.8rem;
  border: 1px solid #313131;
  border-radius: 999px;
  font-family: "Hiragino Mincho ProN", YuMincho, serif;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #313131;
  background: transparent;
  white-space: nowrap;
  transition: all 0.3s ease;
  flex-shrink: 0;
}
.github_profile_card:hover .github_card_btn {
  background: #313131;
  color: #ffffff;
}
.github_card_btn svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: currentColor;
  transition: transform 0.3s ease;
}
.github_profile_card:hover .github_card_btn svg {
  transform: translate(2px, -2px);
}
@media (max-width: 767px) {
  .github_profile_card {
    flex-direction: column;
    align-items: flex-start;
    padding: 2.4rem 2rem;
    gap: 2rem;
  }
  .github_card_left {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.4rem;
  }
  .github_card_btn {
    width: 100%;
    justify-content: center;
  }
}

/* ==========================================================================
   Discord Real-Time Status Card
   ========================================================================== */
.discord_profile_card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3.2rem;
  padding: 3.6rem 2rem;
  border-bottom: 1px solid #C7BCBC;
  background: transparent;
  text-decoration: none !important;
  color: #313131 !important;
  transition: all 0.3s ease;
}
.discord_profile_card:hover {
  background: transparent;
  opacity: 0.85;
}
.discord_avatar_wrap {
  position: relative;
  width: 6.8rem;
  height: 6.8rem;
  flex-shrink: 0;
}
.discord_card_avatar {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 1px solid #C7BCBC;
  object-fit: cover;
  display: block;
}
.discord_status_dot {
  position: absolute;
  bottom: 0.2rem;
  right: 0.2rem;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  border: 2.5px solid #ece4d8;
  background-color: #80848e;
  transition: all 0.3s ease;
}
.discord_status_dot.online {
  background-color: #23a55a;
  box-shadow: 0 0 10px rgba(35, 165, 90, 0.7);
}
.discord_status_dot.idle {
  background-color: #f0b232;
  box-shadow: 0 0 10px rgba(240, 178, 50, 0.7);
}
.discord_status_dot.dnd {
  background-color: #f23f43;
  box-shadow: 0 0 10px rgba(242, 63, 67, 0.7);
}
.discord_status_dot.offline {
  background-color: #80848e;
}
.discord_live_badge {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 1.2rem;
  font-family: "Hiragino Mincho ProN", YuMincho, serif;
  color: #776D6D;
  margin-top: 0.4rem;
}
.discord_live_pulse {
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  background: #23a55a;
  display: inline-block;
  animation: discord_pulse 2s infinite ease-in-out;
}
@keyframes discord_pulse {
  0% { transform: scale(0.85); opacity: 0.6; }
  50% { transform: scale(1.3); opacity: 1; }
  100% { transform: scale(0.85); opacity: 0.6; }
}
.discord_profile_card:hover .github_card_btn {
  background: #313131;
  color: #ffffff;
}
.discord_profile_card:hover .github_card_btn svg {
  transform: translate(2px, -2px);
}
@media (max-width: 767px) {
  .discord_profile_card {
    flex-direction: column;
    align-items: flex-start;
    padding: 2.4rem 2rem;
    gap: 2rem;
  }
}
/*# sourceMappingURL=style.css.map */