@charset "UTF-8";
/* ===================
 オリジナル
==================== */
/* ===================
 MIXIN
==================== */
/* ====================
design SIZE SET
==================== */
/* ====================
header height
==================== */
.important {
  background-color: #547dab;
  /*重要*/
}

.holiday {
  background-color: #ddc63d;
  /*休講情報*/
}

.topics {
  background-color: #eb8a81;
  /*TOPICS*/
}

.admission {
  background-color: #ffa360;
  /*入試情報*/
}

.education {
  background-color: #7bbd40;
  /*教育学科*/
}

.child {
  background-color: #e07393;
  /*児童教育学科*/
}

.management {
  background-color: #0663a3;
  /*経営教育学科*/
}

.college {
  background-color: #849ea5;
  /*短期大学*/
}

.graduate {
  background-color: #263a6f;
  /*大学院*/
}

.career {
  background-color: #69a742;
  /*就職・キャリア*/
}

.sports {
  background-color: #db7aad;
  /*スポーツ活動*/
}

.health {
  background-color: #4ec798;
  /*健康管理センター*/
}

.international {
  background-color: #4e98c7;
  /*国際交流*/
}

.support {
  background-color: #e495b4;
  /*教職支援*/
}

.region {
  background-color: #9bc74e;
  /*地域連携*/
}

.consultation {
  background-color: #759660;
  /*教育相談所*/
}

.past {
  background-color: #32aadf;
  /*過去ブログ*/
}

.targetstudent {
  background-color: #7bb288;
  /*在学生・保護者の方へ*/
}

.candidates {
  background-color: #0d752f;
  /*受験生・保護者の方へ*/
}

.a_topics {
  background-color: #031d56;
  /*Ashiya Topics*/
}

.targetenterprise {
  background-color: #78c2cf;
  /*企業・一般の方へ*/
}

.newoya {
  background-color: #0d752f;
  /*受験生・保護者の方へ*/
}

.cat01 {
  background-color: #e1bf4d;
  /*高校生の方へ*/
}

.cat02 {
  background-color: #b0ce6d;
  /*イベント*/
}

.cat03 {
  background-color: #e495b3;
  /*採用情報*/
}

.cat07 {
  background-color: #c49bd5;
  /*その他*/
}

.pc {
  display: block;
}
@media only screen and (max-width: 834px) {
  .pc {
    display: none !important;
  }
}

.sp {
  display: none !important;
}
@media only screen and (max-width: 834px) {
  .sp {
    display: block !important;
  }
}

/*----------------------------------------
	COMMON
-----------------------------------------*/
/* 画面サイズ
===================================*/
.c-full {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.c-outer {
  width: 100%;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
}

.c-inner {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.c-font-source {
  font-family: "Source Sans 3", YuGothic, "Yu Gothic", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
  font-weight: 600;
}

@media screen and (max-width: 834px) {
  .c-inner {
    width: calc(600 / 750 * 100vw);
  }
}
.c-back-cyaan {
  position: relative;
  background-color: #39c5e5;
  z-index: 0;
}
.c-back-cyaan::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100vw;
  background-image: url(../img/common/background_mask.png);
  background-repeat: repeat;
  background-size: 100%;
  background-blend-mode: overlay;
  opacity: 0.2;
  z-index: -1;
}
@supports (background-image: url("image.webp")) {
  .c-back-cyaan::before {
    background-image: url(../img/common/background_mask.webp);
  }
}
.c-back-sky {
  position: relative;
  background-color: #60bde2;
  z-index: 0;
}
.c-back-sky::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100vw;
  background-image: url(../img/common/background_mask.png);
  background-repeat: repeat;
  background-size: 100%;
  background-blend-mode: overlay;
  opacity: 0.2;
  z-index: -1;
}
@supports (background-image: url("image.webp")) {
  .c-back-sky::before {
    background-image: url(../img/common/background_mask.webp);
  }
}
.c-back-blue {
  position: relative;
  background-color: #00428e;
  z-index: 0;
}
.c-back-blue::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100vw;
  background-image: url(../img/common/background_mask.png);
  background-repeat: repeat;
  background-size: 100%;
  background-blend-mode: overlay;
  opacity: 0.2;
  z-index: -1;
}
@supports (background-image: url("image.webp")) {
  .c-back-blue::before {
    background-image: url(../img/common/background_mask.webp);
  }
}
.c-back-wave {
  -webkit-mask-image: url(../img/common/background_wave_pc.svg);
          mask-image: url(../img/common/background_wave_pc.svg);
  -webkit-mask-position: center top;
          mask-position: center top;
  -webkit-mask-size: 100% 3500px;
          mask-size: 100% 3500px;
}
@media only screen and (max-width: 834px) {
  .c-back-wave {
    -webkit-mask-image: url(../img/common/background_wave_sp.svg);
            mask-image: url(../img/common/background_wave_sp.svg);
    -webkit-mask-size: 100% calc(3500 / 750 * 100vw);
            mask-size: 100% calc(3500 / 750 * 100vw);
  }
}

.l-link-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 450px;
  height: 95px;
  font-size: 1.6rem;
  letter-spacing: 0em;
  line-height: 1.1;
  font-weight: 500;
  color: #fff;
  background-image: url(../img/common/arrow_white.svg);
  background-position: 92% center;
  background-repeat: no-repeat;
  background-size: 10px auto;
  background-color: #00428e;
  margin-inline: auto;
  border-radius: 100vmax;
}
@media only screen and (min-width: 835px) {
  .l-link-button:hover {
    background-position: 95% center;
  }
}
@media only screen and (max-width: 834px) {
  .l-link-button {
    width: calc(545 / 750 * 100vw);
    height: calc(115 / 750 * 100vw);
    font-size: calc(35 / 750 * 130vw);
    letter-spacing: 0.1em;
    line-height: 1;
    background-size: calc(10 / 750 * 100vw) auto;
  }
}

/* MODAL
===================================*/
.c-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1000;
}
.c-modal__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  height: 100%;
}
.c-modal__back {
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  pointer-events: visible;
  cursor: pointer;
}
.c-modal__back::before, .c-modal__back::after {
  content: "";
  position: fixed;
  top: 12%;
  left: calc(50% + 410px);
  display: block;
  width: 48px;
  height: 1px;
  background: #fff;
  z-index: 1;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transform-origin: center;
          transform-origin: center;
}
.c-modal__back::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.c-modal-peaple {
  position: relative;
  display: none;
  max-width: 800px;
  height: 90%;
  background: #fff;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  overflow: auto;
  z-index: 10;
  pointer-events: visible;
}
.c-modal-peaple__image {
  margin-top: 3rem;
}
.c-modal-peaple__note {
  font-size: 0.9em;
  text-align: right;
  margin-top: 1rem;
}
.c-modal-peaple-hero {
  position: relative;
}
.c-modal-peaple-hero__profile {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  top: 50%;
  font-size: 1.28rem;
  letter-spacing: 0.08em;
  line-height: 2;
  font-weight: bold;
  padding: 20px 30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.8);
}
.c-modal-peaple-hero__profile p {
  margin-top: 0 !important;
  padding: 0 0.2em;
}
.c-modal-peaple-hero__profile p:not(:first-of-type) {
  border-top: 2px solid #944d4b;
}
.c-modal-peaple-hero__profile strong {
  font-size: 1.2em;
  color: #944d4b;
}
.c-modal-peaple-hero__profile small {
  font-size: 0.9em;
  color: #944d4b;
}
.c-modal-peaple-hero__profile span {
  font-size: 0.9em;
  color: #944d4b;
  letter-spacing: 0.3em;
}
.c-modal-peaple-hero__profile--left {
  left: 40px;
}
.c-modal-peaple-hero__profile--right {
  right: 40px;
}
.c-modal-peaple-hero__image {
  margin-top: 0;
}
.c-modal-peaple-content {
  padding: 0 70px 40px;
  font-size: 1.12rem;
  letter-spacing: 0.08em;
  line-height: 1.86;
}
.c-modal-peaple-content h3 {
  font-size: 1em;
  font-weight: 700;
  color: #944d4b;
  margin-top: 1.5rem;
}
.c-modal-peaple-content h3::after {
  content: "";
  display: block;
  width: 40px;
  height: 2px;
  background: #944d4b;
  margin: 0.5em 0 1em;
}
.c-modal-peaple-content strong {
  font-size: 1.4em;
  line-height: 1.35;
}
.c-modal-peaple-schedule {
  margin-top: 2em;
  padding: 10px 10px;
  background: #f4eff0;
}
.c-modal-peaple-schedule h3 {
  line-height: 1;
  text-align: center;
  margin-bottom: 2em;
}
.c-modal-peaple-schedule h3 img {
  width: 455px;
}
.c-modal-peaple-schedule h3::after {
  display: none;
}
.c-modal-peaple-schedule__stone {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 10px;
  font-weight: 700;
  padding-bottom: 0.25em;
}
.c-modal-peaple-schedule__stone::before {
  content: "";
  position: absolute;
  top: 20px;
  left: 105px;
  display: block;
  width: 3px;
  height: 100%;
  background: #231815;
}
.c-modal-peaple-schedule__stone--30m {
  padding-bottom: 0.5em;
}
.c-modal-peaple-schedule__stone--60m {
  padding-bottom: 1em;
}
.c-modal-peaple-schedule__stone--90m {
  padding-bottom: 1.5em;
}
.c-modal-peaple-schedule__stone--120m {
  padding-bottom: 3em;
}
.c-modal-peaple-schedule__stone--end::before {
  display: none;
}
.c-modal-peaple-schedule__stone dt {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 10px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 118px;
  font-size: 1.2em;
  text-align: right;
  color: #944d4b;
  z-index: 1;
}
.c-modal-peaple-schedule__stone dt::after {
  content: "";
  display: block;
  width: 0.9em;
  height: 0.9em;
  background: #fff;
  border: 3px solid #231815;
  border-radius: 100vmax;
}
.c-modal-peaple-schedule__stone dd {
  font-size: 1.1em;
  line-height: 1.35;
}

@media only screen and (max-width: 834px) {
  .c-modal__back {
    top: auto;
    bottom: 0;
    left: auto;
    right: 0;
    width: calc(100 / 750 * 100vw);
    height: calc(100 / 750 * 100vw);
    z-index: 1000;
  }
  .c-modal__back::before, .c-modal__back::after {
    top: auto;
    bottom: calc(47 / 750 * 100vw);
    left: auto;
    right: calc(12 / 750 * 100vw);
    display: block;
    width: 40px;
  }
  .c-modal-peaple {
    height: 100%;
  }
  .c-modal-peaple-hero__profile {
    position: relative;
    top: -15vw;
    right: 0;
    width: 86%;
    font-size: calc(28 / 750 * 130vw);
    letter-spacing: 0.08em;
    line-height: 2;
    margin: 0 auto -15vw;
    padding: calc(20 / 750 * 100vw) calc(30 / 750 * 100vw);
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  .c-modal-peaple-hero__profile--left {
    left: 0;
  }
  .c-modal-peaple-hero__profile--right {
    right: 0;
  }
  .c-modal-peaple-hero__image {
    margin-top: 0;
  }
  .c-modal-peaple-content {
    padding: 0 7vw 60px;
    font-size: calc(22 / 750 * 130vw);
    letter-spacing: 0.08em;
    line-height: 1.5;
  }
  .c-modal-peaple-content h3::after {
    width: calc(40 / 750 * 100vw);
    height: 2px;
  }
  .c-modal-peaple-schedule {
    padding: calc(10 / 750 * 100vw) calc(10 / 750 * 100vw) calc(30 / 750 * 100vw);
  }
  .c-modal-peaple-schedule h3 img {
    width: 86%;
  }
  .c-modal-peaple-schedule__stone {
    gap: calc(10 / 750 * 100vw);
  }
  .c-modal-peaple-schedule__stone::before {
    top: calc(20 / 750 * 100vw);
    left: calc(140 / 750 * 100vw);
    width: calc(3 / 750 * 100vw);
  }
  .c-modal-peaple-schedule__stone dt {
    gap: calc(10 / 750 * 100vw);
    width: calc(160 / 750 * 100vw);
  }
  .c-modal-peaple-schedule__stone dt::after {
    border: calc(3 / 750 * 100vw) solid #231815;
  }
  .c-modal-peaple-schedule__stone dd {
    padding-right: 1em;
    line-height: 1.2;
  }
}
.u-inview {
  -webkit-animation: none !important;
          animation: none !important;
}

/*===================================
オリジナル
===================================*/
.u-line-left {
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-animation: animate-transform 0.8s forwards;
          animation: animate-transform 0.8s forwards;
}

/*===================================
マスク
===================================*/
.u-mask-up {
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(33%, transparent), color-stop(50%, black));
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, transparent 33%, black 50%);
          mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(33%, transparent), color-stop(50%, black));
          mask-image: linear-gradient(to bottom, transparent 0%, transparent 33%, black 50%);
  -webkit-mask-size: 100% 300%;
          mask-size: 100% 300%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: top;
          mask-position: top;
  -webkit-animation: animate-maskUp 2s ease-out forwards;
          animation: animate-maskUp 2s ease-out forwards;
}
.u-mask-wave {
  -webkit-mask-image: linear-gradient(170deg, transparent 0%, transparent 33%, black 50%);
          mask-image: linear-gradient(170deg, transparent 0%, transparent 33%, black 50%);
  -webkit-mask-size: 100% 300%;
          mask-size: 100% 300%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: top;
          mask-position: top;
  -webkit-animation: animate-maskUp 5s ease-out forwards;
          animation: animate-maskUp 5s ease-out forwards;
}
.u-mask-down {
  -webkit-mask-image: -webkit-gradient(linear, left bottom, left top, from(transparent), color-stop(33%, transparent), color-stop(50%, black));
  -webkit-mask-image: linear-gradient(to top, transparent 0%, transparent 33%, black 50%);
          mask-image: -webkit-gradient(linear, left bottom, left top, from(transparent), color-stop(33%, transparent), color-stop(50%, black));
          mask-image: linear-gradient(to top, transparent 0%, transparent 33%, black 50%);
  -webkit-mask-size: 100% 300%;
          mask-size: 100% 300%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: bottom;
          mask-position: bottom;
  -webkit-animation: animate-maskDown 2s ease-out forwards;
          animation: animate-maskDown 2s ease-out forwards;
}
@media only screen and (max-width: 834px) {
  .u-mask-down-sp {
    -webkit-mask-image: -webkit-gradient(linear, left bottom, left top, from(transparent), color-stop(33%, transparent), color-stop(50%, black));
    -webkit-mask-image: linear-gradient(to top, transparent 0%, transparent 33%, black 50%);
            mask-image: -webkit-gradient(linear, left bottom, left top, from(transparent), color-stop(33%, transparent), color-stop(50%, black));
            mask-image: linear-gradient(to top, transparent 0%, transparent 33%, black 50%);
    -webkit-mask-size: 100% 300%;
            mask-size: 100% 300%;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: bottom;
            mask-position: bottom;
    -webkit-animation: animate-maskDown 2s ease-out forwards;
            animation: animate-maskDown 2s ease-out forwards;
  }
}
.u-mask-left {
  -webkit-mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(33%, transparent), color-stop(50%, black));
  -webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 33%, black 50%);
          mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(33%, transparent), color-stop(50%, black));
          mask-image: linear-gradient(to right, transparent 0%, transparent 33%, black 50%);
  -webkit-mask-size: 300% 100%;
          mask-size: 300% 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: left;
          mask-position: left;
  -webkit-animation: animate-maskLeft 2s ease-out forwards;
          animation: animate-maskLeft 2s ease-out forwards;
}
.u-mask-right {
  -webkit-mask-image: -webkit-gradient(linear, right top, left top, from(transparent), color-stop(33%, transparent), color-stop(50%, black));
  -webkit-mask-image: linear-gradient(to left, transparent 0%, transparent 33%, black 50%);
          mask-image: -webkit-gradient(linear, right top, left top, from(transparent), color-stop(33%, transparent), color-stop(50%, black));
          mask-image: linear-gradient(to left, transparent 0%, transparent 33%, black 50%);
  -webkit-mask-size: 300% 100%;
          mask-size: 300% 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: right;
          mask-position: right;
  -webkit-animation: animate-maskRight 2s ease-out forwards;
          animation: animate-maskRight 2s ease-out forwards;
}

@-webkit-keyframes animate-maskUp {
  to {
    -webkit-mask-position: bottom;
            mask-position: bottom;
  }
}

@keyframes animate-maskUp {
  to {
    -webkit-mask-position: bottom;
            mask-position: bottom;
  }
}
@-webkit-keyframes animate-maskDown {
  to {
    -webkit-mask-position: top;
            mask-position: top;
  }
}
@keyframes animate-maskDown {
  to {
    -webkit-mask-position: top;
            mask-position: top;
  }
}
/*===================================
transform
===================================*/
.u-fade-in {
  opacity: 0;
  -webkit-animation: animate-transform 0.8s forwards;
          animation: animate-transform 0.8s forwards;
}
.u-fade-up {
  opacity: 0;
  -webkit-transform: translate(0, 25px);
          transform: translate(0, 25px);
  -webkit-animation: animate-transform 0.8s forwards;
          animation: animate-transform 0.8s forwards;
}
.u-fade-down {
  opacity: 0;
  -webkit-transform: translate(0, -50px);
          transform: translate(0, -50px);
  -webkit-animation: animate-transform 0.8s forwards;
          animation: animate-transform 0.8s forwards;
}
.u-fade-left {
  opacity: 0;
  -webkit-transform: translate(-150px, 0);
          transform: translate(-150px, 0);
  -webkit-animation: animate-transform 0.8s forwards;
          animation: animate-transform 0.8s forwards;
}
.u-fade-right {
  opacity: 0;
  -webkit-transform: translate(150px, 0);
          transform: translate(150px, 0);
  -webkit-animation: animate-transform 0.8s forwards;
          animation: animate-transform 0.8s forwards;
}

.u-slide-left {
  opacity: 0;
  -webkit-transform: translate(-101%, 0);
          transform: translate(-101%, 0);
  -webkit-animation: animate-transform 0.8s forwards;
          animation: animate-transform 0.8s forwards;
}

.u-cover-out {
  -webkit-transform-origin: right center;
          transform-origin: right center;
  -webkit-animation: animate-cover 0.8s forwards;
          animation: animate-cover 0.8s forwards;
}

.u-image-zoom {
  opacity: 0;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-animation: 1.5s animate-transform forwards;
          animation: 1.5s animate-transform forwards;
}

@-webkit-keyframes animate-transform {
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}

@keyframes animate-transform {
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
@-webkit-keyframes animate-cover {
  to {
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
  }
}
@keyframes animate-cover {
  to {
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
  }
}
/*===================================
回転
===================================*/
.u-rotate-x {
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
  -webkit-transform: rotateX(-90deg) scale(1, 0);
          transform: rotateX(-90deg) scale(1, 0);
  -webkit-animation: animate-rotateX 1.5s forwards;
          animation: animate-rotateX 1.5s forwards;
  overflow: hidden;
}

@-webkit-keyframes animate-rotateX {
  0% {
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    opacity: 0;
    -webkit-transform: perspective(400px) rotateX(-90deg);
            transform: perspective(400px) rotateX(-90deg);
  }
  40% {
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    -webkit-transform: perspective(400px) rotateX(20deg);
            transform: perspective(400px) rotateX(20deg);
  }
  60% {
    opacity: 1;
    -webkit-transform: perspective(400px) rotateX(-10deg);
            transform: perspective(400px) rotateX(-10deg);
  }
  80% {
    -webkit-transform: perspective(400px) rotateX(5deg);
            transform: perspective(400px) rotateX(5deg);
  }
  100% {
    -webkit-transform: perspective(400px);
            transform: perspective(400px);
  }
}

@keyframes animate-rotateX {
  0% {
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    opacity: 0;
    -webkit-transform: perspective(400px) rotateX(-90deg);
            transform: perspective(400px) rotateX(-90deg);
  }
  40% {
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    -webkit-transform: perspective(400px) rotateX(20deg);
            transform: perspective(400px) rotateX(20deg);
  }
  60% {
    opacity: 1;
    -webkit-transform: perspective(400px) rotateX(-10deg);
            transform: perspective(400px) rotateX(-10deg);
  }
  80% {
    -webkit-transform: perspective(400px) rotateX(5deg);
            transform: perspective(400px) rotateX(5deg);
  }
  100% {
    -webkit-transform: perspective(400px);
            transform: perspective(400px);
  }
}
.u-grow-up-x {
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
  -webkit-transform: translate(100%, 50%);
          transform: translate(100%, 50%);
  -webkit-animation: animate-growUp 1.5s forwards;
          animation: animate-growUp 1.5s forwards;
}

@-webkit-keyframes animate-growUp {
  to {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}

@keyframes animate-growUp {
  to {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
/*==================================================
滑らかに変形して出現
===================================*/
.smooth {
  -webkit-animation: animate-smooth 1s forwards;
          animation: animate-smooth 1s forwards;
  -webkit-transform-origin: left;
          transform-origin: left;
  opacity: 0;
}

@-webkit-keyframes animate-smooth {
  from {
    -webkit-transform: translate3d(0, 100%, 0) skewY(12deg);
            transform: translate3d(0, 100%, 0) skewY(12deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0) skewY(0);
            transform: translate3d(0, 0, 0) skewY(0);
    opacity: 1;
  }
}

@keyframes animate-smooth {
  from {
    -webkit-transform: translate3d(0, 100%, 0) skewY(12deg);
            transform: translate3d(0, 100%, 0) skewY(12deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0) skewY(0);
            transform: translate3d(0, 0, 0) skewY(0);
    opacity: 1;
  }
}
/*==================================================
filter
===================================*/
.u-filter-blur-in {
  -webkit-animation: animate-blurIn 1s forwards;
          animation: animate-blurIn 1s forwards;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  opacity: 0;
}

@-webkit-keyframes animate-blurIn {
  to {
    -webkit-filter: none;
            filter: none;
    opacity: 1;
  }
}

@keyframes animate-blurIn {
  to {
    -webkit-filter: none;
            filter: none;
    opacity: 1;
  }
}
/*----------------------------------------
	HEADER
-----------------------------------------*/
.l-header {
  position: sticky;
  top: 0;
  width: 100%;
  height: 120px;
  pointer-events: none;
  z-index: 100;
}
.l-header__wrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%;
}
.l-header__wrap * {
  pointer-events: visible;
}
.l-header-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 55px;
  height: 120px;
  padding-left: 23px;
}
.l-header-title__logo {
  width: 180px;
}
.l-header-title__text {
  width: 170px;
}
.l-header-nav {
  margin: auto 200px auto auto;
}
.l-header-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 40px;
}
.l-header-nav__item a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.44rem;
  letter-spacing: 0.075em;
  line-height: 1.33;
  text-align: center;
}
.l-header-nav__item a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background: #231815;
}
.l-header__entry {
  position: absolute;
  top: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 150px;
  height: 150px;
  background: #231815;
}
.l-header__entry img {
  width: 99px;
}

@media only screen and (max-width: 834px) {
  .l-header {
    height: calc(90 / 750 * 100vw);
  }
  .l-header-title {
    gap: calc(46 / 750 * 100vw);
    height: calc(90 / 750 * 100vw);
    padding-left: calc(88 / 750 * 100vw);
  }
  .l-header-title__logo {
    width: calc(110 / 750 * 100vw);
  }
  .l-header-title__text {
    width: calc(98 / 750 * 100vw);
    margin-top: calc(40 / 750 * 100vw);
  }
  .l-header-nav {
    margin: calc(40 / 750 * 100vw) calc(125 / 750 * 100vw) auto auto;
  }
  .l-header-nav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: calc(30 / 750 * 100vw);
  }
  .l-header-nav__item a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: calc(18 / 750 * 130vw);
    letter-spacing: 0.075em;
    line-height: 1.33;
    text-align: center;
  }
  .l-header-nav__item a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
    background: #231815;
  }
  .l-header__entry {
    width: calc(100 / 750 * 100vw);
    height: calc(100 / 750 * 100vw);
  }
  .l-header__entry img {
    width: calc(66 / 750 * 100vw);
  }
}
/*----------------------------------------
	FOOTER
-----------------------------------------*/
.l-footer__logo {
  display: block;
  width: 180px;
  margin: 55px auto;
}
.l-footer__copy {
  width: 100%;
  height: 50px;
  font-size: 1.12rem;
  letter-spacing: 0.1em;
  line-height: 3.57;
  font-weight: 500;
  text-align: center;
  color: #fff;
  background: #00428e;
  margin-top: 140px;
}

@media only screen and (max-width: 834px) {
  .l-footer {
    background: #efefef;
    padding-top: calc(50 / 750 * 100vw);
  }
  .l-footer__logo {
    width: calc(300 / 750 * 100vw);
    margin: 0 auto;
  }
  .l-footer__copy {
    height: calc(200 / 750 * 100vw);
    font-size: calc(14 / 750 * 130vw);
    letter-spacing: 0.1em;
    line-height: 3.57;
    margin-top: calc(80 / 750 * 100vw);
  }
}
/*----------------------------------------
	MAIN
-----------------------------------------*/
.l-main {
  padding-bottom: 100px;
}
.l-main-heading {
  font-size: 1.12rem;
  letter-spacing: 0.08em;
  line-height: 1.71;
  font-weight: 700;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.l-main-heading hr {
  content: "";
  display: block;
  width: 34px;
  height: 8px;
  background: #000;
  margin: 15px auto 10px;
  -webkit-mask-image: url("../img/common/icon_line.svg");
          mask-image: url("../img/common/icon_line.svg");
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.l-main-button {
  position: relative;
  width: 100%;
  height: 100%;
  font-family: "Barlow Condensed", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: #fff;
  background: #231815;
  border: 1px solid #231815;
  border-radius: 0;
  overflow: hidden;
}
.l-main-button span {
  position: relative;
}
.l-main-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  -webkit-transform: scaleY(0);
          transform: scaleY(0);
  -webkit-transform-origin: top;
          transform-origin: top;
  transition: transform 0.5s cubic-bezier(0.37, 0.16, 0.12, 1), -webkit-transform 0.5s cubic-bezier(0.37, 0.16, 0.12, 1);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.l-main-button:hover {
  opacity: 1;
  color: #231815;
}
.l-main-button:hover::before {
  -webkit-transform: scaleY(1);
          transform: scaleY(1);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
}
.l-main-button--white {
  color: #231815;
  background: none;
}
.l-main-button--white::before {
  background: #231815;
}
.l-main-button--white:hover {
  color: #fff;
}
.l-main-button--entry {
  width: 570px;
  height: 90px;
  margin: 100px auto 0;
  background: #000;
}
.l-main-button--entry span {
  display: block;
  width: 100%;
  height: 60px;
  background: #fff;
  -webkit-mask-image: url("../img/common/button_entry.svg");
          mask-image: url("../img/common/button_entry.svg");
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.l-main-button--entry:hover span {
  background: #000;
}

@media only screen and (max-width: 834px) {
  .l-main {
    padding-bottom: calc(100 / 750 * 100vw);
  }
  .l-main-heading {
    font-size: calc(20 / 750 * 130vw);
    letter-spacing: 0.2em;
    line-height: 1;
  }
  .l-main-heading hr {
    width: calc(34 / 750 * 100vw);
    height: calc(8 / 750 * 100vw);
    margin: calc(25 / 750 * 100vw) auto calc(10 / 750 * 100vw);
  }
  .l-main-button--entry {
    width: calc(400 / 750 * 100vw);
    height: calc(85 / 750 * 100vw);
    margin: calc(100 / 750 * 100vw) auto 0;
  }
  .l-main-button--entry span {
    height: calc(58 / 750 * 100vw);
  }
}
/*----------------------------------------
	MAIN
-----------------------------------------*/
.pageHeader-bg {
  background-image: url(../../assets/img/component/page/header-hero-brand.jpg);
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover;
}

.p-top-fv {
  overflow: hidden;
}
.p-top-fv-movie video {
  width: 100%;
  height: auto;
}
.p-top-fv-links__heading {
  width: 192.5px;
  margin-top: 180px;
}
.p-top-fv-links-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 25px;
  margin-top: 35px;
}
.p-top-fv-links-list__item a {
  width: 270px;
  height: 80px;
  font-size: 1.44rem;
  letter-spacing: 0.08em;
  line-height: 1.39;
  font-weight: 700;
  font-weight: 600;
  padding-left: 0.2em;
}
.p-top-message {
  position: relative;
  margin-top: 215px;
}
.p-top-message__back {
  position: sticky;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: 100%;
  height: 100vh;
  background-color: #e0ddc6;
}
.p-top-message__back img {
  opacity: 0.2;
}
.p-top-message__wrap {
  position: relative;
  padding: 100px 0 220px;
  z-index: 1;
  margin-top: -100vh;
  overflow: hidden;
}
.p-top-message__heading {
  position: relative;
  width: 220.5px;
  z-index: 2;
}
.p-top-message-profile {
  position: relative;
}
.p-top-message-profile__photo {
  position: absolute;
  width: 670px;
  top: -100px;
  right: 0;
}
.p-top-message-profile__text {
  position: relative;
  width: 240px;
  margin: 80px auto 0;
  z-index: 1;
}
.p-top-message-column {
  position: relative;
  max-width: 800px;
  background: rgba(255, 255, 255, 0.9);
  margin-top: 69px;
  padding: 150px 0;
}
.p-top-message-column__heading {
  font-size: 1.12rem;
  letter-spacing: 0.08em;
  line-height: 1.86;
  font-weight: 700;
  text-align: center;
}
.p-top-message-column__body {
  display: -webkit-box;
  max-height: 380px;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 7;
  font-size: 1.12rem;
  letter-spacing: 0.08em;
  line-height: 1.86;
  font-weight: 300;
  margin-top: 55px;
  padding: 0 75px;
  overflow: hidden;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-top-message-column__body > * {
  margin-top: 2.1em;
}
.p-top-message-column__body > *:first-child {
  margin-top: 0;
}
.p-top-message-column__body.is-open {
  -webkit-line-clamp: none;
  max-height: none;
}
.p-top-message-column__line {
  width: 33px;
  height: 7px;
  margin-bottom: 60px;
  background: url(../img/common/icon_line.svg) no-repeat center/contain;
  border: none;
}
.p-top-message-column__line + p {
  margin-top: 0 !important;
}
.p-top-message-column__photo {
  position: relative;
  width: 350px;
}
@media only screen and (min-width: 835px) {
  .p-top-message-column__photo--left {
    float: left;
    left: -75px;
    margin-right: -40px;
  }
  .p-top-message-column__photo--right {
    float: right;
    right: -75px;
    margin-left: -40px;
  }
}
.p-top-message-column__sign {
  clear: both;
  text-align: right;
  margin-top: 95px;
}
.p-top-message-column__sign ruby {
  font-size: 0;
  letter-spacing: 0;
  margin-left: 5px;
}
.p-top-message-column__sign ruby:first-of-type {
  margin-left: 30px;
}
.p-top-message-column__sign rb {
  font-size: 1.28rem;
  letter-spacing: 0.075em;
  line-height: 1.88;
  font-weight: 700;
  font-weight: 600;
}
.p-top-message-column__sign rt {
  font-size: 0.64rem;
  letter-spacing: 0.05em;
  line-height: 1.13;
  text-align: center;
  margin-bottom: 2px;
}
.p-top-message-column__button {
  width: 270px;
  height: 80px;
  margin: 65px auto 0;
}
.p-top-message-column__button button {
  width: 100%;
  height: 100%;
}
.p-top-message-column__button span {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-top-message-column__button span::before {
  content: "READ MORE";
  font-size: 1.36rem;
  letter-spacing: 0.3em;
  line-height: 1;
  font-weight: 700;
}
.p-top-message-column__button span::after {
  content: "";
  display: block;
  width: 16px;
  height: 8px;
  margin: 10px auto -10px;
  background: #231815;
  -webkit-mask-image: url(../img/common/icon_arrow_bottom.svg);
          mask-image: url(../img/common/icon_arrow_bottom.svg);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.p-top-message-column__button:hover span::after {
  background: #fff;
}
.p-top-message-column__button.is-open span::before {
  content: "CLOSE";
}
.p-top-message-column__button.is-open span::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.p-top-philofophy {
  background: #f5f1e9;
  margin-top: 330px;
  padding-bottom: 260px;
}
.p-top-philofophy__heading {
  position: relative;
  top: -57.5px;
  width: 342px;
  margin-bottom: -57.5px;
}
.p-top-philofophy__wrap {
  margin-top: 90px;
}
.p-top-philofophy-lead {
  position: relative;
  max-width: 1040px;
  max-width: 750px;
  margin: 0 auto;
  padding-bottom: 53px;
}
.p-top-philofophy-lead__jpn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  font-size: 1.28rem;
  letter-spacing: 0.08em;
  line-height: 1.75;
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
  font-weight: 700;
}
.p-top-philofophy-lead__jpn span {
  display: block;
}
.p-top-philofophy-lead__jpn span:nth-of-type(2) {
  margin-left: 2.5em;
}
.p-top-philofophy-lead__jpn span:nth-of-type(3) {
  margin-left: 8.3em;
}
.p-top-philofophy-lead__eng {
  position: absolute;
  right: 0;
  bottom: 0;
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  line-height: 2.27;
  font-weight: 300;
}
.p-top-philofophy-content {
  margin-top: 125px;
}
.p-top-philofophy-content__block {
  position: relative;
  margin-top: 70px;
}
.p-top-philofophy-content__inner {
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.p-top-philofophy-content__inner img {
  width: auto;
  height: 21px;
}
.p-top-philofophy-content__inner p {
  width: 800px;
  font-size: 1.12rem;
  letter-spacing: 0.1em;
  line-height: 1.86;
  font-weight: 500;
  background: rgba(255, 255, 255, 0.85);
  margin: 50px auto 0;
  padding: 20px 30px;
  padding: 30px 45px;
}
.p-top-people {
  position: relative;
  margin-top: 150px;
  padding-bottom: 320px;
  overflow: hidden;
}
.p-top-people > * {
  position: relative;
}
.p-top-people__heading img {
  display: block;
  width: 136.5px;
  margin: 0 auto;
}
.p-top-people__back {
  position: absolute;
  top: 40px;
  left: calc(50% - 850px);
  width: 1860px;
  height: 1860px;
  width: 1700px;
  height: 1700px;
  background: #eee7e9;
  border-radius: 100vmax;
}
.p-top-people__hero {
  width: 703px;
  margin-top: 35px;
  margin-left: calc(50% + 20px);
  pointer-events: none;
  z-index: 1;
}
.p-top-people-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 1040px;
  margin-top: -250px;
  z-index: 1;
}
.p-top-people-list__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  width: 455px;
  margin-top: 120px;
}
.p-top-people-list__item:first-of-type {
  margin-top: 0;
  margin-right: 50%;
}
.p-top-people-list__picture {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  width: 210px;
}
.p-top-people-list__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}
.p-top-people-list__catch {
  font-weight: 700;
}
.p-top-people-list__job {
  position: absolute;
  bottom: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 210px;
  height: 32px;
  font-weight: 600;
  color: #fff;
  background: #ca9690;
}
.p-top-people-list__profile {
  margin: 0.5em;
}
.p-top-people-list__more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 40px;
  font-family: "Barlow Condensed", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  font-size: 1.12rem;
  letter-spacing: 0.08em;
  line-height: 1;
  color: #231815;
  background: #d0b0ac;
  border: 0;
  border-radius: 100vmax;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media only screen and (min-width: 835px) {
  .p-top-people-list__more:hover {
    color: #fff;
    background: #944d4b;
  }
}
.p-top-recruit {
  max-width: 1650px;
  background: #d4e2e3;
  margin-top: 110px;
  padding-bottom: 130px;
}
.p-top-recruit__heading {
  position: relative;
  top: -40px;
  width: 159px;
  margin-bottom: -40px;
}
.p-top-recruit-guide {
  max-width: 1040px;
  background: #fff;
  margin-top: 35px;
}
.p-top-recruit-guide:first-of-type {
  margin-top: 50px;
}
.p-top-recruit-guide__job {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%;
  height: 70px;
  font-size: 1.04rem;
  letter-spacing: 0.1em;
  line-height: 1.54;
  font-weight: 700;
  padding: 0 35px;
  cursor: pointer;
}
.p-top-recruit-guide__job::before, .p-top-recruit-guide__job::after {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 35px;
  display: block;
  width: 18px;
  height: 2px;
  background: #231815;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.p-top-recruit-guide__job::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.p-top-recruit-guide__job.is-open::after {
  -webkit-transform: none;
          transform: none;
}
.p-top-recruit-guide__content {
  display: none;
  font-weight: 500;
  padding: 0 35px 25px;
}
.p-top-recruit-guide__content dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0.75em 0;
  border-bottom: 1px solid rgba(35, 24, 21, 0.3);
}
.p-top-recruit-guide__content dl:not(:first-of-type) {
  margin-top: 1em;
}
.p-top-recruit-guide__content dt {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 150px;
}
.p-top-recruit-guide__content dt::before {
  content: "";
  position: absolute;
  bottom: calc(-0.75em - 1px);
  left: 0;
  background: #231815;
  width: 100%;
  height: 1px;
  z-index: 2;
}
.p-top-recruit-guide__content dd {
  width: 100%;
}
.p-top-recruit-guide__content span {
  display: block;
  line-height: 1.3;
  text-indent: -1.2em;
  padding-left: 1.2em;
  margin-top: 0.5em;
  text-align: left;
}
.p-top-recruit-guide__content span::first-letter {
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
}
.p-top-recruit-guide__content span + span {
  margin-top: 0;
}

@media only screen and (max-width: 834px) {
  .p-top-fv-links__heading {
    margin-top: calc(60 / 750 * 100vw);
  }
  .p-top-fv-links__heading img {
    display: block;
    width: calc(192 / 750 * 100vw);
    margin: 0 auto;
  }
  .p-top-fv-links-list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: calc(10 / 750 * 100vw);
    width: calc(400 / 750 * 100vw);
    margin: calc(25 / 750 * 100vw) auto 0;
  }
  .p-top-fv-links-list__item a {
    width: calc(188 / 750 * 100vw);
    height: calc(54 / 750 * 100vw);
    font-size: calc(20 / 750 * 130vw);
    letter-spacing: 0.2em;
    line-height: 1.4;
  }
  .p-top-message {
    margin-top: calc(66 / 750 * 100vw);
  }
  .p-top-message__back {
    height: calc(1334 / 750 * 100vw);
  }
  .p-top-message__back.is-open {
    height: 100vh;
  }
  .p-top-message__wrap {
    margin-top: calc(-1334 / 750 * 100vw);
    padding: calc(75 / 750 * 100vw) 0;
  }
  .p-top-message__wrap.is-open {
    margin-top: -100vh;
  }
  .p-top-message__heading {
    width: calc(216 / 750 * 100vw);
    margin-left: calc(100 / 750 * 100vw);
  }
  .p-top-message-profile__photo {
    position: absolute;
    width: calc(390 / 750 * 100vw);
    top: calc(-70 / 750 * 100vw);
    right: 0;
  }
  .p-top-message-profile__text {
    width: calc(192 / 750 * 100vw);
    margin: calc(40 / 750 * 100vw) auto 0 calc(180 / 750 * 100vw);
    z-index: 1;
  }
  .p-top-message-column {
    margin-top: calc(60 / 750 * 100vw);
    padding: calc(80 / 750 * 100vw) 0;
  }
  .p-top-message-column__heading {
    font-size: calc(28 / 750 * 130vw);
    letter-spacing: 0.075em;
    line-height: 1.46;
  }
  .p-top-message-column__body {
    max-height: calc(466 / 750 * 100vw);
    -webkit-line-clamp: 10;
    font-size: calc(22 / 750 * 130vw);
    letter-spacing: 0em;
    line-height: 1.91;
    margin-top: calc(30 / 750 * 100vw);
    padding: 0 calc(75 / 750 * 100vw);
  }
  .p-top-message-column__line {
    width: calc(33 / 750 * 100vw);
    height: calc(7 / 750 * 100vw);
    margin: 2.1em auto;
  }
  .p-top-message-column__photo {
    display: block;
    width: 100%;
    margin-bottom: 2.1em;
  }
  .p-top-message-column__sign {
    font-size: calc(20 / 750 * 130vw);
    letter-spacing: 0em;
    line-height: 1.2;
    margin-top: calc(50 / 750 * 100vw);
  }
  .p-top-message-column__sign ruby {
    margin-left: calc(5 / 750 * 100vw);
  }
  .p-top-message-column__sign ruby:first-of-type {
    margin-left: calc(30 / 750 * 100vw);
  }
  .p-top-message-column__sign rb {
    font-size: calc(26 / 750 * 130vw);
    letter-spacing: 0.075em;
    line-height: 1.81;
  }
  .p-top-message-column__sign rt {
    font-size: calc(14 / 750 * 130vw);
    letter-spacing: 0em;
    line-height: 2.14;
    margin-bottom: calc(2 / 750 * 100vw);
    margin-top: calc(15 / 750 * 100vw);
  }
  .p-top-message-column__button {
    width: calc(270 / 750 * 100vw);
    height: calc(80 / 750 * 100vw);
    margin: calc(50 / 750 * 100vw) auto 0;
  }
  .p-top-message-column__button span::before {
    font-size: calc(20 / 750 * 130vw);
    letter-spacing: 0.3em;
    line-height: 1;
  }
  .p-top-message-column__button span::after {
    width: calc(16 / 750 * 100vw);
    height: calc(8 / 750 * 100vw);
    margin: calc(5 / 750 * 100vw) auto calc(0 / 750 * 100vw);
  }
  .p-top-philofophy {
    margin-top: calc(60 / 750 * 100vw);
    padding: calc(90 / 750 * 100vw) 0;
  }
  .p-top-philofophy__heading {
    position: static;
    width: calc(342 / 750 * 100vw);
    margin-bottom: calc(0 / 750 * 100vw);
  }
  .p-top-philofophy__wrap {
    margin-top: calc(100 / 750 * 100vw);
  }
  .p-top-philofophy-lead {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0;
  }
  .p-top-philofophy-lead__jpn {
    gap: calc(20 / 750 * 100vw);
    font-size: calc(26 / 750 * 130vw);
    letter-spacing: 0.1em;
    line-height: 2;
  }
  .p-top-philofophy-lead__jpn span:nth-of-type(2) {
    margin-left: 0;
  }
  .p-top-philofophy-lead__jpn span:nth-of-type(3) {
    margin-left: 0;
  }
  .p-top-philofophy-lead__eng {
    position: static;
    font-size: calc(18 / 750 * 130vw);
    letter-spacing: 0.05em;
    line-height: 1.72;
    margin-top: calc(50 / 750 * 100vw);
  }
  .p-top-philofophy-content {
    margin-top: calc(80 / 750 * 100vw);
  }
  .p-top-philofophy-content__block {
    margin-top: calc(30 / 750 * 100vw);
  }
  .p-top-philofophy-content__inner img {
    height: calc(20 / 750 * 100vw);
  }
  .p-top-philofophy-content__inner p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: calc(500 / 750 * 100vw);
    height: auto;
    font-size: calc(18 / 750 * 130vw);
    letter-spacing: 0.05em;
    line-height: 1.72;
    text-align: justify;
    margin: calc(20 / 750 * 100vw) auto 0;
    padding: calc(20 / 750 * 100vw) calc(30 / 750 * 100vw);
  }
  .p-top-people {
    margin-top: calc(60 / 750 * 100vw);
    padding-bottom: calc(220 / 750 * 100vw);
  }
  .p-top-people::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: calc(50% - 574 / 750 * 100vw);
    display: block;
    width: calc(1148 / 750 * 100vw);
    height: calc(1148 / 750 * 100vw);
    background: #eee7e9;
    border-radius: 100vmax;
  }
  .p-top-people__heading {
    width: 100%;
  }
  .p-top-people__heading img {
    width: calc(146 / 750 * 100vw);
  }
  .p-top-people__back {
    top: calc(60 / 750 * 100vw);
    left: calc(50% - 574 / 750 * 100vw);
    width: calc(1148 / 750 * 100vw);
    height: calc(1148 / 750 * 100vw);
  }
  .p-top-people__back::after {
    content: "";
    position: absolute;
    bottom: -100vw;
    left: 0;
    display: block;
    width: calc(1148 / 750 * 100vw);
    height: calc(1148 / 750 * 100vw);
    background: #eee7e9;
  }
  .p-top-people__hero {
    width: calc(600 / 750 * 100vw);
    margin-top: calc(25 / 750 * 100vw);
    margin-left: auto;
    margin-right: auto;
  }
  .p-top-people-list {
    margin-top: calc(70 / 750 * 100vw);
  }
  .p-top-people-list__item {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(0 / 750 * 100vw);
    width: calc(255 / 750 * 100vw);
    margin-top: calc(120 / 750 * 100vw);
  }
  .p-top-people-list__item:first-of-type {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    width: 100%;
    margin-top: 0;
    margin-right: 0;
  }
  .p-top-people-list__item:first-of-type .p-top-people-list__picture {
    width: calc(275 / 750 * 100vw);
  }
  .p-top-people-list__item:first-of-type .p-top-people-list__catch {
    display: block;
    text-align: right;
    text-indent: 0;
    padding-left: 0;
    white-space: nowrap;
  }
  .p-top-people-list__item:first-of-type .p-top-people-list__job {
    top: 0;
    display: block;
    text-align: left;
    margin-top: calc(30 / 750 * 100vw);
    margin-left: calc(75 / 750 * 100vw);
    margin-bottom: 0;
  }
  .p-top-people-list__item:first-of-type .p-top-people-list__job::before {
    position: absolute;
    top: 50%;
    left: calc(-10 / 750 * 100vw);
    width: calc(100 / 750 * 100vw);
    height: calc(2 / 750 * 100vw);
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  .p-top-people-list__item:first-of-type .p-top-people-list__job::after {
    top: calc(50% - 3 / 750 * 100vw);
    left: calc(-110 / 750 * 100vw);
  }
  .p-top-people-list__item:first-of-type .people-list__profile {
    display: block;
    margin-left: calc(75 / 750 * 100vw);
    margin-bottom: calc(30 / 750 * 100vw);
  }
  .p-top-people-list__picture {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    display: block;
    width: calc(200 / 750 * 100vw);
    border-radius: 100vmax;
    overflow: hidden;
  }
  .p-top-people-list__catch {
    display: none;
    font-size: calc(22 / 750 * 130vw);
    letter-spacing: 0em;
    line-height: 1.45;
  }
  .p-top-people-list__job {
    position: relative;
    top: calc(-20 / 750 * 100vw);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    height: auto;
    font-size: calc(22 / 750 * 130vw);
    letter-spacing: 0em;
    line-height: 1.59;
    white-space: nowrap;
    text-align: center;
    color: #944d4b;
    background: none;
    margin-bottom: calc(-20 / 750 * 100vw);
  }
  .p-top-people-list__job::before {
    content: "";
    display: block;
    width: calc(2 / 750 * 100vw);
    height: calc(60 / 750 * 100vw);
    background: #944d4b;
  }
  .p-top-people-list__job::after {
    content: "";
    position: absolute;
    top: 0;
    left: calc(50% - 3 / 750 * 100vw);
    display: block;
    width: calc(6 / 750 * 100vw);
    height: calc(6 / 750 * 100vw);
    background: #944d4b;
    border-radius: 100vmax;
  }
  .p-top-people-list__profile {
    display: none;
    font-size: calc(20 / 750 * 130vw);
    letter-spacing: 0em;
    line-height: 1.3;
  }
  .p-top-people-list__more {
    width: calc(255 / 750 * 100vw);
    height: calc(52 / 750 * 100vw);
    font-size: calc(20 / 750 * 130vw);
    letter-spacing: 0.3em;
    line-height: 1;
  }
  .p-top-recruit {
    width: 100%;
    margin-top: calc(75 / 750 * 100vw);
    padding: calc(40 / 750 * 100vw) 0 calc(80 / 750 * 100vw);
  }
  .p-top-recruit__heading {
    top: calc(0 / 750 * 100vw);
    width: calc(160 / 750 * 100vw);
    margin-bottom: calc(0 / 750 * 100vw);
  }
  .p-top-recruit-guide {
    width: calc(496 / 750 * 100vw);
    margin-top: calc(35 / 750 * 100vw);
  }
  .p-top-recruit-guide:first-of-type {
    margin-top: calc(50 / 750 * 100vw);
  }
  .p-top-recruit-guide__job {
    height: calc(70 / 750 * 100vw);
    font-size: calc(20 / 750 * 130vw);
    letter-spacing: 0em;
    line-height: 1.3;
    padding: 0 calc(35 / 750 * 100vw);
  }
  .p-top-recruit-guide__job::before, .p-top-recruit-guide__job::after {
    top: calc(50% - 2 / 750 * 100vw);
    right: calc(35 / 750 * 100vw);
    width: calc(18 / 750 * 100vw);
    height: calc(2 / 750 * 100vw);
  }
  .p-top-recruit-guide__content {
    padding: 0 calc(35 / 750 * 100vw) calc(25 / 750 * 100vw);
  }
  .p-top-recruit-guide__content dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-top-recruit-guide__content dt {
    width: 100%;
  }
  .p-top-recruit-guide__content dt::before {
    display: none;
  }
  .p-top-recruit-guide__content dd {
    font-size: 0.9em;
    line-height: 1.35;
  }
  .p-top-recruit-guide__content span {
    font-size: 0.85em;
  }
}
/*----------------------------------------
	MAIN
-----------------------------------------*/
.p-brand {
  padding-top: 190px;
  -webkit-box-shadow: inset 0 16px 24px -16px rgba(0, 0, 0, 0.1);
          box-shadow: inset 0 16px 24px -16px rgba(0, 0, 0, 0.1);
}
.p-brand__heading img {
  display: block;
  width: 225px;
  margin: 0 auto;
}
.p-brand-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: -120px;
  margin-top: 145px;
}
.p-brand-block:nth-of-type(n+2) {
  margin-top: 110px;
}
.p-brand-block--left picture {
  margin-right: -120px;
}
.p-brand-block--right {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.p-brand-block--right picture {
  margin-left: -120px;
}
.p-brand-block__image {
  position: relative;
  display: block;
  width: 598px;
  z-index: 1;
}
.p-brand-block__info {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 763px;
  height: 585px;
  margin-top: 95px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url(../img/our-brand/brand_info_back.jpg);
  background-image: -webkit-image-set(url(../img/our-brand/brand_info_back.webp) type("image/webp"), url(../img/our-brand/brand_info_back.jpg) type("image/jpeg"));
  background-image: image-set(url(../img/our-brand/brand_info_back.webp) type("image/webp"), url(../img/our-brand/brand_info_back.jpg) type("image/jpeg"));
}
.p-brand-block__name {
  margin: 0 auto;
}
.p-brand-block__name--naru {
  width: 155px;
}
.p-brand-block__name--fabrique {
  width: 392px;
}
.p-brand-block__name--refrain {
  width: 250px;
}
.p-brand-block__line {
  width: 65px;
  height: 2px;
  border: none;
  background: #231815;
  margin: 50px auto;
}
.p-brand-block__link {
  width: 270px;
  height: 80px;
  font-size: 1.44rem;
  letter-spacing: 0.08em;
  line-height: 1.39;
  background: #fff;
}
.p-brand-block__sns {
  width: 42px;
  height: 42px;
  background: #fff;
  margin-top: 50px;
  -webkit-mask-image: url("../img/common/icon_instagram.svg");
          mask-image: url("../img/common/icon_instagram.svg");
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-brand-block__sns:hover {
  background: #231815;
}
.p-brand-block__number {
  position: absolute;
  bottom: 1em;
  font-size: 1.12rem;
  letter-spacing: 0em;
  line-height: 2.14;
  color: #fff;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.p-brand-block__number--left {
  left: 0;
}
.p-brand-block__number--right {
  right: 0;
}

@media only screen and (max-width: 834px) {
  .p-brand {
    padding-top: calc(250 / 750 * 100vw);
  }
  .p-brand__heading img {
    width: 110px;
  }
  .p-brand-block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: calc(35 / 750 * 100vw);
  }
  .p-brand-block:nth-of-type(n+2) {
    margin-top: calc(60 / 750 * 100vw);
  }
  .p-brand-block--left picture {
    margin-right: calc(0 / 750 * 100vw);
  }
  .p-brand-block--right picture {
    margin-left: calc(0 / 750 * 100vw);
  }
  .p-brand-block__image {
    width: 100%;
  }
  .p-brand-block__info {
    width: 100%;
    height: calc(490 / 750 * 100vw);
    margin-top: calc(0 / 750 * 100vw);
  }
  .p-brand-block__name {
    margin: 0 auto;
  }
  .p-brand-block__name--naru {
    width: calc(155 / 750 * 100vw);
  }
  .p-brand-block__name--fabrique {
    width: calc(392 / 750 * 100vw);
  }
  .p-brand-block__name--refrain {
    width: calc(250 / 750 * 100vw);
  }
  .p-brand-block__line {
    width: calc(65 / 750 * 100vw);
    height: calc(2 / 750 * 100vw);
    border: none;
    background: #231815;
    margin: calc(50 / 750 * 100vw) auto;
  }
  .p-brand-block__link {
    width: calc(270 / 750 * 100vw);
    height: calc(80 / 750 * 100vw);
    font-size: calc(32 / 750 * 130vw);
    letter-spacing: 0em;
    line-height: 1;
    background: #fff;
  }
  .p-brand-block__sns {
    width: calc(42 / 750 * 100vw);
    height: calc(42 / 750 * 100vw);
    background: #fff;
    margin-top: calc(50 / 750 * 100vw);
    -webkit-mask-image: url("../img/common/icon_instagram.svg");
            mask-image: url("../img/common/icon_instagram.svg");
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .p-brand-block__sns:hover {
    background: #231815;
  }
  .p-brand-block__number {
    position: absolute;
    bottom: 1em;
    font-size: calc(14 / 750 * 130vw);
    letter-spacing: 0em;
    line-height: 2.14;
    color: #fff;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  .p-brand-block__number--left {
    left: 0;
  }
  .p-brand-block__number--right {
    right: 0;
  }
}
/*----------------------------------------
	MAIN
-----------------------------------------*/
.p-benefit {
  padding: 150px 0 150px;
  background: #f1efef;
}
.p-benefit__heading {
  width: 130px;
}
.p-benefit__wrap {
  margin-top: 80px;
}
.p-benefit__wrap dl {
  background: #fff;
}
.p-benefit__wrap dl:nth-of-type(n+2) {
  margin-top: 50px;
}
.p-benefit__wrap dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  height: 64px;
  font-size: 1.04rem;
  letter-spacing: 0.1em;
  line-height: 1.54;
  font-weight: 700;
  padding: 0 250px;
  background: #e7e4e4;
}
.p-benefit__wrap dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 25px;
  padding: 20px 250px;
}
.p-benefit__wrap dd img {
  width: 85px;
  height: 80px;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center top;
     object-position: center top;
  margin-top: 10px;
}
.p-benefit__wrap ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 50px;
  margin-top: 50px;
}
.p-benefit__wrap li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 25px;
  width: calc(50% - 25px);
  height: 135px;
  font-size: 1.04rem;
  letter-spacing: 0.1em;
  line-height: 1.54;
  font-weight: 700;
  background: #e7e4e4;
  padding-left: 200px;
}
.p-benefit__wrap li img {
  width: 85px;
  height: 80px;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center top;
     object-position: center top;
}

@media only screen and (max-width: 834px) {
  .p-benefit {
    padding: calc(40 / 750 * 100vw) 0 calc(80 / 750 * 100vw);
  }
  .p-benefit__heading {
    width: calc(127.4 / 750 * 100vw);
  }
  .p-benefit__wrap {
    width: calc(600 / 750 * 100vw);
    margin-top: calc(35 / 750 * 100vw);
  }
  .p-benefit__wrap dl {
    font-size: calc(18 / 750 * 130vw);
    letter-spacing: 0.03em;
    line-height: 1.44;
  }
  .p-benefit__wrap dl:nth-of-type(n+2) {
    margin-top: calc(35 / 750 * 100vw);
  }
  .p-benefit__wrap dt {
    height: calc(64 / 750 * 100vw);
    font-size: calc(18 / 750 * 130vw);
    letter-spacing: 0.03em;
    line-height: 1.44;
    padding: 0 calc(20 / 750 * 100vw);
  }
  .p-benefit__wrap dd {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: calc(25 / 750 * 100vw);
    font-size: 0.9em;
    line-height: 1.35;
    padding: calc(20 / 750 * 100vw) calc(20 / 750 * 100vw);
  }
  .p-benefit__wrap dd img {
    width: calc(70 / 750 * 100vw);
    height: calc(70 / 750 * 100vw);
    margin-top: calc(0 / 750 * 100vw);
    -o-object-position: center center;
       object-position: center center;
  }
  .p-benefit__wrap ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: calc(25 / 750 * 100vw);
    margin-top: calc(25 / 750 * 100vw);
  }
  .p-benefit__wrap li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: calc(25 / 750 * 100vw);
    width: calc(50% - 12.5 / 750 * 100vw);
    height: calc(105 / 750 * 100vw);
    font-size: calc(18 / 750 * 130vw);
    letter-spacing: 0.03em;
    line-height: 1.44;
    padding-left: calc(20 / 750 * 100vw);
  }
  .p-benefit__wrap li img {
    width: calc(70 / 750 * 100vw);
    height: calc(70 / 750 * 100vw);
    -o-object-position: center center;
       object-position: center center;
  }
}