.kv {
  margin-top: 10.9375vw;
}
@media screen and (min-width: 480px) {
  .kv {
    margin-top: max(70px, 5vw);
  }
}
.kv__inner {
  width: 100%;
  position: relative;
  padding-top: 37.5vw;
  padding-bottom: 142.96875vw;
}
@media screen and (min-width: 480px) {
  .kv__inner {
    width: max(1200px, 85.7142857143vw);
    margin: auto;
    padding-top: max(170px, 12.1428571429vw);
    padding-bottom: max(426px, 30.4285714286vw);
  }
}
.kv__ttl {
  font-size: 8.125vw;
  font-weight: 700;
  line-height: 10.9375vw;
  color: #231815;
  display: block;
  letter-spacing: 0.25rem;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  margin-left: 13.28125vw;
  animation-name: fadeIn;
  animation-delay: 1.5s;
  animation-duration: 2s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@media screen and (min-width: 480px) {
  .kv__ttl {
    font-size: max(52px, 3.7142857143vw);
    line-height: max(70px, 5vw);
    margin-left: max(160px, 11.4285714286vw);
  }
}
.kv__ttlArrow {
  width: 52.5vw;
  position: absolute;
  bottom: -0.78125vw;
  left: 0;
}
@media screen and (min-width: 480px) {
  .kv__ttlArrow {
    width: max(336px, 24vw);
    bottom: min(-8px, -0.5714285714vw);
  }
}
.kv__ttlImg {
  width: 81.875vw;
  margin: auto;
  margin-top: 32.8125vw;
  animation-name: fadeIn;
  animation-delay: 1.5s;
  animation-duration: 2s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@media screen and (min-width: 480px) {
  .kv__ttlImg {
    width: max(491px, 35.0714285714vw);
    margin: 0;
    margin-top: max(80px, 5.7142857143vw);
    margin-left: max(580px, 41.4285714286vw);
  }
}
.kv__scroll {
  width: 1.334078125vw;
  position: absolute;
  top: 131.059265625vw;
  left: 50%;
  transform: translate(-50%, 0);
  animation-name: fadeIn;
  animation-delay: 3s;
  animation-duration: 2s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@media screen and (min-width: 480px) {
  .kv__scroll {
    top: max(574.6831px, 41.0487928571vw);
    width: max(6.7231px, 0.4802214286vw);
  }
}
.kv__txt {
  font-size: 4.6875vw;
  line-height: 8.4375vw;
  font-weight: 700;
  color: #181818;
  text-align: center;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  letter-spacing: 0.05rem;
  margin: auto;
  margin-top: 14.84375vw;
  animation-name: fadeIn;
  animation-delay: 1.5s;
  animation-duration: 2s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@media screen and (min-width: 480px) {
  .kv__txt {
    font-size: max(20px, 1.4285714286vw);
    line-height: max(42px, 3vw);
    margin-top: max(55px, 3.9285714286vw);
  }
}
.kv__txt > ._color {
  color: #B41D2A;
}
.kv__letter {
  position: absolute;
  z-index: -1;
  animation-name: fadeIn;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}
.kv__letter--p {
  width: 43.59375vw;
  top: -14.0625vw;
  right: -7.03125vw;
  animation-delay: 0.3s;
}
@media screen and (min-width: 480px) {
  .kv__letter--p {
    width: max(295px, 21.0714285714vw);
    top: min(-135px, -9.6428571429vw);
    right: max(210px, 15vw);
  }
}
.kv__letter--3 {
  width: 27.34375vw;
  top: -2.34375vw;
  right: 18.75vw;
  animation-delay: 0.6s;
}
@media screen and (min-width: 480px) {
  .kv__letter--3 {
    width: max(184px, 13.1428571429vw);
    top: max(60px, 4.2857142857vw);
    right: max(380px, 27.1428571429vw);
  }
}
.kv__letter--c {
  width: 83.125vw;
  top: 7.8125vw;
  left: -8.59375vw;
}
@media screen and (min-width: 480px) {
  .kv__letter--c {
    width: max(562px, 40.1428571429vw);
    top: max(18px, 1.2857142857vw);
    left: min(-135px, -9.6428571429vw);
  }
}
.kv__letter--2 {
  width: 39.0625vw;
  top: 78.125vw;
  left: 5.46875vw;
  mix-blend-mode: overlay;
  animation-delay: 0.3s;
}
@media screen and (min-width: 480px) {
  .kv__letter--2 {
    width: max(264px, 18.8571428571vw);
    top: max(490px, 35vw);
    left: min(-35px, -2.5vw);
  }
}
.kv__letter--e {
  width: 69.53125vw;
  top: 114.0625vw;
  right: -18.75vw;
  animation-delay: 0.6s;
}
@media screen and (min-width: 480px) {
  .kv__letter--e {
    width: max(447px, 31.9285714286vw);
    top: max(50px, 3.5714285714vw);
    right: min(-230px, -16.4285714286vw);
  }
}
.kv__letter--1 {
  width: 20.3125vw;
  top: 182.03125vw;
  right: 8.59375vw;
  mix-blend-mode: overlay;
}
@media screen and (min-width: 480px) {
  .kv__letter--1 {
    width: max(131px, 9.3571428571vw);
    top: max(495px, 35.3571428571vw);
    right: min(-65px, -4.6428571429vw);
  }
}
.kv__letter--d {
  width: 44.53125vw;
  top: 190.625vw;
  left: -1.5625vw;
  animation-delay: 1.2s;
}
@media screen and (min-width: 480px) {
  .kv__letter--d {
    width: max(284px, 20.2857142857vw);
    top: max(675px, 48.2142857143vw);
    left: unset;
    right: max(75px, 5.3571428571vw);
    z-index: 1;
    mix-blend-mode: overlay;
  }
}
.kv__ttlSub {
  width: 100%;
  height: 5.46875vw;
  position: absolute;
  bottom: 0;
}
@media screen and (min-width: 480px) {
  .kv__ttlSub {
    width: 100vw;
    height: max(70px, 5vw);
    left: 50%;
    transform: translate(-50%, 0%);
  }
}
@keyframes fadeIn {
  100% {
    opacity: 1;
  }
}
.intro {
  height: 78.125vw;
  background-image: url(../images/home/intro_bg_sp.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% 100%;
}
@media screen and (min-width: 480px) {
  .intro {
    height: max(350px, 25vw);
    background-image: url(../images/home/intro_bg_pc.png);
  }
}
.intro__inner {
  height: 78.125vw;
  padding-top: 26.5625vw;
  position: relative;
}
@media screen and (min-width: 480px) {
  .intro__inner {
    width: max(1200px, 85.7142857143vw);
    margin: auto;
    height: max(350px, 25vw);
    padding-top: max(105px, 7.5vw);
  }
}
.intro__ttl {
  font-size: 5.625vw;
  line-height: 1;
  font-weight: 700;
  color: #181818;
  text-align: center;
}
@media screen and (min-width: 480px) {
  .intro__ttl {
    font-size: max(26px, 1.8571428571vw);
  }
}
.intro__txt {
  margin-top: 6.25vw;
  font-size: 4.6875vw;
  line-height: 8.75vw;
  font-weight: 700;
  text-align: center;
  color: #181818;
}
@media screen and (min-width: 480px) {
  .intro__txt {
    font-size: max(20px, 1.4285714286vw);
    line-height: max(42px, 3vw);
    margin-top: max(40px, 2.8571428571vw);
  }
}
.intro__txt--color {
  color: #B41D2A;
}
.intro__object {
  width: 56.25vw;
  position: absolute;
  bottom: -26.5625vw;
  right: -8.59375vw;
  z-index: -1;
}
@media screen and (min-width: 480px) {
  .intro__object {
    width: max(360px, 25.7142857143vw);
    right: unset;
    left: min(-20px, -1.4285714286vw);
    bottom: min(-240px, -17.1428571429vw);
    z-index: 0;
    mix-blend-mode: overlay;
  }
}
.sns {
  padding: 11.71875vw 0 9.375vw;
  position: relative;
}
@media screen and (min-width: 480px) {
  .sns {
    padding: max(175px, 12.5vw) 0 max(75px, 5.3571428571vw);
    margin-top: min(-70px, -5vw);
  }
}
.sns__bg {
  width: 100%;
  height: 100%;
  background-image: url(../images/home/sns_bg_sp.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: top center;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (min-width: 480px) {
  .sns__bg {
    background-image: url(../images/home/sns_bg_sp.png);
    z-index: -2;
  }
}
.sns__inner {
  width: 92.1875vw;
  margin: auto;
  position: relative;
}
@media screen and (min-width: 480px) {
  .sns__inner {
    width: max(910px, 65vw);
  }
}
.sns__ttlArea {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sns__ttl {
  width: 15.3125vw;
  height: 6.5625vw;
}
@media screen and (min-width: 480px) {
  .sns__ttl {
    width: max(116px, 8.2857142857vw);
    height: max(50px, 3.5714285714vw);
  }
}
.sns__ttlSub {
  width: 73.28125vw;
  font-size: 2.5vw;
  font-weight: 400;
  line-height: 4.6875vw;
  letter-spacing: 0.25rem;
  color: black;
  border-bottom: 1px solid #231815;
}
@media screen and (min-width: 480px) {
  .sns__ttlSub {
    width: max(771px, 55.0714285714vw);
    font-size: max(18px, 1.2857142857vw);
    line-height: max(40px, 2.8571428571vw);
  }
}
@media screen and (min-width: 480px) {
  .sns__contentsArea {
    display: flex;
    gap: max(45px, 3.2142857143vw);
    justify-content: center;
    align-items: center;
  }
}
.sns__contents {
  width: 92.1875vw;
  min-height: 340px;
  text-align: center;
  margin-top: 3.90625vw;
  margin-bottom: 6.25vw;
}
@media screen and (min-width: 480px) {
  .sns__contents {
    width: max(365px, 26.0714285714vw);
    height: max(340px, 24.2857142857vw);
    margin-top: max(40px, 2.8571428571vw);
    margin-bottom: max(35px, 2.5vw);
  }
}
.sns__contents iframe {
  height: 132.8125vw !important;
}
@media screen and (min-width: 480px) {
  .sns__contents iframe {
    height: max(330px, 23.5714285714vw) !important;
  }
}
@media screen and (min-width: 480px) {
  .sns__txtArea {
    width: max(302px, 21.5714285714vw);
    height: max(302px, 21.5714285714vw);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background-image: url(../images/home/home_o_pink_big.svg);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
}
.sns__txt {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.75vw;
  font-weight: 400;
  line-height: 6.25vw;
  position: relative;
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}
@media screen and (min-width: 480px) {
  .sns__txt {
    font-size: max(21px, 1.5vw);
    line-height: max(40px, 2.8571428571vw);
    display: block;
    margin: 0;
  }
}
.sns__txt > ._color {
  color: #B41D2A;
}
.sns__txt > ._en {
  font-size: 2.5vw;
  display: flex;
  align-items: center;
  margin-left: 3.90625vw;
}
@media screen and (min-width: 480px) {
  .sns__txt > ._en {
    font-size: max(12px, 0.8571428571vw);
    margin-left: max(15px, 1.0714285714vw);
  }
}
.sns__txt > ._en::after {
  content: "";
  display: inline-block;
  width: 6.25vw;
  height: 6.25vw;
  background-image: url(../images/common/home_arrow_pink.svg);
  background-size: 100% 100%;
  background-position: top center;
  background-repeat: no-repeat;
  margin-left: 2.65625vw;
}
@media screen and (min-width: 480px) {
  .sns__txt > ._en::after {
    width: max(35px, 2.5vw);
    height: max(35px, 2.5vw);
    margin-left: max(10px, 0.7142857143vw);
  }
}
.sns__object {
  width: 56.25vw;
  position: absolute;
  bottom: -35.9375vw;
  right: -12.5vw;
  z-index: -1;
}
@media screen and (min-width: 480px) {
  .sns__object {
    width: max(360px, 25.7142857143vw);
    bottom: min(-315px, -22.5vw);
    right: unset;
    left: min(-190px, -13.5714285714vw);
    mix-blend-mode: overlay;
    z-index: unset;
  }
}
.fb_iframe_widget > iframe {
  width: 92.1875vw !important;
  height: 53.125vw !important;
}
@media screen and (min-width: 480px) {
  .fb_iframe_widget > iframe {
    width: max(400px, 28.5714285714vw) !important;
    height: max(365px, 26.0714285714vw) !important;
  }
}
.contents {
  margin-top: 29.6875vw;
  display: flex;
  flex-direction: column;
  gap: 15.625vw;
}
@media screen and (min-width: 480px) {
  .contents {
    margin-top: max(205px, 14.6428571429vw);
    gap: max(130px, 9.2857142857vw);
  }
}
.contents__item {
  width: 92.1875vw;
  margin: auto;
  position: relative;
}
@media screen and (min-width: 480px) {
  .contents__item {
    width: max(960px, 68.5714285714vw);
  }
}
.contents__link {
  display: block;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (min-width: 480px) {
  .contents__link {
    display: flex;
  }
}
@media screen and (min-width: 480px) {
  .contents__link--reverse {
    flex-direction: row-reverse;
  }
}
.contents__txtArea {
  width: 89.84375vw;
  height: 38.28125vw;
  background-image: url(../images/home/contents_bg_sp.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  padding: 8.59375vw 9.375vw;
  position: relative;
}
@media screen and (min-width: 480px) {
  .contents__txtArea {
    width: max(575px, 41.0714285714vw);
    height: max(245px, 17.5vw);
    padding: max(55px, 3.9285714286vw) max(60px, 4.2857142857vw);
  }
}
.contents__txtArea--reverse {
  margin-left: 2.34375vw;
}
@media screen and (min-width: 480px) {
  .contents__txtArea--reverse {
    margin-left: min(-135px, -9.6428571429vw);
  }
}
.contents__ttl {
  display: flex;
  flex-direction: column;
  gap: 3.90625vw;
  font-size: 4.0625vw;
  font-weight: 400;
  color: #231815;
  letter-spacing: 0.2rem;
}
@media screen and (min-width: 480px) {
  .contents__ttl {
    gap: max(25px, 1.7857142857vw);
    font-size: max(26px, 1.8571428571vw);
  }
}
.contents__ttl--business {
  width: 41.25vw;
}
@media screen and (min-width: 480px) {
  .contents__ttl--business {
    width: max(264px, 18.8571428571vw);
  }
}
.contents__ttl--philosophy {
  width: 37.34375vw;
}
@media screen and (min-width: 480px) {
  .contents__ttl--philosophy {
    width: max(239px, 17.0714285714vw);
    margin-left: max(190px, 13.5714285714vw);
  }
}
.contents__ttl--recruitment {
  width: 40.78125vw;
}
@media screen and (min-width: 480px) {
  .contents__ttl--recruitment {
    width: max(261px, 18.6428571429vw);
  }
}
.contents__linkTxt {
  position: absolute;
  right: 5.46875vw;
  bottom: 14.0625vw;
  font-size: 2.5vw;
  line-height: 5.46875vw;
  font-weight: 400;
  color: #595757;
  letter-spacing: 0;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 480px) {
  .contents__linkTxt {
    position: static;
    font-size: max(12px, 0.8571428571vw);
    line-height: max(50px, 3.5714285714vw);
    margin-top: max(105px, 7.5vw);
  }
}
@media screen and (min-width: 480px) {
  .contents__linkTxt--reverse {
    justify-content: end;
  }
}
.contents__linkTxt::after {
  content: "";
  display: inline-block;
  width: 5.46875vw;
  height: 5.46875vw;
  background-image: url(../images/common/home_arrow_pink.svg);
  background-size: 100% 100%;
  background-position: top center;
  background-repeat: no-repeat;
  margin-left: 2.03125vw;
}
@media screen and (min-width: 480px) {
  .contents__linkTxt::after {
    width: max(35px, 2.5vw);
    height: max(35px, 2.5vw);
    margin-left: max(15px, 1.0714285714vw);
  }
}
.contents__img {
  width: 81.25vw;
  height: 43.59375vw;
  margin-left: 10.9375vw;
  margin-top: -9.375vw;
  position: relative;
  z-index: 1;
  border-radius: 1.5625vw;
}
@media screen and (min-width: 480px) {
  .contents__img {
    width: max(520px, 37.1428571429vw);
    height: max(279px, 19.9285714286vw);
    margin-left: min(-135px, -9.6428571429vw);
    margin-top: max(45px, 3.2142857143vw);
    border-radius: max(10px, 0.7142857143vw);
  }
}
.contents__img--reverse {
  margin-left: 0;
}
@media screen and (min-width: 480px) {
  .contents__img--reverse {
    margin-top: max(45px, 3.2142857143vw);
  }
}
.contents__object {
  position: absolute;
}
.contents__object--pink {
  width: 32.5vw;
  bottom: -11.71875vw;
  left: -1.5625vw;
}
@media screen and (min-width: 480px) {
  .contents__object--pink {
    width: max(208px, 14.8571428571vw);
    bottom: -20%;
    left: unset;
    right: -15%;
  }
}
.contents__object--blue {
  width: 8.28125vw;
  bottom: -9.375vw;
  right: 0.78125vw;
}
@media screen and (min-width: 480px) {
  .contents__object--blue {
    width: max(53px, 3.7857142857vw);
    right: -10%;
    bottom: -180%;
  }
}
.bunner {
  padding-top: 23.4375vw;
}
@media screen and (min-width: 480px) {
  .bunner {
    padding-top: max(245px, 17.5vw);
  }
}
.bunner__inner {
  padding-bottom: 20.3125vw;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 14.84375vw;
}
@media screen and (min-width: 480px) {
  .bunner__inner {
    padding: 0;
    flex-direction: row;
    justify-content: space-between;
    gap: max(55px, 3.9285714286vw);
    width: max(1010px, 72.1428571429vw);
    margin: auto;
  }
}
.bunner__item {
  width: 60.9375vw;
  height: 28.4375vw;
  margin: auto;
  background-image: url(../images/home/bunner_bg_sp.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: top center;
  border-radius: 2.03125vw;
  position: relative;
}
@media screen and (min-width: 480px) {
  .bunner__item {
    width: max(300px, 21.4285714286vw);
    height: max(140px, 10vw);
    border-radius: max(10px, 0.7142857143vw);
  }
}
.bunner__item::after {
  content: "";
  width: 60.9375vw;
  height: 28.4375vw;
  border: 1px solid #C8C8C9;
  border-radius: 2.03125vw;
  position: absolute;
  left: 2.03125vw;
  top: 2.03125vw;
  z-index: -1;
}
@media screen and (min-width: 480px) {
  .bunner__item::after {
    width: max(300px, 21.4285714286vw);
    height: max(140px, 10vw);
    border-radius: max(10px, 0.7142857143vw);
    left: max(10px, 0.7142857143vw);
    top: max(10px, 0.7142857143vw);
  }
}
.bunner__link {
  display: block;
  height: 28.4375vw;
  padding-top: 8.125vw;
}
@media screen and (min-width: 480px) {
  .bunner__link {
    height: max(140px, 10vw);
    padding-top: max(40px, 2.8571428571vw);
  }
}
.bunner__ttl {
  color: white;
  font-size: 5vw;
  line-height: 5.46875vw;
  font-weight: 400;
  font-family: "BIZ UDPGothic", sans-serif;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  position: relative;
}
@media screen and (min-width: 480px) {
  .bunner__ttl {
    font-size: max(24px, 1.7142857143vw);
    line-height: max(27px, 1.9285714286vw);
  }
}
.bunner__ttl::after {
  content: "";
  width: 12.1875vw;
  height: 1px;
  background-color: white;
  position: absolute;
  bottom: -3.125vw;
  left: 50%;
  transform: translate(-50%, 0%);
}
@media screen and (min-width: 480px) {
  .bunner__ttl::after {
    width: max(60px, 4.2857142857vw);
    bottom: min(-15px, -1.0714285714vw);
  }
}
.bunner__linkTxt {
  font-size: 2.03125vw;
  line-height: 6.09375vw;
  font-weight: 400;
  color: white;
  display: flex;
  align-items: center;
  margin-top: 7.03125vw;
  margin-left: 40.625vw;
}
@media screen and (min-width: 480px) {
  .bunner__linkTxt {
    font-size: max(10px, 0.7142857143vw);
    line-height: max(30px, 2.1428571429vw);
    margin-top: max(35px, 2.5vw);
    margin-left: max(200px, 14.2857142857vw);
  }
}
.bunner__linkTxt::after {
  content: "";
  display: inline-block;
  width: 6.09375vw;
  height: 6.09375vw;
  background-image: url(../images/home/arrow_white_sp.svg);
  background-size: 100% 100%;
  background-position: top center;
  background-repeat: no-repeat;
  margin-left: 1.5625vw;
}
@media screen and (min-width: 480px) {
  .bunner__linkTxt::after {
    width: max(30px, 2.1428571429vw);
    height: max(30px, 2.1428571429vw);
    margin-left: max(10px, 0.7142857143vw);
  }
}
.bunner__object {
  width: 105.46875vw;
  position: absolute;
  left: -35.15625vw;
  bottom: -35.9375vw;
  z-index: -3;
}
@media screen and (min-width: 480px) {
  .bunner__object {
    width: max(675px, 48.2142857143vw);
    left: min(-455px, -32.5vw);
    bottom: min(-130px, -9.2857142857vw);
  }
}
/*# sourceMappingURL=home.css.map */