@charset "UTF-8";
/*
breakpoints
------------------------------------*/
/*
px → vw
------------------------------------*/
/*
color
------------------------------------*/
/*
font
------------------------------------*/
.l-mv {
  margin-left: 10vw;
  width: 90vw;
  height: 139.6875vw;
}
.l-mv .swiper {
  padding-top: 59px;
  width: 100%;
  height: 100%;
  overflow: auto !important;
}
.l-mv .swiper-wrapper {
  width: 100%;
  height: 100%;
}
.l-mv .swiper-slide {
  background-size: contain;
  background-position: top left;
  background-repeat: no-repeat;
  position: relative;
}
.l-mv .swiper-slide:nth-of-type(1) {
  background-image: url(../../img/s/l-mv-slider-01.png);
}
.l-mv .swiper-slide:nth-of-type(2) {
  background-image: url(../../img/s/l-mv-slider-02.png);
}
.l-mv .swiper-slide:nth-of-type(3) {
  background-image: url(../../img/s/l-mv-slider-03.png);
}
.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-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-mv .l-mv-slide-btn {
  position: absolute;
  bottom: 1.25vw;
  right: 0;
  width: 84.375vw;
  z-index: 9999;
  opacity: 1;
}
.l-mv .l-mv-slide-btn .u-btn-type02 {
  padding-right: 4.6875vw;
}
.l-mv .l-mv-slide-btn .u-btn-type02-text {
  padding-left: 4.0625vw;
}
.l-mv .l-mv-slide-btn .u-btn-type02-text:after {
  width: 17.5vw;
  height: 3.125vw;
}

.l-news {
  padding: 12.5vw 0 22.1875vw;
}

.l-news-list {
  margin: 4.6875vw auto 0;
}

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

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

.l-news-list-item__title {
  font-size: 3.75vw;
}

.l-news-condition {
  position: relative;
  margin: 16.25vw 0 0 auto;
}

.l-news-condition-bg {
  position: absolute;
  top: 21.875vw;
  right: 0;
  width: 31.25vw;
}
.l-news-condition-bg img {
  width: 100%;
}

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

.l-news-condition-list {
  padding: 0 6.25vw 0 12.8125vw;
  margin: 22.1875vw auto 0 0;
}

.l-news-condition-list-item {
  position: relative;
  padding-top: 15.625vw;
  min-height: 78.125vw;
}
.l-news-condition-list-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../../img/s/l-news-condition-list-item-bg.png);
  background-size: contain;
  background-position: bottom left;
  background-repeat: no-repeat;
  width: 100%;
  height: 78.125vw;
  z-index: -1;
}
.l-news-condition-list-item:not(:first-child) {
  margin-top: -1.625vw;
}

.l-news-condition-list-item-inner {
  width: 100%;
  margin: 0 auto 0 3.75vw;
}

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

.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: -8.125vw 24.0625vw 0 auto;
}

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

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

.l-news-condition-list-item__text {
  font-size: 4.375vw;
  color: #ffffff;
  background-color: #1F1F1F;
  display: block;
  width: 53.125vw;
  margin: -4.6875vw auto 0 5.9375vw;
  padding: 1.25vw 3.125vw 1.25vw 5vw;
  text-align: center;
  letter-spacing: 0.5em;
  font-weight: 900;
}

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

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

.l-reason-inner__scroll {
  padding-left: 0.9375vw;
}

.l-reason-inner__list {
  display: flex;
  margin-top: 1.5625vw;
}

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

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

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

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

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

.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: 1.25vw 0 0 auto;
  font-size: 4.375vw;
  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: 3.125vw;
  transform: translateY(-50%);
  width: 12.5vw;
  height: 0.15625vw;
  background-color: #ffffff;
}

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

.l-reason-inner__titleBox {
  margin-right: 1.875vw;
  min-width: 61.875vw;
}

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

.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: 6.25vw;
  padding: 0 1.875vw 0 1.875vw;
  display: inline;
  background-color: #ffffff;
}

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

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

.l-reason-inner__title-text {
  font-size: 10vw;
  position: relative;
  margin-left: -3.75vw;
  top: -0.78125vw;
}

.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: 5.625vw;
  margin: 0 auto;
  line-height: 1.6;
  max-width: 1040px;
  padding: 9.0625vw 0vw 7.1875vw 4.6875vw;
}

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

.l-contact-content-bg {
  width: 78.125vw;
  z-index: 2;
  position: relative;
  margin-left: 10.9375vw;
  /* =========================
   * 背景（赤）
   ========================= */
  /* 表示 */
  /* 縮む */
  /* =========================
   * 画像
   ========================= */
  /* is-show 時に画像表示（少し遅らせる） */
}
.l-contact-content-bg::before {
  content: "";
  position: absolute;
  left: -10.9375vw;
  bottom: 0;
  background: #E50012;
  width: 10.9375vw;
  height: 21.875vw;
  z-index: 1;
}
.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% - 10.9vw));
          clip-path: inset(0 0 0 calc(100% - 10.9vw));
}
.l-contact-content-bg img {
  position: relative;
  z-index: 3;
  width: 100%;
  /* 初期：非表示 */
  -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;
  padding: 7.5vw 5vw 0 6.875vw;
}

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

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

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

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

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

.l-contact-content-form-item-input-required {
  font-size: 2.8125vw;
  background-color: #E50012;
  margin-left: 1.875vw;
  padding: 0.625vw;
  border-radius: 0.9375vw;
  color: #ffffff;
}

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

.l-contact-content-form-item-input-wrap {
  margin-top: 1.875vw;
  display: block;
  font-size: 3.75vw;
}
.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: 3.75vw;
  width: 100%;
  min-height: 10.9375vw;
  padding: 0 1.25vw;
  background-color: #F7F7F7;
  border-radius: 2.5vw;
}
.l-contact-content-form-item-input-wrap input[type=radio] {
  width: 4.375vw;
  height: 4.375vw;
  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: 3.125vw;
}

.l-contact-content-form-btn {
  margin-top: 6.25vw;
}
.l-contact-content-form-btn .u-btn-type01 {
  margin: 0 0 0 auto;
}

.l-works {
  padding-top: 16.875vw;
  padding-bottom: 9.375vw;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.l-works-lead-black {
  font-size: 5.625vw;
  font-weight: 700;
  margin-top: 7.5vw;
  line-height: 1.8;
}

.l-works-lead-red {
  font-size: 10vw;
  font-weight: 900;
  margin-top: 13.75vw;
  color: #E50012;
  display: block;
}

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

.l-works-list {
  margin-top: 23.125vw;
  display: grid;
  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:not(:first-child) {
  margin-top: 9.375vw;
}
.l-works-list-item::after {
  content: "0" counter(num);
  position: absolute;
  top: 52.8125vw;
  left: 0;
  font-size: 16.875vw;
  font-family: "Ropa Sans", sans-serif;
  color: #ffffff;
}
.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: 12.1875vw;
  height: 3.4375vw;
  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: 4.375vw;
  padding-left: 21px;
}

.l-works-list-item-title {
  font-size: 4.375vw;
  font-weight: 700;
  margin-top: 16px;
  display: block;
  padding-bottom: 0.9375vw;
  border-bottom: 0.3125vw solid #CCCCCC;
}

.l-works-list-item-text {
  font-size: 4.375vw;
  margin-top: 2.1875vw;
  display: block;
  line-height: 1.8;
}

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