/*
Theme Name: vm-recruit
Theme URI: http://underscores.me
Author: Me
Description: Custom theme: _s, developed by Me
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: vm-recruit
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-family: inherit;
  font-size: 100%;
  vertical-align: baseline;
}
body {
  line-height: 1;
  color: #000;
  background: #fff;
}
ol,
ul {
  list-style: none;
}
table {
  border-collapse: separate;
  border-spacing: 0;
  vertical-align: middle;
}
caption,
th,
td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}
a img {
  border: none;
}
.clearfix {
  zoom: 1;
}
.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
}
body {
  -webkit-user-select: auto;
  -moz-user-select: auto;
  -ms-user-select: auto;
  user-select: auto;
  font-family:
    "Hiragino Mincho ProN", "ヒラギノ明朝 ProN W3", "游明朝", "Josefin Sans",
    YuMincho, serif;
}
html {
  overflow-y: scroll;
}
@-webkit-keyframes story-promo__text-scroll--pc {
  0% {
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  15% {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  85% {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
}
@keyframes story-promo__text-scroll--pc {
  0% {
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  15% {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  85% {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
}
@-webkit-keyframes story-promo__shade--loading--pc {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
    -ms-transform: translate(-50%, -50%) rotate(0);
    transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
    -ms-transform: translate(-50%, -50%) rotate(360deg);
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes story-promo__shade--loading--pc {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
    -ms-transform: translate(-50%, -50%) rotate(0);
    transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
    -ms-transform: translate(-50%, -50%) rotate(360deg);
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@-webkit-keyframes story-promo__text-scroll--pc {
  0% {
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  15% {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  85% {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
}
@keyframes story-promo__text-scroll--pc {
  0% {
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  15% {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  85% {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
}
@-webkit-keyframes story-promo__text-more--pc {
  0% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
  }
  70% {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  80% {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  90% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
  }
  100% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
  }
}
@keyframes story-promo__text-more--pc {
  0% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
  }
  70% {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  80% {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  90% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
  }
  100% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
  }
}
@-webkit-keyframes story-promo__text-scroll--sp {
  0% {
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  15% {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  85% {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
}
@keyframes story-promo__text-scroll--sp {
  0% {
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  15% {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  85% {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
}
@-webkit-keyframes story-promo__text-more--sp {
  0% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
  }
  70% {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  80% {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  90% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
  }
  100% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
  }
}
@keyframes story-promo__text-more--sp {
  0% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
  }
  70% {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  80% {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  90% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
  }
  100% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
  }
}
@-webkit-keyframes story-promo__shade--loading--sp {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
    -ms-transform: translate(-50%, -50%) rotate(0);
    transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
    -ms-transform: translate(-50%, -50%) rotate(360deg);
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes story-promo__shade--loading--sp {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
    -ms-transform: translate(-50%, -50%) rotate(0);
    transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
    -ms-transform: translate(-50%, -50%) rotate(360deg);
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@-webkit-keyframes story-promo__text-scroll--stop--sp {
  0% {
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  100% {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
  }
}
@keyframes story-promo__text-scroll--stop--sp {
  0% {
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  100% {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
  }
}
/**
 * Swiper 4.0.3
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://www.idangero.us/swiper/
 *
 * Copyright 2014-2017 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: October 27, 2017
 */
.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.swiper-container-no-flexbox .swiper-slide {
  float: left;
}
.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property:
    transform,
    -webkit-transform;
  transition-property:
    transform,
    -webkit-transform;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
.swiper-container-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.swiper-container-multirow > .swiper-wrapper {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  margin: 0 auto;
}
.swiper-slide {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property:
    transform,
    -webkit-transform;
  transition-property:
    transform,
    -webkit-transform;
}
.swiper-invisible-blank-slide {
  visibility: hidden;
}
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto;
}
.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-transition-property:
    height,
    -webkit-transform;
  transition-property:
    height,
    -webkit-transform;
  -o-transition-property: transform, height;
  transition-property: transform, height;
  transition-property:
    transform,
    height,
    -webkit-transform;
}
.swiper-container-3d {
  -webkit-perspective: 1200px;
  perspective: 1200px;
}
.swiper-container-3d .swiper-cube-shadow,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(
    linear,
    right top,
    left top,
    from(rgba(0, 0, 0, 0.5)),
    to(rgba(0, 0, 0, 0))
  );
  background-image: -webkit-linear-gradient(
    right,
    rgba(0, 0, 0, 0.5),
    rgba(0, 0, 0, 0)
  );
  background-image: -o-linear-gradient(
    right,
    rgba(0, 0, 0, 0.5),
    rgba(0, 0, 0, 0)
  );
  background-image: -webkit-gradient(
    linear,
    right top,
    left top,
    from(rgba(0, 0, 0, 0.5)),
    to(rgba(0, 0, 0, 0))
  );
  background-image: linear-gradient(
    to left,
    rgba(0, 0, 0, 0.5),
    rgba(0, 0, 0, 0)
  );
}
.swiper-container-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(
    linear,
    left top,
    right top,
    from(rgba(0, 0, 0, 0.5)),
    to(rgba(0, 0, 0, 0))
  );
  background-image: -webkit-linear-gradient(
    left,
    rgba(0, 0, 0, 0.5),
    rgba(0, 0, 0, 0)
  );
  background-image: -o-linear-gradient(
    left,
    rgba(0, 0, 0, 0.5),
    rgba(0, 0, 0, 0)
  );
  background-image: -webkit-gradient(
    linear,
    left top,
    right top,
    from(rgba(0, 0, 0, 0.5)),
    to(rgba(0, 0, 0, 0))
  );
  background-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0.5),
    rgba(0, 0, 0, 0)
  );
}
.swiper-container-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(
    linear,
    left bottom,
    left top,
    from(rgba(0, 0, 0, 0.5)),
    to(rgba(0, 0, 0, 0))
  );
  background-image: -webkit-linear-gradient(
    bottom,
    rgba(0, 0, 0, 0.5),
    rgba(0, 0, 0, 0)
  );
  background-image: -o-linear-gradient(
    bottom,
    rgba(0, 0, 0, 0.5),
    rgba(0, 0, 0, 0)
  );
  background-image: -webkit-gradient(
    linear,
    left bottom,
    left top,
    from(rgba(0, 0, 0, 0.5)),
    to(rgba(0, 0, 0, 0))
  );
  background-image: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.5),
    rgba(0, 0, 0, 0)
  );
}
.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(rgba(0, 0, 0, 0.5)),
    to(rgba(0, 0, 0, 0))
  );
  background-image: -webkit-linear-gradient(
    top,
    rgba(0, 0, 0, 0.5),
    rgba(0, 0, 0, 0)
  );
  background-image: -o-linear-gradient(
    top,
    rgba(0, 0, 0, 0.5),
    rgba(0, 0, 0, 0)
  );
  background-image: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(rgba(0, 0, 0, 0.5)),
    to(rgba(0, 0, 0, 0))
  );
  background-image: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.5),
    rgba(0, 0, 0, 0)
  );
}
.swiper-container-wp8-horizontal,
.swiper-container-wp8-horizontal > .swiper-wrapper {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}
.swiper-container-wp8-vertical,
.swiper-container-wp8-vertical > .swiper-wrapper {
  -ms-touch-action: pan-x;
  touch-action: pan-x;
}
.swiper-button-next,
.swiper-button-prev {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat;
}
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}
.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto;
}
.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  right: 10px;
  left: auto;
}
.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}
.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}
.swiper-button-prev.swiper-button-black,
.swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}
.swiper-button-next.swiper-button-black,
.swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}
.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: 0.3s opacity;
  -o-transition: 0.3s opacity;
  transition: 0.3s opacity;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10;
}
.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}
.swiper-container-horizontal > .swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%;
}
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
  position: relative;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
}
.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: 0.2;
}
button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}
.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff;
}
.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
}
.swiper-container-vertical
  > .swiper-pagination-bullets
  .swiper-pagination-bullet {
  margin: 6px 0;
  display: block;
}
.swiper-container-vertical
  > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 8px;
}
.swiper-container-vertical
  > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic
  .swiper-pagination-bullet {
  display: inline-block;
  -webkit-transition:
    0.2s top,
    0.2s -webkit-transform;
  -o-transition:
    0.2s top,
    0.2s -webkit-transform;
  transition:
    0.2s top,
    0.2s -webkit-transform;
  -o-transition:
    0.2s transform,
    0.2s top;
  -webkit-transition:
    0.2s transform,
    0.2s top;
  transition:
    0.2s transform,
    0.2s top;
  -webkit-transition:
    0.2s transform,
    0.2s top,
    0.2s -webkit-transform;
  -o-transition:
    0.2s transform,
    0.2s top,
    0.2s -webkit-transform;
  transition:
    0.2s transform,
    0.2s top,
    0.2s -webkit-transform;
}
.swiper-container-horizontal
  > .swiper-pagination-bullets
  .swiper-pagination-bullet {
  margin: 0 4px;
}
.swiper-container-horizontal
  > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  white-space: nowrap;
}
.swiper-container-horizontal
  > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic
  .swiper-pagination-bullet {
  -webkit-transition:
    0.2s left,
    0.2s -webkit-transform;
  -o-transition:
    0.2s left,
    0.2s -webkit-transform;
  transition:
    0.2s left,
    0.2s -webkit-transform;
  -o-transition:
    0.2s transform,
    0.2s left;
  -webkit-transition:
    0.2s transform,
    0.2s left;
  transition:
    0.2s transform,
    0.2s left;
  -webkit-transition:
    0.2s transform,
    0.2s left,
    0.2s -webkit-transform;
  -o-transition:
    0.2s transform,
    0.2s left,
    0.2s -webkit-transform;
  transition:
    0.2s transform,
    0.2s left,
    0.2s -webkit-transform;
}
.swiper-container-horizontal.swiper-container-rtl
  > .swiper-pagination-bullets-dynamic
  .swiper-pagination-bullet {
  -webkit-transition:
    0.2s right,
    0.2s -webkit-transform;
  -o-transition:
    0.2s right,
    0.2s -webkit-transform;
  transition:
    0.2s right,
    0.2s -webkit-transform;
  -o-transition:
    0.2s transform,
    0.2s right;
  -webkit-transition:
    0.2s transform,
    0.2s right;
  transition:
    0.2s transform,
    0.2s right;
  -webkit-transition:
    0.2s transform,
    0.2s right,
    0.2s -webkit-transform;
  -o-transition:
    0.2s transform,
    0.2s right,
    0.2s -webkit-transform;
  transition:
    0.2s transform,
    0.2s right,
    0.2s -webkit-transform;
}
.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
}
.swiper-container-rtl
  .swiper-pagination-progressbar
  .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top;
}
.swiper-container-horizontal > .swiper-pagination-progressbar {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}
.swiper-container-vertical > .swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}
.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #fff;
}
.swiper-pagination-progressbar.swiper-pagination-white {
  background: rgba(255, 255, 255, 0.25);
}
.swiper-pagination-progressbar.swiper-pagination-white
  .swiper-pagination-progressbar-fill {
  background: #fff;
}
.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000;
}
.swiper-pagination-progressbar.swiper-pagination-black {
  background: rgba(0, 0, 0, 0.25);
}
.swiper-pagination-progressbar.swiper-pagination-black
  .swiper-pagination-progressbar-fill {
  background: #000;
}
.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}
.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}
.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}
.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}
.swiper-scrollbar-cursor-drag {
  cursor: move;
}
.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
}
.swiper-zoom-container > canvas,
.swiper-zoom-container > img,
.swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.swiper-slide-zoomed {
  cursor: move;
}
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  -ms-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  animation: swiper-preloader-spin 1s steps(12, end) infinite;
}
.swiper-lazy-preloader:after {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  background-size: 100%;
  background-repeat: no-repeat;
}
.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}
.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity;
}
.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
.swiper-container-cube {
  overflow: visible;
}
.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}
.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
  transform-origin: 100% 0;
}
.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-next + .swiper-slide,
.swiper-container-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right,
.swiper-container-cube .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0;
}
.swiper-container-flip {
  overflow: visible;
}
.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}
.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right,
.swiper-container-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.swiper-container-coverflow .swiper-wrapper {
  -ms-perspective: 1200px;
}
@media screen and (min-width: 960px) {
  html,
  body,
  #Wrapper,
  .contents {
    min-width: 100%;
    min-height: 100%;
    height: 100%;
  }
  .pc-image {
    display: block;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .pc-image .sp-image {
    display: none !important;
  }
  body {
    font-size: 14px;
    line-height: 2.2;
    letter-spacing: 0.1em;
    color: #000;
  }
  .lo__content-width-wrap {
    overflow: hidden;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 100px;
  }
  .lo__content-width-img {
    overflow: hidden;
    position: relative;
    display: block;
    width: 100%;
    height: 0;
    padding-top: 66.7%;
  }
  .lo__content-width-list {
    margin-bottom: 215px;
  }
  .lo__content-width-list-item {
    overflow: hidden;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    margin: 0 auto 20px;
    background-color: #f2f2f2;
    cursor: pointer;
  }
  .lo__content-width-list-item .lo__ttl--middle {
    margin-bottom: 7px;
    line-height: 1;
  }
  .lo__content-width-list-item.close .lo__content-width-list-btn:after {
    height: 100%;
  }
  .lo__content-width-list-item small {
    font-size: 10px;
  }
  .lo__content-width-list-head {
    padding: 40px 40px 35px;
  }
  .lo__content-width-list-cont-wrap {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 0;
  }
  .lo__content-width-list-cont {
    display: block;
    padding: 20px 95px 65px;
  }
  .lo__content-width-list-btn {
    display: block;
    position: absolute;
    top: 60px;
    right: 40px;
    width: 18px;
    height: 18px;
  }
  .lo__content-width-list-btn:before,
  .lo__content-width-list-btn:after {
    position: absolute;
    display: block;
    content: "";
    background-color: #000;
  }
  .lo__content-width-list-btn:before {
    top: 9px;
    left: 0;
    width: 100%;
    height: 1px;
  }
  .lo__content-width-list-btn:after {
    top: 0;
    left: 9px;
    width: 1px;
    height: 0;
  }
  .lo__content-width-table,
  .lo__content-width-table--wideterm {
    zoom: 1;
    margin: 0 auto 70px;
  }
  .lo__content-width-table:before,
  .lo__content-width-table--wideterm:before,
  .lo__content-width-table:after,
  .lo__content-width-table--wideterm:after {
    content: "";
    display: table;
  }
  .lo__content-width-table:after,
  .lo__content-width-table--wideterm:after {
    clear: both;
  }
  .lo__content-width-table-term,
  .lo__content-width-table--wideterm-term {
    float: left;
    width: 125px;
    margin-right: 50px;
    font-weight: bold;
  }
  .lo__content-width-table-term small,
  .lo__content-width-table--wideterm-term small {
    display: inline-block;
    font-size: 11px;
    font-weight: normal;
    line-height: 1.4;
  }
  .lo__content-width-table-def,
  .lo__content-width-table--wideterm-def {
    float: left;
    width: 825px;
  }
  .lo__content-width-table--wideterm .lo__content-width-table-term {
    width: 300px;
  }
  .lo__content-width-table--wideterm .lo__content-width-table-def {
    width: 650px;
  }
  .lo__promo-img-wrap {
    overflow: hidden;
    width: 100%;
  }
  .lo__max-width-wrap {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
  }
  .lo__full-width-img {
    overflow: hidden;
    position: relative;
    display: block;
    width: 100%;
    height: 600px;
    margin: 0 auto;
  }
  .lo__full-width-img img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: auto;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .lo__col2-width-wrap {
    position: relative;
    -webkit-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 50px;
    column-gap: 50px;
    text-align: justify;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
  }
  .lo__col2-width-wrap img {
    display: block;
    width: 100%;
    height: auto;
    margin: 10px 0;
  }
  .lo__col3-width-wrap {
    position: relative;
    -webkit-column-count: 3;
    column-count: 3;
    -webkit-column-gap: 50px;
    column-gap: 50px;
    text-align: justify;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
  }
  .lo__col3-width-wrap img {
    display: block;
    width: 100%;
    height: auto;
    margin: 10px 0 45px;
  }
  .ie .lo__col3-width-wrap img {
    margin-bottom: 28px;
  }
  .firefox .lo__col3-width-wrap img {
    margin-bottom: 50px;
  }
  .lo__page-ttl {
    width: 100%;
    height: 16px;
    margin-bottom: 140px;
  }
  .lo__page-ttl img {
    width: auto;
    height: 100%;
  }
  .lo__section-ttl {
    width: 100%;
    height: 80px;
    margin-bottom: 100px;
  }
  .lo__section-ttl img {
    width: auto;
    height: 100%;
  }
  .lo__content-ttl {
    width: 100%;
    height: 18px;
    margin-bottom: 100px;
  }
  .lo__content-ttl img {
    width: auto;
    height: 100%;
  }
  .lo__ttl--middle {
    font-size: 16px;
    font-weight: bold;
  }
  .lo__ttl--small {
    font-size: 14px;
    font-weight: bold;
  }
  .lo__subttl {
    font-size: 14px;
    color: #777;
  }
  .lo__ttl-caption {
    font-size: 11px;
  }
  .lo__story-header {
    float: right;
    margin-left: 175px;
  }
  .lo__story-header-no,
  .lo__story-header-ttl,
  .lo__story-header-subttl {
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    float: right;
  }
  .lo__story-header-no {
    margin-left: 65px;
  }
  .lo__story-header-ttl {
    margin-left: 50px;
  }
  .lo__story-header:after {
    clear: both;
    display: block;
    content: "";
  }
  .lo__txt {
    font-size: 14px;
    line-height: 2.2;
    letter-spacing: 0.1em;
  }
  .lo__txt--narrow {
    font-size: 14px;
    line-height: 2.2;
    letter-spacing: 0em;
  }
  .lo__btn {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    max-width: 1000px;
    width: 100%;
    height: 120px;
    margin: 0 auto;
    padding: 46px 0;
    border: 2px solid #000;
    background-color: #000;
  }
  .lo__btn-text {
    overflow: hidden;
    display: block;
    text-indent: -100%;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .lo__btn:hover {
    background-color: #fff;
  }
  .ar {
    display: block;
    text-align: right;
  }
  .about-promo,
  .about-child-promo,
  .story-promo,
  .message-promo,
  .internship-promo,
  .career-promo,
  .newgraduate-promo {
    overflow: hidden;
    width: 100%;
    height: 100%;
  }
  .about-promo__wrap,
  .about-child-promo__wrap,
  .story-promo__wrap,
  .message-promo__wrap,
  .internship-promo__wrap,
  .career-promo__wrap,
  .newgraduate-promo__wrap {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%;
  }
  .about-promo__shade-top,
  .about-child-promo__shade-top,
  .story-promo__shade-top,
  .message-promo__shade-top,
  .internship-promo__shade-top,
  .career-promo__shade-top,
  .newgraduate-promo__shade-top,
  .about-promo__shade-right,
  .about-child-promo__shade-right,
  .story-promo__shade-right,
  .message-promo__shade-right,
  .internship-promo__shade-right,
  .career-promo__shade-right,
  .newgraduate-promo__shade-right,
  .about-promo__shade-bottom,
  .about-child-promo__shade-bottom,
  .story-promo__shade-bottom,
  .message-promo__shade-bottom,
  .internship-promo__shade-bottom,
  .career-promo__shade-bottom,
  .newgraduate-promo__shade-bottom,
  .about-promo__shade-left,
  .about-child-promo__shade-left,
  .story-promo__shade-left,
  .message-promo__shade-left,
  .internship-promo__shade-left,
  .career-promo__shade-left,
  .newgraduate-promo__shade-left {
    position: absolute;
    z-index: 200;
    display: block;
    background-color: #fff;
    -webkit-transition: 1000ms ease-in-out 200ms;
    -o-transition: 1000ms ease-in-out 200ms;
    transition: 1000ms ease-in-out 200ms;
  }
  .about-promo__shade-top,
  .about-child-promo__shade-top,
  .story-promo__shade-top,
  .message-promo__shade-top,
  .internship-promo__shade-top,
  .career-promo__shade-top,
  .newgraduate-promo__shade-top {
    top: 0;
    left: 0;
    width: 100%;
    height: 45px;
    -webkit-transform-origin: 50% 0%;
    -ms-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
  }
  .js__page-enter--completed .about-promo__shade-top,
  .js__page-enter--completed .about-child-promo__shade-top,
  .js__page-enter--completed .story-promo__shade-top,
  .js__page-enter--completed .message-promo__shade-top,
  .js__page-enter--completed .internship-promo__shade-top,
  .js__page-enter--completed .career-promo__shade-top,
  .js__page-enter--completed .newgraduate-promo__shade-top {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
  }
  .about-promo__shade-right,
  .about-child-promo__shade-right,
  .story-promo__shade-right,
  .message-promo__shade-right,
  .internship-promo__shade-right,
  .career-promo__shade-right,
  .newgraduate-promo__shade-right {
    top: 0;
    right: 0;
    width: 45px;
    height: 100%;
    -webkit-transform-origin: 100% 50%;
    -ms-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
  }
  .js__page-enter--completed .about-promo__shade-right,
  .js__page-enter--completed .about-child-promo__shade-right,
  .js__page-enter--completed .story-promo__shade-right,
  .js__page-enter--completed .message-promo__shade-right,
  .js__page-enter--completed .internship-promo__shade-right,
  .js__page-enter--completed .career-promo__shade-right,
  .js__page-enter--completed .newgraduate-promo__shade-right {
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
  }
  .about-promo__shade-bottom,
  .about-child-promo__shade-bottom,
  .story-promo__shade-bottom,
  .message-promo__shade-bottom,
  .internship-promo__shade-bottom,
  .career-promo__shade-bottom,
  .newgraduate-promo__shade-bottom {
    bottom: 0;
    left: 0;
    width: 100%;
    height: 45px;
    -webkit-transform-origin: 50% 100%;
    -ms-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
  }
  .js__page-enter--completed .about-promo__shade-bottom,
  .js__page-enter--completed .about-child-promo__shade-bottom,
  .js__page-enter--completed .story-promo__shade-bottom,
  .js__page-enter--completed .message-promo__shade-bottom,
  .js__page-enter--completed .internship-promo__shade-bottom,
  .js__page-enter--completed .career-promo__shade-bottom,
  .js__page-enter--completed .newgraduate-promo__shade-bottom {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
  }
  .about-promo__shade-left,
  .about-child-promo__shade-left,
  .story-promo__shade-left,
  .message-promo__shade-left,
  .internship-promo__shade-left,
  .career-promo__shade-left,
  .newgraduate-promo__shade-left {
    top: 0;
    left: 0;
    width: 45px;
    height: 100%;
    -webkit-transform-origin: 0% 50%;
    -ms-transform-origin: 0% 50%;
    transform-origin: 0% 50%;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
  }
  .js__page-enter--completed .about-promo__shade-left,
  .js__page-enter--completed .about-child-promo__shade-left,
  .js__page-enter--completed .story-promo__shade-left,
  .js__page-enter--completed .message-promo__shade-left,
  .js__page-enter--completed .internship-promo__shade-left,
  .js__page-enter--completed .career-promo__shade-left,
  .js__page-enter--completed .newgraduate-promo__shade-left {
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
  }
  .about-promo__text-scroll,
  .about-child-promo__text-scroll,
  .story-promo__text-scroll,
  .message-promo__text-scroll,
  .internship-promo__text-scroll,
  .career-promo__text-scroll,
  .newgraduate-promo__text-scroll {
    position: absolute;
    display: none;
    bottom: 45px;
    right: 90px;
    z-index: 110;
    height: 132px;
    padding: 10px 20px 0 20px;
  }
  .about-promo__text-scroll .text,
  .about-child-promo__text-scroll .text,
  .story-promo__text-scroll .text,
  .message-promo__text-scroll .text,
  .internship-promo__text-scroll .text,
  .career-promo__text-scroll .text,
  .newgraduate-promo__text-scroll .text {
    overflow: hidden;
    display: block;
    width: 12px;
    height: 64px;
    background-image: url("./assets/images/common/cmn__text-scroll.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .about-promo__text-scroll .line,
  .about-child-promo__text-scroll .line,
  .story-promo__text-scroll .line,
  .message-promo__text-scroll .line,
  .internship-promo__text-scroll .line,
  .career-promo__text-scroll .line,
  .newgraduate-promo__text-scroll .line {
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 1px;
    height: 60px;
    background-color: #fff;
    -webkit-animation: story-promo__text-scroll--pc 2500ms ease-in-out infinite;
    animation: story-promo__text-scroll--pc 2500ms ease-in-out infinite;
  }
  .about-promo__img,
  .about-child-promo__img,
  .story-promo__img,
  .message-promo__img,
  .internship-promo__img,
  .career-promo__img,
  .newgraduate-promo__img {
    overflow: hidden;
    position: relative;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    -webkit-transition: 1000ms ease-in-out 500ms;
    -o-transition: 1000ms ease-in-out 500ms;
    transition: 1000ms ease-in-out 500ms;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
  .js__page-enter--completed .about-promo__img,
  .js__page-enter--completed .about-child-promo__img,
  .js__page-enter--completed .story-promo__img,
  .js__page-enter--completed .message-promo__img,
  .js__page-enter--completed .internship-promo__img,
  .js__page-enter--completed .career-promo__img,
  .js__page-enter--completed .newgraduate-promo__img {
    -webkit-transform: scale(0.98);
    -ms-transform: scale(0.98);
    transform: scale(0.98);
  }
  .about-promo__ttl,
  .about-child-promo__ttl,
  .story-promo__ttl,
  .message-promo__ttl,
  .internship-promo__ttl,
  .career-promo__ttl,
  .newgraduate-promo__ttl,
  .about-promo__txt1,
  .about-child-promo__txt1,
  .story-promo__txt1,
  .message-promo__txt1,
  .internship-promo__txt1,
  .career-promo__txt1,
  .newgraduate-promo__txt1,
  .about-promo__txt2,
  .about-child-promo__txt2,
  .story-promo__txt2,
  .message-promo__txt2,
  .internship-promo__txt2,
  .career-promo__txt2,
  .newgraduate-promo__txt2 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    display: block;
  }
  .about-promo__btn-more,
  .about-child-promo__btn-more,
  .story-promo__btn-more,
  .message-promo__btn-more,
  .internship-promo__btn-more,
  .career-promo__btn-more,
  .newgraduate-promo__btn-more {
    position: absolute;
  }
  .about-wrap,
  .about-child-wrap,
  .story-wrap,
  .stories-wrap,
  .message-wrap,
  .internship-wrap,
  .career-wrap,
  .newgraduate-wrap {
    padding: 200px 0 0;
  }
  .about-section,
  .about-child-section,
  .story-section,
  .stories-section,
  .message-section,
  .internship-section,
  .career-section,
  .newgraduate-section {
    padding-bottom: 315px;
  }
  .top .contents {
    display: none;
  }
  .promo {
    height: 100%;
  }
  .top__logo {
    position: absolute;
    top: 38px;
    left: 38px;
    z-index: 100;
    overflow: hidden;
    display: block;
    width: 150px;
    height: 46px;
    background-image: url("./assets/images/top/top__logo.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .top-loading {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    height: 100%;
    background-color: #000;
  }
  .top-loading__progress {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background: #fff;
    z-index: 1000;
  }
  .top-loading-page1,
  .top-loading-page2 {
    width: 100%;
    height: 100%;
  }
  .top-loading-page1__txt {
    position: absolute;
    top: 50%;
    left: 50%;
    overflow: hidden;
    display: block;
    width: 384px;
    height: 17px;
    background-image: url("./assets/images/top/loading-page1__txt.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    -webkit-transform: translate(-50%, -50%) scale(1.025, 1.025);
    -ms-transform: translate(-50%, -50%) scale(1.025, 1.025);
    transform: translate(-50%, -50%) scale(1.025, 1.025);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -webkit-transition: 500ms ease-out 0;
    -o-transition: 500ms ease-out 0;
    transition: 500ms ease-out 0;
  }
  .top-loading-page1__txt.is-show {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(-50%, -50%) scale(1, 1);
    -ms-transform: translate(-50%, -50%) scale(1, 1);
    transform: translate(-50%, -50%) scale(1, 1);
  }
  .top-loading-page2 {
    display: none;
  }
  .top-loading-page2__txt {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 256px;
    height: 360px;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .top-loading-page2__txt1,
  .top-loading-page2__txt2,
  .top-loading-page2__txt3,
  .top-loading-page2__txt4 {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    float: right;
  }
  .top-loading-page2__txt1 {
    overflow: hidden;
    display: block;
    width: 64px;
    height: 200px;
    background-image: url("./assets/images/top/new-slide-item-about__txt1.svg");
    background-repeat: no-repeat;
    background-size: 32px 200px;
    text-indent: -9999px;
    text-align: left;
  }
  .top-loading-page2__txt2 {
    margin-right: 0;
    overflow: hidden;
    display: block;
    width: 64px;
    height: 220px;
    background-image: url("./assets/images/top/new-slide-item-about__txt2.svg");
    background-repeat: no-repeat;
    background-size: 32px 220px;
    text-indent: -9999px;
    text-align: left;
  }

    .top-loading-page2__txt3 {
    overflow: hidden;
    display: block;
        width: 64px;
      height: 260px;
    background-image: url("./assets/images/top/new-slide-item-about__txt3.svg");
    background-repeat: no-repeat;
    background-size: 32px 260px;
    text-indent: -9999px;
    text-align: left;
  }
  .top-loading-page2__txt4 {
    margin-right: 0;
    overflow: hidden;
    display: block;
        width: 64px;
        height: 200px;
    background-image: url("./assets/images/top/new-slide-item-about__txt4.svg");
    background-repeat: no-repeat;
    background-size: 32px 200px;
    text-indent: -9999px;
    text-align: left;
  }

  .slide {
    background: #000;
  }
  .slide__wrap {
    background: #000;
  }
  .slide__shade-top,
  .slide__shade-right,
  .slide__shade-bottom,
  .slide__shade-left {
    position: absolute;
    z-index: 200;
    display: block;
    background-color: #fff;
  }
  .slide__shade-top {
    top: 0;
    left: 0;
    width: 100%;
    height: 45px;
    -webkit-transform-origin: 50% 0%;
    -ms-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
  }
  .slide__shade-right {
    top: 0;
    right: 0;
    width: 45px;
    height: 100%;
    -webkit-transform-origin: 100% 50%;
    -ms-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
  }
  .slide__shade-bottom {
    bottom: 0;
    left: 0;
    width: 100%;
    height: 45px;
    -webkit-transform-origin: 50% 100%;
    -ms-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
  }
  .slide__shade-left {
    top: 0;
    left: 0;
    width: 45px;
    height: 100%;
    -webkit-transform-origin: 0% 50%;
    -ms-transform-origin: 0% 50%;
    transform-origin: 0% 50%;
  }
  .slide__shade-whole {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    display: block;
  }
  .slide__text-more {
    display: block;
    pointer-events: none;
    position: absolute;
    z-index: 110;
    bottom: 0;
    right: 40px;
    width: 18px;
    height: 125px;
    padding: 10px 20px 0 20px;
  }
  .slide__text-more .text {
    overflow: hidden;
    display: block;
    width: 18px;
    height: 54px;
    background-image: url("./assets/images/top/slide__btn-more-txt.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide__text-more .line {
    display: block;
    position: absolute;
    bottom: 0;
    left: 48%;
    width: 1px;
    height: 60px;
    background-color: #fff;
  }
  .slide__text-scroll {
    position: absolute;
    display: none;
    bottom: 45px;
    right: 85px;
    z-index: 110;
    height: 132px;
    padding: 10px 20px 0 20px;
  }
  .slide__text-scroll .text {
    overflow: hidden;
    display: block;
    width: 12px;
    height: 64px;
    background-image: url("./assets/images/common/cmn__text-scroll.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide__text-scroll .line {
    display: block;
    position: absolute;
    bottom: 0;
    left: 48%;
    width: 1px;
    height: 60px;
    background-color: #fff;
    -webkit-animation: story-promo__text-scroll--pc 2500ms ease-in-out infinite;
    animation: story-promo__text-scroll--pc 2500ms ease-in-out infinite;
  }
  .slide__text-scroll.stop .line {
    -webkit-animation: story-promo__text-scroll--stop--pc 500ms ease-in-out;
    animation: story-promo__text-scroll--stop--pc 500ms ease-in-out;
  }
  .slide {
    width: 100%;
    height: 100%;
  }
  .slide-item-about,
  .slide-item-story,
  .slide-item-message {
    position: relative;
  }
  .slide-item-about a,
  .slide-item-story a,
  .slide-item-message a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .slide-item-about .swiper-container-fade,
  .slide-item-story .swiper-container-fade,
  .slide-item-message .swiper-container-fade {
    position: relative;
    z-index: 0;
    width: 100%;
    height: 100%;
  }
  .slide-item-about__img,
  .slide-item-story__img,
  .slide-item-message__img,
  .slide-item-about__img1,
  .slide-item-story__img1,
  .slide-item-message__img1,
  .slide-item-about__img2,
  .slide-item-story__img2,
  .slide-item-message__img2,
  .slide-item-about__img3,
  .slide-item-story__img3,
  .slide-item-message__img3,
  .slide-item-about__img4,
  .slide-item-story__img4,
  .slide-item-message__img4 {
    overflow: hidden;
    position: relative;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    -webkit-transition: 500ms ease-out 100ms;
    -o-transition: 500ms ease-out 100ms;
    transition: 500ms ease-out 100ms;
  }
  .slide-item-about__img span,
  .slide-item-story__img span,
  .slide-item-message__img span,
  .slide-item-about__img1 span,
  .slide-item-story__img1 span,
  .slide-item-message__img1 span,
  .slide-item-about__img2 span,
  .slide-item-story__img2 span,
  .slide-item-message__img2 span,
  .slide-item-about__img3 span,
  .slide-item-story__img3 span,
  .slide-item-message__img3 span,
  .slide-item-about__img4 span,
  .slide-item-story__img4 span,
  .slide-item-message__img4 span {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    -webkit-transition: -webkit-transform 5000ms ease-out 5000ms;
    -o-transition: -o-transform 5000ms ease-out 5000ms;
    transition: -webkit-transform 5000ms ease-out 5000ms;
    -o-transition: transform 5000ms ease-out 5000ms;
    transition: transform 5000ms ease-out 5000ms;
    transition:
      transform 5000ms ease-out 5000ms,
      -webkit-transform 5000ms ease-out 5000ms;
  }
  .swiper-container-fade .swiper-slide-active span {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition: -webkit-transform 15000ms ease-out;
    -o-transition: -o-transform 15000ms ease-out;
    transition: -webkit-transform 15000ms ease-out;
    -o-transition: transform 15000ms ease-out;
    transition: transform 15000ms ease-out;
    transition:
      transform 15000ms ease-out,
      -webkit-transform 15000ms ease-out;
  }
  .slide-item-about__ttl,
  .slide-item-story__ttl,
  .slide-item-message__ttl {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    position: absolute;
    top: 50%;
    right: 60px;
    -webkit-transform: translate(0, -50%) scale(0.8, 0.8);
    -ms-transform: translate(0, -50%) scale(0.8, 0.8);
    transform: translate(0, -50%) scale(0.8, 0.8);
  }
  .slide-item-about__txt,
  .slide-item-story__txt,
  .slide-item-message__txt,
  .about-promo__txt,
  .about-child-promo__txt,
  .message-promo__txt {
    position: absolute;
    top: 23%;
    left: 19%;
  }
  .slide-item-about__txt1,
  .slide-item-story__txt1,
  .slide-item-message__txt1,
  .slide-item-about__txt2,
  .slide-item-story__txt2,
  .slide-item-message__txt2,
  .about-promo__txt1,
  .about-promo__txt2,
  .about-child-promo__txt1,
  .about-child-promo__txt2,
  .message-promo__txt1,
  .message-promo__txt2 {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    float: left;
    position: relative;
    z-index: 10;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  .top .slide-item-about__txt1,
  .top .slide-item-story__txt1,
  .top .slide-item-message__txt1,
  .top .slide-item-about__txt2,
  .top .slide-item-story__txt2,
  .top .slide-item-message__txt2,
  .top .about-promo__txt1,
  .top .about-promo__txt2,
  .top .about-child-promo__txt1,
  .top .about-child-promo__txt2,
  .top .message-promo__txt1,
  .top .message-promo__txt2 {
    -webkit-transform: translate(0, -10px);
    -ms-transform: translate(0, -10px);
    transform: translate(0, -10px);
    -webkit-transition: 0;
    -o-transition: 0;
    transition: 0;
  }
  .slide-item-about__txt2,
  .slide-item-story__txt2,
  .slide-item-message__txt2,
  .about-promo__txt2,
  .about-child-promo__txt2,
  .message-promo__txt2 {
    margin-right: 34px;
  }
  .swiper-slide-active .slide-item-about__ttl,
  .swiper-slide-active .slide-item-story__ttl,
  .swiper-slide-active .slide-item-message__ttl {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    -webkit-transition:
      opacity 500ms ease-in-out,
      -webkit-transform 500ms ease-in-out;
    -o-transition:
      opacity 500ms ease-in-out,
      -o-transform 500ms ease-in-out;
    transition:
      opacity 500ms ease-in-out,
      -webkit-transform 500ms ease-in-out;
    -o-transition:
      opacity 500ms ease-in-out,
      transform 500ms ease-in-out;
    transition:
      opacity 500ms ease-in-out,
      transform 500ms ease-in-out;
    transition:
      opacity 500ms ease-in-out,
      transform 500ms ease-in-out,
      -webkit-transform 500ms ease-in-out;
  }
  .swiper-slide-active .slide-item-about__txt1,
  .swiper-slide-active .slide-item-story__txt1,
  .swiper-slide-active .slide-item-message__txt1 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transition:
      opacity 500ms ease-in-out 400ms,
      -webkit-transform 500ms ease-in-out 400ms;
    -o-transition:
      opacity 500ms ease-in-out 400ms,
      -o-transform 500ms ease-in-out 400ms;
    transition:
      opacity 500ms ease-in-out 400ms,
      -webkit-transform 500ms ease-in-out 400ms;
    -o-transition:
      opacity 500ms ease-in-out 400ms,
      transform 500ms ease-in-out 400ms;
    transition:
      opacity 500ms ease-in-out 400ms,
      transform 500ms ease-in-out 400ms;
    transition:
      opacity 500ms ease-in-out 400ms,
      transform 500ms ease-in-out 400ms,
      -webkit-transform 500ms ease-in-out 400ms;
  }
  .swiper-slide-active .slide-item-about__txt2,
  .swiper-slide-active .slide-item-story__txt2,
  .swiper-slide-active .slide-item-message__txt2 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transition:
      opacity 750ms ease-in-out 500ms,
      -webkit-transform 750ms ease-in-out 500ms;
    -o-transition:
      opacity 750ms ease-in-out 500ms,
      -o-transform 750ms ease-in-out 500ms;
    transition:
      opacity 750ms ease-in-out 500ms,
      -webkit-transform 750ms ease-in-out 500ms;
    -o-transition:
      opacity 750ms ease-in-out 500ms,
      transform 750ms ease-in-out 500ms;
    transition:
      opacity 750ms ease-in-out 500ms,
      transform 750ms ease-in-out 500ms;
    transition:
      opacity 750ms ease-in-out 500ms,
      transform 750ms ease-in-out 500ms,
      -webkit-transform 750ms ease-in-out 500ms;
  }
  .slide-item-about__ttl {
    overflow: hidden;
    display: block;
    width: 56px;
    height: 18px;
    background-image: url("./assets/images/top/slide-item-about__ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide-item-about__txt,
  .about-promo__txt,
  .about-child-promo__txt {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 128px;
    height: 360px;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .slide-item-about__txt1,
  .slide-item-about__txt2,
  .about-promo__txt1,
  .about-promo__txt2,
  .about-child-promo__txt1,
  .about-child-promo__txt2 {
    float: right;
  }
  .slide-item-about__txt1,
  .about-promo__txt1,
  .about-child-promo__txt1 {
    overflow: hidden;
    display: block;
    width: 64px;
    height: 360px;
    background-image: url("./assets/images/top/slide-item-about__txt1.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide-item-about__txt2,
  .about-promo__txt2,
  .about-child-promo__txt2 {
    margin-right: 0;
    overflow: hidden;
    display: block;
    width: 64px;
    height: 360px;
    background-image: url("./assets/images/top/slide-item-about__txt2.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide-item-about__img0 span,
  .slide-item-about__img1 span,
  .slide-item-about__img2 span,
  .slide-item-about__img3 span,
  .slide-item-about__img4 span {
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide-item-about__img0 span {
    background-image: url("./assets/images/about/about-promo__img0.jpg");
  }
  .slide-item-about__img1 span {
    background-image: url("./assets/images/about/about-promo__img1.jpg");
  }
  .slide-item-about__img2 span {
    background-image: url("./assets/images/about/about-promo__img2.jpg");
  }
  .slide-item-about__img3 span {
    background-image: url("./assets/images/about/about-promo__img3.jpg");
  }
  .slide-item-about__img4 span {
    background-image: url("./assets/images/about/about-promo__img4.jpg");
  }
  .slide-item-message__ttl {
    overflow: hidden;
    display: block;
    width: 118px;
    height: 18px;
    background-image: url("./assets/images/top/slide-item-message__ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide-item-message__txt,
  .message-promo__txt {
    top: 50%;
    left: 65.5%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .slide-item-message__txt1,
  .slide-item-message__txt2,
  .slide-item-message__txt3,
  .message-promo__txt1,
  .message-promo__txt2,
  .message-promo__txt3 {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    width: 57px;
    height: 391px;
    margin: 0;
    -webkit-transform: translate(0, -10px);
    -ms-transform: translate(0, -10px);
    transform: translate(0, -10px);
  }
  .slide-item-message__txt1,
  .message-promo__txt1 {
    left: 0;
    background-image: url("./assets/images/top/slide-item-message__txt3.svg");
    background-position: left 0;
  }
  .slide-item-message__txt2,
  .message-promo__txt2 {
    background-image: url("./assets/images/top/slide-item-message__txt2.svg");
    background-position: center 0;
  }
  .slide-item-message__txt3,
  .message-promo__txt3 {
    right: 0;
    background-image: url("./assets/images/top/slide-item-message__txt1.svg");
    background-position: right 0;
  }
  .swiper-slide-active .slide-item-message__txt1,
  .swiper-slide-active .slide-item-message__txt2,
  .swiper-slide-active .slide-item-message__txt3 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  .swiper-slide-active .slide-item-message__txt1 {
    -webkit-transition:
      -webkit-transform 500ms ease-in-out 750ms,
      opacity 500ms ease-in-out 750ms;
    -o-transition:
      -o-transform 500ms ease-in-out 750ms,
      opacity 500ms ease-in-out 750ms;
    -webkit-transition:
      opacity 500ms ease-in-out 750ms,
      -webkit-transform 500ms ease-in-out 750ms;
    transition:
      opacity 500ms ease-in-out 750ms,
      -webkit-transform 500ms ease-in-out 750ms;
    -o-transition:
      transform 500ms ease-in-out 750ms,
      opacity 500ms ease-in-out 750ms;
    transition:
      transform 500ms ease-in-out 750ms,
      opacity 500ms ease-in-out 750ms;
    transition:
      transform 500ms ease-in-out 750ms,
      opacity 500ms ease-in-out 750ms,
      -webkit-transform 500ms ease-in-out 750ms;
  }
  .swiper-slide-active .slide-item-message__txt2 {
    -webkit-transition:
      -webkit-transform 500ms ease-in-out 500ms,
      opacity 500ms ease-in-out 500ms;
    -o-transition:
      -o-transform 500ms ease-in-out 500ms,
      opacity 500ms ease-in-out 500ms;
    -webkit-transition:
      opacity 500ms ease-in-out 500ms,
      -webkit-transform 500ms ease-in-out 500ms;
    transition:
      opacity 500ms ease-in-out 500ms,
      -webkit-transform 500ms ease-in-out 500ms;
    -o-transition:
      transform 500ms ease-in-out 500ms,
      opacity 500ms ease-in-out 500ms;
    transition:
      transform 500ms ease-in-out 500ms,
      opacity 500ms ease-in-out 500ms;
    transition:
      transform 500ms ease-in-out 500ms,
      opacity 500ms ease-in-out 500ms,
      -webkit-transform 500ms ease-in-out 500ms;
  }
  .swiper-slide-active .slide-item-message__txt3 {
    -webkit-transition:
      -webkit-transform 500ms ease-in-out 250ms,
      opacity 500ms ease-in-out 250ms;
    -o-transition:
      -o-transform 500ms ease-in-out 250ms,
      opacity 500ms ease-in-out 250ms;
    -webkit-transition:
      opacity 500ms ease-in-out 250ms,
      -webkit-transform 500ms ease-in-out 250ms;
    transition:
      opacity 500ms ease-in-out 250ms,
      -webkit-transform 500ms ease-in-out 250ms;
    -o-transition:
      transform 500ms ease-in-out 250ms,
      opacity 500ms ease-in-out 250ms;
    transition:
      transform 500ms ease-in-out 250ms,
      opacity 500ms ease-in-out 250ms;
    transition:
      transform 500ms ease-in-out 250ms,
      opacity 500ms ease-in-out 250ms,
      -webkit-transform 500ms ease-in-out 250ms;
  }
  .slide-item-message__img span {
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-image: url("./assets/images/message/message-promo__img.jpg");
  }
  .slide__video {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;
    margin-top: 10px;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .slide__btn-fullscreen {
    position: absolute;
    top: 80px;
    right: 80px;
    z-index: 110;
    display: block;
    padding: 10px;
  }
  .slide__btn-fullscreen span {
    overflow: hidden;
    display: block;
    width: 18px;
    height: 18px;
    background-image: url("./assets/images/stories/stories__btn-screen-full.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide__btn-play {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: 44px 44px;
    background-repeat: no-repeat;
    background-image: url("./assets/images//common/cmn__icn-play.svg");
    background-color: rgba(0, 0, 0, 0.3);
    -webkit-transition: background-color 100ms ease-in;
    -o-transition: background-color 100ms ease-in;
    transition: background-color 100ms ease-in;
    pointer-events: none;
  }
  .slide__btn-play.play {
    background-image: none;
    background-color: rgba(0, 0, 0, 0);
  }
  .slide__btn-sound {
    position: absolute;
    top: 76px;
    right: 120px;
    z-index: 110;
    display: block;
    padding: 10px;
  }
  .slide__btn-sound span {
    overflow: hidden;
    display: block;
    width: 24px;
    height: 48px;
    background-image: url("./assets/images/common/cmn__btn-sound.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    height: 24px;
  }
  .slide__btn-sound.off span {
    background-position: 0 bottom;
  }
  .slide__dots.swiper-pagination-bullets {
    bottom: 40px;
  }
  .slide__dots.swiper-pagination-bullets .swiper-pagination-bullet {
    position: relative;
    background-color: transparent;
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    width: 25px;
    height: 25px;
    margin: 0px 10px;
  }
  .slide__dots.swiper-pagination-bullets .swiper-pagination-bullet:after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    content: "";
    width: 0px;
    height: 0px;
    border: 1px solid #fff;
    border-radius: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: 100ms ease-out;
    -o-transition: 100ms ease-out;
    transition: 100ms ease-out;
  }
  .slide__dots.swiper-pagination-bullets .swiper-pagination-bullet:before {
    content: " ";
    display: block;
    position: relative;
    background-color: #fff;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 6px;
    height: 6px;
    border-radius: 100%;
  }
  .slide__dots.swiper-pagination-bullets .swiper-pagination-bullet .text {
    position: absolute;
    top: -30px;
    left: 50%;
    -webkit-transform: translate(-50%, 10px);
    -ms-transform: translate(-50%, 10px);
    transform: translate(-50%, 10px);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -webkit-transition: 300ms ease-in;
    -o-transition: 300ms ease-in;
    transition: 300ms ease-in;
  }
  .slide__dots.swiper-pagination-bullets
    .swiper-pagination-bullet:first-of-type
    .text {
    overflow: hidden;
    display: block;
    width: 56px;
    height: 18px;
    background-image: url("./assets/images/top/slide-item-about__ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide__dots.swiper-pagination-bullets
    .swiper-pagination-bullet:last-of-type
    .text {
    overflow: hidden;
    display: block;
    width: 118px;
    height: 18px;
    background-image: url("./assets/images/top/slide-item-message__ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide__dots.swiper-pagination-bullets
    .swiper-pagination-bullet-active:after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    content: "";
    width: 16px;
    height: 16px;
    border: 1px solid #fff;
    border-radius: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .slide__dots.swiper-pagination-bullets
    .swiper-pagination-bullet-active
    .text {
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .about-promo__img1 span,
  .about-promo__img2 span,
  .about-promo__img3 span {
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-position: center;
  }
  .about-promo__img1 span {
    background-image: url("./assets/images/about/about-promo__img1.jpg");
  }
  .about-promo__img2 span {
    background-image: url("./assets/images/about/about-promo__img2.jpg");
  }
  .about-promo__img3 span {
    background-image: url("./assets/images/about/about-promo__img3.jpg");
  }
  .about-promo__txt1 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .about-promo__txt2 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .about-wrap .lo__btn {
    margin-top: 225px;
  }
  .about-wrap .lo__btn .lo__btn-text {
    width: 81px;
    height: 18px;
    margin: 0 auto;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-image: url("./assets/images/entry/career-content__entry-btn.svg");
    background-position: center top;
  }
  .about-wrap .lo__btn:hover .lo__btn-text {
    background-position: center bottom;
  }
  .about__page-ttl {
    overflow: hidden;
    display: block;
    width: 72px;
    height: 16px;
    background-image: url("./assets/images/about/about__page-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .about-content__section-ttl,
  .about-child__section-ttl {
    overflow: hidden;
    display: block;
    width: 336px;
    height: 26px;
    background-image: url("./assets/images/about/about-content__section-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    float: left;
    margin-right: 40px;
    margin-bottom: 30px;
  }
  .about-content__section-txt {
    float: left;
  }
  .about-content__section-txt--sp {
    display: none;
  }
  .about-content__section-img {
    clear: both;
    margin-bottom: 200px;
  }
  .about-content__section-img img {
    display: block;
    width: 100%;
  }
  .about-content__section-img area,
  .about-content__section-img area:focus {
    border: none;
    outline: 0;
  }
  .about-content__section-img--sp {
    display: none;
  }
  .about-content__txt-1 {
    margin-bottom: 200px;
  }
  .about-section {
    padding-bottom: 200px;
  }
  .about-section__ttl {
    overflow: hidden;
    display: block;
    width: 394px;
    height: 84px;
    background-image: url("./assets/images/about/about-section__ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .about-section__ttl--02 {
    overflow: hidden;
    display: block;
    width: 546px;
    height: 92px;
    background-image: url("./assets/images/about/about-section__ttl--02.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .about__child-btn {
    position: relative;
    width: 100%;
    height: 300px;
    background-color: #000;
  }
  .about__child-btn a:after {
    position: absolute;
    top: 50%;
    right: 60px;
    display: block;
    content: "";
    width: 20px;
    height: 20px;
    margin-top: -10px;
    border: 1px solid #fff;
    border-width: 1px 1px 0 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .about__child-btn a .about-child__bg {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -webkit-transition:
      opacity 700ms ease-out,
      -webkit-transform 1000ms ease-out;
    -o-transition:
      opacity 700ms ease-out,
      -o-transform 1000ms ease-out;
    transition:
      opacity 700ms ease-out,
      -webkit-transform 1000ms ease-out;
    -o-transition:
      opacity 700ms ease-out,
      transform 1000ms ease-out;
    transition:
      opacity 700ms ease-out,
      transform 1000ms ease-out;
    transition:
      opacity 700ms ease-out,
      transform 1000ms ease-out,
      -webkit-transform 1000ms ease-out;
  }
  .about__child-btn a:hover .about-child__bg {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    opacity: 0.8;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
    filter: alpha(opacity=80);
    -webkit-transition:
      opacity 700ms ease-out,
      -webkit-transform 10000ms ease-out;
    -o-transition:
      opacity 700ms ease-out,
      -o-transform 10000ms ease-out;
    transition:
      opacity 700ms ease-out,
      -webkit-transform 10000ms ease-out;
    -o-transition:
      opacity 700ms ease-out,
      transform 10000ms ease-out;
    transition:
      opacity 700ms ease-out,
      transform 10000ms ease-out;
    transition:
      opacity 700ms ease-out,
      transform 10000ms ease-out,
      -webkit-transform 10000ms ease-out;
  }
  .about-child__bg {
    position: absolute;
    z-index: 0;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
  }
  .about-child__bg.sp-image {
    display: none;
  }
  .about-child__wrap {
    position: absolute;
    z-index: 10;
    top: 50%;
    left: 58px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .about-child__wrap .about-child__name {
    margin-bottom: 0;
  }
  .about-child .promo {
    display: none;
  }
  .about-child-promo__img1 span,
  .about-child-promo__img2 span,
  .about-child-promo__img3 span {
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-position: center;
  }
  .about-child-promo__img1 span {
    background-image: url("./assets/images/about/about-promo__img1.jpg");
  }
  .about-child-promo__img2 span {
    background-image: url("./assets/images/about/about-promo__img2.jpg");
  }
  .about-child-promo__img3 span {
    background-image: url("./assets/images/about/about-promo__img3.jpg");
  }
  .about-child-promo__txt1 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .about-child-promo__txt2 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .about-child-wrap {
    padding-top: 100px;
  }
  .about-child-wrap .lo__btn {
    margin-top: 225px;
  }
  .about-child-wrap .lo__btn .lo__btn-text {
    width: 81px;
    height: 18px;
    margin: 0 auto;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-image: url("./assets/images/entry/career-content__entry-btn.svg");
    background-position: center top;
  }
  .about-child-wrap .lo__btn:hover .lo__btn-text {
    background-position: center bottom;
  }
  .about-child__page-ttl {
    overflow: hidden;
    display: block;
    width: 72px;
    height: 16px;
    background-image: url("./assets/images/about/about__page-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .about-child-content__ttl {
    margin-bottom: 100px;
  }
  .about-child-section {
    padding-bottom: 200px;
  }
  .about-child-section__ttl {
    overflow: hidden;
    display: block;
    width: 394px;
    height: 84px;
    background-image: url("./assets/images/about/about-section__ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .about-child__role {
    margin-bottom: 40px;
  }
  .about-child__ttl {
    margin-bottom: 40px;
  }
  .about-child__name {
    margin-bottom: 60px;
  }
  .about-child__main-img {
    margin-bottom: 45px;
    background-size: cover;
  }
  .about-child__main-img--sp {
    display: none;
  }
  .about-child__profile-ttl {
    overflow: hidden;
    display: block;
    width: 112px;
    height: 26px;
    background-image: url("./assets/images/about-child/about-child__profile-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 40px;
  }
  .about-child__profile-txt {
    margin-bottom: 100px;
  }
  .about-child__task-ttl {
    margin-bottom: 100px;
  }
  .about-child__task-txt {
    position: relative;
    margin-bottom: 80px;
    padding: 28px 130px;
    border: 1px solid #000;
  }
  .about-child__task-txt:after {
    position: absolute;
    bottom: -45px;
    left: 50%;
    display: block;
    content: "";
    width: 20px;
    height: 20px;
    margin-left: -10px;
    border: 1px solid #000;
    border-width: 0 1px 1px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .about-child__task-txt:last-of-type:after {
    display: none;
  }
  .about-child__second-img {
    margin-bottom: 200px;
    background-size: cover;
  }
  .about-child__section-img {
    clear: both;
  }
  .about-child__section-img img {
    display: block;
    width: 100%;
    height: auto;
  }
  .about-child__section-img--sp {
    display: none;
  }
  .story-promo {
    background-color: #000;
  }
  .story-promo__img {
    cursor: pointer;
    z-index: 100;
    -webkit-transition: 500ms ease-out;
    -o-transition: 500ms ease-out;
    transition: 500ms ease-out;
  }
  .story-promo__img li {
    background-size: cover;
    background-position: center;
  }
  .story-promo__img li span {
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    width: 100%;
    height: 100%;
    background-position: center;
  }
  .js__page-enter--completed .story-promo__img {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
  }
  .story-promo__video {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .story-promo__shade-whole {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 90;
  }
  .story-promo__shade-whole.buffering:after {
    position: absolute;
    top: 50%;
    left: 50%;
    overflow: hidden;
    display: block;
    width: 44px;
    height: 44px;
    background-image: url("./assets/images/common/cmn-movie-scroll-icon.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    -webkit-animation: story-promo__shade--loading--pc 1000ms linear infinite;
    animation: story-promo__shade--loading--pc 1000ms linear infinite;
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    content: "";
  }
  .story-copy {
    position: relative;
  }
  .story-copy__txt {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .story-copy__txt1,
  .story-copy__txt2 {
    float: right;
    position: relative;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .story-wrap {
    padding-top: 0;
  }
  .story-header {
    position: absolute;
    right: 0;
  }
  .story-header__ttl-header {
    float: right;
    height: 0;
  }
  .story-section__head-img {
    margin-bottom: 200px;
    background-position: center;
    background-size: cover;
  }
  .story-section__head-img.sp-image {
    display: none;
  }
  .story-content {
    margin-bottom: 300px;
  }
  .story-content__ttl {
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .story-content__txt {
    margin-bottom: 100px;
  }
  .story-content__img {
    margin-bottom: 110px;
    background-position: center;
    background-size: cover;
  }
  .story-content--first {
    margin: 0;
    padding-top: 100px;
    padding-right: 0;
  }
  .story-content--first div:last-child {
    margin-bottom: 0;
  }
  .story-content--first .lo__content-width-wrap:nth-of-type(2) {
    padding-right: 400px;
  }
  .story-content--first .story-content__txt:first-of-type {
    margin-bottom: 200px;
  }
  .story-content div:last-child {
    margin-bottom: 0;
  }
  .story-content:last-of-type {
    margin-bottom: 0;
  }
  .story-content__subttl-interview {
    overflow: hidden;
    display: block;
    width: 106px;
    height: 16px;
    background-image: url("./assets/images/stories/story-interview__ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 50px;
  }
  .story-content__video {
    position: relative;
    display: block;
    width: 100%;
  }
  .story-content__video iframe {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
  }
  .story-footer {
    position: relative;
    width: 220px;
    height: 16px;
    margin: 0 auto 250px;
  }
  .story-footer__btn-prev,
  .story-footer__btn-next {
    position: absolute;
  }
  .story-footer__btn-next {
    right: 0;
    overflow: hidden;
    display: block;
    width: 50px;
    height: 16px;
    background-image: url("./assets/images/common/cmn__btn-next.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .story-footer__btn-prev {
    left: 0;
    overflow: hidden;
    display: block;
    width: 50px;
    height: 16px;
    background-image: url("./assets/images/common/cmn__btn-prev.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .stories-wrap {
    display: block;
  }
  .stories__page-ttl {
    overflow: hidden;
    display: block;
    width: 88px;
    height: 16px;
    background-image: url("./assets/images/stories/stories__page-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .stories-item {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 550px;
  }
  .stories-item a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .stories-item a:hover .stories-item__img {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition:
      -webkit-transform 10000ms ease-out,
      opacity 750ms ease-out;
    -o-transition:
      -o-transform 10000ms ease-out,
      opacity 750ms ease-out;
    -webkit-transition:
      opacity 750ms ease-out,
      -webkit-transform 10000ms ease-out;
    transition:
      opacity 750ms ease-out,
      -webkit-transform 10000ms ease-out;
    -o-transition:
      transform 10000ms ease-out,
      opacity 750ms ease-out;
    transition:
      transform 10000ms ease-out,
      opacity 750ms ease-out;
    transition:
      transform 10000ms ease-out,
      opacity 750ms ease-out,
      -webkit-transform 10000ms ease-out;
  }
  .stories-item a:hover .stories-item__txt-wrap {
    -webkit-filter: invert();
    filter: invert();
  }
  .stories-item__img {
    display: block;
    width: 100%;
    height: 100%;
    z-index: 0;
    background-position: center;
    background-size: cover;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -webkit-transition:
      -webkit-transform 10000ms ease-out,
      opacity 300ms ease-out;
    -o-transition:
      -o-transform 10000ms ease-out,
      opacity 300ms ease-out;
    -webkit-transition:
      opacity 300ms ease-out,
      -webkit-transform 10000ms ease-out;
    transition:
      opacity 300ms ease-out,
      -webkit-transform 10000ms ease-out;
    -o-transition:
      transform 10000ms ease-out,
      opacity 300ms ease-out;
    transition:
      transform 10000ms ease-out,
      opacity 300ms ease-out;
    transition:
      transform 10000ms ease-out,
      opacity 300ms ease-out,
      -webkit-transform 10000ms ease-out;
  }
  .stories-item__img.sp-image {
    display: none;
  }
  .stories-item__txt-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 10;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .stories-item__txt,
  .stories-item__ttl,
  .stories-item__subttl {
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .stories-item__txt {
    margin-bottom: 80px;
  }
  .stories-item__ttl {
    margin-bottom: 24px;
  }
  .message-promo__img {
    background-image: url("./assets/images/message/message-promo__img.jpg");
  }
  .message-promo__txt1 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  .message-promo__txt2 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  .message-promo__txt3 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  .message__page-ttl {
    overflow: hidden;
    display: block;
    width: 148px;
    height: 16px;
    background-image: url("./assets/images/message/message__page-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .message-section {
    padding-bottom: 200px;
  }
  .message-section:last-of-type {
    padding-bottom: 315px;
  }
  .message-section__ttl1 {
    overflow: hidden;
    display: block;
    width: 415px;
    height: 88px;
    background-image: url("./assets/images/message/message-section__ttl1.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .message-section__ttl2 {
    overflow: hidden;
    display: block;
    width: 600px;
    height: 30px;
    background-image: url("./assets/images/message/message-section__ttl2.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .internship-promo__img {
    background-image: url("./assets/images/entry/internship/internship-promo__img.jpg");
    background-position: right center;
    -webkit-transition: unset;
    -o-transition: unset;
    transition: unset;
  }
  .internship-promo__txt {
    position: absolute;
    top: 50%;
    left: 262px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    overflow: hidden;
    display: block;
    width: 100px;
    height: 500px;
    background-image: url("./assets/images/entry/internship/internship-promo__txt.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .internship__page-ttl {
    overflow: hidden;
    display: block;
    width: 130px;
    height: 16px;
    background-image: url("./assets/images/entry/internship/internship__page-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .internship-nav {
    position: fixed;
    right: 40px;
    top: 50%;
    z-index: 300;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -webkit-transform: translate(70px, -50%);
    -ms-transform: translate(70px, -50%);
    transform: translate(70px, -50%);
    -webkit-transition: 300ms ease-out;
    -o-transition: 300ms ease-out;
    transition: 300ms ease-out;
  }
  .internship-nav.visible {
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .internship-nav__list li {
    position: relative;
    margin-bottom: 40px;
  }
  .internship-nav__list li a {
    display: inline-block;
    position: relative;
    width: 14px;
    height: 14px;
  }
  .internship-nav__list li a .text {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    position: absolute;
    top: -2px;
    right: 32px;
    -webkit-transition: 300ms ease-out;
    -o-transition: 300ms ease-out;
    transition: 300ms ease-out;
  }
  .internship-nav__list li a:hover .text,
  .internship-nav__list li a.active .text {
    background-position: 0 0;
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .internship-nav__list li a:hover:after,
  .internship-nav__list li a.active:after {
    display: inline-block;
  }
  .internship-nav__list li a:before,
  .internship-nav__list li a:after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    content: "";
    border-radius: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .internship-nav__list li a:before {
    width: 5px;
    height: 5px;
    background-color: #000;
  }
  .internship-nav__list li a:after {
    display: none;
    width: 14px;
    height: 14px;
    border: 1px solid #000;
  }
  .internship-nav__item-interview .text {
    overflow: hidden;
    display: block;
    width: 82px;
    height: 18px;
    background-image: url("./assets/images/entry/internship/internship-nav__item-interview.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-position: 82px 0;
  }
  .internship-nav__item-episode .text {
    overflow: hidden;
    display: block;
    width: 99px;
    height: 18px;
    background-image: url("./assets/images/entry/internship/internship-nav__item-episode.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-position: 99px 0;
  }
  .internship-nav__item-univ .text {
    overflow: hidden;
    display: block;
    width: 118px;
    height: 18px;
    background-image: url("./assets/images/entry/internship/internship-nav__item-univ.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-position: 118px 0;
  }
  .internship-nav__item-list .text {
    overflow: hidden;
    display: block;
    width: 138px;
    height: 18px;
    background-image: url("./assets/images/entry/internship/internship-nav__item-list.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-position: 138px 0;
  }
  .internship-section {
    padding-bottom: 200px;
  }
  .internship-section:last-of-type {
    padding-bottom: 315px;
  }
  .internship-section .lo__btn .lo__btn-text {
    width: 81px;
    height: 18px;
    margin: 0 auto;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-image: url("./assets/images/entry/internship/internship-content__entry-btn.svg");
    background-position: center top;
  }
  .internship-section .lo__btn:hover .lo__btn-text {
    background-position: center bottom;
  }
  .internship-content__subttl {
    overflow: hidden;
    display: block;
    width: 134px;
    height: 16px;
    background-image: url("./assets/images/entry/internship/internship-content__subttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 50px;
  }
  .internship-content__ttl {
    overflow: hidden;
    display: block;
    width: 1000px;
    height: 88px;
    background-image: url("./assets/images/entry/internship/internship-content__ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .internship-content__ttl-list {
    overflow: hidden;
    display: block;
    width: 176px;
    height: 22px;
    background-image: url("./assets/images/entry/internship/internship-content__ttl-list.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .internship-content__ttl-episode {
    overflow: hidden;
    display: block;
    width: 550px;
    height: 30px;
    background-image: url("./assets/images/entry/internship/internship-content__ttl-episode.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .internship-content__ttl-list-required {
    overflow: hidden;
    display: block;
    width: 326px;
    height: 30px;
    background-image: url("./assets/images/entry/internship/internship-content__ttl-list-required.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 10px;
  }
  .internship-content__ttl-list-job {
    overflow: hidden;
    display: block;
    width: 296px;
    height: 30px;
    background-image: url("./assets/images/entry/internship/internship-content__ttl-list-job.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 10px;
  }
  .internship-content__subttl-episode {
    margin-bottom: 58px;
    overflow: hidden;
    display: block;
    width: 208px;
    height: 22px;
    background-image: url("./assets/images/entry/internship/internship-content__subttl-episode.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .internship-content__subttl-univ {
    overflow: hidden;
    display: block;
    width: 346px;
    height: 22px;
    background-image: url("./assets/images/entry/internship/internship-content__subttl-univ.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 90px;
  }
  .internship-content__subttl-interview {
    margin-bottom: 50px;
    overflow: hidden;
    display: block;
    width: 248px;
    height: 22px;
    background-image: url("./assets/images/entry/internship/internship-content__subttl-interview.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .internship-content__ttl-interview {
    overflow: hidden;
    display: block;
    width: 662px;
    height: 30px;
    background-image: url("./assets/images/entry/internship/internship-content__ttl-interview.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .internship-content__txt {
    margin-bottom: 100px;
  }
  .internship-content__wrap-video {
    margin-bottom: 240px;
  }
  .internship-list__item {
    padding-bottom: 35px;
  }
  .internship-list__item-head {
    padding-bottom: 0;
  }
  .internship-list__item-ttl {
    font-weight: bold;
  }
  .internship-list__item-subttl {
    padding: 0 40px;
  }
  .internship-list__item-cont {
    padding-top: 40px;
  }
  .internship-list__item-cont dl {
    margin-bottom: 60px;
  }
  .internship-list__item-cont dt {
    margin-bottom: 6px;
    font-weight: bold;
  }
  .internship-list__item-cs {
    display: block;
    position: absolute;
    top: 60px;
    right: 40px;
  }
  .career-promo__img {
    background-image: url("./assets/images/entry/career/career-promo__img.jpg");
    -webkit-transition: unset;
    -o-transition: unset;
    transition: unset;
  }
  .career-promo__txt {
    position: absolute;
    top: 180px;
    left: 262px;
    overflow: hidden;
    display: block;
    width: 100px;
    height: 350px;
    background-image: url("./assets/images/entry/career/career-promo__txt.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career__page-ttl {
    overflow: hidden;
    display: block;
    width: 82px;
    height: 16px;
    background-image: url("./assets/images/entry/career/career__page-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career-section {
    padding-bottom: 200px;
  }
  .career-section:last-of-type {
    padding-bottom: 315px;
  }
  .career-section .lo__btn {
    margin-top: 225px;
  }
  .career-section .lo__btn .lo__btn-text {
    width: 81px;
    height: 18px;
    margin: 0 auto;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-image: url("./assets/images/entry/career/career-content__entry-btn.svg");
    background-position: center top;
  }
  .career-section .lo__btn:hover .lo__btn-text {
    background-position: center bottom;
  }
  .career-content__subttl {
    overflow: hidden;
    display: block;
    width: 82px;
    height: 18px;
    background-image: url("./assets/images/entry/career/career-content__subttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 50px;
  }
  .career-content__ttl {
    overflow: hidden;
    display: block;
    width: 1000px;
    height: 88px;
    background-image: url("./assets/images/entry/career/career-content__ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career-content__ttl-type {
    overflow: hidden;
    display: block;
    width: 84px;
    height: 24px;
    background-image: url("./assets/images/entry/career/career-content__ttl-type.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career-content__ttl-map {
    overflow: hidden;
    display: block;
    width: 96px;
    height: 24px;
    background-image: url("./assets/images/entry/career/career-content__ttl-map.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career-content__img-map {
    overflow: hidden;
    display: block;
    width: 1000px;
    height: 930px;
    background-image: url("./assets/images/entry/career/career-content__img-map.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career-content__ttl-points {
    overflow: hidden;
    display: block;
    width: 86px;
    height: 24px;
    background-image: url("./assets/images/entry/career/career-content__ttl-points.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career-content__ttl-treat {
    overflow: hidden;
    display: block;
    width: 44px;
    height: 24px;
    background-image: url("./assets/images/entry/career/career-content__ttl-treat.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }

  .career-content__ttl-flow {
    display: block;
    width: auto;
    height: 24px;
    font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.1em;
    color: #000;
    text-indent: 0;
    text-align: left;
    margin-bottom: 60px;
  }

  .newgraduate-promo__img {
    background-image: url("./assets/images/entry/newgraduate/newgraduate-promo__img.jpg");
    -webkit-transition: unset;
    -o-transition: unset;
    transition: unset;
  }
  .newgraduate-promo__txt {
    overflow: hidden;
    display: block;
    width: 120px;
    height: 526px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-promo__txt.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    position: absolute;
    top: 50%;
    left: 230px;
    margin-top: -263px;
  }
  .newgraduate__page-ttl {
    overflow: hidden;
    display: block;
    width: 172px;
    height: 18px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate__page-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-nav {
    position: fixed;
    right: 40px;
    top: 50%;
    z-index: 300;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -webkit-transform: translate(70px, -50%);
    -ms-transform: translate(70px, -50%);
    transform: translate(70px, -50%);
    -webkit-transition: 300ms ease-out;
    -o-transition: 300ms ease-out;
    transition: 300ms ease-out;
  }
  .newgraduate-nav.visible {
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .newgraduate-nav__list li {
    position: relative;
    margin-bottom: 40px;
  }
  .newgraduate-nav__list li a {
    display: inline-block;
    position: relative;
    width: 14px;
    height: 14px;
  }
  .newgraduate-nav__list li a .text {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    position: absolute;
    top: -2px;
    right: 32px;
    -webkit-transition: 300ms ease-out;
    -o-transition: 300ms ease-out;
    transition: 300ms ease-out;
  }
  .newgraduate-nav__list li a:hover .text,
  .newgraduate-nav__list li a.active .text {
    background-position: 0 0;
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .newgraduate-nav__list li a:hover:after,
  .newgraduate-nav__list li a.active:after {
    display: inline-block;
  }
  .newgraduate-nav__list li a:before,
  .newgraduate-nav__list li a:after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    content: "";
    border-radius: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .newgraduate-nav__list li a:before {
    width: 5px;
    height: 5px;
    background-color: #000;
  }
  .newgraduate-nav__list li a:after {
    display: none;
    width: 14px;
    height: 14px;
    border: 1px solid #000;
  }
  .newgraduate-nav__item-talk .text {
    overflow: hidden;
    display: block;
    width: 102px;
    height: 16px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-nav__item-talk.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-position: 102px 0;
  }
  .newgraduate-nav__item-career .text {
    overflow: hidden;
    display: block;
    width: 82px;
    height: 16px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-nav__item-career.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-position: 82px 0;
  }
  .newgraduate-nav__item-training .text {
    overflow: hidden;
    display: block;
    width: 88px;
    height: 16px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-nav__item-training.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-position: 88px 0;
  }
  .newgraduate-section:last-of-type {
    padding-bottom: 315px;
  }
  .newgraduate-section .lo__btn {
    margin-top: 225px;
  }
  .newgraduate-section .lo__btn .lo__btn-text {
    width: 81px;
    height: 18px;
    margin: 0 auto;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-image: url("./assets/images/entry/career-content__entry-btn.svg");
    background-position: center top;
  }
  .newgraduate-section .lo__btn:hover .lo__btn-text {
    background-position: center bottom;
  }
  .newgraduate-content__subttl {
    overflow: hidden;
    display: block;
    width: 82px;
    height: 18px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-content__subttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 50px;
  }
  .newgraduate-content__ttl {
    overflow: hidden;
    display: block;
    width: 682px;
    height: 32px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-content__ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__ttl-type {
    overflow: hidden;
    display: block;
    width: 118px;
    height: 24px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-content__ttl-type.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__ttl-map {
    overflow: hidden;
    display: block;
    width: 138px;
    height: 24px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-content__ttl-map.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__img-map {
    overflow: hidden;
    display: block;
    width: 1000px;
    height: 930px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-content__img-map.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__ttl-points {
    overflow: hidden;
    display: block;
    width: 120px;
    height: 24px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-content__ttl-points.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__ttl-treat {
    overflow: hidden;
    display: block;
    width: 56px;
    height: 24px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-content__ttl-treat.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__list {
    margin-bottom: 0;
  }
  .newgraduate-content__subttl-talk {
    overflow: hidden;
    display: block;
    width: 232px;
    height: 18px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-content__subttl-talk.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 50px;
  }
  .newgraduate-content__ttl-talk {
    overflow: hidden;
    display: block;
    width: 482px;
    height: 32px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-content__ttl-talk--01.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__txt-talk {
    margin-bottom: 100px;
  }
  .newgraduate-content__img-talk--pc {
    margin-bottom: 70px;
    background-position: center;
    background-size: cover;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-content__img-talk.png");
  }
  .newgraduate-content__img-talk--sp {
    display: none;
  }
  .newgraduate-content__btn-talk {
    display: none;
  }
  .newgraduate-content__profiles {
    margin-bottom: 200px;
  }
  .newgraduate-content__profiles dl {
    float: left;
    width: 30%;
    margin-right: 5%;
  }
  .newgraduate-content__profiles dl:last-of-type {
    margin-right: 0;
  }
  .newgraduate-content__profiles dt .name,
  .newgraduate-content__profiles dt .detail {
    display: block;
  }
  .newgraduate-content__profiles dt .name {
    margin-bottom: 2px;
    font-size: 16px;
  }
  .newgraduate-content__profiles dt .detail {
    margin-bottom: 12px;
    font-size: 12px;
  }
  .newgraduate-content__subttl-career {
    overflow: hidden;
    display: block;
    width: 110px;
    height: 18px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-content__subttl-career.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 50px;
  }
  .newgraduate-content__ttl-career {
    overflow: hidden;
    display: block;
    width: 664px;
    height: 32px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-content__ttl-career.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__txt-career {
    margin-bottom: 100px;
  }
  .newgraduate-content__subttl-training {
    margin-bottom: 50px;
    overflow: hidden;
    display: block;
    width: 124px;
    height: 18px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-content__subttl-training.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__ttl-training {
    overflow: hidden;
    display: block;
    width: 382px;
    height: 84px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-content__ttl-training.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__txt-training {
    margin-bottom: 100px;
  }
  .newgraduate-list__item:hover {
    background-color: #dfdfdf;
    -webkit-transition: 100ms ease-out;
    -o-transition: 100ms ease-out;
    transition: 100ms ease-out;
  }
  .talk__ttl--02 {
    overflow: hidden;
    display: block;
    width: 516px;
    height: 32px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-content__ttl-talk--02.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .talk__ttl--03 {
    overflow: hidden;
    display: block;
    width: 516px;
    height: 32px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-content__ttl-talk--03.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .talk__ttl--04 {
    overflow: hidden;
    display: block;
    width: 452px;
    height: 90px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-content__ttl-talk--04.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .talk__ttl--05 {
    overflow: hidden;
    display: block;
    width: 430px;
    height: 32px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-content__ttl-talk--05.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .talk__txt {
    margin-bottom: 200px;
  }
  .talk__txt span {
    display: block;
    margin-bottom: 2em;
  }
  .talk-section:last-of-type .talk__txt {
    margin-bottom: 0;
  }
  .career__wrap {
    margin-bottom: 24px;
    background-color: #efefef;
  }
  .career__head--01,
  .career__head--02,
  .career__head--03,
  .career__head--04,
  .career__head--05 {
    overflow: hidden;
    position: relative;
    height: 300px;
    background-color: #000;
  }
  .career__head--01 .lo__content-width-list-btn,
  .career__head--02 .lo__content-width-list-btn,
  .career__head--03 .lo__content-width-list-btn,
  .career__head--04 .lo__content-width-list-btn,
  .career__head--05 .lo__content-width-list-btn {
    top: 50%;
    margin-top: -9px;
  }
  .career__head--01 .lo__content-width-list-btn:before,
  .career__head--02 .lo__content-width-list-btn:before,
  .career__head--03 .lo__content-width-list-btn:before,
  .career__head--04 .lo__content-width-list-btn:before,
  .career__head--05 .lo__content-width-list-btn:before,
  .career__head--01 .lo__content-width-list-btn:after,
  .career__head--02 .lo__content-width-list-btn:after,
  .career__head--03 .lo__content-width-list-btn:after,
  .career__head--04 .lo__content-width-list-btn:after,
  .career__head--05 .lo__content-width-list-btn:after {
    background-color: #fff;
  }
  .career__head-img--01,
  .career__head-img--02,
  .career__head-img--03,
  .career__head-img--04,
  .career__head-img--05 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 300px;
    background-image: url("./assets/images/entry/newgraduate/career__head-img--01.png");
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -webkit-transition:
      opacity 700ms ease-out,
      -webkit-transform 1000ms ease-out;
    -o-transition:
      opacity 700ms ease-out,
      -o-transform 1000ms ease-out;
    transition:
      opacity 700ms ease-out,
      -webkit-transform 1000ms ease-out;
    -o-transition:
      opacity 700ms ease-out,
      transform 1000ms ease-out;
    transition:
      opacity 700ms ease-out,
      transform 1000ms ease-out;
    transition:
      opacity 700ms ease-out,
      transform 1000ms ease-out,
      -webkit-transform 1000ms ease-out;
  }
  .career__head--01:hover .career__head-img--01,
  .career__head--02:hover .career__head-img--02,
  .career__head--03:hover .career__head-img--03,
  .career__head--04:hover .career__head-img--04,
  .career__head--05:hover .career__head-img--05 {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    opacity: 0.8;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
    filter: alpha(opacity=80);
    -webkit-transition:
      opacity 700ms ease-out,
      -webkit-transform 10000ms ease-out;
    -o-transition:
      opacity 700ms ease-out,
      -o-transform 10000ms ease-out;
    transition:
      opacity 700ms ease-out,
      -webkit-transform 10000ms ease-out;
    -o-transition:
      opacity 700ms ease-out,
      transform 10000ms ease-out;
    transition:
      opacity 700ms ease-out,
      transform 10000ms ease-out;
    transition:
      opacity 700ms ease-out,
      transform 10000ms ease-out,
      -webkit-transform 10000ms ease-out;
  }
  .career__head-ttl--01,
  .career__head-ttl--02,
  .career__head-ttl--03,
  .career__head-ttl--04,
  .career__head-ttl--05 {
    position: absolute;
    left: 50%;
    top: 100px;
    margin-left: 20px;
    overflow: hidden;
    display: block;
    width: 406px;
    height: 40px;
    background-image: url("./assets/images/entry/newgraduate/career__head-ttl--01.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-name--01,
  .career__head-name--02,
  .career__head-name--03,
  .career__head-name--04,
  .career__head-name--05 {
    position: absolute;
    left: 50%;
    bottom: 30px;
    margin-left: 20px;
    overflow: hidden;
    display: block;
    width: 240px;
    height: 55px;
    background-image: url("./assets/images/entry/newgraduate/career__head-name--01.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-img--02 {
    background-image: url("./assets/images/entry/newgraduate/career__head-img--02.png");
  }
  .career__head-ttl--02 {
    overflow: hidden;
    display: block;
    width: 376px;
    height: 40px;
    background-image: url("./assets/images/entry/newgraduate/career__head-ttl--02.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-name--02 {
    overflow: hidden;
    display: block;
    width: 340px;
    height: 55px;
    background-image: url("./assets/images/entry/newgraduate/career__head-name--02.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-img--03 {
    background-image: url("./assets/images/entry/newgraduate/career__head-img--03.png");
  }
  .career__head-ttl--03 {
    overflow: hidden;
    display: block;
    width: 288px;
    height: 32px;
    background-image: url("./assets/images/entry/newgraduate/career__head-ttl--03.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-name--03 {
    overflow: hidden;
    display: block;
    width: 390px;
    height: 52px;
    background-image: url("./assets/images/entry/newgraduate/career__head-name--03.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-img--04 {
    background-image: url("./assets/images/entry/newgraduate/career__head-img--04.png");
  }
  .career__head-ttl--04 {
    overflow: hidden;
    display: block;
    width: 372px;
    height: 32px;
    background-image: url("./assets/images/entry/newgraduate/career__head-ttl--04.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-name--04 {
    overflow: hidden;
    display: block;
    width: 390px;
    height: 52px;
    background-image: url("./assets/images/entry/newgraduate/career__head-name--04.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-img--05 {
    background-image: url("./assets/images/entry/newgraduate/career__head-img--05.png");
  }
  .career__head-ttl--05 {
    overflow: hidden;
    display: block;
    width: 396px;
    height: 32px;
    background-image: url("./assets/images/entry/newgraduate/career__head-ttl--05.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-name--05 {
    overflow: hidden;
    display: block;
    width: 390px;
    height: 52px;
    background-image: url("./assets/images/entry/newgraduate/career__head-name--05.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career__content .lo__content-width-list-cont {
    padding-top: 60px;
  }
  .career__content-ttl-profile {
    margin-bottom: 38px;
  }
  .career__content-profile {
    margin-bottom: 100px;
  }
  .career__content-ttl {
    margin-bottom: 30px;
    font-size: 16px;
  }
  .career__content-txt {
    margin-bottom: 100px;
  }
  .career__content-img--01,
  .career__content-img--02,
  .career__content-img--03,
  .career__content-img--04,
  .career__content-img--05 {
    margin-bottom: 100px;
    background-image: url("./assets/images/entry/newgraduate/career__img--01.png");
    background-repeat: no-repeat;
  }
  .career__content-img--02 {
    margin-bottom: 100px;
    background-image: url("./assets/images/entry/newgraduate/career__img--02.png");
  }
  .career__content-img--03 {
    margin-bottom: 100px;
    background-image: url("./assets/images/entry/newgraduate/career__img--03.png");
  }
  .career__content-img--04 {
    margin-bottom: 100px;
    background-image: url("./assets/images/entry/newgraduate/career__img--04.png");
  }
  .career__content-img--05 {
    margin-bottom: 100px;
    background-image: url("./assets/images/entry/newgraduate/career__img--05.png");
  }
  .glnav {
    display: none;
    position: relative;
    width: 100%;
    height: 100%;
  }
  .glnav__btn-open {
    overflow: hidden;
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 200;
    display: block;
    width: 45px;
    height: 45px;
    text-indent: -100%;
    -webkit-transition: 300ms ease-out;
    -o-transition: 300ms ease-out;
    transition: 300ms ease-out;
    background-color: transparent;
    border-radius: 6px;
  }
  .glnav__btn-open span {
    position: absolute;
    top: 43%;
    left: 50%;
    display: block;
    width: 25px;
    height: 1px;
    background-color: #fff;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: 300ms ease-in-out;
    -o-transition: 300ms ease-in-out;
    transition: 300ms ease-in-out;
  }
  .top .glnav__btn-open span {
    background-color: #fff;
  }
  .glnav__btn-open.footer span {
    background-color: #fff;
  }
  .glnav__btn-open:hover span {
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .glnav__btn-open.open {
    -webkit-transform: translateX(0) !important;
    -ms-transform: translateX(0) !important;
    transform: translateX(0) !important;
  }
  .glnav__btn-open.open span {
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
    -ms-transform: translate(-50%, -50%) rotate(90deg);
    transform: translate(-50%, -50%) rotate(90deg);
    background-color: #fff;
  }
  .glnav__btn-open.hide {
    /* -webkit-transform: translateX(60px);
    -ms-transform: translateX(60px);
    transform: translateX(60px); */
  }
  .glnav__bg {
    display: none;
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
  }
  .glnav__cnt {
    position: absolute;
    z-index: 100;
    top: 50%;
    left: 50%;
    width: 960px;
    height: 530px;
    margin: -255px 0 0 -480px;
  }
  .glnav__item a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .glnav__item-top,
  .glnav__item-about,
  .glnav__item-business,
  .glnav__item-style,
  .glnav__item-fresh,
  .glnav__item-career,
  .glnav__item-interview,
  .glnav__item-stories,
  .glnav__item-message,
  .glnav__item-recruit {
    float: right;
    position: relative;
    height: 100%;
    margin-left: 80px;
    padding-top: 40px;
  }
  .glnav__item-top > a,
  .glnav__item-about > a,
  .glnav__item-business > a,
  .glnav__item-style > a,
  .glnav__item-fresh > a,
  .glnav__item-career > a,
  .glnav__item-interview > a,
  .glnav__item-stories > a,
  .glnav__item-message > a,
  .glnav__item-recruit > a {
    position: relative;
    display: block;
    margin: 0 -10px;
    padding: 0 10px 10px;
  }
  .glnav__item-top > a:before,
  .glnav__item-about > a:before,
  .glnav__item-business > a:before,
  .glnav__item-style > a:before,
  .glnav__item-fresh > a:before,
  .glnav__item-career > a:before,
  .glnav__item-interview > a:before,
  .glnav__item-stories > a:before,
  .glnav__item-message > a:before,
  .glnav__item-recruit > a:before {
    content: "";
    display: block;
    position: absolute;
    top: -40px;
    right: 18px;
    z-index: 10;
    width: 1px;
    height: 15px;
    background-color: #fff;
    -webkit-transition: 200ms ease-out;
    -o-transition: 200ms ease-out;
    transition: 200ms ease-out;
    -webkit-transform-origin: 50% 0%;
    -ms-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
  }
  .glnav__item-top > a:hover:before,
  .glnav__item-about > a:hover:before,
  .glnav__item-business > a:hover:before,
  .glnav__item-style > a:hover:before,
  .glnav__item-fresh > a:hover:before,
  .glnav__item-career > a:hover:before,
  .glnav__item-interview > a:hover:before,
  .glnav__item-stories > a:hover:before,
  .glnav__item-message > a:hover:before,
  .glnav__item-recruit > a:hover:before {
    -webkit-transform: scale(1, 2);
    -ms-transform: scale(1, 2);
    transform: scale(1, 2);
  }
  .glnav__item-top-ttl,
  .glnav__item-about-ttl,
  .glnav__item-business-ttl,
  .glnav__item-style-ttl,
  .glnav__item-fresh-ttl,
  .glnav__item-career-ttl,
  .glnav__item-interview-ttl,
  .glnav__item-stories-ttl,
  .glnav__item-message-ttl,
  .glnav__item-recruit-ttl {
    float: right;
    margin-left: 40px;
  }
  .glnav__item-top-txt,
  .glnav__item-about-txt,
  .glnav__item-stories-txt,
  .glnav__item-message-txt,
  .glnav__item-recruit-txt {
    float: right;
    margin-top: 40px;
  }
  .glnav__item-top-ttl {
    overflow: hidden;
    display: block;
    width: 13px;
    height: 60px;
    background-image: url("./assets/images/glnav/glnav__new-item-top-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    margin-left: 0;
  }
  .glnav__item-about-ttl {
    overflow: hidden;
    display: block;
    width: 13px;
    height: 108px;
    background-image: url("./assets/images/glnav/glnav__new-item-about-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav__item-about-txt {
    overflow: hidden;
    display: block;
    width: 124px;
    height: 532px;
    background-image: url("./assets/images/glnav/glnav__item-about-txt.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav__item-stories-ttl {
    overflow: hidden;
    display: block;
    width: 18px;
    height: 90px;
    background-image: url("./assets/images/glnav/glnav__item-stories-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav__item-stories-txt {
    overflow: hidden;
    display: block;
    width: 67px;
    height: 340px;
    background-image: url("./assets/images/glnav/glnav__item-stories-txt.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav__item-message-ttl {
    overflow: hidden;
    display: block;
    width: 18px;
    height: 148px;
    background-image: url("./assets/images/glnav/glnav__item-message-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav__item-message-txt {
    overflow: hidden;
    display: block;
    width: 67px;
    height: 378px;
    background-image: url("./assets/images/glnav/glnav__item-message-txt.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav__item-recruit {
    margin-left: 0;
  }
  .glnav__item-recruit-ttl {
    overflow: hidden;
    display: block;
    width: 18px;
    height: 94px;
    background-image: url("./assets/images/glnav/glnav__item-recruit-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    margin-left: 25px;
  }

  .glnav__item-business-ttl {
    overflow: hidden;
    display: block;
    width: 13px;
    height: 208px;
    background-image: url("./assets/images/glnav/glnav__new-item-business-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }

  .glnav__item-style-ttl {
    overflow: hidden;
    display: block;
    width: 13px;
    height: 126px;
    background-image: url("./assets/images/glnav/glnav__new-item-style-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }

  .glnav__item-fresh-ttl {
    overflow: hidden;
    display: block;
    width: 20px;
    height: 97px;
    background-image: url("./assets/images/glnav/glnav__item-recruit-newgraduate-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }

  .glnav__item-career-ttl {
    overflow: hidden;
    display: block;
    width: 20px;
    height: 97px;
    background-image: url("./assets/images/glnav/glnav__item-mid-career-recruitment-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }

  .glnav__item-interview-ttl {
    overflow: hidden;
    display: block;
    width: 18px;
    height: 135px;
    background-image: url("./assets/images/glnav/glnav__item-interview-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }

  .glnav__item-recruit:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 8px;
    z-index: 10;
    width: 1px;
    height: 15px;
    background-color: #fff;
  }
  .glnav-recruit__wrap {
    float: right;
    padding-top: 40px;
  }
  .glnav-recruit__item-newgraduate,
  .glnav-recruit__item-career,
  .glnav-recruit__item-internship {
    position: relative;
    float: right;
    margin-left: 20px;
  }
  .glnav-recruit__item-newgraduate a,
  .glnav-recruit__item-career a,
  .glnav-recruit__item-internship a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
  }
  .glnav-recruit__item-newgraduate a:hover:before,
  .glnav-recruit__item-career a:hover:before,
  .glnav-recruit__item-internship a:hover:before {
    -webkit-transform: scale(1, 2);
    -ms-transform: scale(1, 2);
    transform: scale(1, 2);
  }
  .glnav-recruit__item-newgraduate a:before,
  .glnav-recruit__item-career a:before,
  .glnav-recruit__item-internship a:before {
    content: "";
    display: block;
    position: absolute;
    top: -40px;
    right: 10px;
    z-index: 10;
    width: 1px;
    height: 15px;
    background-color: #fff;
    -webkit-transition: 200ms ease-out;
    -o-transition: 200ms ease-out;
    transition: 200ms ease-out;
    -webkit-transform-origin: 50% 0%;
    -ms-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
  }
  .glnav-recruit__item-newgraduate {
    clear: both;
  }
  .glnav-recruit__item-newgraduate-ttl {
    overflow: hidden;
    display: block;
    width: 24px;
    height: 146px;
    background-image: url("./assets/images/glnav/glnav-recruit__item-newgraduate.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav-recruit__item-career-ttl {
    overflow: hidden;
    display: block;
    width: 24px;
    height: 146px;
    background-image: url("./assets/images/glnav/glnav-recruit__item-career.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav-recruit__item-internship {
    margin-left: 0;
  }
  .glnav-recruit__item-internship-ttl {
    overflow: hidden;
    display: block;
    width: 24px;
    height: 154px;
    background-image: url("./assets/images/glnav/glnav-recruit__item-internship.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .glfooter {
    position: relative;
    background-color: #000;
    color: #fff;
  }
  .glfooter__cnt {
    padding: 140px 75px 140px;
  }
  .ft__btn-top {
    position: absolute;
    top: -80px;
    right: 29px;
    overflow: hidden;
    display: block;
    width: 26px;
    height: 14px;
    background-image: url("./assets/images/common/ft__btn-top.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-stories {
    margin-bottom: 110px;
  }
  .ft-stories__ttl {
    overflow: hidden;
    display: block;
    width: 88px;
    height: 16px;
    background-image: url("./assets/images/common/ft-stories__ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 60px;
  }
  .ft-stories__item {
    overflow: hidden;
    position: relative;
    height: 300px;
    margin-bottom: 20px;
  }
  .ft-stories__item a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .ft-stories__item a:hover .ft-stories__item-img {
    opacity: 0.8;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
    filter: alpha(opacity=80);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition:
      opacity 700ms ease-out,
      -webkit-transform 10000ms ease-out;
    -o-transition:
      opacity 700ms ease-out,
      -o-transform 10000ms ease-out;
    transition:
      opacity 700ms ease-out,
      -webkit-transform 10000ms ease-out;
    -o-transition:
      opacity 700ms ease-out,
      transform 10000ms ease-out;
    transition:
      opacity 700ms ease-out,
      transform 10000ms ease-out;
    transition:
      opacity 700ms ease-out,
      transform 10000ms ease-out,
      -webkit-transform 10000ms ease-out;
  }
  .ft-stories__item-img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    -webkit-transition:
      opacity 500ms ease-out,
      -webkit-transform 10000ms ease-out;
    -o-transition:
      opacity 500ms ease-out,
      -o-transform 10000ms ease-out;
    transition:
      opacity 500ms ease-out,
      -webkit-transform 10000ms ease-out;
    -o-transition:
      opacity 500ms ease-out,
      transform 10000ms ease-out;
    transition:
      opacity 500ms ease-out,
      transform 10000ms ease-out;
    transition:
      opacity 500ms ease-out,
      transform 10000ms ease-out,
      -webkit-transform 10000ms ease-out;
  }
  .ft-stories__item-ttlblock {
    position: absolute;
    top: 50%;
    left: 40px;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .ft-stories__item-ttl {
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 28px;
  }
  .ft-stories__item-subttl {
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-recruit {
    margin-bottom: 220px;
  }
  .ft-recruit__ttl {
    overflow: hidden;
    display: block;
    width: 92px;
    height: 16px;
    background-image: url("./assets/images/common/ft-recruit__ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 60px;
  }
  .ft-recruit__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 500px;
    /*    height: 250px;*/
  }
  .ft-recruit__item-career,
  .ft-recruit__item-kitchen,
  .ft-recruit__item-newgraduate,
  .ft-recruit__item-internship {
    overflow: hidden;
    position: relative;
    width: 50%;
    /*    width: 33.33%;*/
  }
  .ft-recruit__item-career a,
  .ft-recruit__item-kitchen a,
  .ft-recruit__item-newgraduate a,
  .ft-recruit__item-internship a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .ft-recruit__item-career a:hover .ft-recruit__item-career-img,
  .ft-recruit__item-kitchen a:hover .ft-recruit__item-kitchen-img,
  .ft-recruit__item-newgraduate a:hover .ft-recruit__item-career-img,
  .ft-recruit__item-internship a:hover .ft-recruit__item-career-img,
  .ft-recruit__item-career a:hover .ft-recruit__item-newgraduate-img,
  .ft-recruit__item-newgraduate a:hover .ft-recruit__item-newgraduate-img,
  .ft-recruit__item-internship a:hover .ft-recruit__item-newgraduate-img,
  .ft-recruit__item-career a:hover .ft-recruit__item-internship-img,
  .ft-recruit__item-newgraduate a:hover .ft-recruit__item-internship-img,
  .ft-recruit__item-internship a:hover .ft-recruit__item-internship-img {
    opacity: 0.8;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
    filter: alpha(opacity=80);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition:
      opacity 700ms ease-out,
      -webkit-transform 10000ms ease-out;
    -o-transition:
      opacity 700ms ease-out,
      -o-transform 10000ms ease-out;
    transition:
      opacity 700ms ease-out,
      -webkit-transform 10000ms ease-out;
    -o-transition:
      opacity 700ms ease-out,
      transform 10000ms ease-out;
    transition:
      opacity 700ms ease-out,
      transform 10000ms ease-out;
    transition:
      opacity 700ms ease-out,
      transform 10000ms ease-out,
      -webkit-transform 10000ms ease-out;
  }
  .ft-recruit__item-career-img,
  .ft-recruit__item-kitchen-img,
  .ft-recruit__item-newgraduate-img,
  .ft-recruit__item-internship-img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: right center;
    -webkit-transition:
      opacity 300ms ease-out,
      -webkit-transform 10000ms ease-out;
    -o-transition:
      opacity 300ms ease-out,
      -o-transform 10000ms ease-out;
    transition:
      opacity 300ms ease-out,
      -webkit-transform 10000ms ease-out;
    -o-transition:
      opacity 300ms ease-out,
      transform 10000ms ease-out;
    transition:
      opacity 300ms ease-out,
      transform 10000ms ease-out;
    transition:
      opacity 300ms ease-out,
      transform 10000ms ease-out,
      -webkit-transform 10000ms ease-out;
  }
  .ft-recruit__item-career-ttl,
  .ft-recruit__item-kitchen-ttl,
  .ft-recruit__item-newgraduate-ttl,
  .ft-recruit__item-internship-ttl {
    position: absolute;
    top: 50%;
    left: 50px;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .ft-recruit__item-career-img {
    background-image: url("./assets/images/common/ft-recruit__item-career-img.jpg");
  }
  .ft-recruit__item-career-ttl {
    overflow: hidden;
    display: block;
    width: 170px;
    height: 26px;
    background-image: url("./assets/images/common/ft-recruit__item-career-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-recruit__item-kitchen-img {
    background-image: url("./assets/images/common/ft-recruit__item-kitchen-img.jpg");
  }
  .ft-recruit__item-kitchen-ttl {
    overflow: hidden;
    display: block;
    width: 210px;
    height: 26px;
    background-image: url("./assets/images/common/ft-recruit__item-kitchen-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-recruit__item-newgraduate-img {
    background-image: url("./assets/images/common/ft-recruit__item-newgraduate-img.jpg");
  }
  .ft-recruit__item-newgraduate-ttl {
    overflow: hidden;
    display: block;
    width: 170px;
    height: 26px;
    background-image: url("./assets/images/common/ft-recruit__item-newgraduate-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-recruit__item-internship-img {
    background-image: url("./assets/images/common/ft-recruit__item-internship-img.jpg");
  }
  .ft-recruit__item-internship-ttl {
    overflow: hidden;
    display: block;
    width: 188px;
    height: 26px;
    background-image: url("./assets/images/common/ft-recruit__item-internship-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-links {
    float: left;
  }
  .ft-links__item-top a,
  .ft-links__item-about a,
  .ft-links__item-message a {
    display: block;
    margin-bottom: 16px;
    padding: 10px 10px 10px 30px;
    position: relative;
  }
  .ft-links__item-top a:before,
  .ft-links__item-about a:before,
  .ft-links__item-message a:before {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    content: "";
    width: 15px;
    height: 1px;
    background-color: #fff;
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transition: 200ms ease-out;
    -o-transition: 200ms ease-out;
    transition: 200ms ease-out;
  }
  .ft-links__item-top a:hover:before,
  .ft-links__item-about a:hover:before,
  .ft-links__item-message a:hover:before {
    -webkit-transform: scale(1.5, 1);
    -ms-transform: scale(1.5, 1);
    transform: scale(1.5, 1);
  }
  .ft-links__item-top {
    margin-right: 100px;
  }
  .ft-links__item-top .text {
    overflow: hidden;
    display: block;
    width: 40px;
    height: 16px;
    background-image: url("./assets/images/common/ft-links__item-top.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-links__item-about {
    margin-right: 100px;
  }
  .ft-links__item-about .text {
    overflow: hidden;
    display: block;
    width: 70px;
    height: 16px;
    background-image: url("./assets/images/common/ft-links__item-about.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-links__item-message a {
    margin-bottom: 0;
  }
  .ft-links__item-message .text {
    overflow: hidden;
    display: block;
    width: 146px;
    height: 16px;
    background-image: url("./assets/images/common/ft-links__item-message.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-bottom {
    float: right;
    margin-top: 58px;
  }
  .ft-bottom__logo {
    overflow: hidden;
    display: block;
    width: 124px;
    height: 36px;
    background-image: url("./assets/images/common/ft-bottom__logo.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    margin: 0 0 26px auto;
  }
  .ft-bottom__copy {
    overflow: hidden;
    display: block;
    width: 368px;
    height: 12px;
    background-image: url("./assets/images/common/ft-bottom__copy.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    margin: 0 0 0 auto;
  }
}
.glnav__btn-open span::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: inherit;
  -webkit-transition: 300ms ease-in-out;
  -o-transition: 300ms ease-in-out;
  transition: 300ms ease-in-out;
}

.glnav__btn-open span::after {
  top: 7px;
}

/* Navigation button scroll-based color changes */
/* White state (default - at top/first view) */
.glnav__btn-open span,
.glnav__btn-open span::before,
.glnav__btn-open span::after {
  background-color: #fff !important;
  -webkit-transition: background-color 300ms ease-out;
  -o-transition: background-color 300ms ease-out;
  transition: background-color 300ms ease-out;
}



.glnav__btn-open.scrolled span,
.glnav__btn-open.scrolled span::before,
.glnav__btn-open.scrolled span::after {
  background-color: #000 !important;
}

@media screen and (max-width: 766px) {
  html,
  body,
  #Wrapper,
  .contents {
    min-width: 100%;
    min-height: 100%;
    height: 100%;
  }
  .sp-image {
    display: block;
  }
  .pc-image {
    background-image: none !important;
    width: auto !important;
    height: auto !important;
  }
  body,
  #Wrapper {
    font-size: 12px;
    line-height: 2.2;
    letter-spacing: 0.1em;
    color: #000;
  }
  .lo__content-width-wrap {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: auto;
    margin: 0 auto;
    padding: 0 45px;
  }
  .lo__content-width-wrap img {
    width: 100%;
  }
  .lo__content-width-img {
    overflow: hidden;
    position: relative;
    display: block;
    width: 100%;
    height: 0;
    padding-top: 75%;
  }
  .lo__content-width-img img {
    width: 100%;
  }
  .lo__content-width-list {
    margin: 0 -45px 125px;
  }
  .lo__content-width-list-item {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    margin: 0 auto 5px;
    background-color: #f2f2f2;
  }
  .lo__content-width-list-item .lo__ttl-middle {
    margin-bottom: 15px;
  }
  .lo__content-width-list-item.close .lo__content-width-list-btn:after {
    height: 100%;
  }
  .lo__content-width-list-item small {
    font-size: 10px;
  }
  .lo__content-width-list-head {
    position: relative;
    padding: 20px 45px 20px 30px;
  }
  .lo__content-width-list-cont-wrap {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 0;
  }
  .lo__content-width-list-cont {
    display: block;
    padding: 15px 60px 45px 45px;
    font-size: 11px;
    line-height: 2.2;
  }
  .lo__content-width-list-btn {
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    width: 14px;
    height: 14px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .lo__content-width-list-btn:before,
  .lo__content-width-list-btn:after {
    position: absolute;
    display: block;
    content: "";
    background-color: #000;
  }
  .lo__content-width-list-btn:before {
    top: 7px;
    left: 0;
    width: 100%;
    height: 1px;
  }
  .lo__content-width-list-btn:after {
    top: 0;
    left: 7px;
    width: 1px;
    height: 0;
  }
  .lo__content-width-table,
  .lo__content-width-table--wideterm {
    zoom: 1;
    margin: 0 auto 45px;
    font-size: 12px;
  }
  .lo__content-width-table:before,
  .lo__content-width-table--wideterm:before,
  .lo__content-width-table:after,
  .lo__content-width-table--wideterm:after {
    content: "";
    display: table;
  }
  .lo__content-width-table:after,
  .lo__content-width-table--wideterm:after {
    clear: both;
  }
  .lo__content-width-table-term,
  .lo__content-width-table--wideterm-term {
    float: left;
    width: 33%;
    font-weight: bold;
  }
  .lo__content-width-table-term small,
  .lo__content-width-table--wideterm-term small {
    font-size: 10px;
    font-weight: normal;
    line-height: 1.1;
  }
  .lo__content-width-table-def,
  .lo__content-width-table--wideterm-def {
    float: right;
    width: 65%;
  }
  .lo__content-width-table--wideterm .lo__content-width-table-term {
    float: none;
    width: 100%;
    margin-bottom: 30px;
  }
  .lo__content-width-table--wideterm .lo__content-width-table-def {
    float: none;
    width: 100%;
  }
  .lo__promo-img-wrap {
    overflow: hidden;
    width: auto;
    padding: 0 30px;
  }
  .lo__promo-img-wrap img {
    width: 100%;
  }
  .lo__max-width-wrap {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: auto;
    margin: 0 auto;
    padding: 0 30px;
  }
  .lo__max-width-wrap img {
    width: 100%;
  }
  .lo__full-width-img {
    overflow: hidden;
    position: relative;
    display: block;
    width: 100%;
    height: 0;
    margin: 0 auto;
    padding-top: 100%;
  }
  .lo__full-width-img img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: auto;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .lo__col2-width-wrap {
    position: relative;
    -webkit-column-count: 1;
    column-count: 1;
    -webkit-column-gap: 0px;
    column-gap: 0px;
    text-align: justify;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
  }
  .lo__col2-width-wrap img {
    display: inline-block;
    width: 100%;
    height: auto;
  }
  .lo__col3-width-wrap {
    position: relative;
    -webkit-column-count: 1;
    column-count: 1;
    -webkit-column-gap: 0px;
    column-gap: 0px;
    text-align: justify;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
  }
  .lo__col3-width-wrap img {
    display: inline-block;
    width: 100%;
    height: auto;
    margin: 20px 0;
  }
  .lo__page-ttl {
    width: 100%;
    margin-bottom: 65px;
  }
  .lo__section-ttl {
    margin-bottom: 50px;
  }
  .lo__content-ttl {
    margin-bottom: 50px;
  }
  .lo__ttl--middle {
    font-size: 12px;
    font-weight: bold;
  }
  .lo__ttl--small {
    font-size: 11px;
    font-weight: bold;
  }
  .lo__subttl {
    font-size: 10px;
    color: #777;
  }
  .lo__ttl-caption {
    font-size: 9px;
  }
  .lo__story-header {
    float: right;
    margin-left: 0;
  }
  .lo__story-header-no,
  .lo__story-header-ttl,
  .lo__story-header-subttl {
    float: right;
  }
  .lo__story-header-no img,
  .lo__story-header-ttl img,
  .lo__story-header-subttl img {
    width: auto;
  }
  .lo__story-header-no {
    margin-left: 32px;
  }
  .lo__story-header-ttl {
    margin-left: 25px;
  }
  .lo__story-header:after {
    clear: both;
    display: block;
    content: "";
  }
  .lo__txt {
    font-size: 11px;
    line-height: 2.2;
    letter-spacing: 0.1em;
  }
  .lo__txt--narrow {
    font-size: 11px;
    line-height: 2.2;
    letter-spacing: 0em;
  }
  .lo__btn {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 45px;
    height: 60px;
    margin: 0 auto;
    border: 2px solid #000;
    text-align: center;
    text-decoration: none;
    background-color: #000;
  }
  .lo__btn-text {
    line-height: 1;
    padding: 24px 0;
    cursor: pointer;
  }
  .ar {
    display: block;
    text-align: right;
  }
  .about-promo,
  .about-child-promo,
  .story-promo,
  .message-promo,
  .internship-promo,
  .career-promo,
  .newgraduate-promo {
    overflow: hidden;
    width: 100%;
    height: 100%;
  }
  .about-promo__wrap,
  .about-child-promo__wrap,
  .story-promo__wrap,
  .message-promo__wrap,
  .internship-promo__wrap,
  .career-promo__wrap,
  .newgraduate-promo__wrap {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%;
  }
  .about-promo__shade-top,
  .about-child-promo__shade-top,
  .story-promo__shade-top,
  .message-promo__shade-top,
  .internship-promo__shade-top,
  .career-promo__shade-top,
  .newgraduate-promo__shade-top,
  .about-promo__shade-right,
  .about-child-promo__shade-right,
  .story-promo__shade-right,
  .message-promo__shade-right,
  .internship-promo__shade-right,
  .career-promo__shade-right,
  .newgraduate-promo__shade-right,
  .about-promo__shade-bottom,
  .about-child-promo__shade-bottom,
  .story-promo__shade-bottom,
  .message-promo__shade-bottom,
  .internship-promo__shade-bottom,
  .career-promo__shade-bottom,
  .newgraduate-promo__shade-bottom,
  .about-promo__shade-left,
  .about-child-promo__shade-left,
  .story-promo__shade-left,
  .message-promo__shade-left,
  .internship-promo__shade-left,
  .career-promo__shade-left,
  .newgraduate-promo__shade-left {
    position: absolute;
    z-index: 200;
    display: block;
    background-color: #fff;
    -webkit-transition: 500ms ease-in-out 200ms;
    -o-transition: 500ms ease-in-out 200ms;
    transition: 500ms ease-in-out 200ms;
  }
  .about-promo__shade-top,
  .about-child-promo__shade-top,
  .story-promo__shade-top,
  .message-promo__shade-top,
  .internship-promo__shade-top,
  .career-promo__shade-top,
  .newgraduate-promo__shade-top {
    top: 0;
    left: 0;
    width: 100%;
    height: 30px;
    -webkit-transform-origin: 50% 0%;
    -ms-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
  }
  .js__page-enter--completed .about-promo__shade-top,
  .js__page-enter--completed .about-child-promo__shade-top,
  .js__page-enter--completed .story-promo__shade-top,
  .js__page-enter--completed .message-promo__shade-top,
  .js__page-enter--completed .internship-promo__shade-top,
  .js__page-enter--completed .career-promo__shade-top,
  .js__page-enter--completed .newgraduate-promo__shade-top {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
  }
  .about-promo__shade-right,
  .about-child-promo__shade-right,
  .story-promo__shade-right,
  .message-promo__shade-right,
  .internship-promo__shade-right,
  .career-promo__shade-right,
  .newgraduate-promo__shade-right {
    top: 0;
    right: 0;
    width: 30px;
    height: 100%;
    -webkit-transform-origin: 100% 50%;
    -ms-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
  }
  .js__page-enter--completed .about-promo__shade-right,
  .js__page-enter--completed .about-child-promo__shade-right,
  .js__page-enter--completed .story-promo__shade-right,
  .js__page-enter--completed .message-promo__shade-right,
  .js__page-enter--completed .internship-promo__shade-right,
  .js__page-enter--completed .career-promo__shade-right,
  .js__page-enter--completed .newgraduate-promo__shade-right {
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
  }
  .about-promo__shade-bottom,
  .about-child-promo__shade-bottom,
  .story-promo__shade-bottom,
  .message-promo__shade-bottom,
  .internship-promo__shade-bottom,
  .career-promo__shade-bottom,
  .newgraduate-promo__shade-bottom {
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30px;
    -webkit-transform-origin: 50% 100%;
    -ms-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
  }
  .js__page-enter--completed .about-promo__shade-bottom,
  .js__page-enter--completed .about-child-promo__shade-bottom,
  .js__page-enter--completed .story-promo__shade-bottom,
  .js__page-enter--completed .message-promo__shade-bottom,
  .js__page-enter--completed .internship-promo__shade-bottom,
  .js__page-enter--completed .career-promo__shade-bottom,
  .js__page-enter--completed .newgraduate-promo__shade-bottom {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
  }
  .about-promo__shade-left,
  .about-child-promo__shade-left,
  .story-promo__shade-left,
  .message-promo__shade-left,
  .internship-promo__shade-left,
  .career-promo__shade-left,
  .newgraduate-promo__shade-left {
    top: 0;
    left: 0;
    width: 30px;
    height: 100%;
    -webkit-transform-origin: 0% 50%;
    -ms-transform-origin: 0% 50%;
    transform-origin: 0% 50%;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
  }
  .js__page-enter--completed .about-promo__shade-left,
  .js__page-enter--completed .about-child-promo__shade-left,
  .js__page-enter--completed .story-promo__shade-left,
  .js__page-enter--completed .message-promo__shade-left,
  .js__page-enter--completed .internship-promo__shade-left,
  .js__page-enter--completed .career-promo__shade-left,
  .js__page-enter--completed .newgraduate-promo__shade-left {
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
  }
  .about-promo__img,
  .about-child-promo__img,
  .story-promo__img,
  .message-promo__img,
  .internship-promo__img,
  .career-promo__img,
  .newgraduate-promo__img {
    overflow: hidden;
    position: relative;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    -webkit-transition: 1000ms ease-in-out 500ms;
    -o-transition: 1000ms ease-in-out 500ms;
    transition: 1000ms ease-in-out 500ms;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
  .js__page-enter--completed .about-promo__img,
  .js__page-enter--completed .about-child-promo__img,
  .js__page-enter--completed .story-promo__img,
  .js__page-enter--completed .message-promo__img,
  .js__page-enter--completed .internship-promo__img,
  .js__page-enter--completed .career-promo__img,
  .js__page-enter--completed .newgraduate-promo__img {
    -webkit-transform: scale(0.98);
    -ms-transform: scale(0.98);
    transform: scale(0.98);
  }
  .about-promo__ttl,
  .about-child-promo__ttl,
  .story-promo__ttl,
  .message-promo__ttl,
  .internship-promo__ttl,
  .career-promo__ttl,
  .newgraduate-promo__ttl,
  .about-promo__txt1,
  .about-child-promo__txt1,
  .story-promo__txt1,
  .message-promo__txt1,
  .internship-promo__txt1,
  .career-promo__txt1,
  .newgraduate-promo__txt1,
  .about-promo__txt2,
  .about-child-promo__txt2,
  .story-promo__txt2,
  .message-promo__txt2,
  .internship-promo__txt2,
  .career-promo__txt2,
  .newgraduate-promo__txt2 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    display: block;
  }
  .about-promo__btn-more,
  .about-child-promo__btn-more,
  .story-promo__btn-more,
  .message-promo__btn-more,
  .internship-promo__btn-more,
  .career-promo__btn-more,
  .newgraduate-promo__btn-more {
    position: absolute;
  }
  .about-promo__text-scroll,
  .about-child-promo__text-scroll,
  .story-promo__text-scroll,
  .message-promo__text-scroll,
  .internship-promo__text-scroll,
  .career-promo__text-scroll,
  .newgraduate-promo__text-scroll {
    position: absolute;
    display: none;
    bottom: 30px;
    right: 40px;
    z-index: 110;
    height: 112px;
    padding: 10px 20px 0 20px;
  }
  .about-promo__text-scroll .text,
  .about-child-promo__text-scroll .text,
  .story-promo__text-scroll .text,
  .message-promo__text-scroll .text,
  .internship-promo__text-scroll .text,
  .career-promo__text-scroll .text,
  .newgraduate-promo__text-scroll .text {
    overflow: hidden;
    display: block;
    width: 10.5px;
    height: 53px;
    background-image: url("./assets/images/sp/common/cmn__text-scroll.svg");
    background-repeat: no-repeat;
    background-size: 10.5px 53px;
    text-indent: -9999px;
    text-align: left;
  }
  .about-promo__text-scroll .line,
  .about-child-promo__text-scroll .line,
  .story-promo__text-scroll .line,
  .message-promo__text-scroll .line,
  .internship-promo__text-scroll .line,
  .career-promo__text-scroll .line,
  .newgraduate-promo__text-scroll .line {
    display: block;
    position: absolute;
    bottom: 0;
    left: 48%;
    width: 1px;
    height: 48px;
    background-color: #fff;
    -webkit-animation: project-promo__text-scroll--sp 2500ms ease-in-out
      infinite;
    animation: project-promo__text-scroll--sp 2500ms ease-in-out infinite;
  }
  .about-wrap,
  .about-child-wrap,
  .story-wrap,
  .stories-wrap,
  .message-wrap,
  .internship-wrap,
  .career-wrap,
  .newgraduate-wrap {
    padding: 75px 0 0;
  }
  .about-section,
  .about-child-section,
  .story-section,
  .stories-section,
  .message-section,
  .internship-section,
  .career-section,
  .newgraduate-section {
    padding-bottom: 125px;
  }
  .top .contents {
    display: none;
  }
  .promo {
    height: 100%;
  }
  .top__logo {
    position: fixed;
    top: 20px;
    left: 20px;
    z-index: 100;
    overflow: hidden;
    display: block;
    width: 110px;
    height: 32px;
    background-image: url("./assets/images/sp/top/top-vm-logo.svg");
    background-repeat: no-repeat;
    background-size: 110px 32px;
    text-indent: -9999px;
    text-align: left;
  }
  .top-loading {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    height: 100%;
    background-color: #000;
    pointer-events: none;
  }
  .top-loading__progress {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background: #fff;
    z-index: 1000;
  }
  .top-loading-page1,
  .top-loading-page2 {
    width: 100%;
    height: 100%;
    pointer-events: none;
  }
  .top-loading-page1__txt {
    position: absolute;
    top: 50%;
    left: 50%;
    overflow: hidden;
    display: block;
    width: 190.5px;
    height: 8.5px;
    background-image: url("./assets/images/sp/top/loading-page1__txt.svg");
    background-repeat: no-repeat;
    background-size: 190.5px 8.5px;
    text-indent: -9999px;
    text-align: left;
    -webkit-transform: translate(-50%, -50%) scale(1.025, 1.025);
    -ms-transform: translate(-50%, -50%) scale(1.025, 1.025);
    transform: translate(-50%, -50%) scale(1.025, 1.025);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -webkit-transition: 500ms ease-out 0;
    -o-transition: 500ms ease-out 0;
    transition: 500ms ease-out 0;
  }
  .top-loading-page1__txt.is-show {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(-50%, -50%) scale(1, 1);
    -ms-transform: translate(-50%, -50%) scale(1, 1);
    transform: translate(-50%, -50%) scale(1, 1);
  }
  .top-loading-page2 {
    display: none;
  }
  .top-loading-page2__txt {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 176px;
    height: 180px;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .top-loading-page2__txt1,
  .top-loading-page2__txt2,
  .top-loading-page2__txt3,
  .top-loading-page2__txt4 {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    float: right;
  }
  .top-loading-page2__txt1 {
    overflow: hidden;
    display: block;
        width: 44px;
    height: 180px;
    background-image: url("./assets/images/sp/top/new-slide-item-about__txt1.svg");
    background-repeat: no-repeat;
    background-size: 32px 180px;
    text-indent: -9999px;
    text-align: left;
  }
  .top-loading-page2__txt2 {
    overflow: hidden;
    display: block;
    width: 44px;
    height: 220px;
    background-image: url("./assets/images/sp/top/new-slide-item-about__txt2.svg");
    background-repeat: no-repeat;
    background-size: 32px 220px;
    text-indent: -9999px;
    text-align: left;
  }
  .top-loading-page2__txt3 {
    overflow: hidden;
    display: block;
        width: 44px;
      height: 260px;
    background-image: url("./assets/images/sp/top/new-slide-item-about__txt3.svg");
    background-repeat: no-repeat;
    background-size: 32px 260px;
    text-indent: -9999px;
    text-align: left;
  }
  .top-loading-page2__txt4 {
    margin-right: 0;
    overflow: hidden;
    display: block;
        width: 44px;
        height: 180px;
    background-image: url("./assets/images/sp/top/new-slide-item-about__txt4.svg");
    background-repeat: no-repeat;
    background-size: 32px 180px;
    text-indent: -9999px;
    text-align: left;
  }
  .slide {
    background: #000;
    width: 100%;
    height: 100%;
  }
  .slide__wrap {
    background: #000;
  }
  .slide__shade-top,
  .slide__shade-right,
  .slide__shade-bottom,
  .slide__shade-left {
    position: absolute;
    z-index: 200;
    display: block;
    background-color: #fff;
  }
  .slide__shade-top {
    top: 0;
    left: 0;
    width: 100%;
    height: 30px;
    -webkit-transform-origin: 50% 0%;
    -ms-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
  }
  .slide__shade-right {
    top: 0;
    right: 0;
    width: 30px;
    height: 100%;
    -webkit-transform-origin: 100% 50%;
    -ms-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
  }
  .slide__shade-bottom {
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30px;
    -webkit-transform-origin: 50% 100%;
    -ms-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
  }
  .slide__shade-left {
    top: 0;
    left: 0;
    width: 30px;
    height: 100%;
    -webkit-transform-origin: 0% 50%;
    -ms-transform-origin: 0% 50%;
    transform-origin: 0% 50%;
  }
  .slide__text-more {
    pointer-events: none;
    position: absolute;
    bottom: 0;
    right: 30px;
    z-index: 10;
    height: 95px;
  }
  .slide__text-more .text {
    overflow: hidden;
    display: block;
    width: 11px;
    height: 39px;
    background-image: url("./assets/images/sp/top/slide__btn-more-txt.svg");
    background-repeat: no-repeat;
    background-size: 11px 39px;
    text-indent: -9999px;
    text-align: left;
  }
  .slide__text-more .line {
    display: block;
    position: absolute;
    bottom: 0;
    left: 48%;
    width: 1px;
    height: 48px;
    background-color: #fff;
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  .slide__btn-fullscreen {
    position: absolute;
    top: 60px;
    right: 60px;
    z-index: 1100;
    display: block;
    padding: 10px;
  }
  .slide__btn-fullscreen span {
    overflow: hidden;
    display: block;
    width: 18px;
    height: 18px;
    background-image: url("./assets/images/stories/stories__btn-screen-full.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide__btn-sound {
    position: absolute;
    top: 56px;
    right: 100px;
    z-index: 110;
    display: block;
    padding: 10px;
  }
  .slide__btn-sound span {
    overflow: hidden;
    display: block;
    width: 24px;
    height: 48px;
    background-image: url("./assets/images/common/cmn__btn-sound.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    height: 24px;
  }
  .slide__btn-sound.off span {
    background-position: 0 bottom;
  }
  .slide__text-scroll {
    position: absolute;
    display: none;
    bottom: 30px;
    right: 45px;
    z-index: 110;
    height: 122px;
    padding: 10px 20px 0 20px;
  }
  .slide__text-scroll .text {
    overflow: hidden;
    display: block;
    width: 10.5px;
    height: 53px;
    background-image: url("./assets/images/sp/common/cmn__text-scroll.svg");
    background-repeat: no-repeat;
    background-size: 10.5px 53px;
    text-indent: -9999px;
    text-align: left;
  }
  .slide__text-scroll .line {
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 1px;
    height: 60px;
    background-color: #fff;
    -webkit-animation: story-promo__text-scroll--sp 2500ms ease-in-out infinite;
    animation: story-promo__text-scroll--sp 2500ms ease-in-out infinite;
  }
  .slide__text-scroll.stop .line {
    -webkit-animation: story-promo__text-scroll--stop--sp 500ms ease-in-out;
    animation: story-promo__text-scroll--stop--sp 500ms ease-in-out;
  }
  .slide__video {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .slide__btn-play {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: 44px 44px;
    background-repeat: no-repeat;
    background-image: url("./assets/images//common/cmn__icn-play.svg");
  }
  .slide__btn-play.play {
    background-image: none;
  }
  .slide-item-about,
  .slide-item-story,
  .slide-item-message {
    position: relative;
  }
  .slide-item-about a,
  .slide-item-story a,
  .slide-item-message a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .slide-item-about .swiper-container-fade,
  .slide-item-story .swiper-container-fade,
  .slide-item-message .swiper-container-fade {
    position: relative;
    z-index: 0;
    width: 100%;
    height: 100%;
  }
  .slide-item-about__img,
  .slide-item-story__img,
  .slide-item-message__img,
  .slide-item-about__img1,
  .slide-item-story__img1,
  .slide-item-message__img1,
  .slide-item-about__img2,
  .slide-item-story__img2,
  .slide-item-message__img2,
  .slide-item-about__img3,
  .slide-item-story__img3,
  .slide-item-message__img3,
  .slide-item-about__img4,
  .slide-item-story__img4,
  .slide-item-message__img4 {
    overflow: hidden;
    position: relative;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    -webkit-transition: 500ms ease-out 100ms;
    -o-transition: 500ms ease-out 100ms;
    transition: 500ms ease-out 100ms;
  }
  .slide-item-about__img span,
  .slide-item-story__img span,
  .slide-item-message__img span,
  .slide-item-about__img1 span,
  .slide-item-story__img1 span,
  .slide-item-message__img1 span,
  .slide-item-about__img2 span,
  .slide-item-story__img2 span,
  .slide-item-message__img2 span,
  .slide-item-about__img3 span,
  .slide-item-story__img3 span,
  .slide-item-message__img3 span,
  .slide-item-about__img4 span,
  .slide-item-story__img4 span,
  .slide-item-message__img4 span {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    -webkit-transition: -webkit-transform 5000ms ease-out 5000ms;
    -o-transition: -o-transform 5000ms ease-out 5000ms;
    transition: -webkit-transform 5000ms ease-out 5000ms;
    -o-transition: transform 5000ms ease-out 5000ms;
    transition: transform 5000ms ease-out 5000ms;
    transition:
      transform 5000ms ease-out 5000ms,
      -webkit-transform 5000ms ease-out 5000ms;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .top .swiper-container-fade .swiper-slide-active span {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition: -webkit-transform 15000ms ease-out;
    -o-transition: -o-transform 15000ms ease-out;
    transition: -webkit-transform 15000ms ease-out;
    -o-transition: transform 15000ms ease-out;
    transition: transform 15000ms ease-out;
    transition:
      transform 15000ms ease-out,
      -webkit-transform 15000ms ease-out;
  }
  .slide-item-about__ttl,
  .slide-item-story__ttl,
  .slide-item-message__ttl {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    position: absolute;
    bottom: 50px;
    left: 50%;
    -webkit-transform: translate(-50%, 3px);
    -ms-transform: translate(-50%, 3px);
    transform: translate(-50%, 3px);
  }
  .slide-item-about__txt,
  .slide-item-story__txt,
  .slide-item-message__txt,
  .about-promo__txt,
  .about-child-promo__txt,
  .message-promo__txt {
    position: absolute;
    top: 120px;
    left: 15%;
  }
  .slide-item-about__txt1,
  .slide-item-story__txt1,
  .slide-item-message__txt1,
  .slide-item-about__txt2,
  .slide-item-story__txt2,
  .slide-item-message__txt2,
  .about-promo__txt1,
  .about-promo__txt2,
  .about-child-promo__txt1,
  .about-child-promo__txt2,
  .message-promo__txt1,
  .message-promo__txt2 {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    float: left;
    position: relative;
    z-index: 10;
    -webkit-transform: translate(0, -10px);
    -ms-transform: translate(0, -10px);
    transform: translate(0, -10px);
  }
  .slide-item-about__txt2,
  .slide-item-story__txt2,
  .slide-item-message__txt2,
  .about-promo__txt2,
  .about-child-promo__txt2,
  .message-promo__txt2 {
    margin-right: 16px;
  }
  .swiper-slide-active .slide-item-about__ttl,
  .swiper-slide-active .slide-item-story__ttl,
  .swiper-slide-active .slide-item-message__ttl {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    -webkit-transition:
      opacity 150ms ease-in-out 250ms,
      -webkit-transform 150ms ease-in-out 250ms;
    -o-transition:
      opacity 150ms ease-in-out 250ms,
      -o-transform 150ms ease-in-out 250ms;
    transition:
      opacity 150ms ease-in-out 250ms,
      -webkit-transform 150ms ease-in-out 250ms;
    -o-transition:
      opacity 150ms ease-in-out 250ms,
      transform 150ms ease-in-out 250ms;
    transition:
      opacity 150ms ease-in-out 250ms,
      transform 150ms ease-in-out 250ms;
    transition:
      opacity 150ms ease-in-out 250ms,
      transform 150ms ease-in-out 250ms,
      -webkit-transform 150ms ease-in-out 250ms;
  }
  .swiper-slide-active .slide-item-about__txt1,
  .swiper-slide-active .slide-item-story__txt1,
  .swiper-slide-active .slide-item-message__txt1 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transition:
      opacity 500ms ease-in-out 400ms,
      -webkit-transform 500ms ease-in-out 400ms;
    -o-transition:
      opacity 500ms ease-in-out 400ms,
      -o-transform 500ms ease-in-out 400ms;
    transition:
      opacity 500ms ease-in-out 400ms,
      -webkit-transform 500ms ease-in-out 400ms;
    -o-transition:
      opacity 500ms ease-in-out 400ms,
      transform 500ms ease-in-out 400ms;
    transition:
      opacity 500ms ease-in-out 400ms,
      transform 500ms ease-in-out 400ms;
    transition:
      opacity 500ms ease-in-out 400ms,
      transform 500ms ease-in-out 400ms,
      -webkit-transform 500ms ease-in-out 400ms;
  }
  .swiper-slide-active .slide-item-about__txt2,
  .swiper-slide-active .slide-item-story__txt2,
  .swiper-slide-active .slide-item-message__txt2 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transition:
      opacity 750ms ease-in-out 500ms,
      -webkit-transform 750ms ease-in-out 500ms;
    -o-transition:
      opacity 750ms ease-in-out 500ms,
      -o-transform 750ms ease-in-out 500ms;
    transition:
      opacity 750ms ease-in-out 500ms,
      -webkit-transform 750ms ease-in-out 500ms;
    -o-transition:
      opacity 750ms ease-in-out 500ms,
      transform 750ms ease-in-out 500ms;
    transition:
      opacity 750ms ease-in-out 500ms,
      transform 750ms ease-in-out 500ms;
    transition:
      opacity 750ms ease-in-out 500ms,
      transform 750ms ease-in-out 500ms,
      -webkit-transform 750ms ease-in-out 500ms;
  }
  .slide-item-about__ttl {
    overflow: hidden;
    display: block;
    width: 54px;
    height: 11px;
    background-image: url("./assets/images/sp/top/slide-item-about__ttl.svg");
    background-repeat: no-repeat;
    background-size: 54px 11px;
    text-indent: -9999px;
    text-align: left;
  }
  .slide-item-about__txt,
  .about-promo__txt,
  .about-child-promo__txt {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 64px;
    height: 180px;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .slide-item-about__txt1,
  .slide-item-about__txt2,
  .about-promo__txt1,
  .about-promo__txt2,
  .about-child-promo__txt1,
  .about-child-promo__txt2 {
    float: right;
  }
  .slide-item-about__txt1,
  .about-promo__txt1,
  .about-child-promo__txt1 {
    overflow: hidden;
    display: block;
    width: 32px;
    height: 180px;
    background-image: url("./assets/images/sp/top/slide-item-about__txt1.svg");
    background-repeat: no-repeat;
    background-size: 32px 180px;
    text-indent: -9999px;
    text-align: left;
  }
  .slide-item-about__txt2,
  .about-promo__txt2,
  .about-child-promo__txt2 {
    margin-right: 0;
    overflow: hidden;
    display: block;
    width: 32px;
    height: 180px;
    background-image: url("./assets/images/sp/top/slide-item-about__txt2.svg");
    background-repeat: no-repeat;
    background-size: 32px 180px;
    text-indent: -9999px;
    text-align: left;
  }
  .slide-item-about__img1 span {
    background-image: url("./assets/images/sp/about/about-promo__img1.jpg");
  }
  .slide-item-about__img2 span {
    background-image: url("./assets/images/sp/about/about-promo__img2.jpg");
  }
  .slide-item-about__img3 span {
    background-image: url("./assets/images/sp/about/about-promo__img3.jpg");
  }
  .slide-item-about__img4 span {
    background-image: url("./assets/images/sp/about/about-promo__img4.jpg");
  }
  .slide-item-message__ttl {
    overflow: hidden;
    display: block;
    width: 119px;
    height: 11px;
    background-image: url("./assets/images/sp/top/slide-item-message__ttl.svg");
    background-repeat: no-repeat;
    background-size: 119px 11px;
    text-indent: -9999px;
    text-align: left;
  }
  .slide-item-message__txt,
  .message-promo__txt {
    top: 75px;
    left: auto;
    right: 45px;
  }
  .slide-item-message__txt1,
  .slide-item-message__txt2,
  .slide-item-message__txt3,
  .message-promo__txt1,
  .message-promo__txt2,
  .message-promo__txt3 {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    width: 28.5px;
    height: 195.5px;
    margin: 0;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    -webkit-transform: translate(0, -10px);
    -ms-transform: translate(0, -10px);
    transform: translate(0, -10px);
  }
  .slide-item-message__txt1,
  .message-promo__txt1 {
    left: 0;
    background-position: right 0;
    background-image: url("./assets/images/sp/top/slide-item-message__txt3.svg");
  }
  .slide-item-message__txt2,
  .message-promo__txt2 {
    background-position: center 0;
    background-image: url("./assets/images/sp/top/slide-item-message__txt2.svg");
  }
  .slide-item-message__txt3,
  .message-promo__txt3 {
    right: 0;
    background-position: left 0;
    background-image: url("./assets/images/sp/top/slide-item-message__txt1.svg");
  }
  .swiper-slide-active .slide-item-message__txt1,
  .swiper-slide-active .slide-item-message__txt2,
  .swiper-slide-active .slide-item-message__txt3 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  .swiper-slide-active .slide-item-message__txt1 {
    -webkit-transition:
      -webkit-transform 500ms ease-in-out 750ms,
      opacity 500ms ease-in-out 750ms;
    -o-transition:
      -o-transform 500ms ease-in-out 750ms,
      opacity 500ms ease-in-out 750ms;
    -webkit-transition:
      opacity 500ms ease-in-out 750ms,
      -webkit-transform 500ms ease-in-out 750ms;
    transition:
      opacity 500ms ease-in-out 750ms,
      -webkit-transform 500ms ease-in-out 750ms;
    -o-transition:
      transform 500ms ease-in-out 750ms,
      opacity 500ms ease-in-out 750ms;
    transition:
      transform 500ms ease-in-out 750ms,
      opacity 500ms ease-in-out 750ms;
    transition:
      transform 500ms ease-in-out 750ms,
      opacity 500ms ease-in-out 750ms,
      -webkit-transform 500ms ease-in-out 750ms;
  }
  .swiper-slide-active .slide-item-message__txt2 {
    -webkit-transition:
      -webkit-transform 500ms ease-in-out 500ms,
      opacity 500ms ease-in-out 500ms;
    -o-transition:
      -o-transform 500ms ease-in-out 500ms,
      opacity 500ms ease-in-out 500ms;
    -webkit-transition:
      opacity 500ms ease-in-out 500ms,
      -webkit-transform 500ms ease-in-out 500ms;
    transition:
      opacity 500ms ease-in-out 500ms,
      -webkit-transform 500ms ease-in-out 500ms;
    -o-transition:
      transform 500ms ease-in-out 500ms,
      opacity 500ms ease-in-out 500ms;
    transition:
      transform 500ms ease-in-out 500ms,
      opacity 500ms ease-in-out 500ms;
    transition:
      transform 500ms ease-in-out 500ms,
      opacity 500ms ease-in-out 500ms,
      -webkit-transform 500ms ease-in-out 500ms;
  }
  .swiper-slide-active .slide-item-message__txt3 {
    -webkit-transition:
      -webkit-transform 500ms ease-in-out 250ms,
      opacity 500ms ease-in-out 250ms;
    -o-transition:
      -o-transform 500ms ease-in-out 250ms,
      opacity 500ms ease-in-out 250ms;
    -webkit-transition:
      opacity 500ms ease-in-out 250ms,
      -webkit-transform 500ms ease-in-out 250ms;
    transition:
      opacity 500ms ease-in-out 250ms,
      -webkit-transform 500ms ease-in-out 250ms;
    -o-transition:
      transform 500ms ease-in-out 250ms,
      opacity 500ms ease-in-out 250ms;
    transition:
      transform 500ms ease-in-out 250ms,
      opacity 500ms ease-in-out 250ms;
    transition:
      transform 500ms ease-in-out 250ms,
      opacity 500ms ease-in-out 250ms,
      -webkit-transform 500ms ease-in-out 250ms;
  }
  .slide-item-message__img span {
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-image: url("./assets/images/sp/message/message-promo__img.jpg");
  }
  .slide__dots.swiper-pagination-bullets {
    bottom: 20px;
  }
  .slide__dots.swiper-pagination-bullets .swiper-pagination-bullet {
    position: relative;
    background-color: #fff;
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    width: 4px;
    height: 4px;
    margin: 0 12px;
  }
  .slide__dots.swiper-pagination-bullets .swiper-pagination-bullet:after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    content: "";
    width: 0px;
    height: 0px;
    border: 1px solid #fff;
    border-radius: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: 100ms ease-out;
    -o-transition: 100ms ease-out;
    transition: 100ms ease-out;
  }
  .slide__dots.swiper-pagination-bullets .swiper-pagination-bullet .text {
    position: absolute;
    top: -30px;
    left: 50%;
    -webkit-transform: translate(-50%, 10px);
    -ms-transform: translate(-50%, 10px);
    transform: translate(-50%, 10px);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -webkit-transition: 300ms ease-in;
    -o-transition: 300ms ease-in;
    transition: 300ms ease-in;
  }
  .slide__dots.swiper-pagination-bullets
    .swiper-pagination-bullet:first-of-type
    .text {
    overflow: hidden;
    display: block;
    width: 108px;
    height: 22px;
    background-image: url("./assets/images/sp/top/slide-item-about__ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide__dots.swiper-pagination-bullets
    .swiper-pagination-bullet:last-of-type
    .text {
    overflow: hidden;
    display: block;
    width: 238px;
    height: 22px;
    background-image: url("./assets/images/sp/top/slide-item-message__ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide__dots.swiper-pagination-bullets
    .swiper-pagination-bullet-active:after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    content: "";
    width: 10px;
    height: 10px;
    border: 1px solid #fff;
    border-radius: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .slide__dots.swiper-pagination-bullets
    .swiper-pagination-bullet-active
    .text {
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .about-promo__img1 span,
  .about-promo__img2 span,
  .about-promo__img3 span {
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-position: center;
  }
  .about-promo__img1 span {
    background-image: url("./assets/images/sp/about/about-promo__img1.jpg");
  }
  .about-promo__img2 span {
    background-image: url("./assets/images/sp/about/about-promo__img2.jpg");
  }
  .about-promo__img3 span {
    background-image: url("./assets/images/sp/about/about-promo__img3.jpg");
  }
  .about-promo__txt1 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .about-promo__txt2 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .about-wrap .lo__btn {
    display: block;
    margin-top: 60px;
  }
  .about-wrap .lo__btn .lo__btn-text {
    margin: 0 auto;
    overflow: hidden;
    display: block;
    width: 40.5px;
    height: 9px;
    background-image: url("./assets/images/sp/entry/career-content__entry-btn.svg");
    background-repeat: no-repeat;
    background-size: 40.5px 9px;
    text-indent: -9999px;
    text-align: left;
    background-position: center;
  }
  .about-wrap .lo__btn:hover .lo__btn-text {
    background-position: center bottom;
  }
  .about__page-ttl {
    overflow: hidden;
    display: block;
    width: 35px;
    height: 7px;
    background-image: url("./assets/images/sp/about/about__page-ttl.svg");
    background-repeat: no-repeat;
    background-size: 35px 7px;
    text-indent: -9999px;
    text-align: left;
  }
  .about-content__txt-1 {
    margin-bottom: 55px;
  }
  .about-content__section-ttl,
  .about-child__section-ttl {
    overflow: hidden;
    display: block;
    width: 222px;
    height: 16px;
    background-image: url("./assets/images/sp/about/about-content__section-ttl.svg");
    background-repeat: no-repeat;
    background-size: 222px 16px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 36px;
  }
  .about-content__section-txt {
    display: none;
  }
  .about-content__section-txt--sp {
    margin-bottom: 30px;
    font-size: 11px;
  }
  .about-content__section-img--sp {
    margin-bottom: 55px;
  }
  .about-content__section-img--sp img {
    display: block;
    width: 100%;
  }
  .about-content__section-img--sp area {
    border: none;
    outline: none;
  }
  .about-content__section-img {
    display: none;
  }
  .about-section {
    padding-bottom: 80px;
  }
  .about-section__ttl {
    overflow: hidden;
    display: block;
    width: 285px;
    height: 50px;
    background-image: url("./assets/images/sp/about/about-section__ttl.svg");
    background-repeat: no-repeat;
    background-size: 285px 50px;
    text-indent: -9999px;
    text-align: left;
  }
  .about-section__ttl--02 {
    overflow: hidden;
    display: block;
    width: 236px;
    height: 56px;
    background-image: url("./assets/images/sp/about/about-section__ttl--02.svg");
    background-repeat: no-repeat;
    background-size: 236px 56px;
    text-indent: -9999px;
    text-align: left;
  }
  .about__child-wrap {
    padding-left: 0;
    padding-right: 0;
  }
  .about__child-btn {
    position: relative;
    width: 100%;
    height: 140px;
  }
  .about__child-btn a:after {
    position: absolute;
    top: 50%;
    right: 24px;
    display: block;
    content: "";
    width: 9px;
    height: 9px;
    margin-top: -4px;
    border: 1px solid #fff;
    border-width: 1px 1px 0 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .about-child__bg {
    position: absolute;
    z-index: 0;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
  }
  .about-child__bg.pc-image {
    display: none;
  }
  .about-child__wrap {
    position: absolute;
    z-index: 10;
    top: 50%;
    left: 30px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .about-child__wrap .about-child__name {
    margin-bottom: 0;
  }
  .about-child .promo {
    display: none;
  }
  .about-child-promo__img1 span,
  .about-child-promo__img2 span,
  .about-child-promo__img3 span {
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-position: center;
  }
  .about-child-promo__img1 span {
    background-image: url("./assets/images/sp/about/about-promo__img1.jpg");
  }
  .about-child-promo__img2 span {
    background-image: url("./assets/images/sp/about/about-promo__img2.jpg");
  }
  .about-child-promo__img3 span {
    background-image: url("./assets/images/sp/about/about-promo__img3.jpg");
  }
  .about-child-promo__txt1 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .about-child-promo__txt2 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .about-child-wrap .lo__btn {
    display: block;
    margin-top: 50px;
  }
  .about-child-wrap .lo__btn .lo__btn-text {
    margin: 0 auto;
    overflow: hidden;
    display: block;
    width: 40.5px;
    height: 9px;
    background-image: url("./assets/images/sp/entry/career-content__entry-btn.svg");
    background-repeat: no-repeat;
    background-size: 40.5px 9px;
    text-indent: -9999px;
    text-align: left;
    background-position: center;
  }
  .about-child__page-ttl {
    overflow: hidden;
    display: block;
    width: 35px;
    height: 7px;
    background-image: url("./assets/images/sp/about/about__page-ttl.svg");
    background-repeat: no-repeat;
    background-size: 35px 7px;
    text-indent: -9999px;
    text-align: left;
  }
  .about-child-content__ttl {
    margin-bottom: 50px;
  }
  .about-child-section__ttl {
    overflow: hidden;
    display: block;
    width: 285px;
    height: 50px;
    background-image: url("./assets/images/sp/about/about-section__ttl.svg");
    background-repeat: no-repeat;
    background-size: 285px 50px;
    text-indent: -9999px;
    text-align: left;
  }
  .about-child-section .sp-image {
    width: auto;
  }
  .about-child__section-img {
    display: none;
  }
  .about-child__section-img--sp img {
    width: 100%;
    height: auto;
  }
  .about-child__role {
    margin-bottom: 20px;
  }
  .about-child__role img {
    width: auto;
  }
  .about-child__ttl {
    margin-bottom: 20px;
  }
  .about-child__ttl img {
    width: auto;
  }
  .about-child__name {
    margin-bottom: 35px;
  }
  .about-child__name img {
    width: auto;
  }
  .about-child__main-img {
    display: none;
  }
  .about-child__main-img--sp {
    margin-bottom: 55px;
    background-size: cover;
  }
  .about-child__profile-ttl {
    overflow: hidden;
    display: block;
    width: 62px;
    height: 13px;
    background-image: url("./assets/images/sp/about-child/about-child__profile.svg");
    background-repeat: no-repeat;
    background-size: 62px 13px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 14px;
  }
  .about-child__profile-txt {
    margin-bottom: 55px;
  }
  .about-child__second-img {
    margin-bottom: 125px;
    background-size: cover;
  }
  .about-child__task-ttl {
    margin-bottom: 50px;
  }
  .about-child__task-txt {
    position: relative;
    margin-bottom: 80px;
    padding: 25px 20px;
    border: 1px solid #000;
  }
  .about-child__task-txt:after {
    position: absolute;
    bottom: -40px;
    left: 50%;
    display: block;
    content: "";
    width: 18px;
    height: 18px;
    margin-left: -9px;
    border: 1px solid #000;
    border-width: 0 1px 1px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .about-child__task-txt:last-of-type:after {
    display: none;
  }
  .story-promo {
    background-color: #000;
  }
  .story-promo__img {
    cursor: pointer;
    z-index: 100;
  }
  .story-promo__img li span {
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    width: 100%;
    height: 100%;
    background-position: center;
  }
  .story-promo__video {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .js__page-enter--completed .story-promo__video {
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .story-promo__shade-whole {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 90;
  }
  .story-promo__shade-whole.buffering:after {
    position: absolute;
    top: 50%;
    left: 50%;
    overflow: hidden;
    display: block;
    width: 44px;
    height: 44px;
    background-image: url("./assets/images/common/cmn-movie-scroll-icon.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    -webkit-animation: story-promo__shade--loading--sp 1000ms linear infinite;
    animation: story-promo__shade--loading--sp 1000ms linear infinite;
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    content: "";
  }
  .story-copy {
    position: relative;
  }
  .story-copy__txt {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .story-copy__txt1,
  .story-copy__txt2 {
    float: right;
    position: relative;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .story-wrap {
    padding-top: 0;
  }
  .story-header__ttl-header {
    margin-bottom: 100px;
  }
  .story-header__ttl-header:after {
    display: block;
    content: "";
    clear: both;
  }
  .story-section__head-img {
    margin-bottom: 75px;
    background-position: center;
    background-size: cover;
  }
  .story-section__head-img.pc-image {
    display: none;
  }
  .story-content {
    margin-bottom: 300px;
  }
  .story-content > div:last-of-type .story-content__txt {
    margin-bottom: 0;
  }
  .story-content__ttl {
    width: 100%;
    height: auto;
  }
  .story-content__ttl img {
    width: auto;
  }
  .story-content__txt {
    margin-bottom: 55px;
  }
  .story-content__img {
    margin-bottom: 55px;
    background-position: center;
    background-size: cover;
  }
  .story-content--first {
    margin: 0;
    padding-top: 0;
    padding-right: 0;
  }
  .story-content--first div:last-child {
    margin-bottom: 0;
  }
  .story-content div:last-child {
    margin-bottom: 0;
  }
  .story-content:last-of-type {
    margin-bottom: 0;
  }
  .story-content__subttl-interview {
    margin-bottom: 30px;
  }
  .story-content__subttl-interview img {
    display: inline-block;
    width: 75px;
    height: 10px;
  }
  .story-content__ttl-interview {
    margin-bottom: 50px;
  }
  .story-content__ttl-interview img {
    width: auto;
  }
  .story-content__video {
    position: relative;
    display: block;
    width: 100%;
  }
  .story-content__video iframe {
    display: block;
    width: 100%;
    height: 100%;
  }
  .story-footer {
    position: relative;
    width: 220px;
    height: 16px;
    margin: 0 auto 100px;
  }
  .story-footer__btn-prev,
  .story-footer__btn-next {
    position: absolute;
  }
  .story-footer__btn-next {
    right: 0;
    overflow: hidden;
    display: block;
    width: 25px;
    height: 8px;
    background-image: url("./assets/images/common/cmn__btn-next.svg");
    background-repeat: no-repeat;
    background-size: 25px 8px;
    text-indent: -9999px;
    text-align: left;
  }
  .story-footer__btn-prev {
    left: 0;
    overflow: hidden;
    display: block;
    width: 25px;
    height: 8px;
    background-image: url("./assets/images/common/cmn__btn-prev.svg");
    background-repeat: no-repeat;
    background-size: 25px 8px;
    text-indent: -9999px;
    text-align: left;
  }
  .stories-wrap {
    display: block;
  }
  .stories__page-ttl {
    overflow: hidden;
    display: block;
    width: 44px;
    height: 8px;
    background-image: url("./assets/images/sp/stories/stories__page-ttl.svg");
    background-repeat: no-repeat;
    background-size: 44px 8px;
    text-indent: -9999px;
    text-align: left;
  }
  .stories-item {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 250px;
  }
  .stories-item a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .stories-item__img span {
    display: block;
    width: 100%;
    height: 100%;
    z-index: 0;
    background-position: center;
    background-size: cover;
    opacity: 0.8;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
    filter: alpha(opacity=80);
    -webkit-transition: 100ms ease-out;
    -o-transition: 100ms ease-out;
    transition: 100ms ease-out;
  }
  .stories-item__txt-wrap {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 10;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .stories-item__txt-wrap img {
    width: auto;
  }
  .stories-item__txt,
  .stories-item__ttl,
  .stories-item__subttl {
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .stories-item__txt {
    margin-bottom: 35px;
  }
  .stories-item__ttl {
    margin-bottom: 12px;
  }
  .message-promo__img {
    background-image: url("./assets/images/sp/message/message-promo__img.jpg");
  }
  .message-promo__txt1 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  .message-promo__txt2 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  .message-promo__txt3 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  .message__page-ttl {
    overflow: hidden;
    display: block;
    width: 73px;
    height: 8px;
    background-image: url("./assets/images/sp/message/message__page-ttl.svg");
    background-repeat: no-repeat;
    background-size: 73px 8px;
    text-indent: -9999px;
    text-align: left;
  }
  .message-section__ttl1 {
    overflow: hidden;
    display: block;
    width: 285px;
    height: 50px;
    background-image: url("./assets/images/sp/message/message-section__ttl1.svg");
    background-repeat: no-repeat;
    background-size: 285px 50px;
    text-indent: -9999px;
    text-align: left;
  }
  .message-section__ttl2 {
    overflow: hidden;
    display: block;
    width: 285px;
    height: 50px;
    background-image: url("./assets/images/sp/message/message-section__ttl2.svg");
    background-repeat: no-repeat;
    background-size: 285px 50px;
    text-indent: -9999px;
    text-align: left;
  }
  .internship-promo__img {
    background-image: url("./assets/images/sp/entry/internship/internship-promo__img.jpg");
    background-position: right center;
    -webkit-transition: unset;
    -o-transition: unset;
    transition: unset;
  }
  .internship-promo__txt {
    position: absolute;
    top: 50%;
    left: 70px;
    overflow: hidden;
    display: block;
    width: 50px;
    height: 250px;
    background-image: url("./assets/images/sp/entry/internship/internship-promo__txt.svg");
    background-repeat: no-repeat;
    background-size: 50px 250px;
    text-indent: -9999px;
    text-align: left;
    -webkit-transform: translateY(-150px);
    -ms-transform: translateY(-150px);
    transform: translateY(-150px);
  }
  .internship__page-ttl {
    overflow: hidden;
    display: block;
    width: 64.5px;
    height: 8px;
    background-image: url("./assets/images/sp/entry/internship/internship__page-ttl.svg");
    background-repeat: no-repeat;
    background-size: 64.5px 8px;
    text-indent: -9999px;
    text-align: left;
  }
  .internship-nav {
    position: fixed;
    right: 0;
    top: 50%;
    z-index: 100;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    padding: 10px 20px;
    -webkit-transform: translate(70px, -50%);
    -ms-transform: translate(70px, -50%);
    transform: translate(70px, -50%);
    -webkit-transition: 300ms ease-out;
    -o-transition: 300ms ease-out;
    transition: 300ms ease-out;
  }
  .internship-nav.visible {
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .internship-nav__list li {
    position: relative;
    margin-bottom: 20px;
  }
  .internship-nav__list li a {
    display: inline-block;
    position: relative;
    width: 10px;
    height: 10px;
  }
  .internship-nav__list li a .text {
    display: none;
  }
  .internship-nav__list li a.active:after {
    display: inline-block;
  }
  .internship-nav__list li a:before,
  .internship-nav__list li a:after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    content: "";
    border-radius: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .internship-nav__list li a:before {
    width: 4px;
    height: 4px;
    background-color: #000;
  }
  .internship-nav__list li a:after {
    display: none;
    width: 10px;
    height: 10px;
    border: 1px solid #000;
  }
  .internship-section .lo__btn {
    display: block;
    width: 100%;
    height: 100%;
  }
  .internship-section .lo__btn .lo__btn-text {
    margin: 0 auto;
    overflow: hidden;
    display: block;
    width: 40.5px;
    height: 9px;
    background-image: url("./assets/images/sp/entry/internship/internship-content__entry-btn.svg");
    background-repeat: no-repeat;
    background-size: 40.5px 9px;
    text-indent: -9999px;
    text-align: left;
    background-position: center;
  }
  .internship-content__subttl {
    overflow: hidden;
    display: block;
    width: 80px;
    height: 9px;
    background-image: url("./assets/images/sp/entry/internship/internship-content__subttl.svg");
    background-repeat: no-repeat;
    background-size: 80px 9px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 30px;
  }
  .internship-content__ttl {
    padding-top: 18.24561403508772%;
    background-image: url("./assets/images/sp/entry/internship/internship-content__ttl.svg");
    overflow: hidden;
    display: block;
    width: 100%;
    height: 0;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .internship-content__ttl-list {
    overflow: hidden;
    display: block;
    width: 114px;
    height: 16px;
    background-image: url("./assets/images/sp/entry/internship/internship-section__ttl-list.svg");
    background-repeat: no-repeat;
    background-size: 114px 16px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 25px;
  }
  .internship-content__subttl-list {
    margin-bottom: 12px;
  }
  .internship-content__list {
    margin-bottom: 75px;
  }
  .internship-content__ttl-episode {
    overflow: hidden;
    display: block;
    width: 171px;
    height: 51px;
    background-image: url("./assets/images/sp/entry/internship/internship-content__ttl-episode.svg");
    background-repeat: no-repeat;
    background-size: 171px 51px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 40px;
  }
  .internship-content__ttl-list-required {
    overflow: hidden;
    display: block;
    width: 210px;
    height: 21px;
    background-image: url("./assets/images/sp/entry/internship/internship-content__ttl-list-required.svg");
    background-repeat: no-repeat;
    background-size: 210px 21px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 15px;
  }
  .internship-content__ttl-list-job {
    overflow: hidden;
    display: block;
    width: 191px;
    height: 21px;
    background-image: url("./assets/images/sp/entry/internship/internship-content__ttl-list-job.svg");
    background-repeat: no-repeat;
    background-size: 191px 21px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 15px;
  }
  .internship-content__subttl-episode {
    overflow: hidden;
    display: block;
    width: 132px;
    height: 16px;
    background-image: url("./assets/images/sp/entry/internship/internship-content__subttl-episode.svg");
    background-repeat: no-repeat;
    background-size: 132px 16px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 25px;
  }
  .internship-content__subttl-univ {
    overflow: hidden;
    display: block;
    width: 220px;
    height: 16px;
    background-image: url("./assets/images/sp/entry/internship/internship-content__subttl-univ.svg");
    background-repeat: no-repeat;
    background-size: 220px 16px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 25px;
  }
  .internship-content__subttl-interview {
    overflow: hidden;
    display: block;
    width: 155px;
    height: 16px;
    background-image: url("./assets/images/sp/entry/internship/internship-content__subttl-interview.svg");
    background-repeat: no-repeat;
    background-size: 155px 16px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 25px;
  }
  .internship-content__ttl-interview {
    overflow: hidden;
    display: block;
    width: 171px;
    height: 51px;
    background-image: url("./assets/images/sp/entry/internship/internship-content__ttl-interview.svg");
    background-repeat: no-repeat;
    background-size: 171px 51px;
    text-indent: -9999px;
    text-align: left;
  }
  .internship-content__txt {
    margin-bottom: 50px;
  }
  .internship-content__wrap-video {
    margin-bottom: 75px;
  }
  .internship-list__item {
    padding-bottom: 20px;
  }
  .internship-list__item-head {
    padding-bottom: 0;
  }
  .internship-list__item-ttl {
    margin-bottom: 0 !important;
    font-weight: bold;
  }
  .internship-list__item-subttl {
    padding: 0 30px;
  }
  .internship-list__item-btn {
    top: 44px;
  }
  .internship-list__item-category {
    font-size: 8px;
  }
  .internship-list__item-cont {
    padding-top: 25px;
    padding-bottom: 25px;
  }
  .internship-list__item-cont dl {
    margin-bottom: 30px;
  }
  .internship-list__item-cont dt {
    margin-bottom: 3px;
    font-weight: bold;
  }
  .internship-list__item-cs {
    display: block;
    position: absolute;
    top: 30px;
    right: 20px;
    width: 56px;
    font-size: 9px;
    text-align: right;
    line-height: 1.4;
  }
  .disable .internship-list__item-head {
    padding-right: 100px;
  }
  .career-promo__img {
    background-image: url("./assets/images/sp/entry/career-promo__img.jpg");
    -webkit-transition: unset;
    -o-transition: unset;
    transition: unset;
  }
  .career-promo__txt {
    position: absolute;
    top: 100px;
    left: 80px;
    overflow: hidden;
    display: block;
    width: 51.5px;
    height: 194.5px;
    background-image: url("./assets/images/sp/entry/career-promo__txt.svg");
    background-repeat: no-repeat;
    background-size: 51.5px 194.5px;
    text-indent: -9999px;
    text-align: left;
  }
  .career__page-ttl {
    overflow: hidden;
    display: block;
    width: 64.5px;
    height: 8px;
    background-image: url("./assets/images/sp/entry/career__page-ttl.svg");
    background-repeat: no-repeat;
    background-size: 64.5px 8px;
    text-indent: -9999px;
    text-align: left;
  }
  .career-section .lo__btn {
    display: block;
    width: 100%;
    height: 100%;
    margin-top: 75px;
  }
  .career-section .lo__btn .lo__btn-text {
    margin: 0 auto;
    overflow: hidden;
    display: block;
    width: 40.5px;
    height: 9px;
    background-image: url("./assets/images/sp/entry/career-content__entry-btn.svg");
    background-repeat: no-repeat;
    background-size: 40.5px 9px;
    text-indent: -9999px;
    text-align: left;
    background-position: center;
  }
  .career-content__subttl {
    overflow: hidden;
    display: block;
    width: 48px;
    height: 10px;
    background-image: url("./assets/images/sp/entry/career-content__subttl.svg");
    background-repeat: no-repeat;
    background-size: 48px 10px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 50px;
  }
  .career-content__ttl {
    padding-top: 17.543859649122805%;
    background-image: url("./assets/images/sp/entry/career-content__ttl.svg");
    overflow: hidden;
    display: block;
    width: 100%;
    height: 0;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career-content__ttl-type {
    overflow: hidden;
    display: block;
    width: 72px;
    height: 14px;
    background-image: url("./assets/images/sp/entry/career-content__ttl-type.svg");
    background-repeat: no-repeat;
    background-size: 72px 14px;
    text-indent: -9999px;
    text-align: left;
  }
  .career-content__ttl-map {
    overflow: hidden;
    display: block;
    width: 83.5px;
    height: 14px;
    background-image: url("./assets/images/sp/entry/career-content__ttl-map.svg");
    background-repeat: no-repeat;
    background-size: 83.5px 14px;
    text-indent: -9999px;
    text-align: left;
  }
  .career-content__img-map {
    overflow: hidden;
    display: block;
    width: 237px;
    height: 1740px;
    background-image: url("./assets/images/sp/entry/career-content__img-map.svg");
    background-repeat: no-repeat;
    background-size: 237px 1740px;
    text-indent: -9999px;
    text-align: left;
    margin: 0 auto;
  }
  .career-content__ttl-points {
    overflow: hidden;
    display: block;
    width: 72.5px;
    height: 14px;
    background-image: url("./assets/images/sp/entry/career-content__ttl-points.svg");
    background-repeat: no-repeat;
    background-size: 72.5px 14px;
    text-indent: -9999px;
    text-align: left;
  }
  .career-content__ttl-treat {
    overflow: hidden;
    display: block;
    width: 34px;
    height: 14px;
    background-image: url("./assets/images/sp/entry/career-content__ttl-treat.svg");
    background-repeat: no-repeat;
    background-size: 34px 14px;
    text-indent: -9999px;
    text-align: left;
  }

  /* Mobile Recruitment Flow Styles */
  .career-content__ttl-flow {
    font-size: 16px;
    height: auto;
    margin-bottom: 40px;
  }

  .newgraduate-promo__img {
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-promo__img.jpg");
    background-position: right center;
    -webkit-transition: unset;
    -o-transition: unset;
    transition: unset;
  }
  .newgraduate-promo__txt {
    overflow: hidden;
    display: block;
    width: 53px;
    height: 259px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-promo__txt.svg");
    background-repeat: no-repeat;
    background-size: 53px 259px;
    text-indent: -9999px;
    text-align: left;
    position: absolute;
    top: 75px;
    left: 75px;
    margin: 0 auto;
  }
  .newgraduate__page-ttl {
    overflow: hidden;
    display: block;
    width: 82px;
    height: 8px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate__page-ttl.svg");
    background-repeat: no-repeat;
    background-size: 82px 8px;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-nav {
    position: fixed;
    right: 0;
    top: 50%;
    z-index: 100;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    padding: 10px 20px;
    -webkit-transform: translate(70px, -50%);
    -ms-transform: translate(70px, -50%);
    transform: translate(70px, -50%);
    -webkit-transition: 300ms ease-out;
    -o-transition: 300ms ease-out;
    transition: 300ms ease-out;
  }
  .newgraduate-nav.visible {
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .newgraduate-nav__list li {
    position: relative;
    margin-bottom: 20px;
  }
  .newgraduate-nav__list li a {
    display: inline-block;
    position: relative;
    width: 10px;
    height: 10px;
  }
  .newgraduate-nav__list li a .text {
    display: none;
  }
  .newgraduate-nav__list li a.active:after {
    display: inline-block;
  }
  .newgraduate-nav__list li a:before,
  .newgraduate-nav__list li a:after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    content: "";
    border-radius: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .newgraduate-nav__list li a:before {
    width: 4px;
    height: 4px;
    background-color: #000;
  }
  .newgraduate-nav__list li a:after {
    display: none;
    width: 10px;
    height: 10px;
    border: 1px solid #000;
  }
  .newgraduate-section:last-of-type {
    padding-bottom: 315px;
  }
  .newgraduate-section .lo__btn {
    display: block;
    margin-top: 225px;
  }
  .newgraduate-section .lo__btn .lo__btn-text {
    margin: 0 auto;
    overflow: hidden;
    display: block;
    width: 40.5px;
    height: 9px;
    background-image: url("./assets/images/sp/entry/career-content__entry-btn.svg");
    background-repeat: no-repeat;
    background-size: 40.5px 9px;
    text-indent: -9999px;
    text-align: left;
    background-position: center;
  }
  .newgraduate-section .lo__btn:hover .lo__btn-text {
    background-position: center bottom;
  }
  .newgraduate-content__subttl {
    overflow: hidden;
    display: block;
    width: 51px;
    height: 12px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__subttl.svg");
    background-repeat: no-repeat;
    background-size: 51px 12px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 50px;
  }
  .newgraduate-content__ttl {
    overflow: hidden;
    display: block;
    width: 230px;
    height: 50px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__ttl.svg");
    background-repeat: no-repeat;
    background-size: 230px 50px;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__ttl-type {
    overflow: hidden;
    display: block;
    width: 72px;
    height: 14px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__ttl-type.svg");
    background-repeat: no-repeat;
    background-size: 72px 14px;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__ttl-map {
    overflow: hidden;
    display: block;
    width: 83.5px;
    height: 14px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__ttl-map.svg");
    background-repeat: no-repeat;
    background-size: 83.5px 14px;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__img-map {
    overflow: hidden;
    display: block;
    width: 237px;
    height: 1740px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__img-map.svg");
    background-repeat: no-repeat;
    background-size: 237px 1740px;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__ttl-points {
    overflow: hidden;
    display: block;
    width: 72.5px;
    height: 14px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__ttl-points.svg");
    background-repeat: no-repeat;
    background-size: 72.5px 14px;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__ttl-treat {
    overflow: hidden;
    display: block;
    width: 34px;
    height: 14px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__ttl-treat.svg");
    background-repeat: no-repeat;
    background-size: 34px 14px;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__talk-wrap {
    overflow: hidden;
  }
  .newgraduate-content__talk-wrap.close {
    height: 0;
  }
  .newgraduate-content__subttl-talk {
    overflow: hidden;
    display: block;
    width: 156px;
    height: 12px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__subttl-talk.svg");
    background-repeat: no-repeat;
    background-size: 156px 12px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 50px;
  }
  .newgraduate-content__ttl-talk {
    overflow: hidden;
    display: block;
    width: 230px;
    height: 50px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__ttl-talk.svg");
    background-repeat: no-repeat;
    background-size: 230px 50px;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__txt-talk {
    margin-bottom: 50px;
  }
  .newgraduate-content__img-talk--sp {
    margin-bottom: 50px;
    background-position: center;
    background-size: cover;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__img-talk.png");
  }
  .newgraduate-content__img-talk--pc {
    display: none;
  }
  .newgraduate-content__btn-talk {
    display: block;
    margin: 30px 0 60px;
    height: 30px;
    width: 100%;
    border: 1px solid #000;
  }
  .newgraduate-content__btn-talk .text {
    position: absolute;
    top: 50%;
    left: 50%;
    overflow: hidden;
    display: block;
    width: 53px;
    height: 12px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__btn-more.svg");
    background-repeat: no-repeat;
    background-size: 53px 12px;
    text-indent: -9999px;
    text-align: left;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .newgraduate-content__btn-talk.close .text {
    background-image: "./assets/images/sp/entry/newgraduate/newgraduate-content__btn-more.svg";
  }
  .newgraduate-content__profiles {
    margin-bottom: 65px;
  }
  .newgraduate-content__profiles dl {
    margin-bottom: 30px;
  }
  .newgraduate-content__profiles dt .name,
  .newgraduate-content__profiles dt .detail {
    display: block;
  }
  .newgraduate-content__profiles dt .name {
    margin-bottom: 2px;
    font-size: 10px;
  }
  .newgraduate-content__profiles dt .detail {
    margin-bottom: 10px;
    font-size: 9px;
  }
  .newgraduate-content__career-wrap {
    padding-left: 0;
    padding-right: 0;
  }
  .newgraduate-content__subttl-career {
    overflow: hidden;
    display: block;
    width: 156px;
    height: 12px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__subttl-career.svg");
    background-repeat: no-repeat;
    background-size: 156px 12px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 50px;
  }
  .newgraduate-content__ttl-career {
    overflow: hidden;
    display: block;
    width: 230px;
    height: 83px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__ttl-career.svg");
    background-repeat: no-repeat;
    background-size: 230px 83px;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__txt-career {
    margin-bottom: 50px;
  }
  .newgraduate-content__subttl-training {
    margin-bottom: 50px;
    overflow: hidden;
    display: block;
    width: 156px;
    height: 12px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__subttl-training.svg");
    background-repeat: no-repeat;
    background-size: 156px 12px;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__ttl-training {
    overflow: hidden;
    display: block;
    width: 230px;
    height: 50px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__ttl-training.svg");
    background-repeat: no-repeat;
    background-size: 230px 50px;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__txt-training {
    margin-bottom: 50px;
  }
  .talk__ttl--02 {
    overflow: hidden;
    display: block;
    width: 230px;
    height: 50px;
    background-image: url("./assets/images/sp/entry/newgraduate/talk__ttl--02.svg");
    background-repeat: no-repeat;
    background-size: 230px 50px;
    text-indent: -9999px;
    text-align: left;
  }
  .talk__ttl--03 {
    overflow: hidden;
    display: block;
    width: 230px;
    height: 50px;
    background-image: url("./assets/images/sp/entry/newgraduate/talk__ttl--03.svg");
    background-repeat: no-repeat;
    background-size: 230px 50px;
    text-indent: -9999px;
    text-align: left;
  }
  .talk__ttl--04 {
    overflow: hidden;
    display: block;
    width: 230px;
    height: 85.5px;
    background-image: url("./assets/images/sp/entry/newgraduate/talk__ttl--04.svg");
    background-repeat: no-repeat;
    background-size: 230px 85.5px;
    text-indent: -9999px;
    text-align: left;
  }
  .talk__ttl--05 {
    overflow: hidden;
    display: block;
    width: 230px;
    height: 52px;
    background-image: url("./assets/images/sp/entry/newgraduate/talk__ttl--05.svg");
    background-repeat: no-repeat;
    background-size: 230px 52px;
    text-indent: -9999px;
    text-align: left;
  }
  .talk__txt {
    margin-bottom: 90px;
  }
  .talk__txt span {
    display: block;
    margin-bottom: 2em;
  }
  .talk__txt img {
    margin: 30px 0;
  }
  .talk-section:last-of-type .talk__txt {
    margin-bottom: 0;
  }
  .career__wrap {
    margin-bottom: 6px;
    background-color: #efefef;
  }
  .career__head--01,
  .career__head--02,
  .career__head--03,
  .career__head--04,
  .career__head--05 {
    position: relative;
    height: 140px;
    width: 100%;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-img--01.png");
    background-size: cover;
    background-position: 0 0;
  }
  .career__head--01 .lo__content-width-list-btn,
  .career__head--02 .lo__content-width-list-btn,
  .career__head--03 .lo__content-width-list-btn,
  .career__head--04 .lo__content-width-list-btn,
  .career__head--05 .lo__content-width-list-btn {
    width: 15px;
    height: 16px;
  }
  .career__head--01 .lo__content-width-list-btn:before,
  .career__head--02 .lo__content-width-list-btn:before,
  .career__head--03 .lo__content-width-list-btn:before,
  .career__head--04 .lo__content-width-list-btn:before,
  .career__head--05 .lo__content-width-list-btn:before,
  .career__head--01 .lo__content-width-list-btn:after,
  .career__head--02 .lo__content-width-list-btn:after,
  .career__head--03 .lo__content-width-list-btn:after,
  .career__head--04 .lo__content-width-list-btn:after,
  .career__head--05 .lo__content-width-list-btn:after {
    background-color: #fff;
  }
  .career__head-ttl--01,
  .career__head-ttl--02,
  .career__head-ttl--03,
  .career__head-ttl--04,
  .career__head-ttl--05 {
    position: absolute;
    left: 50%;
    top: 32px;
    margin-left: -14px;
    overflow: hidden;
    display: block;
    width: 145px;
    height: 38px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-ttl--01.svg");
    background-repeat: no-repeat;
    background-size: 145px 38px;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-name--01,
  .career__head-name--02,
  .career__head-name--03,
  .career__head-name--04,
  .career__head-name--05 {
    position: absolute;
    left: 50%;
    bottom: 16px;
    margin-left: -14px;
    overflow: hidden;
    display: block;
    width: 145px;
    height: 27px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-name--01.svg");
    background-repeat: no-repeat;
    background-size: 145px 27px;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head--02 {
    overflow: hidden;
    display: block;
    width: 320px;
    height: 140px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-img--02.png");
    background-repeat: no-repeat;
    background-size: 320px 140px;
    text-indent: -9999px;
    text-align: left;
    width: 100%;
    background-size: cover;
  }
  .career__head-ttl--02 {
    overflow: hidden;
    display: block;
    width: 145px;
    height: 38px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-ttl--02.svg");
    background-repeat: no-repeat;
    background-size: 145px 38px;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-name--02 {
    overflow: hidden;
    display: block;
    width: 164.5px;
    height: 27px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-name--02.svg");
    background-repeat: no-repeat;
    background-size: 164.5px 27px;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head--03 {
    overflow: hidden;
    display: block;
    width: 320px;
    height: 140px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-img--03.png");
    background-repeat: no-repeat;
    background-size: 320px 140px;
    text-indent: -9999px;
    text-align: left;
    width: 100%;
    background-size: cover;
  }
  .career__head-ttl--03 {
    overflow: hidden;
    display: block;
    width: 145px;
    height: 15px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-ttl--03.svg");
    background-repeat: no-repeat;
    background-size: 145px 15px;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-name--03 {
    overflow: hidden;
    display: block;
    width: 145px;
    height: 27px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-name--03.svg");
    background-repeat: no-repeat;
    background-size: 145px 27px;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head--04 {
    overflow: hidden;
    display: block;
    width: 320px;
    height: 140px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-img--04.png");
    background-repeat: no-repeat;
    background-size: 320px 140px;
    text-indent: -9999px;
    text-align: left;
    width: 100%;
    background-size: cover;
  }
  .career__head-ttl--04 {
    overflow: hidden;
    display: block;
    width: 145px;
    height: 38px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-ttl--04.svg");
    background-repeat: no-repeat;
    background-size: 145px 38px;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-name--04 {
    overflow: hidden;
    display: block;
    width: 163px;
    height: 27px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-name--04.svg");
    background-repeat: no-repeat;
    background-size: 163px 27px;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head--05 {
    overflow: hidden;
    display: block;
    width: 320px;
    height: 140px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-img--05.png");
    background-repeat: no-repeat;
    background-size: 320px 140px;
    text-indent: -9999px;
    text-align: left;
    width: 100%;
    background-size: cover;
  }
  .career__head-ttl--05 {
    overflow: hidden;
    display: block;
    width: 145px;
    height: 38px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-ttl--05.svg");
    background-repeat: no-repeat;
    background-size: 145px 38px;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-name--05 {
    overflow: hidden;
    display: block;
    width: 163px;
    height: 27px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-name--05.svg");
    background-repeat: no-repeat;
    background-size: 163px 27px;
    text-indent: -9999px;
    text-align: left;
  }
  .career__content .lo__content-width-list-cont {
    padding-top: 60px;
  }
  .career__content-ttl-profile {
    margin-bottom: 38px;
  }
  .career__content-profile {
    margin-bottom: 50px;
  }
  .career__content-ttl {
    margin-bottom: 30px;
    font-size: 12px;
  }
  .career__content-txt {
    margin-bottom: 50px;
  }
  .career__content-img--01,
  .career__content-img--02,
  .career__content-img--03,
  .career__content-img--04,
  .career__content-img--05 {
    margin-bottom: 50px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__img--01.png");
    background-size: cover;
    background-position: center;
  }
  .career__content-img--02 {
    background-image: url("./assets/images/sp/entry/newgraduate/career__img--02.png");
  }
  .career__content-img--03 {
    background-image: url("./assets/images/sp/entry/newgraduate/career__img--03.png");
  }
  .career__content-img--04 {
    background-image: url("./assets/images/sp/entry/newgraduate/career__img--04.png");
  }
  .career__content-img--05 {
    background-image: url("./assets/images/sp/entry/newgraduate/career__img--05.png");
  }
  .glnav {
    display: none;
    position: relative;
    width: 100%;
    height: 100%;
  }
  .glnav__btn-open {
    overflow: hidden;
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 200;
    display: block;
    width: 40px;
    height: 40px;
    text-indent: -100%;
    -webkit-transition: 300ms ease-out;
    -o-transition: 300ms ease-out;
    transition: 300ms ease-out;
  }
  .glnav__btn-open span {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 20px;
    height: 1px;
    background-color: #fff;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: 300ms ease-in-out;
    -o-transition: 300ms ease-in-out;
    transition: 300ms ease-in-out;
  }
  .top .glnav__btn-open span {
    background-color: #fff;
  }
  .glnav__btn-open.footer span {
    background-color: #fff;
  }
  .glnav__btn-open.open {
    -webkit-transform: translateX(0) !important;
    -ms-transform: translateX(0) !important;
    transform: translateX(0) !important;
  }
  .glnav__btn-open.open span {
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
    -ms-transform: translate(-50%, -50%) rotate(90deg);
    transform: translate(-50%, -50%) rotate(90deg);
    background-color: #fff;
  }
  .glnav__btn-open.hide {
    /* -webkit-transform: translateX(60px);
    -ms-transform: translateX(60px);
    transform: translateX(60px); */
  }
  .glnav__bg {
    display: none;
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
  }
  .glnav__cnt {
    position: relative;
    z-index: 100;
    overflow: hidden;
    width: 100%;
    height: 100%;
  }
  .glnav__wrap {
    position: absolute;
    top: 50%;
    right: 40%;
    height: 325px;
    margin-top: -130px;
    margin-right: -80px;
  }
  .glnav__item a {
    width: 100%;
    height: 100%;
  }
  .glnav__item-top,
  .glnav__item-about,
  .glnav__item-business,
  .glnav__item-style,
  .glnav__item-fresh,
  .glnav__item-career,
  .glnav__item-interview,
  .glnav__item-stories,
  .glnav__item-message,
  .glnav__item-recruit {
    float: right;
    position: relative;
    height: 50%;
    margin-left: 60px;
  }
  .glnav__item-top > a,
  .glnav__item-about > a,
  .glnav__item-business > a,
  .glnav__item-style > a,
  .glnav__item-fresh > a,
  .glnav__item-career > a,
  .glnav__item-interview > a,
  .glnav__item-stories > a,
  .glnav__item-message > a,
  .glnav__item-recruit > a {
    position: relative;
    display: block;
    margin: 0 -8px -8px;
    padding: 0 8px 8px;
  }
  .glnav__item-top > a:before,
  .glnav__item-about > a:before,
  .glnav__item-business > a:before,
  .glnav__item-style > a:before,
  .glnav__item-fresh > a:before,
  .glnav__item-career > a:before,
  .glnav__item-interview > a:before,
  .glnav__item-stories > a:before,
  .glnav__item-message > a:before,
  .glnav__item-recruit > a:before {
    content: "";
    display: block;
    position: absolute;
    top: -28px;
    right: 13px;
    z-index: 10;
    width: 1px;
    height: 11px;
    background-color: #fff;
    -webkit-transition: 100ms ease-out;
    -o-transition: 100ms ease-out;
    transition: 100ms ease-out;
    -webkit-transform-origin: 50% 0%;
    -ms-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
  }
  .glnav__item-ttl,
  .glnav__item-txt {
    position: relative;
  }
  .glnav__item-top-ttl {
    overflow: hidden;
    display: block;
    width: 18px;
    height: 51px;
    background-image: url("./assets/images/sp/glnav/glnav__new-item-top-ttl.svg");
    background-repeat: no-repeat;
    background-size: 12.5px 30.5px;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav__item-about-ttl {
    overflow: hidden;
    display: block;
    width: 18px;
    height: 94px;
    background-image: url("./assets/images/sp/glnav/glnav__new-item-about-ttl.svg");
    background-repeat: no-repeat;
    background-size: 12.5px 53.5px;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav__item-about-txt {
    display: none;
  }
  .glnav__item-stories-ttl {
    overflow: hidden;
    display: block;
    width: 13px;
    height: 67px;
    background-image: url("./assets/images/sp/glnav/glnav__item-stories-ttl.svg");
    background-repeat: no-repeat;
    background-size: 13px 67px;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav__item-stories-txt {
    display: none;
  }
  .glnav__item-message {
    margin-left: 0;
  }
  .glnav__item-message-ttl {
    overflow: hidden;
    display: block;
    width: 12.5px;
    height: 110.5px;
    background-image: url("./assets/images/sp/glnav/glnav__item-message-ttl.svg");
    background-repeat: no-repeat;
    background-size: 12.5px 110.5px;
    text-indent: -9999px;
    text-align: left;
  }

  .glnav__item-business-ttl {
    overflow: hidden;
    display: block;
    width: 12px;
    height: 68px;
    background-image: url("./assets/images/sp/glnav/glnav__new-item-business-ttl.svg");
    background-repeat: no-repeat;
    background-size: 12px 68px;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav__item-style-ttl {
    overflow: hidden;
    display: block;
    width: 12px;
    height: 42px;
    background-image: url("./assets/images/sp/glnav/glnav__new-item-style-ttl.svg");
    background-repeat: no-repeat;
    background-size: 12px 42px;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav__item-fresh-ttl {
    overflow: hidden;
    display: block;
    width: 15px;
    height: 58px;
    background-image: url("./assets/images/sp/glnav/glnav__item-recruit-newgraduate-ttl.svg");
    background-repeat: no-repeat;
    background-size: 15px 58px;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav__item-career-ttl {
    overflow: hidden;
    display: block;
    width: 15px;
    height: 58px;
    background-image: url("./assets/images/sp/glnav/glnav__item-mid-career-recruitment-ttl.svg");
    background-repeat: no-repeat;
    background-size: 15px 58px;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav__item-interview-ttl {
    overflow: hidden;
    display: block;
    width: 13.5px;
    height: 81px;
    background-image: url("./assets/images/sp/glnav/glnav__item-interview-ttl.svg");
    background-repeat: no-repeat;
    background-size: 13.5px 81px;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav__item-message-txt {
    display: none;
  }
  .glnav__item-recruit {
    margin-left: 0;
  }
  .glnav__item-recruit-ttl {
    overflow: hidden;
    display: block;
    width: 12.5px;
    height: 69px;
    background-image: url("./assets/images/sp/glnav/glnav__item-recruit-ttl.svg");
    background-repeat: no-repeat;
    background-size: 12.5px 69px;
    text-indent: -9999px;
    text-align: left;
    margin-left: 25px;
    display: inline-block;
  }
  .glnav__item-recruit:before {
    content: "";
    display: block;
    position: absolute;
    top: -28px;
    right: 13px;
    z-index: 10;
    width: 1px;
    height: 11px;
    background-color: #fff;
    -webkit-transition: 100ms ease-out;
    -o-transition: 100ms ease-out;
    transition: 100ms ease-out;
    -webkit-transform-origin: 50% 0%;
    -ms-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    right: 7px;
  }
  .glnav-recruit__wrap {
    float: left;
    margin-top: 30px;
  }
  .glnav-recruit__item-newgraduate,
  .glnav-recruit__item-career,
  .glnav-recruit__item-internship {
    position: relative;
    float: right;
    margin-left: 15px;
  }
  .glnav-recruit__item-newgraduate a,
  .glnav-recruit__item-career a,
  .glnav-recruit__item-internship a {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 -8px -8px;
    padding: 0 8px 8px;
  }
  .glnav-recruit__item-newgraduate a:before,
  .glnav-recruit__item-career a:before,
  .glnav-recruit__item-internship a:before {
    content: "";
    display: block;
    position: absolute;
    top: -28px;
    right: 13px;
    z-index: 10;
    width: 1px;
    height: 11px;
    background-color: #fff;
    -webkit-transition: 100ms ease-out;
    -o-transition: 100ms ease-out;
    transition: 100ms ease-out;
    -webkit-transform-origin: 50% 0%;
    -ms-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    right: 7px;
  }
  .glnav-recruit__item-newgraduate {
    clear: both;
  }
  .glnav-recruit__item-newgraduate-ttl {
    overflow: hidden;
    display: block;
    width: 16px;
    height: 109px;
    background-image: url("./assets/images/sp/glnav/glnav-recruit__item-newgrads.svg");
    background-repeat: no-repeat;
    background-size: 16px 109px;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav-recruit__item-career-ttl {
    overflow: hidden;
    display: block;
    width: 16px;
    height: 109px;
    background-image: url("./assets/images/sp/glnav/glnav-recruit__item-career.svg");
    background-repeat: no-repeat;
    background-size: 16px 109px;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav-recruit__item-internship-ttl {
    overflow: hidden;
    display: block;
    width: 16px;
    height: 114.5px;
    background-image: url("./assets/images/sp/glnav/glnav-recruit__item-internship.svg");
    background-repeat: no-repeat;
    background-size: 16px 114.5px;
    text-indent: -9999px;
    text-align: left;
  }
  .glfooter {
    position: relative;
    background-color: #000;
    color: #fff;
  }
  .glfooter__cnt {
    padding: 55px 45px 30px;
  }
  .ft__btn-top {
    position: absolute;
    top: -40px;
    right: 30px;
    overflow: hidden;
    display: block;
    width: 21.5px;
    height: 15.5px;
    background-image: url("./assets/images/sp/common/ft__btn-top.svg");
    background-repeat: no-repeat;
    background-size: 21.5px 15.5px;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-stories {
    margin-bottom: 55px;
  }
  .ft-stories__ttl {
    overflow: hidden;
    display: block;
    width: 73px;
    height: 7.5px;
    background-image: url("./assets/images/sp/common/ft-stories__ttl.svg");
    background-repeat: no-repeat;
    background-size: 73px 7.5px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 30px;
  }
  .ft-stories__item {
    position: relative;
    height: 100px;
    margin-bottom: 10px;
  }
  .ft-stories__item a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .ft-stories__item a:hover .ft-stories__item-img {
    opacity: 0.8;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
    filter: alpha(opacity=80);
  }
  .ft-stories__item-img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    -webkit-transition: 100ms ease-out;
    -o-transition: 100ms ease-out;
    transition: 100ms ease-out;
  }
  .ft-stories__item-ttlblock {
    position: absolute;
    top: 50%;
    left: 20px;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .ft-stories__item-ttl {
    height: auto;
    margin-bottom: 15px;
  }
  .ft-stories__item-subttl {
    height: 5px;
  }
  .ft-recruit {
    margin-bottom: 55px;
  }
  .ft-recruit__ttl {
    overflow: hidden;
    display: block;
    width: 65.5px;
    height: 7.5px;
    background-image: url("./assets/images/sp/common/ft-recruit__ttl.svg");
    background-repeat: no-repeat;
    background-size: 65.5px 7.5px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 30px;
  }
  .ft-recruit__list {
    height: auto;
  }
  .ft-recruit__item-career,
  .ft-recruit__item-kitchen,
  .ft-recruit__item-newgraduate,
  .ft-recruit__item-internship {
    height: 75px;
    position: relative;
    width: 100%;
    margin-bottom: 10px;
  }
  .ft-recruit__item-career a,
  .ft-recruit__item-kitchen a,
  .ft-recruit__item-newgraduate a,
  .ft-recruit__item-internship a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .ft-recruit__item-career a:hover .ft-recruit__item-career-img,
  .ft-recruit__item-kitchen a:hover .ft-recruit__item-kitchen-img,
  .ft-recruit__item-newgraduate a:hover .ft-recruit__item-career-img,
  .ft-recruit__item-internship a:hover .ft-recruit__item-career-img,
  .ft-recruit__item-career a:hover .ft-recruit__item-newgraduate-img,
  .ft-recruit__item-kitchen a:hover .ft-recruit__item-kitchen-img,
  .ft-recruit__item-newgraduate a:hover .ft-recruit__item-newgraduate-img,
  .ft-recruit__item-internship a:hover .ft-recruit__item-newgraduate-img,
  .ft-recruit__item-career a:hover .ft-recruit__item-internship-img,
  .ft-recruit__item-kitchen a:hover .ft-recruit__item-kitchen-img,
  .ft-recruit__item-newgraduate a:hover .ft-recruit__item-internship-img,
  .ft-recruit__item-internship a:hover .ft-recruit__item-internship-img {
    opacity: 0.8;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
    filter: alpha(opacity=80);
  }
  .ft-recruit__item-career-img,
  .ft-recruit__item-kitchen-img,
  .ft-recruit__item-newgraduate-img,
  .ft-recruit__item-internship-img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    -webkit-transition: 100ms ease-out;
    -o-transition: 100ms ease-out;
    transition: 100ms ease-out;
  }
  .ft-recruit__item-career-ttl,
  .ft-recruit__item-kitchen-ttl,
  .ft-recruit__item-newgraduate-ttl,
  .ft-recruit__item-internship-ttl {
    position: absolute;
    top: 50%;
    left: 25px;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .ft-recruit__item-career-img {
    background-image: url("./assets/images/sp/common/ft-recruit__item-career-img.jpg");
  }
  .ft-recruit__item-career-ttl {
    overflow: hidden;
    display: block;
    width: 86px;
    height: 13px;
    background-image: url("./assets/images/sp/common/ft-recruit__item-career-ttl.svg");
    background-repeat: no-repeat;
    background-size: 86px 13px;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-recruit__item-kitchen-img {
    background-image: url("./assets/images/sp/common/ft-recruit__item-kitchen-img.jpg");
  }
  .ft-recruit__item-kitchen-ttl {
    overflow: hidden;
    display: block;
    width: 110px;
    height: 13px;
    background-image: url("./assets/images/sp/common/ft-recruit__item-kitchen-ttl.svg");
    background-repeat: no-repeat;
    background-size: 110px 13px;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-recruit__item-newgraduate-img {
    background-image: url("./assets/images/sp/common/ft-recruit__item-newgraduate-img.jpg");
  }
  .ft-recruit__item-newgraduate-ttl {
    overflow: hidden;
    display: block;
    width: 86px;
    height: 13px;
    background-image: url("./assets/images/sp/common/ft-recruit__item-newgraduate-ttl.svg");
    background-repeat: no-repeat;
    background-size: 86px 13px;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-recruit__item-internship-img {
    background-image: url("./assets/images/sp/common/ft-recruit__item-internship-img.jpg");
  }
  .ft-recruit__item-internship-ttl {
    overflow: hidden;
    display: block;
    width: 96px;
    height: 13px;
    background-image: url("./assets/images/sp/common/ft-recruit__item-internship-ttl.svg");
    background-repeat: no-repeat;
    background-size: 96px 13px;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-links {
    margin-bottom: 100px;
  }
  .ft-links__list li {
    margin-bottom: 25px;
  }
  .ft-links__item-top {
    margin-right: 100px;
  }
  .ft-links__item-top a {
    overflow: hidden;
    display: block;
    width: 40px;
    height: 7.5px;
    background-image: url("./assets/images/sp/common/ft-links__item-top.svg");
    background-repeat: no-repeat;
    background-size: 40px 7.5px;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-links__item-about {
    margin-right: 100px;
  }
  .ft-links__item-about a {
    overflow: hidden;
    display: block;
    width: 55px;
    height: 7.5px;
    background-image: url("./assets/images/sp/common/ft-links__item-about.svg");
    background-repeat: no-repeat;
    background-size: 55px 7.5px;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-links__item-message a {
    overflow: hidden;
    display: block;
    width: 94px;
    height: 7.5px;
    background-image: url("./assets/images/sp/common/ft-links__item-message.svg");
    background-repeat: no-repeat;
    background-size: 94px 7.5px;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-bottom__logo {
    overflow: hidden;
    display: block;
    width: 61.5px;
    height: 17.5px;
    background-image: url("./assets/images/sp/common/ft-bottom__logo.svg");
    background-repeat: no-repeat;
    background-size: 61.5px 17.5px;
    text-indent: -9999px;
    text-align: left;
    margin: 0 auto 15px;
  }
  .ft-bottom__copy {
    overflow: hidden;
    display: block;
    width: 183.5px;
    height: 5px;
    background-image: url("./assets/images/sp/common/ft-bottom__copy.svg");
    background-repeat: no-repeat;
    background-size: 183.5px 5px;
    text-indent: -9999px;
    text-align: left;
    margin: 0 auto;
  }
}
@media screen and (min-width: 767px) and (max-width: 959px) {
  html,
  body,
  #Wrapper,
  .contents {
    min-width: 100%;
    min-height: 100%;
    height: 100%;
  }
  .pc-image {
    display: block;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .pc-image .sp-image {
    display: none !important;
  }
  body {
    font-size: 14px;
    line-height: 2.2;
    letter-spacing: 0.1em;
    color: #000;
  }
  .lo__content-width-wrap {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 100px;
  }
  .lo__content-width-img {
    overflow: hidden;
    position: relative;
    display: block;
    width: 100%;
    height: 0;
    padding-top: 66.7%;
  }
  .lo__content-width-list {
    margin-bottom: 215px;
  }
  .lo__content-width-list-item {
    overflow: hidden;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    margin: 0 auto 20px;
    background-color: #f2f2f2;
    cursor: pointer;
  }
  .lo__content-width-list-item .lo__ttl--middle {
    margin-bottom: 7px;
    line-height: 1;
  }
  .lo__content-width-list-item.close .lo__content-width-list-btn:after {
    height: 100%;
  }
  .lo__content-width-list-item small {
    font-size: 10px;
  }
  .lo__content-width-list-head {
    padding: 40px 40px 35px;
  }
  .lo__content-width-list-cont-wrap {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 0;
  }
  .lo__content-width-list-cont {
    display: block;
    padding: 20px 95px 65px;
  }
  .lo__content-width-list-btn {
    display: block;
    position: absolute;
    top: 60px;
    right: 40px;
    width: 18px;
    height: 18px;
  }
  .lo__content-width-list-btn:before,
  .lo__content-width-list-btn:after {
    position: absolute;
    display: block;
    content: "";
    background-color: #000;
  }
  .lo__content-width-list-btn:before {
    top: 9px;
    left: 0;
    width: 100%;
    height: 1px;
  }
  .lo__content-width-list-btn:after {
    top: 0;
    left: 9px;
    width: 1px;
    height: 0;
  }
  .lo__content-width-table,
  .lo__content-width-table--wideterm {
    zoom: 1;
    margin: 0 auto 45px;
    font-size: 12px;
  }
  .lo__content-width-table:before,
  .lo__content-width-table--wideterm:before,
  .lo__content-width-table:after,
  .lo__content-width-table--wideterm:after {
    content: "";
    display: table;
  }
  .lo__content-width-table:after,
  .lo__content-width-table--wideterm:after {
    clear: both;
  }
  .lo__content-width-table-term,
  .lo__content-width-table--wideterm-term {
    float: left;
    width: 33%;
    font-weight: bold;
  }
  .lo__content-width-table-term small,
  .lo__content-width-table--wideterm-term small {
    font-size: 10px;
    font-weight: normal;
    line-height: 1.1;
  }
  .lo__content-width-table-def,
  .lo__content-width-table--wideterm-def {
    float: right;
    width: 65%;
  }
  .lo__content-width-table--wideterm .lo__content-width-table-term {
    float: none;
    width: 100%;
    margin-bottom: 30px;
  }
  .lo__content-width-table--wideterm .lo__content-width-table-def {
    float: none;
    width: 100%;
  }
  .lo__promo-img-wrap {
    overflow: hidden;
    width: 100%;
  }
  .lo__max-width-wrap {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
  }
  .lo__full-width-img {
    overflow: hidden;
    position: relative;
    display: block;
    width: 100%;
    height: 600px;
    margin: 0 auto;
  }
  .lo__full-width-img img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: auto;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .lo__col2-width-wrap {
    position: relative;
    -webkit-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 50px;
    column-gap: 50px;
    text-align: justify;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
  }
  .lo__col2-width-wrap img {
    display: block;
    width: 100%;
    height: auto;
    margin: 10px 0;
  }
  .lo__col3-width-wrap {
    position: relative;
    -webkit-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 50px;
    column-gap: 50px;
    text-align: justify;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
  }
  .lo__col3-width-wrap img {
    display: block;
    width: 100%;
    height: auto;
    margin: 10px 0 45px;
  }
  .ie .lo__col3-width-wrap img {
    margin-bottom: 28px;
  }
  .firefox .lo__col3-width-wrap img {
    margin-bottom: 50px;
  }
  .lo__page-ttl {
    width: 100%;
    height: 16px;
    margin-bottom: 140px;
  }
  .lo__page-ttl img {
    width: auto;
    height: 100%;
  }
  .lo__section-ttl {
    width: 100%;
    height: 80px;
    margin-bottom: 100px;
  }
  .lo__section-ttl img {
    width: auto;
    height: 100%;
  }
  .lo__content-ttl {
    width: 100%;
    height: 18px;
    margin-bottom: 100px;
  }
  .lo__content-ttl img {
    width: auto;
    height: 100%;
  }
  .lo__ttl--middle {
    font-size: 16px;
    font-weight: bold;
  }
  .lo__ttl--small {
    font-size: 14px;
    font-weight: bold;
  }
  .lo__subttl {
    font-size: 14px;
    color: #777;
  }
  .lo__ttl-caption {
    font-size: 11px;
  }
  .lo__story-header {
    float: right;
    margin-left: 175px;
  }
  .lo__story-header-no,
  .lo__story-header-ttl,
  .lo__story-header-subttl {
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    float: right;
  }
  .lo__story-header-no {
    margin-left: 65px;
  }
  .lo__story-header-ttl {
    margin-left: 50px;
  }
  .lo__story-header:after {
    clear: both;
    display: block;
    content: "";
  }
  .lo__txt {
    font-size: 14px;
    line-height: 2.2;
    letter-spacing: 0.1em;
  }
  .lo__txt--narrow {
    font-size: 14px;
    line-height: 2.2;
    letter-spacing: 0em;
  }
  .lo__btn {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    max-width: 1000px;
    width: 100%;
    height: 120px;
    margin: 0 auto;
    padding: 46px 0;
    border: 2px solid #000;
    background-color: #000;
  }
  .lo__btn-text {
    overflow: hidden;
    display: block;
    text-indent: -100%;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .lo__btn:hover {
    background-color: #fff;
  }
  .ar {
    display: block;
    text-align: right;
  }
  .about-promo,
  .about-child-promo,
  .story-promo,
  .message-promo,
  .internship-promo,
  .career-promo,
  .newgraduate-promo {
    overflow: hidden;
    width: 100%;
    height: 100%;
  }
  .about-promo__wrap,
  .about-child-promo__wrap,
  .story-promo__wrap,
  .message-promo__wrap,
  .internship-promo__wrap,
  .career-promo__wrap,
  .newgraduate-promo__wrap {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%;
  }
  .about-promo__shade-top,
  .about-child-promo__shade-top,
  .story-promo__shade-top,
  .message-promo__shade-top,
  .internship-promo__shade-top,
  .career-promo__shade-top,
  .newgraduate-promo__shade-top,
  .about-promo__shade-right,
  .about-child-promo__shade-right,
  .story-promo__shade-right,
  .message-promo__shade-right,
  .internship-promo__shade-right,
  .career-promo__shade-right,
  .newgraduate-promo__shade-right,
  .about-promo__shade-bottom,
  .about-child-promo__shade-bottom,
  .story-promo__shade-bottom,
  .message-promo__shade-bottom,
  .internship-promo__shade-bottom,
  .career-promo__shade-bottom,
  .newgraduate-promo__shade-bottom,
  .about-promo__shade-left,
  .about-child-promo__shade-left,
  .story-promo__shade-left,
  .message-promo__shade-left,
  .internship-promo__shade-left,
  .career-promo__shade-left,
  .newgraduate-promo__shade-left {
    position: absolute;
    z-index: 200;
    display: block;
    background-color: #fff;
    -webkit-transition: 1000ms ease-in-out 200ms;
    -o-transition: 1000ms ease-in-out 200ms;
    transition: 1000ms ease-in-out 200ms;
  }
  .about-promo__shade-top,
  .about-child-promo__shade-top,
  .story-promo__shade-top,
  .message-promo__shade-top,
  .internship-promo__shade-top,
  .career-promo__shade-top,
  .newgraduate-promo__shade-top {
    top: 0;
    left: 0;
    width: 100%;
    height: 45px;
    -webkit-transform-origin: 50% 0%;
    -ms-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
  }
  .js__page-enter--completed .about-promo__shade-top,
  .js__page-enter--completed .about-child-promo__shade-top,
  .js__page-enter--completed .story-promo__shade-top,
  .js__page-enter--completed .message-promo__shade-top,
  .js__page-enter--completed .internship-promo__shade-top,
  .js__page-enter--completed .career-promo__shade-top,
  .js__page-enter--completed .newgraduate-promo__shade-top {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
  }
  .about-promo__shade-right,
  .about-child-promo__shade-right,
  .story-promo__shade-right,
  .message-promo__shade-right,
  .internship-promo__shade-right,
  .career-promo__shade-right,
  .newgraduate-promo__shade-right {
    top: 0;
    right: 0;
    width: 45px;
    height: 100%;
    -webkit-transform-origin: 100% 50%;
    -ms-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
  }
  .js__page-enter--completed .about-promo__shade-right,
  .js__page-enter--completed .about-child-promo__shade-right,
  .js__page-enter--completed .story-promo__shade-right,
  .js__page-enter--completed .message-promo__shade-right,
  .js__page-enter--completed .internship-promo__shade-right,
  .js__page-enter--completed .career-promo__shade-right,
  .js__page-enter--completed .newgraduate-promo__shade-right {
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
  }
  .about-promo__shade-bottom,
  .about-child-promo__shade-bottom,
  .story-promo__shade-bottom,
  .message-promo__shade-bottom,
  .internship-promo__shade-bottom,
  .career-promo__shade-bottom,
  .newgraduate-promo__shade-bottom {
    bottom: 0;
    left: 0;
    width: 100%;
    height: 45px;
    -webkit-transform-origin: 50% 100%;
    -ms-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
  }
  .js__page-enter--completed .about-promo__shade-bottom,
  .js__page-enter--completed .about-child-promo__shade-bottom,
  .js__page-enter--completed .story-promo__shade-bottom,
  .js__page-enter--completed .message-promo__shade-bottom,
  .js__page-enter--completed .internship-promo__shade-bottom,
  .js__page-enter--completed .career-promo__shade-bottom,
  .js__page-enter--completed .newgraduate-promo__shade-bottom {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
  }
  .about-promo__shade-left,
  .about-child-promo__shade-left,
  .story-promo__shade-left,
  .message-promo__shade-left,
  .internship-promo__shade-left,
  .career-promo__shade-left,
  .newgraduate-promo__shade-left {
    top: 0;
    left: 0;
    width: 45px;
    height: 100%;
    -webkit-transform-origin: 0% 50%;
    -ms-transform-origin: 0% 50%;
    transform-origin: 0% 50%;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
  }
  .js__page-enter--completed .about-promo__shade-left,
  .js__page-enter--completed .about-child-promo__shade-left,
  .js__page-enter--completed .story-promo__shade-left,
  .js__page-enter--completed .message-promo__shade-left,
  .js__page-enter--completed .internship-promo__shade-left,
  .js__page-enter--completed .career-promo__shade-left,
  .js__page-enter--completed .newgraduate-promo__shade-left {
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
  }
  .about-promo__text-scroll,
  .about-child-promo__text-scroll,
  .story-promo__text-scroll,
  .message-promo__text-scroll,
  .internship-promo__text-scroll,
  .career-promo__text-scroll,
  .newgraduate-promo__text-scroll {
    position: absolute;
    display: none;
    bottom: 90px;
    right: 90px;
    z-index: 110;
    height: 132px;
    padding: 10px 20px 0 20px;
  }
  .about-promo__text-scroll .text,
  .about-child-promo__text-scroll .text,
  .story-promo__text-scroll .text,
  .message-promo__text-scroll .text,
  .internship-promo__text-scroll .text,
  .career-promo__text-scroll .text,
  .newgraduate-promo__text-scroll .text {
    overflow: hidden;
    display: block;
    width: 12px;
    height: 64px;
    background-image: url("./assets/images/common/cmn__text-scroll.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .about-promo__text-scroll .line,
  .about-child-promo__text-scroll .line,
  .story-promo__text-scroll .line,
  .message-promo__text-scroll .line,
  .internship-promo__text-scroll .line,
  .career-promo__text-scroll .line,
  .newgraduate-promo__text-scroll .line {
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 1px;
    height: 60px;
    background-color: #fff;
    -webkit-animation: project-promo__text-scroll--pc 2500ms ease-in-out
      infinite;
    animation: project-promo__text-scroll--pc 2500ms ease-in-out infinite;
  }
  .about-promo__img,
  .about-child-promo__img,
  .story-promo__img,
  .message-promo__img,
  .internship-promo__img,
  .career-promo__img,
  .newgraduate-promo__img {
    overflow: hidden;
    position: relative;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    -webkit-transition: 1000ms ease-in-out 500ms;
    -o-transition: 1000ms ease-in-out 500ms;
    transition: 1000ms ease-in-out 500ms;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
  .js__page-enter--completed .about-promo__img,
  .js__page-enter--completed .about-child-promo__img,
  .js__page-enter--completed .story-promo__img,
  .js__page-enter--completed .message-promo__img,
  .js__page-enter--completed .internship-promo__img,
  .js__page-enter--completed .career-promo__img,
  .js__page-enter--completed .newgraduate-promo__img {
    -webkit-transform: scale(0.98);
    -ms-transform: scale(0.98);
    transform: scale(0.98);
  }
  .about-promo__ttl,
  .about-child-promo__ttl,
  .story-promo__ttl,
  .message-promo__ttl,
  .internship-promo__ttl,
  .career-promo__ttl,
  .newgraduate-promo__ttl,
  .about-promo__txt1,
  .about-child-promo__txt1,
  .story-promo__txt1,
  .message-promo__txt1,
  .internship-promo__txt1,
  .career-promo__txt1,
  .newgraduate-promo__txt1,
  .about-promo__txt2,
  .about-child-promo__txt2,
  .story-promo__txt2,
  .message-promo__txt2,
  .internship-promo__txt2,
  .career-promo__txt2,
  .newgraduate-promo__txt2 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    display: block;
  }
  .about-promo__btn-more,
  .about-child-promo__btn-more,
  .story-promo__btn-more,
  .message-promo__btn-more,
  .internship-promo__btn-more,
  .career-promo__btn-more,
  .newgraduate-promo__btn-more {
    position: absolute;
  }
  .about-wrap,
  .about-child-wrap,
  .story-wrap,
  .stories-wrap,
  .message-wrap,
  .internship-wrap,
  .career-wrap,
  .newgraduate-wrap {
    padding: 200px 0 0;
  }
  .about-section,
  .about-child-section,
  .story-section,
  .stories-section,
  .message-section,
  .internship-section,
  .career-section,
  .newgraduate-section {
    padding-bottom: 315px;
  }
  .top .contents {
    display: none;
  }
  .promo {
    height: 100%;
  }
  .top__logo {
    position: absolute;
    top: 38px;
    left: 38px;
    z-index: 100;
    overflow: hidden;
    display: block;
    width: 150px;
    height: 46px;
    background-image: url("./assets/images/top/top__logo.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .top-loading {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    height: 100%;
    background-color: #000;
  }
  .top-loading__progress {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background: #fff;
    z-index: 1000;
  }
  .top-loading-page1,
  .top-loading-page2 {
    width: 100%;
    height: 100%;
  }
  .top-loading-page1__txt {
    position: absolute;
    top: 50%;
    left: 50%;
    overflow: hidden;
    display: block;
    width: 381px;
    height: 17px;
    background-image: url("./assets/images/top/loading-page1__txt.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    -webkit-transform: translate(-50%, -50%) scale(1.025, 1.025);
    -ms-transform: translate(-50%, -50%) scale(1.025, 1.025);
    transform: translate(-50%, -50%) scale(1.025, 1.025);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -webkit-transition: 500ms ease-out 0;
    -o-transition: 500ms ease-out 0;
    transition: 500ms ease-out 0;
  }
  .top-loading-page1__txt.is-show {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(-50%, -50%) scale(1, 1);
    -ms-transform: translate(-50%, -50%) scale(1, 1);
    transform: translate(-50%, -50%) scale(1, 1);
  }
  .top-loading-page2 {
    display: none;
  }
  .top-loading-page2__txt {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 256px;
    height: 360px;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .top-loading-page2__txt1,
  .top-loading-page2__txt2,
    .top-loading-page2__txt3,
      .top-loading-page2__txt4 {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    float: right;
  }
  .top-loading-page2__txt1 {
    overflow: hidden;
    display: block;
    width: 64px;
    height: 360px;
    background-image: url("./assets/images/top/new-slide-item-about__txt1.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .top-loading-page2__txt2 {
    margin-right: 0;
    overflow: hidden;
    display: block;
    width: 64px;
    height: 360px;
    background-image: url("./assets/images/top/new-slide-item-about__txt2.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }

  .top-loading-page2__txt3 {
    margin-right: 0;
    overflow: hidden;
    display: block;
    width: 64px;
    height: 360px;
    background-image: url("./assets/images/top/new-slide-item-about__txt3.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }

    .top-loading-page2__txt4   {
    margin-right: 0;
    overflow: hidden;
    display: block;
    width: 64px;
    height: 360px;
    background-image: url("./assets/images/top/new-slide-item-about__txt4.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide {
    background: #000;
  }
  .slide__wrap {
    background: #000;
  }
  .slide__shade-top,
  .slide__shade-right,
  .slide__shade-bottom,
  .slide__shade-left {
    position: absolute;
    z-index: 200;
    display: block;
    background-color: #fff;
  }
  .slide__shade-top {
    top: 0;
    left: 0;
    width: 100%;
    height: 45px;
    -webkit-transform-origin: 50% 0%;
    -ms-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
  }
  .slide__shade-right {
    top: 0;
    right: 0;
    width: 45px;
    height: 100%;
    -webkit-transform-origin: 100% 50%;
    -ms-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
  }
  .slide__shade-bottom {
    bottom: 0;
    left: 0;
    width: 100%;
    height: 45px;
    -webkit-transform-origin: 50% 100%;
    -ms-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
  }
  .slide__shade-left {
    top: 0;
    left: 0;
    width: 45px;
    height: 100%;
    -webkit-transform-origin: 0% 50%;
    -ms-transform-origin: 0% 50%;
    transform-origin: 0% 50%;
  }
  .slide__shade-whole {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    display: block;
  }
  .slide__text-more {
    display: none;
    pointer-events: none;
    position: absolute;
    z-index: 110;
    bottom: 0;
    right: 40px;
    width: 18px;
    height: 125px;
    padding: 10px 20px 0 20px;
  }
  .slide__text-more .text {
    overflow: hidden;
    display: block;
    width: 18px;
    height: 54px;
    background-image: url("./assets/images/top/slide__btn-more-txt.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide__text-more .line {
    display: block;
    position: absolute;
    bottom: 0;
    left: 48%;
    width: 1px;
    height: 60px;
    background-color: #fff;
  }
  .slide__text-scroll {
    position: absolute;
    display: none;
    bottom: 45px;
    right: 85px;
    z-index: 110;
    height: 132px;
    padding: 10px 20px 0 20px;
  }
  .slide__text-scroll .text {
    overflow: hidden;
    display: block;
    width: 12px;
    height: 64px;
    background-image: url("./assets/images/common/cmn__text-scroll.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide__text-scroll .line {
    display: block;
    position: absolute;
    bottom: 0;
    left: 48%;
    width: 1px;
    height: 60px;
    background-color: #fff;
    -webkit-animation: story-promo__text-scroll--pc 2500ms ease-in-out infinite;
    animation: story-promo__text-scroll--pc 2500ms ease-in-out infinite;
  }
  .slide__text-scroll.stop .line {
    -webkit-animation: story-promo__text-scroll--stop--pc 500ms ease-in-out;
    animation: story-promo__text-scroll--stop--pc 500ms ease-in-out;
  }
  .slide {
    width: 100%;
    height: 100%;
  }
  .slide-item-about,
  .slide-item-story,
  .slide-item-message {
    position: relative;
  }
  .slide-item-about a,
  .slide-item-story a,
  .slide-item-message a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .slide-item-about .swiper-container-fade,
  .slide-item-story .swiper-container-fade,
  .slide-item-message .swiper-container-fade {
    position: relative;
    z-index: 0;
    width: 100%;
    height: 100%;
  }
  .slide-item-about__img,
  .slide-item-story__img,
  .slide-item-message__img,
  .slide-item-about__img1,
  .slide-item-story__img1,
  .slide-item-message__img1,
  .slide-item-about__img2,
  .slide-item-story__img2,
  .slide-item-message__img2,
  .slide-item-about__img3,
  .slide-item-story__img3,
  .slide-item-message__img3,
  .slide-item-about__img4,
  .slide-item-story__img4,
  .slide-item-message__img4 {
    overflow: hidden;
    position: relative;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    -webkit-transition: 500ms ease-out 100ms;
    -o-transition: 500ms ease-out 100ms;
    transition: 500ms ease-out 100ms;
  }
  .slide-item-about__img span,
  .slide-item-story__img span,
  .slide-item-message__img span,
  .slide-item-about__img1 span,
  .slide-item-story__img1 span,
  .slide-item-message__img1 span,
  .slide-item-about__img2 span,
  .slide-item-story__img2 span,
  .slide-item-message__img2 span,
  .slide-item-about__img3 span,
  .slide-item-story__img3 span,
  .slide-item-message__img3 span,
  .slide-item-about__img4 span,
  .slide-item-story__img4 span,
  .slide-item-message__img4 span {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    -webkit-transition: -webkit-transform 5000ms ease-out 5000ms;
    -o-transition: -o-transform 5000ms ease-out 5000ms;
    transition: -webkit-transform 5000ms ease-out 5000ms;
    -o-transition: transform 5000ms ease-out 5000ms;
    transition: transform 5000ms ease-out 5000ms;
    transition:
      transform 5000ms ease-out 5000ms,
      -webkit-transform 5000ms ease-out 5000ms;
  }
  .swiper-container-fade .swiper-slide-active span {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition: -webkit-transform 15000ms ease-out;
    -o-transition: -o-transform 15000ms ease-out;
    transition: -webkit-transform 15000ms ease-out;
    -o-transition: transform 15000ms ease-out;
    transition: transform 15000ms ease-out;
    transition:
      transform 15000ms ease-out,
      -webkit-transform 15000ms ease-out;
  }
  .slide-item-about__ttl,
  .slide-item-story__ttl,
  .slide-item-message__ttl {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    position: absolute;
    top: 50%;
    right: 60px;
    -webkit-transform: translate(0, -50%) scale(0.8, 0.8);
    -ms-transform: translate(0, -50%) scale(0.8, 0.8);
    transform: translate(0, -50%) scale(0.8, 0.8);
  }
  .slide-item-about__txt,
  .slide-item-story__txt,
  .slide-item-message__txt,
  .about-promo__txt,
  .about-child-promo__txt,
  .message-promo__txt {
    position: absolute;
    top: 23%;
    left: 19%;
  }
  .slide-item-about__txt img,
  .slide-item-story__txt img,
  .slide-item-message__txt img,
  .about-promo__txt img,
  .about-child-promo__txt img,
  .message-promo__txt img {
    width: 100%;
    height: auto;
  }
  .slide-item-about__txt1,
  .slide-item-story__txt1,
  .slide-item-message__txt1,
  .slide-item-about__txt2,
  .slide-item-story__txt2,
  .slide-item-message__txt2,
  .about-promo__txt1,
  .about-promo__txt2,
  .about-child-promo__txt1,
  .about-child-promo__txt2,
  .message-promo__txt1,
  .message-promo__txt2 {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    float: left;
    position: relative;
    z-index: 10;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  .slide-item-about__txt1 img,
  .slide-item-story__txt1 img,
  .slide-item-message__txt1 img,
  .slide-item-about__txt2 img,
  .slide-item-story__txt2 img,
  .slide-item-message__txt2 img,
  .about-promo__txt1 img,
  .about-promo__txt2 img,
  .about-child-promo__txt1 img,
  .about-child-promo__txt2 img,
  .message-promo__txt1 img,
  .message-promo__txt2 img {
    width: 100%;
    height: auto;
  }
  .top .slide-item-about__txt1,
  .top .slide-item-story__txt1,
  .top .slide-item-message__txt1,
  .top .slide-item-about__txt2,
  .top .slide-item-story__txt2,
  .top .slide-item-message__txt2,
  .top .about-promo__txt1,
  .top .about-promo__txt2,
  .top .about-child-promo__txt1,
  .top .about-child-promo__txt2,
  .top .message-promo__txt1,
  .top .message-promo__txt2 {
    -webkit-transform: translate(0, -10px);
    -ms-transform: translate(0, -10px);
    transform: translate(0, -10px);
    -webkit-transition: 0;
    -o-transition: 0;
    transition: 0;
  }
  .slide-item-about__txt2,
  .slide-item-story__txt2,
  .slide-item-message__txt2,
  .about-promo__txt2,
  .about-child-promo__txt2,
  .message-promo__txt2 {
    margin-right: 34px;
  }
  .swiper-slide-active .slide-item-about__ttl,
  .swiper-slide-active .slide-item-story__ttl,
  .swiper-slide-active .slide-item-message__ttl {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    -webkit-transition:
      -webkit-transform 500ms ease-in-out,
      opacity 500ms ease-in-out;
    -o-transition:
      -o-transform 500ms ease-in-out,
      opacity 500ms ease-in-out;
    -webkit-transition:
      opacity 500ms ease-in-out,
      -webkit-transform 500ms ease-in-out;
    transition:
      opacity 500ms ease-in-out,
      -webkit-transform 500ms ease-in-out;
    -o-transition:
      transform 500ms ease-in-out,
      opacity 500ms ease-in-out;
    transition:
      transform 500ms ease-in-out,
      opacity 500ms ease-in-out;
    transition:
      transform 500ms ease-in-out,
      opacity 500ms ease-in-out,
      -webkit-transform 500ms ease-in-out;
  }
  .swiper-slide-active .slide-item-about__txt1,
  .swiper-slide-active .slide-item-story__txt1,
  .swiper-slide-active .slide-item-message__txt1 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transition:
      -webkit-transform 500ms ease-in-out 400ms,
      opacity 500ms ease-in-out 400ms;
    -o-transition:
      -o-transform 500ms ease-in-out 400ms,
      opacity 500ms ease-in-out 400ms;
    -webkit-transition:
      opacity 500ms ease-in-out 400ms,
      -webkit-transform 500ms ease-in-out 400ms;
    transition:
      opacity 500ms ease-in-out 400ms,
      -webkit-transform 500ms ease-in-out 400ms;
    -o-transition:
      transform 500ms ease-in-out 400ms,
      opacity 500ms ease-in-out 400ms;
    transition:
      transform 500ms ease-in-out 400ms,
      opacity 500ms ease-in-out 400ms;
    transition:
      transform 500ms ease-in-out 400ms,
      opacity 500ms ease-in-out 400ms,
      -webkit-transform 500ms ease-in-out 400ms;
  }
  .swiper-slide-active .slide-item-about__txt2,
  .swiper-slide-active .slide-item-story__txt2,
  .swiper-slide-active .slide-item-message__txt2 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transition:
      -webkit-transform 750ms ease-in-out 500ms,
      opacity 750ms ease-in-out 500ms;
    -o-transition:
      -o-transform 750ms ease-in-out 500ms,
      opacity 750ms ease-in-out 500ms;
    -webkit-transition:
      opacity 750ms ease-in-out 500ms,
      -webkit-transform 750ms ease-in-out 500ms;
    transition:
      opacity 750ms ease-in-out 500ms,
      -webkit-transform 750ms ease-in-out 500ms;
    -o-transition:
      transform 750ms ease-in-out 500ms,
      opacity 750ms ease-in-out 500ms;
    transition:
      transform 750ms ease-in-out 500ms,
      opacity 750ms ease-in-out 500ms;
    transition:
      transform 750ms ease-in-out 500ms,
      opacity 750ms ease-in-out 500ms,
      -webkit-transform 750ms ease-in-out 500ms;
  }
  .slide-item-about__ttl {
    overflow: hidden;
    display: block;
    width: 56px;
    height: 18px;
    background-image: url("./assets/images/top/slide-item-about__ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide-item-about__txt,
  .about-promo__txt,
  .about-child-promo__txt {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 128px;
    height: 360px;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .slide-item-about__txt1,
  .slide-item-about__txt2,
  .about-promo__txt1,
  .about-promo__txt2,
  .about-child-promo__txt1,
  .about-child-promo__txt2 {
    float: right;
  }
  .slide-item-about__txt1,
  .about-promo__txt1,
  .about-child-promo__txt1 {
    overflow: hidden;
    display: block;
    width: 64px;
    height: 360px;
    background-image: url("./assets/images/top/slide-item-about__txt1.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide-item-about__txt2,
  .about-promo__txt2,
  .about-child-promo__txt2 {
    margin-right: 0;
    overflow: hidden;
    display: block;
    width: 64px;
    height: 360px;
    background-image: url("./assets/images/top/slide-item-about__txt2.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide-item-about__img0 span,
  .slide-item-about__img1 span,
  .slide-item-about__img2 span,
  .slide-item-about__img3 span,
  .slide-item-about__img4 span {
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide-item-about__img0 span {
    background-image: url("./assets/images/about/about-promo__img0.jpg");
  }
  .slide-item-about__img1 span {
    background-image: url("./assets/images/about/about-promo__img1.jpg");
  }
  .slide-item-about__img2 span {
    background-image: url("./assets/images/about/about-promo__img2.jpg");
  }
  .slide-item-about__img3 span {
    background-image: url("./assets/images/about/about-promo__img3.jpg");
  }
  .slide-item-about__img4 span {
    background-image: url("./assets/images/about/about-promo__img4.jpg");
  }
  .slide-item-message__ttl {
    overflow: hidden;
    display: block;
    width: 118px;
    height: 18px;
    background-image: url("./assets/images/top/slide-item-message__ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide-item-message__txt,
  .message-promo__txt {
    top: 50%;
    left: 65.5%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .slide-item-message__txt1,
  .slide-item-message__txt2,
  .slide-item-message__txt3,
  .message-promo__txt1,
  .message-promo__txt2,
  .message-promo__txt3 {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    width: 57px;
    height: 391px;
    margin: 0;
    -webkit-transform: translate(0, -10px);
    -ms-transform: translate(0, -10px);
    transform: translate(0, -10px);
  }
  .slide-item-message__txt1,
  .message-promo__txt1 {
    left: 0;
    background-image: url("./assets/images/top/slide-item-message__txt3.svg");
    background-position: left 0;
  }
  .slide-item-message__txt2,
  .message-promo__txt2 {
    background-image: url("./assets/images/top/slide-item-message__txt2.svg");
    background-position: center 0;
  }
  .slide-item-message__txt3,
  .message-promo__txt3 {
    right: 0;
    background-image: url("./assets/images/top/slide-item-message__txt1.svg");
    background-position: right 0;
  }
  .swiper-slide-active .slide-item-message__txt1,
  .swiper-slide-active .slide-item-message__txt2,
  .swiper-slide-active .slide-item-message__txt3 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  .swiper-slide-active .slide-item-message__txt1 {
    -webkit-transition:
      -webkit-transform 500ms ease-in-out 750ms,
      opacity 500ms ease-in-out 750ms;
    -o-transition:
      -o-transform 500ms ease-in-out 750ms,
      opacity 500ms ease-in-out 750ms;
    -webkit-transition:
      opacity 500ms ease-in-out 750ms,
      -webkit-transform 500ms ease-in-out 750ms;
    transition:
      opacity 500ms ease-in-out 750ms,
      -webkit-transform 500ms ease-in-out 750ms;
    -o-transition:
      transform 500ms ease-in-out 750ms,
      opacity 500ms ease-in-out 750ms;
    transition:
      transform 500ms ease-in-out 750ms,
      opacity 500ms ease-in-out 750ms;
    transition:
      transform 500ms ease-in-out 750ms,
      opacity 500ms ease-in-out 750ms,
      -webkit-transform 500ms ease-in-out 750ms;
  }
  .swiper-slide-active .slide-item-message__txt2 {
    -webkit-transition:
      -webkit-transform 500ms ease-in-out 500ms,
      opacity 500ms ease-in-out 500ms;
    -o-transition:
      -o-transform 500ms ease-in-out 500ms,
      opacity 500ms ease-in-out 500ms;
    -webkit-transition:
      opacity 500ms ease-in-out 500ms,
      -webkit-transform 500ms ease-in-out 500ms;
    transition:
      opacity 500ms ease-in-out 500ms,
      -webkit-transform 500ms ease-in-out 500ms;
    -o-transition:
      transform 500ms ease-in-out 500ms,
      opacity 500ms ease-in-out 500ms;
    transition:
      transform 500ms ease-in-out 500ms,
      opacity 500ms ease-in-out 500ms;
    transition:
      transform 500ms ease-in-out 500ms,
      opacity 500ms ease-in-out 500ms,
      -webkit-transform 500ms ease-in-out 500ms;
  }
  .swiper-slide-active .slide-item-message__txt3 {
    -webkit-transition:
      -webkit-transform 500ms ease-in-out 250ms,
      opacity 500ms ease-in-out 250ms;
    -o-transition:
      -o-transform 500ms ease-in-out 250ms,
      opacity 500ms ease-in-out 250ms;
    -webkit-transition:
      opacity 500ms ease-in-out 250ms,
      -webkit-transform 500ms ease-in-out 250ms;
    transition:
      opacity 500ms ease-in-out 250ms,
      -webkit-transform 500ms ease-in-out 250ms;
    -o-transition:
      transform 500ms ease-in-out 250ms,
      opacity 500ms ease-in-out 250ms;
    transition:
      transform 500ms ease-in-out 250ms,
      opacity 500ms ease-in-out 250ms;
    transition:
      transform 500ms ease-in-out 250ms,
      opacity 500ms ease-in-out 250ms,
      -webkit-transform 500ms ease-in-out 250ms;
  }
  .slide-item-message__img span {
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-image: url("./assets/images/message/message-promo__img.jpg");
  }
  .slide__video {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .slide__btn-fullscreen {
    position: absolute;
    top: 80px;
    right: 80px;
    z-index: 110;
    display: block;
    padding: 10px;
  }
  .slide__btn-fullscreen span {
    overflow: hidden;
    display: block;
    width: 18px;
    height: 18px;
    background-image: url("./assets/images/stories/stories__btn-screen-full.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide__btn-play {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: 44px 44px;
    background-repeat: no-repeat;
    background-image: url("./assets/images//common/cmn__icn-play.svg");
    -webkit-transition: background-color 100ms ease-in;
    -o-transition: background-color 100ms ease-in;
    transition: background-color 100ms ease-in;
  }
  .slide__btn-play.play {
    background-image: none;
  }
  .slide__btn-sound {
    position: absolute;
    top: 76px;
    right: 120px;
    z-index: 110;
    display: block;
    padding: 10px;
  }
  .slide__btn-sound span {
    overflow: hidden;
    display: block;
    width: 24px;
    height: 48px;
    background-image: url("./assets/images/common/cmn__btn-sound.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    height: 24px;
  }
  .slide__btn-sound.off span {
    background-position: 0 bottom;
  }
  .slide__dots.swiper-pagination-bullets {
    bottom: 40px;
  }
  .slide__dots.swiper-pagination-bullets .swiper-pagination-bullet {
    position: relative;
    background-color: transparent;
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    width: 25px;
    height: 25px;
    margin: 0px 10px;
  }
  .slide__dots.swiper-pagination-bullets .swiper-pagination-bullet:after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    content: "";
    width: 0px;
    height: 0px;
    border: 1px solid #fff;
    border-radius: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: 100ms ease-out;
    -o-transition: 100ms ease-out;
    transition: 100ms ease-out;
  }
  .slide__dots.swiper-pagination-bullets .swiper-pagination-bullet:before {
    content: " ";
    display: block;
    position: relative;
    background-color: #fff;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 6px;
    height: 6px;
    border-radius: 100%;
  }
  .slide__dots.swiper-pagination-bullets .swiper-pagination-bullet .text {
    position: absolute;
    top: -30px;
    left: 50%;
    -webkit-transform: translate(-50%, 10px);
    -ms-transform: translate(-50%, 10px);
    transform: translate(-50%, 10px);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -webkit-transition: 300ms ease-in;
    -o-transition: 300ms ease-in;
    transition: 300ms ease-in;
  }
  .slide__dots.swiper-pagination-bullets
    .swiper-pagination-bullet:first-of-type
    .text {
    overflow: hidden;
    display: block;
    width: 56px;
    height: 18px;
    background-image: url("./assets/images/top/slide-item-about__ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide__dots.swiper-pagination-bullets
    .swiper-pagination-bullet:last-of-type
    .text {
    overflow: hidden;
    display: block;
    width: 118px;
    height: 18px;
    background-image: url("./assets/images/top/slide-item-message__ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .slide__dots.swiper-pagination-bullets
    .swiper-pagination-bullet-active:after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    content: "";
    width: 16px;
    height: 16px;
    border: 1px solid #fff;
    border-radius: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .slide__dots.swiper-pagination-bullets
    .swiper-pagination-bullet-active
    .text {
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .about-promo__img1 span,
  .about-promo__img2 span,
  .about-promo__img3 span {
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-position: center;
  }
  .about-promo__img1 span {
    background-image: url("./assets/images/about/about-promo__img1.jpg");
  }
  .about-promo__img2 span {
    background-image: url("./assets/images/about/about-promo__img2.jpg");
  }
  .about-promo__img3 span {
    background-image: url("./assets/images/about/about-promo__img3.jpg");
  }
  .about-promo__txt1 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .about-promo__txt2 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .about-wrap .lo__btn {
    margin-top: 225px;
  }
  .about-wrap .lo__btn .lo__btn-text {
    width: 81px;
    height: 18px;
    margin: 0 auto;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-image: url("./assets/images/entry/career-content__entry-btn.svg");
    background-position: center top;
  }
  .about-wrap .lo__btn:hover .lo__btn-text {
    background-position: center bottom;
  }
  .about__page-ttl {
    overflow: hidden;
    display: block;
    width: 72px;
    height: 16px;
    background-image: url("./assets/images/about/about__page-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .about-content__section-ttl,
  .about-child__section-ttl {
    overflow: hidden;
    display: block;
    width: 168px;
    height: 13px;
    background-image: url("./assets/images/about/about-content__section-ttl.svg");
    background-repeat: no-repeat;
    background-size: 168px 13px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 36px;
  }
  .about-content__section-txt {
    display: none;
  }
  .about-content__section-txt--sp {
    margin-bottom: 30px;
    font-size: 11px;
  }
  .about-content__section-img {
    margin-bottom: 200px;
  }
  .about-content__section-img img {
    display: block;
    width: 100%;
  }
  .about-content__section-img area {
    border: none;
    outline: none;
  }
  .about-content__section-img--sp {
    display: none;
  }
  .about-content__txt-1 {
    margin-bottom: 200px;
  }
  .about-section {
    padding-bottom: 200px;
  }
  .about-section__ttl {
    overflow: hidden;
    display: block;
    width: 394px;
    height: 84px;
    background-image: url("./assets/images/about/about-section__ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .about-section__ttl--02 {
    overflow: hidden;
    display: block;
    width: 546px;
    height: 92px;
    background-image: url("./assets/images/about/about-section__ttl--02.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .about__child-btn {
    position: relative;
    width: 100%;
    height: 300px;
  }
  .about__child-btn a:after {
    position: absolute;
    top: 50%;
    right: 60px;
    display: block;
    content: "";
    width: 20px;
    height: 20px;
    margin-top: -10px;
    border: 1px solid #fff;
    border-width: 1px 1px 0 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .about-child__bg {
    position: absolute;
    z-index: 0;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
  }
  .about-child__bg.pc-image {
    display: none;
  }
  .about-child__wrap {
    position: absolute;
    z-index: 10;
    top: 50%;
    left: 20px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .about-child__wrap .about-child__name {
    margin-bottom: 0;
  }
  .about-child__wrap p {
    -webkit-transform: scale(0.75);
    -ms-transform: scale(0.75);
    transform: scale(0.75);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  .about-child .promo {
    display: none;
  }
  .about-child-promo__img1 span,
  .about-child-promo__img2 span,
  .about-child-promo__img3 span {
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-position: center;
  }
  .about-child-promo__img1 span {
    background-image: url("./assets/images/about/about-promo__img1.jpg");
  }
  .about-child-promo__img2 span {
    background-image: url("./assets/images/about/about-promo__img2.jpg");
  }
  .about-child-promo__img3 span {
    background-image: url("./assets/images/about/about-promo__img3.jpg");
  }
  .about-child-promo__txt1 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .about-child-promo__txt2 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .about-child-wrap {
    padding-top: 100px;
  }
  .about-child-wrap .lo__btn {
    margin-top: 225px;
  }
  .about-child-wrap .lo__btn .lo__btn-text {
    width: 81px;
    height: 18px;
    margin: 0 auto;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-image: url("./assets/images/entry/career-content__entry-btn.svg");
    background-position: center top;
  }
  .about-child-wrap .lo__btn:hover .lo__btn-text {
    background-position: center bottom;
  }
  .about-child__page-ttl {
    overflow: hidden;
    display: block;
    width: 72px;
    height: 16px;
    background-image: url("./assets/images/about/about__page-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .about-child-content__ttl {
    margin-bottom: 100px;
  }
  .about-child-section {
    padding-bottom: 200px;
  }
  .about-child-section__ttl {
    overflow: hidden;
    display: block;
    width: 394px;
    height: 84px;
    background-image: url("./assets/images/about/about-section__ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .about-child__role {
    margin-bottom: 40px;
  }
  .about-child__ttl {
    margin-bottom: 40px;
  }
  .about-child__name {
    margin-bottom: 60px;
  }
  .about-child__main-img {
    margin-bottom: 45px;
    background-size: cover;
  }
  .about-child__main-img--sp {
    display: none;
  }
  .about-child__profile-ttl {
    overflow: hidden;
    display: block;
    width: 112px;
    height: 26px;
    background-image: url("./assets/images/about-child/about-child__profile-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 40px;
  }
  .about-child__profile-txt {
    margin-bottom: 100px;
  }
  .about-child__task-ttl {
    margin-bottom: 100px;
  }
  .about-child__task-txt {
    position: relative;
    margin-bottom: 80px;
    padding: 25px 20px;
    border: 1px solid #000;
  }
  .about-child__task-txt:after {
    position: absolute;
    bottom: -40px;
    left: 50%;
    display: block;
    content: "";
    width: 18px;
    height: 18px;
    margin-left: -9px;
    border: 1px solid #000;
    border-width: 0 1px 1px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .about-child__task-txt:last-of-type:after {
    display: none;
  }
  .about-child__second-img {
    margin-bottom: 200px;
    background-size: cover;
  }
  .about-child__section-img {
    display: none;
  }
  .about-child__section-img--sp img {
    display: block;
    width: 100%;
    height: auto;
  }
  .about-child__section-img {
    clear: both;
  }
  .about-child__section-img img {
    display: block;
    width: 100%;
    height: auto;
  }
  .about-child__section-img--sp {
    display: none;
  }
  .story-promo {
    background-color: #000;
  }
  .story-promo__img {
    cursor: pointer;
    z-index: 100;
    -webkit-transition: 500ms ease-out;
    -o-transition: 500ms ease-out;
    transition: 500ms ease-out;
  }
  .story-promo__img li {
    background-size: cover;
    background-position: center;
  }
  .story-promo__img li span {
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    width: 100%;
    height: 100%;
    background-position: center;
  }
  .js__page-enter--completed .story-promo__img {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
  }
  .story-promo__video {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .story-promo__shade-whole {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 90;
  }
  .story-promo__shade-whole.buffering:after {
    position: absolute;
    top: 50%;
    left: 50%;
    overflow: hidden;
    display: block;
    width: 44px;
    height: 44px;
    background-image: url("./assets/images/common/cmn-movie-scroll-icon.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    -webkit-animation: story-promo__shade--loading--pc 1000ms linear infinite;
    animation: story-promo__shade--loading--pc 1000ms linear infinite;
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    content: "";
  }
  .story-copy {
    position: relative;
  }
  .story-copy__txt {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .story-copy__txt1,
  .story-copy__txt2 {
    float: right;
    position: relative;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .story-wrap {
    padding-top: 0;
  }
  .story-content__ttl {
    height: 0;
    -webkit-transform-origin: 0 50%;
    -ms-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transform: scale(0.75);
    -ms-transform: scale(0.75);
    transform: scale(0.75);
  }
  .story-header {
    position: absolute;
  }
  .story-header__ttl-header {
    zoom: 1;
  }
  .story-header__ttl-header:before,
  .story-header__ttl-header:after {
    content: "";
    display: table;
  }
  .story-header__ttl-header:after {
    clear: both;
  }
  .story-section__head-img {
    margin-bottom: 200px;
    background-position: center;
    background-size: cover;
  }
  .story-section__head-img.sp-image {
    display: none;
  }
  .story-content {
    margin-bottom: 300px;
  }
  .story-content__ttl img {
    width: 75%;
  }
  .story-content__txt {
    margin-bottom: 100px;
  }
  .story-content__img {
    margin-bottom: 110px;
    background-position: center;
    background-size: cover;
  }
  .story-content--first {
    margin: 0;
    padding-top: 100px;
    padding-right: 0;
  }
  .story-content div:last-child {
    margin-bottom: 0;
  }
  .story-content:last-of-type {
    margin-bottom: 0;
  }
  .story-footer {
    position: relative;
    width: 220px;
    height: 16px;
    margin: 0 auto 250px;
  }
  .story-footer__btn-prev,
  .story-footer__btn-next {
    position: absolute;
  }
  .story-footer__btn-next {
    right: 0;
    overflow: hidden;
    display: block;
    width: 50px;
    height: 16px;
    background-image: url("./assets/images/common/cmn__btn-next.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .story-footer__btn-prev {
    left: 0;
    overflow: hidden;
    display: block;
    width: 50px;
    height: 16px;
    background-image: url("./assets/images/common/cmn__btn-prev.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .stories-wrap {
    display: block;
  }
  .stories__page-ttl {
    overflow: hidden;
    display: block;
    width: 88px;
    height: 16px;
    background-image: url("./assets/images/stories/stories__page-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .stories-item {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 550px;
  }
  .stories-item a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .stories-item a:hover .stories-item__img {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition:
      -webkit-transform 10000ms ease-out,
      opacity 750ms ease-out;
    -o-transition:
      -o-transform 10000ms ease-out,
      opacity 750ms ease-out;
    -webkit-transition:
      opacity 750ms ease-out,
      -webkit-transform 10000ms ease-out;
    transition:
      opacity 750ms ease-out,
      -webkit-transform 10000ms ease-out;
    -o-transition:
      transform 10000ms ease-out,
      opacity 750ms ease-out;
    transition:
      transform 10000ms ease-out,
      opacity 750ms ease-out;
    transition:
      transform 10000ms ease-out,
      opacity 750ms ease-out,
      -webkit-transform 10000ms ease-out;
  }
  .stories-item a:hover .stories-item__txt-wrap {
    -webkit-filter: invert();
    filter: invert();
  }
  .stories-item__img {
    display: block;
    width: 100%;
    height: 100%;
    z-index: 0;
    background-position: center;
    background-size: cover;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -webkit-transition:
      -webkit-transform 10000ms ease-out,
      opacity 300ms ease-out;
    -o-transition:
      -o-transform 10000ms ease-out,
      opacity 300ms ease-out;
    -webkit-transition:
      opacity 300ms ease-out,
      -webkit-transform 10000ms ease-out;
    transition:
      opacity 300ms ease-out,
      -webkit-transform 10000ms ease-out;
    -o-transition:
      transform 10000ms ease-out,
      opacity 300ms ease-out;
    transition:
      transform 10000ms ease-out,
      opacity 300ms ease-out;
    transition:
      transform 10000ms ease-out,
      opacity 300ms ease-out,
      -webkit-transform 10000ms ease-out;
  }
  .stories-item__txt-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 10;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .stories-item__txt,
  .stories-item__ttl,
  .stories-item__subttl {
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .stories-item__txt {
    margin-bottom: 80px;
  }
  .stories-item__ttl {
    margin-bottom: 24px;
  }
  .message-promo__img {
    background-image: url("./assets/images/message/message-promo__img.jpg");
  }
  .message-promo__txt1 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  .message-promo__txt2 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  .message-promo__txt3 {
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  .message__page-ttl {
    overflow: hidden;
    display: block;
    width: 148px;
    height: 16px;
    background-image: url("./assets/images/message/message__page-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .message-section {
    padding-bottom: 200px;
  }
  .message-section:last-of-type {
    padding-bottom: 315px;
  }
  .message-section__ttl1 {
    overflow: hidden;
    display: block;
    width: 415px;
    height: 88px;
    background-image: url("./assets/images/message/message-section__ttl1.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .message-section__ttl2 {
    overflow: hidden;
    display: block;
    width: 600px;
    height: 30px;
    background-image: url("./assets/images/message/message-section__ttl2.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .internship-promo__img {
    background-image: url("./assets/images/sp/entry/internship/internship-promo__img.jpg");
    background-position: right center;
    -webkit-transition: unset;
    -o-transition: unset;
    transition: unset;
  }
  .internship-promo__txt {
    position: absolute;
    top: 50%;
    left: 90px;
    overflow: hidden;
    display: block;
    width: 50px;
    height: 250px;
    background-image: url("./assets/images/sp/entry/internship/internship-promo__txt.svg");
    background-repeat: no-repeat;
    background-size: 50px 250px;
    text-indent: -9999px;
    text-align: left;
    -webkit-transform: translateY(-300px) scale(2);
    -ms-transform: translateY(-300px) scale(2);
    transform: translateY(-300px) scale(2);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  .internship__page-ttl {
    overflow: hidden;
    display: block;
    width: 129px;
    height: 16px;
    background-image: url("./assets/images/sp/entry/internship/internship__page-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .internship-nav {
    position: fixed;
    right: 0;
    top: 50%;
    z-index: 100;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    padding: 10px 20px;
    -webkit-transform: translate(70px, -50%);
    -ms-transform: translate(70px, -50%);
    transform: translate(70px, -50%);
    -webkit-transition: 300ms ease-out;
    -o-transition: 300ms ease-out;
    transition: 300ms ease-out;
  }
  .internship-nav.visible {
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .internship-nav__list li {
    position: relative;
    margin-bottom: 20px;
  }
  .internship-nav__list li a {
    display: inline-block;
    position: relative;
    width: 10px;
    height: 10px;
  }
  .internship-nav__list li a .text {
    display: none;
  }
  .internship-nav__list li a.active:after {
    display: inline-block;
  }
  .internship-nav__list li a:before,
  .internship-nav__list li a:after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    content: "";
    border-radius: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .internship-nav__list li a:before {
    width: 4px;
    height: 4px;
    background-color: #000;
  }
  .internship-nav__list li a:after {
    display: none;
    width: 10px;
    height: 10px;
    border: 1px solid #000;
  }
  .internship-section .lo__btn {
    display: block;
    width: 100%;
    height: 100%;
  }
  .internship-section .lo__btn .lo__btn-text {
    margin: 0 auto;
    overflow: hidden;
    display: block;
    width: 81px;
    height: 18px;
    background-image: url("./assets/images/sp/entry/internship/internship-content__entry-btn.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-position: center;
  }
  .internship-content__subttl {
    overflow: hidden;
    display: block;
    width: 80px;
    height: 9px;
    background-image: url("./assets/images/sp/entry/internship/internship-content__subttl.svg");
    background-repeat: no-repeat;
    background-size: 80px 9px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 30px;
  }
  .internship-content__ttl {
    padding-top: 18.24561403508772%;
    background-image: url("./assets/images/sp/entry/internship/internship-content__ttl.svg");
    overflow: hidden;
    display: block;
    width: 100%;
    height: 0;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .internship-content__ttl-list {
    overflow: hidden;
    display: block;
    width: 114px;
    height: 16px;
    background-image: url("./assets/images/sp/entry/internship/internship-section__ttl-list.svg");
    background-repeat: no-repeat;
    background-size: 114px 16px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 25px;
  }
  .internship-content__subttl-list {
    margin-bottom: 12px;
  }
  .internship-content__list {
    margin-bottom: 75px;
  }
  .internship-content__ttl-episode {
    overflow: hidden;
    display: block;
    width: 171px;
    height: 51px;
    background-image: url("./assets/images/sp/entry/internship/internship-content__ttl-episode.svg");
    background-repeat: no-repeat;
    background-size: 171px 51px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 40px;
  }
  .internship-content__ttl-list-required {
    overflow: hidden;
    display: block;
    width: 210px;
    height: 21px;
    background-image: url("./assets/images/sp/entry/internship/internship-content__ttl-list-required.svg");
    background-repeat: no-repeat;
    background-size: 210px 21px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 15px;
  }
  .internship-content__ttl-list-job {
    overflow: hidden;
    display: block;
    width: 191px;
    height: 21px;
    background-image: url("./assets/images/sp/entry/internship/internship-content__ttl-list-job.svg");
    background-repeat: no-repeat;
    background-size: 191px 21px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 15px;
  }
  .internship-content__subttl-episode {
    overflow: hidden;
    display: block;
    width: 132px;
    height: 16px;
    background-image: url("./assets/images/sp/entry/internship/internship-content__subttl-episode.svg");
    background-repeat: no-repeat;
    background-size: 132px 16px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 25px;
  }
  .internship-content__subttl-univ {
    overflow: hidden;
    display: block;
    width: 220px;
    height: 16px;
    background-image: url("./assets/images/sp/entry/internship/internship-content__subttl-univ.svg");
    background-repeat: no-repeat;
    background-size: 220px 16px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 25px;
  }
  .internship-content__subttl-interview {
    overflow: hidden;
    display: block;
    width: 155px;
    height: 16px;
    background-image: url("./assets/images/sp/entry/internship/internship-content__subttl-interview.svg");
    background-repeat: no-repeat;
    background-size: 155px 16px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 25px;
  }
  .internship-content__ttl-interview {
    overflow: hidden;
    display: block;
    width: 171px;
    height: 51px;
    background-image: url("./assets/images/sp/entry/internship/internship-content__ttl-interview.svg");
    background-repeat: no-repeat;
    background-size: 171px 51px;
    text-indent: -9999px;
    text-align: left;
  }
  .internship-content__txt {
    margin-bottom: 50px;
  }
  .internship-content__wrap-video {
    margin-bottom: 75px;
  }
  .internship-list__item {
    padding-bottom: 20px;
  }
  .internship-list__item-head {
    padding-bottom: 0;
  }
  .internship-list__item-ttl {
    margin-bottom: 0 !important;
    font-weight: bold;
  }
  .internship-list__item-subttl {
    padding: 0 30px;
  }
  .internship-list__item-btn {
    top: 44px;
  }
  .internship-list__item-category {
    font-size: 8px;
  }
  .internship-list__item-cont {
    padding-top: 25px;
    padding-bottom: 25px;
  }
  .internship-list__item-cont dl {
    margin-bottom: 30px;
  }
  .internship-list__item-cont dt {
    margin-bottom: 3px;
    font-weight: bold;
  }
  .internship-list__item-cs {
    display: block;
    position: absolute;
    top: 30px;
    right: 20px;
    width: 56px;
    font-size: 9px;
    text-align: right;
    line-height: 1.4;
  }
  .disable .internship-list__item-head {
    padding-right: 100px;
  }
  .career-promo__img {
    background-image: url("./assets/images/sp/entry/career-promo__img.jpg");
    -webkit-transition: unset;
    -o-transition: unset;
    transition: unset;
  }
  .career-promo__txt {
    position: absolute;
    top: 100px;
    left: 80px;
    -webkit-transform: scale(2);
    -ms-transform: scale(2);
    transform: scale(2);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
    overflow: hidden;
    display: block;
    width: 51.5px;
    height: 194.5px;
    background-image: url("./assets/images/sp/entry/career-promo__txt.svg");
    background-repeat: no-repeat;
    background-size: 51.5px 194.5px;
    text-indent: -9999px;
    text-align: left;
  }
  .career__page-ttl {
    overflow: hidden;
    display: block;
    width: 64.5px;
    height: 8px;
    background-image: url("./assets/images/sp/entry/career__page-ttl.svg");
    background-repeat: no-repeat;
    background-size: 64.5px 8px;
    text-indent: -9999px;
    text-align: left;
  }
  .career-section .lo__btn {
    display: block;
    width: 100%;
    height: 100%;
    margin-top: 75px;
  }
  .career-section .lo__btn .lo__btn-text {
    margin: 0 auto;
    overflow: hidden;
    display: block;
    width: 40.5px;
    height: 9px;
    background-image: url("./assets/images/sp/entry/career-content__entry-btn.svg");
    background-repeat: no-repeat;
    background-size: 40.5px 9px;
    text-indent: -9999px;
    text-align: left;
    background-position: center;
  }
  .career-content__subttl {
    overflow: hidden;
    display: block;
    width: 48px;
    height: 10px;
    background-image: url("./assets/images/sp/entry/career-content__subttl.svg");
    background-repeat: no-repeat;
    background-size: 48px 10px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 50px;
  }
  .career-content__ttl {
    padding-top: 17.543859649122805%;
    background-image: url("./assets/images/sp/entry/career-content__ttl.svg");
    overflow: hidden;
    display: block;
    width: 100%;
    height: 0;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career-content__ttl-type {
    overflow: hidden;
    display: block;
    width: 72px;
    height: 14px;
    background-image: url("./assets/images/sp/entry/career-content__ttl-type.svg");
    background-repeat: no-repeat;
    background-size: 72px 14px;
    text-indent: -9999px;
    text-align: left;
  }
  .career-content__ttl-map {
    overflow: hidden;
    display: block;
    width: 83.5px;
    height: 14px;
    background-image: url("./assets/images/sp/entry/career-content__ttl-map.svg");
    background-repeat: no-repeat;
    background-size: 83.5px 14px;
    text-indent: -9999px;
    text-align: left;
  }
  .career-content__img-map {
    overflow: hidden;
    display: block;
    width: 500px;
    height: 465px;
    background-image: url("./assets/images/entry/career/career-content__img-map.svg");
    background-repeat: no-repeat;
    background-size: 500px 465px;
    text-indent: -9999px;
    text-align: left;
    margin: 0 auto;
    background-image: url("./assets/images/entry/career/career-content__img-map.svg") !important;
  }
  .career-content__ttl-points {
    overflow: hidden;
    display: block;
    width: 72.5px;
    height: 14px;
    background-image: url("./assets/images/sp/entry/career-content__ttl-points.svg");
    background-repeat: no-repeat;
    background-size: 72.5px 14px;
    text-indent: -9999px;
    text-align: left;
  }
  .career-content__ttl-treat {
    overflow: hidden;
    display: block;
    width: 34px;
    height: 14px;
    background-image: url("./assets/images/sp/entry/career-content__ttl-treat.svg");
    background-repeat: no-repeat;
    background-size: 34px 14px;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-promo__img {
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-promo__img.jpg");
    -webkit-transition: unset;
    -o-transition: unset;
    transition: unset;
  }
  .newgraduate-promo__txt {
    overflow: hidden;
    display: block;
    width: 106px;
    height: 518px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-promo__txt.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    position: absolute;
    top: 50%;
    left: 230px;
    margin-top: -259px;
  }
  .newgraduate__page-ttl {
    overflow: hidden;
    display: block;
    width: 164px;
    height: 16px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate__page-ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-nav {
    position: fixed;
    right: 0;
    top: 50%;
    z-index: 100;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    padding: 10px 20px;
    -webkit-transform: translate(70px, -50%);
    -ms-transform: translate(70px, -50%);
    transform: translate(70px, -50%);
    -webkit-transition: 300ms ease-out;
    -o-transition: 300ms ease-out;
    transition: 300ms ease-out;
  }
  .newgraduate-nav.visible {
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    opacity: 1;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
  }
  .newgraduate-nav__list li {
    position: relative;
    margin-bottom: 20px;
  }
  .newgraduate-nav__list li a {
    display: inline-block;
    position: relative;
    width: 10px;
    height: 10px;
  }
  .newgraduate-nav__list li a .text {
    display: none;
  }
  .newgraduate-nav__list li a.active:after {
    display: inline-block;
  }
  .newgraduate-nav__list li a:before,
  .newgraduate-nav__list li a:after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    content: "";
    border-radius: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .newgraduate-nav__list li a:before {
    width: 4px;
    height: 4px;
    background-color: #000;
  }
  .newgraduate-nav__list li a:after {
    display: none;
    width: 10px;
    height: 10px;
    border: 1px solid #000;
  }
  .newgraduate-section:last-of-type {
    padding-bottom: 315px;
  }
  .newgraduate-section .lo__btn {
    margin-top: 225px;
  }
  .newgraduate-section .lo__btn .lo__btn-text {
    width: 81px;
    height: 18px;
    margin: 0 auto;
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    background-image: url("./assets/images/entry/career-content__entry-btn.svg");
    background-position: center top;
  }
  .newgraduate-content__subttl {
    overflow: hidden;
    display: block;
    width: 102px;
    height: 24px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__subttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 50px;
  }
  .newgraduate-content__ttl {
    overflow: hidden;
    display: block;
    width: 460px;
    height: 100px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__ttl.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__ttl-type {
    overflow: hidden;
    display: block;
    width: 144px;
    height: 28px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__ttl-type.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__ttl-map {
    overflow: hidden;
    display: block;
    width: 167px;
    height: 28px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__ttl-map.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__img-map {
    overflow: hidden;
    display: block;
    width: 500px;
    height: 465px;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-content__img-map.svg");
    background-repeat: no-repeat;
    background-size: 500px 465px;
    text-indent: -9999px;
    text-align: left;
    margin: 0 auto;
    background-image: url("./assets/images/entry/newgraduate/newgraduate-content__img-map.svg") !important;
  }
  .newgraduate-content__ttl-points {
    overflow: hidden;
    display: block;
    width: 145px;
    height: 28px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__ttl-points.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__ttl-treat {
    overflow: hidden;
    display: block;
    width: 68px;
    height: 28px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__ttl-treat.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__subttl-talk {
    overflow: hidden;
    display: block;
    width: 312px;
    height: 24px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__subttl-talk.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 50px;
  }
  .newgraduate-content__ttl-talk {
    overflow: hidden;
    display: block;
    width: 460px;
    height: 100px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__ttl-talk.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__txt-talk {
    margin-bottom: 100px;
  }
  .newgraduate-content__img-talk--pc {
    margin-bottom: 70px;
    background-position: center;
    background-size: cover;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__img-talk.png");
  }
  .newgraduate-content__img-talk--sp {
    display: none;
  }
  .newgraduate-content__btn-talk {
    display: none;
  }
  .newgraduate-content__profiles {
    margin-bottom: 200px;
  }
  .newgraduate-content__profiles dl {
    float: left;
    width: 30%;
    margin-right: 5%;
  }
  .newgraduate-content__profiles dl:last-of-type {
    margin-right: 0;
  }
  .newgraduate-content__profiles dt .name,
  .newgraduate-content__profiles dt .detail {
    display: block;
  }
  .newgraduate-content__profiles dt .name {
    margin-bottom: 2px;
    font-size: 16px;
  }
  .newgraduate-content__profiles dt .detail {
    margin-bottom: 12px;
    font-size: 12px;
  }
  .newgraduate-content__subttl-career {
    overflow: hidden;
    display: block;
    width: 312px;
    height: 24px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__subttl-career.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 50px;
  }
  .newgraduate-content__ttl-career {
    overflow: hidden;
    display: block;
    width: 460px;
    height: 166px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__ttl-career.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__txt-career {
    margin-bottom: 100px;
  }
  .newgraduate-content__subttl-training {
    margin-bottom: 50px;
    overflow: hidden;
    display: block;
    width: 312px;
    height: 24px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__subttl-training.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__ttl-training {
    overflow: hidden;
    display: block;
    width: 460px;
    height: 100px;
    background-image: url("./assets/images/sp/entry/newgraduate/newgraduate-content__ttl-training.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .newgraduate-content__txt-training {
    margin-bottom: 100px;
  }
  .talk__ttl--02 {
    overflow: hidden;
    display: block;
    width: 230px;
    height: 50px;
    background-image: url("./assets/images/sp/entry/newgraduate/talk__ttl--02.svg");
    background-repeat: no-repeat;
    background-size: 230px 50px;
    text-indent: -9999px;
    text-align: left;
  }
  .talk__ttl--03 {
    overflow: hidden;
    display: block;
    width: 230px;
    height: 50px;
    background-image: url("./assets/images/sp/entry/newgraduate/talk__ttl--03.svg");
    background-repeat: no-repeat;
    background-size: 230px 50px;
    text-indent: -9999px;
    text-align: left;
  }
  .talk__ttl--04 {
    overflow: hidden;
    display: block;
    width: 230px;
    height: 85.5px;
    background-image: url("./assets/images/sp/entry/newgraduate/talk__ttl--04.svg");
    background-repeat: no-repeat;
    background-size: 230px 85.5px;
    text-indent: -9999px;
    text-align: left;
  }
  .talk__ttl--05 {
    overflow: hidden;
    display: block;
    width: 230px;
    height: 52px;
    background-image: url("./assets/images/sp/entry/newgraduate/talk__ttl--05.svg");
    background-repeat: no-repeat;
    background-size: 230px 52px;
    text-indent: -9999px;
    text-align: left;
  }
  .talk__txt {
    margin-bottom: 200px;
  }
  .talk__txt span {
    display: block;
    margin-bottom: 2em;
  }
  .talk-section:last-of-type .talk__txt {
    margin-bottom: 0;
  }
  .career__wrap {
    margin-bottom: 24px;
    background-color: #efefef;
  }
  .career__head--01,
  .career__head--02,
  .career__head--03,
  .career__head--04,
  .career__head--05 {
    overflow: hidden;
    position: relative;
    height: 270px;
    background-color: #000;
  }
  .career__head--01 .lo__content-width-list-btn,
  .career__head--02 .lo__content-width-list-btn,
  .career__head--03 .lo__content-width-list-btn,
  .career__head--04 .lo__content-width-list-btn,
  .career__head--05 .lo__content-width-list-btn {
    top: 50%;
    margin-top: -9px;
  }
  .career__head--01 .lo__content-width-list-btn:before,
  .career__head--02 .lo__content-width-list-btn:before,
  .career__head--03 .lo__content-width-list-btn:before,
  .career__head--04 .lo__content-width-list-btn:before,
  .career__head--05 .lo__content-width-list-btn:before,
  .career__head--01 .lo__content-width-list-btn:after,
  .career__head--02 .lo__content-width-list-btn:after,
  .career__head--03 .lo__content-width-list-btn:after,
  .career__head--04 .lo__content-width-list-btn:after,
  .career__head--05 .lo__content-width-list-btn:after {
    background-color: #fff;
  }
  .career__head-img--01,
  .career__head-img--02,
  .career__head-img--03,
  .career__head-img--04,
  .career__head-img--05 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 300px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-img--01.png");
    background-size: cover;
    background-repeat: no-repeat;
  }
  .career__head-ttl--01,
  .career__head-ttl--02,
  .career__head-ttl--03,
  .career__head-ttl--04,
  .career__head-ttl--05 {
    position: absolute;
    left: 50%;
    top: 100px;
    margin-left: -50px;
    overflow: hidden;
    display: block;
    width: 290px;
    height: 76px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-ttl--01.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-name--01,
  .career__head-name--02,
  .career__head-name--03,
  .career__head-name--04,
  .career__head-name--05 {
    position: absolute;
    left: 50%;
    bottom: 30px;
    margin-left: -50px;
    overflow: hidden;
    display: block;
    width: 290px;
    height: 54px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-name--01.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-img--02 {
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-img--02.png");
  }
  .career__head-ttl--02 {
    overflow: hidden;
    display: block;
    width: 290px;
    height: 76px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-ttl--02.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-name--02 {
    overflow: hidden;
    display: block;
    width: 329px;
    height: 54px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-name--02.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-img--03 {
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-img--03.png");
  }
  .career__head-ttl--03 {
    overflow: hidden;
    display: block;
    width: 290px;
    height: 30px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-ttl--03.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-name--03 {
    overflow: hidden;
    display: block;
    width: 290px;
    height: 54px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-name--03.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-img--04 {
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-img--04.png");
  }
  .career__head-ttl--04 {
    overflow: hidden;
    display: block;
    width: 290px;
    height: 76px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-ttl--04.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-name--04 {
    overflow: hidden;
    display: block;
    width: 326px;
    height: 54px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-name--04.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-img--05 {
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-img--05.png");
  }
  .career__head-ttl--05 {
    overflow: hidden;
    display: block;
    width: 290px;
    height: 76px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-ttl--05.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career__head-name--05 {
    overflow: hidden;
    display: block;
    width: 326px;
    height: 54px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__head-name--05.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .career__content .lo__content-width-list-cont {
    padding-top: 60px;
  }
  .career__content-ttl-profile {
    margin-bottom: 38px;
  }
  .career__content-profile {
    margin-bottom: 100px;
  }
  .career__content-ttl {
    margin-bottom: 30px;
    font-size: 16px;
  }
  .career__content-txt {
    margin-bottom: 100px;
  }
  .career__content-img--01 {
    margin-bottom: 100px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__img--01.png");
    background-repeat: no-repeat;
  }
  .career__content-img--02 {
    margin-bottom: 100px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__img--02.png");
  }
  .career__content-img--03 {
    margin-bottom: 100px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__img--03.png");
  }
  .career__content-img--04 {
    margin-bottom: 100px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__img--04.png");
  }
  .career__content-img--05 {
    margin-bottom: 100px;
    background-image: url("./assets/images/sp/entry/newgraduate/career__img--05.png");
  }
  .glnav {
    display: none;
    position: relative;
    width: 100%;
    height: 100%;
  }
  .glnav__btn-open {
    overflow: hidden;
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 200;
    display: block;
    width: 40px;
    height: 40px;
    text-indent: -100%;
    -webkit-transition: 300ms ease-out;
    -o-transition: 300ms ease-out;
    transition: 300ms ease-out;
  }
  .glnav__btn-open span {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 20px;
    height: 1px;
    background-color: #fff;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: 300ms ease-in-out;
    -o-transition: 300ms ease-in-out;
    transition: 300ms ease-in-out;
  }
  .top .glnav__btn-open span {
    background-color: #fff;
  }
  .glnav__btn-open.footer span {
    background-color: #fff;
  }
  .glnav__btn-open.open {
    -webkit-transform: translateX(0) !important;
    -ms-transform: translateX(0) !important;
    transform: translateX(0) !important;
  }
  .glnav__btn-open.open span {
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
    -ms-transform: translate(-50%, -50%) rotate(90deg);
    transform: translate(-50%, -50%) rotate(90deg);
    background-color: #fff;
  }
  .glnav__btn-open.hide {
    /* -webkit-transform: translateX(60px);
    -ms-transform: translateX(60px);
    transform: translateX(60px); */
  }
  .glnav__bg {
    display: none;
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
  }
  .glnav__cnt {
    position: relative;
    z-index: 100;
    overflow: hidden;
    width: 100%;
    height: 100%;
  }
  .glnav__wrap {
    position: absolute;
    top: 50%;
    right: 50%;
    height: 325px;
    width: 165px;
    margin-top: -130px;
    margin-right: -80px;
  }
  .glnav__item a {
    width: 100%;
    height: 100%;
  }
  .glnav__item-top,
  .glnav__item-about,
  .glnav__item-business,
  .glnav__item-style,
  .glnav__item-fresh,
  .glnav__item-career,
  .glnav__item-interview,
  .glnav__item-stories,
  .glnav__item-message,
  .glnav__item-recruit {
    float: right;
    position: relative;
    height: 50%;
    margin-left: 38px;
  }
  .glnav__item-top > a,
  .glnav__item-about > a,
  .glnav__item-business > a,
  .glnav__item-style > a,
  .glnav__item-fresh > a,
  .glnav__item-career > a,
  .glnav__item-interview > a,
  .glnav__item-stories > a,
  .glnav__item-message > a,
  .glnav__item-recruit > a {
    position: relative;
    display: block;
    margin: 0 -8px -8px;
    padding: 0 8px 8px;
  }
  .glnav__item-top > a:before,
  .glnav__item-about > a:before,
  .glnav__item-business > a:before,
  .glnav__item-style > a:before,
  .glnav__item-fresh > a:before,
  .glnav__item-career > a:before,
  .glnav__item-interview > a:before,
  .glnav__item-stories > a:before,
  .glnav__item-message > a:before,
  .glnav__item-recruit > a:before {
    content: "";
    display: block;
    position: absolute;
    top: -28px;
    right: 13px;
    z-index: 10;
    width: 1px;
    height: 11px;
    background-color: #fff;
    -webkit-transition: 100ms ease-out;
    -o-transition: 100ms ease-out;
    transition: 100ms ease-out;
    -webkit-transform-origin: 50% 0%;
    -ms-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
  }
  .glnav__item-ttl,
  .glnav__item-txt {
    position: relative;
  }
  .glnav__item-top-ttl {
    overflow: hidden;
    display: block;
    width: 12.5px;
    height: 30.5px;
    background-image: url("./assets/images/sp/glnav/glnav__new-item-top-ttl.svg");
    background-repeat: no-repeat;
    background-size: 12.5px 30.5px;
    text-indent: -9999px;
    text-align: left;
    argin-left: 0;
  }
  .glnav__item-about-ttl {
    overflow: hidden;
    display: block;
    width: 12.5px;
    height: 53.5px;
    background-image: url("./assets/images/sp/glnav/glnav__new-item-about-ttl.svg");
    background-repeat: no-repeat;
    background-size: 12.5px 53.5px;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav__item-about-txt {
    display: none;
  }
  .glnav__item-stories-ttl {
    overflow: hidden;
    display: block;
    width: 13px;
    height: 67px;
    background-image: url("./assets/images/sp/glnav/glnav__item-stories-ttl.svg");
    background-repeat: no-repeat;
    background-size: 13px 67px;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav__item-stories-txt {
    display: none;
  }
  .glnav__item-message {
    margin-left: 0;
  }
  .glnav__item-message-ttl {
    overflow: hidden;
    display: block;
    width: 12.5px;
    height: 110.5px;
    background-image: url("./assets/images/sp/glnav/glnav__item-message-ttl.svg");
    background-repeat: no-repeat;
    background-size: 12.5px 110.5px;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav__item-message-txt {
    display: none;
  }
  .glnav__item-recruit {
    margin-left: 0;
  }
  .glnav__item-recruit-ttl {
    overflow: hidden;
    display: block;
    width: 12.5px;
    height: 69px;
    background-image: url("./assets/images/sp/glnav/glnav__item-recruit-ttl.svg");
    background-repeat: no-repeat;
    background-size: 12.5px 69px;
    text-indent: -9999px;
    text-align: left;
    margin-left: 25px;
    display: inline-block;
  }
  .glnav__item-recruit:before {
    content: "";
    display: block;
    position: absolute;
    top: -28px;
    right: 13px;
    z-index: 10;
    width: 1px;
    height: 11px;
    background-color: #fff;
    -webkit-transition: 100ms ease-out;
    -o-transition: 100ms ease-out;
    transition: 100ms ease-out;
    -webkit-transform-origin: 50% 0%;
    -ms-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    right: 7px;
  }
  .glnav-recruit__wrap {
    float: left;
    margin-top: 30px;
  }
  .glnav-recruit__item-newgraduate,
  .glnav-recruit__item-career,
  .glnav-recruit__item-internship {
    position: relative;
    float: right;
    margin-left: 15px;
  }
  .glnav-recruit__item-newgraduate a,
  .glnav-recruit__item-career a,
  .glnav-recruit__item-internship a {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 -8px -8px;
    padding: 0 8px 8px;
  }
  .glnav-recruit__item-newgraduate a:before,
  .glnav-recruit__item-career a:before,
  .glnav-recruit__item-internship a:before {
    content: "";
    display: block;
    position: absolute;
    top: -28px;
    right: 13px;
    z-index: 10;
    width: 1px;
    height: 11px;
    background-color: #fff;
    -webkit-transition: 100ms ease-out;
    -o-transition: 100ms ease-out;
    transition: 100ms ease-out;
    -webkit-transform-origin: 50% 0%;
    -ms-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    right: 7px;
  }
  .glnav-recruit__item-newgraduate {
    clear: both;
  }
  .glnav-recruit__item-newgraduate-ttl {
    overflow: hidden;
    display: block;
    width: 16px;
    height: 109px;
    background-image: url("./assets/images/sp/glnav/glnav-recruit__item-newgrads.svg");
    background-repeat: no-repeat;
    background-size: 16px 109px;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav-recruit__item-career-ttl {
    overflow: hidden;
    display: block;
    width: 16px;
    height: 109px;
    background-image: url("./assets/images/sp/glnav/glnav-recruit__item-career.svg");
    background-repeat: no-repeat;
    background-size: 16px 109px;
    text-indent: -9999px;
    text-align: left;
  }
  .glnav-recruit__item-internship-ttl {
    overflow: hidden;
    display: block;
    width: 16px;
    height: 114.5px;
    background-image: url("./assets/images/sp/glnav/glnav-recruit__item-internship.svg");
    background-repeat: no-repeat;
    background-size: 16px 114.5px;
    text-indent: -9999px;
    text-align: left;
  }
  .glfooter {
    position: relative;
    background-color: #000;
    color: #fff;
  }
  .glfooter__cnt {
    padding: 55px 45px 30px;
  }
  .ft__btn-top {
    position: absolute;
    top: -40px;
    right: 30px;
    overflow: hidden;
    display: block;
    width: 21.5px;
    height: 15.5px;
    background-image: url("./assets/images/sp/common/ft__btn-top.svg");
    background-repeat: no-repeat;
    background-size: 21.5px 15.5px;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-stories {
    margin-bottom: 55px;
  }
  .ft-stories__ttl {
    overflow: hidden;
    display: block;
    width: 73px;
    height: 7.5px;
    background-image: url("./assets/images/sp/common/ft-stories__ttl.svg");
    background-repeat: no-repeat;
    background-size: 73px 7.5px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 30px;
  }
  .ft-stories__item {
    position: relative;
    height: 150px;
    margin-bottom: 10px;
  }
  .ft-stories__item a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .ft-stories__item a:hover .ft-stories__item-img {
    opacity: 0.8;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
    filter: alpha(opacity=80);
  }
  .ft-stories__item-img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    -webkit-transition: 100ms ease-out;
    -o-transition: 100ms ease-out;
    transition: 100ms ease-out;
  }
  .ft-stories__item-ttlblock {
    position: absolute;
    top: 50%;
    left: 20px;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .ft-stories__item-ttl {
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
    height: auto;
    margin-bottom: 15px;
  }
  .ft-stories__item-subttl {
    overflow: hidden;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-recruit {
    margin-bottom: 55px;
  }
  .ft-recruit__ttl {
    overflow: hidden;
    display: block;
    width: 65.5px;
    height: 7.5px;
    background-image: url("./assets/images/sp/common/ft-recruit__ttl.svg");
    background-repeat: no-repeat;
    background-size: 65.5px 7.5px;
    text-indent: -9999px;
    text-align: left;
    margin-bottom: 30px;
  }
  .ft-recruit__list {
    height: auto;
  }
  .ft-recruit__item-career,
  .ft-recruit__item-kitchen,
  .ft-recruit__item-newgraduate,
  .ft-recruit__item-internship {
    height: 150px;
    position: relative;
    width: 100%;
    margin-bottom: 10px;
  }
  .ft-recruit__item-career a,
  .ft-recruit__item-kitchen a,
  .ft-recruit__item-newgraduate a,
  .ft-recruit__item-internship a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .ft-recruit__item-career a:hover .ft-recruit__item-career-img,
  .ft-recruit__item-kitchen a:hover .ft-recruit__item-kitchen-img,
  .ft-recruit__item-newgraduate a:hover .ft-recruit__item-career-img,
  .ft-recruit__item-internship a:hover .ft-recruit__item-career-img,
  .ft-recruit__item-career a:hover .ft-recruit__item-newgraduate-img,
  .ft-recruit__item-newgraduate a:hover .ft-recruit__item-newgraduate-img,
  .ft-recruit__item-internship a:hover .ft-recruit__item-newgraduate-img,
  .ft-recruit__item-career a:hover .ft-recruit__item-internship-img,
  .ft-recruit__item-newgraduate a:hover .ft-recruit__item-internship-img,
  .ft-recruit__item-internship a:hover .ft-recruit__item-internship-img {
    opacity: 0.8;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
    filter: alpha(opacity=80);
  }
  .ft-recruit__item-career-img,
  .ft-recruit__item-kitchen-img,
  .ft-recruit__item-newgraduate-img,
  .ft-recruit__item-internship-img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    -webkit-transition: 100ms ease-out;
    -o-transition: 100ms ease-out;
    transition: 100ms ease-out;
  }
  .ft-recruit__item-career-ttl,
  .ft-recruit__item-kitchen-ttl,
  .ft-recruit__item-newgraduate-ttl,
  .ft-recruit__item-internship-ttl {
    position: absolute;
    top: 50%;
    left: 25px;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .ft-recruit__item-career-img {
    background-image: url("./assets/images/sp/common/ft-recruit__item-career-img.jpg");
  }
  .ft-recruit__item-career-ttl {
    overflow: hidden;
    display: block;
    width: 86px;
    height: 13px;
    background-image: url("./assets/images/sp/common/ft-recruit__item-career-ttl.svg");
    background-repeat: no-repeat;
    background-size: 86px 13px;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-recruit__item-kitchen-img {
    background-image: url("./assets/images/sp/common/ft-recruit__item-kitchen-img.jpg");
  }
  .ft-recruit__item-kitchen-ttl {
    overflow: hidden;
    display: block;
    width: 110px;
    height: 13px;
    background-image: url("./assets/images/sp/common/ft-recruit__item-kitchen-ttl.svg");
    background-repeat: no-repeat;
    background-size: 110px 13px;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-recruit__item-newgraduate-img {
    background-image: url("./assets/images/sp/common/ft-recruit__item-newgraduate-img.jpg");
  }
  .ft-recruit__item-newgraduate-ttl {
    overflow: hidden;
    display: block;
    width: 86px;
    height: 13px;
    background-image: url("./assets/images/sp/common/ft-recruit__item-newgraduate-ttl.svg");
    background-repeat: no-repeat;
    background-size: 86px 13px;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-recruit__item-internship-img {
    background-image: url("./assets/images/sp/common/ft-recruit__item-internship-img.jpg");
  }
  .ft-recruit__item-internship-ttl {
    overflow: hidden;
    display: block;
    width: 96px;
    height: 13px;
    background-image: url("./assets/images/sp/common/ft-recruit__item-internship-ttl.svg");
    background-repeat: no-repeat;
    background-size: 96px 13px;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-links {
    margin-bottom: 100px;
  }
  .ft-links__list li {
    margin-bottom: 25px;
  }
  .ft-links__item-top {
    margin-right: 100px;
  }
  .ft-links__item-top a {
    overflow: hidden;
    display: block;
    width: 40px;
    height: 7.5px;
    background-image: url("./assets/images/sp/common/ft-links__item-top.svg");
    background-repeat: no-repeat;
    background-size: 40px 7.5px;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-links__item-about {
    margin-right: 100px;
  }
  .ft-links__item-about a {
    overflow: hidden;
    display: block;
    width: 55px;
    height: 7.5px;
    background-image: url("./assets/images/sp/common/ft-links__item-about.svg");
    background-repeat: no-repeat;
    background-size: 55px 7.5px;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-links__item-message a {
    overflow: hidden;
    display: block;
    width: 94px;
    height: 7.5px;
    background-image: url("./assets/images/sp/common/ft-links__item-message.svg");
    background-repeat: no-repeat;
    background-size: 94px 7.5px;
    text-indent: -9999px;
    text-align: left;
  }
  .ft-bottom__logo {
    overflow: hidden;
    display: block;
    width: 61.5px;
    height: 17.5px;
    background-image: url("./assets/images/sp/common/ft-bottom__logo.svg");
    background-repeat: no-repeat;
    background-size: 61.5px 17.5px;
    text-indent: -9999px;
    text-align: left;
    margin: 0 auto 15px;
  }
  .ft-bottom__copy {
    overflow: hidden;
    display: block;
    width: 183.5px;
    height: 5px;
    background-image: url("./assets/images/sp/common/ft-bottom__copy.svg");
    background-repeat: no-repeat;
    background-size: 183.5px 5px;
    text-indent: -9999px;
    text-align: left;
    margin: 0 auto;
  }
}
@media screen and (min-width: 960px) and (max-width: 1350px) {
  .lo__max-width-wrap {
    padding: 0 100px;
  }
}
@media screen and (min-width: 960px) and (max-width: 1350px) {
  .story-content--first .lo__content-width-wrap:first-of-type {
    padding-right: 300px;
  }
}
@media screen and (min-width: 767px) and (max-width: 959px) and (max-width: 1350px) {
  .lo__max-width-wrap {
    padding: 0 100px;
  }
}

/* Custom styles from static HTML */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.container {
  max-width: 1280px;
  padding: 0 240px;
  margin: 0 auto;
  color: #322525;
  letter-spacing: 3px;
}

/* Hero Section */
.hero {
  position: relative;
  height: 100vh;
  min-height: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

.hero-content {
  display: flex;
  text-align: center;
  color: #fff;
}

.hero-subtitle {
  font-size: 12px;
  letter-spacing: 3px;
  margin-bottom: 10px;
  opacity: 0.9;
}

.hero-text-vertical {
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 24px;
  letter-spacing: 8px;
  color: #fff;
  font-weight: 300;
  margin: 0 15px;
  line-height: 1.5;
  text-align: justify;
}

.hero-text-vertical span {
  display: inline-block;
}

/* About Section */
.fresh__stance-values-section,
.career-steps-section,
.middle__career-section,
.middle__expect-section,
.style__employee-voices-section,
.achievements-section,
.style__intro-section,
.business__concept-section,
.business__structure-section,
.business__model-section,
.business__social-section,
.purpose__mission-section,
.purpose__value-proposition-section,
.purpose__history-section,
.purpose__issues-section,
.purpose__culture-section,
.recruit__about-section {
  margin: 120px 0;
}

.divisions__feature-img-section {
  width: 100%;
}



.feature-images-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  width: 100%;
}

.feature-image-item {
  width: 100%;
  height: 500px;
  overflow: hidden;
  position: relative;
}

.feature-image-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.fresh__galalery-grid {
  margin-top: 100px;
}

/* Featured Member Section */
.featured-member-section {
  width: 100%;
  max-width: 1440px;
  margin: 100px 0 120px 0;
  padding: 0;
}

.featured-member-container {
  display: flex;
  align-items: stretch;
  background: #fff;
  height: 600px;
}

.featured-member-image {
  flex: 0 0 55%;
  overflow: hidden;
  position: relative;
}

.featured-member-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.featured-member-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 60px 40px;
}

.featured-member-title {
  font-size: 24px;
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-bottom: 30px;
  color: #000;
  text-align: left;
}

.featured-member-name {
  font-size: 14px;
  font-weight: 600;
  color: #000;
  text-align: left;
}

.featured-member-role {
  font-size: 12px;
  font-weight: 300;
  color: #000;
  text-align: left;
}

.featured-member-tags {
  font-size: 10px;
  font-weight: 300;
  color: #a3abb1;
  letter-spacing: 0.05em;
  text-align: left;
}

/* Interview Section */
.interview-section {
  padding: 120px 0;
  background: #fff;
}

.interview-container {
  display: flex;
  align-items: flex-start;
  gap: 80px;
  max-width: 1200px;
  margin: 0 auto;
}

.interview-content {
  flex: 1;
  padding-right: 40px;
}

.interview-question {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-bottom: 50px;
  color: #000;
}

.interview-text {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.interview-paragraph {
  font-size: 13px;
  font-weight: 300;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #000;
}

.interview-image {
  flex: 0 0 400px;
  width: 400px;
  height: auto;
}

.interview-image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.fresh__training-section {
  margin: 60px 0;
}

.business__live-section {
  margin: 100px 0 120px 0;
}

.business__categories-section,
.purpose__vision-section {
  margin: 120px 0 0 0;
}

.about-sidebar {
  position: absolute;
  left: 0;
  top: 0;
  width: 140px;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: 80px;
  padding: 42px 22px;
  background: #fff;
}

.sidebar-logo {
  width: 80px;
}

.sidebar-logo img {
    width: 61px;
    height: 58px;
    object-fit: cover;
}

.sidebar-links {
  display: flex;
  flex-direction: row;
  align-items: start;
}

.sidebar-link {
  text-decoration: none;
  color: #322525;
  display: block;
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 18px;
  letter-spacing: 5px;
  font-weight: 600;
}

.sidebar-link:hover {
  color: #8b0000;
}

.link-text-vertical {
  display: block;
}

.separator {
  width: 1px;
  height: 100%;
  background-color: #333;
  margin: 0 10px;
}


.style__culture-header-3,
.style__customer-header,
.style__culture-header,
.business__live-header,
.business__categories-header,
.business-header,
.business__concept-header,
.social-header,
.vision-header,
.value-proposition-header,
.history-header,
.issues-header,
.culture-header,
.mission-header,
.about-header {
  width: 462px;
  height: 160px;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: start;
}

.vision-header {
  height: auto;
}

.divisions-header,
.career-header {
  width: 100%;
  height: 160px;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: start;
}

.style__customer-header {
  width: 514px;
}

.style__culture-header-3 {
  width: 603px;
}

.style__culture-header {
  width: 563px;
}

.business__live-header {
  gap: 54px;
  height: auto;
}

.style__culture-header {
  gap: 100px;
}

.business-header,
.business__concept-header,
.social-header,
.culture-header {
  height: auto;
}

.divisions-title,
.social-title,
.fresh__working-environment-title,
.fresh__stance-values-title,
.middle__expect-title,
.style__culture-title,
.style__customer-title,
.achievements-title,
.voices-title,
.business__categories-title,
.business-title,
.business__concept-title,
.vision-title,
.value-proposition-title,
.history-title,
.issues-title,
.culture-title,
.mission-title,
.about-title {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}


.action-title {
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

.career-design-title {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
  margin-bottom: 60px;
}


.purpose__vision-content,
.divisions-content,
.newgraduate-content,
.career-content,
.style__culture-content,
.fresh__stance-values-content,
.action-content,
.middle__expect-content,
.business__live-content,
.business__categories-content,
.business__concept-content,
.business-content,
.social-content,
.vision-content,
.value-content,
.mission-content,
.issues-content,
.culture-content,
.about-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.28px;
  margin-top: 60px;
  color: #000;
}


.divisions-content,
.career-content {
  grid-template-columns: 1fr;
  gap: 30px;
}

.newgraduate-content {
  grid-template-columns: 1fr;
  gap: 5px;
  margin-bottom: 60px;
}

.business__live-content {
  margin-top: 60px;
  grid-template-columns: 1fr;
}

.action-content {
  margin-top: 60px;
  grid-template-columns: 1fr;
}

.business-content {
  margin-top: 140px;
  grid-template-columns: 1fr;
}

.purpose__vision-content,
.fresh__stance-values-content,
.middle__expect-content,
.style__culture-content,
.business__categories-content,
.social-content,
.vision-content,
.mission-content,
.issues-content {
  grid-template-columns: 1fr;
}

.vision-content {
  gap: 100px;
}

.purpose__vision-content {
  gap: 120px
}

.business__concept-content {
  grid-template-columns: 1fr;
  margin-top: 100px;
  gap: 100px;
}

.divisions-heading,
.style__culture-heading,
.business__categories-heading,
.mission-heading,
.vision-heading,
.value-proposition-heading,
.history-heading,
.issues-heading,
.about-heading {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 9px;
  /* margin-bottom: 40px; */
  line-height: 1.8;
  text-align: left;
}

.career-heading {
  font-size: 24px;
  font-weight: 300;
  letter-spacing: 4.8px;
  line-height: 1.8;
  text-align: left;
}

.style__customer-heading {
  font-size: 28px;
  font-weight: 300;
  letter-spacing: 6px;
  margin-bottom: 40px;
  line-height: 150%;
  text-align: left;
}

.about-text {
  font-size: 14px;
  line-height: 2.2;
  color: #666;
  text-align: left;
  columns: 2;
  column-gap: 40px;
}

/* Gallery Grid */
.gallery-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  /* padding: 0 240px; */
}

.gallery-item {
  position: relative;
  aspect-ratio: 16/6;
  overflow: hidden;
  cursor: pointer;
  transition: transform 1.5s ease;
}

.gallery-item:hover .gallery-overlay {
  background: rgba(0, 0, 0, 0.5);
}

.gallery-item:hover .pc-image,
.gallery-item:hover .sp-image {
  transform: scale(1.04);
}

.gallery-item .pc-image,
.gallery-item .sp-image {
  transition: transform 1.5s ease;
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gallery-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 40px 60px;
  color: #fff;
  transition: background 1.5s ease;
}

.gallery-content {
  display: flex;
  flex-direction: column;
  gap: 15px;
  text-align: left;
}

.gallery-tag {
  font-size: 20px;
  letter-spacing: 3px;
  font-weight: 600;
  text-transform: uppercase;
  text-align: left;
}


.gallery-title {
  font-size: 18px;
  letter-spacing: 2px;
  line-height: 1.5;
  font-weight: 300;
  text-align: left;
}

.gallery-arrow {
  width: 26px;
  height: 14px;
  opacity: 0.8;
}

.gallery-arrow img {
  width: 100%;
  height: 100%;
  filter: brightness(0) invert(1);
  transform: rotate(90deg);
}

.photo-arrow {
  width: 26px;
  height: 14px;
  opacity: 0.8;
}

.photo-arrow img {
  width: 100%;
  height: 100%;
  filter: brightness(0) invert(1);
  transform: rotate(90deg);
}

/* Our stories Section */

.recruit__our-stories {
  margin: 120px 0 100px 0;
}

/* Member Section */
.recruit__members {
  padding-bottom: 100px;
  background: #fff;
}

.members-description {
  text-align: left;
  max-width: 900px;
  font-size: 14px;
  line-height: 2;
  color: #666;
}

.section-title {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  margin-bottom: 60px;
  color: #322525;
}

.top-page .section-title {
  font-family: "Josefin Sans";
}


.member-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 100px 40px;
}

.member-card {
  text-align: left;
  color: #322525;
  overflow: hidden;
}

.member-photo {
  width: 100%;
  aspect-ratio: 3/4;
  overflow: hidden;
}

.member-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.member-info {
  padding: 18px 0 0 0;
}

.member-name {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  margin-bottom: 8px;
  font-weight: 600;
}

.member-role {
  font-size: 12px;
  letter-spacing: 0.5px;
  font-weight: 300;
  line-height: 18px;
  margin-bottom: 12px;
}

.member-tags {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
  font-size: 20px;
  font-weight: 300;
}

.member-tag {
  font-size: 10px;
  color: #a3abb1;
  letter-spacing: 0.5px;
}

.member-title {
  font-size: 20px;
  line-height: 1.8;
  color: #333;
  font-weight: 300;
}

/* Map Section / Venues Section */
.recruit__map-section {
  padding: 120px 0 100px 0;
}

.venues-description {
  text-align: left;
  max-width: 900px;
  font-size: 14px;
  line-height: 2;
  color: #666;
  margin-bottom: 80px;
}

.venue-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: 60px;
}

.map-container {
  max-width: 590px;
  margin: 100px auto 0;
  text-align: center;
}

.map-image {
  width: 100%;
  height: 673px;
  background-image: url("./assets/images/test.png");
  background-repeat: no-repeat;
  background-size: cover;
}

/* Impact Section */

.recruit__impacts {
  padding-top: 120px;
}

.impact-grid {
  display: flex;
  flex-direction: column;
  gap: 100px;
}

.impact-card {
  display: flex;
  background: #fff;
  overflow: hidden;
  gap: 40px;
}

.impact-image {
  width: 45%;
  height: 253px;
  flex-shrink: 0;
  overflow: hidden;
  background: #f0f0f0;
}

.impact-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.impact-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.impact-title {
  font-size: 20px;
  letter-spacing: 4px;
  line-height: 1.6;
  margin-bottom: 16px;
  font-weight: 300;
}

.impact-card-description,
.impact-description {
  font-size: 14px;
  line-height: 2;
  margin-bottom: 100px;
}

.impact-card-description {
  margin-bottom: 25px;
}

.impact-link {
  display: inline-block;
  font-size: 13px;
  letter-spacing: 2px;
  text-decoration: none;
  font-weight: 500;
  position: relative;
  padding-bottom: 2px;
  transition: color 0.3s ease;
  align-self: flex-end;
  color: #322525;
}







/* Career Steps Section */
/* .career-steps-section {
  padding: 100px 0;
  background: #fff;
} */

/* .career-steps-section .section-title {
  text-align: center;
  margin-bottom: 80px;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #666;
} */

.career-steps-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 100px;
}

.career-step-card {
  background: #fff;
  border: 1px solid #000000;
  padding: 50px 60px;
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 60px;
  transition: box-shadow 0.3s ease;
}

.career-step-card:hover {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.step-header {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.step-number {
  font-size: 18px;
  font-weight: 700;
  color: #000;
  margin: 0;
  letter-spacing: 2px;
}

.step-category {
  font-size: 13px;
  color: #000;
  margin: 0;
  letter-spacing: 0.5px;
  line-height: 1.6;
}

.step-content {
  display: flex;
  flex-direction: column;
  gap: 35px;
}

.step-intro {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.step-title {
  font-size: 15px;
  font-weight: 600;
  color: #000;
  margin: 0;
  line-height: 1.8;
  letter-spacing: 0.5px;
}

.step-description {
  font-size: 14px;
  color: #000;
  line-height: 1.9;
  margin: 0;
  letter-spacing: 0.3px;
}

.step-section {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.step-section-title {
  font-size: 14px;
  font-weight: 600;
  color: #000;
  margin: 0;
  letter-spacing: 1px;
}

.step-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.step-list li {
  font-size: 14px;
  color: #000;
  line-height: 1.8;
  padding-left: 20px;
  position: relative;
  letter-spacing: 0.3px;
}

.step-list li:before {
  content: "・";
  position: absolute;
  left: 0;
  color: #666;
  font-weight: bold;
}

/* Interview CTA Section */
.interview-cta-section {
  background: #fff;
}

.interview-cta-title {
  font-size: 24px;
  font-weight: 600;
  color: #000;
  margin: 0;
  letter-spacing: 3px;
}

/* FAQ Section */
.recruit__faq-section {
  padding: 0 0 200px 0;
  background: #fff;
}

.fresh__faq-section {
  padding: 0;
}

/* .recruit__faq-section .section-title {
  text-align: center;
  margin-bottom: 100px;
} */

.faq-list {
  max-width: 1000px;
  margin: 0 auto 80px;
}

.fresh__faq-list {
  margin-top: 30px;
}

.faq-item {
  padding: 15px 0;
}

.faq-item:first-child {
  padding-top: 0;
}

.faq-question {
  display: flex;
  align-items: center;
  gap: 4px;
}

.faq-question .faq-label {
  flex-shrink: 0;
  font-size: 14px;
  font-weight: 600;
  color: #000;
  min-width: 30px;
}

.faq-question .faq-text {
  font-size: 14px;
  font-weight: 600;
  color: #000;
  line-height: 1.6;
  letter-spacing: 1px;
}

.faq-answer {
  display: flex;
  align-items: flex-start;
}

.faq-question .faq-label {
  font-weight: 300;
  color: #000;
}

.faq-answer .faq-label {
  flex-shrink: 0;
  font-size: 14px;
  font-weight: 300;
  color: #000;
  min-width: 30px;
}

.faq-answer-text {
  flex: 1;
}

.faq-answer-text p {
  font-size: 14px;
  line-height: 2;
  color: #000;
  margin: 0;
  letter-spacing: 0.5px;
}

.faq-entry-button {
  text-align: center;
  margin-top: 80px;
}

.fresh__working-environment-entry-button {
  margin-top: 130px;
}

.btn-career-entry {
  width: 100%;
  display: inline-block;
  background-color: #000;
  color: #fff;
  padding: 45px;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 2px;
  text-decoration: none;
}

.btn-career-entry span {
  display: inline-block;
}

/* Photos Section */
.middle_gallery_grid,
.fresh__gallery-grid {
  padding: 100px 0 70px 0;

}


.photos {
  padding: 120px 0;
}

.photo-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}

.photo-item {
  position: relative;
  aspect-ratio: 16/6;
  overflow: hidden;
  cursor: pointer;
  transition: transform 1.5s ease;
}

.photo-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.photo-item:hover .photo-overlay {
  background: rgba(0, 0, 0, 0.5);
}

.photo-item:hover .pc-image,
.photo-item:hover .sp-image {
  transform: scale(1.04);
}

.photo-item .pc-image,
.photo-item .sp-image {
  transition: transform 1.5s ease;
}

.photo-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 40px 60px;
  color: #fff;
  transition: background 1.5s ease;
}

.photo-text {
  font-size: 28px;
  letter-spacing: 4px;
  font-weight: 300;
}

.photo-arrow {
  /* font-size: 32px;
            opacity: 0.8; */
}

/* Footer */
footer {
  background: #000000;
  padding: 60px 0 0;
  position: relative;
}

.scroll-to-top {
  position: absolute;
  top: -60px;
  right: 20px;
  width: 40px;
  height: 40px;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  z-index: 10;
}

/* .scroll-to-top:hover {
  background: #fff;
  color: #000;
  border-color: #fff;
} */

.scroll-to-top img {
  width: 26px;
  height: 14px;
  /* filter: brightness(0) saturate(100%) invert(60%); */
}

/* .scroll-to-top:hover img {
  filter: brightness(0) saturate(100%) invert(0%);
} */

  .footer-content-sp {
    display: none;
  }

  .footer-content-pc {
    display: block;
  }

.footer-content {
  display: flex;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  gap: 30px;
}

.footer-section {
  margin-bottom: 30px;
  flex: 1;
}

.footer-title {
  font-size: 11px;
  letter-spacing: 2px;
  margin-bottom: 15px;
  color: #fff;
  font-weight: 500;
}

.footer-title a {
  color: #fff;
  text-decoration: none;
}

.footer-title a:hover {
  color: #fff;
}

.footer-link {
  display: block;
  font-size: 11px;
  color: #fff;
  text-decoration: none;
  margin-bottom: 8px;
  letter-spacing: 1px;
  line-height: 1.8;
}

.footer-link:hover {
  color: #fff;
}

.footer-subsection {
  margin-left: 0;
  margin-top: 8px;
}

.footer-sublink {
  display: block;
  font-size: 10px;
  color: #fff;
  text-decoration: none;
  margin-bottom: 6px;
  margin-left: 15px;
  letter-spacing: 1px;
  line-height: 1.8;
}

.footer-sublink:hover {
  color: #ccc;
}

.footer-bottom {
  text-align: center;
  margin-top: 40px;
  padding: 20px 0;
  border-top: 1px solid #333;
  font-size: 10px;
  background: #fff;
}

.footer-logo {
  width: 160px;
  height: 42px;
  object-fit: contain;
}

/* Mobile Bottom Navigation - Hidden on Desktop */
.mobile-bottom-nav {
  display: none !important;
}

/* Responsive */
@media (max-width: 768px) {
  .about-sidebar {
    display: none !important;
  }

  /* Mobile Bottom Navigation */
  .mobile-bottom-nav {
    display: flex !important;
    position: fixed;
    bottom: -100px;
    left: 0;
    right: 0;
    z-index: 1000;
    background: #fff;
    padding: 10px 0px;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
  }

  .mobile-nav-logo {
    flex-shrink: 0;
  }

  .mobile-nav-logo img {
    width: 60px;
    height: auto;
  }

  .mobile-nav-links {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex: 1;
    justify-content: center;
    gap: 34px;
  }

  .mobile-nav-link {
    text-decoration: none;
    color: #322525;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 2px;
    padding: 10px 20px;
  }

  .mobile-nav-link:hover {
    color: #8b0000;
  }

  .mobile-nav-separator {
    width: 1px;
    height: 60px;
    background-color: #000;
  }

  .middle__career-section,
  .fresh__stance-values-section,
  .middle__expect-section,
  .business__social-section,
  .career-steps-section,
  .style__employee-voices-section,
  .achievements-section,
  .style__intro-section,
  .business__structure-section,
  .business__model-section,
  .business__concept-section,
  .purpose__value-proposition-section,
  .purpose__history-section,
  .purpose__issues-section,
  .purpose__mission-section,
  .purpose__culture-section,
  .recruit__about-section {
    margin: 100px 0;
  }

  .fresh__working-environment-section {
    margin: 20px 0 0 0;
  }

  .business__live-section {
    margin: 70px 0 100px 0;
  }

  .business__structure-section .container {
    padding: 0 21.5px;
  }

  /* .divisions__feature-img-section {
    padding: 0 16px;
    margin-bottom: 60px;
  } */

  /* .feature-images-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  } */

  .feature-image-item {
    height: 146px;
  }

  .featured-member-section {
    margin: 60px auto;
  }

  .featured-member-container {
    flex-direction: column;
    height: auto;
  }

  .featured-member-image {
    flex: 0 0 auto;
    height: 450px;
  }

  .featured-member-content {
    padding: 40px 0px;
  }

  .featured-member-title {
    font-size: 24px;
    margin-bottom: 30px;
  }

  .featured-member-name {
    font-size: 14px;
  }

  .featured-member-role {
    font-size: 11px;
  }

  .featured-member-tags {
    font-size: 10px;
  }

  /* Interview Section - Mobile */
  .interview-section {
    padding: 60px 0;
  }

  .interview-container {
    flex-direction: column;
    gap: 40px;
  }

  .interview-content {
    padding-right: 0;
  }

  .interview-question {
    font-size: 18px;
    margin-bottom: 30px;
    line-height: 1.6;
  }

  .interview-text {
    gap: 20px;
  }

  .interview-paragraph {
    font-size: 13px;
    line-height: 1.9;
  }

  .interview-image {
    flex: 0 0 auto;
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
  }

  .business__categories-section,
  .purpose__vision-section {
    margin: 100px 0 0 0;
  }

  .sidebar-logo {
    width: 60px;
  }

  .sidebar-links {
    flex-direction: row;
    gap: 30px;
  }

  .sidebar-link {
    writing-mode: horizontal-tb;
    text-orientation: mixed;
  }

  .container {
    max-width: 100%;
    padding: 0 41.5px;
  }

  .hero-title {
    font-size: 32px;
    letter-spacing: 5px;
  }

  .style__customer-header,
  .style__culture-header-3,
  .style__culture-header,
  .business__categories-header,
  .business__concept-header,
  .vision-header,
  .value-proposition-header,
  .history-header,
  .mission-header,
  .issues-header,
  .culture-header,
  .about-header {
    width: 292px;
    height: 150px;
    gap: 70px;
  }

  .business-header {
    width: 100%;
    height: auto;
  }

  .business__concept-header,
  .social-header {
    width: 292px;
    height: auto;
  }

  .business__live-header {
    width: 292px;
    gap: 70px;
  }

  .business__concept-description {
    font-size: 16px;
    font-weight: 300;
  }

  .culture-header {
    width: 292px;
    height: auto;
    gap: 0px;
  }

  .business-title,
  .business__concept-title {
    font-size: 13px;
  }

  .divisions-title,
  .social-title ,
  .style__culture-title,
  .business__categories-title,
  .business-title,
  .vision-title,
  .value-proposition-title,
  .mission-title,
  .issues-title,
  .culture-title,
  .history-title,
  .about-title {
    font-size: 12px;
  }

  .social-title {
    font-size: 16px;
    font-weight: 300;
  }

  .action-title {
    font-size: 16px;
    font-weight: 300;
  }

  .divisions-heading,
  .style__customer-heading,
  .style__culture-heading,
  .business__categories-heading,
  .mission-heading,
  .vision-heading,
  .value-proposition-heading,
  .history-heading,
  .issues-heading,
  .about-heading {
    font-weight: 300;
    font-size: 16px;
    letter-spacing: 5px;
  }

  .career-heading {
    font-size: 16px;
  }

  .about-text {
    columns: 1;
  }

  .business__live-content,
  .social-content {
    margin-top: 70px;
  }

  .business__categories-content {
    grid-template-columns: 1fr;
    gap: 30px;
    margin-top: 45px;
  }

  .mission-content,
  .issues-content,
  .culture-content,
  .about-content {
    grid-template-columns: 1fr;
    gap: 30px;
    /* margin-top: 45px; */
  }

  .business-content {
    margin-top: 70px;
    grid-template-columns: 1fr;
  }

  .vision-content,
  .value-content {
    grid-template-columns: 1fr;
    gap: 40px;
    margin-top: 45px;
  }

  .gallery-grid {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 0;
    margin: 0 -42px;
  }

  .middle_gallery_grid,
  .fresh__gallery-grid {
    padding: 60px 0;
  }

  .gallery-item {
    aspect-ratio: 26/9;
  }

  .gallery-item:hover {
    transform: none;
  }

  .gallery-overlay {
    padding: 40px;
  }

  .gallery-tag {
    font-size: 11px;
  }

  .gallery-title {
    font-size: 16px;
  }

  .gallery-arrow {
    bottom: 20px;
    right: 20px;
    font-size: 18px;
  }

  .gallery-arrow img {
    width: 14px;
    height: 14px;
  }

  .recruit__our-stories {
    margin: 100px 0;
  }

  .map-image {
    height: 335px;
    width: 292px;
  }

  .member-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  /* Venues Section Mobile */
  .recruit__map-section {
    padding: 100px 0;
  }

  .venues-description {
    font-size: 12px;
    margin-bottom: 50px;
    line-height: 1.8;
  }

  .section-title {
    margin-bottom: 70px;
  }

  .impact-grid {
    gap: 40px;
  }

  .impact-card {
    flex-direction: column;
    gap: 0;
  }

  .impact-image {
    width: 100%;
    aspect-ratio: 16/9;
  }

  .impact-content {
    padding: 26px 0;
  }

  .impact-title {
    font-size: 16px;
    margin-bottom: 15px;
    font-weight: 300;
    letter-spacing: 3px;
  }

  .impact-description {
    font-size: 12px;
    font-weight: 300;
    line-height: 1.8;
    letter-spacing: 3px;
  }

  /* Career Steps Section Mobile */
  /* .career-steps-section {
    padding: 80px 0;
  } */

  .career-steps-section .section-title {
    margin-bottom: 45px;
    font-size: 18px;
  }

  .career-steps-grid {
    gap: 40px;
  }

  .career-step-card {
    padding: 45px 25px;
    grid-template-columns: 1fr;
    gap: 45px;
  }

  .step-header {
    gap: 0px;
  }

  .step-number {
    font-size: 16px;
  }

  .step-category {
    font-size: 12px;
  }

  .step-content {
    gap: 25px;
  }

  .step-intro {
    gap: 12px;
  }

  .step-title {
    font-size: 14px;
    line-height: 1.7;
  }

  /* .step-description {
    font-size: 12px;
    line-height: 1.7;
  } */

  .step-section {
    gap: 12px;
  }

  .step-section-title {
    font-size: 13px;
  }

  .step-list {
    gap: 8px;
  }

  .step-list li {
    line-height: 1.7;
    padding-left: 16px;
  }

  /* .interview-cta-section {
    padding: 60px 0;
  } */

  .interview-cta-title {
    font-size: 20px;
  }

  /* FAQ Section Mobile */
  .recruit__faq-section {
    /* padding: 100px 0 100px 0; */
  }

  .recruit__faq-section .section-title {
    margin-bottom: 60px;
    font-size: 16px;
  }

  .faq-list {
    max-width: 100%;
  }

  .faq-item {
    padding: 30px 0;
  }

  .faq-question {
    gap: 15px;
    margin-bottom: 20px;
  }

  .faq-question .faq-label {
    font-size: 12px;
    min-width: 25px;
  }

  .faq-question .faq-text {
    font-size: 14px;
    letter-spacing: 0.5px;
  }

  /* .faq-answer {
    gap: 15px;
  } */

  .faq-answer .faq-label {
    font-size: 12px;
    min-width: 25px;
  }

  .faq-answer-text p {
    font-size: 12px;
    line-height: 1.8;
  }

  .faq-entry-button {
    margin-top: 60px;
  }

  .fresh__working-environment-entry-button {
    margin-top: -20px;
  }

  .btn-career-entry {
    padding: 16px 40px;
    font-size: 12px;
    width: 100%;
    max-width: 300px;
  }

  .spot-item {
    flex-direction: column;
  }

  .spot-image {
    width: 100%;
  }

  .photos {
    padding: 100px 0;
  }

  .photo-grid {
    grid-template-columns: 1fr;
    margin: 0 -41.5px;
    gap: 5px;
  }

  .photo-overlay {
    padding: 41.5px;
  }

  .photo-text {
    font-size: 16px;
  }

  .photo-arrow img {
    width: 14px;
    height: 14px;
  }

  footer {
    padding: 40px 0 0;
  }

  footer {
    padding: 40px 0 0;
  }

  .footer-content-sp {
    display: block;
  }

  .footer-content-pc {
    display: none;
  }

  .footer-content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 10px;
    padding: 0 60px;
    max-width: 100%;
  }

  .footer-logo {
    width: 100px;
    height: 28px;
  }

  .footer-section {
    margin-bottom: 0;
  }

  /* Left column: ビジョン, 会社概要, 採用情報, 企業文化+ニュース */
  .footer-section:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }

  .footer-section:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
  }

  .footer-section:nth-child(3) {
    grid-column: 1;
    grid-row: 3;
  }

  .footer-section:nth-child(4) {
    grid-column: 1;
    grid-row: 4;
  }

  /* Right column: お問い合わせ+SDGs+プライバシー, 歴史的資源 */
  .footer-section:nth-child(5) {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

  .footer-section:nth-child(6) {
    grid-column: 2;
    grid-row: 3 / span 2;
  }

  .footer-title {
    font-size: 10px;
    letter-spacing: 1.5px;
    margin-bottom: 12px;
  }

  .footer-link {
    font-size: 10px;
    margin-bottom: 8px;
    letter-spacing: 0.5px;
    line-height: 1.6;
  }

  .footer-subsection {
    margin-left: 0;
    margin-top: 0;
    margin-bottom: 30px;
  }

  .footer-subsection .footer-title {
    margin-bottom: 8px;
  }

  .footer-sublink {
    font-size: 9px;
    margin-bottom: 6px;
    margin-left: 0px;
    letter-spacing: 0.5px;
  }

  .footer-bottom {
    margin-top: 20px;
    padding: 15px 0;
    font-size: 9px;
  }

  .footer-bottom p {
    text-align: center;
  }
}
/* Purpose Page Styles */

/* .purpose-hero {
  background: url("assets/images/about.webp") center/cover;
} */

.feature-img-1 {
  background: url("assets/images/issue.webp") center/cover;
  height: 492px;
}

.feature-img-2 {
  background: url("assets/images/mission.webp") center/cover;
  height: 492px;
}

.feature-img-3 {
  background: url("assets/images/history.webp") center/cover;
  height: 492px;
}

.feature-img-4 {
  background: url("assets/images/future.webp") center/cover;
  height: 492px;
}

/* Vision Section */
.vision-section {
  padding: 80px 0;
  background: #fff;
}

.vision-section .container {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 40px;
}

.vision-cards {
  display: flex;
  flex-direction: column;
  gap: 100px;
}

.vision-card {
  background: #fff;
}

.vision-card__header {
  margin-bottom: 20px;
}

.vision-card__category {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  margin: 0;
  color: #000;
  letter-spacing: 0.08em;
}

.vision-card__title {
  font-size: 20px;
  font-weight: 300;
  line-height: 1.8;
  margin: 0 0 60px;
  color: #000;
  letter-spacing: 2px;
}

.vision-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.vision-card__list li {
  font-family:
    "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 2;
  color: #333;
  letter-spacing: 0.03em;
  padding-left: 1.2em;
  position: relative;
  margin-bottom: 8px;
}

.vision-card__list li:before {
  content: "・";
  position: absolute;
  left: 0;
  color: #333;
}

.vision-card__list li:last-child {
  margin-bottom: 0;
}

.vision-card__description {
  font-size: 14px;
  font-weight: 300;
  line-height: 2.2;
  margin: 0;
  letter-spacing: 0.03em;
}

/* Value Proposition Section */

.value-item {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

.value-title {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
  margin: 0;
  color: #000;
  letter-spacing: 2px;
}

.value-description {
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  margin: 0;
  color: #333;
  letter-spacing: 0.5px;
}

/* History Section Styles */
/* .history {
  padding: 100px 0;
  background: #fff;
}

.history .container {
  max-width: 780px;
  margin: 0 auto;
  padding: 0 20px;
} */

.history-cards {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 60px;
}

.history-card {
  background: #fff;
  border: 1px solid #333;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}



.history-card__inner {
  padding: 50px;
}

.history-card__year {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #666;
  display: flex;
  justify-content: end;
}

.history-card__title {
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-bottom: 30px;
  color: #333;
  line-height: 1.6;
}

.history-card__desc {
  font-size: 14px;
  font-weight: 400;
  line-height: 2.2;
  letter-spacing: 0.05em;
  color: #333;
  margin-bottom: 35px;
}

.history-card__pickup {
  margin-top: 30px;
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #333;
}

.history-card__pickup-label {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.15em;
  color: #333;
  display: inline;
  margin-right: 20px;
}

.history-card__pickup-link {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #333;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.3s ease;
  display: inline;
  margin: 0 10px;
}

/* .history-card__pickup-link:hover {
  color: #666;
  text-decoration: none;
} */

.history-arrow {
  text-align: center;
  padding: 30px 0;
}

.history-arrow svg {
  display: inline-block;
  opacity: 0.6;
}

.history-card__pickup-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.history-card__pickup-item {
  flex: 0 0 auto;
}

.history-card__pickup-item a {
  display: inline-block;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #333;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.3s ease;
  line-height: 1.8;
}

.history-card__pickup-item a:hover {
  color: #666;
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  .feature-img-1,
  .feature-img-2,
  .feature-img-3,
  .feature-img-4 {
    height: 134px;
  }

  .vision-section {
    padding: 60px 0;
  }

  .vision-section .container {
    padding: 0 20px;
  }

  /* .vision-card {
    padding: 25px 0px;
  } */

  .vision-cards {
    gap: 50px;
  }

  .vision-card__category {
    font-size: 13px;
  }

  .vision-card__title {
    font-size: 14px;
    margin-bottom: 12px;
  }

  .vision-card__list li {
    font-size: 12px;
    line-height: 1.9;
  }

  .vision-card__description {
    font-size: 12px;
    line-height: 2;
  }

  .value-proposition {
    padding: 60px 0;
  }

  .value-proposition .container {
    padding: 0 20px;
  }

  .value-grid {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .value-number {
    font-size: 36px;
  }

  .value-title {
    font-size: 16px;
  }

  .value-description {
    font-size: 13px;
    line-height: 1.9;
  }

  .history {
    padding: 60px 0;
  }

  .history .container {
    max-width: 100%;
    padding: 0 20px;
  }

  .history-header {
    margin-bottom: 50px;
  }

  .history-cards {
    margin-top: 40px;
  }

  .history-card__inner {
    padding: 20px 17.5px;
  }

  .history-card__title {
    font-size: 18px;
    margin-bottom: 20px;
    letter-spacing: 6px;
  }

  .history-card__desc {
    font-size: 13px;
    line-height: 1.9;
    margin-bottom: 25px;
  }

  .history-card__pickup {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
  }

  .history-card__pickup-label {
    font-size: 11px;
    margin-right: 0;
    display: block;
    margin-bottom: 5px;
  }

  .history-card__pickup-link {
    font-size: 12px;
    display: block;
    line-height: 1.6;
  }

  .history-arrow {
    padding: 20px 0;
  }
}

/* ========================================
   Business Page Styles
   ======================================== */

.business-hero {
  position: relative;
  height: 100vh;
  min-height: 600px;
  background: url("assets/images/business.webp") center/cover;
  display: flex;
  align-items: center;
  justify-content: center;
}

.categories-main-title {
  font-size: 36px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 4px;
  color: #322525;
  text-align: center;
  margin-bottom: 60px;
}

.categories-intro {
  font-size: 13px;
  line-height: 2.2;
  color: #666;
  text-align: center;
  max-width: 850px;
  margin: 0 auto 100px;
  letter-spacing: 0.5px;
}

.categories-list {
  display: flex;
  flex-direction: column;
  gap: 80px;
  margin-top: 120px;
}

.category-item {
  display: flex;
  gap: 60px;
  align-items: flex-start;
}

.category-item-image {
  flex: 0 0 380px;
  height: 280px;
  position: relative;
  overflow: hidden;
}

.category-item-image .pc-image {
  width: 100%;
  height: 100%;
  display: block;
  background-size: cover;
  background-position: center;
}

.category-item-image .sp-image {
  display: none;
}

.category-item-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-top: 20px;
}

.category-item-title {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 1px;
  color: #322525;
  line-height: 1.6;
}

.category-item-description {
  font-size: 13px;
  line-height: 2.2;
  color: #666;
  letter-spacing: 0.3px;
}

.categories-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 60px 40px;
  margin-top: 80px;
}

.category-card {
  display: flex;
  flex-direction: column;
  gap: 30px;
  position: relative;
}

.category-image {
  width: 100%;
  height: 400px;
  position: relative;
  overflow: hidden;
}

.category-image .pc-image,
.category-image .sp-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-size: cover;
  background-position: center;
  display: block;
}

.category-image .sp-image {
  display: none;
}

.category-number {
  position: absolute;
  top: 20px;
  left: 20px;
  font-size: 48px;
  font-weight: 200;
  color: #fff;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
  letter-spacing: 2px;
}

.category-content {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.category-title {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 2px;
  color: #322525;
}

.category-subtitle {
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 3px;
  color: #999;
  text-transform: uppercase;
}

.category-description {
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  color: #666;
  letter-spacing: 0.5px;
}

.feature-img-business-1,
.feature-img-business-2 {
  width: 100%;
  height: 500px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin: 100px 0;
}

.feature-img-business-1 {
  background-image: url("./assets/images/business_1.webp");
}

.feature-img-business-2 {
  background-image: url("./assets/images/mission.webp");
}

.business__projects-section {
  margin: 150px 0;
}

.projects-header {
  margin-bottom: 80px;
}

.projects-description {
  font-size: 14px;
  line-height: 28px;
  color: #666;
  margin-top: 30px;
  max-width: 800px;
}

.projects-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 60px 40px;
}

.project-card {
  display: flex;
  flex-direction: column;
  gap: 25px;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.project-card:hover {
  transform: translateY(-5px);
}

.project-image {
  width: 100%;
  height: 350px;
  position: relative;
  overflow: hidden;
}

.project-image .pc-image,
.project-image .sp-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-size: cover;
  background-position: center;
  display: block;
  transition: transform 0.5s ease;
}

.project-card:hover .project-image .pc-image,
.project-card:hover .project-image .sp-image {
  transform: scale(1.05);
}

.project-image .sp-image {
  display: none;
}

.project-category {
  position: absolute;
  top: 20px;
  left: 20px;
  background: rgba(255, 255, 255, 0.95);
  padding: 8px 16px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 1.5px;
  color: #322525;
}

.project-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.project-title {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 1px;
  color: #322525;
  line-height: 1.6;
}

.project-location {
  font-size: 12px;
  font-weight: 400;
  color: #999;
  letter-spacing: 1px;
}

.project-description {
  font-size: 14px;
  font-weight: 300;
  line-height: 26px;
  color: #666;
}

.project-link {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 1px;
  color: #322525;
  text-decoration: none;
  margin-top: 10px;
  display: inline-block;
  transition: color 0.3s ease;
}

.project-link:hover {
  color: #666;
}

.business__recruit-section {
  padding: 200px 0;
}

.fresh__recruit-section {
  padding: 100px 0 70px 0;
}

.divisions__recruit-section {
  padding: 0 0 200px 0;
}

.recruit-description {
  font-size: 15px;
  line-height: 28px;
  color: #666;
  text-align: center;
  margin: 30px 0 60px;
}

/* Mobile Responsive Styles */
@media screen and (max-width: 768px) {
  .business__categories-section {
    margin: 80px 0;
  }

  .categories-main-title {
    font-size: 24px;
    line-height: 1.8;
    letter-spacing: 2px;
    margin-bottom: 40px;
  }

  .categories-intro {
    font-size: 12px;
    line-height: 2;
    margin-bottom: 60px;
    padding: 0 20px;
  }

  .categories-list {
    gap: 60px;
    margin-top: 100px;
  }

  .category-item {
    flex-direction: column;
    gap: 30px;
  }

  .category-item-image {
    flex: 1;
    width: 100%;
    height: 220px;
  }

  .category-item-image .pc-image {
    display: none;
  }

  .category-item-image .sp-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .category-item-content {
    padding-top: 0;
  }

  .category-item-title {
    font-size: 15px;
  }

  .category-item-description {
    font-size: 12px;
    line-height: 2;
  }

  .categories-grid {
    grid-template-columns: 1fr;
    gap: 50px;
    margin-top: 50px;
  }

  .category-image {
    height: 300px;
  }

  .category-image .pc-image {
    display: none;
  }

  .category-image .sp-image {
    display: block;
  }

  .category-number {
    font-size: 36px;
  }

  .category-title {
    font-size: 20px;
  }

  .feature-img-middle-1,
  .feature-img-business-1,
  .feature-img-business-2 {
    height: 134px;
    margin: 60px 0;
  }

  .business__projects-section {
    margin: 80px 0;
  }

  .projects-header {
    margin-bottom: 50px;
  }

  .projects-grid {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .project-image {
    height: 250px;
  }

  .project-image .pc-image {
    display: none;
  }

  .project-image .sp-image {
    display: block;
  }

  .project-title {
    font-size: 18px;
  }

  .divisions__recruit-section,
  .business__recruit-section {
    padding: 0 0 100px 0;
  }
}

/* Business Concept Section */

.business-concept-header {
  margin-bottom: 80px;
}

.business-concept-title {
  font-family:
    "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.2em;
  color: #000;
  text-align: left;
  margin: 0;
}

.business-concept-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 80px;
}

.business-concept-item {
  display: flex;
  flex-direction: column;
}

.business-concept-item-title {
  font-size: 24px;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 7.2px;
  color: #000;
  margin: 0 0 30px;
}

.business-concept-item-description {
  font-size: 14px;
  font-weight: 300;
  line-height: 2.2;
  letter-spacing: 0.05em;
  color: #322525;
  margin: 0;
}

@media screen and (max-width: 768px) {
  .business-concept-section {
    padding: 60px 0;
  }

  .business-concept-section .container {
    padding: 0 20px;
  }

  .business-concept-header {
    margin-bottom: 50px;
  }

  .business-concept-title {
    font-size: 13px;
  }

  .business-concept-grid {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .business-concept-item-title {
    font-size: 16px;
    letter-spacing: 0;
    font-weight: 600;
    text-align: center;
  }

  .business-concept-item-description {
    font-size: 12px;
    line-height: 2;
  }
}

/* Business Structure Section */

.business-structure-section .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}

.business-structure-row {
  display: flex;
  border-right: 1px solid #333;
}

.business-structure-row:last-child {
  margin-top: 30px;
  border-bottom: none;
}

.business-structure-label {
  min-width: 140px;
  display: flex;
  align-items: center;
  border-right: 1px solid #333;
  background: #fff;
}

.structure-label-text {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #000;
}

.business-structure-items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  flex: 1;
}

.business-structure-items--two {
  grid-template-columns: repeat(2, 1fr);
}

.business-structure-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  border-right: 1px solid #333;
  gap: 20px;
}

.business-structure-item:last-child {
  border-right: none;
}

.business-structure-item--wide {
  padding: 50px 30px;
}

.structure-icon {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.structure-icon img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.structure-title {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #000;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .business-structure-section {
    padding: 60px 0;
    overflow-x: auto;
  }

  .business-structure-section .container {
    padding: 0 15px;
    min-width: 768px;
  }

  .business-structure-row {
    display: flex;
  }

  .business-structure-label {
    min-width: 50px;
  }

  .structure-label-text {
    font-size: 10px;
  }

  .business-structure-items {
    grid-template-columns: repeat(4, 1fr);
  }

  .business-structure-items--two {
    grid-template-columns: repeat(2, 1fr);
  }

  .business-structure-item {
    padding: 30px 10px;
  }

  .structure-icon {
    width: 30px;
    height: 30px;
  }

  .structure-title {
    font-size: 6px;
    font-weight: 500;
  }

  .business-structure-item--wide {
    padding: 30px 20px;
  }
}

/* Business Flow Section */
/* .business-flow-section {
  padding: 120px 0;
  background: #fff;
} */

/* .business-flow-section .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
} */

.business-flow-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 60px;
  position: relative;
}

.flow-column {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 110px;
}

.flow-center-column {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  /* position: relative; */
  min-height: 600px;
}

.flow-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}

.flow-text-top,
.flow-text-bottom {
  text-align: center;
}

.flow-text-top p,
.flow-text-bottom p {
  font-size: 18px;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #000;
  margin: 0;
}

.flow-circle {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  border: 2px solid #ddd;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  background: #fff;
  transition: all 0.3s ease;
}

.flow-circle:hover {
  border-color: #333;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.flow-icon {
  width: 75px;
  height: 75px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.flow-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.flow-label {
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #000;
}

/* Horizontal Connectors */
.flow-connector-horizontal {
  display: flex;
  align-items: center;
  padding: 0;
  position: absolute;
  z-index: 10;
}

.flow-connector-horizontal.top-right {
  top: 174px;
  left: 290px;
}

.flow-connector-horizontal.top-left {
  top: 190px;
  left: 290px;
}

.flow-connector-horizontal.bottom-right {
  bottom: 178px;
  left: 290px;
}

.flow-connector-horizontal.bottom-left {
  bottom: 194px;
  left: 290px;
}

.flow-connector-vertical.left-bottom {
  top: 43%;
  left: 27.5%;
}

.flow-connector-vertical.left-top {
  top: 43%;
  left: 25.5%;
}

.flow-connector-vertical.right-bottom {
  top: 43%;
  right: 18.5%;
}

.flow-connector-vertical.right-top {
  top: 43%;
  right: 20.5%;
}

.connector-line-horizontal {
  width: 280px;
  height: 8px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: relative;
}

.connector-line-vertical {
  width: 8px;
  height: 100px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: relative;
}

.flow-connector-vertical.right-top .connector-line-vertical,
.flow-connector-vertical.left-top .connector-line-vertical {
  background-image: url("../vm-recruit/assets/images/common/cmn__arrow-top.svg");
}

.flow-connector-horizontal.bottom-right .connector-line-horizontal,
.flow-connector-horizontal.top-right .connector-line-horizontal {
  background-image: url("../vm-recruit/assets/images/common/cmn__arrow-right.svg");
}

.flow-connector-vertical.right-bottom .connector-line-vertical,
.flow-connector-vertical.left-bottom .connector-line-vertical {
  background-image: url("../vm-recruit/assets/images/common/cmn__arrow-bottom.svg");
}

.flow-connector-horizontal.bottom-left .connector-line-horizontal,
.flow-connector-horizontal.top-left .connector-line-horizontal {
  background-image: url("../vm-recruit/assets/images/common/cmn__arrow-left.svg");
}

/* Vertical Connectors */
.flow-connector-vertical {
  display: flex;
  align-items: center;
  padding: 0;
  position: absolute;
  z-index: 10;
}

/* .connector-line-vertical {
  width: 2px;
  height: 120px;
  background: #333;
  position: relative;
} */

/* .connector-line-vertical::before,
.connector-line-vertical::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
}

.connector-line-vertical::before {
  top: -2px;
  border-bottom: 8px solid #333;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
}

.connector-line-vertical::after {
  bottom: -2px;
  border-top: 8px solid #333;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
} */

.flow-center-text {
  text-align: center;
  top: 48%;
  left: 36%;
  position: absolute;
}

.flow-center-text p {
  font-size: 20px;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.1em;
  color: #000;
  margin: 0;
}

/* Responsive styles */
@media screen and (max-width: 1024px) {
  .business-flow-section {
    padding: 0 0 80px 0;
  }

  .business-flow-wrapper {
    gap: 50px;
  }

  .flow-circle {
    width: 200px;
    height: 200px;
  }

  .flow-icon {
    width: 60px;
    height: 60px;
  }

  .flow-label {
    font-size: 16px;
  }

  .connector-line-horizontal {
    width: 150px;
  }

  .connector-line-vertical {
    height: 100px;
  }
}

@media screen and (max-width: 768px) {
  .business-flow-section {
    padding: 0;
  }

  .business-impacts {
    padding-top: 100px;
  }

  .business-flow-section .container {
    padding: 0 14px;
  }

  .business-flow-wrapper {
    gap: 0px;
  }

  .flow-center-column {
    min-height: auto;
  }

  .flow-column {
    width: 100%;
    gap: 80px;
  }

  .flow-circle {
    width: 140px;
    height: 140px;
    gap: 4px;
  }

  .flow-icon {
    width: 30px;
    height: 30px;
  }

  .flow-label {
    font-size: 15px;
  }

  .flow-text-top p,
  .flow-text-bottom p {
    font-size: 9px;
  }

  .flow-connector-horizontal {
    /* transform: rotate(90deg);
    padding: 40px 0; */
  }

  .connector-line-horizontal {
    width: 100px;
  }

  .flow-center-text p {
    font-size: 12px;
  }

  .connector-line-vertical {
    height: 87px;
  }

  .flow-center-text {
    text-align: center;
    top: 49%;
    left: 18%;
    position: absolute;
    background: white;
    z-index: 100;
    padding: 0 20px;
  }

  .flow-connector-horizontal.top-right {
    top: 200px;
    left: 131px;
  }

  .flow-connector-horizontal.top-left {
    top: 216px;
    left: 131px;
  }

  .flow-connector-horizontal.bottom-right {
    bottom: 216px;
    left: 131px;
  }

  .flow-connector-horizontal.bottom-left {
    bottom: 200px;
    left: 131px;
  }

  .flow-connector-vertical.left-bottom {
    top: 44.5%;
    left: 26%;
  }

  .flow-connector-vertical.left-top {
    top: 44.5%;
    left: 23%;
  }

  .flow-connector-vertical.right-bottom {
    top: 44.5%;
    right: 23%;
  }

  .flow-connector-vertical.right-top {
    top: 44.5%;
    right: 26%;
  }

  .flow-connector-vertical.right-top .connector-line-vertical,
  .flow-connector-vertical.left-top .connector-line-vertical {
    background-image: url("../vm-recruit/assets/images/sp/common/cmn__arrow-top.svg");
  }

  .flow-connector-horizontal.bottom-right .connector-line-horizontal,
  .flow-connector-horizontal.top-right .connector-line-horizontal {
    background-image: url("../vm-recruit/assets/images/sp/common/cmn__arrow-right.svg");
  }

  .flow-connector-vertical.right-bottom .connector-line-vertical,
  .flow-connector-vertical.left-bottom .connector-line-vertical {
    background-image: url("../vm-recruit/assets/images/sp/common/cmn__arrow-bottom.svg");
  }

  .flow-connector-horizontal.bottom-left .connector-line-horizontal,
  .flow-connector-horizontal.top-left .connector-line-horizontal {
    background-image: url("../vm-recruit/assets/images/sp/common/cmn__arrow-left.svg");
  }
}

/* =============================================
   STYLE PAGE
   ============================================= */

/* Hero Section */
.style-hero {
  position: relative;
  height: 100vh;
  background: url("assets/images/styling.webp") center/cover;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Introduction Section */
.style__intro-content {
  text-align: left;
}

.style__intro-main {
  font-size: 28px;
  font-weight: 300;
  line-height: 2.2;
  letter-spacing: 9px;
  color: #322525;
  margin-bottom: 60px;
}

.style__intro-values {
  font-size: 28px;
  font-weight: 300;
  line-height: 2;
  letter-spacing: 9px;
  color: #322525;
  margin-bottom: 50px;
}

.style__intro-description {
  font-size: 28px;
  font-weight: 300;
  line-height: 2.2;
  letter-spacing: 9px;
  color: #322525;
  margin-bottom: 30px;
}

/* Culture & Society Section */
/* .style__culture-section {
  padding: 120px 20px;
  background: #fafafa;
} */

/* .style__culture-section .container {
  max-width: 1200px;
  margin: 0 auto;
} */

.style__culture-section .about-header {
  margin-bottom: 60px;
}

/* .style__culture-section .about-content {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
  font-size: 16px;
  line-height: 2.2;
  letter-spacing: 0.05em;
  color: #333;
  margin-bottom: 80px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
} */

/* Culture Stats Grid */
.culture-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 40px;
  row-gap: 100px;
  margin: 100px 0 120px 0;
}

/* .stat-card {
  
} */

.stat-title {
  font-size: 24px;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 6px;
  color: #000;
  margin-bottom: 30px;
  min-height: 84px;
}

.stat-description {
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #000;
}

/* Employee Voices */
.employee-voices {
  margin-top: 80px;
}

/* .voices-title {
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #000;
  margin-bottom: 50px;
  text-align: center;
} */

.employee-voices__text {
  line-height: 46px;
  font-size: 16px;
  font-weight: 300;
}

.employee-voices__description {
  font-size: 13px;
  font-weight: 500;
}

.employee-voices-content {
  display: flex;
  justify-content: end;
  margin-top: 100px;
}

/* .voices-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

.voice-card {
  background: #fff;
  padding: 30px;
  border-left: 4px solid #333;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.voice-card p {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #333;
  margin: 0;
} */

/* Achievements Section */
.achievements-section {
  margin-top: 100px;
}

/* .achievements-title {
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #000;
  margin-bottom: 40px;
  text-align: center;
} */

.achievements-list {
  display: flex;
  flex-direction: column;
  gap: 25px;
  margin-top: 100px;
}

.achievements-list ul {
  list-style-type: disc;
  padding-left: 20px;
}

.achievements-list li {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #000;
  margin-bottom: 15px;
}

.achievement-item {
  background: #fff;
  padding: 30px;
  border-radius: 2px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.achievement-item p {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #666;
  margin: 0;
}

/* Feature Images */
.feature-img-fresh-1,
.feature-img-middle-1,
.feature-img-style-4,
.feature-img-style-3,
.feature-img-style-1,
.feature-img-style-2 {
  height: 500px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.feature-img-style-3,
.feature-img-style-1 {
  background-image: url("./assets/images/L1002018.webp");
}

.feature-img-fresh-1 {
  background-image: url("./assets/images/L1003757.webp");
}

.feature-img-middle-1 {
  background-image: url("./assets/images/business_1.webp");
}

.feature-img-style-2 {
  background-image: url("./assets/images/L1000646.webp");
}

.feature-img-style-4 {
  background-image: url("./assets/images/L1002665.webp");
}

/* Customer Satisfaction Section */
.style__satisfaction-section {
  padding: 120px 20px;
  background: #fff;
}

.style__satisfaction-section .container {
  max-width: 1200px;
  margin: 0 auto;
}

.style__satisfaction-section .section-label {
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.15em;
  color: #999;
  margin-bottom: 20px;
  text-align: center;
}

.style__satisfaction-section .section-title {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
  font-size: 36px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #333;
  margin-bottom: 60px;
  text-align: center;
}

.satisfaction-description {
  max-width: 900px;
  margin: 0 auto 80px;
}

.satisfaction-description p {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
  font-size: 16px;
  line-height: 2.2;
  letter-spacing: 0.05em;
  color: #333;
  margin-bottom: 25px;
}

/* Satisfaction Stats Grid */
.satisfaction-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  margin-bottom: 100px;
}

.satisfaction-stat-card {
  background: #fafafa;
  padding: 40px 30px;
  border-radius: 2px;
  border: 1px solid #e8e8e8;
}

.stat-main-title {
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #000;
  margin-bottom: 15px;
}

.stat-sub-text {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
  font-size: 13px;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #666;
  font-style: italic;
}

/* Responsive - Mobile */
@media screen and (max-width: 768px) {
  .style-hero {
    min-height: 50vh;
    padding: 40px 15px;
  }

  .style-hero .hero-text-vertical span {
    font-size: 18px;
    line-height: 1.9;
  }

  .style__intro-section,
  .style__culture-section,
  .style__satisfaction-section {
    padding: 80px 15px;
  }

  .style__intro-content {
    padding: 0 20px;
  }

  .style__intro-main {
    font-size: 20px;
    margin-bottom: 40px;
  }

  .style__intro-values {
    font-size: 16px;
    margin-bottom: 35px;
  }

  .style__intro-description {
    font-size: 14px;
    margin-bottom: 25px;
  }

  .style__culture-section .about-content,
  .satisfaction-description p {
    font-size: 14px;
  }

  .culture-stats-grid,
  .satisfaction-stats-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 100px 0 100px 0;
  }

  .stat-card,
  .satisfaction-stat-card {
    padding: 30px 20px;
  }

  .stat-title,
  .stat-main-title {
    font-size: 16px;
  }

  .stat-description,
  .stat-sub-text {
    font-size: 13px;
  }

  .employee-voices {
    margin-top: 60px;
  }

  .voices-title,
  .achievements-title {
    font-size: 20px;
    margin-bottom: 30px;
  }

  .voices-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .voice-card,
  .achievement-item {
    padding: 20px;
  }

  .voice-card p,
  .achievement-item p {
    font-size: 13px;
  }

  .achievements-section {
    margin-top: 60px;
  }

  .achievements-list {
    gap: 15px;
  }

  .feature-img-style-1,
  .feature-img-style-2 {
    height: 300px;
  }

  .style__satisfaction-section .section-title {
    font-size: 26px;
    margin-bottom: 40px;
  }
}

/* =============================================
   FRESH PAGE
   ============================================= */

/* VM Charm Section */

.fresh-hero {
  position: relative;
  height: 100vh;
  background: url("assets/images/fresh_hero.webp") center/cover;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fresh__vm-charm-section {
  /* padding: 120px 20px; */
  background: #fff;
}

.vm-charm-header {
  margin-bottom: 60px;
}

.vm-charm-title {
  font-size: 20px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.15em;
  color: #000;
  text-align: left;
}

.interview-charm-content {
  margin-top: 100px;
}

.vm-charm-content {
  display: flex;
  flex-direction: column;
  gap: 60px;
}


.charm-item {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

.interview-charm-item {
  gap: 30px
}

.fresh__charm-item {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.charm-item-title {
  font-size: 28px;
  font-weight: 300;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #000;
}

.fresh__charm-item-title {
  font-size: 20px;
  font-weight: 300;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #322525;
}

.charm-item-description {
  font-size: 14px;
  font-weight: 300;
  line-height: 2.2;
  letter-spacing: 0.05em;
  color: #000;
}

.charm-item-description p {
  margin: 0 0 5px 0;
}

.middle__charm-item-description p {
  margin-bottom: 100px;
}

.career-item-title {
  font-weight: 600;
}

/* Responsive - Mobile */
@media screen and (max-width: 768px) {
  .fresh__vm-charm-section {
    /* padding: 80px 15px; */
  }

  .fresh__training-section {
    margin: 0 0 100px 0;
  }

  .vm-charm-header {
    margin-bottom: 50px;
  }

  .vm-charm-title {
    font-size: 12px;
  }

  .vm-charm-content {
    gap: 50px;
  }

  .charm-item {
    gap: 70px;
  }

  .charm-item-title {
    font-size: 16px;
  }

  .charm-item-description {
    font-size: 13px;
  }
}

/* ============================================
   Info Card Component
   ============================================ */

.info-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin: 0 auto;
  padding: 0;
}

/* Venue grid specific styling */
.venue-grid.info-card-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 0;
}

.info-card {
  background: #fff;
  border-radius: 0;
  overflow: hidden;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
}



.info-card__link {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.info-card__category-wrapper {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  letter-spacing: 0.5px;
}

.info-card__image {
  width: 100%;
  height: 176px;
  position: relative;
}

.info-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}



.info-card__content {
  padding: 6px 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.info-card__category {
  text-transform: uppercase;
background: #bebebe;
    color: #fff;
    text-align: center;
    padding: 2px 6px 2px;
    font-size: 10px;
}

.info-card__title {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.4;
  color: #000;
  margin: 0;
  letter-spacing: 0.5px;
}

.info-card__subtitle {
  font-size: 16px;
  font-weight: 400;
  color: #333;
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0.5px;
}

.info-card__location {
  font-size: 12px;
  color: #838383;
  line-height: 1.5;
  letter-spacing: 0.5px;
}

.info-card__description {
    font-size: 12px;
    color: #000;
    line-height: 1.6;
    letter-spacing: 0.5px;
}

/* Responsive Design */
@media screen and (max-width: 1024px) {
  .info-card-grid,
  .venue-grid.info-card-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }



  .info-card__title {
    font-size: 16px;
  }

  .info-card__subtitle {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .info-card-grid,
  .venue-grid.info-card-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .info-card__image {
    height: 220px;
  }

  .info-card__content {
    padding: 15px 0;
  }

  .info-card__title {
    font-size: 16px;
  }

  .info-card__subtitle {
    font-size: 14px;
  }

  .info-card__description {
    font-size: 12px;
  }
}

@media screen and (max-width: 480px) {
  .info-card__image {
    height: 180px;
  }

  .info-card__title {
    font-size: 18px;
  }

  .info-card__subtitle {
    font-size: 14px;
  }
}

/* Middle page */

.middle-hero {
  position: relative;
  height: 100vh;
  min-height: 600px;
  background: url("assets/images/impact_5.webp") center/cover;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Recruitment Flow Styles */
.recruitment-flow-wrapper {
  position: relative;
}

/* Show desktop, hide mobile by default */
.recruitment-flow-mobile {
  display: none;
}

.flow-horizontal-line {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-bottom: 130px;
}

.flow-step {
  display: flex;
  align-items: center;
  gap: 0;
}

.flow-box {
  width: 120px;
  height: 130px;
  border: 2px solid #ddd;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 45px 9px;
  gap: 8px;
  transition: all 0.3s ease;
}

.flow-box-highlight {
  background: #000;
  border-color: #000;
}

.flow-box-highlight .flow-box-title,
.flow-box-highlight .flow-box-subtitle {
  color: #fff;
}

.flow-box-title,
.flow-box-subtitle {
  font-size: 12px;
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #000;
  text-align: center;
}

.flow-arrow {
  font-size: 24px;
  color: #333;
  padding: 0 12px;
  transform: rotate(90deg);
}

/* Flow Branch */
.flow-branch {
  position: relative;
  display: flex;
  align-items: flex-start;
  margin-top: -60px;
}

.flow-branch-connector {
  width: 2px;
  height: 80px;
  position: absolute;
  left: 55px;
  top: -55px;
}

.flow-branch-box {
  width: 280px;
  height: 67px;
  border: 2px solid #ddd;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 26px 8px;
}

.flow-branch-box .flow-box-title {
  font-size: 14px;
}

/* Flow Note */
.flow-note {
  margin-top: 8px;
  text-align: left;
}

.flow-note p {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #666;
  margin: 0;
}

@media screen and (max-width: 480px) {
  /* Recruitment Flow Styles */
  .recruitment-flow-wrapper {
    position: relative;
    display: flex;
    flex-direction: column-reverse;
  }

  /* Hide desktop flow, show mobile flow */
  .flow-horizontal-line,
  .flow-branch,
  .flow-note {
    display: none !important;
  }

  .recruitment-flow-mobile {
    display: flex !important;
  }

  .flow-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
  }

  .flow-box {
    width: 120px;
    height: 130px;
    border: 2px solid #ddd;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 45px 9px;
    gap: 8px;
    transition: all 0.3s ease;
  }

  .flow-box-highlight {
    background: #000;
    border-color: #000;
  }

  .flow-box-highlight .flow-box-title,
  .flow-box-highlight .flow-box-subtitle {
    color: #fff;
  }

  .flow-box-title,
  .flow-box-subtitle {
    font-size: 12px;
    font-weight: 300;
    line-height: 1.6;
    letter-spacing: 0.05em;
    color: #000;
    text-align: center;
  }

  .flow-arrow {
    font-size: 24px;
    color: #333;
    padding: 0 12px;
    transform: rotate(180deg);
  }

  /* Flow Branch */
  .flow-branch {
    position: relative;
    display: flex;
    align-items: flex-start;
    margin-top: -60px;
  }

  .flow-branch-connector {
    width: 2px;
    height: 80px;
    position: absolute;
    left: 55px;
    top: -55px;
  }

  .flow-branch-box {
    width: 280px;
    height: 67px;
    border: 2px solid #ddd;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 26px 8px;
  }

  .flow-branch-box .flow-box-title {
    font-size: 14px;
  }

  /* Flow Note */
  .flow-note {
    margin-top: 8px;
    text-align: left;
  }

  .flow-note p {
    font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
    font-size: 12px;
    font-weight: 300;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: #666;
    margin: 0;
  }

  /* Mobile Flow Version */
  .recruitment-flow-mobile {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }

  .flow-mobile-row-top {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    position: relative;
  }

  .flow-mobile-side {
    flex: 0 0 auto;
  }

  .flow-box-casual {
    width: 76px;
    height: 170px;
    padding: 12px 8px;
    font-size: 11px;
  }

  .flow-mobile-arrow-bidirectional {
    position: absolute;
    left: 104px;
    top: 16px;
    transform: rotate(90deg);
  }

  .flow-mobile-arrow-bidirectional img {
    width: 8px;
    height: 34px;
  }

  .flow-mobile-main-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-left: 30px;
  }

  .flow-mobile-first-box,
  .flow-mobile-box {
    display: flex;
    justify-content: center;
    width: 100%;
  }

  .flow-mobile-first-box .flow-box,
  .flow-mobile-box .flow-box {
    width: 130px;
    height: 74px;
    padding: 16px 20px;
    border: 1px solid #ddd;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
  }

  .flow-mobile-box:last-child .flow-box {
    width: 130px;
    height: 74px;
    padding: 16px 20px;
    border: 1px solid #ddd;
    background: #000;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
  }

  .flow-mobile-arrow-down {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 8px 0;
    width: 100%;
  }

  .flow-mobile-arrow-down img {
    width: 25px;
    height: 10px;

    transform: rotate(180deg);
  }

  .flow-mobile-note {
    margin-top: 16px;
    text-align: left;
    width: 100%;
    padding-left: 90px;
  }

  .flow-mobile-note p {
    font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
    font-size: 12px;
    font-weight: 300;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: #666;
    margin: 0;
  }
}

.en-font {
  font-family: "Josefin Sans";
}



/* Make purpose page "more" link match surrounding text color */
.career-link,
.purpose-more-link {
  color: inherit;
}

.career-link {
  text-decoration: none;
}
.purpose-more-link:hover,
.purpose-more-link:focus {
  color: inherit;
  outline: none;
}

.interview-strong-text {
  font-weight: 600;
}

.value-description-list li {
    display: flex;
    align-items: baseline;
    gap: 4px;
}

.list-dot {
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    color: #333;
    flex-shrink: 0;
}



/* NEW REFACTOR STYLE  */

/* TOP PAGE */

.top-hero {
  position: relative;
  height: 100vh;
  min-height: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
}
 
.top-hero__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}
 

.top-hero__content {
  display: flex;
  text-align: center;
  color: #fff;
}

.top-hero__text {
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 24px;
  letter-spacing: 15px;
  color: #fff;
  font-weight: 300;
  margin: 0 15px;
  line-height: 1.5;
  text-align: justify;
}

.top-hero__text span {
  display: inline-block;
}
 

 
.top-about {
  margin: 120px 0;
}
 
.top-about__header {
  width: 462px;
  height: 160px;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: start;
}
 
.top-about__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}
 
.top-about__heading {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 9px;
  line-height: 1.8;
  text-align: left;
}
 
.top-about__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.28px;
  margin-top: 60px;
  color: #000;
}
 
 

.top-gallery {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}
 
.top-gallery__item {
  position: relative;
  aspect-ratio: 16/6;
  overflow: hidden;
  cursor: pointer;
  transition: transform 1.5s ease;
}
 
.top-gallery__bg {
  display: block;
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: cover;
  text-indent: -9999px;
  text-align: left;
  transition: transform 1.5s ease;
}
 
.top-gallery__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.5s ease;
}
 
.top-gallery__item:hover .top-gallery__overlay {
  background: rgba(0, 0, 0, 0.5);
}
 
.top-gallery__item:hover .top-gallery__bg,
.top-gallery__item:hover .top-gallery__img {
  transform: scale(1.04);
}
 
.top-gallery__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 40px 60px;
  color: #fff;
  transition: background 1.5s ease;
}
 
.top-gallery__content {
  display: flex;
  flex-direction: column;
  gap: 15px;
  text-align: left;
}
 
.top-gallery__tag {
  font-size: 20px;
  letter-spacing: 3px;
  font-weight: 600;
  text-transform: uppercase;
  text-align: left;
}
 
.top-gallery__title {
  font-size: 18px;
  letter-spacing: 2px;
  line-height: 1.5;
  font-weight: 300;
  text-align: left;
}
 
.top-gallery__arrow {
  width: 26px;
  height: 14px;
  opacity: 0.8;
}
 
.top-gallery__arrow img {
  width: 100%;
  height: 100%;
  filter: brightness(0) invert(1);
  transform: rotate(90deg);
}
 
 

 
.top-stories {
  margin: 120px 0 100px 0;
}
 
.top-stories__title {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  margin-bottom: 60px;
  color: #322525;
  font-family: "Josefin Sans";
}
 
.top-stories__description {
  text-align: left;
  max-width: 900px;
  font-size: 14px;
  line-height: 2;
  color: #666;
}
 
 

 
.top-venues {
  padding: 120px 0 60px 0;
}
 
.top-venues__title {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  margin-bottom: 60px;
  color: #322525;
  font-family: "Josefin Sans";
}
 
.top-venues__description {
  font-size: 13px;
  color: #666;
  line-height: 2;
}
 
.top-venues__map-wrapper {
  margin: 100px auto 0;
  text-align: center;
}
 
.top-venues__map {
    width: 100%;
    height: 542px;
    background-image: url(./assets/images/test.png);
    background-repeat: no-repeat;
    background-size: contain;
}
 
 
/* ==========================================================================
   .top-impact — Achievements & awards section
   ========================================================================== */
 
.top-impact {
  padding-top: 120px;
}
 
.top-impact__title {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  margin-bottom: 60px;
  color: #322525;
  font-family: "Josefin Sans";
}
 
.top-impact__description {
  font-size: 12px;
  line-height: 2;
  margin-bottom: 100px;
}

@media (min-width: 1280px) {
	.top-venues__map {
    width: 100%;
    height: 542px;
    background-image: url(./assets/images/test.png);
    background-repeat: no-repeat;
    background-size: cover;
}
}
 
 
@media (max-width: 768px) {
  .top-about {
    margin: 100px 0;
  }
 
  .top-about__header {
    width: 292px;
    height: 150px;
    gap: 70px;
  }
 
  .top-about__label {
    font-size: 12px;
  }
 
  .top-about__heading {
    font-weight: 300;
    font-size: 16px;
    letter-spacing: 5px;
  }
 
  .top-about__body {
    grid-template-columns: 1fr;
    gap: 30px;
  }
 
  .top-gallery {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 0;
    margin: 0 -42px;
  }
 
  .top-gallery__item {
    aspect-ratio: 26/9;
  }
 
  .top-gallery__item:hover {
    transform: none;
  }
 
  .top-gallery__bg {
    background-image: none !important;
    width: auto !important;
    height: auto !important;
  }
 
  .top-gallery__img {
    display: block;
  }
 
  .top-gallery__overlay {
    padding: 40px;
  }
 
  .top-gallery__tag {
    font-size: 11px;
  }
 
  .top-gallery__title {
    font-size: 16px;
  }
 
  .top-gallery__arrow {
    bottom: 20px;
    right: 20px;
  }
 
  .top-gallery__arrow img {
    width: 14px;
    height: 14px;
  }
 
  .top-stories {
    margin: 100px 0;
  }
 
  .top-stories__title {
    margin-bottom: 70px;
  }
 
  .top-venues {
    padding: 100px 0;
  }
 
  .top-venues__map {
    height: 366px;
  }
 
  .top-venues__title {
    margin-bottom: 70px;
  }
 
  .top-impact__title {
    margin-bottom: 70px;
  }
}
 
 

 
@media screen and (max-width: 766px) {
 
  .top-gallery__img {
    display: block;
  }
 
  .top-gallery__bg {
    background-image: none !important;
    width: auto !important;
    height: auto !important;
  }
}


/* PURPOSE PAGE */

/**
 * Purpose Page — Scoped BEM Styles
 *
 * All styles extracted from original style.css and inline <style> block,
 * mapped to new BEM class names.
 *
 * Blocks:
 *   .purpose-hero         — Full-viewport hero with background image
 *   .purpose-culture      — Company purpose introduction
 *   .purpose-issues       — Problem statement section
 *   .purpose-feature      — Full-width feature images
 *   .purpose-mission      — Mission statement section
 *   .purpose-history      — Company timeline with cards
 *   .purpose-competence   — Core competence grid (4 cards + circle)
 *   .purpose-vision       — Future vision cards
 *
 * Shared utilities kept as-is: .container, .en-font
 */


/* ==========================================================================
   .purpose-hero — Full-viewport hero with background image + vertical text
   Extracted from: .hero, .purpose-hero, .hero-content, .hero-text-vertical
   ========================================================================== */

.purpose-hero {
	position: relative;
    height: 100vh;
    min-height: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.purpose-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.purpose-hero__bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;       /* = background-size: cover */
    object-position: center; /* = background-position: center */
}

.purpose-hero__content {
  display: flex;
  text-align: center;
  color: #fff;
  position: relative;
  z-index: 1;
}

.purpose-hero__text {
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 24px;
  letter-spacing: 8px;
  color: #fff;
  font-weight: 300;
  margin: 0 15px;
  line-height: 1.5;
  text-align: justify;
}

.purpose-hero__text span {
  display: inline-block;
}


/* ==========================================================================
   .purpose-culture — Company purpose introduction
   Extracted from: .purpose__culture-section, .culture-header,
   .issues-header (nested), .issues-title, .issues-heading, .culture-content
   ========================================================================== */

.purpose-culture {
  margin: 120px 0;
}

/* The original had .culture-header wrapping .issues-header.
   .culture-header: width:462px, height:auto (override), flex, gap:60px
   .issues-header (child): width:462px, height:160px, flex, gap:60px
   Flattened to single element — uses the inner .issues-header dimensions
   since that's what holds the content. */
.purpose-culture__header {
  width: 462px;
  height: 160px;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: start;
}

.purpose-culture__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

.purpose-culture__heading {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 9px;
  line-height: 1.8;
  text-align: left;
}

/* Original: .culture-content was in the group with grid-template-columns: 1fr 1fr
   then overridden to grid-template-columns: 1fr in the single-column group.
   But .culture-content is NOT in the single-column override group.
   So it stays 2-column. */
.purpose-culture__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.28px;
  margin-top: 60px;
  color: #000;
}


/* ==========================================================================
   .purpose-issues — Problem statement: culture being lost
   Extracted from: .purpose__issues-section, .issues-header, .issues-title,
   .issues-heading, .issues-content
   ========================================================================== */

.purpose-issues {
  margin: 120px 0;
}

.purpose-issues__header {
  width: 462px;
  height: 160px;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: start;
}

.purpose-issues__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

.purpose-issues__heading {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 9px;
  line-height: 1.8;
  text-align: left;
}

/* Original: .issues-content was in the 2-column group AND the 1-column override */
.purpose-issues__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 50px;
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.28px;
  margin-top: 60px;
  color: #000;
}


/* ==========================================================================
   .purpose-feature — Full-width background images between sections
   Extracted from: .feature-img-1, .feature-img-2, .feature-img-3, .feature-img-4
   ========================================================================== */

.purpose-feature {
  width: 100%;
  height: 492px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.purpose-feature {
    width: 100%;
    height: 500px;
    margin: 100px 0;
    overflow: hidden;
    position: relative;
}

.purpose-feature picture {
    width: 100%;
    height: 100%;
}

.purpose-feature__img {
    width: 100%;
    height: 100%;
    object-fit: cover;       
    object-position: center;
}

/* .purpose-feature--issue {
  background-image: url("assets/images/issue.webp");
} */

/* .purpose-feature--mission {
  background-image: url("assets/images/new_mission.webp");
} */

/* .purpose-feature--history {
  background-image: url("assets/images/new_history.webp");
}
 */
/* .purpose-feature--future {
  background-image: url("assets/images/future_1.webp");
} */


/* ==========================================================================
   .purpose-mission — Mission statement
   Extracted from: .purpose__mission-section, .mission-header, .mission-title,
   .mission-heading, .mission-content, .purpose-more-link
   ========================================================================== */

.purpose-mission {
  margin: 120px 0;
}

.purpose-mission__header {
  width: 462px;
  height: 160px;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: start;
}

.purpose-mission__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

.purpose-mission__heading {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 9px;
  line-height: 1.8;
  text-align: left;
}

/* Original: .mission-content was in 2-column group AND 1-column override */
.purpose-mission__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 50px;
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.28px;
  margin-top: 60px;
  color: #000;
}

/* Extracted from: .purpose-more-link, .career-link */
.purpose-mission__link {
  color: inherit;
}

.purpose-mission__link:hover,
.purpose-mission__link:focus {
  color: inherit;
  outline: none;
}


/* ==========================================================================
   .purpose-history — Company timeline with cards and arrows
   Extracted from: .purpose__history-section, .history-header, .history-title,
   .history-heading, .history-cards, .history-card, .history-card__*,
   .history-arrow
   ========================================================================== */

.purpose-history {
  margin: 120px 0;
}

.purpose-history__header {
  width: 462px;
  height: 160px;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: start;
}

.purpose-history__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

.purpose-history__heading {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 9px;
  line-height: 1.8;
  text-align: left;
}

/* Extracted from: .history-cards */
.purpose-history__timeline {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 60px;
}

/* Structural wrapper for each period (year + card) — no visual styles in original */
.purpose-history__period {
  /* structural wrapper */
}

/* Extracted from: .history-card__year */
.purpose-history__year {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #666;
  display: flex;
  justify-content: end;
}

/* Extracted from: .history-card */
.purpose-history__card {
  background: #fff;
  border: 1px solid #333;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

/* Extracted from: .history-card__inner */
.purpose-history__card-inner {
  padding: 50px;
}

/* Extracted from: .history-card__title */
.purpose-history__card-title {
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-bottom: 30px;
  color: #333;
  line-height: 1.6;
}

/* Extracted from: .history-card__desc */
.purpose-history__card-desc {
  font-size: 14px;
  font-weight: 400;
  line-height: 2.2;
  letter-spacing: 0.05em;
  color: #333;
  margin-bottom: 35px;
}

/* Extracted from: .history-card__pickup */
.purpose-history__pickup {
  margin-top: 30px;
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #333;
}

/* Extracted from: .history-card__pickup-label */
.purpose-history__pickup-label {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.15em;
  color: #333;
  display: inline;
  margin-right: 20px;
}

/* Extracted from: .history-card__pickup-link */
.purpose-history__pickup-link {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #333;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.3s ease;
  display: inline;
  margin: 0 10px;
}

/* Extracted from: .history-arrow */
.purpose-history__arrow {
  text-align: center;
  padding: 30px 0;
}


/* ==========================================================================
   .purpose-competence — Core competence: 4 cards + center circle grid
   Extracted from: .purpose__value-proposition-section, .value-proposition-header,
   .value-proposition-title, .value-proposition-heading
   PLUS inline <style> block: .grid, .card, .card.right, .card-title,
   .card-body, .circle-wrap, .ring, .ring-label, .spacer, .c1–c4,
   .row2-left, .row2-right
   ========================================================================== */

.purpose-competence {
  margin: 120px 0;
}

.purpose-competence__header {
  width: 462px;
  height: 160px;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: start;
}

.purpose-competence__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

.purpose-competence__heading {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 9px;
  line-height: 1.8;
  text-align: left;
}

/* ── Grid layout (was inline .grid + .value-content combined) ── */
.purpose-competence__grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  grid-template-rows: 1fr auto 1fr;
  gap: 0;
  justify-items: start;
  max-width: 900px;
  margin: 60px auto 0;
}

/* ── Cards (was inline .card) ── */
.purpose-competence__card {
  /* padding inherited from original .card (none set) */
}

.purpose-competence__card--right {
  justify-self: end;
  text-align: left;
}

/* Divider line after each card (was .card::after) */
.purpose-competence__card::after {
  content: '';
  display: block;
  width: 24px;
  height: 1px;
  background: var(--ring-color);
  margin-top: 18px;
}

/* ── Card content (was inline .card-title, .card-body) ── */
.purpose-competence__card-title {
  font-weight: 400;
  font-size: 18px;
  letter-spacing: 0.06em;
  margin-bottom: 14px;
  line-height: 1.5;
}

.purpose-competence__card-text {
  font-size: 14px;
  line-height: 1.9;
  letter-spacing: 0;
  font-weight: 400;
}

/* ── Grid position classes (was inline .c1, .c2, .c3, .c4) ── */
.purpose-competence__card--pos-tl { grid-column: 1; grid-row: 1; }
.purpose-competence__card--pos-tr { grid-column: 3; grid-row: 1; }
.purpose-competence__card--pos-bl { grid-column: 1; grid-row: 3; }
.purpose-competence__card--pos-br { grid-column: 3; grid-row: 3; }

/* ── Row 2 spacers (was inline .row2-left, .row2-right, .spacer) ── */
.purpose-competence__spacer {
  /* structural spacer — invisible, positioning via modifiers */
}

.purpose-competence__spacer--left  { grid-column: 1; grid-row: 2; height: 32px; }
.purpose-competence__spacer--right { grid-column: 3; grid-row: 2; height: 32px; }

/* ── Circle (was inline .circle-wrap) ── */
.purpose-competence__circle {
  grid-column: 2;
  grid-row: 1 / 4;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
}

/* ── Ring (was inline .ring) ── */
.purpose-competence__ring {
  position: relative;
  flex-shrink: 0;
}

.purpose-competence__ring svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* ── Ring label (was inline .ring-label) ── */
.purpose-competence__ring-label {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-align: center;
}


/* ==========================================================================
   .purpose-vision — Future vision cards
   Extracted from: .purpose__vision-section, .vision-header, .vision-title,
   .vision-heading, .purpose__vision-content, .vision-card, .vision-card__*
   ========================================================================== */

.purpose-vision {
  margin: 120px 0 0 0;
}

/* .vision-header had height: auto override */
.purpose-vision__header {
  width: 462px;
  height: auto;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: start;
}

.purpose-vision__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

.purpose-vision__heading {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 9px;
  line-height: 1.8;
  text-align: left;
}

/* Extracted from: .purpose__vision-content
   Base: 2-column grid → overridden to 1-column, gap: 120px */
.purpose-vision__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 120px;
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.28px;
  margin-top: 60px;
  color: #000;
}

/* Extracted from: .vision-card */
.purpose-vision__card {
  background: #fff;
}

/* Extracted from: .vision-card__header */
.purpose-vision__card-header {
  margin-bottom: 20px;
}

/* Extracted from: .vision-card__category */
.purpose-vision__card-category {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  margin: 0;
  color: #000;
  letter-spacing: 0.08em;
}

/* Extracted from: .vision-card__title */
.purpose-vision__card-title {
  font-size: 20px;
  font-weight: 300;
  line-height: 1.8;
  margin: 0 0 60px;
  color: #000;
  letter-spacing: 2px;
}

/* Extracted from: .vision-card__list */
.purpose-vision__card-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.purpose-vision__card-list li {
  font-family:
    "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 2;
  color: #333;
  letter-spacing: 0.03em;
  padding-left: 1.2em;
  position: relative;
  margin-bottom: 8px;
}

.purpose-vision__card-list li:before {
  content: "・";
  position: absolute;
  left: 0;
  color: #333;
}

.purpose-vision__card-list li:last-child {
  margin-bottom: 0;
}

/* Extracted from: .vision-card__description */
.purpose-vision__card-desc {
  font-size: 14px;
  font-weight: 300;
  line-height: 2.2;
  margin: 0;
  letter-spacing: 0.03em;
}


/* ==========================================================================
   RESPONSIVE — Mobile (max-width: 768px)
   All mobile overrides from original style.css mapped to new BEM names
   ========================================================================== */

@media (max-width: 768px) {

  /* ── Hero ── */
  .purpose-hero__text {
    font-size: 18px;
    line-height: 1.9;
  }

  /* ── Section margins ──
     Original: .purpose__culture-section etc → margin: 100px 0 */
  .purpose-culture,
  .purpose-issues,
  .purpose-mission,
  .purpose-history,
  .purpose-competence {
    margin: 100px 0;
  }

  .purpose-vision {
    margin: 100px 0 0 0;
  }

  /* ── Feature images ──
     Original: .feature-img-1..4 → height: 134px */
  .purpose-feature {
    height: 146px;
  }

  /* ── All section headers ──
     Original: .issues-header, .mission-header, .history-header,
     .value-proposition-header, .culture-header → width:292px, height:150px, gap:70px
     culture-header override: height:auto, gap:0 */
  .purpose-issues__header,
  .purpose-mission__header,
  .purpose-history__header,
  .purpose-competence__header {
    width: 292px;
    height: 150px;
    gap: 70px;
  }

  /* Culture header had special override: .culture-header mobile → height:auto, gap:0 */
  .purpose-culture__header {
    width: 292px;
    height: auto;
    gap: 70px;
  }

  /* Vision header — follows same pattern as other headers on mobile */
  .purpose-vision__header {
    width: 292px;
    height: 150px;
    gap: 70px;
  }

  /* ── All section labels ──
     Original: .issues-title, .mission-title, .history-title,
     .value-proposition-title, .vision-title, .culture-title → font-size:12px */
  .purpose-culture__label,
  .purpose-issues__label,
  .purpose-mission__label,
  .purpose-history__label,
  .purpose-competence__label,
  .purpose-vision__label {
    font-size: 12px;
  }

  /* ── All section headings ──
     Original: .issues-heading, .mission-heading, .history-heading,
     .value-proposition-heading, .vision-heading → font-weight:300, font-size:16px, letter-spacing:5px */
  .purpose-culture__heading,
  .purpose-issues__heading,
  .purpose-mission__heading,
  .purpose-history__heading,
  .purpose-competence__heading,
  .purpose-vision__heading {
    font-weight: 300;
    font-size: 16px;
    letter-spacing: 5px;
  }

  /* ── Content bodies ──
     Original: .mission-content, .issues-content, .culture-content → 1fr, gap:30px
     .value-content → 1fr, gap:40px, margin-top:45px */
  .purpose-culture__body,
  .purpose-issues__body,
  .purpose-mission__body {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  /* ── History cards ── */
  .purpose-history__timeline {
    margin-top: 40px;
  }

  .purpose-history__card-inner {
    padding: 20px 17.5px;
  }

  .purpose-history__card-title {
    font-size: 18px;
    margin-bottom: 20px;
    letter-spacing: 6px;
  }

  .purpose-history__card-desc {
    font-size: 13px;
    line-height: 1.9;
    margin-bottom: 25px;
  }

  .purpose-history__pickup {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
  }

  .purpose-history__pickup-label {
    font-size: 11px;
    margin-right: 0;
    display: block;
    margin-bottom: 5px;
  }

  .purpose-history__pickup-link {
    font-size: 12px;
    display: block;
    line-height: 1.6;
  }

  .purpose-history__arrow {
    padding: 20px 0;
  }

  /* ── Competence grid — mobile: single column ──
     Extracted from inline @media (max-width: 680px) */
  .purpose-competence__grid {
    display: flex;
    flex-direction: column;
    align-items: stretch;
        margin: 0px auto 0;
  }

  .purpose-vision__body {
    margin-top: 0;
  }

  .purpose-competence__spacer--left,
  .purpose-competence__spacer--right {
    display: none;
  }

  /* Mobile order: card1 → card2 → circle → card3 → card4 */
  .purpose-competence__card--pos-tl { order: 1; }
  .purpose-competence__card--pos-tr { order: 2; }
  .purpose-competence__circle       { order: 3; }
  .purpose-competence__card--pos-bl { order: 4; }
  .purpose-competence__card--pos-br { order: 5; }

  .purpose-competence__circle {
    padding: 32px 0;
    justify-content: center;
  }

  .purpose-competence__card,
  .purpose-competence__card--right {
    padding: 24px 0;
    text-align: left;
    justify-self: unset;
    border-bottom: 1px solid #e8e4de;
  }

  .purpose-competence__card--pos-br {
    border-bottom: none;
  }

  .purpose-competence__card-text {
    max-width: 100%;
  }

  .purpose-competence__card::after {
    display: none;
  }

  .purpose-competence__ring::before {
    -webkit-mask: radial-gradient(circle, transparent 48px, black 49px);
            mask: radial-gradient(circle, transparent 48px, black 49px);
  }

  .purpose-competence__ring-label {
    font-size: 18px;
  }

  /* ── Vision cards ── */
  .purpose-vision__card-category {
    font-size: 13px;
  }

  .purpose-vision__card-title {
    font-size: 14px;
    margin-bottom: 12px;
  }

  .purpose-vision__card-list li {
    font-size: 12px;
    line-height: 1.9;
  }

  .purpose-vision__card-desc {
    font-size: 12px;
    line-height: 2;
  }
}

/* STYLE PAGE  */

/**
 * Style Page (page-style.php) — Scoped BEM Styles
 *
 * All styles extracted from original style.css, mapped to new BEM names.
 *
 * Blocks:
 *   .style-hero      — Full-viewport hero with bg image
 *   .style-intro     — Opening prose section
 *   .style-pillar    — Repeating pillar section (×5)
 *   .style-feature   — Full-width feature images between pillars
 *
 * Shared utilities kept as-is: .container, .en-font
 */


/* ==========================================================================
   .style-hero — Full-viewport hero with background image
   Extracted from: .hero (base) + .style-hero (bg) + .hero-content + .hero-text-vertical
   ========================================================================== */

.style-hero {
  position: relative;
  height: 100vh;
  min-height: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: url("assets/images/styling.webp") center/cover;
}

/* Extracted from: .hero-content */
.style-hero__content {
  display: flex;
  text-align: center;
  color: #fff;
}

/* Extracted from: .hero-text-vertical */
.style-hero__text {
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 24px;
  letter-spacing: 8px;
  color: #fff;
  font-weight: 300;
  margin: 0 15px;
  line-height: 1.5;
  text-align: justify;
}

.style-hero__text span {
  display: inline-block;
}


/* ==========================================================================
   .style-intro — Opening introductory prose
   Extracted from: .style__intro-section, .style__intro-content,
   .style__intro-main, .style__intro-values, .style__intro-description
   ========================================================================== */

.style-intro {
  margin: 120px 0;
}

/* Extracted from: .style__intro-content */
.style-intro__body {
  text-align: left;
}

/* Extracted from: .style__intro-main */
.style-intro__lead {
  font-size: 28px;
  font-weight: 300;
  line-height: 2.2;
  letter-spacing: 9px;
  color: #322525;
  margin-bottom: 60px;
}

/* Extracted from: .style__intro-values */
.style-intro__values {
  font-size: 28px;
  font-weight: 300;
  line-height: 2;
  letter-spacing: 9px;
  color: #322525;
  margin-bottom: 50px;
}

/* Extracted from: .style__intro-description */
.style-intro__desc {
  font-size: 28px;
  font-weight: 300;
  line-height: 2.2;
  letter-spacing: 9px;
  color: #322525;
  margin-bottom: 30px;
}


/* ==========================================================================
   .style-pillar — Repeating pillar section (01–05)
   Each contains: header, body, stats grid, voices, systems
   ========================================================================== */

/* Section wrapper — original reused .style__intro-section for pillars 02–05,
   and .style__culture-section for pillar 01. Both had margin: 120px 0. */
.style-pillar {
  margin: 120px 0;
}


/* ── Header ──
   Three original header widths mapped to modifiers:
     .style__culture-header  → 563px (culture, team, drive)
     .style__customer-header → 514px (customer)
     .style__culture-header-3 → 603px (people)
   All share: display:flex, flex-direction:column, gap varies, align-items:start
   ========================================================================== */

.style-pillar__header {
  display: flex;
  flex-direction: column;
  align-items: start;
}

/* Extracted from: .style__culture-header — width:563px, gap:100px */
.style-pillar__header--culture,
.style-pillar__header--team,
.style-pillar__header--drive {
  width: 563px;
  gap: 100px;
}

/* Extracted from: .style__customer-header — width:514px, gap:60px */
.style-pillar__header--customer {
  width: 514px;
  gap: 60px;
}

/* Extracted from: .style__culture-header-3 — width:603px, gap:60px */
.style-pillar__header--people {
  width: 603px;
  gap: 60px;
}

/* Extracted from: .style__culture-title / .style__customer-title
   Both were in the shared title group with identical styles */
.style-pillar__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

/* Extracted from: .style__culture-heading
   Was in the shared heading group */
.style-pillar__heading {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 9px;
  line-height: 1.8;
  text-align: left;
}


/* ── Body text ──
   Original borrowed .vision-content from purpose page:
   grid-template-columns: 1fr; (single-column override) + base grid styles
   ========================================================================== */

.style-pillar__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 50px;
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.28px;
  margin-top: 60px;
  color: #000;
}


/* ── Stats grid ──
   Extracted from: .culture-stats-grid, .stat-card, .stat-title, .stat-description
   ========================================================================== */

.style-pillar__stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 40px;
  row-gap: 100px;
  margin: 100px 0 120px 0;
}

.style-pillar__stat {
  /* structural card — no explicit styles in original .stat-card */
}

/* Extracted from: .stat-title */
.style-pillar__stat-title {
  font-size: 24px;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 6px;
  color: #000;
  margin-bottom: 30px;
  min-height: 84px;
}

/* Extracted from: .stat-description */
.style-pillar__stat-desc {
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #000;
}


/* ── Employee voices ──
   Extracted from: .employee-voices (wrapper), .voices-title,
   .employee-voices__text, .employee-voices-content, .employee-voices__description
   Note: original hacked .purpose__history-section (margin:120px 0) onto some wrappers
   ========================================================================== */

.style-pillar__voices {
  margin-top: 80px;
}

/* Extracted from: .voices-title (shared title group) */
.style-pillar__voices-title {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

/* Body wraps the text — extracted from: .vision-content (borrowed as container) */
.style-pillar__voices-body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 50px;
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.28px;
  margin-top: 60px;
  color: #000;
}

/* Extracted from: .employee-voices__text */
.style-pillar__voices-text {
  line-height: 46px;
  font-size: 16px;
  font-weight: 300;
}

/* Extracted from: .employee-voices-content (flex justify-end wrapper) */
.style-pillar__voices-note {
  display: flex;
  justify-content: end;
  margin-top: 100px;
}

/* Extracted from: .employee-voices__description */
.style-pillar__voices-source {
  font-size: 13px;
  font-weight: 500;
}


/* ── Achievement systems ──
   Extracted from: .achievements-section, .achievements-title,
   .achievements-list, .achievements-list ul, .achievements-list li
   ========================================================================== */

.style-pillar__systems {
  margin-top: 100px;
}

/* Extracted from: .achievements-title (was in shared title group: voices-title etc.)
   But .achievements-title had no explicit font-size override in original —
   inherits from the shared title group at 20px */
.style-pillar__systems-title {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

/* Extracted from: .achievements-list */
.style-pillar__systems-list {
  display: flex;
  flex-direction: column;
  gap: 25px;
  margin-top: 100px;
}

.style-pillar__systems-list ul {
  list-style-type: disc;
  padding-left: 20px;
}

/* Extracted from: .achievements-list li */
.style-pillar__systems-list li {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #000;
  margin-bottom: 15px;
}


/* ==========================================================================
   .style-feature — Full-width background images between pillar sections
   Extracted from: .feature-img-style-1, -2, -3, -4
   Base from shared group: height:500px, bg-size:cover, bg-position:center, no-repeat
   ========================================================================== */

.style-feature {
  width: 100%;
  height: 500px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Extracted from: .feature-img-style-1 / .feature-img-style-3
   Both used: url("./assets/images/L1002018.webp") */
.style-feature--culture {
  background-image: url("./assets/images/L1002018.webp");
}

/* Extracted from: .feature-img-style-2
   url("./assets/images/L1000646.webp") */
.style-feature--customer {
  background-image: url("./assets/images/L1000646.webp");
}

/* .feature-img-style-3 shared same image as -1 */
.style-feature--people {
  background-image: url("./assets/images/L1002018.webp");
}

/* Extracted from: .feature-img-style-4
   url("./assets/images/L1002665.webp") */
.style-feature--team {
  background-image: url("./assets/images/L1002665.webp");
}


/* ==========================================================================
   RESPONSIVE — Mobile (max-width: 768px)
   All mobile overrides traced from original style.css
   ========================================================================== */

@media (max-width: 768px) {

  /* ── Hero ── */
  /* Extracted from: .style-hero mobile override
     Original: min-height:50vh, padding:40px 15px */
  .style-hero {
    min-height: 50vh;
    padding: 40px 15px;
  }

  .style-hero__text {
    font-size: 18px;
    line-height: 1.9;
  }

  /* ── Intro ──
     Extracted from: .style__intro-section mobile → margin:100px 0
     And all intro text overrides */
  .style-intro {
    margin: 100px 0;
  }

  .style-intro__body {
    padding: 0 20px;
  }

  .style-intro__lead {
    font-size: 20px;
    margin-bottom: 40px;
  }

  .style-intro__values {
    font-size: 16px;
    margin-bottom: 35px;
  }

  .style-intro__desc {
    font-size: 14px;
    margin-bottom: 25px;
  }

  /* ── Pillar sections ──
     All original wrappers had: margin:100px 0 on mobile */
  .style-pillar {
    margin: 100px 0;
  }

  /* ── Headers ──
     All three header variants collapse to same mobile dimensions.
     Original: .style__culture-header, .style__customer-header,
     .style__culture-header-3 → width:292px, height:150px, gap:70px */
  .style-pillar__header--culture,
  .style-pillar__header--customer,
  .style-pillar__header--people,
  .style-pillar__header--team,
  .style-pillar__header--drive {
    width: 292px;
    height: 150px;
    gap: 70px;
  }

  /* Labels → font-size:12px on mobile
     Extracted from the shared group: .style__culture-title etc. */
  .style-pillar__label {
    font-size: 12px;
  }

  /* Headings → smaller on mobile
     Extracted from: .style__culture-heading, .style__customer-heading */
  .style-pillar__heading {
    font-weight: 300;
    font-size: 16px;
    letter-spacing: 5px;
  }

  /* ── Stats grid ──
     Extracted from: .culture-stats-grid mobile → 1fr, gap:20px */
  .style-pillar__stats {
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 100px 0 100px 0;
  }

  /* Extracted from: .stat-title, .stat-main-title mobile → 16px */
  .style-pillar__stat-title {
    font-size: 16px;
  }

  /* Extracted from: .stat-description mobile → 13px */
  .style-pillar__stat-desc {
    font-size: 13px;
  }

  /* ── Voices ──
     Extracted from: .employee-voices mobile → margin-top:60px */
  .style-pillar__voices {
    margin-top: 60px;
  }

  /* Extracted from: .voices-title mobile → 20px, margin-bottom:30px */
  .style-pillar__voices-title {
    font-size: 20px;
    margin-bottom: 30px;
  }

  /* ── Systems/Achievements ──
     Extracted from: .achievements-section mobile → margin-top:60px */
  .style-pillar__systems {
    margin-top: 60px;
  }

  .style-pillar__systems-list {
    gap: 15px;
  }

  /* ── Feature images ──
     Extracted from: .feature-img-style-1, -2 mobile → height:300px */
  .style-feature {
    height: 300px;
  }
}

/* BUSINESS PAGE  */

/**
 * Business Page (page-business.php) — Scoped BEM Styles
 *
 * All styles extracted from original style.css, mapped to new BEM names.
 *
 * Blocks:
 *   .biz-hero        — Full-viewport hero
 *   .biz-social      — "WHAT WE DO" intro
 *   .biz-concept     — Business concept (2 items)
 *   .biz-feature     — Full-width feature images
 *   .biz-model       — Business model description
 *   .biz-structure   — Structure table (toC / toB/G)
 *   .biz-live        — "toC" intro section
 *   .biz-flow        — Circular flow diagram
 *   .biz-impact      — Impact section (template part wrapper)
 *   .biz-categories  — "to B/G" categories
 *
 * Shared utilities kept as-is: .container, .en-font
 */


/* ==========================================================================
   .biz-hero — Full-viewport hero with background image
   Extracted from: .hero (base) + .business-hero (bg) + .hero-content + .hero-text-vertical
   ========================================================================== */

.biz-hero {
    position: relative;
    height: 100vh;
    min-height: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

/* Picture acts as full background */
.biz-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.biz-hero__bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;       /* = background-size: cover */
    object-position: center; /* = background-position: center */
}

.biz-hero__content {
  display: flex;
  text-align: center;
  color: #fff;
    position: relative;
    z-index: 1;
}

.biz-hero__content {
  display: flex;
  text-align: center;
  color: #fff;
}

.biz-hero__text {
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 24px;
  letter-spacing: 8px;
  color: #fff;
  font-weight: 300;
  margin: 0 15px;
  line-height: 1.5;
  text-align: justify;
}

.biz-hero__text span {
  display: inline-block;
}


/* ==========================================================================
   .biz-social — "WHAT WE DO" introduction
   Extracted from: .business__social-section, .social-header, .social-title,
   .about-heading (borrowed), .social-content
   ========================================================================== */

.biz-social {
  margin: 120px 0;
}

/* Extracted from: .social-header — was in the group: height:auto */
.biz-social__header {
  width: 462px;
  height: auto;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: start;
}

/* Extracted from: .social-title — special override font-size:28px, font-weight:500 */
.biz-social__label {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 3px;
    color: #322525;
    line-height: 130%;
}

/* Extracted from: .about-heading (borrowed from about page) */
.biz-social__heading {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 9px;
  line-height: 1.8;
  text-align: left;
}

/* Extracted from: .social-content — in 1-column override group */
.biz-social__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 50px;
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.28px;
  margin-top: 60px;
  color: #000;
}


/* ==========================================================================
   .biz-concept — Business concept: preservation + town-making
   Extracted from: .business__concept-section, .business__concept-header,
   .business__concept-title, .business__concept-content,
   .business-concept-item, .business-concept-item-title,
   .business-concept-item-description
   ========================================================================== */

.biz-concept {
  margin: 120px 0;
}

/* Extracted from: .business__concept-header — height:auto */
.biz-concept__header {
  width: 462px;
  height: auto;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: start;
}

/* Extracted from: .business__concept-title */
.biz-concept__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

/* Extracted from: .business__concept-content — 1-column, margin-top:100px, gap:100px */
.biz-concept__body {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 100px;
  gap: 100px;
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.28px;
  color: #000;
}

/* Extracted from: .business-concept-item */
.biz-concept__item {
  display: flex;
  flex-direction: column;
}

/* Extracted from: .business-concept-item-title */
.biz-concept__item-title {
  font-size: 24px;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 7.2px;
  color: #000;
  margin: 0 0 30px;
}

/* Extracted from: .business-concept-item-description */
.biz-concept__item-desc {
  font-size: 14px;
  font-weight: 300;
  line-height: 2.2;
  letter-spacing: 0.05em;
  color: #322525;
  margin: 0;
}


/* ==========================================================================
   .biz-feature — Full-width background images
   Extracted from: .feature-img-business-1, .feature-img-business-2
   ========================================================================== */

/* .biz-feature {
  width: 100%;
  height: 500px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin: 100px 0;
}

.biz-feature--overview {
  background-image: url("./assets/images/business_1.webp");
} */

.biz-feature {
    width: 100%;
    height: 500px;
    margin: 100px 0;
    overflow: hidden;
    position: relative;
}

.biz-feature picture {
    width: 100%;
    height: 100%;
}

.biz-feature__img {
    width: 100%;
    height: 100%;
    object-fit: cover;       
    object-position: center;
}

.biz-feature--mission {
  background-image: url("./assets/images/mission.webp");
}


/* ==========================================================================
   .biz-model — Business model description
   Extracted from: .business__model-section, .business-header,
   .business-title, .business-content
   ========================================================================== */

.biz-model {
  margin: 120px 0;
}

/* Extracted from: .business-header — height:auto */
.biz-model__header {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: start;
}

/* Extracted from: .business-title */
.biz-model__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

/* Extracted from: .business-content — 1-column, margin-top:140px */
.biz-model__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 50px;
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.28px;
  margin-top: 140px;
  color: #000;
}


/* ==========================================================================
   .biz-structure — Business structure table (toC / toB/G)
   Extracted from: .business__structure-section, .business-structure-row,
   .business-structure-label, .structure-label-text,
   .business-structure-items, .business-structure-items--two,
   .business-structure-item, .business-structure-item--wide,
   .structure-icon, .structure-title
   ========================================================================== */

.biz-structure {
  margin: 120px 0;
}

/* Extracted from: .business-structure-row */
.biz-structure__row {
  display: flex;
  border-right: 1px solid #333;
}

.biz-structure__row:last-child {
  margin-top: 30px;
  border-bottom: none;
}

/* Extracted from: .business-structure-label */
.biz-structure__label-cell {
  min-width: 140px;
  display: flex;
  align-items: center;
  border-right: 1px solid #333;
  background: #fff;
}

/* Extracted from: .structure-label-text */
.biz-structure__label-text {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #000;
}

/* Extracted from: .business-structure-items */
.biz-structure__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  flex: 1;
}

/* Extracted from: .business-structure-items--two */
.biz-structure__items--two {
  grid-template-columns: repeat(2, 1fr);
}

/* Extracted from: .business-structure-item */
.biz-structure__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  border-right: 1px solid #333;
  gap: 20px;
}

.biz-structure__item:last-child {
  border-right: none;
}

/* Extracted from: .business-structure-item--wide */
.biz-structure__item--wide {
  padding: 50px 30px;
}

/* Extracted from: .structure-icon */
.biz-structure__icon {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.biz-structure__icon img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* Extracted from: .structure-title */
.biz-structure__title {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #000;
  text-align: center;
}


/* ==========================================================================
   .biz-live — "toC" intro section
   Extracted from: .business__live-section, .business__live-header,
   .business__concept-title (reused), .business__concept-description (inline),
   .business__live-content
   ========================================================================== */

.biz-live {
  margin: 100px 0 120px 0;
}

/* Extracted from: .business__live-header — gap:54px, height:auto */
.biz-live__header {
  width: 462px;
  height: auto;
  display: flex;
  flex-direction: column;
  gap: 54px;
  align-items: start;
}

/* Extracted from: .business__concept-title (reused as label) */
.biz-live__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

/* Extracted from: inline style="font-size: 18px;" + .business__concept-description */
.biz-live__subtitle {
  font-size: 18px;
  font-weight: 300;
}

/* Extracted from: .business__live-content — 1-column, margin-top:60px */
.biz-live__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 50px;
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.28px;
  margin-top: 60px;
  color: #000;
}


/* ==========================================================================
   .biz-flow — Circular business flow diagram
   Extracted from: .business-flow-section, .business-flow-wrapper,
   .flow-column, .flow-center-column, .flow-item, .flow-circle,
   .flow-icon, .flow-label, .flow-text-top, .flow-text-bottom,
   .flow-connector-horizontal, .flow-connector-vertical,
   .connector-line-horizontal, .connector-line-vertical,
   .flow-center-text, and all position classes
   ========================================================================== */

.biz-flow {
  /* no explicit padding in original .business-flow-section at desktop */
}

/* Extracted from: .business-flow-wrapper */
.biz-flow__wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 60px;
  position: relative;
}

/* Extracted from: .flow-column */
.biz-flow__column {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 110px;
}

/* Extracted from: .flow-center-column */
.biz-flow__center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  min-height: 600px;
}

/* Extracted from: .flow-item */
.biz-flow__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}

/* Extracted from: .flow-text-top, .flow-text-bottom */
.biz-flow__text-top,
.biz-flow__text-bottom {
  text-align: center;
}

.biz-flow__text-top p,
.biz-flow__text-bottom p {
  font-size: 18px;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #000;
  margin: 0;
}

/* Extracted from: .flow-circle */
.biz-flow__circle {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  border: 2px solid #ddd;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #fff;
  transition: all 0.3s ease;
}

.biz-flow__circle:hover {
  border-color: #333;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

/* Extracted from: .flow-icon */
.biz-flow__icon {
  width: 75px;
  height: 75px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.biz-flow__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.biz-flow__label {
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #000;
  line-height: 2;
}

/* ── Horizontal connectors ──
   Extracted from: .flow-connector-horizontal + position classes */
.biz-flow__connector-h {
  display: flex;
  align-items: center;
  padding: 0;
  position: absolute;
  z-index: 10;
}

.biz-flow__connector-h--top-right    { top: 174px;    left: 290px; }
.biz-flow__connector-h--top-left     { top: 190px;    left: 290px; }
.biz-flow__connector-h--bottom-right { bottom: 178px; left: 290px; }
.biz-flow__connector-h--bottom-left  { bottom: 194px; left: 290px; }

/* Extracted from: .connector-line-horizontal */
.biz-flow__line-h {
  width: 280px;
  height: 8px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: relative;
}

/* Arrow images for horizontal connectors */
.biz-flow__connector-h--top-right .biz-flow__line-h,
.biz-flow__connector-h--bottom-right .biz-flow__line-h {
  background-image: url("../vm-recruit/assets/images/common/cmn__arrow-right.svg");
}

.biz-flow__connector-h--top-left .biz-flow__line-h,
.biz-flow__connector-h--bottom-left .biz-flow__line-h {
  background-image: url("../vm-recruit/assets/images/common/cmn__arrow-left.svg");
}

/* ── Vertical connectors ──
   Extracted from: .flow-connector-vertical + position classes */
.biz-flow__connector-v {
  display: flex;
  align-items: center;
  padding: 0;
  position: absolute;
  z-index: 10;
}

.biz-flow__connector-v--left-bottom  { top: 43%;  left: 27.5%; }
.biz-flow__connector-v--left-top     { top: 43%;  left: 25.5%; }
.biz-flow__connector-v--right-bottom { top: 43%;  right: 18.5%; }
.biz-flow__connector-v--right-top    { top: 43%;  right: 20.5%; }

/* Extracted from: .connector-line-vertical */
.biz-flow__line-v {
  width: 8px;
  height: 100px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: relative;
}

/* Arrow images for vertical connectors */
.biz-flow__connector-v--right-top .biz-flow__line-v,
.biz-flow__connector-v--left-top .biz-flow__line-v {
  background-image: url("../vm-recruit/assets/images/common/cmn__arrow-top.svg");
}

.biz-flow__connector-v--right-bottom .biz-flow__line-v,
.biz-flow__connector-v--left-bottom .biz-flow__line-v {
  background-image: url("../vm-recruit/assets/images/common/cmn__arrow-bottom.svg");
}

/* ── Center text ──
   Extracted from: .flow-center-text */
.biz-flow__center-text {
  text-align: center;
  top: 48%;
  left: 36%;
  position: absolute;
}

.biz-flow__center-text p {
  font-size: 20px;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.1em;
  color: #000;
  margin: 0;
}


/* ==========================================================================
   .biz-impact — Impact section wrapper (template part inside)
   Extracted from: .recruit__impacts (base padding) + .business-impacts
   ========================================================================== */

.biz-impact {
  padding-top: 120px;
}


/* ==========================================================================
   .biz-categories — "to B/G" categories section
   Extracted from: .business__categories-section, .business__categories-header,
   .business__categories-title, .business__categories-heading,
   .business__categories-content, .categories-list
   ========================================================================== */

.biz-categories {
  margin: 120px 0 0 0;
}

/* Extracted from: .business__categories-header */
.biz-categories__header {
  width: 462px;
  height: 160px;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: start;
}

/* Extracted from: .business__categories-title */
.biz-categories__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

/* Extracted from: .business__categories-heading */
.biz-categories__heading {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 9px;
  line-height: 1.8;
  text-align: left;
}

/* Extracted from: .business__categories-content — 1-column override */
.biz-categories__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 50px;
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.28px;
  margin-top: 60px;
  color: #000;
}

/* Extracted from: .categories-list — margin-top:120px */
.biz-categories__list {
  margin-top: 120px;
}


/* ==========================================================================
   RESPONSIVE — Tablet (max-width: 1024px)
   ========================================================================== */

@media screen and (max-width: 1024px) {

  .biz-flow__wrapper {
    gap: 50px;
  }

  .biz-flow__circle {
    width: 200px;
    height: 200px;
  }

  .biz-flow__icon {
    width: 60px;
    height: 60px;
  }

  .biz-flow__label {
    font-size: 16px;
  }

  .biz-flow__line-h {
    width: 150px;
  }

  .biz-flow__line-v {
    height: 100px;
  }
}


/* ==========================================================================
   RESPONSIVE — Mobile (max-width: 768px)
   ========================================================================== */

@media (max-width: 768px) {

  /* ── Hero ── */
  .biz-hero__text {
    font-size: 18px;
    line-height: 1.9;
  }

  /* ── Section margins ── */
  .biz-social,
  .biz-concept,
  .biz-model,
  .biz-structure {
    margin: 100px 0;
  }

  .biz-live {
    margin: 70px 0 100px 0;
  }

  .biz-categories {
    margin: 80px 0;
  }

  /* ── Headers ── */
  .biz-social__header,
  .biz-concept__header,
  .biz-live__header {
    width: 292px;
    height: auto;
  }

  .biz-model__header {
    width: 100%;
    height: auto;
  }

  .biz-categories__header {
    width: 292px;
    height: 150px;
    gap: 70px;
  }

  /* ── Labels ── */
  .biz-concept__label,
  .biz-model__label,
  .biz-live__label,
  .biz-categories__label {
    font-size: 12px;
  }

  .biz-social__label {
    font-size: 16px;
    font-weight: 300;
  }

  /* ── Headings ── */
  .biz-social__heading,
  .biz-categories__heading {
    font-weight: 300;
    font-size: 16px;
    letter-spacing: 5px;
  }

  /* ── Content bodies ── */
  .biz-social__body,
  .biz-categories__body {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .biz-model__body {
    margin-top: 70px;
    grid-template-columns: 1fr;
  }

  .biz-live__body {
    margin-top: 70px;
  }

  /* ── Concept items ── */
  .biz-concept__item-title {
    font-size: 16px;
    letter-spacing: 0;
    font-weight: 600;
    text-align: center;
  }

  .biz-concept__item-desc {
    font-size: 12px;
    line-height: 2;
  }

  /* ── Feature images ── */
  .biz-feature {
    height: 134px;
    margin: 60px 0;
  }

  /* ── Structure table ──
     Extracted from mobile: overflow-x:auto, min-width:768px for inner container */
  .biz-structure {
    overflow-x: auto;
  }

  .biz-structure .container {
    padding: 0 15px;
  }

  .biz-structure__label-cell {
    min-width: 50px;
  }

  .biz-structure__label-text {
    font-size: 10px;
  }

  .biz-structure__item {
    padding: 10px 16px;
  }
	
	.biz-structure__items {
		flex: none;
	}

  .biz-structure__icon {
    width: 30px;
    height: 30px;
  }

  .biz-structure__title {
    font-size: 6px;
    font-weight: 500;
  }

  .biz-structure__item--wide {
    padding: 30px 25px;
  }

  /* ── Flow diagram ── */
  .biz-flow .container {
    padding: 0 14px;
  }

  .biz-flow__wrapper {
    gap: 0;
  }

  .biz-flow__center {
    min-height: auto;
  }

  .biz-flow__column {
    width: 100%;
    gap: 80px;
  }

  .biz-flow__circle {
    width: 140px;
    height: 140px;
    gap: 4px;
  }

  .biz-flow__icon {
    width: 30px;
    height: 30px;
  }

  .biz-flow__label {
    font-size: 15px;
  }

  .biz-flow__text-top p,
  .biz-flow__text-bottom p {
    font-size: 9px;
  }

  .biz-flow__line-h {
    width: 100px;
  }

  .biz-flow__line-v {
    height: 87px;
  }

  .biz-flow__center-text {
    top: 49%;
    left: 18%;
    background: white;
    z-index: 100;
    padding: 0 20px;
  }

  .biz-flow__center-text p {
    font-size: 12px;
  }

  /* Mobile connector positions */
  .biz-flow__connector-h--top-right    { top: 200px;    left: 131px; }
  .biz-flow__connector-h--top-left     { top: 216px;    left: 131px; }
  .biz-flow__connector-h--bottom-right { bottom: 216px; left: 131px; }
  .biz-flow__connector-h--bottom-left  { bottom: 200px; left: 131px; }

  .biz-flow__connector-v--left-bottom  { top: 44.5%; left: 26%; }
  .biz-flow__connector-v--left-top     { top: 44.5%; left: 23%; }
  .biz-flow__connector-v--right-bottom { top: 44.5%; right: 23%; }
  .biz-flow__connector-v--right-top    { top: 44.5%; right: 26%; }

  /* Mobile arrow SVGs (use sp/ path) */
  .biz-flow__connector-v--right-top .biz-flow__line-v,
  .biz-flow__connector-v--left-top .biz-flow__line-v {
    background-image: url("../vm-recruit/assets/images/sp/common/cmn__arrow-top.svg");
  }

  .biz-flow__connector-h--bottom-right .biz-flow__line-h,
  .biz-flow__connector-h--top-right .biz-flow__line-h {
    background-image: url("../vm-recruit/assets/images/sp/common/cmn__arrow-right.svg");
  }

  .biz-flow__connector-v--right-bottom .biz-flow__line-v,
  .biz-flow__connector-v--left-bottom .biz-flow__line-v {
    background-image: url("../vm-recruit/assets/images/sp/common/cmn__arrow-bottom.svg");
  }

  .biz-flow__connector-h--bottom-left .biz-flow__line-h,
  .biz-flow__connector-h--top-left .biz-flow__line-h {
    background-image: url("../vm-recruit/assets/images/sp/common/cmn__arrow-left.svg");
  }

  /* ── Impact ── */
  .biz-impact {
    padding-top: 100px;
  }

  /* ── Categories ── */
  .biz-categories__list {
    margin-top: 100px;
  }
}

/* MIDDLE PAGE */

/**
 * Middle / Career Page (page-middle.php) — Scoped BEM Styles
 *
 * All styles extracted from original style.css, mapped to new BEM names.
 *
 * Blocks:
 *   .mid-hero        — Full-viewport hero
 *   .mid-intro       — Career recruitment intro
 *   .mid-feature     — Full-width feature image
 *   .mid-expect      — "WHY VM NOW" section
 *   .mid-now         — "3つの今" current initiatives
 *   .mid-positions   — Open position gallery cards
 *   .mid-career      — Career path / support items
 *   .mid-flow        — Recruitment flow diagram
 *   .mid-faq         — FAQ section
 *   .mid-nav         — Sub-page navigation gallery
 *   .mid-venues      — Venue list (template part wrapper)
 *
 * Shared utilities kept as-is: .container, .en-font
 */


/* ==========================================================================
   .mid-hero — Full-viewport hero
   Extracted from: .hero (base) + .middle-hero (bg)
   ========================================================================== */

.mid-hero {
	position: relative;
    height: 100vh;
    min-height: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.mid-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.mid-hero__bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;       /* = background-size: cover */
    object-position: center; /* = background-position: center */
}

.mid-hero__content {
  display: flex;
  text-align: center;
  color: #fff;
  position: relative;
  z-index: 1;
}

.mid-hero__text {
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 24px;
  letter-spacing: 8px;
  color: #fff;
  font-weight: 300;
  margin: 0 15px;
  line-height: 1.5;
  text-align: justify;
}

.mid-hero__text span {
  display: inline-block;
}


/* ==========================================================================
   .mid-intro — Career recruitment introduction
   Extracted from: .recruit__about-section (1st use), .career-header,
   .issues-title, .career-heading, .career-content
   ========================================================================== */

.mid-intro {
  margin: 120px 0;
}

/* Extracted from: .career-header — width:100%, height:160px */
.mid-intro__header {
  width: 100%;
  height: 160px;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: start;
}

/* Extracted from: .issues-title (shared title group) */
.mid-intro__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

/* Extracted from: .career-heading */
.mid-intro__heading {
  font-size: 24px;
  font-weight: 300;
  letter-spacing: 4.8px;
  line-height: 1.8;
  text-align: left;
}

/* Extracted from: .career-content — 1-column grid, gap:30px */
.mid-intro__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.28px;
  margin-top: 60px;
  color: #000;
}


/* ==========================================================================
   .mid-feature — Full-width background image
   Extracted from: .feature-img-middle-1
   ========================================================================== */

/* .mid-feature {
  width: 100%;
  height: 500px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("./assets/images/business_1.webp");
} */

.mid-feature {
  width: 100%;
  height: 492px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.mid-feature {
    width: 100%;
    height: 500px;
    margin: 100px 0;
    overflow: hidden;
    position: relative;
}

.mid-feature picture {
    width: 100%;
    height: 100%;
}

.mid-feature__img {
    width: 100%;
    height: 100%;
    object-fit: cover;       
    object-position: center;
}


/* ==========================================================================
   .mid-expect — "WHY VM NOW"
   Extracted from: .middle__expect-section, .career-header (2nd use),
   .middle__expect-content
   ========================================================================== */

.mid-expect {
  margin: 120px 0;
}

.mid-expect__header {
  width: 100%;
  height: 160px;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: start;
}

.mid-expect__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

.mid-expect__heading {
  font-size: 24px;
  font-weight: 300;
  letter-spacing: 4.8px;
  line-height: 1.8;
  text-align: left;
}

/* Extracted from: .middle__expect-content — 1-column override */
.mid-expect__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 50px;
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.28px;
  margin-top: 60px;
  color: #000;
}


/* ==========================================================================
   .mid-now — "3つの今" current initiatives
   Extracted from: .fresh__vm-charm-section (borrowed), .vm-charm-header,
   .vm-charm-title, .vm-charm-content, .charm-item, .charm-item-description,
   .career-item-title, .career-link
   ========================================================================== */

.mid-now {
  margin: 120px 0;
}

/* Extracted from: .vm-charm-header */
.mid-now__header {
  margin-bottom: 60px;
}

/* Extracted from: .vm-charm-title */
.mid-now__title {
  font-size: 20px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.15em;
  color: #000;
  text-align: left;
}

/* Extracted from: .vm-charm-content */
.mid-now__list {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

/* Extracted from: .charm-item — gap:60px (but items here only have desc, no title) */
.mid-now__item {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

/* Extracted from: .charm-item-description */
.mid-now__item-desc {
  font-size: 14px;
  font-weight: 300;
  line-height: 2.2;
  letter-spacing: 0.05em;
  color: #000;
}

.mid-now__item-desc p {
  margin: 0 0 5px 0;
}

/* Extracted from: .career-item-title — inline bold */
.mid-now__item-strong {
  font-weight: 600;
}

/* Extracted from: .career-link */
.mid-now__item-link {
  color: inherit;
  text-decoration: none;
}


/* ==========================================================================
   .mid-positions — Open position gallery cards
   Extracted from: .recruit__about-section (2nd use), .about-title,
   .gallery-grid, .fresh__gallery-grid, .gallery-item, .pc-image, .sp-image,
   .gallery-overlay, .gallery-content, .gallery-tag, .gallery-title,
   .gallery-arrow
   ========================================================================== */

.mid-positions {
  margin: 120px 0;
}

/* Extracted from: .about-title */
.mid-positions__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

/* Extracted from: .gallery-grid + .fresh__gallery-grid padding */
.mid-positions__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  padding: 100px 0 70px 0;
}

/* Extracted from: .gallery-item */
.mid-positions__card {
  position: relative;
  aspect-ratio: 16/6;
  overflow: hidden;
  cursor: pointer;
  transition: transform 1.5s ease;
}

.mid-positions__card:hover .mid-positions__card-overlay {
  background: rgba(0, 0, 0, 0.5);
}

.mid-positions__card:hover .mid-positions__card-bg,
.mid-positions__card:hover .mid-positions__card-img {
  transform: scale(1.04);
}

/* Extracted from: .pc-image (desktop bg span) */
.mid-positions__card-bg {
  display: block;
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: cover;
  text-indent: -9999px;
  text-align: left;
  transition: transform 1.5s ease;
}

/* Extracted from: .sp-image (mobile img) */
.mid-positions__card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.5s ease;
}

/* Extracted from: .gallery-overlay */
.mid-positions__card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 40px 60px;
  color: #fff;
  transition: background 1.5s ease;
}

.mid-positions__card-content {
  display: flex;
  flex-direction: column;
  gap: 15px;
  text-align: left;
}

.mid-positions__card-tag {
  font-size: 20px;
  letter-spacing: 3px;
  font-weight: 600;
  text-transform: uppercase;
  text-align: left;
}

.mid-positions__card-title {
  font-size: 18px;
  letter-spacing: 2px;
  line-height: 1.5;
  font-weight: 300;
  text-align: left;
}

.mid-positions__card-arrow {
  width: 26px;
  height: 14px;
  opacity: 0.8;
}

.mid-positions__card-arrow img {
  width: 100%;
  height: 100%;
  filter: brightness(0) invert(1);
  transform: rotate(90deg);
}


/* ==========================================================================
   .mid-career — Career path, support, steps, onboarding
   Extracted from: .fresh__vm-charm-section (2nd use), .vm-charm-content,
   .charm-item, .charm-item-title, .charm-item-description,
   .middle__charm-item-description
   ========================================================================== */

.mid-career {
  margin: 120px 0;
}

/* Extracted from: .vm-charm-content */
.mid-career__list {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

/* Extracted from: .charm-item */
.mid-career__item {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

/* Extracted from: .charm-item-title */
.mid-career__item-title {
  font-size: 28px;
  font-weight: 300;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #000;
}

/* Extracted from: .charm-item-description + .middle__charm-item-description
   .middle__charm-item-description p had margin-bottom: 100px */
.mid-career__item-desc {
  font-size: 14px;
  font-weight: 300;
  line-height: 2.2;
  letter-spacing: 0.05em;
  color: #000;
}

.mid-career__item-desc p {
  margin: 0 0 100px 0;
}


/* ==========================================================================
   .mid-flow — Recruitment flow diagram (desktop + mobile)
   Extracted from: .middle__career-section, .career-content (wrapper),
   .career-content__ttl-flow, .recruitment-flow-wrapper,
   .flow-horizontal-line, .flow-step, .flow-box, .flow-box-highlight,
   .flow-box-title, .flow-box-subtitle, .flow-arrow,
   .flow-branch, .flow-branch-connector, .flow-branch-box, .flow-note,
   .recruitment-flow-mobile, .flow-mobile-*
   ========================================================================== */

.mid-flow {
  margin: 120px 0;
}

/* Extracted from: .career-content (flow wrapper context) — 1-column grid */
.mid-flow__wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.28px;
  color: #000;
}

/* Extracted from: .career-content__ttl-flow + .lo__content-ttl
   Desktop: display:block, width:auto, height:24px, font:18px */
.mid-flow__title {
  display: block;
  width: auto;
  height: 24px;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #000;
  text-indent: 0;
  text-align: left;
  margin-bottom: 60px;
}

/* Extracted from: .recruitment-flow-wrapper */
.mid-flow__diagram {
  position: relative;
}

/* ── Desktop horizontal line ── */
.mid-flow__line {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-bottom: 130px;
}

.mid-flow__step {
  display: flex;
  align-items: center;
  gap: 0;
}

.mid-flow__box {
  width: 120px;
  height: 130px;
  border: 2px solid #ddd;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 45px 9px;
  gap: 8px;
  transition: all 0.3s ease;
}

.mid-flow__box--highlight {
  background: #000;
  border-color: #000;
}

.mid-flow__box--highlight .mid-flow__box-title,
.mid-flow__box--highlight .mid-flow__box-subtitle {
  color: #fff;
}

.mid-flow__box-title,
.mid-flow__box-subtitle {
  font-size: 12px;
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #000;
  text-align: center;
}

.mid-flow__arrow {
  font-size: 24px;
  color: #333;
  padding: 0 12px;
  transform: rotate(90deg);
}

/* ── Branch (casual interview) ── */
.mid-flow__branch {
  position: relative;
  display: flex;
  align-items: flex-start;
  margin-top: -60px;
}

.mid-flow__branch-connector {
  width: 2px;
  height: 80px;
  position: absolute;
  left: 55px;
  top: -55px;
}

.mid-flow__branch-box {
  width: 280px;
  height: 67px;
  border: 2px solid #ddd;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 26px 8px;
}

.mid-flow__branch-box .mid-flow__box-title {
  font-size: 14px;
}

/* ── Note ── */
.mid-flow__note {
  margin-top: 8px;
  text-align: left;
}

.mid-flow__note p {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #666;
  margin: 0;
}

/* ── Mobile: hidden on desktop ── */
.mid-flow__mobile {
  display: none;
}


/* ==========================================================================
   .mid-faq — FAQ section
   Extracted from: .recruit__faq-section, .about-header (borrowed),
   .about-title (borrowed), .about-heading (borrowed),
   .faq-list, .fresh__faq-list, .faq-item, .faq-question, .faq-label,
   .faq-text, .faq-answer, .faq-answer-text, .faq-entry-button,
   .btn-career-entry
   ========================================================================== */

.mid-faq {
  padding: 0 0 200px 0;
}

/* Extracted from: .about-header */
.mid-faq__header {
  width: 462px;
  height: 160px;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: start;
}

.mid-faq__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

.mid-faq__heading {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 9px;
  line-height: 1.8;
  text-align: left;
}

/* Extracted from: .faq-list + .fresh__faq-list */
.mid-faq__list {
  max-width: 1000px;
  margin: 30px auto 80px;
}

/* Extracted from: .faq-item */
.mid-faq__item {
  padding: 15px 0;
}

.mid-faq__item:first-child {
  padding-top: 0;
}

/* Extracted from: .faq-question */
.mid-faq__question {
  display: flex;
  align-items: center;
  gap: 4px;
}

/* Extracted from: .faq-label (Q) */
.mid-faq__q-label {
  flex-shrink: 0;
  font-size: 14px;
  font-weight: 300;
  color: #000;
  min-width: 30px;
}

/* Extracted from: .faq-text */
.mid-faq__q-text {
  font-size: 14px;
  font-weight: 600;
  color: #000;
  line-height: 1.6;
  letter-spacing: 1px;
}

/* Extracted from: .faq-answer */
.mid-faq__answer {
  display: flex;
  align-items: flex-start;
}

/* Extracted from: .faq-label (A) */
.mid-faq__a-label {
  flex-shrink: 0;
  font-size: 14px;
  font-weight: 300;
  color: #000;
  min-width: 30px;
}

/* Extracted from: .faq-answer-text */
.mid-faq__a-text p {
  font-size: 14px;
  line-height: 2;
  color: #000;
  margin: 0;
  letter-spacing: 0.5px;
}

/* Extracted from: .faq-entry-button */
.mid-faq__entry {
  text-align: center;
  margin-top: 80px;
}

/* Extracted from: .btn-career-entry */
.mid-faq__entry-btn {
  width: 100%;
  display: inline-block;
  background-color: #000;
  color: #fff;
  padding: 45px;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 2px;
  text-decoration: none;
}

.mid-faq__entry-btn span {
  display: inline-block;
}


/* ==========================================================================
   .mid-nav — Sub-page navigation gallery cards
   Same visual styles as .mid-positions gallery, but separate block
   Extracted from: .gallery-grid, .gallery-item, etc.
   ========================================================================== */

.mid-nav__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}

.mid-nav__card {
  position: relative;
  aspect-ratio: 16/6;
  overflow: hidden;
  cursor: pointer;
  transition: transform 1.5s ease;
}

.mid-nav__card:hover .mid-nav__card-overlay {
  background: rgba(0, 0, 0, 0.5);
}

.mid-nav__card:hover .mid-nav__card-bg,
.mid-nav__card:hover .mid-nav__card-img {
  transform: scale(1.04);
}

.mid-nav__card-bg {
  display: block;
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: cover;
  text-indent: -9999px;
  text-align: left;
  transition: transform 1.5s ease;
}

.mid-nav__card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.5s ease;
}

.mid-nav__card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 40px 60px;
  color: #fff;
  transition: background 1.5s ease;
}

.mid-nav__card-content {
  display: flex;
  flex-direction: column;
  gap: 15px;
  text-align: left;
}

.mid-nav__card-tag {
  font-size: 20px;
  letter-spacing: 3px;
  font-weight: 600;
  text-transform: uppercase;
}

.mid-nav__card-title {
  font-size: 18px;
  letter-spacing: 2px;
  line-height: 1.5;
  font-weight: 300;
}

.mid-nav__card-arrow {
  width: 26px;
  height: 14px;
  opacity: 0.8;
}

.mid-nav__card-arrow img {
  width: 100%;
  height: 100%;
  filter: brightness(0) invert(1);
  transform: rotate(90deg);
}


/* ==========================================================================
   .mid-venues — Venue list wrapper (template part)
   Extracted from: .recruit__map-section, .section-title
   ========================================================================== */

.mid-venues {
  padding: 120px 0 100px 0;
}

.mid-venues__title {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  margin-bottom: 60px;
  color: #322525;
}


/* ==========================================================================
   RESPONSIVE — Desktop (min-width: 960px)
   ========================================================================== */




/* ==========================================================================
   RESPONSIVE — Mobile (max-width: 768px)
   ========================================================================== */

@media (max-width: 768px) {

  /* ── Hero ── */
  .mid-hero__text {
    font-size: 18px;
    line-height: 1.9;
  }

  /* ── Section margins ── */
  .mid-intro,
  .mid-expect,
  .mid-now,
  .mid-positions,
  .mid-career,
  .mid-flow {
    margin: 100px 0;
  }

  /* ── Feature image ── */
  .mid-feature {
    height: 146px;
  }

  /* ── Headers ── */
  .mid-intro__header,
  .mid-expect__header {
    width: 100%;
    height: auto;
  }

  .mid-faq__header {
    width: 292px;
    height: 150px;
    gap: 70px;
  }

  /* ── Labels ── */
  .mid-intro__label,
  .mid-expect__label,
  .mid-positions__label,
  .mid-faq__label {
    font-size: 12px;
  }

  .mid-now__title {
    font-size: 12px;
  }

  /* ── Headings ── */
  .mid-intro__heading,
  .mid-expect__heading {
    font-size: 16px;
  }

  .mid-faq__heading {
    font-weight: 300;
    font-size: 16px;
    letter-spacing: 5px;
  }

  /* ── Position gallery ── */
  .mid-positions__grid {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 60px 0;
    margin: 0 -42px;
  }

  .mid-positions__card {
    aspect-ratio: 26/9;
  }

  .mid-positions__card:hover {
    transform: none;
  }

  .mid-positions__card-bg {
    background-image: none !important;
    width: auto !important;
    height: auto !important;
  }

  .mid-positions__card-img {
    display: block;
  }

  .mid-positions__card-overlay {
    padding: 40px;
  }

  .mid-positions__card-tag {
    font-size: 11px;
  }

  .mid-positions__card-title {
    font-size: 16px;
  }

  .mid-positions__card-arrow img {
    width: 14px;
    height: 14px;
  }

  /* ── Career items ── */
  .mid-career__item {
    gap: 70px;
  }

  .mid-career__item-title {
    font-size: 16px;
  }

  /* ── Flow: hide desktop, show mobile ── */
  .mid-flow__title {
    font-size: 16px;
    height: auto;
    margin-bottom: 40px;
  }

  .mid-flow__line,
  .mid-flow__branch,
  .mid-flow__note {
    display: none !important;
  }

  .mid-flow__mobile {
    display: flex !important;
  }

  /* Mobile flow layout */
  .mid-flow__mobile {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }

  .mid-flow__mobile-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    position: relative;
  }

  .mid-flow__mobile-side {
    flex: 0 0 auto;
  }

  .mid-flow__box--casual {
    width: 76px;
    height: 170px;
    padding: 12px 8px;
    font-size: 11px;
  }

  .mid-flow__mobile-bidir {
    position: absolute;
    left: 104px;
    top: 16px;
    transform: rotate(90deg);
  }

  .mid-flow__mobile-bidir img {
    width: 8px;
    height: 34px;
  }

  .mid-flow__mobile-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-left: 30px;
  }

  .mid-flow__mobile-box {
    display: flex;
    justify-content: center;
    width: 100%;
  }

  .mid-flow__mobile-box .mid-flow__box {
    width: 130px;
    height: 74px;
    padding: 16px 20px;
    border: 1px solid #ddd;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
  }

  .mid-flow__mobile-box:last-child .mid-flow__box {
    background: #000;
    border-color: #000;
  }

  .mid-flow__mobile-box:last-child .mid-flow__box .mid-flow__box-title,
  .mid-flow__mobile-box:last-child .mid-flow__box .mid-flow__box-subtitle {
    color: #fff;
  }

  .mid-flow__mobile-arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 8px 0;
    width: 100%;
  }

  .mid-flow__mobile-arrow img {
    width: 25px;
    height: 10px;
    transform: rotate(180deg);
  }

  /* ── FAQ ── */
  .mid-faq {
    padding: 0 0 100px 0;
  }

  .mid-faq__list {
    max-width: 100%;
  }

  .mid-faq__item {
    padding: 30px 0;
  }

  .mid-faq__question {
    gap: 15px;
    margin-bottom: 20px;
  }

  .mid-faq__q-label {
    font-size: 12px;
    min-width: 25px;
  }

  .mid-faq__q-text {
    font-size: 14px;
    letter-spacing: 0.5px;
  }

  .mid-faq__a-label {
    font-size: 12px;
    min-width: 25px;
  }

  .mid-faq__a-text p {
    font-size: 12px;
    line-height: 1.8;
  }

  .mid-faq__entry {
    margin-top: 60px;
  }

  .mid-faq__entry-btn {
    padding: 16px 40px;
    font-size: 12px;
    width: 100%;
    max-width: 300px;
  }

  /* ── Nav gallery ── */
  .mid-nav__grid {
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 0 -42px;
  }

  .mid-nav__card {
    aspect-ratio: 26/9;
  }

  .mid-nav__card:hover {
    transform: none;
  }

  .mid-nav__card-bg {
    background-image: none !important;
    width: auto !important;
    height: auto !important;
  }

  .mid-nav__card-img {
    display: block;
  }

  .mid-nav__card-overlay {
    padding: 40px;
  }

  .mid-nav__card-tag {
    font-size: 11px;
  }

  .mid-nav__card-title {
    font-size: 16px;
  }

  .mid-nav__card-arrow img {
    width: 14px;
    height: 14px;
  }

  /* ── Venues ── */
  .mid-venues {
    padding: 100px 0;
  }

  .mid-venues__title {
    margin-bottom: 70px;
  }
}


/* ==========================================================================
   RESPONSIVE — Small mobile (max-width: 766px)
   ========================================================================== */

@media screen and (max-width: 766px) {

  .mid-positions__card-img,
  .mid-nav__card-img {
    display: block;
  }

  .mid-positions__card-bg,
  .mid-nav__card-bg {
    background-image: none !important;
    width: auto !important;
    height: auto !important;
  }
}

/* DIVISION PAGE  */

/**
 * Division Page (page-division.php) — Scoped BEM Styles
 *
 * All styles extracted from original style.css, mapped to new BEM names.
 * Inline <style> block (.quote-left/.quote-right) removed — was unused.
 *
 * Blocks:
 *   .div-hero        — Full-viewport hero
 *   .div-overview    — Division introduction
 *   .div-job         — Job details section
 *   .div-images      — Feature images row
 *   .div-steps       — Career step cards
 *   .div-interview   — Featured member + entry button
 *   .div-venues      — Venue list (template part wrapper)
 *   .div-recruit     — Position gallery cards
 *
 * Shared utilities kept as-is: .container, .en-font
 */


/* ==========================================================================
   .div-hero — Full-viewport hero
   Extracted from: .hero (base) + .middle-hero (bg reused from career page)
   ========================================================================== */

.div-hero {
	position: relative;
    height: 100vh;
    min-height: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.div-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.div-hero__bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;       /* = background-size: cover */
    object-position: center; /* = background-position: center */
}

.div-hero__content {
  display: flex;
  text-align: center;
  color: #fff;
  position: relative;
  z-index: 1;
}

.div-hero__text {
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 24px;
  letter-spacing: 8px;
  color: #fff;
  font-weight: 300;
  margin: 0 15px;
  line-height: 1.5;
  text-align: justify;
}

.div-hero__text span {
  display: inline-block;
}


/* ==========================================================================
   .div-overview — Division introduction
   Extracted from: .recruit__about-section (1st use), .vm-charm-content,
   .divisions-header, .divisions-title, .divisions-heading, .divisions-content,
   .charm-item, .charm-item-title, .charm-item-description
   ========================================================================== */

.div-overview {
  margin: 120px 0;
}

/* Extracted from: .vm-charm-content */
.div-overview__list {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

/* Extracted from: .divisions-header — width:100%, height:160px */
.div-overview__header {
  width: 100%;
  height: 160px;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: start;
}

/* Extracted from: .divisions-title (shared title group) */
.div-overview__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

/* Extracted from: .divisions-heading (shared heading group) */
.div-overview__heading {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 9px;
  line-height: 1.8;
  text-align: left;
}

/* Extracted from: .divisions-content — 1-column, gap:30px */
.div-overview__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.28px;
  margin-top: 60px;
  color: #000;
}

/* Extracted from: .charm-item */
.div-overview__item {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

/* Extracted from: .charm-item-title */
.div-overview__item-title {
  font-size: 28px;
  font-weight: 300;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #000;
}

/* Extracted from: .charm-item-description */
.div-overview__item-desc {
  font-size: 14px;
  font-weight: 300;
  line-height: 2.2;
  letter-spacing: 0.05em;
  color: #000;
}

.div-overview__item-desc p {
  margin: 0 0 5px 0;
}


/* ==========================================================================
   .div-job — Job details "まちのコンシェルジュ"
   Extracted from: .recruit__about-section (2nd use), .about-header,
   .about-title, .about-heading, .vision-content
   ========================================================================== */

.div-job {
  margin: 120px 0;
}

/* Extracted from: .about-header */
.div-job__header {
  width: 462px;
  height: 160px;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: start;
}

/* Extracted from: .about-title (not en-font here — Japanese title) */
.div-job__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

/* Extracted from: .about-heading */
.div-job__heading {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 9px;
  line-height: 1.8;
  text-align: left;
}

/* Extracted from: .vision-content — 1-column override */
.div-job__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 50px;
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.28px;
  margin-top: 60px;
  color: #000;
}


/* ==========================================================================
   .div-images — Feature images row (3 side by side)
   Extracted from: .divisions__feature-img-section, .feature-images-grid,
   .feature-image-item
   ========================================================================== */

.div-images {
  width: 100%;
}

.div-images__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  width: 100%;
}

.div-images__item {
  width: 100%;
  height: 500px;
  overflow: hidden;
  position: relative;
}

.div-images__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


/* ==========================================================================
   .div-steps — Career step cards
   Extracted from: .career-steps-section, .section-title, .career-steps-grid,
   .career-step-card, .step-header, .step-number, .step-category,
   .step-content, .step-intro, .step-title, .step-description,
   .step-section, .step-section-title, .step-list
   ========================================================================== */

.div-steps {
  margin: 120px 0;
}

/* Extracted from: .section-title */
.div-steps__title {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  margin-bottom: 60px;
  color: #322525;
}

/* Extracted from: .career-steps-grid */
.div-steps__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 100px;
}

/* Extracted from: .career-step-card */
.div-steps__card {
  background: #fff;
  border: 1px solid #000000;
  padding: 50px 60px;
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 60px;
  transition: box-shadow 0.3s ease;
}

/* Extracted from: .step-header */
.div-steps__card-header {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

/* Extracted from: .step-number */
.div-steps__card-number {
  font-size: 18px;
  font-weight: 700;
  color: #000;
  margin: 0;
  letter-spacing: 2px;
}

/* Extracted from: .step-category */
.div-steps__card-category {
  font-size: 13px;
  color: #000;
  margin: 0;
  letter-spacing: 0.5px;
  line-height: 1.6;
}

/* Extracted from: .step-content */
.div-steps__card-body {
  display: flex;
  flex-direction: column;
  gap: 35px;
}

/* Extracted from: .step-intro */
.div-steps__card-intro {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

/* Extracted from: .step-title */
.div-steps__card-title {
  font-size: 15px;
  font-weight: 600;
  color: #000;
  margin: 0;
  line-height: 1.8;
  letter-spacing: 0.5px;
}

/* Extracted from: .step-description */
.div-steps__card-desc {
  font-size: 14px;
  color: #000;
  line-height: 1.9;
  margin: 0;
  letter-spacing: 0.3px;
}

/* Extracted from: .step-section */
.div-steps__section {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

/* Extracted from: .step-section-title */
.div-steps__section-title {
  font-size: 14px;
  font-weight: 600;
  color: #000;
  margin: 0;
  letter-spacing: 1px;
}

/* Extracted from: .step-list */
.div-steps__section-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.div-steps__section-list li {
  font-size: 14px;
  color: #000;
  line-height: 1.8;
  padding-left: 20px;
  position: relative;
  letter-spacing: 0.3px;
}

.div-steps__section-list li:before {
  content: "・";
  position: absolute;
  left: 0;
  color: #666;
  font-weight: bold;
}


/* ==========================================================================
   .div-interview — Featured member card + entry button
   Extracted from: .interview-cta-section, .section-title,
   .featured-member-section, .featured-member-container,
   .featured-member-image, .featured-member-content,
   .featured-member-title, .featured-member-name, .featured-member-role,
   .featured-member-tags, .faq-entry-button, .btn-career-entry
   ========================================================================== */

.div-interview {
  background: #fff;
}

/* Extracted from: .section-title */
.div-interview__title {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  margin-bottom: 60px;
  color: #322525;
}

/* Extracted from: .featured-member-section */
.div-interview__member {
  width: 100%;
  max-width: 1440px;
  margin: 100px 0 120px 0;
  padding: 0;
}

/* Extracted from: .featured-member-container */
.div-interview__member-wrap {
  display: flex;
  align-items: stretch;
  background: #fff;
  height: 600px;
}

/* Extracted from: .featured-member-image */
.div-interview__member-image {
  flex: 0 0 55%;
  overflow: hidden;
  position: relative;
}

.div-interview__member-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Extracted from: .featured-member-content */
.div-interview__member-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 60px 40px;
}

/* Extracted from: .featured-member-title */
.div-interview__member-title {
  font-size: 24px;
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-bottom: 30px;
  color: #000;
  text-align: left;
}

/* Extracted from: .featured-member-name */
.div-interview__member-name {
  font-size: 14px;
  font-weight: 600;
  color: #000;
  text-align: left;
}

/* Extracted from: .featured-member-role */
.div-interview__member-role {
  font-size: 12px;
  font-weight: 300;
  color: #000;
  text-align: left;
}

/* Extracted from: .featured-member-tags */
.div-interview__member-tags {
  font-size: 10px;
  font-weight: 300;
  color: #a3abb1;
  letter-spacing: 0.05em;
  text-align: left;
}

/* Extracted from: .faq-entry-button */
.div-interview__entry {
  text-align: center;
  margin-top: 80px;
}

/* Extracted from: .btn-career-entry */
.div-interview__entry-btn {
  width: 100%;
  display: inline-block;
  background-color: #000;
  color: #fff;
  padding: 45px;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 2px;
  text-decoration: none;
}

.div-interview__entry-btn span {
  display: inline-block;
}


/* ==========================================================================
   .div-venues — Venue list wrapper (template part)
   Extracted from: .recruit__map-section, .section-title
   ========================================================================== */

.div-venues {
  padding: 120px 0 100px 0;
}

.div-venues__title {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  margin-bottom: 60px;
  color: #322525;
}


/* ==========================================================================
   .div-recruit — Position gallery cards
   Extracted from: .divisions__recruit-section, .about-title,
   .gallery-grid, .fresh__galalery-grid (typo preserved in mapping),
   .gallery-item, .pc-image, .sp-image, .gallery-overlay, .gallery-content,
   .gallery-tag, .gallery-title, .gallery-arrow
   ========================================================================== */

/* Extracted from: .divisions__recruit-section */
.div-recruit {
  padding: 0 0 200px 0;
}

/* Extracted from: .about-title */
.div-recruit__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

/* Extracted from: .gallery-grid + .fresh__galalery-grid → padding:100px 0 70px */
.div-recruit__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  margin-top: 100px;
}

.div-recruit__card {
  position: relative;
  aspect-ratio: 16/6;
  overflow: hidden;
  cursor: pointer;
  transition: transform 1.5s ease;
}

.div-recruit__card:hover .div-recruit__card-overlay {
  background: rgba(0, 0, 0, 0.5);
}

.div-recruit__card:hover .div-recruit__card-bg,
.div-recruit__card:hover .div-recruit__card-img {
  transform: scale(1.04);
}

/* Desktop bg span */
.div-recruit__card-bg {
  display: block;
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: cover;
  text-indent: -9999px;
  text-align: left;
  transition: transform 1.5s ease;
}

/* Mobile img */
.div-recruit__card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.5s ease;
}

.member-grid a,
.div-interview__member-title a {
  color: inherit;
  text-decoration: none;
  display: block;
}


.div-recruit__card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 40px 60px;
  color: #fff;
  transition: background 1.5s ease;
}

.div-recruit__card-content {
  display: flex;
  flex-direction: column;
  gap: 15px;
  text-align: left;
}

.div-recruit__card-tag {
  font-size: 20px;
  letter-spacing: 3px;
  font-weight: 600;
  text-transform: uppercase;
}

.div-recruit__card-title {
  font-size: 18px;
  letter-spacing: 2px;
  line-height: 1.5;
  font-weight: 300;
}

.div-recruit__card-arrow {
  width: 26px;
  height: 14px;
  opacity: 0.8;
}

.div-recruit__card-arrow img {
  width: 100%;
  height: 100%;
  filter: brightness(0) invert(1);
  transform: rotate(90deg);
}


/* ==========================================================================
   RESPONSIVE — Desktop (min-width: 960px)
   ========================================================================== */

@media screen and (min-width: 960px) {

  .div-recruit__card-bg {
    display: block;
  }

}


/* ==========================================================================
   RESPONSIVE — Mobile (max-width: 768px)
   ========================================================================== */

@media (max-width: 768px) {

  /* ── Hero ── */
  .div-hero__text {
    font-size: 18px;
    line-height: 1.9;
  }

  /* ── Section margins ── */
  .div-overview,
  .div-job,
  .div-steps {
    margin: 100px 0;
  }

  /* ── Overview ── */
  .div-overview__header {
    width: 100%;
    height: auto;
  }

  .div-overview__label {
    font-size: 12px;
  }

  .div-overview__heading {
    font-weight: 300;
    font-size: 16px;
    letter-spacing: 5px;
  }

  .div-overview__item {
    gap: 70px;
  }

  .div-overview__item-title {
    font-size: 16px;
  }

  /* ── Job ── */
  .div-job__header {
    width: 292px;
    height: 150px;
    gap: 70px;
  }

  .div-job__label {
    font-size: 12px;
  }

  .div-job__heading {
    font-weight: 300;
    font-size: 16px;
    letter-spacing: 5px;
  }

  /* ── Feature images ── */
  .div-images__item {
    height: 146px;
  }

  /* ── Interview / Featured member ── */
  .div-interview__member {
    margin: 60px auto;
  }

  .div-interview__member-wrap {
    flex-direction: column;
    height: auto;
  }

  .div-interview__member-image {
    flex: 0 0 auto;
    height: 450px;
  }

  .div-interview__member-content {
    padding: 40px 0px;
  }

  .div-interview__member-title {
    font-size: 24px;
    margin-bottom: 30px;
  }

  .div-interview__member-name {
    font-size: 14px;
  }

  .div-interview__member-role {
    font-size: 11px;
  }

  .div-interview__member-tags {
    font-size: 10px;
  }

  .div-interview__entry {
    margin-top: 60px;
  }

  .div-interview__entry-btn {
    padding: 16px 40px;
    font-size: 12px;
    width: 100%;
    max-width: 300px;
  }

  /* ── Career steps ── */
  .div-steps__title {
    margin-bottom: 45px;
    font-size: 18px;
  }

  .div-steps__grid {
    gap: 40px;
  }

  .div-steps__card {
    padding: 45px 25px;
    grid-template-columns: 1fr;
    gap: 45px;
  }

  .div-steps__card-header {
    gap: 0px;
  }

  .div-steps__card-number {
    font-size: 16px;
  }

  .div-steps__card-category {
    font-size: 12px;
  }

  .div-steps__card-body {
    gap: 25px;
  }

  .div-steps__card-intro {
    gap: 12px;
  }

  .div-steps__card-title {
    font-size: 14px;
    line-height: 1.7;
  }

  .div-steps__section {
    gap: 12px;
  }

  .div-steps__section-title {
    font-size: 13px;
  }

  .div-steps__section-list {
    gap: 8px;
  }

  .div-steps__section-list li {
    line-height: 1.7;
    padding-left: 16px;
  }

  /* ── Venues ── */
  .div-venues {
    padding: 100px 0;
  }

  .div-venues__title {
    margin-bottom: 70px;
  }

  /* ── Recruit gallery ── */
  .div-recruit {
    padding: 0 0 100px 0;
  }

  .div-recruit__grid {
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 60px -42px 0;
  }

  .div-recruit__card {
    aspect-ratio: 26/9;
  }

  .div-recruit__card:hover {
    transform: none;
  }

  .div-recruit__card-bg {
    background-image: none !important;
    width: auto !important;
    height: auto !important;
  }

  .div-recruit__card-img {
    display: block;
  }

  .div-recruit__card-overlay {
    padding: 40px;
  }

  .div-recruit__card-tag {
    font-size: 11px;
  }

  .div-recruit__card-title {
    font-size: 16px;
  }

  .div-recruit__card-arrow img {
    width: 14px;
    height: 14px;
  }
}


/* ==========================================================================
   RESPONSIVE — Small mobile (max-width: 766px)
   ========================================================================== */

@media screen and (max-width: 766px) {

  .div-recruit__card-img {
    display: block;
  }

  .div-recruit__card-bg {
    background-image: none !important;
    width: auto !important;
    height: auto !important;
  }
}

/* FRESHER PAGE  */

/**
 * Fresh / New Graduate Page (page-fresh.php) — Scoped BEM Styles
 *
 * Sources:
 *   - style.css (hero, intro, charm, stories, stance, values, feature, faq, nav, venues)
 *   - Inline <style> #1: Job section (~80 lines)
 *   - Inline <style> #2: Career design accordion + timeline (~200 lines)
 *   - Inline <style> #3: Recruitment flow desktop + mobile (~300 lines, 3× duplicated @media)
 *
 * All 3 inline <style> blocks and the <script> accordion have been extracted.
 * Triplicated @media blocks consolidated into single breakpoints.
 *
 * Blocks:
 *   .fresh-hero      — Full-viewport hero
 *   .fresh-intro     — "NEW GRADUATE" introduction
 *   .fresh-charm     — VMで働く魅力 (4 items)
 *   .fresh-stories   — Stories intro title
 *   .fresh-career    — Career design accordion with timelines
 *   .fresh-job       — Job cards (main + 3 sub)
 *   .fresh-stance    — OUR CRITERIA values intro
 *   .fresh-values    — Value proposition items
 *   .fresh-feature   — Full-width feature image
 *   .fresh-flow      — Recruitment flow (desktop + mobile)
 *   .fresh-faq       — FAQ section
 *   .fresh-nav       — Sub-page gallery + entry button
 *
 * Shared utilities kept as-is: .container, .en-font
 */


/* ==========================================================================
   .fresh-hero
   Extracted from: .hero (base) + .fresh-hero (bg)
   ========================================================================== */

.fresh-hero {
	position: relative;
    height: 100vh;
    min-height: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}:root {
  --nav-bg: #000;
  --nav-text: #fff;
  --nav-line-color: #fff;
  --nav-transition-duration: 0.4s;
  --nav-item-gap: 97px;
  --nav-item-gap-mobile: 30px;
}

/* Hide old navigation content but keep button */
.use-modern-nav .glnav {
  display: none !important;
}

/* Sidebar base transition - when showing back, small delay to prevent flash */
.about-sidebar,
.mobile-bottom-nav {
  transition: opacity 0.2s ease 0.1s, visibility 0.2s ease 0.1s;
}

/* Hide sidebar and other elements when menu is open - instant hide, no delay */
body.modern-nav-open .about-sidebar,
body.modern-nav-open .mobile-bottom-nav {
  visibility: hidden !important;
  opacity: 0 !important;
  transition: opacity 0s ease 0s, visibility 0s ease 0s;
}

/* Modern Navigation Container */
.modern-nav {
  --nav-visibility: hidden;
  --nav-opacity: 0;
  --nav-pointer: none;
  
  position: fixed;
  visibility: var(--nav-visibility);
  opacity: var(--nav-opacity);
  pointer-events: var(--nav-pointer);
  
  z-index: 100;
  inset: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  background: var(--nav-bg);
  transition: opacity var(--nav-transition-duration) ease, visibility var(--nav-transition-duration) ease;
}

.modern-nav.is-open {
  --nav-visibility: visible;
  --nav-opacity: 1;
  --nav-pointer: auto;
}

/* Navigation Content - Flexbox Layout */
.modern-nav__content {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}

/* Navigation List - All items in one row */
.modern-nav__list {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: flex-start;
  gap: var(--nav-item-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Navigation Item */
.modern-nav__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  opacity: 0;
  transform: translateY(-30px);
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), 
              transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.modern-nav.is-open .modern-nav__item {
  opacity: 1;
  transform: translateY(0);
}

/* Staggered animation delays */
.modern-nav.is-open .modern-nav__item:nth-child(1) { transition-delay: 0.1s; }
.modern-nav.is-open .modern-nav__item:nth-child(2) { transition-delay: 0.15s; }
.modern-nav.is-open .modern-nav__item:nth-child(3) { transition-delay: 0.2s; }
.modern-nav.is-open .modern-nav__item:nth-child(4) { transition-delay: 0.25s; }
.modern-nav.is-open .modern-nav__item:nth-child(5) { transition-delay: 0.3s; }
.modern-nav.is-open .modern-nav__item:nth-child(6) { transition-delay: 0.35s; }
.modern-nav.is-open .modern-nav__item:nth-child(7) { transition-delay: 0.4s; }

/* Reset delays when closing */
.modern-nav:not(.is-open) .modern-nav__item {
  transition-delay: 0s;
}

/* Navigation Link */
.modern-nav__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: var(--nav-text);
}

/* Vertical Line Indicator */
.modern-nav__line {
  width: 1px;
  height: 15px;
  background: var(--nav-line-color);
  margin-bottom: 25px;
  transform-origin: top center;
  transition: transform 0.3s ease;
}

.modern-nav__link:hover .modern-nav__line {
  transform: scaleY(2);
}

/* Text - Use SVG background images like original */
.modern-nav__text {
  display: block;
  background-repeat: no-repeat;
  background-size: cover;
  text-indent: -9999px;
  text-align: left;
}

/* TOP */
.modern-nav__item--top .modern-nav__text {
  width: 12px;
  height: 54px;
  background-image: url("../images/glnav/glnav__new-item-top-ttl.svg");
}

/* ABOUT */
.modern-nav__item--about .modern-nav__text {
  width: 12px;
  height: 102px;
  background-image: url("../images/glnav/glnav__new-item-about-ttl.svg");
}

/* BUSINESS */
.modern-nav__item--business .modern-nav__text {
  width: 10px;
  height: 154px;
  background-image: url("../images/glnav/glnav__new-item-business-ttl.svg");
}

/* STYLE */
.modern-nav__item--style .modern-nav__text {
  width: 10px;
  height: 94px;
  background-image: url("../images/glnav/glnav__new-item-style-ttl.svg");
}

/* 新卒採用 */
.modern-nav__item--fresh .modern-nav__text {
  width: 20px;
  height: 97px;
  background-image: url("../images/glnav/glnav__item-recruit-newgraduate-ttl.svg");
}

/* 中途採用 */
.modern-nav__item--career .modern-nav__text {
  width: 20px;
  height: 97px;
  background-image: url("../images/glnav/glnav__item-mid-career-recruitment-ttl.svg");
}

/* インタビュー */
.modern-nav__item--interview .modern-nav__text {
  width: 20px;
  height: 149px;
  background-image: url("../images/glnav/glnav__item-interview-ttl.svg");
}

/* Hide the new button - we use the original glnav__btn-open */
.modern-nav-btn {
  display: none !important;
}

/* Mobile Styles - Two row layout */
@media screen and (max-width: 768px) {
  
  .modern-nav__list {
    display: grid;
    grid-template-columns: repeat(4, auto);
    grid-template-rows: auto auto;
    gap: 40px 35px;
    padding: 0;
  }
  
  /* Row 1: TOP, ABOUT, BUSINESS, STYLE (right to left becomes grid columns) */
  .modern-nav__item--top { grid-column: 4; grid-row: 1; }
  .modern-nav__item--about { grid-column: 3; grid-row: 1; }
  .modern-nav__item--business { grid-column: 2; grid-row: 1; }
  .modern-nav__item--style { grid-column: 1; grid-row: 1; }
  
  /* Row 2: 新卒採用, 中途採用, インタビュー (positioned in columns 2-4) */
  .modern-nav__item--fresh { grid-column: 4; grid-row: 2; }
  .modern-nav__item--career { grid-column: 3; grid-row: 2; }
  .modern-nav__item--interview { grid-column: 2; grid-row: 2; }
  
  .modern-nav__line {
    height: 10px;
    margin-bottom: 20px;
  }
}

/* Extra small screens */
@media screen and (max-width: 480px) {
  .modern-nav__content {
    padding: 0;
  }
  
  .modern-nav__list {
    gap: 47px 60px;
  }
  
  .modern-nav__line {
    height: 15px;
  }
}


.fresh-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.fresh-hero__bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;       /* = background-size: cover */
    object-position: center; /* = background-position: center */
}

.fresh-hero__content {
  display: flex;
  text-align: center;
  color: #fff;
  position: relative;
  z-index: 1;
}


.fresh-hero__text {
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 24px;
  letter-spacing: 8px;
  color: #fff;
  font-weight: 300;
  margin: 0 15px;
  line-height: 1.5;
  text-align: justify;
}

.fresh-hero__text span {
  display: inline-block;
}


/* ==========================================================================
   .fresh-intro — "NEW GRADUATE" introduction
   Extracted from: .recruit__about-section, .culture-header > .issues-header,
   .issues-title, .issues-heading, .action-content
   ========================================================================== */

.fresh-intro {
  margin: 120px 0;
}

/* Extracted from: .culture-header > .issues-header (nested flex) —
   flattened to single header */
.fresh-intro__header {
  width: 563px;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: start;
}

.fresh-intro__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

/* Extracted from: .issues-heading */
.fresh-intro__heading {
  font-size: 24px;
  font-weight: 300;
  letter-spacing: 4.8px;
  line-height: 1.8;
  text-align: left;
}

/* Extracted from: .action-content — 1-column override */
.fresh-intro__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 50px;
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.28px;
  margin-top: 60px;
  color: #000;
}


/* ==========================================================================
   .fresh-charm — VMで働く魅力
   Extracted from: .fresh__vm-charm-section, .vm-charm-header,
   .vm-charm-title, .vm-charm-content, .charm-item, .charm-item-title,
   .charm-item-description
   ========================================================================== */

.fresh-charm {
  margin: 120px 0;
}

.fresh-charm__header {
  margin-bottom: 60px;
}

.fresh-charm__title {
  font-size: 20px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.15em;
  color: #000;
  text-align: left;
}

.fresh-charm__list {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

.fresh-charm__item {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

.fresh-charm__item-title {
  font-size: 28px;
  font-weight: 300;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #000;
}

.fresh-charm__item-desc {
  font-size: 14px;
  font-weight: 300;
  line-height: 2.2;
  letter-spacing: 0.05em;
  color: #000;
}

.fresh-charm__item-desc p {
  margin: 0 0 5px 0;
}


/* ==========================================================================
   .fresh-stories — Stories intro
   Extracted from: .recruit__our-stories, .section-title
   ========================================================================== */

.fresh-stories {
  margin: 120px 0;
}

.fresh-stories__title {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  margin-bottom: 60px;
  color: #322525;
}


/* ==========================================================================
   .fresh-career — Career design accordion + timelines
   SOURCE: Inline <style> #2 (extracted verbatim, remapped to BEM)
   ========================================================================== */

.fresh-career {
  padding: 60px 0;
}

.fresh-career__title {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  margin-bottom: 50px;
  color: #322525;
}

.fresh-career__list {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

/* ── Case card ── */

.fresh-career__case {
  background: #eee;
  margin-bottom: 20px;
  border-radius: 2px;
  overflow: hidden;
  transition: all 0.3s ease;
  padding: 40px 0;
}

.fresh-career__case:last-child {
  margin-bottom: 0;
}

.fresh-career__case-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 42px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.fresh-career__case-header-content {
  flex: 1;
  padding-right: 20px;
}

.fresh-career__case-id {
  font-size: 20px;
  font-weight: normal;
  margin-bottom: 15px;
  letter-spacing: 0.05em;
  color: #333;
}

.fresh-career__case-subtitles {
  margin-bottom: 10px;
}

.fresh-career__case-subtitle {
  font-size: 20px;
  line-height: 1.6;
  font-weight: 500;
  color: #000;
}

.fresh-career__case-role {
  font-size: 14px;
  color: #322525;
  letter-spacing: 0.02em;
  margin-top: 60px;
}

/* ── Toggle button ── */

.fresh-career__toggle {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  cursor: pointer;
  position: relative;
  padding: 0;
  transition: transform 0.2s ease;
}

.fresh-career__toggle:hover {
  transform: scale(1.1);
}

.fresh-career__toggle-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 2px;
  background: #333;
  transition: all 0.3s ease;
}

.fresh-career__toggle-icon::before,
.fresh-career__toggle-icon::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #333;
  transition: all 0.3s ease;
}

.fresh-career__toggle-icon--plus::before {
  width: 20px;
  height: 2px;
}

.fresh-career__toggle-icon--plus::after {
  width: 2px;
  height: 20px;
}

.fresh-career__toggle-icon--minus::before,
.fresh-career__toggle-icon--minus::after {
  width: 20px;
  height: 2px;
}

/* ── Accordion body ── */

.fresh-career__case-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.fresh-career__case--expanded .fresh-career__case-body {
  max-height: 3000px;
}

.fresh-career__case-inner {
  padding: 0 40px 40px;
}

.fresh-career__case-text {
  font-size: 14px;
  line-height: 1.9;
  font-weight: 300;
  margin-bottom: 20px;
  color: #000;
}

.fresh-career__case-text:first-child {
  margin-top: 60px;
}

.fresh-career__case-text:last-child {
  margin-bottom: 0;
}

/* ── Timeline ── */

.fresh-career__timeline {
  margin-top: 40px;
  padding-top: 30px;
}

.fresh-career__tl-item {
  display: flex;
  margin-bottom: 25px;
  padding-bottom: 25px;
  border-bottom: 1px solid #f0f0f0;
}

.fresh-career__tl-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.fresh-career__tl-year {
  flex-shrink: 0;
  width: 140px;
  font-size: 16px;
  font-weight: 500;
  color: #000;
}

.fresh-career__tl-content {
  flex: 1;
}

.fresh-career__tl-position {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 8px;
  color: #000;
}

.fresh-career__tl-desc {
  font-size: 14px;
  line-height: 1.7;
  font-weight: 300;
  color: #000;
  margin-top: 5px;
}

.fresh-career__tl-list {
  margin-left: 16px;
  list-style-type: disc;
}


/* ==========================================================================
   .fresh-job — Job cards
   SOURCE: Inline <style> #1 (extracted verbatim, remapped to BEM)
   ========================================================================== */

.fresh-job {
  padding: 80px 0;
}

.fresh-job__header {
  margin-bottom: 10px;
}

.fresh-job__header-title {
  display: flex;
  align-items: baseline;
  gap: 16px;
}

.fresh-job__title-en {
  font-size: 32px;
  font-weight: 400;
  color: #322525;
  letter-spacing: 0.05em;
}

.fresh-job__title-jp {
  font-size: 14px;
  font-weight: 400;
  color: #322525;
  letter-spacing: 0.1em;
}

.fresh-job__tagline {
  font-size: 24px;
  text-align: center;
  font-weight: 400;
  color: #b5544d;
  letter-spacing: 0.1em;
  line-height: 1.6;
}

.fresh-job__card {
  background: #fff;
  text-align: center;
}

.fresh-job__card--main {
  margin-bottom: 8px;
}

.fresh-job__card--green  { border: 2px solid #afd99b; }
.fresh-job__card--yellow { border: 2px solid #fed448; }
.fresh-job__card--black  { border: 2px solid #050505; }
.fresh-job__card--blue   { border: 2px solid #5198b3; }

.fresh-job__card-title {
  font-size: 22px;
  font-weight: 600;
  color: #b5544d;
  letter-spacing: 0.1em;
}

.fresh-job__card-desc {
  font-size: 14px;
  line-height: 2;
  color: #322525;
  letter-spacing: 0.05em;
}

.fresh-job__card-desc p {
  margin: 0;
}

.fresh-job__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.fresh-job__card--sub {
  padding: 10px 0;
}

.fresh-job__card--sub .fresh-job__card-title {
  font-size: 16px;
}

.fresh-job__card--sub .fresh-job__card-desc {
  font-size: 13px;
  line-height: 1.8;
}


/* ==========================================================================
   .fresh-stance — OUR CRITERIA values intro
   Extracted from: .fresh__stance-values-section, .culture-header,
   .issues-title, .issues-heading, .action-content
   ========================================================================== */

.fresh-stance {
  margin: 120px 0;
}

.fresh-stance__header {
  width: 563px;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: start;
}

.fresh-stance__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

.fresh-stance__heading {
  font-size: 24px;
  font-weight: 300;
  letter-spacing: 4.8px;
  line-height: 1.8;
  text-align: left;
}

.fresh-stance__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 50px;
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.28px;
  margin-top: 60px;
  color: #000;
}


/* ==========================================================================
   .fresh-values — Value proposition items
   Extracted from: .purpose__value-proposition-section (borrowed),
   .value-content, .value-item, .value-title, .value-description,
   .value-description-list, .list-dot
   ========================================================================== */

.fresh-values {
  margin: 120px 0;
}

.fresh-values__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 40px;
  row-gap: 100px;
}

.fresh-values__item {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

.fresh-values__item-title {
  font-size: 20px;
  font-weight: 300;
  letter-spacing: 0.05em;
  color: #000;
  line-height: 1.8;
}

.fresh-values__desc-text {
  font-size: 14px;
  font-weight: 300;
  line-height: 2.2;
  letter-spacing: 0.05em;
  color: #000;
  margin: 0;
}

.fresh-values__desc-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.fresh-values__desc-list li {
  font-size: 14px;
  font-weight: 300;
  line-height: 2.2;
  letter-spacing: 0.05em;
  color: #000;
}

.fresh-values__list-dot {
  /* Structural marker — spacing comes from list item */
}


/* ==========================================================================
   .fresh-feature — Full-width feature image
   Extracted from: .feature-img-fresh-1
   ========================================================================== */

/* .fresh-feature {
  width: 100%;
  height: 500px;
} */

.fresh-feature {
  width: 100%;
  height: 492px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.fresh-feature {
    width: 100%;
    height: 500px;
    margin: 100px 0;
    overflow: hidden;
    position: relative;
}

.fresh-feature picture {
    width: 100%;
    height: 100%;
}

.fresh-feature__img {
    width: 100%;
    height: 100%;
    object-fit: cover;       
    object-position: center;
}


/* ==========================================================================
   .fresh-flow — Recruitment flow (desktop + mobile)
   SOURCE: Inline <style> #3 (extracted, triplicated @media consolidated)
   ========================================================================== */

.fresh-flow {
  padding: 100px 0;
  background: #fff;
}

/* Extracted from: .social-header (borrowed) */
.fresh-flow__header {
  width: 462px;
  height: auto;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: start;
}

.fresh-flow__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

.fresh-flow__heading {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 9px;
  line-height: 1.8;
  text-align: left;
}

/* Extracted from: .newgraduate-content */
.fresh-flow__intro {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.28px;
  margin-top: 60px;
  margin-bottom: 80px;
  color: #000;
}

.fresh-flow__intro p {
  margin: 0;
}

/* ── Desktop flow ── */

.fresh-flow__desktop {
  display: block;
}

.fresh-flow__mobile {
  display: none;
}

.fresh-flow__main-row {
  display: flex;
  align-items: center;
  justify-content: center;
}

.fresh-flow__box-item {
  width: 74px;
  height: 130px;
  border: 1px solid #ddd;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fresh-flow__box-item:first-child {
  margin-right: 22px;
}

.fresh-flow__box-item--highlight {
  background: #000;
  border-color: #000;
}

.fresh-flow__box-item--highlight .fresh-flow__box-content {
  color: #fff;
}

.fresh-flow__box-content {
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
  color: #000;
}

.fresh-flow__box-content div {
  margin-bottom: 2px;
}

.fresh-flow__box-content div:last-child {
  margin-bottom: 0;
}

.fresh-flow__text-primary {
  font-size: 12px;
  color: #000;
}

.fresh-flow__text-red {
  font-size: 11px;
  color: #d32f2f;
}

.fresh-flow__text-small {
  font-size: 10px;
  color: #666;
}

.fresh-flow__arrow-right {
  display: flex;
  align-items: center;
  justify-content: center;
}

.fresh-flow__arrow-right img {
  width: 28px;
  height: 10px;
  transform: rotate(90deg);
}

/* ── Desktop bottom row ── */

.fresh-flow__bottom-row {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-right: 75px;
}

.fresh-flow__bottom-item {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.fresh-flow__bottom-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 0;
  margin-bottom: 10px;
}

.fresh-flow__bottom-arrow img {
  width: auto;
  height: 40px;
}

.fresh-flow__bottom-box {
  padding: 15px 20px;
  border: 1px solid #ddd;
  background: #f9f9f9;
  font-size: 11px;
  line-height: 1.6;
  text-align: center;
  color: #333;
  width: 170px;
  height: 67px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* ── Entry button ── */

.fresh-flow__entry {
  margin: 100px 0;
  text-align: center;
}

.fresh-flow__entry-btn {
  display: inline-block;
  padding: 20px 80px;
  background: #000;
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  letter-spacing: 0.1em;
  transition: all 0.3s ease;
}

.fresh-flow__entry-btn:hover {
  background: #333;
}

/* ── Mobile flow ── */

.fresh-flow__m-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 0 20px;
}

.fresh-flow__m-single {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: 130px;
  margin-left: 124px;
}

.fresh-flow__m-box {
  width: 130px;
  min-height: 74px;
  border: 1px solid #ddd;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 12px 8px;
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
  box-sizing: border-box;
}

.fresh-flow__m-box div {
  margin-bottom: 2px;
}

.fresh-flow__m-box div:last-child {
  margin-bottom: 0;
}

.fresh-flow__m-box--wide {
  width: 100% !important;
  max-width: 200px;
}

.fresh-flow__m-box--highlight {
  background: #000;
  border-color: #000;
  color: #fff;
}

.fresh-flow__m-label-row {
  width: 100%;
  display: flex;
  align-items: flex-start;
  margin-bottom: 8px;
  padding-left: 0;
}

.fresh-flow__m-label-text {
  font-size: 11px;
  color: #333;
  letter-spacing: 0.05em;
  margin-left: 22px;
}

.fresh-flow__m-with-side {
  display: flex;
  align-items: stretch;
  width: 100%;
}

.fresh-flow__m-side-box {
  flex: 0 0 65px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #ddd;
  background: #fff;
  padding: 10px 5px;
  font-size: 10px;
  line-height: 1.5;
  text-align: center;
  color: #333;
}

.fresh-flow__m-side-arrow {
  flex: 0 0 41px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fresh-flow__m-side-arrow img {
  width: 32px;
  height: 24px;
  transform: rotate(90deg);
}

.fresh-flow__m-main-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.fresh-flow__m-arrow-down {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 0;
}

.fresh-flow__m-arrow-down img {
  width: 20px;
  height: auto;
  transform: rotate(180deg);
}

.fresh-flow__m-arrow-center {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 0;
  width: 100%;
  margin-left: 105px;
}

.fresh-flow__m-arrow-center img {
  width: 20px;
  height: auto;
  transform: rotate(180deg);
}


/* ==========================================================================
   .fresh-faq — FAQ section
   Extracted from: .recruit__faq-section, .fresh__faq-section,
   .about-header, .about-title, .about-heading, .faq-list, .fresh__faq-list,
   .faq-item, .faq-question, .faq-label, .faq-text, .faq-answer,
   .faq-answer-text
   ========================================================================== */

.fresh-faq {
  padding: 0 0 70px 0;
}

.fresh-faq__header {
  width: 462px;
  height: 160px;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: start;
}

.fresh-faq__label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #322525;
  line-height: 130%;
}

.fresh-faq__heading {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 9px;
  line-height: 1.8;
  text-align: left;
}

.fresh-faq__list {
  max-width: 1000px;
  margin: 30px auto 80px;
}

.fresh-faq__item {
  padding: 15px 0;
}

.fresh-faq__item:first-child {
  padding-top: 0;
}

.fresh-faq__question {
  display: flex;
  align-items: center;
  gap: 4px;
}

.fresh-faq__q-label {
  flex-shrink: 0;
  font-size: 14px;
  font-weight: 300;
  color: #000;
  min-width: 30px;
}

.fresh-faq__q-text {
  font-size: 14px;
  font-weight: 600;
  color: #000;
  line-height: 1.6;
  letter-spacing: 1px;
}

.fresh-faq__answer {
  display: flex;
  align-items: flex-start;
}

.fresh-faq__a-label {
  flex-shrink: 0;
  font-size: 14px;
  font-weight: 300;
  color: #000;
  min-width: 30px;
}

.fresh-faq__a-text p {
  font-size: 14px;
  line-height: 2;
  color: #000;
  margin: 0;
  letter-spacing: 0.5px;
}


/* ==========================================================================
   .fresh-nav — Sub-page gallery + entry button
   Extracted from: .fresh__working-environment-section, .gallery-grid,
   .fresh__gallery-grid, .gallery-item, .pc-image, .sp-image,
   .gallery-overlay, .gallery-content, .gallery-tag, .gallery-title,
   .gallery-arrow, .btn-career-entry
   ========================================================================== */



.fresh-nav__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}

.fresh-nav__card {
  position: relative;
  aspect-ratio: 16/6;
  overflow: hidden;
  cursor: pointer;
  transition: transform 1.5s ease;
}

.fresh-nav__card:hover .fresh-nav__card-overlay {
  background: rgba(0, 0, 0, 0.5);
}

.fresh-nav__card:hover .fresh-nav__card-bg,
.fresh-nav__card:hover .fresh-nav__card-img {
  transform: scale(1.04);
}

.fresh-nav__card-bg {
  display: block;
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: cover;
  text-indent: -9999px;
  text-align: left;
  transition: transform 1.5s ease;
}

.fresh-nav__card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.5s ease;
}

.fresh-nav__card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 40px 60px;
  color: #fff;
  transition: background 1.5s ease;
}

.fresh-nav__card-content {
  display: flex;
  flex-direction: column;
  gap: 15px;
  text-align: left;
}

.fresh-nav__card-tag {
  font-size: 20px;
  letter-spacing: 3px;
  font-weight: 600;
  text-transform: uppercase;
}

.fresh-nav__card-title {
  font-size: 18px;
  letter-spacing: 2px;
  line-height: 1.5;
  font-weight: 300;
}

.fresh-nav__card-arrow {
  width: 26px;
  height: 14px;
  opacity: 0.8;
}

.fresh-nav__card-arrow img {
  width: 100%;
  height: 100%;
  filter: brightness(0) invert(1);
  transform: rotate(90deg);
}

.fresh-nav__entry {
  text-align: center;
  margin-top: 80px;
}

.fresh-nav__entry-btn {
  width: 100%;
  display: inline-block;
  background-color: #000;
  color: #fff;
  padding: 45px;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 2px;
  text-decoration: none;
}

.fresh-nav__entry-btn span {
  display: inline-block;
}


/* ==========================================================================
   RESPONSIVE — Desktop (min-width: 960px)
   ========================================================================== */

@media screen and (min-width: 960px) {
  .fresh-nav__card-bg {
    display: block;
  }



  .fresh-flow__mobile {
    display: none;
  }
}


/* ==========================================================================
   RESPONSIVE — Mobile (max-width: 768px)
   CONSOLIDATED from 3× duplicated @media blocks in inline styles
   ========================================================================== */

@media screen and (max-width: 768px) {

  /* ── Hero ── */
  .fresh-hero__text {
    font-size: 18px;
    line-height: 1.9;
  }

  /* ── Sections ── */
  .fresh-intro,
  .fresh-charm,
  .fresh-stance,
  .fresh-values {
    margin: 100px 0;
  }

  .fresh-intro__header,
  .fresh-stance__header {
    width: 292px;
  }

  .fresh-intro__label,
  .fresh-stance__label {
    font-size: 12px;
  }

  .fresh-intro__heading,
  .fresh-stance__heading {
    font-size: 16px;
    letter-spacing: 5px;
  }

  .fresh-charm__item {
    gap: 70px;
  }

  .fresh-charm__title {
    font-size: 12px;
  }

  .fresh-charm__item-title {
    font-size: 16px;
  }

  /* ── Feature image ── */
  .fresh-feature {
    height: 134px;
  }

  /* ── Career design ── */
  .fresh-career {
    padding: 50px 0;
  }

  .fresh-career__list {
    gap: 45px;
    margin: 0 -41.5px;
  }

  .fresh-career__title {
    margin-bottom: 35px;
    font-size: 24px;
  }

  .fresh-career__case-header {
    padding: 25px 20px;
  }

  .fresh-career__case-header-content {
    padding-right: 15px;
  }

  .fresh-career__case-id {
    font-size: 16px;
    margin-bottom: 12px;
  }

  .fresh-career__case-subtitle {
    font-size: 16px;
    line-height: 1.5;
  }

  .fresh-career__case-role {
    font-size: 12px;
  }

  .fresh-career__toggle {
    width: 35px;
    height: 35px;
  }

  .fresh-career__case-inner {
    padding: 0 20px 30px;
  }

  .fresh-career__case-text {
    font-size: 13px;
    line-height: 1.8;
    margin-bottom: 18px;
  }

  .fresh-career__timeline {
    margin-top: 30px;
    padding-top: 25px;
  }

  .fresh-career__tl-item {
    margin-bottom: 20px;
    padding-bottom: 20px;
  }

  .fresh-career__tl-year {
    margin-bottom: 8px;
    font-size: 12px;
  }

  .fresh-career__tl-position {
    font-size: 14px;
    margin-bottom: 6px;
  }

  .fresh-career__tl-desc {
    font-size: 12px;
    line-height: 1.6;
  }

  /* ── Job cards ── */
  .fresh-job {
    padding: 60px 15px;
  }

  .fresh-job__header-title {
    gap: 10px;
  }

  .fresh-job__title-en {
    font-size: 24px;
  }

  .fresh-job__title-jp {
    font-size: 12px;
  }

  .fresh-job__tagline {
    font-size: 20px;
  }

  .fresh-job__card {
    padding: 30px 20px;
  }

  .fresh-job__card-title {
    font-size: 20px;
  }

  .fresh-job__grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .fresh-job__card--sub .fresh-job__card-title {
    font-size: 16px;
  }

  /* ── Flow ── */
  .fresh-flow {
    padding: 60px 0;
  }

  .fresh-flow__header {
    width: 292px;
  }

  .fresh-flow__desktop {
    display: none;
  }

  .fresh-flow__mobile {
    display: block;
  }

  .fresh-flow__entry {
    margin-top: 40px;
  }

  .fresh-flow__entry-btn {
    padding: 18px 60px;
    font-size: 14px;
  }

  /* ── FAQ ── */
  .fresh-faq {
    padding: 0;
  }

  .fresh-faq__header {
    width: 292px;
    height: 150px;
    gap: 70px;
  }

  .fresh-faq__label {
    font-size: 12px;
  }

  .fresh-faq__heading {
    font-weight: 300;
    font-size: 16px;
    letter-spacing: 5px;
  }

  .fresh-faq__list {
    max-width: 100%;
  }

  .fresh-faq__item {
    padding: 30px 0;
  }

  .fresh-faq__question {
    gap: 15px;
    margin-bottom: 20px;
  }

  .fresh-faq__q-label {
    font-size: 12px;
    min-width: 25px;
  }

  .fresh-faq__q-text {
    font-size: 14px;
    letter-spacing: 0.5px;
  }

  .fresh-faq__a-label {
    font-size: 12px;
    min-width: 25px;
  }

  .fresh-faq__a-text p {
    font-size: 12px;
    line-height: 1.8;
  }

  /* ── Nav gallery ── */
  .fresh-nav__grid {
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 0 -42px;
  }

  .fresh-nav__card {
    aspect-ratio: 26/9;
  }

  .fresh-nav__card:hover {
    transform: none;
  }

  .fresh-nav__card-bg {
    background-image: none !important;
    width: auto !important;
    height: auto !important;
  }

  .fresh-nav__card-img {
    display: block;
  }

  .fresh-nav__card-overlay {
    padding: 40px;
  }

  .fresh-nav__card-tag {
    font-size: 11px;
  }

  .fresh-nav__card-title {
    font-size: 16px;
  }

  .fresh-nav__card-arrow img {
    width: 14px;
    height: 14px;
  }

  .fresh-nav__entry {
    margin-top: 60px;
  }

  .fresh-nav__entry-btn {
    padding: 16px 40px;
    font-size: 12px;
    width: 100%;
    max-width: 300px;
  }
	
	.fresh-values__list {
  grid-template-columns: 1fr ;
}
}


/* ==========================================================================
   RESPONSIVE — Small mobile (max-width: 480px)
   CONSOLIDATED from 3× duplicated @media blocks
   ========================================================================== */

@media screen and (max-width: 480px) {

  /* ── Career ── */
  .fresh-career {
    padding: 0 0 100px 0;
  }
	
		.fresh-values__list {
  grid-template-columns: 1fr ;
}

  .fresh-career__case {
    margin-bottom: 0;
  }

  .fresh-career__case-header {
    padding: 20px 15px;
  }

  .fresh-career__case-subtitle {
    font-size: 15px;
  }

  .fresh-career__case-inner {
    padding: 0 15px 25px;
  }

  /* ── Flow ── */
  .fresh-flow {
    padding: 50px 0;
  }

  .fresh-flow__m-side-box {
    flex: 0 0 84px;
    font-size: 9px;
    padding: 8px 4px;
  }

  .fresh-flow__m-arrow-center {
    margin-left: 125px;
  }

  .fresh-flow__entry-btn {
    width: 100%;
    padding: 16px 50px;
    font-size: 13px;
  }

  .fresh-flow__mobile .fresh-flow__text-red {
    font-size: 9px;
  }

  .fresh-flow__mobile .fresh-flow__text-small {
    font-size: 8px;
  }
}


/* ==========================================================================
   RESPONSIVE — Small mobile images (max-width: 766px)
   ========================================================================== */

@media screen and (max-width: 766px) {
  .fresh-nav__card-img {
    display: block;
  }

  .fresh-nav__card-bg {
    background-image: none !important;
    width: auto !important;
    height: auto !important;
  }
}

/* INTERVIEW PAGE  */

/**
 * Interview Page (page-interview.php) — Scoped BEM Styles
 *
 * All styles extracted from original style.css + inline <style> block.
 * Inline style="margin-bottom:30px" on paragraphs moved to
 * .intv-body__item-desc--spaced class.
 *
 * Blocks:
 *   .intv-hero      — Featured member hero card
 *   .intv-body      — Interview Q&A sections
 *   .intv-feature   — Feature image divider
 *   .intv-closing   — Closing statement with image
 *   .intv-nav       — Sub-page navigation gallery
 *
 * Note: This page uses get_header() (not 'new') — the .promo template part
 * is loaded but hidden. The hiding rule is now in this CSS file.
 *
 * Shared utilities kept as-is: .container, .en-font, .contents
 */


/* ==========================================================================
   Promo hide — was inline <style>.promo { display:none!important; }
   ========================================================================== */

.promo {
  display: none !important;
}


/* ==========================================================================
   .intv-hero — Featured member hero card
   Extracted from: .featured-member-container, .featured-member-image,
   .featured-member-content, .featured-member-title, .featured-member-name,
   .featured-member-role
   ========================================================================== */

.intv-hero {
  /* Structural wrapper — no explicit styles in original */
}

.intv-hero__wrap {
  display: flex;
  align-items: stretch;
  background: #fff;
  height: 600px;
}

.intv-hero__image {
  flex: 0 0 55%;
  overflow: hidden;
  position: relative;
}

.intv-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.intv-hero__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 60px 40px;
}

.intv-hero__title {
  font-size: 24px;
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-bottom: 30px;
  color: #000;
  text-align: left;
}

.intv-hero__name {
  font-size: 14px;
  font-weight: 600;
  color: #000;
  text-align: left;
}

.intv-hero__role {
  font-size: 12px;
  font-weight: 300;
  color: #000;
  text-align: left;
}


/* ==========================================================================
   .intv-body — Interview intro + Q&A items
   Extracted from: .recruit__about-section, .vision-content,
   .vm-charm-content + .interview-charm-content,
   .charm-item + .interview-charm-item,
   .charm-item-title, .charm-item-description,
   .interview-strong-text
   ========================================================================== */

.intv-body {
  margin: 120px 0;
}

/* Extracted from: .vision-content — 1-column override */
.intv-body__intro {
  display: grid;
  grid-template-columns: 1fr;
  gap: 50px;
  text-align: left;
  font-size: 14px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.28px;
  color: #000;
}

/* Extracted from: .vm-charm-content + .interview-charm-content
   .interview-charm-content had gap:100px override */
.intv-body__list {
  display: flex;
  flex-direction: column;
  gap: 100px;
  margin-top: 80px;
}

/* Extracted from: .charm-item + .interview-charm-item
   .interview-charm-item had gap:30px override */
.intv-body__item {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

/* Extracted from: .charm-item-title */
.intv-body__item-title {
  font-size: 28px;
  font-weight: 300;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #000;
}

/* Extracted from: .charm-item-description */
.intv-body__item-desc {
  font-size: 14px;
  font-weight: 300;
  line-height: 2.2;
  letter-spacing: 0.05em;
  color: #000;
}

.intv-body__item-desc p {
  margin: 0 0 5px 0;
}

/* Extracted from: inline style="margin-bottom: 30px;" on lead paragraphs */
.intv-body__item-desc--spaced {
  margin-bottom: 30px;
}

/* Extracted from: .interview-strong-text */
.intv-body__strong {
  font-weight: 600;
}


/* ==========================================================================
   .intv-feature — Feature image divider
   Extracted from: .feature-img-business-1 (reused)
   ========================================================================== */

.intv-feature {
    width: 100%;
    height: 500px;
    margin: 100px 0;
    overflow: hidden;
    position: relative;
}

.intv-feature picture {
    width: 100%;
    height: 100%;
}

.intv-feature__img {
    width: 100%;
    height: 100%;
    object-fit: cover;       
    object-position: center;
}


/* ==========================================================================
   .intv-closing — Closing statement with side image
   Extracted from: .interview-section, .interview-container,
   .interview-content, .interview-question, .interview-text,
   .interview-paragraph, .interview-image
   ========================================================================== */

.intv-closing {
  padding: 100px 0;
}

/* Extracted from: .interview-container */
.intv-closing__wrap {
  display: flex;
  gap: 60px;
  align-items: flex-start;
}

/* Extracted from: .interview-content */
.intv-closing__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

/* Extracted from: .interview-question */
.intv-closing__question {
  font-size: 28px;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #000;
}

/* Extracted from: .interview-text */
.intv-closing__text {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Extracted from: .interview-paragraph */
.intv-closing__paragraph {
  font-size: 14px;
  font-weight: 300;
  line-height: 2.2;
  letter-spacing: 0.05em;
  color: #000;
  margin: 0;
}

/* Extracted from: .interview-image */
.intv-closing__image {
  flex: 0 0 40%;
  overflow: hidden;
}

.intv-closing__image img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}


/* ==========================================================================
   .intv-nav — Sub-page navigation gallery + entry button
   Extracted from: .fresh__working-environment-section, .gallery-grid,
   .middle_gallery_grid, .gallery-item, .pc-image, .sp-image,
   .gallery-overlay, .gallery-content, .gallery-tag, .gallery-title,
   .gallery-arrow, .btn-career-entry
   ========================================================================== */

.intv-nav {
  padding: 120px 0;
}

.intv-nav__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}

.intv-nav__card {
  position: relative;
  aspect-ratio: 16/6;
  overflow: hidden;
  cursor: pointer;
  transition: transform 1.5s ease;
}

.intv-nav__card:hover .intv-nav__card-overlay {
  background: rgba(0, 0, 0, 0.5);
}

.intv-nav__card:hover .intv-nav__card-bg,
.intv-nav__card:hover .intv-nav__card-img {
  transform: scale(1.04);
}

.intv-nav__card-bg {
  display: block;
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: cover;
  text-indent: -9999px;
  text-align: left;
  transition: transform 1.5s ease;
}

.intv-nav__card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.5s ease;
}

.intv-nav__card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 40px 60px;
  color: #fff;
  transition: background 1.5s ease;
}

.intv-nav__card-content {
  display: flex;
  flex-direction: column;
  gap: 15px;
  text-align: left;
}

.intv-nav__card-tag {
  font-size: 20px;
  letter-spacing: 3px;
  font-weight: 600;
  text-transform: uppercase;
}

.intv-nav__card-title {
  font-size: 18px;
  letter-spacing: 2px;
  line-height: 1.5;
  font-weight: 300;
}

.intv-nav__card-arrow {
  width: 26px;
  height: 14px;
  opacity: 0.8;
}

.intv-nav__card-arrow img {
  width: 100%;
  height: 100%;
  filter: brightness(0) invert(1);
  transform: rotate(90deg);
}

/* Extracted from: inline style="text-align:center" + .btn-career-entry */
.intv-nav__entry {
  text-align: center;
  margin-top: 80px;
}

.intv-nav__entry-btn {
  width: 100%;
  display: inline-block;
  background-color: #000;
  color: #fff;
  padding: 45px;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 2px;
  text-decoration: none;
}

.intv-nav__entry-btn span {
  display: inline-block;
}


/* ==========================================================================
   RESPONSIVE — Desktop (min-width: 960px)
   ========================================================================== */

@media screen and (min-width: 960px) {
  .intv-nav__card-bg {
    display: block;
  }


}


/* ==========================================================================
   RESPONSIVE — Mobile (max-width: 768px)
   ========================================================================== */

@media (max-width: 768px) {

  /* ── Body ── */
  .intv-body {
    margin: 100px 0;
  }

  .intv-body__list {
    gap: 60px;
  }

  .intv-body__item {
    gap: 40px;
  }

  .intv-body__item-title {
    font-size: 16px;
  }

  /* ── Hero ── */
  .intv-hero__wrap {
    flex-direction: column;
    height: auto;
  }

  .intv-hero__image {
    flex: 0 0 auto;
    height: 450px;
  }

  .intv-hero__content {
    padding: 40px 0;
  }

  .intv-hero__title {
    font-size: 24px;
    margin-bottom: 30px;
  }

  .intv-hero__name {
    font-size: 14px;
  }

  .intv-hero__role {
    font-size: 11px;
  }

  /* ── Feature ── */
  .intv-feature {
    height: 134px;
    margin: 60px 0;
  }

  /* ── Closing ── */
  .intv-closing {
    padding: 60px 0;
  }

  .intv-closing__wrap {
    flex-direction: column;
    gap: 40px;
  }

  .intv-closing__question {
    font-size: 20px;
  }

  .intv-closing__image {
    flex: 0 0 auto;
    width: 100%;
  }

  /* ── Nav gallery ── */
  .intv-nav {
    padding: 80px 0;
  }

  .intv-nav__grid {
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 0 -42px;
  }

  .intv-nav__card {
    aspect-ratio: 26/9;
  }

  .intv-nav__card:hover {
    transform: none;
  }

  .intv-nav__card-bg {
    background-image: none !important;
    width: auto !important;
    height: auto !important;
  }

  .intv-nav__card-img {
    display: block;
  }

  .intv-nav__card-overlay {
    padding: 40px;
  }

  .intv-nav__card-tag {
    font-size: 11px;
  }

  .intv-nav__card-title {
    font-size: 16px;
  }

  .intv-nav__card-arrow img {
    width: 14px;
    height: 14px;
  }

  .intv-nav__entry {
    margin-top: 60px;
  }

  .intv-nav__entry-btn {
    padding: 16px 40px;
    font-size: 12px;
    width: 100%;
    max-width: 300px;
  }
}


/* ==========================================================================
   RESPONSIVE — Small mobile images (max-width: 766px)
   ========================================================================== */

@media screen and (max-width: 766px) {
  .intv-nav__card-img {
    display: block;
  }

  .intv-nav__card-bg {
    background-image: none !important;
    width: auto !important;
    height: auto !important;
  }
}

.sp-only {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp-only {
    display: inline;
  }
}






:root {
  --nav-bg: #000;
  --nav-text: #fff;
  --nav-line-color: #fff;
  --nav-transition-duration: 0.4s;
  --nav-item-gap: 97px;
  --nav-item-gap-mobile: 30px;
}

/* Hide old navigation content but keep button */
.use-modern-nav .glnav {
  display: none !important;
}

/* Sidebar base transition - when showing back, small delay to prevent flash */
.about-sidebar,
.mobile-bottom-nav {
  transition: opacity 0.2s ease 0.1s, visibility 0.2s ease 0.1s;
}

/* Hide sidebar and other elements when menu is open - instant hide, no delay */
body.modern-nav-open .about-sidebar,
body.modern-nav-open .mobile-bottom-nav {
  visibility: hidden !important;
  opacity: 0 !important;
  transition: opacity 0s ease 0s, visibility 0s ease 0s;
}

/* Modern Navigation Container */
.modern-nav {
  --nav-visibility: hidden;
  --nav-opacity: 0;
  --nav-pointer: none;
  
  position: fixed;
  visibility: var(--nav-visibility);
  opacity: var(--nav-opacity);
  pointer-events: var(--nav-pointer);
  
  z-index: 100;
  inset: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  background: var(--nav-bg);
  transition: opacity var(--nav-transition-duration) ease, visibility var(--nav-transition-duration) ease;
}

.modern-nav.is-open {
  --nav-visibility: visible;
  --nav-opacity: 1;
  --nav-pointer: auto;
}

/* Navigation Content - Flexbox Layout */
.modern-nav__content {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}

/* Navigation List - All items in one row */
.modern-nav__list {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: flex-start;
  gap: var(--nav-item-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Navigation Item */
.modern-nav__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  opacity: 0;
  transform: translateY(-30px);
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), 
              transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.modern-nav.is-open .modern-nav__item {
  opacity: 1;
  transform: translateY(0);
}

/* Staggered animation delays */
.modern-nav.is-open .modern-nav__item:nth-child(1) { transition-delay: 0.1s; }
.modern-nav.is-open .modern-nav__item:nth-child(2) { transition-delay: 0.15s; }
.modern-nav.is-open .modern-nav__item:nth-child(3) { transition-delay: 0.2s; }
.modern-nav.is-open .modern-nav__item:nth-child(4) { transition-delay: 0.25s; }
.modern-nav.is-open .modern-nav__item:nth-child(5) { transition-delay: 0.3s; }
.modern-nav.is-open .modern-nav__item:nth-child(6) { transition-delay: 0.35s; }
.modern-nav.is-open .modern-nav__item:nth-child(7) { transition-delay: 0.4s; }

/* Reset delays when closing */
.modern-nav:not(.is-open) .modern-nav__item {
  transition-delay: 0s;
}

/* Navigation Link */
.modern-nav__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: var(--nav-text);
}

/* Vertical Line Indicator */
.modern-nav__line {
  width: 1px;
  height: 15px;
  background: var(--nav-line-color);
  margin-bottom: 25px;
  transform-origin: top center;
  transition: transform 0.3s ease;
}

.modern-nav__link:hover .modern-nav__line {
  transform: scaleY(2);
}

/* Text - Use SVG background images like original */
.modern-nav__text {
  display: block;
  background-repeat: no-repeat;
  background-size: cover;
  text-indent: -9999px;
  text-align: left;
}

/* TOP */
.modern-nav__item--top .modern-nav__text {
  width: 12px;
  height: 54px;
  background-image: url("assets/images/glnav/glnav__new-item-top-ttl.svg");
}

/* ABOUT */
.modern-nav__item--about .modern-nav__text {
  width: 12px;
  height: 102px;
  background-image: url("assets/images/glnav/glnav__new-item-about-ttl.svg");
}

/* BUSINESS */
.modern-nav__item--business .modern-nav__text {
  width: 10px;
  height: 154px;
  background-image: url("assets/images/glnav/glnav__new-item-business-ttl.svg");
}

/* STYLE */
.modern-nav__item--style .modern-nav__text {
  width: 10px;
  height: 94px;
  background-image: url("assets/images/glnav/glnav__new-item-style-ttl.svg");
}

/* 新卒採用 */
.modern-nav__item--fresh .modern-nav__text {
  width: 20px;
  height: 97px;
  background-image: url("assets/images/glnav/glnav__item-recruit-newgraduate-ttl.svg");
}

/* 中途採用 */
.modern-nav__item--career .modern-nav__text {
  width: 20px;
  height: 97px;
  background-image: url("assets/images/glnav/glnav__item-mid-career-recruitment-ttl.svg");
}

/* インタビュー */
.modern-nav__item--interview .modern-nav__text {
  width: 20px;
  height: 149px;
  background-image: url("assets/images/glnav/glnav__item-interview-ttl.svg");
}

/* Hide the new button - we use the original glnav__btn-open */
.modern-nav-btn {
  display: none !important;
}

/* Mobile Styles - Two row layout */
@media screen and (max-width: 768px) {
  
  .modern-nav__list {
    display: grid;
    grid-template-columns: repeat(4, auto);
    grid-template-rows: auto auto;
    gap: 40px 35px;
    padding: 0;
  }
  
  /* Row 1: TOP, ABOUT, BUSINESS, STYLE (right to left becomes grid columns) */
  .modern-nav__item--top { grid-column: 4; grid-row: 1; }
  .modern-nav__item--about { grid-column: 3; grid-row: 1; }
  .modern-nav__item--business { grid-column: 2; grid-row: 1; }
  .modern-nav__item--style { grid-column: 1; grid-row: 1; }
  
  /* Row 2: 新卒採用, 中途採用, インタビュー (positioned in columns 2-4) */
  .modern-nav__item--fresh { grid-column: 4; grid-row: 2; }
  .modern-nav__item--career { grid-column: 3; grid-row: 2; }
  .modern-nav__item--interview { grid-column: 2; grid-row: 2; }
  
  .modern-nav__line {
    height: 10px;
    margin-bottom: 20px;
  }
}

/* Extra small screens */
@media screen and (max-width: 480px) {
  .modern-nav__content {
    padding: 0;
  }
  
  .modern-nav__list {
    gap: 47px 60px;
  }
  
  .modern-nav__line {
    height: 15px;
  }
}

.page-loader {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

.page-loader--hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.page-loader__inner {
  text-align: center;
}

.page-loader__spinner {
  width: 40px;
  height: 40px;
  margin: 0 auto 16px;
  border: 3px solid #e0e0e0;
  border-top-color: #000;
  border-radius: 50%;
  animation: loader-spin 0.8s linear infinite;
}

@keyframes loader-spin {
  to { transform: rotate(360deg); }
}

.page-loader__text {
  font-family: "Josefin Sans", sans-serif;
  font-size: 13px;
  letter-spacing: 0.15em;
  color: #000;
}
