@charset "UTF-8";

.ac-menu.faq label span.plus::before,
.ac-menu.faq label span.plus::after {
    background-color: #956cdb
}

/*SP*/
.cp-mv {
	width: 100%!important;
	height: auto;
    margin: 0
}
.cp-mv h1 {
	width: 100%;
    margin: 0 auto;
    padding: 0 0 28px
}
.cp-lead {
    font-weight: 700
}
.cp-frame {
    overflow: hidden;
    box-sizing: border-box;
    width: 92%;
    max-width: 932px;
    margin-left: auto;
    margin-right: auto;
    padding: 3% 1.5%;
    border: 2px solid #7b47d2;
    border-radius: 18px
}
.cp-frame h2 {
    display: flex;
    padding-top: 7px;
    font-size: 15px;
    font-weight: 700;
}
.cp-frame p {
    padding: .7rem 0
}
.cp-frame h2::before {
    flex-shrink: 0;
    display: inline-block;
    margin-top: 5px;
    margin-right: 8px;
    content: "";
    width: 14px;
    height: 14px;
    background: #956cdb;
}
.cp-step {
    width: 92%;
    max-width: 932px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 42px;
    padding-top: 14px;
    padding-bottom: 28px;
    border-bottom: 2px solid #7b47d2
}
.cp-step dl {
    max-width: 100%;
    margin-top: 1.4rem
}
.cp-step dl dt {
    display: flex
}
.cp-step dl dt small, .cp-step dl dt strong {
    padding: 6px 10px;
    color: #fff;
    font-size: 15px;
    font-weight: 700
}
.cp-step dl dt small {
    flex-basis: 28%;
    background: #4b1e78;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    text-align: center
}
.cp-step dl dt strong {
    flex-basis: 72%;
    background: #956cdb;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px
}
.cp-step dl dd {
    padding: 8px 2%
}
.cp-present dl {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    margin-top: 14px
}
.cp-present dl dt,
.cp-present dl dd {
    margin-top: 14px;
    padding: 6px 5px;
    font-size: 13px;
    font-weight: 700
}
.cp-present dl dt {
    flex-basis: 21%;
    color: #fff;
    background: #7b47d2;
    border: 2px solid #7b47d2;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    text-align: center
}
.cp-present dl dd {
    flex-basis: 79%;
    background: #fff;
    border: 2px solid #7b47d2;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px
}
.cp-read {
    max-width: 932px;
    margin-left: auto;
    margin-right: auto;
}
.cp-read > *, .cp-sbttl {
    margin-bottom: 12px
}
.cp-read .img45 {
    max-width: 84%
}


@media screen and (min-width: 1128px){
/*PC*/

.cp-mv {
	max-width: 100%!important
}
.cp-mv h1 {
	width: 100%;
    padding: 0 0 28px
}
.cp-mv__pc {
	display: block;
	height: 540px;
	background-image: url("../imgs/mv-pc.png");
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: auto 100%;
	text-indent: -9999px
}
.cp-mv .cp-lead {
    max-width: 932px
}
.cp-frame {
    padding: 2% 2.5%;
}
.cp-frame .fl-imgright {
    margin-top: -15px;
    margin-bottom: -15px
}
.cp-step {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
}
.cp-step dl {
    width: 46%;
    margin-top: 28px;
    margin-left: 0;
    margin-right: 0
}
.cp-present {
    display: flex;
    align-items: center;
    max-width: 1042px;
    margin-left: auto;
    margin-right: auto;
    padding-right: 55px
}
.cp-present img {
    display: flex;
    align-items: center;
    max-width: 1042px;
    margin-left: auto;
    margin-right: auto;
}
.cp-present dl {
    margin-top: 0
}
.cp-present dl dt,
.cp-present dl dd {
    padding: 6px 14px;
    font-size: 15px;
}
.cp-sbttl {
    display: flex;
    justify-content: center;
    max-height: 108px
}

}