@charset "utf-8";

#crm_cpg_2603 main {
    max-width: 750px;
    margin: auto;
}
#crm_cpg_2603 main * {
    margin: 0;
}
#crm_cpg_2603 p {
    margin: 0;
    padding: 0;
}
#crm_cpg_2603 img {
    display: block;
    width: 100%;
    height: auto;
}

/***** movie *****/
#crm_cpg_2603 .movie_wrap {
    position: relative;
}
#crm_cpg_2603 .movie_wrap img {
    position: relative;
    z-index: 1;
}
#crm_cpg_2603 .movie_wrap video {
    position: absolute;
    top: 52%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 80px);
    height: auto;
    z-index: 1;
    border-radius: 20px;
}
#crm_cpg_2603 .cnt03 .movie_wrap video {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 10%);
    width: calc(100% - 80px);
    height: auto;
    z-index: 1;
    border-radius: 20px;
}
#crm_cpg_2603 .movie_wrap .fk01 {
    position: absolute;
    top: -25%;
    z-index: 2;
}
#crm_cpg_2603 .movie_wrap .fk02 {
    position: absolute;
    bottom: -22%;
    right: 0;
    z-index: 2;
}
#crm_cpg_2603 .movie_wrap .fk03 {
    position: absolute;
    top: 48%;
    left: 0;
    z-index: 2;
}
#crm_cpg_2603 .movie_wrap .fk04 {
    position: absolute;
    bottom: -14%;
    right: 0;
    z-index: 2;
}

@media screen and (max-width: 768px) { 
    #crm_cpg_2603 .movie_wrap .fk03,
    #crm_cpg_2603 .movie_wrap .fk04 {
        width: 35%;
    }
    #crm_cpg_2603 .movie_wrap .fk01 {
        width: 27%;
    }
    #crm_cpg_2603 .movie_wrap .fk02 {
        width: 40%;
    }
}

/***** cv *****/
#crm_cpg_2603 .cv_wrap {
    position: relative;
}
#crm_cpg_2603 .cv_btn {
    position: absolute;
}
#crm_cpg_2603 .cv_btn a {
    transition: .3s;
}
#crm_cpg_2603 .btn_month {
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 126px);
}
#crm_cpg_2603 .btn_set {
    bottom: 2px;
    left: 57px;
}

/***** tel *****/
#crm_cpg_2603 .tel_wrap {
    position: relative;
}
#crm_cpg_2603 .tel_wrap a {
    position: absolute;
    bottom: 110px;
    left: calc(50% + 6px);
    transform: translateX(-50%);
    display: inline-block;
    z-index: 3;
    width: calc(100% - 110px);
    pointer-events: none;
}

/***** faq *****/
#crm_cpg_2603 .faq {
    background-color: #fff0f6;
    padding: 0 0 0;
}
#crm_cpg_2603 .accordion dl {
    margin: 0 0 50px;
}
#crm_cpg_2603 .accordion dl:last-child {
    margin: 0;
}
#crm_cpg_2603 .accordion .accordion__title {
    cursor: pointer;
    position: relative;
}
#crm_cpg_2603 .accordion .accordion__title::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 80px;
    transform: translateY(-55%) rotate(45deg);
    width: 20px;
    height: 20px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    transition: .3s;
}
#crm_cpg_2603 .accordion .accordion__title.show::after {
    transform: translateY(-55%) rotate(-135deg);
}
#crm_cpg_2603 .accordion dd {
    overflow: hidden;
  max-height: 0;
  transition: max-height 0.4s ease;
  margin: 0;
  padding: 0;
}

/***** footer *****/
#crm_cpg_2603 footer {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#crm_cpg_2603 footer p {
    margin-top: 10px;
}
#crm_cpg_2603 footer {
    max-width: 750px;
    margin: auto;
    padding: 0 20px 50px;
    text-align: center;
}
#crm_cpg_2603 footer p {
    font-size: 20px;
    color: #000;
}
#crm_cpg_2603 footer a {
    color: #000;
    font-size: 20px;
    display: inline-block;
    margin-bottom: .5em;
}


@media screen and (min-width: 751px) {
    #crm_cpg_2603 .cv_btn a:hover {
        opacity: .7;
    }
}
@media screen and (max-width: 750px) {
    #crm_cpg_2603 .btn_month {
        bottom: 2.666vw;
        width: calc(100% - 16.8vw);
    }
    #crm_cpg_2603 .btn_set {
        width: 56.933vw;
        left: 7.6vw;
    }
    #crm_cpg_2603 .movie_wrap video {
        width: calc(100% - 10.666vw);
        border-radius: 2.666vw;
    }
    #crm_cpg_2603 .cnt03 .movie_wrap video {
        width: calc(100% - 8vw);
    }
    #crm_cpg_2603 .tel_wrap a {
        bottom: 14.666vw;
        left: calc(50% + 0.8vw);
        width: calc(100% - 14.666vw);
    }
    #crm_cpg_2603 .tel_wrap a.tel-link--active {
        pointer-events: inherit;
    }
    #crm_cpg_2603 .faq {
        padding: 0 0 0;
    }
    #crm_cpg_2603 .accordion dl {
        margin: 0 0 6.666vw;
    }
    #crm_cpg_2603 .accordion .accordion__title::after {
        right: 10vw;
        width: 2.666vw;
        height: 2.666vw;
    }
    #crm_cpg_2603 footer {
        padding: 0 5.333vw 6.8vw;
    }
    #crm_cpg_2603 footer p,
    #crm_cpg_2603 footer a {
        font-size: max(13px, 2.666vw);
    }
}

