.p-service {
  position: relative;
}
.p-service .c-inner {
  width: 90%;
  max-width: 130rem;
}
@media screen and (max-width: 767px) {
  .p-service .c-inner {
    width: 100%;
  }
}
.p-service-headline {
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .p-service-headline {
    margin-left: 0;
    margin-bottom: 4.6511627907vw;
  }
  .p-service-headline img {
    width: 100%;
  }
}
.p-service-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 4rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-service-grid {
    display: block;
    margin: 0 auto;
  }
}
.p-service-grid .unit {
  height: 54.7rem;
}
@media screen and (max-width: 767px) {
  .p-service-grid .unit {
    height: auto;
  }
  .p-service-grid .unit + .unit {
    margin-top: 4.6511627907vw;
  }
}
.p-service-grid .unit .c-servicelink {
  display: block;
  position: relative;
  background: #45A7DC;
  border-radius: 3rem;
  padding: 2rem 5rem 5rem;
  width: 100%;
  height: 100%;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-service-grid .unit .c-servicelink {
    padding: 4.6511627907vw 4.6511627907vw 13.9534883721vw;
  }
}
.p-service-grid .unit .c-servicelink .service-ttl {
  font-size: 3.8rem;
  letter-spacing: 0.05em;
  line-height: 1.2368421053;
  font-weight: 500;
  color: #fff;
  margin-top: 4rem;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: 3;
  font-family: "Outfit", sans-serif;
}
@media screen and (max-width: 767px) {
  .p-service-grid .unit .c-servicelink .service-ttl {
    font-size: 5.5813953488vw;
    margin-top: 2.3255813953vw;
  }
}
.p-service-grid .unit .c-servicelink .service-tag {
  font-size: 1.8rem;
  color: #fff;
  display: inline-block;
  padding: 0.8rem 2.5rem;
  border: 1px solid #fff;
  border-radius: 2rem;
  margin-top: 1.5rem;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-service-grid .unit .c-servicelink .service-tag {
    font-size: 3.2558139535vw;
    margin-bottom: 2.3255813953vw;
    margin-top: 1.1627906977vw;
    padding: 1.1627906977vw 2.3255813953vw;
    font-size: 2.7906976744vw;
  }
}
.p-service-grid .unit .c-servicelink .service-txt {
  position: absolute;
  right: 3rem;
  bottom: 2rem;
  color: #fff;
  font-size: 2.5rem;
  font-family: "Outfit", sans-serif;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-service-grid .unit .c-servicelink .service-txt {
    font-size: 2.7906976744vw;
  }
}
.p-service-grid .unit .c-servicelink .service-hv-txt {
  font-size: 4.8rem;
  letter-spacing: 0.025em;
  line-height: 1.0416666667;
  font-family: "Outfit", sans-serif;
  font-weight: 500;
  color: #fff;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 2;
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-service-grid .unit .c-servicelink .service-hv-txt {
    display: none;
  }
}
.p-service-grid .unit .c-servicelink .service-img {
  position: absolute;
  right: 3rem;
  bottom: 3rem;
  border-radius: 2rem;
  z-index: 1;
  overflow: hidden;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  pointer-events: none;
  width: 41.3rem;
  height: 29rem;
}
@media screen and (max-width: 1340px) {
  .p-service-grid .unit .c-servicelink .service-img {
    width: 32rem;
    height: 20rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service-grid .unit .c-servicelink .service-img {
    width: 100%;
    height: 46.511627907vw;
    position: static;
  }
}
.p-service-grid .unit .c-servicelink .service-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-service-grid .unit .c-servicelink .service-arw {
  position: absolute;
  left: 4rem;
  bottom: 4rem;
  width: 9.8rem;
  z-index: 3;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-service-grid .unit .c-servicelink .service-arw img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-service-grid .unit .c-servicelink .service-arw {
    width: 9.3023255814vw;
    left: 4.6511627907vw;
    bottom: 2.3255813953vw;
  }
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .p-service-grid .unit .c-servicelink:hover {
    opacity: 1;
  }
  .p-service-grid .unit .c-servicelink:hover .service-ttl {
    opacity: 0;
  }
  .p-service-grid .unit .c-servicelink:hover .service-tag {
    opacity: 0;
  }
  .p-service-grid .unit .c-servicelink:hover .service-txt {
    opacity: 0;
  }
  .p-service-grid .unit .c-servicelink:hover .service-hv-txt {
    opacity: 1;
  }
  .p-service-grid .unit .c-servicelink:hover .service-arw {
    left: calc(100% - 11.8rem);
  }
  .p-service-grid .unit .c-servicelink:hover .service-img {
    width: 100% !important;
    height: 100% !important;
    right: 0;
    bottom: 0;
  }
  .p-service-grid .unit .c-servicelink:hover .service-img:before {
    opacity: 1;
  }
}
.p-service-grid .unit.m-visual .c-servicelink {
  background: #97C440;
}
.p-service-grid .unit.m-art .c-servicelink {
  background: #F29E17;
}
.p-service-grid .unit.m-design .c-servicelink {
  background: #C547DC;
}
.p-service .c-service-bnr {
  margin: 6rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-service .c-service-bnr {
    margin-top: 9.3023255814vw;
  }
}

.l-pagehead {
  height: 90vh;
  z-index: 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-pagehead {
    height: 100svh;
  }
}
.l-pagehead .txt {
  top: auto;
  bottom: 18vh;
  -webkit-transform: none;
          transform: none;
}
@media screen and (max-width: 767px) {
  .l-pagehead .txt {
    top: 50%;
    bottom: auto;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.l-pagehead .txt .c-inner {
  max-width: 165rem;
  width: 90%;
}
.l-pagehead .txt .pagettl {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .l-pagehead .txt .pagettl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.l-pagehead .txt .pagettl .en {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
}
.l-pagehead .txt .pagettl .ja {
  text-align: left;
  margin-left: 5rem;
}
@media screen and (max-width: 767px) {
  .l-pagehead .txt .pagettl .ja {
    text-align: center;
    margin: 0;
  }
}
.l-pagehead .txt .pagettl .ja:after {
  display: none;
}

.p-mv {
  position: fixed;
  width: 100%;
  height: 90vh;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-mv {
    height: 100svh;
  }
}
.p-mv:before {
  content: "";
  width: 100%;
  height: 100vh;
  z-index: 1;
  background: rgba(0, 0, 0, 0.3);
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.p-mv-slider .slide {
  background: #F2F1F2;
  width: 100%;
  height: 90vh;
  text-align: center;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.p-mv-slider .slide .slide-video {
  opacity: 0;
  -webkit-filter: drop-shadow(0px 0px #F2F1F2);
          filter: drop-shadow(0px 0px #F2F1F2);
  border: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-mv-slider .slide.image img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-mv-slider .slick-current .slide-video {
  opacity: 1;
}
.p-mv-dots {
  position: absolute;
  right: 0;
  height: 90vh;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .p-mv-dots {
    height: auto;
    right: 0;
    left: 0;
    margin: 0 auto;
    bottom: 0;
  }
}
.p-mv-dots .slick-dots {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 9rem;
}
@media screen and (max-width: 767px) {
  .p-mv-dots .slick-dots {
    top: auto;
    bottom: calc(7svh + 5.8139534884vw);
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -webkit-transform: none;
            transform: none;
    gap: 2.3255813953vw;
    right: 0;
    left: 0;
    margin: 0 auto;
  }
}
.p-mv-dots .slick-dots li {
  display: block;
  font-size: 0;
  color: transparent;
  width: 12px;
  height: 12px;
  background: #fff;
  border-radius: 50px;
  pointer-events: auto;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-mv-dots .slick-dots li {
    width: 2.0930232558vw;
    height: 2.0930232558vw;
  }
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .p-mv-dots .slick-dots li:hover {
    opacity: 0.7;
  }
}
.p-mv-dots .slick-dots li.slick-active {
  background: #45A7DC;
}
@media print, screen and (min-width: 768px) {
  .p-mv-dots .slick-dots li + li {
    margin-top: 12px;
  }
}

.l-page {
  border-radius: 6rem 6rem 0 0;
}
@media screen and (max-width: 767px) {
  .l-page {
    border-radius: 6.976744186vw 6.976744186vw 0 0;
  }
}