@charset "UTF-8";
/*
breakpoints
------------------------------------*/
/*
px → vw
------------------------------------*/
/*
color
------------------------------------*/
/*
font
------------------------------------*/
.l-mv {
  margin-left: 150px;
  height: 66.4285714286vw;
  /* ページネーションのサイズと色 */
}
.l-mv .swiper {
  width: 100%;
  height: 100%;
}
.l-mv .swiper-wrapper {
  width: 100%;
  height: 100%;
}
.l-mv .swiper-slide {
  height: 100%;
  background-size: cover;
  background-position: top left;
  background-repeat: no-repeat;
  position: relative;
}
.l-mv .swiper-slide:nth-of-type(1) {
  background-image: url(../../img/p/l-mv-slider-01.jpg);
}
.l-mv .swiper-slide:nth-of-type(2) {
  background-image: url(../../img/p/l-mv-slider-02.jpg);
}
.l-mv .swiper-slide:nth-of-type(3) {
  background-image: url(../../img/p/l-mv-slider-03.jpg);
}
.l-mv .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.l-mv .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 20px 20px;
}
.l-mv .swiper-pagination {
  width: 100%;
  height: 100%;
  margin-left: auto;
  position: relative;
  text-align: left;
  bottom: 72px;
  left: 78px;
}
.l-mv .swiper-pagination-bullet {
  font-family: "Ropa Sans", sans-serif;
  margin: 0 68px 0 0 !important;
  width: 60px;
  height: 16px;
  border: 1px solid #fff;
  background-color: transparent;
  border-radius: 0;
  opacity: 1;
  position: relative;
}
.l-mv .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #ffffff;
}
.l-mv .swiper-pagination-bullet::before {
  content: "0" attr(data-index);
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  font-weight: 400;
  transform: translateY(-50%);
  top: 50%;
  left: -29px;
  position: absolute;
}

.l-news {
  padding: 110px 0 219px;
}

.l-news-list {
  width: 87%;
  margin: 50px auto 0;
}

.l-news-list-item {
  display: block;
  padding-bottom: 23px;
  border-bottom: 1px solid #CCCCCC;
}
.l-news-list-item:not(:first-of-type) {
  margin-top: 23px;
}

.l-news-list-item__date {
  font-size: 16px;
  font-family: "Ropa Sans", sans-serif;
  color: #707070;
}

.l-news-list-item__title {
  margin-top: 6px;
  font-size: 16px;
}

.l-news-condition {
  position: relative;
  width: 85.2857142857vw;
  margin: 126px 0 0 auto;
}

.l-news-condition-bg {
  padding-bottom: 3.5714285714vw;
  position: absolute;
  top: -3.5714285714vw;
  right: 0;
  width: 21.0714285714vw;
}
.l-news-condition-bg img {
  width: 100%;
}

.l-news-condition-title {
  font-size: 2.7142857143vw;
  font-weight: 700;
  width: 100%;
  text-align: center;
  display: block;
  margin: 0 calc(50% - 50vw);
}

.l-news-condition-list {
  display: grid;
  grid-template-columns: 40.4% 40.4%;
  padding: 0 0 0 1.4285714286vw;
  margin: 3.5vw auto 0 0;
  gap: 3.1428571429vw;
}

.l-news-condition-list-item {
  position: relative;
  padding-top: 7vw;
}
.l-news-condition-list-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../../img/p/l-news-condition-list-item-bg.png);
  background-size: cover;
  background-position: bottom left;
  width: 100%;
  height: 33.5vw;
  z-index: -1;
}

.l-news-condition-list-item-inner {
  width: 25vw;
  margin: 0 auto 0 3.5vw;
}

.l-news-condition-list-item__title {
  font-size: 2.1428571429vw;
  color: #ffffff;
  font-weight: 700;
  display: block;
  text-align: center;
}

.l-news-condition-list-item__num {
  color: #ffffff;
  display: flex;
  justify-content: flex-end;
  align-items: end;
  font-family: "Zen Kaku Gothic New", sans-serif;
  margin: -4vw 2.0714285714vw 0 auto;
}

.l-news-condition-list-item__num--text {
  font-size: 14.2857142857vw;
  font-weight: 900;
  min-width: 13.0714285714vw;
  text-align: center;
}

.l-news-condition-list-item__num--unit {
  font-size: 4.2857142857vw;
  font-weight: 900;
  position: relative;
  top: -3.5714285714vw;
}

.l-news-condition-list-item__text {
  font-size: 1.8571428571vw;
  color: #ffffff;
  background-color: #1F1F1F;
  display: block;
  width: 22.8571428571vw;
  margin: -1.8571428571vw auto 0;
  padding: 0.3571428571vw 1.4285714286vw 0.3571428571vw 2.2857142857vw;
  text-align: center;
  letter-spacing: 0.5em;
  font-weight: 900;
}

.l-reason {
  height: 100vh;
  overflow: hidden;
  background-image: url(../../img/p/l-reason-bg.png);
  background-size: cover;
  background-position: top left;
  background-repeat: no-repeat;
  padding-top: 3.7857142857vw !important;
  position: relative;
}

.l-reason-content {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  width: 85.2857142857vw;
  margin: 53px 0 0 auto;
}
.l-reason-content .pin-spacer {
  margin-top: 53px !important;
  padding-bottom: 0 !important;
  height: auto !important;
}

.l-reason-inner__list {
  display: flex;
  margin-top: 50px;
}

.l-reason-inner__list-item {
  display: grid;
  place-items: end;
}
.l-reason-inner__list-item:not(:last-of-type) {
  margin-right: 2.1428571429vw;
}

.l-reason-inner__list-item-inner {
  position: relative;
  width: 35.7142857143vw;
  height: 25vw;
}

.l-reason-inner__list-item-bg {
  width: 100%;
  display: block;
}

.l-reason-inner__list-item-text {
  position: absolute;
  bottom: 23px;
  left: 12px;
  color: #ffffff;
  font-size: 1.7142857143vw;
  font-weight: 900;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.l-reason-inner__list-item-text-big {
  font-size: 2.1428571429vw;
}

.l-reason-title-wrap {
  margin: 0 auto 0 0;
  padding: 0;
  max-width: 1000px;
}

.l-reason-pagenation {
  text-align: right;
  display: flex;
  justify-content: flex-end;
  margin: 0.6428571429vw 0 0 auto;
  font-size: 1.4285714286vw;
  font-family: "Ropa Sans", sans-serif;
  color: #ffffff;
}

.l-reason-pagenation-change {
  position: relative;
}
.l-reason-pagenation-change:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 1.6428571429vw;
  transform: translateY(-50%);
  width: 5.7142857143vw;
  height: 0.0714285714vw;
  background-color: #ffffff;
}

.l-reason-pagenation-last {
  margin-left: 6.6428571429vw;
}

.l-reason-inner__titleBox {
  margin-right: 3.2857142857vw;
  min-width: 22.8571428571vw;
}

.l-reason-inner__subtitle {
  display: grid;
  gap: 0.7142857143vw;
}

.l-reason-inner__subtitle-text span {
  color: #1F1F1F;
  position: relative;
  z-index: 1;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  font-size: 2.5vw;
  padding: 0 0.4285714286vw;
  display: inline;
  background-color: #ffffff;
}

.l-reason-inner__title {
  font-weight: 900;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #ffffff;
  margin-top: -0.7142857143vw;
}

.l-reason-inner__title-num {
  font-size: 6.4285714286vw;
}

.l-reason-inner__title-text {
  font-size: 3.9285714286vw;
  position: relative;
  margin-left: -1.7142857143vw;
  top: -0.3571428571vw;
}

.l-contact {
  font-weight: 700;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.l-contact-lead {
  background-color: #ffffff;
}

.l-contact-lead-text {
  font-size: 2vw;
  margin: 0 auto;
  line-height: 1.6;
  max-width: 1040px;
  padding: 2.0714285714vw 1.4285714286vw 2.5vw;
}

.l-contact-content {
  padding: 2.5714285714vw 0 0;
  position: relative;
}

.l-contact-content-inner {
  display: flex;
}

.l-contact-content-bg {
  height: 47.7857142857vw;
  min-width: 57.1428571429vw;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  position: relative;
  /* =========================
   * 背景（赤）
   ========================= */
  /* ① 左 → 右へ100%表示 */
  /* ② 右側を残して縮む */
  /* =========================
   * 画像
   ========================= */
  /* is-show 後に画像表示（背景と同期） */
}
.l-contact-content-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #E50012;
  z-index: 2;
  /* 初期：左から隠す */
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  transition: -webkit-clip-path 0.8s ease;
  transition: clip-path 0.8s ease;
  transition: clip-path 0.8s ease, -webkit-clip-path 0.8s ease;
}
.l-contact-content-bg.is-show::after {
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
}
.l-contact-content-bg.shrink::after {
  transition: -webkit-clip-path 0.6s ease;
  transition: clip-path 0.6s ease;
  transition: clip-path 0.6s ease, -webkit-clip-path 0.6s ease;
  -webkit-clip-path: inset(0 0 0 calc(100% - 7.14vw));
          clip-path: inset(0 0 0 calc(100% - 7.14vw));
}
.l-contact-content-bg img {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 57.1428571429vw;
  /* 初期：非表示 */
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  opacity: 0;
  transition: opacity 0.3s ease, -webkit-clip-path 0.65s ease;
  transition: clip-path 0.65s ease, opacity 0.3s ease;
  transition: clip-path 0.65s ease, opacity 0.3s ease, -webkit-clip-path 0.65s ease;
}
.l-contact-content-bg.is-show img {
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
  opacity: 1;
  transition-delay: 0.6s;
}

.l-contact-content-form {
  background-color: #ffffff;
  width: 50vw;
  padding: 1.2857142857vw 0 0 10.3571428571vw;
  margin: 0 auto 0 -7.1428571429vw;
}

.l-contact-content-form-lead-black {
  font-size: 1.8571428571vw;
  color: #1F1F1F;
}

.l-contact-content-form-lead-red {
  display: block;
  font-size: 2.5714285714vw;
  color: #E50012;
  margin-top: 0.5vw;
}

.l-contact-content-form-wrap {
  margin-top: 2.2142857143vw;
  padding-bottom: 1.6428571429vw;
}

.l-contact-content-form-item:not(:first-of-type) {
  margin-top: 2.2142857143vw;
}

.l-contact-content-form-item-text {
  font-size: 1.2857142857vw;
}

.l-contact-content-form-item-input-required {
  font-size: 0.8571428571vw;
  background-color: #E50012;
  margin-left: 0.8571428571vw;
  padding: 0.3571428571vw;
  border-radius: 0.4285714286vw;
  color: #ffffff;
}

.l-contact-content-form-item-input-optional {
  font-size: 0.8571428571vw;
  background-color: #A7A7A7;
  margin-left: 0.8571428571vw;
  padding: 0.3571428571vw;
  border-radius: 0.4285714286vw;
  color: #ffffff;
}

.l-contact-content-form-item-input-wrap {
  margin-top: 0.7142857143vw;
  display: block;
  font-size: 1.2857142857vw;
}
.l-contact-content-form-item-input-wrap input[type=text], .l-contact-content-form-item-input-wrap input[type=tel], .l-contact-content-form-item-input-wrap input[type=email] {
  font-size: 1.2857142857vw;
  width: 23.9285714286vw;
  min-height: 3.5714285714vw;
  padding: 0 0.7142857143vw;
  background-color: #F7F7F7;
  border-radius: 0.5714285714vw;
}
.l-contact-content-form-item-input-wrap input[type=radio] {
  width: 1.4285714286vw;
  height: 1.4285714286vw;
  border-radius: 50%;
  border: 1px solid #A7A7A7;
  background-color: #ffffff;
  display: block;
}
.l-contact-content-form-item-input-wrap input[type=radio]:not(:first-of-type) {
  margin-top: 0.9285714286vw;
}

.l-contact-content-form-btn {
  margin-top: 4.6428571429vw;
  padding-left: 1.4285714286vw;
}
.l-contact-content-form-btn .u-btn-type01-text {
  padding-right: 2.8571428571vw;
}

.l-works {
  padding-top: 133px;
  padding-bottom: 106px;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.l-works-lead-black {
  font-size: 28px;
  font-weight: 700;
  margin-top: 33px;
  line-height: 1.6;
}

.l-works-lead-red {
  font-size: 55px;
  font-weight: 900;
  margin-top: 34px;
  color: #E50012;
  display: block;
}

.l-works-lead-text {
  font-size: 18px;
  margin-top: 5px;
  line-height: 1.8;
}

.l-works-list {
  margin-top: 36px;
  display: grid;
  grid-template-columns: repeat(3, 32%);
  gap: 47px 1.9%;
  counter-reset: num;
}

.l-works-list-item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
  align-items: baseline;
  counter-increment: num;
  position: relative;
}
.l-works-list-item::after {
  content: "0" counter(num); /* カウンターの値を表示 */
  position: absolute;
  top: 200px;
  left: 0;
  font-size: 60px;
  font-family: "Ropa Sans", sans-serif;
  color: #ffffff;
}
@media screen and (max-width: 1000px) {
  .l-works-list-item::after {
    top: 14.2857142857vw;
  }
}
.l-works-list-item:hover::after {
  color: #E50012;
}
.l-works-list-item:hover .l-works-list-item-link::before {
  background-color: #E50012;
}
.l-works-list-item:hover .l-works-list-item-img {
  transform: scale(1.05);
}

.l-works-list-item-img-wrap {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.l-works-list-item-img {
  width: 100%;
  transition: transform 0.3s ease;
}

.l-works-list-item-link {
  min-height: 60px;
  display: flex;
  align-items: center;
  background-color: #ffffff;
  position: relative;
}
.l-works-list-item-link::before {
  content: "";
  background-color: #1F1F1F;
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 100%;
}
.l-works-list-item-link:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 9px;
  transform: translateY(-50%);
  width: 39px;
  height: 11px;
  background-image: url(../../img/p/l-works-list-item-link-icon.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.l-works-list-item-link:hover::before {
  background-color: #E50012;
}

.l-works-list-item-link-text {
  font-size: 18px;
  padding-left: 21px;
}

.l-works-list-item-title {
  font-size: 16px;
  font-weight: 700;
  margin-top: 16px;
  display: block;
}

.l-works-list-item-text {
  font-size: 16px;
  margin-top: 15px;
  display: block;
  padding-right: 5px;
}

.l-works-btn {
  margin-top: 97px;
  padding-right: 30px;
  text-align: right;
  width: 100%;
}
.l-works-btn .u-btn-type01 {
  display: inline;
}/*# sourceMappingURL=substyle.css.map */