@charset "UTF-8";
/* home slider setting
------------------------------------*/
.p-homeSlider__slider .swiper-slide {
  background-color: #f1f3f9;
  padding-bottom: 0;
  padding-top: 0;
  text-align: center;
  width: 100%;
}
.p-homeSlider__slider .swiper-slide.-type2 {
  background-image: url(../img/object/project/p-home-slider/bg_b.webp);
  background-position: center bottom;
  background-repeat: repeat-x;
  background-size: auto 100%;
}
.p-homeSlider__slider .swiper-slide.-type3 {
  background-color: #def2f3;
}
.p-homeSlider__slider .swiper-slide picture {
  position: relative;
  z-index: 1;
}
.p-homeSlider__slider .swiper-slide picture img {
  vertical-align: bottom;
}
.p-homeSlider__slider .swiper-slide .reflection {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 0;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1340px;
  height: auto;
  aspect-ratio: 1340 / 623;
  overflow: hidden;
  display: block;
}
.p-homeSlider__slider .swiper-slide .reflection::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100px;
  z-index: 1;
  width: 100px;
  height: 100%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0) 100%);
  transform: rotate(25deg);
  /* 斜めすぎない浅い角度 */
  opacity: 0;
  animation: reflectionSlide 3s ease-in-out infinite;
  pointer-events: none;
}
.p-homeSlider__slider .swiper-slide .reflection picture {
  z-index: 0;
}
.p-homeSlider__slider .swiper-slide .reflection picture img {
  display: block;
  margin: 0 auto;
  width: auto;
  height: 100%;
  max-height: 589.5px;
}
.p-homeSlider__slider .swiper-slide:not(.swiper-slide-active) .reflection::after {
  display: none;
}

/* home cta setting
------------------------------------*/
.p-homeCta {
  background: linear-gradient(to top, #f1f3f9, transparent);
  margin-top: -33px;
  padding-bottom: 50px;
  padding-top: 90px;
}
.p-homeCta .p-homeCta__container {
  margin-inline: auto;
  padding-left: 20px;
  padding-right: 20px;
  width: 1040px;
}
.p-homeCta .p-homeCta__container .p-homeCta__bannerList {
  align-items: normal;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  -moz-column-gap: 20px;
  column-gap: 20px;
}
.p-homeCta .p-homeCta__container .p-homeCta__bannerList li {
  width: calc(50% - 10px);
}
.p-homeCta .p-homeCta__container .p-homeCta__bannerList li .p-homeCta__note {
  font-size: 17px;
  margin-top: 15px;
}

.p-homeCta2 {
  background-color: #dce9f4;
  padding-bottom: 50px;
  padding-top: 30px;
}
.p-homeCta2 .p-homeCta2__container {
  margin-inline: auto;
  padding-left: 20px;
  padding-right: 20px;
  width: 1040px;
}
.p-homeCta2 .p-homeCta2__container .p-homeCta2__tel {
  margin-top: 20px;
}

/* brochure Banner 4 setting
------------------------------------*/
.c-brochureBanner4 {
  border-radius: 10px;
  display: block;
  padding-bottom: 10px;
  position: relative;
  text-decoration: none;
  transition: 0.2s ease-in-out box-shadow;
}
.c-brochureBanner4::before {
  bottom: 0;
  left: 0;
  position: absolute;
  background-color: #136d88;
  border-radius: 10px;
  content: "";
  height: 100%;
  width: 100%;
}
.c-brochureBanner4 .c-brochureBanner4__inner {
  align-items: normal;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: normal;
  background-color: #0093bf;
  border-radius: 10px;
  height: 160px;
  padding: 5px;
  position: relative;
}
.c-brochureBanner4 .c-brochureBanner4__inner::before {
  left: 0;
  position: absolute;
  top: 40px;
  background-image: url(../img/object/component/c-brochure-banner4/img.webp);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 132px;
  width: 178px;
  z-index: 1;
}
.c-brochureBanner4 .c-brochureBanner4__inner .c-brochureBanner4__free {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  left: -10px;
  position: absolute;
  top: -23px;
  background-color: #fce000;
  border-radius: 50%;
  color: #333;
  font-size: 22px;
  font-weight: 700;
  height: 67px;
  transform: rotate(-10deg);
  width: 67px;
  z-index: 2;
}
.c-brochureBanner4 .c-brochureBanner4__inner .c-brochureBanner4__text {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  background-color: #fff;
  border-radius: 5px 5px 0 0;
  color: #333;
  font-size: 24px;
  font-weight: 700;
  position: relative;
  height: 45px;
  width: 100%;
}
.c-brochureBanner4 .c-brochureBanner4__inner .c-brochureBanner4__text > span {
  position: absolute;
  top: -4px;
  display: inline-block;
}
.c-brochureBanner4 .c-brochureBanner4__inner .c-brochureBanner4__text > span > span {
  background: linear-gradient(transparent 80%, #fce000 80%);
  display: inline-block;
  margin-left: 5px;
  padding-bottom: 2px;
}
.c-brochureBanner4 .c-brochureBanner4__inner .c-brochureBanner4__text > span > span span {
  display: inline-block;
  font-size: 44px;
}
.c-brochureBanner4 .c-brochureBanner4__inner .c-brochureBanner4__content {
  margin-left: auto;
  padding-right: 10px;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
.c-brochureBanner4 .c-brochureBanner4__inner .c-brochureBanner4__content .c-brochureBanner4__epithet {
  left: -25px;
  position: absolute;
  top: -12px;
  color: #fff;
  font-size: 28px;
  font-weight: 700;
  transform: rotate(-11deg);
}
.c-brochureBanner4 .c-brochureBanner4__inner .c-brochureBanner4__content .c-brochureBanner4__heading {
  color: #fff;
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -.04em;
  margin-top: 10px;
  text-align: center;
}
.c-brochureBanner4 .c-brochureBanner4__inner .c-brochureBanner4__content .c-brochureBanner4__heading span {
  font-size: 58px;
}

@media (any-hover: hover) {
  .c-brochureBanner4:hover {
    box-shadow: 0 0 10px rgba(45, 67, 139, 0.4);
  }
}
/* home search setting
------------------------------------*/
.p-homeSearch {
  background-color: #f3f3f3;
  padding-bottom: 50px;
  padding-top: 60px;
}
.p-homeSearch .p-homeSearch__container {
  margin-inline: auto;
  padding-left: 20px;
  padding-right: 20px;
  width: 1120px;
}
.p-homeSearch .p-homeSearch__container .p-homeSearch__heading {
  color: #2d438b;
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 20px;
  text-align: center;
}
.p-homeSearch .p-homeSearch__container .p-homeSearch__heading span {
  font-family: Oswald, sans-serif;
  font-size: 54px;
  font-weight: 400;
}
.p-homeSearch .p-homeSearch__container .p-homeSearch__map {
  margin-top: 30px;
}
.p-homeSearch .p-homeSearch__nav {
  margin-top: 50px;
}
.p-homeSearch .p-homeSearch__slider {
  margin-top: 40px;
}
.p-homeSearch .p-homeSearch__area {
  margin-top: 60px;
}
.p-homeSearch .p-homeSearch__area .p-homeSearch__heading2nd {
  font-size: 44px;
  font-weight: 700;
  margin-bottom: 25px;
  text-align: center;
}
.p-homeSearch .p-homeSearch__area .p-homeSearch__heading2nd span {
  display: inline-block;
  padding-left: 55px;
  position: relative;
}
.p-homeSearch .p-homeSearch__area .p-homeSearch__heading2nd span::before {
  left: 0;
  position: absolute;
  top: -2.5px;
  background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2244.774%22%20height=%2254.085%22%20viewBox=%220%200%2044.774%2054.085%22%3E%3Cg%20transform=%22translate(-37.994%20-1235.484)%22%3E%3Cpath%20d=%22M34.278,409.916a.976.976,0,0,1,0-1.953h1.811a2.365,2.365,0,0,1,1.519.53,2.948,2.948,0,0,1,.908,1.348l6.17,17.954a1.533,1.533,0,0,1,.087.511,1.7,1.7,0,0,1-.557,1.236,2.727,2.727,0,0,1-1,.6,2.974,2.974,0,0,1-.963.165H2.515a3.022,3.022,0,0,1-.966-.165,2.7,2.7,0,0,1-.99-.593A1.714,1.714,0,0,1,0,428.309a1.622,1.622,0,0,1,.087-.514L6.261,409.84a2.926,2.926,0,0,1,.905-1.348,2.351,2.351,0,0,1,1.522-.53H10.5a.976.976,0,0,1,0,1.953H8.688a.464.464,0,0,0-.3.093,1.014,1.014,0,0,0-.28.463L2,428.215a1.411,1.411,0,0,0,.178.078,1.079,1.079,0,0,0,.334.057H42.259a1.031,1.031,0,0,0,.331-.057,1,1,0,0,0,.181-.081l-6.1-17.74a1.041,1.041,0,0,0-.283-.463.461.461,0,0,0-.3-.093Z%22%20transform=%22translate(37.994%20859.267)%22%20fill=%22%232d438b%22/%3E%3Cpath%20d=%22M15.552,43.816a.982.982,0,0,1-.525-.152l-.03-.02a.47.47,0,0,1-.1-.1A67.413,67.413,0,0,1,4.325,29.086C1.539,23.932,0,19.23,0,15.846v-.294a15.55,15.55,0,1,1,31.1,0v.294c0,3.368-1.535,8.073-4.312,13.24a68.03,68.03,0,0,1-10.6,14.472A.916.916,0,0,1,15.552,43.816Zm0-34.485a6.739,6.739,0,1,0,6.732,6.739A6.744,6.744,0,0,0,15.552,9.331Z%22%20transform=%22translate(44.443%201235.484)%22%20fill=%22%232d438b%22/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  content: "";
  height: 55px;
  width: 45px;
}

/* faq setting
------------------------------------*/
.c-faq {
  background-color: #f3f3f3;
  padding-bottom: 50px;
  padding-top: 60px;
}
.c-faq .c-faq__container {
  margin-inline: auto;
  padding-left: 20px;
  padding-right: 20px;
  width: 840px;
}
.c-faq .c-faq__container .c-faq__qa {
  margin-top: 50px;
}
.c-faq .c-faq__container .c-faq__buttonList {
  margin-top: 30px;
}
.c-faq .c-faq__container .c-faq__buttonList li {
  text-align: center;
}

/* staff setting
------------------------------------*/
.c-staff .c-staff__container .c-staff__text2 {
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.8823529412;
  margin-top: 25px;
  text-align: center;
}
.c-staff .c-staff__container .c-staff__text2 span {
  background: linear-gradient(transparent 7%, #2d438b 7%);
  padding-left: 5px;
  padding-right: 5px;
}
.c-staff .c-staff__container .c-staff__buttonList {
  margin-top: 30px;
}
.c-staff .c-staff__container .c-staff__buttonList li {
  text-align: center;
}
.c-staff .c-staff__slider {
  margin-top: 20px;
}
.c-staff .c-staff__slider .swiper-slide {
  height: auto;
  width: 345px;
}

/* ------------------------------------------------------------------------
	Ajustment For Smart Phone 
------------------------------------------------------------------------ */
@media screen and (max-width: 768px) {
  /* home slider setting
  ------------------------------------*/
  .p-homeSlider__slider .swiper-slide picture img {
    width: 100%;
  }
  .p-homeSlider__slider .swiper-slide .reflection {
    aspect-ratio: auto;
  }
  .p-homeSlider__slider .swiper-slide .reflection::after {
    width: 10vw;
  }
  .p-homeSlider__slider .swiper-slide .reflection picture img {
    width: 100vw;
    height: auto;
    max-height: 100%;
  }

  /* home cta setting
  ------------------------------------*/
  .p-homeCta3 {
    padding-bottom: 15px;
    padding-top: 40px;
  }
  .p-homeCta3 .p-homeCta3__container {
    padding-left: 15px;
    padding-right: 15px;
  }

  .p-homeCta4 {
    padding-bottom: 20px;
    padding-top: 25px;
    position: relative;
  }
  .p-homeCta4::before {
    left: 0;
    position: absolute;
    top: 0;
    background: linear-gradient(to bottom, #f1f3f9, #fff);
    content: "";
    height: 370px;
    width: 100%;
  }
  .p-homeCta4 .p-homeCta4__container {
    padding-left: 35px;
    padding-right: 35px;
    position: relative;
  }
  .p-homeCta4 .p-homeCta4__container .p-homeCta4__buttonList {
    margin-top: 15px;
  }
  .p-homeCta4 .p-homeCta4__container .p-homeCta4__buttonList li + li {
    margin-top: 25px;
  }
  .p-homeCta4 .p-homeCta4__container .p-homeCta4__buttonList li .p-homeCta4__promotion {
    margin-bottom: 10px;
    position: relative;
  }
  .p-homeCta4 .p-homeCta4__container .p-homeCta4__buttonList li .p-homeCta4__promotion .p-homeCta4__free {
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    left: -5px;
    position: absolute;
    top: 2px;
    background-color: #fce000;
    border-radius: 50%;
    color: #333;
    font-size: 18px;
    font-weight: 700;
    height: 45px;
    transform: rotate(-10deg);
    width: 45px;
    z-index: 1;
  }
  .p-homeCta4 .p-homeCta4__container .p-homeCta4__buttonList li .p-homeCta4__promotion .p-homeCta4__text2 {
    color: #333;
    font-size: 18px;
    font-weight: 700;
    position: relative;
    text-align: right;
  }
  .p-homeCta4 .p-homeCta4__container .p-homeCta4__buttonList li .p-homeCta4__promotion .p-homeCta4__text2 span > span {
    background: linear-gradient(transparent 83%, #fce000 83%);
    display: inline-block;
  }
  .p-homeCta4 .p-homeCta4__container .p-homeCta4__buttonList li .p-homeCta4__promotion .p-homeCta4__text2 span > span span {
    font-size: 32px;
  }
  .p-homeCta4 .p-homeCta4__container .p-homeCta4__buttonList li .p-homeCta4__note {
    font-size: 12px;
    margin-top: 5px;
  }

  /* brochure Banner 4 setting
  ------------------------------------*/
  /* home search setting
  ------------------------------------*/
  .p-homeSearch {
    padding-bottom: 10px;
    padding-top: 30px;
  }
  .p-homeSearch .p-homeSearch__container {
    padding-left: 15px;
    padding-right: 15px;
    width: auto;
  }
  .p-homeSearch .p-homeSearch__container .p-homeSearch__heading {
    font-size: 20px;
    margin-bottom: 10px;
  }
  .p-homeSearch .p-homeSearch__container .p-homeSearch__heading span {
    font-size: 30px;
  }
  .p-homeSearch .p-homeSearch__container .p-homeSearch__map {
    margin-top: 20px;
  }
  .p-homeSearch .p-homeSearch__container .p-homeSearch__nav {
    margin-top: 20px;
  }
  .p-homeSearch .p-homeSearch__container .p-homeSearch__slider {
    margin-top: 10px;
  }
  .p-homeSearch .p-homeSearch__container .p-homeSearch__area {
    margin-top: 30px;
  }

  /* faq setting
  ------------------------------------*/
  .c-faq {
    padding-bottom: 30px;
    padding-top: 30px;
  }
  .c-faq .c-faq__container {
    padding-left: 15px;
    padding-right: 15px;
    width: auto;
  }
  .c-faq .c-faq__container .c-faq__qa {
    margin-top: 20px;
  }
  .c-faq .c-faq__container .c-faq__buttonList {
    margin-top: 20px;
  }

  /* staff setting
  ------------------------------------*/
  .c-staff .c-staff__container .c-staff__text2 {
    font-size: 16px;
    line-height: 1.6875;
    margin-top: 10px;
    text-align: center;
  }
  .c-staff .c-staff__container .c-staff__buttonList {
    margin-top: 20px;
  }
  .c-staff .c-staff__slider {
    margin-top: 10px;
  }
  .c-staff .c-staff__slider .swiper-slide {
    width: 310px;
  }
}
@keyframes reflectionSlide {
  0% {
    transform: translate(-150px, 0) rotate(25deg);
    opacity: 0;
  }
  10% {
    opacity: 0.3;
  }
  50% {
    opacity: 1;
  }
  90% {
    opacity: 0.3;
  }
  100% {
    transform: translate(1000px, 0) rotate(25deg);
    opacity: 0;
  }
}
