.p-bg02 {
  position: relative;
}
.p-bg02::before,
.p-bg02::after {
  z-index: 0;
}
.p-products__section {
  position: relative;
  z-index: 1;
}
.p-bg01 {
  position: relative;
}
.p-bg01::before {
  position: absolute;
  content: "";
  width: 960px;
  height: 720px;
  top: -140px;
  left: 0;
  margin: 0;
  background: url("/img/common/pic_bg01.png") no-repeat left top;
  background-size: contain;
}
@media (max-width: 1060px) {
    .p-bg01::before {
      position: absolute;
      content: "";
      width: 740px;
      height: 580px;
      top: -140px;
      left: 0;
      margin: 0;
      background: url("/img/common/pic_bg01.png") no-repeat left top;
      background-size: contain;
    }
}
@media (max-width: 768px) {
    .p-bg01::before {
      position: absolute;
      content: "";
      width: 340px;
      height: 180px;
      top: -60px;
      left: 0;
      margin: 0;
      background: url("/img/common/pic_bg01.png") no-repeat left top;
      background-size: contain;
    }
}

@media (max-width: 500px) {
    .p-bg01::before {
      position: absolute;
      content: "";
      width: 300px;
      height: 140px;
      top: -60px;
      left: 0;
      margin: 0;
      background: url("/img/common/pic_bg01.png") no-repeat left top;
      background-size: contain;
    }
}

.p-bg01::after {
  position: absolute;
  content: "";
  width: 960px;
  height: 720px;
  bottom: -500px;
  right: 0;
  margin: 0;
  background: url("/img/common/pic_bg02.png") no-repeat left top;
  background-size: contain;
}
@media (max-width: 1060px) {
    .p-bg01::after {
      position: absolute;
      content: "";
      width: 740px;
      height: 580px;
      bottom: -500px;
      right: 0;
      margin: 0;
      background: url("/img/common/pic_bg02.png") no-repeat left top;
      background-size: contain;
    }
}
@media (max-width: 768px) {
    .p-bg01::after {
      position: absolute;
      content: "";
      width: 440px;
      height: 280px;
      bottom: -180px;
      right: 0;
      margin: 0;
      background: url("/img/common/pic_bg02.png") no-repeat left top;
      background-size: contain;
    }
}

.p-bg02 {
  position: relative;
}
.p-bg02::before {
  position: absolute;
  content: "";
  width: 960px;
  height: 720px;
  top: -140px;
  left: 0;
  margin: 0;
  background: url("/img/common/pic_bg03.png") no-repeat left top;
  background-size: contain;
}
@media (max-width: 1060px) {
    .p-bg02::before {
      position: absolute;
      content: "";
      width: 740px;
      height: 580px;
      top: -140px;
      left: 0;
      margin: 0;
      background: url("/img/common/pic_bg03.png") no-repeat left top;
      background-size: contain;
    }
}
@media (max-width: 768px) {
    .p-bg02::before {
      position: absolute;
      content: "";
      width: 300px;
      height: 180px;
      top: 60px;
      left: 0;
      margin: 0;
      background: url("/img/common/pic_bg03.png") no-repeat left top;
      background-size: contain;
    }
}

.p-bg02::after {
  position: absolute;
  content: "";
  width: 960px;
  height: 720px;
  bottom: -500px;
  right: 0;
  margin: 0;
  background: url("/img/common/pic_bg04.png") no-repeat left top;
  background-size: contain;
}
@media (max-width: 1060px) {
    .p-bg02::after {
      position: absolute;
      content: "";
      width: 740px;
      height: 580px;
      bottom: -500px;
      right: 0;
      margin: 0;
      background: url("/img/common/pic_bg04.png") no-repeat left top;
      background-size: contain;
    }
}
@media (max-width: 768px) {
    .p-bg02::after {
      position: absolute;
      content: "";
      width: 440px;
      height: 280px;
      bottom: -180px;
      right: 0;
      margin: 0;
      background: url("/img/common/pic_bg04.png") no-repeat left top;
      background-size: contain;
    }
}

.p-bg03 {
  position: relative;
}
.p-bg03::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  margin: 0;
  background: url("/img/common/pic_bg05.png") no-repeat left top;
  z-index: -1;
}
@media (max-width: 1060px) {
    .p-bg03::before {
      top: 20px;
    }
}

.p-bg02::before,
.p-bg02::after {
  z-index: 0;
}

/* Bottom CTA Section */
.p-bottom-cta {
  display: flex;
  gap: 40px;
  justify-content: center;
  align-items: stretch;
  position: relative;
}
@media (max-width: 1060px) {
  .p-bottom-cta{
      display: flex;
      flex-direction: column;
      gap: 20px;
  }
}
.p-bottom-cta__bg::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 400px;
  background-image: url("/img/top/pic_contact_bg.jpg");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  z-index: -1;
}
@media (max-width: 1060px) {
    .p-bottom-cta__bg::before {
      height: 700px;
    }
}


.p-bottom-cta a {
  text-decoration: none;
  display: flex;
  position: relative;
}
@media (max-width: 1060px) {
  .p-bottom-cta a {
    width: 100%;
  }
}
.p-bottom-cta a:hover {
  text-decoration: none;
}
.p-bottom-cta__item01,
.p-bottom-cta__item02 {
  width: 670px;
  height: 340px;
  border-radius: 30px;
  padding: 60px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  transition: all 0.6s ease;
  position: relative;
  overflow: hidden;
}
@media (max-width: 1500px) {
    .p-bottom-cta__item01,
    .p-bottom-cta__item02 {
      width: 500px;
}
}
@media (max-width: 1060px) {
    .p-bottom-cta__item01,
    .p-bottom-cta__item02 {
      width: 100%;
}
}
.p-bottom-cta__item01 {
  background-image: url("/img/top/pic_cta__item01.png");
  background-size: cover;
  background-position: center;
}
.p-bottom-cta__item02 {
  background-image: url("/img/top/pic_cta__item02.png");
  background-size: cover;
  background-position: center;
}
.p-bottom-cta__item01::after,
.p-bottom-cta__item02::after {
  content: "";
  position: absolute;
  right: 20px;
  bottom: 20px;
  width: 60px;
  height: 60px;
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
  z-index: 2;
  pointer-events: none;
  transition: transform 0.6s ease;
}
@media (max-width: 768px) {
    .p-bottom-cta__item01::after,
    .p-bottom-cta__item02::after {
        width: 36px;
        height: 36px;
    }
}
.p-bottom-cta__item01:hover::after,
.p-bottom-cta__item02:hover::after {
  transform: translateX(8px);
}
.p-bottom-cta__item01::after {
  background-image: url("/img/common/ico_arrow01_white.svg");
}
.p-bottom-cta__item02::after {
  background-image: url("/img/common/ico_arrow01.svg");
}
.p-bottom-cta a:hover .p-bottom-cta__item01::before,
.p-bottom-cta a:hover .p-bottom-cta__item02::before {
  transform: scale(1.1);
}
.p-bottom-cta__item01 > *,
.p-bottom-cta__item02 > * {
  position: relative;
  z-index: 1;
}
.p-bottom-cta__item01 > p,
.p-bottom-cta__item02 > p {
  flex: 1;
  display: flex;
  align-items: center;
}
.p-bottom-cta__item01 {
  background-color: #23769F;
  color: var(--color-white);
}
.p-bottom-cta__item02 {
  background-color: var(--color-gray02);
  color: var(--color-text);
  border: 3px solid var(--color-primary);
}

@media screen and (max-width: 768px) {
  .p-bottom-cta {
    flex-direction: column;
    gap: 20px;
  }
  .p-bottom-cta a {
    width: 100%;
  }
  .p-bottom-cta__item01,
  .p-bottom-cta__item02 {
    min-height: 300px;
    padding: 40px 20px;
  }
}

.p-bottom-cta__item01 .c-title__inner .c-title01__en{
  color: var(--color-white);
}

.p-bottom-cta__item01 .c-title__inner .c-title01__en::before{
  background: var(--color-white);
}

.p-iframe {
  width: 400px;
  height: 250px;
  border: 0;
}
@media (max-width: 1000px) {
    .p-iframe {
        width: 100%;
    }
}



/*----------------------------------------*/
.p-mainimages{
  position: relative;
  margin-top: calc(var(--header-hight) - 1px);
}
.is-home .p-mainimages{
  margin-top: 0;
}
.p-mainimages .splide__slide{
	width: 100%;
	height: calc(100vh - var(--header-hight));
}
.is-home .p-mainimages .splide__slide{
  height: 100vh;
}
.p-mainimages .splide__slide img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-mainimages .splide__arrows{
	display: none;
}
.p-mainimages .splide__pagination {
  padding: 0;
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
}
.p-mainimages .splide__pagination li {
  margin: 0 7px;
  display: flex;
}
.p-mainimages .splide__pagination li button{
  cursor: pointer;
}
.p-mainimages .splide__pagination__page {
  width: clamp(1rem, 10vw, 5rem);
  height: 8px;
  background-color: #c6c6c6;
  border-radius: 0;
}
.p-mainimages .splide__pagination__page.is-active {
  background-color: var(--color-primary);
}

.p-mainimage__text{
  position: absolute;
  left: 6vw;
  bottom: 5vw;
  z-index: 2;
  color: var(--color-white);
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.7);
}
@media (max-width: 1060px) {
    .p-mainimage__text{
      top: 60%;
        left: 50%;
        transform: translate(-50%, -50%);
      text-align: center;
      width: 100%;
    }
}


.p-mainimage__text h2{
  font-size: 4vw;
  line-height: 1.4;
  font-weight: 700;
  margin: 0;
}
@media (max-width: 1060px) {
    .p-mainimage__text h2{
        font-size: clamp(2vw, 5vw, 6vw);
    }
}
@media (max-width: 768px) {
    .p-mainimage__text h2{
        font-size: 2rem;
    }
}
.p-mainimage__text p{
  font-size: clamp(1vw, 1.6vw, 3vw);
  font-weight: bold;
  line-height: 1.6;
  margin: 0.6em 0 0;
}
@media screen and (max-width: 768px) {
  .p-mainimage__text p{
    font-size: 1rem;
  }
}

/*-------------------------------------------*/
.c-slide01:not( .is-overflow ) .splide__list {
  justify-content: center;
}
.c-slide01 .splide__slide {
  display: flex;
}
.c-slide01 .splide__slide a {
  display: flex;
  flex: 1;
}
.c-slide01 .splide__arrows {
  position: absolute;
  top: 40%;
  right: 0;
  left: 0;
  margin: auto;
  width: calc(100% - 40px);
}
.c-slide01 .splide__arrow--prev,
.c-slide01 .splide__arrow--next {
  position: absolute;
  cursor: pointer;
  transition: opacity .3s;
}
.c-slide01 .splide__arrow--prev:hover,
.c-slide01 .splide__arrow--next:hover {
  opacity: .6;
}
.c-slide01 .splide__arrow--prev[disabled],
.c-slide01 .splide__arrow--next[disabled] {
  pointer-events: none;
  opacity: 0;
}
.c-slide01 .splide__arrow--prev svg path,
.c-slide01 .splide__arrow--next svg path{
  fill: var(--color-primary);
}
.c-slide01 .splide__arrow--prev {
  left: -70px;
  transform: scale(-1, 1);
}
.c-slide01 .splide__arrow--next {
  right: -70px;
}
.c-slide01 .splide__pagination {
  padding: 0;
  position: relative;
  z-index: 1;
  margin-top: 10px;
}
.c-slide01 .splide__pagination li {
  margin: 0 7px;
}
.c-slide01 .splide__pagination li button{
  cursor: pointer;
}
.c-slide01 .splide__pagination__page {
  width: 14px;
  height: 14px;
  background-color: #c6c6c6;
  border-radius: 50%;
}
.c-slide01 .splide__pagination__page.is-active {
  background-color: var(--color-primary);
}
@media screen and (max-width: 768px) {
  .c-slide01 {
    width: calc(100%);
    margin: auto;
  }
  .c-slide01 .splide__arrows {
    width: calc(100%);
    top: initial;
    bottom: 0;
  }
  .c-slide01 .splide__arrow--prev {
    left: 0;
    top: initial;
    bottom: 0;
  }
  .c-slide01 .splide__arrow--next {
    right: 0;
    top: initial;
    bottom: 0;
  }
  .c-slide01 .splide__arrow--prev svg,
  .c-slide01 .splide__arrow--next svg {
    width: 25px;
    height: 25px;
  }
  .c-slide01 .splide__pagination {
    height: 40px;
    width: calc(100% - 60px);
    margin: 20px auto 0;
  }
}

.splide__toggle{
  display: flex;
}
.splide__toggle__play{
  font-size: 0;
  color: rgba(0, 0, 0, 0);
  width: 26px;
  height: 26px;

  border: 1px solid #FFF;
  padding: 2px;
  position: relative;
}
.splide__toggle__play::before{
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid #ffffff;
  border-right: 0;
  position: absolute;
  top: 4px;
  left: 7px;
}
.splide__toggle__pause{
  font-size: 0;
  color: rgba(0, 0, 0, 0);
  width: 26px;
  height: 26px;
  border: 1px solid #FFF;
  padding: 2px;
  position: relative;
}
.splide__toggle__pause::before{
  content: "";
  width: 16px;
  height: 4px;
  box-shadow: 0 8px 0 #FFF;
  background: #FFF;
  display: block;
  transform: rotate(-90deg);
  position: absolute;
  top: 10px;
  left: 0;
}
/*-------------------------------------------*/
.c-tab01-list{
  display: flex;
  justify-content: center;
  margin-bottom: -1px;
}
.c-tab01-list-item{
  text-align: center;
  padding: 0.5em 1.5em 0.4em;
  cursor: pointer;
  border: 1px solid var(--color-secondary);
  border-radius: 10px 10px 0 0;
  margin-right: 5px;
  transition: all .4s;
}
.c-tab01-list-item:hover{
  opacity: .6;
}
.c-tab01-contents{
  background: #FFF;
  display: none;
}
.c-tab-btn-active{
  background: var(--color-tertiary);
  font-weight: 700;
}
.c-tab-contents-active{
  display: block;
}
@media screen and (max-width: 768px) {
  .c-tab01-list{
    flex-wrap: wrap;
  }
  .c-tab01-list-item{
    border-radius: 10px;
    margin: 0 10px 10px 0;
  }
}
/*-------------------------------------------*/
.p-important{
  background: #fce1e1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
}
.p-important button{
  color: #d30202;
  text-decoration: underline;
  cursor: pointer;
}
.p-important button:hover{
  color: #6f0000;
}
.modal {
  display: none;
 }


/*====================================================================
video
====================================================================*/
.p-videoimages{
  position: relative;
  display: flex;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}
.p-videoimages::before{
  content: "";
  background: url(/video/kv_bg.png) center center / 3px auto;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.5;
}
.p-videoimages video{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-videoimages video {
  width: 100%;
  height: 100vh;
}
.p-videotext01{
  position: absolute;
  left: 50px;
  bottom: 50px;
  color: #FFF;
  text-shadow: 0 0 5px #000;
  width: calc((100% - 50px) /2 );
}


/*====================================================================
print
====================================================================*/
@media print {
  .p-mainimages .splide__slide{
    max-height: 600px;
  }
}

