/*=====================================
初期設定
=====================================*/
html, body {
	margin: 0;
	padding: 0;
	height: 100%;
	width: 100%;
	color: #333;
	font-family: "Noto Sans", "Noto Sans JP", sans-serif;
    line-height: 1.8;
    letter-spacing: .05em
}
body {
    background: #222
}
body * {
	box-sizing: border-box;
	word-wrap: break-word
}
h1, h2, h3, h4, h5, h6, p, address, ul, li, dl, dt, dd, caption, img, form, blockquote, label, figure {
	padding: 0;
	margin: 0;
	border: none;
	font-size: 100%;
	font-style: normal;
	font-weight: normal;
	list-style-type: none
}
img {
	vertical-align: bottom;
	-ms-interpolation-mode: bicubic;
	-webkit-backface-visibility: hidden;
}

/*=====================================
共通
=====================================*/
a:link,
a:hover {
    text-decoration: none!important
}
main {
    margin: 0 auto;
    width: 100%;
    max-width: 780px;
    background: #fff
}
main img {
    width: 100%
}
.lp23111 h2, .lp2311 p {
    max-width: 100%;
}
small {
    display: block;
    font-size: 2.4vw;
    font-size: clamp(8px, 2.4vw, 13px);
    line-height: 1.4
}
.txt-r {
    text-align: right
}
.dsno {
    display: none
}

/*=====================================
コンテンツ
=====================================*/
.mv {
    position: relative
}
.mv img {
    width: 100%
}
.bg-blk {
    background: #222
}
.bg-gry {
    background: #e8eae8
}
.bg-wall {
    background: url("img/bg-blk.webp") no-repeat left top / 100%
}
/*CTA*/
.price {
    padding-bottom: 12.5%
}
.cta {
    padding: 0
}
.cta-inner {
    padding: 1.5% 8.465% 10%;
    background: #222;
}
.cta-inner .notes {
    color: #939393;
    font-size: clamp(10px, 2.56vw, 13px)
}
.cta-inner .notes.ttl {
    padding-bottom: 1.5%;
    font-weight: 700
}
.ctaBtn {
    display: block;
    margin: 0 auto 7%;
    width: 100%;
    -webkit-animation: btnAnime 1.5s ease infinite forwards;
    animation: btnAnime 1.5s ease infinite forwards
}
@keyframes btnAnime {
    0% {
        transform: scale(1,1)
    }
    90% {
        transform: scale(1,1)
    }
    100% {
        transform: scale(1.1,1.1)
    }
}
.mgb08 {
    margin-bottom: 8%;
}
.cmn {
    padding: 10% 0
}
.minus {
    transform: translateY(max(-3.84vw, -30px));
    margin-bottom: max(-3.84vw, -30px)
}
.howto {
    display: flex;
    align-items: flex-start;
    padding: 0 7.44% 12%;
}
.howto .amount {
    flex-basis: 47.2%
}
.howto .movie {
    flex-basis: 54.2%
}
.movie {
    padding: 0;
    background: url("img/bg-movie.webp") no-repeat center center / cover
}
.movie video {
    display: block;
    margin: 0;
    width: 100%;
    aspect-ratio: 9/16;
    object-fit: cover
}
.faq {
    padding: 8% 5.1% 12%
}
.faqBox {
    margin-bottom: 3%
}
.faq label {
    display: flex;
    align-items: flex-start;
    background: linear-gradient(to right, #222 0%, #222 11.4%, #e8eae8 11.4%, #e8eae8 100%);
}
.faq label span {
    position: relative;
    flex-grow: 1;
    padding: 4% 10% 4% 15%;
    background: url("img/faq-q.svg") no-repeat left center / min(11.4%, 80px);
    font-size: clamp(13px, 1.67vw ,16px);
	line-height: 1.8;
	cursor: pointer
}
.faq .accordion + label span::after {
    content: "";
    flex-shrink: 0;
    position: absolute;
    top: calc(50% - 6px);
    right: 4%;
    display: inline-block;
	width: min(1.5vw,12px);
	height: min(1.5vw,12px);
    border-bottom: 1.5px solid #222;
    border-left: 1.5px solid #222;
    transform: rotate(-45deg);
    transition: .3s
}
.faq .accordion:checked + label span::after {
    transform: rotate(135deg)
}
.faq input.accordion {
    display: none
}
.faq div.ac-cont {
	display: block;
	overflow-y: hidden;
	margin: 0;
	height: 0;
	transition: all .2s
}
.faq div.ac-cont p {
    position: relative;
    padding: 4% 4% 4% 15%;
    background: url("img/faq-a.svg") no-repeat left top 8% / min(11.4%, 80px);
    font-size: clamp(13px, 1.67vw ,16px);
	line-height: 1.8;
}
.faq select:focus {
	outline: none
}
.faq .accordion:checked + label + div.ac-cont {
	height: auto;
    padding-top: 1%
}