@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1p&family=Noto+Sans+JP:wght@100..900&family=Quicksand:wght@300..700&family=Red+Hat+Display:ital,wght@0,300..900;1,300..900&family=Zen+Maru+Gothic&display=swap");
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1p&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Quicksand:wght@300..700&family=Red+Hat+Display:ital,wght@0,300..900;1,300..900&family=Zen+Maru+Gothic&display=swap");
@media print {
    html,body {width: 1000px;}
    main {background: #000;margin: 0 !important;}
}
:root {
    --animate-duration: 1.5s;
    --animate-delay: 1.5s;
    --animate-repeat: 1;
}


body{
	width: 100%;
    margin: 0;
	padding: 0;
}
main {
	width: 100%;
    max-width: 750px;
	margin: 0 auto;
	overflow: hidden;
}
#contents {
	position: relative;
	width: 100%;
    max-width: 750px;
    margin: 0 auto;
    font-family: "Noto Sans JP", sans-serif;
    text-align: center;
    background-color: #fff;
}

#lp_main a {
    display: block;
}

#lp_main img {
    max-width: 100%;
    margin: auto;
    vertical-align: bottom;
}

#lp_main .sp {
    display: block;
    max-width: 100%;
}

@media print,
screen and (min-width: 640px) {
    #lp_main a:hover img {
        opacity: 0.75;
    }
}
.margin-top{
    margin-top: 6.66%;
}
.margin-zero{
    margin-top: 0!important;
}
.z-2 {
    position: relative;
    z-index: 2;
}

.fv {
    position: relative;
    z-index: 2;
}
.fv > aside {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
}
.fv_boat{
    position: relative;
    margin-top: -30%;
    z-index: 3;
}
.fv_boat > aside{
    width: 28%;
    left: 12.7%;
    top: 28%;
}
.liftup{
    background: center top / cover no-repeat url("../images/bg_liftup.webp");
}
.purchase {
    background: center top / cover no-repeat url("../images/bg_purchase.webp");
    padding-bottom: calc(6.66% + 90px);
}
.purchase2{
    padding-bottom: 6.66%;
}
.purchase_ttl{
    position: relative;
    z-index: 2;
    top: -22.5px;
}
@media screen and (max-width: 750px){
    .purchase_ttl{
        top: -3vw;
    }
}
.caution_note{
    width: 92%;
    margin: 6.66% auto;
}
.caution_note .caution_inner{
	background: #fff;
	font-size: 90%;
	max-height: 12rem;
	/*overflow-y: scroll;*/
	padding: 1rem;
}
.caution_note .caution_inner b{
	font-weight: bold;
}
.caution_note .caution_inner li.dot{
    position: relative;
    padding-left: 1.2rem;
}
.caution_note .caution_inner li.dot:before{
    content: "・";
    position: absolute;
    left: 0;
}
.text_btn a{
	margin-top: 16px;
	text-align: center;
	font-size: 140%;
	color: #fff;
	text-decoration: underline;
}
@media screen and (max-width: 640px){
	.text_btn a{font-size: 80%;}
	.caution_note .caution_inner{font-size: 80%;}
}
.benefit_inner{
    background: center top / cover no-repeat url("../images/bg_benefit.webp");
    padding-bottom: 6.66%;
}
.benefit > aside{
    margin-top: -90px;
}
@media screen and (max-width: 750px){
    .purchase {
        padding-bottom: calc(6.66% + 12vw);
    }
    .benefit > aside{
        margin-top: -12vw;
    }
}
.feature{
    background: center top / cover no-repeat url("../images/bg_feature.webp");
    padding-top: 9.99%;
}

.evidence{
    position: relative;
    z-index: 3;
    margin-top: -38px;
}
@media screen and (max-width: 750px){
    .evidence{
        margin-top: -5vw;
    }
}
.voc{
    position: relative;
    background: center top / cover no-repeat url("../images/bg_voc.webp");
    margin-top: -90px;
    padding-bottom: 11%;
}
.voc_ttl{
    position: relative;
    z-index: 4;
}
.problem{
    position:relative;
    z-index: 2;
}
.comment{
    position: relative;
    background: center top / cover no-repeat url("../images/bg_comment.webp");
    margin-top: -172px;
    padding-top: 172px;
    padding-bottom: 50px;
}
@media screen and (max-width: 750px){
    .voc{
        margin-top: -12vw;
    }
    .comment{
        margin-top: -23.04vw;
        padding-top: 23.04vw;
        padding-bottom: 20px;
    }
}
.point_before {
    position: relative;
    z-index: 2;
}
.point {
    margin-top: -94px;
}
.point02{
    margin-top: -84px;
}
.point03{
    position: relative;
    z-index: 2;
    margin-top: -90px;
}
@media screen and (max-width: 750px){
    .point {
        margin-top: -12.53vw;
    }
    .point02{
        margin-top: -11.2vw;
    }
    .point03{
        margin-top: -12vw;
    }
}
.upsell{
    background: center top / cover no-repeat url("../images/bg_upsell.webp");
    padding-top: 9.99%;
    padding-bottom: 6.66%;
}
.relative_box {
    position: relative;
    width: 100%;
}

.relative_box > aside {
    position: absolute;
}

video {
    width: 100%;
}

.zero-position {
    top: 0;
    left: 0;
}

.mov01{
    top: 26%;
    left: 10%;
    width: 80%;
}
.mov02{
    top: 15.5%;
    left: 12%;
    width: 33.6%;
}
.mov03{
    top: 38.4%;
    left: 12%;
    width: 33.6%;
}
.mov04{
    top: 61.2%;
    left: 12%;
    width: 33.6%;
}

.qna_wrap dl {
    margin-bottom: 6.66%;
	cursor: pointer;
	transition: all .3s ease;
}

.to_top {
    width: min(60px, calc(60 / 750* 100vw));
    margin: 10px;
    position: fixed;
    right: 0;
    bottom: 0;
    font-size: 0;
    cursor: pointer;
    filter: drop-shadow(0px 5px 7px rgba(0, 0, 0, 0.5));
}

@media (max-width: 767px) {
    .to_top {
        display: none !important;
    }
}

/* アニメーション設定 */
@keyframes delighter-top_in {
    0% {
        transform: translateY(-100%);
        opacity: 0;
    }

    75% {
        opacity: 0.5;
    }

    100% {
        transform: none;
        opacity: 1;
    }
}

.animate-top_in.delighter {
    transform: translateY(-100%);
    opacity: 0;
    will-change: transform, opacity;
}

.animate-top_in.delighter.started {
    animation: delighter-top_in 1.2s ease-out both;
}

@keyframes delighter-bottom_in {
    0% {
        transform: translateY(100%);
        opacity: 0;
    }

    75% {
        opacity: 0.5;
    }

    100% {
        transform: none;
        opacity: 1;
    }
}

.animate-bottom_in.delighter {
    transform: translateY(100%);
    opacity: 0;
    will-change: transform, opacity;
}

.animate-bottom_in.delighter.started {
    animation: delighter-bottom_in 1.2s ease-out both;
}

@keyframes delighter-pulse {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }

    100% {
        transform: scale(1);
    }
}

.animate-pulse.delighter {
    will-change: transform;
}

.animate-pulse.delighter.started {
    animation: delighter-pulse 1s ease-in-out 1 both;
}

.to_top {
    z-index: 1;
}

/* ----- 注文フォーム start ----- */
.product_order p {
	display: block;
	text-align: center;
}
.product_order .product_order_ttl {
	padding: min(40px, calc(40 / 750* 100vw)) min(10px, calc(10 / 750* 100vw));
	color: #fff;
	font-size: min(30px, calc(30 / 750* 100vw));
	font-weight: 600;
	line-height: 1.6;
	text-align: center;
	background: linear-gradient( 90deg, rgb(1,0,32) 0%, rgb(29,32,135) 100%);
}
.product_order .product_order_description {
	padding: min(25px, calc(25 / 750* 100vw)) min(10px, calc(10 / 750* 100vw));
	font-size: min(28px, calc(28 / 750* 100vw));
}
.product_order .product_select {
	border-bottom: min(2px, calc(2 / 750* 100vw)) solid #faf0ee;
}
.product_order .product_select > li {
	padding: min(30px, calc(30 / 750* 100vw)) 0;
	position: relative;
	text-align: center;
	border-top: min(2px, calc(2 / 750* 100vw)) solid #f2f2f2;
	background-color: #f2f2f2;
}
.product_order .product_select > li .product_select_name {
	color: #bd9c6d;
	font-size: min(30px, calc(30 / 750* 100vw));
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
}
.product_order .product_select_name strong {
	background-color: #ffcaca;
}
.product_order .product_select_name small {
	font-size: min(26px, calc(26 / 750* 100vw));
}
.product_order .product_select > li .icon_off {
	position: absolute;
	top: min(10px, calc(10 / 750* 100vw));
	left: min(10px, calc(10 / 750* 100vw));
	width: min(120px, calc(120 / 750* 100vw));;
}
/* edit start - 20260227*/

/* .product_order .product_select_color {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	gap: 20px;
	box-sizing: border-box;
	margin: min(30px, calc(30 / 750* 100vw)) 0 0;
	padding: 0 3%;
} */

.product_order .product_select_color {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
    gap: 20px;
    box-sizing: border-box;
    margin: min(30px, calc(30 / 750* 100vw)) 0 0;
    padding: 0 3%;
}

.caution_inner .notice-list li {
    font-weight: 700;
}

/* edit end - 20260227*/
.product_order .product_select_color li {
    display: flex;
    align-items: flex-end;
    position: relative;
	width: 47%;
	max-width: 340px;
    padding-top:min(21px, calc(21 / 750 * 100vw));
}
.product_order .product_select_color li input[type="radio"] {
    visibility: hidden;
	position: fixed;
}
.product_order .product_select_color li label {
	display: flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	/* padding: min(166px, calc(166 / 750* 100vw)) min(6px, calc(6 / 750* 100vw)) min(6px, calc(6 / 750* 100vw));
	background-color: #fff;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto; */
	border: min(4px, calc(4 / 750* 100vw)) solid transparent;
	/* border-radius:  8px;  */
	cursor: pointer;
}
.product_order .product_select_color li label .select_label{
    position:absolute;
    top: 0;
    width:35%;
}
.product_order .product_select_color li label[for="1"] {
	/* background-image: url("../images/select_01.webp"); */
}
.product_order .product_select_color li label[for="2"] {
	/* background-image: url("../images/select_02.webp"); */
}
.product_order .product_select_color li label:hover {
	/* border: min(4px, calc(4 / 750* 100vw)) solid #fff; */
}
.product_order .product_select_color li input:checked + label {
	border: min(4px, calc(4 / 750* 100vw)) solid #a51515;
}
.product_order .product_select_color li label .select_button {
	/* width: 100%;
	padding: min(17px, calc(17 / 750* 100vw)) min(30px, calc(30 / 750* 100vw));
	color: #645c51;
	font-size: min(16px, calc(16 / 750* 100vw));
	font-weight: 600;
	text-align: center;
	text-decoration: none;
	line-height: 1.5;
	border-radius: 99px;
	background-color: #eee8d3; */
}
.product_order .product_select_color li input:checked + label .select_button {
	background-image: url("../images/select_check.png");
	background-position: 12% center;
	background-repeat: no-repeat;
	background-size: min(24px, calc(24 / 750* 100vw)) auto;
}

/* ----- 注文フォーム end ----- */
.to_top {
	width: min(60px, calc(60 / 750* 100vw));
	margin:10px;
	position:fixed;
	right:0;
	bottom:0;
	font-size: 0;
	cursor: pointer;
	filter: drop-shadow(0px 5px 7px rgba(0,0,0,0.5));
}
@media (max-width: 767px) {
	.to_top {
		display: none !important;
	}
}

.btn_floating {
	position: fixed;
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	right:0;
	left: 0;
	bottom:0;
	font-size: 0;
	cursor: pointer;
	z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 2s ease, visibility 2s ease;
}

.btn_floating a:hover img {
	filter: brightness(80%);
	opacity: 1 !important;
}

.btn_floating.is-visible {
	opacity: 1;
	visibility: visible;
}