/*=====================================
初期設定
=====================================*/
html, body {
	margin: 0;
	padding: 0;
	height: 100%;
	width: 100%;
	font-family: "Noto Sans", "Noto Sans JP", sans-serif;
    line-height: 1.8;
    letter-spacing: .05em
}
body {
	background-color: #f9f5ef
}
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 {
	color: #476fad;
    text-decoration: none!important
}
main {
    margin: 0 auto;
    width: 100%;
    max-width: 780px;
	padding-bottom: min(10%,100px);
    background: #fff
}
main img {
    width: 100%
}
.lp24111 h2, .lp2411 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%
}
/*CTA*/
.price {
    padding-bottom: 12.5%
}
.cta {
    padding: 0;
    background: #fbf9f5;
}
.cta-inner {
    padding: 1.5% 8.465% 10%;
    padding-top: 50px;
    background: #fbf9f6;
}
.cta-inner .notes {
    color: #7f756e;
    font-size: clamp(10px, 2.56vw, 13px)
}
.cta-inner .notes.ttl {
    padding-bottom: 1.5%;
    font-weight: 700
}
.cta-inner ul.notes li {
	padding-left: clamp(10px, 2.56vw, 13px);
	line-height: 1.5;
    color:#7f756e !important;
}
.cta-inner ul.notes li::before {
	content: "・";
	margin-left: calc(clamp(10px, 2.56vw, 13px) * -1)
}
.cta-inner ul.notes li.ast::before {
	content: "※";
	margin-left: calc(clamp(10px, 2.56vw, 13px) * -1)
}

.cta-botton {
    background: #fbf9f5;
    padding: 10px 0 80px;
}

.ctaBtn {
    display: block;
    margin: 7% auto 2%;
    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
}
.howto {
	position: relative;
    aspect-ratio: 1625/1426;
    background: url("img/how_to_make.webp") no-repeat center center / cover
}
.howto .movie {
	position: absolute;
	/*top: 23.4%;*/
    top: 3.4%;
	left: 46.15%;
    width: 46.15%;
    aspect-ratio: 9.6/16;
}
.movie img {
    display: block;
    margin: 0;
    width: 100%;
	border-radius: 10px;
    aspect-ratio: 9.6/16;
    object-fit: cover;
}

.arrange .arrange_list li {
  position: relative;
}
.arrange .arrange_list li img {
  position: relative;
}
.arrange .arrange_list li a {
  position: absolute;
  bottom: 14%;
  left: 7%;
  display: block;
  z-index: 1;
  width: 40%;
  transition: .3s;
}
.arrange .arrange_list li a:hover {
  opacity: .7;
}
.arrange .arrange_list li:nth-of-type(2) a {
  left: 7%;
}
.arrange .arrange_list li:nth-of-type(3) a {
  left: initial;
  right: 7%;
}


.favorite {
    position: relative;
    aspect-ratio: 780/780;
    background: url("img/favorite_users.webp") no-repeat center center / cover;
    top: -2px;
}
.favorite_users {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
}
.favorite_users_list {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 2%;
}
.favorite_users_list > li:nth-of-type(2) {
    transform: translate(0px, -8%);
}

.favorite_users_list img {
    display: block;
    margin: 0;
    width: 100%;
}
.favorite_users_list ul {
    display: grid;
    gap: 2%;
}


.faq {
    padding: 8% 5.1% 12%
}
.faqBox {
    margin-bottom: 3%
}
.faq label {
    display: flex;
    align-items: flex-start;
    background: linear-gradient(to right, #4f3624 0%, #4f3624 11.4%, #f5f3f2 11.4%, #f5f3f2 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%
}
.fixed {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
    z-index: 1;
}
.fixed-btn {
    width: min(94%,480px);
    aspect-ratio: 1000/314;
    display: block;
    margin: 0 auto;
    max-width: 100%;
}