/*-------------------------------------------
押しピン用パネルの特徴セクション
-------------------------------------------*/
.sec-push-pin-pannel-features {
  margin: 0;
  padding: 9px 0 0 0;
}
.sec-push-pin-pannel-features__features-container {
  position: relative;
  background-color: var(--sub-bg-color);

  &::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100vw;
    height: 40px;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    transform: translate(0, -1px);
    background-color: var(--sub-bg-color);
    opacity: 1;
    z-index: 10;
  }
}
.sec-push-pin-pannel-features__features-inner {
    margin: 0 auto;
    padding: 40px 20px 20px;
    max-width: calc(100vw - 40px);
}
.sec-push-pin-pannel-features__header-container {
  margin: 0;
  text-align: center;
}
.sec-push-pin-pannel-features__sub-header {
  margin: 0 0 20px 0;
  font-size: 1.8rem;
  font-weight: 700;
  color: #fff;
}
.sec-push-pin-pannel-features__header {
  margin: 0 0 30px 0;
  font-size: 2.8rem;
  font-weight: 700;
  color: var(--main-font-color);
}
.sec-push-pin-pannel-features__list-container {
    margin: 0 auto 10px;
    background-color: #fcdbb4;
    border-radius: 12px;
}
.sec-push-pin-pannel-features__list {
    /* display: grid;
    grid-template-columns: repeat(2, 1fr); */
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    padding: 30px;
}
.sec-push-pin-pannel-features__list-item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 280px;
  height: 170px;
}
.sec-push-pin-pannel-features__list-img {
  z-index: 10;
}
.sec-push-pin-pannel-features__list-cont {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, 20%);
  z-index: 50;
}
.sec-push-pin-pannel-features__list-header {
  position: relative;
  font-size: 2.0rem;
  font-weight: 700;
  text-align: center;
  color: var(--main-font-color);
  width: 280px;

  &::after {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #000;
  }
}
.sec-push-pin-pannel-features__list-text {
  margin: 30px 0 0 0;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--main-font-color);
  text-align: center;
}
.sec-push-pin-pannel-features__arrow-container {
    position: relative;
    display: flex;
    justify-content: center;
    margin: 0 0 10px 0;

    &::after {
        content: "だから…";
        position: absolute;
        top: 25%;
        left: calc(50% + 35px);
        font-size: 2.2rem;
        font-weight: 700;
        letter-spacing: 0.4rem;
        color: #fff;
        opacity: 1;
        z-index: 60;
        transform: rotate(-20deg);
    }
}
.sec-push-pin-pannel-features__text-container {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    /* width: fit-content; */
    /* width: calc(100% - 40px); */

    &::after {
        content: "";
        position: absolute;
        bottom: -20%;
        left: 0;
        width: calc(100% - 5px);
        height: 60%;
        background-color: #fcdbb4;
        z-index: 20;
    }
}
.sec-push-pin-pannel-features__text {
    position: relative;
    margin: 0 auto;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.1srem;
    color: var(--main-font-color);
    z-index: 50;

    &::before {
        content: "";
        position: absolute;
        top: -15%;
        left: -14px;
        width: 20px;
        height: 18px;
        border-bottom: #000 2px solid;
        transform: rotate(45deg);
    }
    &::after {
        content: "";
        position: absolute;
        top: -15%;
        right: -14px;
        width: 20px;
        height: 18px;
        border-bottom: #000 2px solid;
        transform: rotate(-45deg);
    }
}

.sec-push-pin-pannel-features__scene-container {
    position: relative;
    display: block;
    /* place-content: center; */
    /* height: calc(200/375*100vw); heightをvw単位で計算する方法もあります*/
    aspect-ratio: 375 / 200;
    padding: 0 20px;
    background-position: center center;
    background-size: cover;
    text-align: center;
    z-index: 0;
    background-image: url(../img/common/img_fetures_bg.jpg);


    /* BGイメージに白いフィルターをかける */
    &::after {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(255, 255, 255, 0.2);
        z-index: 1;
        pointer-events: none;
    } 
}
.sec-push-pin-pannel-features__scene-inner {
    padding: 60px 0 40px;
    max-width: calc(100vw - 40px);
    /* width: 100%; */
    margin: 0 auto;
}
.sec-push-pin-pannel-features__scene-list-container {
    display: block;
    margin: 0 auto 20px;
    width: 100%;
}

.sec-push-pin-pannel-features__scene-img {
    display: block;
}

.sec-push-pin-pannel-features__scene-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    padding: 30px;
}
.sec-push-pin-pannel-features__scene-item {
    position: relative;
    width: 230px;
    height: 178px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(../img/common/bg_frame.svg);
    display: flex;
    justify-content: center;
    align-items: center;
}
.sec-push-pin-pannel-features__scene-text {
    font-size: 2.0rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}
.sec-push-pin-pannel-features__scene-description-container {
    margin: 0 auto 0;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 12px;
}
.sec-push-pin-pannel-features__scene-description {
    padding: 20px;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.1rem;
    /* color: #000; */
    color: var(--main-font-color);
    text-align: justify;
}
.sec-push-pin-pannel-features__gallery-container {
    background-color: var(--sub-bg-color);
}
.sec-push-pin-pannel-features__gallery-inner {
    padding: 60px 20px 60px;
    max-width: calc(100vw - 40px);
    margin: 0 auto;
}
.sec-push-pin-pannel-features__gallery-list {
    display: grid;
    gap: 20px;
}
.sec-push_pin_pannel-about__gallery-text {
    margin: 5px 0 0 0;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.1rem;
    color: var(--main-font-color);

}

/* pc */
@media screen and (min-width: 768px) {
    .sec-push-pin-pannel-features {
        padding: 19px 0 0 0;
    }
    .sec-push-pin-pannel-features__features-container {
        padding: 0 0 50px 0;

        &::after {
            width: 100vw;
            height: 130px;
            clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
        }
    } 
    .sec-push-pin-pannel-features__features-inner {
        padding: 110px 0 0 0;
        max-width: var(--pc-contents-width);
    }
    .sec-push-pin-pannel-features__header-container {
        margin: 0;
        text-align: center;
    }
    .sec-push-pin-pannel-features__sub-header {
        margin: 0 0 27px 0;
        font-size: 2.4rem;
    }
    .sec-push-pin-pannel-features__header {
        margin: 0 0 75px 0;
        font-size: 4.0rem;
    }
    .sec-push-pin-pannel-features__list-container {
        margin: 0 auto 20px;
        border-radius: 30px;
    }
    .sec-push-pin-pannel-features__list {
        gap: 40px;
        padding: 60px;
    }
    .sec-push-pin-pannel-features__list-item {
        gap: 10px;
    }
    .sec-push-pin-pannel-features__list-header {
        font-size: 2.5rem;
    }
    .sec-push-pin-pannel-features__list-cont {
        top: 0;
        left: 0;
    }
    .sec-push-pin-pannel-features__list-text {
        font-size: 1.8rem;
    }
    .sec-push-pin-pannel-features__arrow-container {
        margin: 0 0 30px 0;

        &::after {
            top: 25%;
            left: calc(50% + 65px);
            font-size: 4.0rem;
            transform: rotate(-15deg);
        }
    }
    .sec-push-pin-pannel-features__text-container {
        margin: 0 auto;
        width: fit-content;

        &::after {
            bottom: -20%;
            left: -8%;
            width: 116%;
            height: 60%;
            background-color: #fcdbb4;
        }
    }
    .sec-push-pin-pannel-features__text {
        font-size: 4.0rem;

        &::before {
            top: 20%;
            left: -40px;
            width: 50px;
            height: 20px;
            transform: rotate(45deg);
        }
        &::after {
            top: 20%;
            right: -40px;
            width: 50px;
            height: 20px;
            transform: rotate(-45deg);
        }
    }
    .sec-push-pin-pannel-features__scene-container {
        /* justify-content: start; */
        aspect-ratio: auto; /*SPでaspect-ratioを使っているので初期値に戻す*/
        /* height: 800px; */
        /* padding: 0 50px; */
        text-align: left;
    }
    .sec-push-pin-pannel-features__scene-inner {
        max-width: var(--pc-contents-width);
    }
    .sec-push-pin-pannel-features__scene-list-container {
        padding: 50px 0;
        margin: 100px auto 20px;
        border-radius: 30px;
        display: flex;
        flex-direction: row;
        justify-content: center;
        background: rgba(255, 255, 255, 0.7);
        max-width: var(--pc-contents-width);
    }
    .sec-push-pin-pannel-features__scene-list {
        padding: 40px 30px;
        gap: 15px 5px;
    }
    .sec-push-pin-pannel-features__scene-item {
        position: relative;
        width: 230px;
        height: 178px;
    }
    .sec-push-pin-pannel-features__scene-text {
        font-size: 2.5rem;
    }

    .sec-push-pin-pannel-features__scene-description-container {
        margin: 0 auto 80px;
        border-radius: 30px;
    }
    .sec-push-pin-pannel-features__scene-description {
        padding: 40px 50px;
        font-size: 2.0rem;
        text-align: justify;
    }
    .sec-push-pin-pannel-features__gallery-inner {
        padding: 100px 0 90px 0;
        max-width: var(--pc-contents-width);
        margin: 0 auto;
    }
    .sec-push-pin-pannel-features__gallery-list {
        grid-template-columns: repeat(2, 1fr);
        justify-content: center;
        gap: 40px;
    }
    .sec-push_pin_pannel-about__gallery-text {
        margin: 8px 0 0 0;
        font-size: 1.6rem;
    }
}
