@charset "UTF-8";
/* Scss Document */
.flex_30 {
  width: 30%;
}

.flex_31 {
  width: 31%;
}

.flex_32 {
  width: 32%;
}

.flex_33 {
  width: 33%;
}

.flex_34 {
  width: 34%;
}

.flex_35 {
  width: 35%;
}

.flex_36 {
  width: 36%;
}

.flex_37 {
  width: 37%;
}

.flex_38 {
  width: 38%;
}

.flex_39 {
  width: 39%;
}

.flex_40 {
  width: 40%;
}

.flex_41 {
  width: 41%;
}

.flex_42 {
  width: 42%;
}

.flex_43 {
  width: 43%;
}

.flex_44 {
  width: 44%;
}

.flex_45 {
  width: 45%;
}

.flex_46 {
  width: 46%;
}

.flex_47 {
  width: 47%;
}

.flex_48 {
  width: 48%;
}

.flex_49 {
  width: 49%;
}

.flex_50 {
  width: 50%;
}

.flex_51 {
  width: 51%;
}

.flex_52 {
  width: 52%;
}

.flex_53 {
  width: 53%;
}

.flex_54 {
  width: 54%;
}

.flex_55 {
  width: 55%;
}

.flex_56 {
  width: 56%;
}

.flex_57 {
  width: 57%;
}

.flex_58 {
  width: 58%;
}

.flex_59 {
  width: 59%;
}

.flex_60 {
  width: 60%;
}

.flex_61 {
  width: 61%;
}

.flex_62 {
  width: 62%;
}

.flex_63 {
  width: 63%;
}

.flex_64 {
  width: 64%;
}

.flex_65 {
  width: 65%;
}

.flex_66 {
  width: 66%;
}

.flex_67 {
  width: 67%;
}

.flex_68 {
  width: 68%;
}

.flex_69 {
  width: 69%;
}

.flex_70 {
  width: 70%;
}

:root {
  --min-size: 100px;
  --clamp-vw: 18vw;
}

@media (max-width: 1024px) {
  :root {
    --min-size: 80px;
    --clamp-vw: 10vw;
  }
}
.padding100 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 100px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 100px);
}

.padding110 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 110px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 110px);
}

.padding120 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 120px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 120px);
}

.padding130 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 130px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 130px);
}

.padding140 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 140px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 140px);
}

.padding150 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 150px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 150px);
}

.padding160 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 160px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 160px);
}

.padding170 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 170px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 170px);
}

.padding180 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 180px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 180px);
}

.padding190 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 190px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 190px);
}

.padding200 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 200px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 200px);
}

.padding210 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 210px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 210px);
}

.padding220 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 220px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 220px);
}

.padding230 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 230px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 230px);
}

.padding240 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 240px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 240px);
}

.padding250 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 250px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 250px);
}

.padding260 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 260px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 260px);
}

.padding270 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 270px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 270px);
}

.padding280 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 280px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 280px);
}

.padding290 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 290px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 290px);
}

.padding300 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 300px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 300px);
}

.margin100 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 100px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 100px);
}

.margin110 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 110px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 110px);
}

.margin120 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 120px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 120px);
}

.margin130 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 130px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 130px);
}

.margin140 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 140px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 140px);
}

.margin150 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 150px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 150px);
}

.margin160 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 160px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 160px);
}

.margin170 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 170px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 170px);
}

.margin180 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 180px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 180px);
}

.margin190 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 190px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 190px);
}

.margin200 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 200px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 200px);
}

.margin210 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 210px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 210px);
}

.margin220 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 220px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 220px);
}

.margin230 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 230px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 230px);
}

.margin240 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 240px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 240px);
}

.margin250 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 250px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 250px);
}

.margin260 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 260px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 260px);
}

.margin270 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 270px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 270px);
}

.margin280 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 280px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 280px);
}

.margin290 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 290px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 290px);
}

.margin300 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 300px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 300px);
}

.pt-100 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 100px);
}

.pt-110 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 110px);
}

.pt-120 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 120px);
}

.pt-130 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 130px);
}

.pt-140 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 140px);
}

.pt-150 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 150px);
}

.pt-160 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 160px);
}

.pt-170 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 170px);
}

.pt-180 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 180px);
}

.pt-190 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 190px);
}

.pt-200 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 200px);
}

.pt-210 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 210px);
}

.pt-220 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 220px);
}

.pt-230 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 230px);
}

.pt-240 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 240px);
}

.pt-250 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 250px);
}

.pt-260 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 260px);
}

.pt-270 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 270px);
}

.pt-280 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 280px);
}

.pt-290 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 290px);
}

.pt-300 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 300px);
}

.pb-100 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 100px);
}

.pb-110 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 110px);
}

.pb-120 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 120px);
}

.pb-130 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 130px);
}

.pb-140 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 140px);
}

.pb-150 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 150px);
}

.pb-160 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 160px);
}

.pb-170 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 170px);
}

.pb-180 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 180px);
}

.pb-190 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 190px);
}

.pb-200 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 200px);
}

.pb-210 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 210px);
}

.pb-220 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 220px);
}

.pb-230 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 230px);
}

.pb-240 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 240px);
}

.pb-250 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 250px);
}

.pb-260 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 260px);
}

.pb-270 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 270px);
}

.pb-280 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 280px);
}

.pb-290 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 290px);
}

.pb-300 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 300px);
}

.mt-100 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 100px);
}

.mt-110 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 110px);
}

.mt-120 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 120px);
}

.mt-130 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 130px);
}

.mt-140 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 140px);
}

.mt-150 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 150px);
}

.mt-160 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 160px);
}

.mt-170 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 170px);
}

.mt-180 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 180px);
}

.mt-190 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 190px);
}

.mt-200 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 200px);
}

.mt-210 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 210px);
}

.mt-220 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 220px);
}

.mt-230 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 230px);
}

.mt-240 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 240px);
}

.mt-250 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 250px);
}

.mt-260 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 260px);
}

.mt-270 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 270px);
}

.mt-280 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 280px);
}

.mt-290 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 290px);
}

.mt-300 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 300px);
}

.mb-100 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 100px);
}

.mb-110 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 110px);
}

.mb-120 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 120px);
}

.mb-130 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 130px);
}

.mb-140 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 140px);
}

.mb-150 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 150px);
}

.mb-160 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 160px);
}

.mb-170 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 170px);
}

.mb-180 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 180px);
}

.mb-190 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 190px);
}

.mb-200 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 200px);
}

.mb-210 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 210px);
}

.mb-220 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 220px);
}

.mb-230 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 230px);
}

.mb-240 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 240px);
}

.mb-250 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 250px);
}

.mb-260 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 260px);
}

.mb-270 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 270px);
}

.mb-280 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 280px);
}

.mb-290 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 290px);
}

.mb-300 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 300px);
}

a,
a:hover,
a:focus,
a:active,
a:visited,
a:focus-visible {
  text-decoration: none;
}

/***ANIMATION*********/
.fvTitleAnimation {
  display: inline-block;
  filter: blur(25px);
  opacity: 0;
  transform: scale(1.3);
  animation: topTitleAnimation 0.5s ease 0.5s forwards;
}

.fvTitleAnimationDelay2 {
  animation-delay: 1.8s;
  transform: scale(1.1);
}

.fvTitleAnimationDelay3 {
  animation-delay: 3s;
  transform: scale(1.1);
}

@keyframes topTitleAnimation {
  to {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
  }
}
.fvTitleClip {
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
  animation: fvTitleClip 0.5s ease 4s forwards;
  transform: translateX(-20px);
}

@keyframes fvTitleClip {
  to {
    webkit-clip-path: inset(0);
    clip-path: inset(0);
    transform: translateX(0);
  }
}
.fvUnderAnimtion img {
  filter: blur(25px);
  opacity: 0;
  transform: scale(1.3);
  animation: fvUnderAnimtion 0.6s ease 4s forwards;
}

@keyframes fvUnderAnimtion {
  to {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
  }
}
.titleClipAnimation {
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
  transform: translateX(-20px);
}

.titleClipAnimationTop {
  -webkit-clip-path: inset(0 0 100% 0);
  clip-path: inset(0 0 100% 0);
  transform: translateX(-20px);
}

.delay06 {
  animation-delay: 0.6s !important;
}

.delay09 {
  animation-delay: 0.9s !important;
}

.delay12 {
  animation-delay: 1.2s !important;
}

@keyframes titleClipAnimation {
  to {
    webkit-clip-path: inset(0);
    clip-path: inset(0);
    transform: translateX(0);
  }
}
.fadeInUp {
  opacity: 0;
  transform: translateY(20px);
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.imgAnimationWrap {
  position: relative;
  overflow: hidden;
}

.imgAnimationBg {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  transform: scale(0, 1);
  transform-origin: left top;
  z-index: 500;
}

.imgAnimation {
  display: block;
  opacity: 0;
  transform: translateX(-30px);
}

@keyframes imgAnimationBg {
  0% {
    transform: scale(0, 1);
    transform-origin: left top;
  }
  40% {
    transform: scale(1, 1);
    transform-origin: left top;
  }
  60% {
    transform: scale(1, 1);
    transform-origin: right top;
  }
  100% {
    transform: scale(0, 1);
    transform-origin: right top;
  }
}
@keyframes imgAnimationBg {
  0% {
    transform: scale(0, 1);
    transform-origin: left top;
  }
  40% {
    transform: scale(1, 1);
    transform-origin: left top;
  }
  60% {
    transform: scale(1, 1);
    transform-origin: right top;
  }
  100% {
    transform: scale(0, 1);
    transform-origin: right top;
  }
}
@keyframes imgAnimation {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.scaleTitle {
  filter: blur(35px);
  transform: scale(1.2);
  opacity: 0;
}

@keyframes scaleTitle {
  to {
    filter: blur(0);
    transform: scale(1);
    opacity: 1;
  }
}
/***ANIMATION発火*********************/
.Target.targetActive .titleClipAnimation {
  animation: titleClipAnimation 0.5s ease 0.3s forwards;
}
.Target.targetActive .titleClipAnimationTop {
  animation: titleClipAnimation 0.5s ease 0.3s forwards;
}
.Target.targetActive .delay06 {
  animation-delay: 0.6s !important;
}
.Target.targetActive .delay09 {
  animation-delay: 0.9s !important;
}
.Target.targetActive .delay12 {
  animation-delay: 1.2s !important;
}
.Target.targetActive .fadeInUp {
  animation: fadeInUp 0.5s ease 0.3s forwards;
}
.Target.targetActive .imgAnimationBg {
  animation: imgAnimationBg 0.8s ease 0.3s forwards;
}
.Target.targetActive .imgAnimation {
  animation: imgAnimation 0.5s ease 0.7s forwards;
}
.Target.targetActive .scaleTitle {
  animation: scaleTitle 0.5s ease 0.3s forwards;
}
.Target.targetActive.titleClipAnimation {
  animation: titleClipAnimation 0.5s ease 0.3s forwards;
}
.Target.targetActive.titleClipAnimationTop {
  animation: titleClipAnimation 0.5s ease 0.3s forwards;
}
.Target.targetActive.delay06 {
  animation-delay: 0.6s !important;
}
.Target.targetActive.delay09 {
  animation-delay: 0.9s !important;
}
.Target.targetActive.delay12 {
  animation-delay: 1.2s !important;
}
.Target.targetActive.fadeInUp {
  animation: fadeInUp 0.5s ease 0.3s forwards;
}
.Target.targetActive.imgAnimationBg {
  animation: imgAnimationBg 0.8s ease 0.3s forwards;
}
.Target.targetActive.imgAnimation {
  animation: imgAnimation 0.5s ease 0.7s forwards;
}
.Target.targetActive.scaleTitle {
  animation: scaleTitle 0.5s ease 0.3s forwards;
}

/************************/
.body_border {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding-left: 25%;
  opacity: 0.7;
}
.body_border span {
  border-left: 1px solid #eeeeee;
  width: 1px;
  height: 100%;
}

/************************/
.header {
  padding: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 30px;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999;
}

.h_entry a {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #000;
  color: #FFF;
  border-radius: 100px;
  width: 230px;
  height: 80px;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: 0.3s ease;
}
.h_entry a:hover {
  background-color: #d21621;
  color: #FFF;
}

/**********************/
.top_fv_bg {
  background: url("../images/fv_bg.webp") 50% bottom/cover no-repeat;
  height: clamp(700px, 80vw, 1080px);
  position: relative;
  overflow: hidden;
  z-index: 600;
}

.top_fv_title {
  position: absolute;
  top: calc(50% - 50px);
  left: 50%;
  transform: translate(-50%, -50%);
  width: 97%;
  max-width: 1760px;
}

.top_title_ja {
  font-size: clamp(22px, 4vw, 48px);
  letter-spacing: 0.04em;
  line-height: 1.8em;
  font-style: italic;
}
.top_title_ja > span {
  display: inline-block;
}

.fv_large {
  font-size: clamp(50px, 8.5vw, 150px);
  font-weight: 900;
  color: #cf1621;
}

.top_title_eng {
  white-space: nowrap;
  font-size: clamp(150px, 22vw, 320px);
  letter-spacing: -0.02em;
  line-height: 0.8em;
  font-weight: 600;
  font-style: italic;
  margin-top: 40px;
  width: max-content;
}

.fv_eng_img {
  margin-top: 20px;
}
.fv_eng_img img {
  max-width: 100%;
  height: auto;
}

.fv_under_absolute {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}
.fv_under_absolute img {
  width: 100%;
  height: auto;
}

/****************************/
.sec01_eng_absolute {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #e5e5e5;
  opacity: 0.4;
  writing-mode: vertical-rl;
  line-height: 1em;
}

.eng_font_size {
  font-family: "Poppins", sans-serif;
  font-size: clamp(100px, 16.5vw, 260px);
  letter-spacing: 0.02em;
  white-space: nowrap;
  text-box: trim-both cap alphabetic;
  font-weight: 200;
}

.sec01_flex {
  display: flex;
  justify-content: space-between;
  gap: 30px 50px;
}

.sec01_left {
  width: max-content;
  flex-shrink: 0;
}

.sec01_title {
  position: sticky;
  top: 40px;
  font-size: clamp(60px, 10.5vw, 140px);
  letter-spacing: 0.06em;
  line-height: 1.2em;
  font-weight: 600;
  text-box: trim-both cap alphabetic;
}
.sec01_title .small {
  font-size: clamp(34px, 7.5vw, 90px);
}

.red_d21621 {
  color: #d21621;
}

.sec01_right {
  flex-grow: 2;
  max-width: max-content;
  display: flex;
  flex-direction: column;
  gap: 75px;
}
.sec01_right p {
  font-size: clamp(20px, 2.5vw, 30px);
  font-weight: bold;
  line-height: 2em;
}

/***********************/
.sec02_scroll_img {
  white-space: nowrap;
  width: max-content;
  animation: sec02ScrollImg 80s linear infinite;
  display: flex;
}

@keyframes sec02ScrollImg {
  to {
    transform: translateX(-50%);
  }
}
/***********************/
.sec03_bg {
  position: relative;
  background: url("../images/top_bg1.webp") top right/1920px 745px no-repeat, url("../images/top_bg2.webp") bottom left/1920px 1253px no-repeat;
  background-color: #1b1b1b;
}

.bg_1b1b1b {
  background-color: #1b1b1b;
}

.sec03_title {
  font-size: clamp(40px, 9vw, 95px);
  letter-spacing: 0.06em;
  font-weight: 800;
  line-height: 1.6em;
  text-box-trim: trim-both;
}
.sec03_title .titleClipAnimation {
  display: block;
  animation-duration: 0.5s;
}

.sec03_title_border {
  border: 1px solid #FFF;
  display: inline-block;
  border: 2px solid #FFF;
  padding: 0 20px 8px;
  line-height: 1.2em;
  margin-right: 35px;
  color: #d21621;
}

.sec03_sub_title {
  background-color: #FFF;
  font-size: clamp(28px, 4.2vw, 48px);
  font-weight: bold;
  padding: 0 25px 5px;
  line-height: 1.3em;
  color: #000;
  max-width: max-content;
}

/***/
.sec03_eng_absolute {
  position: absolute;
  right: 0;
  top: 0;
  writing-mode: vertical-rl;
  color: #e5e5e5;
  opacity: 0.1;
}

.sec03_flex_wrap {
  display: flex;
  flex-direction: column;
  gap: 190px;
}
.sec03_flex_wrap > div:nth-child(odd) .sec03_right {
  order: 2;
}

.sec03_flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 30px 50px;
}

.sec03_right {
  max-width: max-content;
  width: 49%;
}
.sec03_right img {
  width: 100%;
  height: auto;
  border-radius: 7px;
}

.sec03_left {
  width: 51%;
  max-width: 780px;
}
.sec03_left .title_45 {
  margin-top: -50px;
  position: relative;
  z-index: 500;
}
.sec03_left .title_75 {
  margin-top: 25px;
  margin-bottom: 50px;
}

.sec03_num {
  font-size: clamp(130px, 20.5vw, 220px);
  color: rgba(255, 255, 255, 0);
  -webkit-text-stroke: 2px #FFF;
  text-stroke: 2px #FFF;
  letter-spacing: 0.02em;
  opacity: 0.5;
  width: max-content;
  line-height: 0.8em;
  margin-left: -15px;
}

.title_45 {
  font-size: clamp(24px, 3.8vw, 45px);
}

.title_75 {
  font-size: clamp(44px, 6.8vw, 75px);
  letter-spacing: 0.05em;
  line-height: 1em;
  font-weight: 700;
}

.text_20 {
  font-size: 20px;
  line-height: 2.4em;
  font-weight: bold;
}

.sec03_small {
  color: #FFF;
  font-size: clamp(24px, 3.8vw, 45px);
}

/**************************************/
.sec04_bg {
  background: url("../images/top4.webp") 50% bottom/cover no-repeat;
  height: 1550px;
}

.sec04_title {
  font-size: clamp(40px, 7.5vw, 80px);
  letter-spacing: 0.06em;
  font-weight: bold;
}
.sec04_title span {
  display: inline-block;
  margin-bottom: 5px;
}

.sec04_large {
  font-size: clamp(60px, 9.5vw, 105px);
  color: #d21621;
  margin-top: 15px;
}

/**************************************/
.sec06_eng {
  color: #e5e5e5;
  margin-left: -20px;
  opacity: 0.7;
  padding: 5px 0;
}

.title_60 {
  font-size: clamp(30px, 5.3vw, 60px);
  font-weight: bold;
  letter-spacing: 0.02em;
}

.title_mt_minus {
  position: relative;
  z-index: 500;
  margin-top: -50px;
}

/**ホバー時**/
.interview_card_link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.interview_img_zoom {
  transform-origin: center top;
  transition: transform 300ms ease;
}

@media (hover: hover) {
  .interview_card_link:hover .interview_img_zoom {
    transform: scale(105%);
  }
}
.interview_card_link:focus-visible .interview_img_zoom {
  transform: scale(105%);
}

/**slider**/
.top_slider {
  width: calc(100% + 550px);
  position: static !important;
  opacity: 0;
  animation: sliderStart 0.3s ease 0.3s forwards;
}
.top_slider .slick-track {
  display: flex;
}
.top_slider .slick-track li {
  position: relative;
  z-index: 500;
  margin-right: 60px;
}
.top_slider .img100 {
  overflow: hidden;
  border-radius: 15px;
}
.top_slider .img100 img {
  transition: 0.3s ease;
}
.top_slider .img100 a:hover img {
  transform: scale(1.05);
}

@keyframes sliderStart {
  to {
    opacity: 1;
  }
}
/*********/
.slider_title {
  color: #FFF;
  font-size: clamp(40px, 6.5vw, 95px);
  position: absolute;
  top: calc(50% + 10px);
  transform: translateY(-50%);
  white-space: nowrap;
  left: 30px;
  font-weight: bold;
  writing-mode: vertical-rl;
  text-box: trim-both cap alphabetic;
  z-index: 500;
}

.slider_num {
  color: #d21621;
  font-size: clamp(40px, 7.5vw, 105px);
  letter-spacing: 0.02em;
  position: absolute;
  bottom: -20px;
  right: 0;
  font-weight: 200;
  text-box: trim-both cap alphabetic;
  z-index: 500;
}
.slider_num .small {
  font-size: clamp(30px, 6vw, 80px);
}

.slider_name_wrap {
  padding: 30px 20px 0;
}

.slider_start {
  width: max-content;
  border: 1px solid #000;
  border-radius: 50px;
  font-size: clamp(16px, 1.5vw, 18px);
  padding: 0 15px 1px;
}

.slider_name {
  font-size: clamp(24px, 3.5vw, 40px);
  margin: 13px 0 5px;
}

.slider_name_eng {
  font-size: clamp(17px, 1.7vw, 22px);
  color: #c9c7c7;
  font-weight: 400;
  letter-spacing: 0.02em;
}

/*************************/
.sec07_bg {
  background: url("../images/top_bg3.webp") right bottom/1920px 1079px no-repeat;
  background-color: #d21621;
}

.sec07_eng {
  color: #e5e5e5;
  opacity: 0.4;
  margin-left: -20px;
}

.sec07_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 50px;
  row-gap: 50px;
  text-align: center;
}

.fadeInUpList > .fadeInUp:nth-child(2) {
  animation-delay: 0.4s;
}
.fadeInUpList > .fadeInUp:nth-child(3) {
  animation-delay: 0.5s;
}
.fadeInUpList > .fadeInUp:nth-child(4) {
  animation-delay: 0.6s;
}
.fadeInUpList > .fadeInUp:nth-child(5) {
  animation-delay: 0.7s;
}
.fadeInUpList > .fadeInUp:nth-child(6) {
  animation-delay: 0.8s;
}
.fadeInUpList > .fadeInUp:nth-child(7) {
  animation-delay: 0.9s;
}
.fadeInUpList > .fadeInUp:nth-child(8) {
  animation-delay: 1s;
}
.fadeInUpList > .fadeInUp:nth-child(9) {
  animation-delay: 1.1s;
}
.fadeInUpList > .fadeInUp:nth-child(10) {
  animation-delay: 1.2s;
}
.fadeInUpList > .fadeInUp:nth-child(11) {
  animation-delay: 1.3s;
}
.fadeInUpList > .fadeInUp:nth-child(12) {
  animation-delay: 1.4s;
}
.fadeInUpList > .fadeInUp:nth-child(13) {
  animation-delay: 1.5s;
}
.fadeInUpList > .fadeInUp:nth-child(14) {
  animation-delay: 1.6s;
}
.fadeInUpList > .fadeInUp:nth-child(15) {
  animation-delay: 1.7s;
}

.sec07_card {
  background-color: #FFF;
  border-radius: 5px;
  padding: 40px 15px 50px;
}

.sec07_title {
  font-size: clamp(20px, 2.5vw, 30px);
  font-weight: 500;
  margin-top: 15px;
}

.sec07_benefit_grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 75px;
  row-gap: 100px;
}

.sec07_benefit_card {
  color: #FFF;
}

.sec07_benefit_photo {
  overflow: hidden;
  border-radius: 5px;
}
.sec07_benefit_photo img {
  width: 100%;
  height: auto;
}

.sec07_benefit_heading {
  display: flex;
  align-items: center;
  gap: 25px;
  margin-top: 40px;
}

.sec07_benefit_icon {
  width: 90px;
  flex-shrink: 0;
}
.sec07_benefit_icon img {
  width: 100%;
  height: auto;
}

.sec07_benefit_title {
  font-size: clamp(26px, 3vw, 44px);
  font-weight: 500;
}

.sec07_benefit_text {
  margin-top: 40px;
}
.sec07_benefit_text p {
  font-size: 20px;
  font-weight: bold;
}

/*************************/
.w1280_auto {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.top_job_table {
  width: 100%;
}

.top_job_row {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
}

.top_job_term {
  padding: 34px 25px;
  border-top: 5px solid #d21621;
}
.top_job_term p {
  font-size: 20px;
  font-weight: bold;
}

.top_job_value {
  padding: 34px 25px;
  border-top: 5px solid #ededed;
}
.top_job_value p {
  font-size: 20px;
  font-weight: 500;
}

.top_job_row_final .top_job_term {
  border-bottom: 5px solid #d21621;
}
.top_job_row_final .top_job_value {
  border-bottom: 5px solid #ededed;
}

/***********************************/
.bg_f6f6f6 {
  background-color: #f6f6f6;
}

.sec08_flow {
  display: flex;
  flex-direction: column;
  gap: 90px;
}
.sec08_flow > div:nth-child(even) .sec08_num {
  background-color: #a11921;
}
.sec08_flow > div:after {
  content: "";
  background: url("../images/top21.webp") 50% 0/cover no-repeat;
  width: 56px;
  height: 27px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(100% + 35px);
}
.sec08_flow > div:last-child:after {
  display: none;
}

.sec08_inner {
  display: flex;
  justify-content: space-between;
  position: relative;
}

.sec08_num {
  background-color: #d21621;
  color: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 50px;
  flex-shrink: 0;
  width: 140px;
  min-height: 140px;
  font-weight: 200;
}

.sec08_right_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-grow: 2;
  background-color: #FFF;
  padding: 20px 0;
}

.sec08_title {
  font-size: clamp(20px, 2.5vw, 30px);
  letter-spacing: 0.02em;
  width: 23%;
  min-width: 340px;
  white-space: nowrap;
  padding: 20px 50px 20px 60px;
}

.sec08_text {
  flex-grow: 2;
}
.sec08_text p {
  padding: 0 50px;
  font-size: clamp(18px, 1.5vw, 20px);
  font-weight: bold;
  border-left: 1px solid #aaaaaa;
  line-height: 1.8em;
}

/*****************************/
.sec09_bg {
  background: url("../images/top22.webp") 50% 0/cover no-repeat;
  padding: 100px 0 165px;
  position: relative;
  overflow: hidden;
}

.sec09_bg + .footer_bg {
  margin-top: -1px;
}

.sec09_title1 {
  letter-spacing: 0.04em;
  font-weight: bold;
  line-height: 1em;
  font-size: clamp(30px, 7vw, 90px);
  white-space: nowrap;
}

.sec09_title2 {
  text-align: right;
  margin-top: 2%;
  margin-left: auto;
  font-style: italic;
  font-size: clamp(80px, 15vw, 320px);
  color: #FFF;
  letter-spacing: -0.02em;
  white-space: nowrap;
  text-box: trim-both cap alphabetic;
  font-weight: 600;
}

.sec09TitleAnimation {
  display: inline-block;
  filter: blur(25px);
  opacity: 0;
  transform: scale(1.3);
}

.Target.targetActive .sec09TitleAnimation {
  animation: sec09TitleAnimation 0.5s ease 0.3s forwards;
}
.Target.targetActive .sec09TitleAnimationDelay2 {
  animation: sec09TitleAnimation 0.5s ease 1s forwards;
}

@keyframes sec09TitleAnimation {
  to {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
  }
}
/****/
.sec09_flex {
  padding-top: 340px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 40px;
}

.sec09_left {
  flex-grow: 2;
  color: #FFF;
}

.text_25 {
  font-size: clamp(20px, 2vw, 25px);
  line-height: 2.2em;
}

.sec09_entry_btn {
  max-width: 600px;
  width: 40%;
}
.sec09_entry_btn a {
  background-color: #d21621;
  color: #FFF;
  border-radius: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 160px;
  width: 100%;
  font-size: clamp(26px, 3.5vw, 40px);
  position: relative;
  transition: 0.3s ease;
}
.sec09_entry_btn .arrow {
  background: url("../images/arrow_r.webp") 50% 50%/100% 100% no-repeat;
  width: 27px;
  height: 29px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 13%;
  transition: 0.3s ease;
}
.sec09_entry_btn a:hover {
  background-color: #FFF;
  color: #d21621;
}
.sec09_entry_btn a:hover .arrow {
  background-image: url("../images/arrow_r-70.webp");
}

.sec09_loop_text {
  position: absolute;
  bottom: 0;
  left: 0;
  white-space: nowrap;
  width: max-content;
  display: flex;
  column-gap: 60px;
  animation: loopAnimation 40s linear infinite;
}
.sec09_loop_text p {
  font-size: clamp(150px, 24.5vw, 260px);
  letter-spacing: 0.02em;
  color: #e5e5e5;
  opacity: 0.2;
  text-box: trim-both cap alphabetic;
  line-height: 1em;
  font-weight: 200;
  white-space: nowrap;
}

@keyframes loopAnimation {
  to {
    transform: translateX(-50%);
  }
}
/********************************/
.footer_bg {
  background: url("../images/footer_bg.webp") 50% 0/cover no-repeat;
  padding: 130px 0 70px;
  color: #FFF;
  position: relative;
  z-index: 500;
}

#pagetop {
  position: absolute;
  right: 0;
  width: 80px;
  bottom: 0;
  padding-bottom: 70px;
  border-left: 1px solid #FFF;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.f_flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
}

.f_left {
  width: max-content;
  flex-shrink: 0;
}

.f_add {
  font-size: 18px;
  margin-top: 30px;
  line-height: 1.8em;
}

.f_btn {
  margin-top: 60px;
}
.f_btn a {
  display: flex;
  align-items: center;
  background-color: #d21621;
  color: #FFF;
  border-radius: 4px;
  height: 75px;
  width: 370px;
  position: relative;
  font-size: 18px;
  padding-left: 35px;
}
.f_btn .arrow {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
}

.f_right {
  flex-grow: 2;
  max-width: max-content;
  margin-right: 20px;
}

.f_nav {
  max-width: 640px;
  gap: 30px 20px;
  display: flex;
  justify-content: space-between;
}
.f_nav a {
  color: #FFF;
  font-size: 20px;
  transition: 0.3s ease;
}
.f_nav a:hover {
  color: #d21621;
}
.f_nav ul {
  display: flex;
  flex-direction: column;
  gap: 35px;
}

.copyright {
  font-size: 18px;
}

/********************************************************

	インタビュー

********************************************************/
/************************/
.interview_header {
  background-color: #fbfafa;
}
.interview_header #logo img {
  filter: grayscale(100%) brightness(0);
}
.interview_header .h_nav a {
  color: #000;
}

/************************/
.interview_fv {
  height: 600px;
  margin-top: 130px;
  position: relative;
  overflow: hidden;
  background-color: #fbfafa;
}

.interview_fv_inner {
  height: 100%;
  position: relative;
  padding-top: 188px;
}

.interview_fv_bg {
  color: #e5e5e5;
  opacity: 70%;
  font-size: clamp(130px, 14vw, 260px);
  font-weight: 200;
  line-height: 100%;
  letter-spacing: 5px;
  line-height: 1em;
  text-box: trim-both cap alphabetic;
}

.interview_fv_title {
  position: relative;
  z-index: 2;
  padding-left: 20px;
  font-size: clamp(36px, 3vw, 60px);
  font-weight: bold;
  line-height: 150%;
  letter-spacing: 1px;
  margin-top: -60px;
}

.interview_fv_num {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  margin-left: 18px;
  margin-top: -4px;
  color: #d21621;
  line-height: 100%;
  letter-spacing: 2px;
  margin-top: 20px;
}
.interview_fv_num p {
  text-box: trim-both cap alphabetic;
}

.interview_fv_hash {
  font-weight: 100;
  font-size: 80px;
}

.interview_fv_number {
  font-weight: 100;
  font-size: 105px;
}

/************************/
.interview_profile {
  position: relative;
}

.interview_after_bg {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 720px;
}
.interview_after_bg:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  height: calc(100% - 280px);
  width: calc(100% - 150px);
  background: url("../images/interview_bg.webp") 50% 50%/cover no-repeat;
  clip-path: polygon(0 0, 150px 0, 150px calc(100% - 116px), 100% calc(100% - 116px), 100% 100%, 0 100%);
}

.interview_profile_body {
  position: relative;
  z-index: 2;
  display: flex;
  align-self: stretch;
  align-items: flex-end;
  flex-grow: 2;
  min-width: 0;
  padding-bottom: 116px;
}
.interview_profile_body:before {
  content: "";
  position: absolute;
  left: 0;
  top: 132px;
  right: 0;
  bottom: 116px;
  z-index: 1;
  background: linear-gradient(221deg, rgba(185, 185, 185, 0) 11%, #b9b9b9 40%, #979797 70%);
}

.interview_department {
  position: relative;
  z-index: 4;
  display: flex;
  flex: 0 0 150px;
  align-items: center;
  justify-content: center;
  min-height: 542px;
  margin-right: -1px;
  padding-top: 26px;
  padding-bottom: 26px;
  color: #FFF;
}
.interview_department p {
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: clamp(60px, 5vw, 95px);
  font-weight: bold;
  line-height: 100%;
  letter-spacing: 4px;
}

.interview_profile_text {
  position: absolute;
  left: calc(150px + 5%);
  top: 204px;
  z-index: 5;
  text-align: left;
  width: calc(100% - (150px + 10%));
}

.interview_profile_flex {
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
}

.interview_join {
  display: inline-block;
  padding: 1px 16px 2px;
  border: 1px solid #000;
  border-radius: 50px;
  font-size: 18px;
  font-weight: 500;
  line-height: 27px;
  letter-spacing: 1px;
}

.interview_name_block {
  margin-top: 14px;
}

.interview_name {
  font-size: 40px;
  font-weight: 500;
  line-height: 60px;
  letter-spacing: 2px;
}

.interview_name_en {
  color: #FFF;
  font-size: 22px;
  font-weight: 400;
  line-height: 33px;
  letter-spacing: 0;
}

.interview_profile_copy {
  margin-top: 12px;
  color: #FFF;
}

.interview_profile_num {
  position: relative;
  margin-top: 52px;
  color: transparent;
  font-size: 100px;
  font-weight: 500;
  line-height: 100px;
  letter-spacing: 4px;
  -webkit-text-stroke: 1px #FFF;
  text-stroke: 1px #FFF;
}

.interview_profile_title {
  margin-top: 0;
  font-size: clamp(38px, 3vw, 60px);
  font-weight: bold;
  letter-spacing: 5px;
}

.interview_profile_img {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 70%;
  text-align: center;
  margin-right: 0;
  margin-left: auto;
  line-height: 0;
}
.interview_profile_img img {
  width: 100%;
  height: 100%;
  max-width: max-content;
  object-fit: contain;
  object-position: left bottom;
}

/************************/
.interview_qa_sec {
  padding-bottom: 180px;
}

.interview_qa_item {
  display: flex;
  align-items: center;
  gap: 80px;
}

.interview_qa_item_reverse .interview_qa_img {
  order: 2;
}
.interview_qa_item_reverse .interview_qa_content {
  order: 1;
}

.interview_qa_img {
  width: 39%;
  max-width: 620px;
  height: 562px;
  flex-shrink: 0;
  overflow: hidden;
}
.interview_qa_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.interview_qa_content {
  flex-grow: 2;
  min-width: 0;
}

.interview_qa_line {
  width: 100%;
  height: 1px;
  margin-top: 95px;
  margin-bottom: 95px;
  background-color: #c9c7c7;
}

.interview_qa_split {
  display: flex;
  align-items: flex-start;
  gap: 80px;
}

.interview_qa_split .interview_qa_content {
  width: calc((100% - 80px) / 2);
  flex-grow: 0;
}

.interview_question {
  display: flex;
  align-items: center;
  gap: 32px;
}

.interview_q_mark {
  width: 111px;
  flex-shrink: 0;
  color: transparent;
  font-size: clamp(90px, 7vw, 140px);
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0;
  -webkit-text-stroke: 2px #d21621;
  text-stroke: 2px #d21621;
}

.interview_q_title {
  font-size: clamp(30px, 2vw, 45px);
  font-weight: bold;
  line-height: 150%;
  letter-spacing: 2px;
}

.interview_answer {
  margin-top: 32px;
}
.interview_answer p {
  font-size: 20px;
  font-weight: bold;
  line-height: 240%;
  letter-spacing: 1px;
}
.interview_answer b {
  color: #d21621;
  font-weight: bold;
}

/********************************************************

	エントリーフォーム

********************************************************/
.ct01_intro {
  --ct01-em: 1em;
}

.ct01_tel_group {
  --ct01-em: 1em;
}

.ct01_form_group {
  --ct01-em: 1em;
}

.ct01_intro {
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
  padding-bottom: 18px;
  text-align: center;
}

.ct01_intro_text {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.7;
}

.ct01_heading {
  text-align: center;
}

.ct01_heading_text {
  font-size: clamp(24px, 2vw, 30px);
  font-weight: bold;
  letter-spacing: 0.02em;
}

.ct01_heading_border {
  width: 60px;
  height: 4px;
  margin: 30px auto 0;
  background-color: #d21621;
}

.ct01_tel {
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
  padding: 48px 30px 50px;
  border-top: 8px solid #d21621;
  border-radius: 10px;
  background-color: #000;
  color: #FFF;
  text-align: center;
}

.ct01_tel_label {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.02em;
}

.ct01_tel_number {
  font-size: 64px;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.ct01_tel_time {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.02em;
}

.ct01_row {
  display: flex;
  align-items: stretch;
  gap: 30px;
  min-height: 139px;
  border-bottom: 1px solid #aaa;
}

.ct01_row_first {
  border-top: 1px solid #aaa;
}

.ct01_row_short {
  min-height: 107px;
}

.ct01_label {
  display: flex;
  align-items: center;
  gap: 15px;
  width: 32%;
  max-width: 410px;
  padding: 30px 35px;
  flex-shrink: 0;
  background-color: #f5f5f5;
}

.ct01_label_text {
  font-size: 19px;
  font-weight: bold;
  letter-spacing: 0.02em;
}

.ct01_required {
  width: 52px;
  padding: 5px 10px;
  flex-shrink: 0;
  border-radius: 3px;
  background-color: #d21621;
  color: #FFF;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-align: center;
}

.ct01_control {
  display: flex;
  align-items: center;
  padding: 30px 30px 30px 0;
  flex-grow: 2;
}

.ct01_field {
  width: 100%;
}
.ct01_field label {
  display: block;
  width: 100%;
}

.ct01_field input {
  display: block;
  width: 100%;
  height: 78px;
  padding: 0 20px;
  border: 1px solid #ccc;
  border-radius: 5px;
  background-color: #f7f7f7;
  font-size: 18px;
  letter-spacing: calc(var(--ct01-em) / 20);
}

.ct01_textarea_field textarea {
  display: block;
  width: 100%;
  height: 430px;
  padding: 20px;
  border: 1px solid #ccc;
  border-radius: 5px;
  background-color: #f7f7f7;
  font-size: 18px;
  letter-spacing: calc(var(--ct01-em) / 20);
  resize: vertical;
}

.ct01_row_textarea .ct01_control {
  padding-top: 31px;
  padding-bottom: 32px;
}

.ct01_radio_group {
  display: flex;
  align-items: center;
  gap: 40px;
  width: 100%;
}

.ct01_radio {
  width: auto;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: calc(var(--ct01-em) / 20);
  white-space: nowrap;
}
.ct01_radio label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}
.ct01_radio input {
  width: 22px;
  height: 22px;
  margin: 0;
  accent-color: #d21621;
}

.ct01_consent {
  padding: 29px 20px 30px;
  background-color: #f5f5f5;
  text-align: center;
}

.ct01_consent_text {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: calc(var(--ct01-em) / 20);
}
.ct01_consent_text label {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  cursor: pointer;
}
.ct01_consent_text input {
  width: 22px;
  height: 22px;
  margin: 0;
  accent-color: #d21621;
}
.ct01_consent_text a {
  color: #d21621;
  text-decoration: underline;
}

.ct01_submit_wrap {
  text-align: center;
}

.ct01_submit {
  position: relative;
  width: 100%;
  max-width: 500px;
  height: 112px;
  border: 0;
  border-radius: 5px;
  background-color: #000;
  color: #FFF;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: 300ms ease;
}
.ct01_submit:hover {
  background-color: #d21621;
}

.ct01_submit span {
  position: absolute;
  top: 50%;
  right: 38px;
  width: 13px;
  transform: translateY(-50%);
}

.ct01_recaptcha {
  margin-top: 44px;
  padding: 3px 0;
  color: #8e8e8e;
  font-size: 10px;
  text-align: center;
}

.ct01_recaptcha a {
  color: #3561c8;
  text-decoration: none;
}

/* PC用
------------------------------------------------------------*/
@media only screen and (max-width: 1024px) {
  /**********************/
  .top_fv_bg {
    height: 800px;
  }
  .top_fv_title {
    top: calc(50% - 20px);
  }
  /****************************/
  .sec01_flex {
    flex-wrap: wrap;
    gap: 80px 50px;
  }
  .sec01_left {
    width: 100%;
  }
  .sec01_right {
    width: 100%;
    max-width: 100%;
    gap: 40px;
  }
  /***********************/
  .sec02_scroll_img img {
    width: auto;
    height: 350px;
  }
  /***********************/
  .sec03_title {
    font-size: clamp(40px, 6vw, 95px);
  }
  .sec03_title .titleClipAnimation {
    display: block;
    animation-duration: 0.5s;
  }
  .sec03_title_border {
    margin-right: 10px;
  }
  .sec03_sub_title {
    font-size: clamp(28px, 3.5vw, 48px);
  }
  /***/
  .sec03_left .title_45 {
    font-size: clamp(24px, 2.8vw, 45px);
  }
  .sec03_left .title_75 {
    font-size: clamp(44px, 4.8vw, 75px);
  }
  /*************************/
  .sec07_grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .sec07_benefit_grid {
    column-gap: 40px;
    row-gap: 70px;
  }
  .sec07_benefit_heading {
    gap: 20px;
    margin-top: 30px;
  }
  .sec07_benefit_icon {
    width: 70px;
  }
  .sec07_benefit_text {
    margin-top: 30px;
  }
  .sec07_benefit_text p {
    font-size: 18px;
  }
  .top_job_row {
    grid-template-columns: 240px minmax(0, 1fr);
  }
  .top_job_term {
    padding: 30px 20px;
  }
  .top_job_value {
    padding: 30px 20px;
  }
  /***********************************/
  .sec08_right_flex {
    display: block;
    padding: 40px 40px;
  }
  .sec08_title {
    font-size: clamp(24px, 2.5vw, 30px);
    width: 100%;
    min-width: 100%;
    padding: 0 0 20px;
    border-bottom: 1px solid #aaaaaa;
  }
  .sec08_text {
    padding-top: 20px;
  }
  .sec08_text p {
    padding: 0;
    border-left: 0;
  }
  /*****************************/
  .sec09_bg {
    background: url("../images/top22.webp") 50% 0/cover no-repeat;
    padding: 100px 0 165px;
    position: relative;
    overflow: hidden;
  }
  /****/
  .sec09_flex {
    padding-top: 340px;
    flex-wrap: wrap;
    gap: 40px;
  }
  .sec09_left {
    width: 100%;
  }
  .text_25 {
    font-size: clamp(20px, 2vw, 25px);
    line-height: 2.2em;
  }
  .sec09_entry_btn {
    width: 100%;
    max-width: 600px;
    width: 100%;
  }
  .sec09_entry_btn a {
    height: 100px;
    font-size: clamp(26px, 3.5vw, 40px);
  }
  /********************************/
  .footer_bg {
    padding: 130px 0 70px;
  }
  .f_flex {
    flex-wrap: wrap;
    gap: 60px;
  }
  .f_left {
    width: 100%;
    flex-shrink: 0;
  }
  .f_right {
    flex-grow: 2;
    width: 100%;
    max-width: 720px;
  }
  /********************************************************

  	インタビュー

  ********************************************************/
  /************************/
  .interview_fv {
    height: 500px;
    margin-top: 80px;
  }
  .interview_fv_inner {
    padding-top: 150px;
  }
  .interview_fv_bg {
    font-size: 170px;
  }
  .interview_header .h_banner a {
    width: 145px;
    height: 45px;
    padding: 0;
  }
  .interview_after_bg:after {
    height: calc(100% - 150px);
    clip-path: polygon(0 0, 120px 0, 120px calc(100% - 90px), 100% calc(100% - 90px), 100% 100%, 0 100%);
  }
  .interview_profile_body {
    padding-bottom: 90px;
  }
  .interview_profile_body:before {
    top: 105px;
    bottom: 90px;
  }
  .interview_department {
    flex-basis: 120px;
    min-height: 480px;
    padding-top: 22px;
    padding-bottom: 22px;
  }
  .interview_profile_text {
    z-index: 6;
    left: calc(120px + 4%);
    top: 170px;
  }
  .interview_profile_num {
    margin-top: 44px;
  }
  /************************/
  .interview_qa_item {
    gap: 50px;
  }
  .interview_qa_img {
    height: 420px;
  }
  .interview_qa_line {
    margin-top: 70px;
    margin-bottom: 70px;
  }
  .interview_qa_split {
    gap: 50px;
  }
  .interview_qa_split .interview_qa_content {
    width: calc((100% - 50px) / 2);
  }
  .interview_question {
    gap: 24px;
  }
  .interview_answer p {
    font-size: 18px;
  }
  /********************************************************

  	エントリーフォーム

  ********************************************************/
  .ct01_row {
    gap: 20px;
  }
  .ct01_label {
    width: 35%;
    padding-right: 25px;
    padding-left: 25px;
  }
  .ct01_radio_group {
    gap: 25px;
  }
  .ct01_status_group {
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 768px) {
  .flex_30 {
    width: 100%;
  }
  .flex_31 {
    width: 100%;
  }
  .flex_32 {
    width: 100%;
  }
  .flex_33 {
    width: 100%;
  }
  .flex_34 {
    width: 100%;
  }
  .flex_35 {
    width: 100%;
  }
  .flex_36 {
    width: 100%;
  }
  .flex_37 {
    width: 100%;
  }
  .flex_38 {
    width: 100%;
  }
  .flex_39 {
    width: 100%;
  }
  .flex_40 {
    width: 100%;
  }
  .flex_41 {
    width: 100%;
  }
  .flex_42 {
    width: 100%;
  }
  .flex_43 {
    width: 100%;
  }
  .flex_44 {
    width: 100%;
  }
  .flex_45 {
    width: 100%;
  }
  .flex_46 {
    width: 100%;
  }
  .flex_47 {
    width: 100%;
  }
  .flex_48 {
    width: 100%;
  }
  .flex_49 {
    width: 100%;
  }
  .flex_50 {
    width: 100%;
  }
  .flex_51 {
    width: 100%;
  }
  .flex_52 {
    width: 100%;
  }
  .flex_53 {
    width: 100%;
  }
  .flex_54 {
    width: 100%;
  }
  .flex_55 {
    width: 100%;
  }
  .flex_56 {
    width: 100%;
  }
  .flex_57 {
    width: 100%;
  }
  .flex_58 {
    width: 100%;
  }
  .flex_59 {
    width: 100%;
  }
  .flex_60 {
    width: 100%;
  }
  .flex_61 {
    width: 100%;
  }
  .flex_62 {
    width: 100%;
  }
  .flex_63 {
    width: 100%;
  }
  .flex_64 {
    width: 100%;
  }
  .flex_65 {
    width: 100%;
  }
  .flex_66 {
    width: 100%;
  }
  .flex_67 {
    width: 100%;
  }
  .flex_68 {
    width: 100%;
  }
  .flex_69 {
    width: 100%;
  }
  .flex_70 {
    width: 100%;
  }
  /************************/
  .header {
    padding: 20px 20px;
    column-gap: 30px;
  }
  #logo img {
    width: 250px;
    height: auto;
  }
  .h_entry {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 240px;
  }
  .h_entry a {
    width: 100%;
    height: 60px;
    font-size: 24px;
  }
  /**********************/
  .top_fv_bg {
    height: 500px;
  }
  .top_fv_title {
    top: calc(50% - 20px);
    width: 90%;
  }
  .top_title_ja {
    font-size: 26px;
  }
  .top_title_ja > span {
    white-space: nowrap;
  }
  .fv_large {
    font-size: 40px;
  }
  .fv_eng_img {
    margin-top: 10px;
  }
  .top_title_eng {
    font-size: 120px;
    margin-top: 20px;
  }
  /*
  .top_title_sp {
  	display: block;
  	padding-left: 60px;
  }
  */
  /****************************/
  .eng_font_size {
    font-size: 80px;
  }
  .sec01_eng_absolute.eng_font_size {
    font-size: 160px;
  }
  .sec01_flex {
    gap: 60px 50px;
  }
  .sec01_right {
    gap: 30px;
  }
  .sec01_right p {
    font-size: 22px;
  }
  /***********************/
  .sec02_scroll_img img {
    width: auto;
    height: 250px;
  }
  /***********************/
  .sec03_eng_absolute.eng_font_size {
    font-size: 160px;
  }
  .sec03_title {
    font-size: 36px;
    line-height: 1.8em;
    white-space: nowrap;
  }
  .sec03_title_border {
    padding: 0 10px 5px;
    margin-right: 10px;
  }
  .sec03_sub_title {
    font-size: 24px;
    padding: 3px 10px 5px;
  }
  /***/
  .sec03_flex_wrap {
    display: flex;
    flex-direction: column;
    gap: 40px;
  }
  .sec03_flex_wrap > div:nth-child(odd) .sec03_right {
    order: 0;
  }
  .sec03_flex {
    display: block;
    position: relative;
    gap: 0;
  }
  .sec03_right {
    max-width: 100%;
    width: 260px;
    order: 0;
    position: absolute;
    right: -30px;
    top: 0;
  }
  .sec03_right img {
    width: 100%;
    height: 295px;
    object-fit: cover;
    border-radius: 7px 0 0 7px;
  }
  .sec03_num {
    font-size: 100px;
    margin-left: -5px;
    -webkit-text-stroke: 1px #FFF;
    text-stroke: 1px #FFF;
  }
  .sec03_left {
    width: 100%;
    max-width: 100%;
  }
  .sec03_left .title_45 {
    margin-top: 20px;
  }
  .sec03_left .title_75 {
    margin-top: 15px;
    margin-bottom: 20px;
    line-height: 1.3em;
  }
  .sec03_left .title_75.line_height {
    line-height: 0.9em;
    margin-top: 20px;
  }
  .text_20 {
    font-size: 18px;
    line-height: 2.2em;
    font-weight: bold;
  }
  /**************************************/
  .sec04_bg {
    height: auto;
    padding-bottom: 300px;
    background: url("../images/top4.webp") 50% bottom/1000px 844px no-repeat;
    position: relative;
  }
  .sec04_bg:after {
    content: "";
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, #96c0e8 10%, #6a9ed0 100%);
    height: 40%;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
  .sec04_title {
    font-size: 30px;
  }
  .sec04_title span {
    display: inline-block;
    margin-bottom: 5px;
  }
  .sec04_large {
    font-size: 60px;
    color: #d21621;
    margin-top: 0;
    line-height: 1.3em;
  }
  /**************************************/
  .sec06_eng {
    margin-left: 0;
  }
  .title_mt_minus {
    margin-top: -20px;
  }
  /**slider**/
  .top_slider {
    width: calc(100% + 300px);
  }
  .top_slider .slick-track li {
    margin-right: 30px;
  }
  @keyframes sliderStart {
    to {
      opacity: 1;
    }
  }
  /*********/
  .slider_num {
    font-size: 80px;
  }
  .slider_num .small {
    font-size: 60px;
  }
  /*************************/
  .sec07_eng {
    margin-left: 0;
  }
  .sec07_grid {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 20px;
    row-gap: 20px;
  }
  .sec07_card {
    padding: 20px 15px 30px;
  }
  .sec07_benefit_grid {
    grid-template-columns: 1fr;
    row-gap: 60px;
  }
  .sec07_benefit_heading {
    margin-top: 25px;
  }
  .sec07_benefit_text {
    margin-top: 20px;
  }
  .sec07_benefit_text p {
    font-size: 17px;
  }
  .top_job_row {
    display: block;
    border-bottom: 1px solid #ededed;
  }
  .top_job_term {
    padding: 20px 15px 10px;
    border-top-width: 3px;
  }
  .top_job_term p {
    font-size: 17px;
  }
  .top_job_value {
    padding: 10px 15px 25px;
    border-top: 0;
  }
  .top_job_value p {
    font-size: 17px;
  }
  .top_job_row_final .top_job_term {
    border-bottom: 0;
  }
  .top_job_row_final .top_job_value {
    border-bottom: 0;
  }
  /***********************************/
  .sec08_flow > div:after {
    top: calc(100% + 32px);
  }
  .sec08_num {
    font-size: 40px;
    width: 80px;
  }
  .sec08_right_flex {
    padding: 40px 20px;
  }
  /*****************************/
  .sec09_bg {
    padding: 80px 0 0;
    height: 620px;
    background-position: 53% 0;
  }
  .sec09_title_wrap p {
    font-size: 40px;
  }
  .sec09_title_wrap p .font_serif {
    font-size: clamp(60px, 10.5vw, 180px);
  }
  /****/
  .sec09_flex {
    padding-top: 40px;
    flex-wrap: wrap;
    gap: 30px;
  }
  .sec09_left {
    width: 100%;
    padding-top: 90px;
  }
  .sec09_left .text_25 {
    font-size: 18px;
    line-height: 1.8em;
  }
  .text_25 {
    line-height: 2em;
  }
  .sec09_entry_btn a {
    height: 80px;
    font-size: 35px;
  }
  .sec09_loop_text {
    column-gap: 40px;
  }
  .sec09_loop_text p {
    font-size: 80px;
  }
  /********************************/
  .footer_bg {
    padding: 100px 0 70px;
  }
  #pagetop {
    width: 70px;
    padding-bottom: 30px;
  }
  .f_flex {
    flex-wrap: wrap;
    gap: 40px;
  }
  .f_btn {
    margin-top: 40px;
  }
  .f_btn .arrow {
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
  }
  .f_nav {
    max-width: 640px;
    gap: 25px 20px;
    width: 100%;
    flex-wrap: wrap;
  }
  .f_nav a {
    font-size: 20px;
  }
  .f_nav ul {
    gap: 25px;
    width: 100%;
  }
  /********************************************************

  	インタビュー

  ********************************************************/
  /************************/
  .interview_fv {
    height: 380px;
    margin-top: 80px;
  }
  .interview_fv_inner {
    padding-top: 130px;
  }
  .interview_fv_bg {
    top: 90px;
    font-size: 80px;
    letter-spacing: 2px;
  }
  .interview_fv_title {
    padding-left: 0;
    line-height: 140%;
    margin-top: -20px;
  }
  .interview_fv_num {
    margin-left: 0;
    margin-top: 8px;
  }
  .interview_fv_hash {
    font-size: 50px;
  }
  .interview_fv_number {
    font-size: 65px;
  }
  /************************/
  .interview_profile {
    display: block;
  }
  .interview_after_bg {
    display: flex;
    align-items: flex-start;
    min-height: 289px;
  }
  .interview_after_bg:after {
    left: 0;
    right: 35px;
    top: 58px;
    bottom: auto;
    height: calc(100% - 58px);
    width: calc(100% - 60px);
    clip-path: polygon(0 0, 70px 0, 70px calc(100% - 30px), 100% calc(100% - 30px), 100% 100%, 0 100%);
  }
  .interview_profile_body {
    flex-grow: 2;
    height: 260px;
    padding-bottom: 0;
  }
  .interview_profile_body:before {
    top: 0;
    bottom: auto;
    height: 260px;
  }
  .interview_department {
    flex-basis: 70px;
    min-height: 230px;
    margin-top: 58px;
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .interview_department p {
    font-size: 42px;
    letter-spacing: 1px;
  }
  .interview_profile_text {
    position: static;
    z-index: 6;
    text-align: left;
    max-width: 100%;
    width: 100%;
    padding-top: 18px;
  }
  .interview_profile_flex {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
  }
  .interview_profile_flex > div {
    order: 1;
  }
  .interview_join {
    padding: 1px 12px;
    font-size: 15px;
    line-height: 24px;
  }
  .interview_name_block {
    margin-top: 8px;
  }
  .interview_name {
    font-size: 28px;
    line-height: 42px;
  }
  .interview_name_en {
    color: #000;
    font-size: 16px;
    line-height: 24px;
  }
  .interview_profile_copy {
    color: #000;
    margin-top: 28px;
  }
  .interview_profile_num {
    order: 2;
    margin-top: 0;
    margin-left: 0;
    margin-bottom: 10px;
    -webkit-text-stroke-color: #d21621;
    text-stroke-color: #d21621;
    font-size: 70px;
    line-height: 50px;
    letter-spacing: 1px;
  }
  .interview_profile_title {
    letter-spacing: 2px;
  }
  .interview_profile_img {
    position: absolute;
    right: 15%;
    bottom: 0;
    margin: 0 auto;
    width: 70%;
  }
  .interview_profile_img img {
    object-position: right bottom;
  }
  .interview_profile_img.interview03_img_style {
    right: 2%;
    width: 95%;
  }
  /************************/
  .interview_qa_sec {
    padding-bottom: 80px;
  }
  .interview_qa_item {
    display: flex;
    flex-direction: column;
    gap: 35px;
  }
  .interview_qa_item_reverse .interview_qa_img {
    order: 1;
  }
  .interview_qa_item_reverse .interview_qa_content {
    order: 2;
  }
  .interview_qa_img {
    width: 100%;
    max-width: 100%;
    height: 360px;
  }
  .interview_qa_line {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .interview_qa_split {
    flex-direction: column;
    gap: 60px;
  }
  .interview_qa_split .interview_qa_content {
    width: 100%;
  }
  .interview_question {
    gap: 20px;
  }
  .interview_q_mark {
    width: 80px;
    font-size: 90px;
  }
  .interview_question_single .interview_q_title {
    padding-top: 30px;
  }
  .interview_answer {
    margin-top: 24px;
  }
  .interview_answer p {
    font-size: 17px;
    line-height: 220%;
  }
  /********************************************************

  	エントリーフォーム

  ********************************************************/
  .ct01_intro {
    text-align: left;
  }
  .ct01_intro_text {
    font-size: 17px;
  }
  .ct01_tel {
    padding: 30px 20px;
  }
  .ct01_tel_number {
    font-size: 42px;
  }
  .ct01_row {
    display: block;
    min-height: 0;
  }
  .ct01_label {
    width: 100%;
    max-width: 100%;
    padding: 20px;
  }
  .ct01_control {
    width: 100%;
    padding: 20px;
  }
  .ct01_field input {
    height: 60px;
  }
  .ct01_textarea_field textarea {
    height: 240px;
  }
  .ct01_row_textarea .ct01_control {
    padding: 20px;
  }
  .ct01_radio_group {
    flex-wrap: wrap;
    gap: 15px 25px;
  }
  .ct01_consent {
    padding: 25px 15px;
  }
  .ct01_submit {
    height: 90px;
  }
}
/* スマートフォン 縦(ポートレート) */