.fc-wrapper .main {
    margin-top: 0;
}

@media screen and (min-width: 641px) {
    .lp_contents .teiki_btn .btn:before {
        position: absolute;
        content: '';
        display: inline-block;
        top: -180px;
        left: 0;
        width: 30px;
        height: 100%;
        background-color: #fff;
        animation: shiny-btn 3s ease-in-out infinite;
    }

    .lp_contents .teiki_btn .btn {
        position: relative;
        display: block;
        transition: 0.2s;
        overflow: hidden;
        border-radius: 100px;
    }

    .lp_contents .teiki_btn .btn img {
        vertical-align: bottom;
    }
}

.lp_contents main {
    width: 1400px;
    margin: 0 auto;
    margin-bottom: 100px;
}

.lp_contents .mainInner {
    width: 750px;
    margin: 0 auto;
}

.lp_contents main img {
    width: 100%;
}

.fc-wrapper .main img {
    margin: 0 auto;
}

.lp_contents h1,
h2,
h3,
h4,
h5,
ul,
li,
dl,
dt,
dd,
p {
    margin: 0;
    padding: 0;
    list-style: none;
    font-weight: normal;
}

/*縲fv縲*/
.lp_contents .fv {
    display: none;
}

.lp_contents .fv_pc {
    background: url(../img/fv_pc_img01.jpg) no-repeat top center;
    background-size: 100%;
    height: 800px;
    margin: 0 auto;
    min-width: 1400px;
}

.lp_contents .fv_pc_area {
    position: relative;
    width: 1200px;
    margin: 0 auto;
}

.lp_contents .fv_pc h1.fv_emblem_title {
    position: absolute;
    top: 7.5%;
    left: 18.5%;
    z-index: 15;
}


.lp_contents span.fv_pc_icon01 {
    position: absolute;
    top: 43%;
    left: 10.41%;
    z-index: 100;
    display: none;
}

.lp_contents span.fv_pc_emblem01 {
    position: absolute;
    top: 33.5%;
    right: 20.83%;
    z-index: 5;
}

.lp_contents span.fv_pc_pkg01 {
    position: relative;
    z-index: 10;
}

img.fv_pc_img02 {
    width: 100%;
    min-width: 1400px;
    height: 170px;
    position: absolute;
    top: 630px;
}


.lp_contents .fv_pc_other {
    display: block;
    margin: 0 auto;
    width: 100%;
    min-width: 1400px;
    text-align: center;
}

/*縲fv_cta縲*/
.lp_contents .fv_cta {}

.lp_contents .fv_cta .fv_cta_btn_block {
    position: relative;
}

.lp_contents .fv_cta .companylink a {
    height: 60px;
    position: absolute;
    margin: 218px auto;
    width: 750px;
    display: block;
}

.lp_contents .fv_cta .fv_cta_btn_block .teiki_btn {
    position: absolute;
    display: block;
    width: 93.3333%;
    margin-left: 3.3%;
    top: 3.3%;
}

.lp_contents .fv_cta .fv_cta_btn_block .onebag_btn {
    position: absolute;
    width: 100%;
    top: 77%;
    right: 0%;
}

.lp_contents .fv_cta .fv_cta_btn_block .teiki_btn a:hover,
.lp_contents .fv_cta .fv_cta_btn_block .onebag_btn a:hover {
    opacity: 1;
}

/*縲worries縲*/
.lp_contents .worries .worriesText {
    position: relative;
    overflow: hidden;
}

.lp_contents .worries .worriesText .worriesText01 {
    position: absolute;
    width: 50.7%;
    top: 48%;
    left: 24.6%;
}

.lp_contents .worries .worriesMouth {
    position: relative;
    overflow: hidden;
}

.lp_contents .worries .worriesMouth .worries_bacteria01 {
    position: absolute;
    width: 15.6%;
    top: 33.6%;
    left: 75.73%;
}

.lp_contents .worries .worriesMouth .worries_bacteria02 {
    position: absolute;
    width: 14.4%;
    top: 64.8%;
    left: 65.7%;
}

.lp_contents .worries .worriesMouth .worries_bacteria03 {
    position: absolute;
    width: 8.9%;
    top: 62.4%;
    left: 31.86%;
}

.lp_contents .worries .worriesMouth .worries_bacteria04 {
    position: absolute;
    width: 15.06%;
    top: 73.06%;
    left: 6.9%;
}

.lp_contents .worries .worriesGraph {
    position: relative;
    overflow: hidden;
}

.lp_contents .worries .worriesGraph .worriesIcon01 {
    position: absolute;
    width: 29%;
    top: 34%;
    right: 0;
}

.lp_contents .worries .worriesGraph .worriesIcon01 img {
    width: 200%;
    margin-top: -50%;
    margin-left: -90%;
    opacity: 0;
}

.lp_contents .worries .worries_appearance_block {
    position: relative;
    overflow: hidden;
}

.lp_contents .worries .worries_appearance_block .worriesIcon02 {
    position: absolute;
    width: 18.13%;
    top: 7.82%;
    right: 11.06%;
}

.lp_contents .worries .worries_appearance_block .worriesIcon03 {
    position: absolute;
    width: 19.3%;
    top: 21.91%;
    right: 0;
}

.lp_contents .worries .worries_appearance_block .worriesIcon04 {
    position: absolute;
    width: 20%;
    top: 20.69%;
    left: 0;
}

/*縲usp縲*/
.lp_contents .usp {
    overflow: hidden;
}

.lp_contents .usp .usp_confetti {
    position: relative;
}


.lp_contents .usp .usp_confetti .uspConfetti01 {
    position: absolute;
}

.lp_contents .usp .usp_confetti .uspConfetti02 {
    position: absolute;
}

.lp_contents .usp .usp_confetti .uspConfetti03 {
    position: absolute;
}

/*縲suggestion縲*/
.lp_contents .suggestion {
    overflow: hidden;
}

.lp_contents .innerSuggestion {
    position: relative;
}

.lp_contents ul.goodslist {
    display: flex;
    align-items: center;
    position: absolute;
    margin-top: 7%;
    left: -4%;
}

.lp_contents .goodslist li {
    text-align: center;
    margin: 1%;
    width: 160px;
}

lp_contents .goodslist li img {
    margin: 0 auto;
}


/*縲price_info縲*/
.lp_contents .price_info {}

.lp_contents .price_info .price_info_mov_block {
    position: relative;
}

.lp_contents .price_info .price_info_mov_block .offIcon01 {
    position: absolute;
    display: block;
    width: 17.3333%;
    top: 33.8%;
    left: 9.3%;
}

.lp_contents .price_info .price_info_mov_block .offIcon01 img {
    width: 200%;
    margin-left: -50%;
    margin-top: -50%;
    opacity: 0;
}

.lp_contents .price_info .price_info_mov_block .priceIcon01 {
    position: absolute;
    display: block;
    width: 57.3%;
    top: 33.7%;
    left: 26.7%;
}

.lp_contents .price_info .price_info_mov_block .priceIcon01 img {
    width: 40%;
    margin-left: 30%;
    margin-top: 10%;
    opacity: 0;
}


/*縲ctaBlock縲*/
.lp_contents .ctaBlock {}

.lp_contents .ctaBlock .cta_btn_block {
    position: relative;
}


.lp_contents .ctaBlock .cta_btn_block .teiki_btn {
    position: absolute;
    display: block;
    width: 93.3333%;
    margin-left: 3.3%;
    top: 3%;
}

.lp_contents .ctaBlock .cta_btn_block .onebag_btn {
    position: absolute;
    width: 100%;
    top: 77%;
    right: 0%;
}

.lp_contents .ctaBlock .cta_btn_block .teiki_btn a:hover,
.lp_contents .ctaBlock .cta_btn_block .onebag_btn a:hover {
    opacity: 1;
}

.lp_contents .ctaBlock .companylink a {
    height: 60px;
    position: absolute;
    margin: 218px auto;
    width: 750px;
    display: block;
}


/*縲benefits縲*/
.lp_contents .benefits .cta_btn_block .teiki_btn {
    position: absolute;
    display: block;
    width: 93.3333%;
    margin-left: 3.3%;
    top: 20%;
}

.lp_contents .benefits .cta_btn_area {
    position: relative;
}

.lp_contents .benefits .companylink a {
    height: 100px;
    position: absolute;
    margin: 400px auto;
    width: 750px;
    display: block;
}

/*縲detail縲*/
.lp_contents .detail {
    margin-top: 40px;
    padding: 0 5.33%;
    font-family: "貂ｸ繧ｴ繧ｷ繝�け菴�", YuGothic, "貂ｸ繧ｴ繧ｷ繝�け", "Yu Gothic", sans-serif;
}

.lp_contents p.indent {
    text-indent: -11px;
    margin-left: 11px;
}

.lp_contents .detail .detailTit {
    font-size: 23px;
    letter-spacing: 0.025em;
    padding: 0.5% 0;
    background: #f2f2f2;
    font-weight: bold;
    text-align: center;
    border: solid 2px #cfcfcf;
}

.lp_contents .detail .detailList {
    width: 100%;
    flex-wrap: wrap;
}

.lp_contents .detail .detailList dt {
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0.016em;
    border-left: solid 2px #cfcfcf;
    border-right: solid 2px #cfcfcf;
    padding-top: 2%;
    padding-left: 5.223%;
}

.lp_contents .detail .detailList dd {
    font-size: 20px;
    color: #4e4e4e;
    padding: 0 5.223% 0.75% 5.223%;
    line-height: 1.5;
    font-feature-settings: "palt";
    letter-spacing: 0.016em;
    border-right: solid 2px #cfcfcf;
    border-left: solid 2px #cfcfcf;
}

.lp_contents .detail .detailList dd:last-child {
    border-bottom: solid 2px #cfcfcf;
    letter-spacing: -0.09em;
    padding-bottom: 5%;
}

.lp_contents .detail .detailList .small {
    font-size: 19px;
    letter-spacing: 0;
}

/*縲company縲*/
.lp_contents .company {
    margin-top: 40px;
    padding: 0 5.33%;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}

.lp_contents .company p.indent {
    text-indent: -11px;
    margin-left: 11px;
}

.lp_contents .company .detailList {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    border-bottom: solid 2px #929292;
    font-size: 17px;
}

.lp_contents .company .detailList dt {
    width: 23.58%;
    padding-left: 2%;
    background: #faf3e3;
    color: #4e4e4e;
    font-weight: bold;
    border-top: solid 2px #929292;
    border-left: solid 2px #929292;
    border-right: solid 2px #929292;
    display: flex;
    align-items: center;
    letter-spacing: -0.05em;
}

.lp_contents .company .detailList dd {
    width: 76.42%;
    line-height: 1.55;
    font-feature-settings: "palt";
    border-right: solid 2px #929292;
    border-top: solid 2px #929292;
    padding: 2% 2.667%;
}

.lp_contents .company .detailList span.fs14 {
    font-size: 14px;
}

.lp_contents .company .detailList dt:last-child {
    border-bottom: solid 2px #929292;
}

/*縲footer縲*/
footer {
    padding: initial;
    padding-top: 0px;
    padding-bottom: 60px;
    min-width: 1400px;
    text-align: center;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}

#footer dl {
    margin: 0 auto;
    width: 350px;
}

#footer dl dd {
    float: left;
    padding: 8px 0;
}

#footer p {
    clear: both;
    padding: 0 0 40px 0;
}


.clearFix:after {
    content: ".";
    display: block;
    visibility: hidden;
    height: 0.1px;
    font-size: 0.1em;
    line-height: 0;
    clear: both;
}

#footer ul.footer_menu {
    display: flex;
    justify-content: center;
    font-size: 20px;
    padding: 0 5%;
}

#footer ul.footer_menu li {
    margin: 2.6% 2%;
}


#footer small.Cr {
    font-size: 19px;
    letter-spacing: -0.05em;
}

@media screen and (max-width: 640px) {


    .lp_contents main {
        width: 100%;
        margin: 0 auto;
        margin-bottom: 10vw;
    }

    .lp_contents .mainInner {
        width: 100%;
    }


    .lp_contents .fv_pc {
        display: none;
    }

    .lp_contents span.fv_pkg01 {
        display: block;
        position: absolute;
    }

    .lp_contents img.fv_pc_img02 {
        display: none;
    }

    .lp_contents .fv_pc_other {
        display: none;
    }

    .lp_contents .fv {
        display: block;
        position: relative;
    }

    .lp_contents .fv .fv_emblem_title {
        position: absolute;
        width: 84.3333%;
        margin-top: 10.668%;
        margin-left: 8%;
        z-index: 1;
    }


    .lp_contents .fv .fv_icon01 {
        position: absolute;
        display: block;
        width: 16.9333%;
        top: 0px;
        right: 0px;
    }

    .lp_contents .fv .fv_icon02 {
        position: absolute;
        display: block;
        width: 18.2666%;
        top: 37.5%;
        left: 0px;
    }

    .lp_contents .fv .fv_icon03 {
        position: absolute;
        display: block;
        width: 21.4666%;
        top: 1.4%;
        left: 4%;
    }

    .lp_contents .fv .fv_emblem01 {
        position: absolute;
        display: block;
        width: 30.6666%;
        top: 34%;
        right: 4%;
    }

    .lp_contents .fv_cta .Note {
        position: relative;
    }

    .lp_contents .fv_cta .companylink a {
        height: 9.375vw;
        margin: 29.063vw auto;
        width: 100%;
        z-index: 100;
    }

    .lp_contents .ctaBlock .Note {
        position: relative;
    }

    .lp_contents .ctaBlock .companylink a {
        height: 9.375vw;
        margin: 29.063vw auto;
        width: 100%;
        z-index: 100;
    }

    .lp_contents .goodslist li {
        width: 21.333vw;
    }

    .lp_contents .benefits .companylink a {
        height: 15.625vw;
        margin: 50.5vw auto;
        width: 100%;
    }

    .lp_contents .detail {
        margin-top: 5.215vw;
    }

    .lp_contents .detail .detailTit {
        font-size: 2.999vw;
        border: solid 0.261vw #cfcfcf;
    }

    .lp_contents .company .detailList {
        font-size: 3.125vw;
    }

    .lp_contents .detail .detailList dt {
        font-size: 3.129vw;
        border-left: solid 0.261vw #cfcfcf;
        border-right: solid 0.261vw #cfcfcf;
    }

    .lp_contents .detail .detailList dd {
        font-size: 2.608vw;
        border-left: solid 0.261vw #cfcfcf;
        border-right: solid 0.261vw #cfcfcf;
    }

    .lp_contents .detail .detailList dd:last-child {
        border-bottom: solid 0.261vw #cfcfcf;
    }

    .lp_contents .detail .detailList .small {
        font-size: 2.477vw;
    }

    .lp_contents .company .detailList dt {
        border-top: solid 0.261vw #929292;
        border-left: solid 0.261vw #929292;
        border-right: solid 0.261vw #929292;
    }

    .lp_contents .company .detailList dd {
        border-right: solid 0.261vw #929292;
        border-top: solid 0.261vw #929292;
    }

    .lp_contents .company .detailList span.fs14 {
        font-size: 2.656vw;
    }

    .lp_contents .teiki_btn .btn {
        position: relative;
        display: block;
        transition: 0.2s;
        overflow: hidden;
        border-radius: 100px;
    }

    .lp_contents .teiki_btn .btn img {
        vertical-align: bottom;
    }

    footer {
        background-color: initial;
        min-width: initial;
        padding-top: 30px;
    }

    #footer {
        padding-top: 0;
        padding-bottom: 0;
        width: 100%;
    }

    #footer ul.footer_menu {
        font-size: 2.533vw;
    }

    #footer small.Cr {
        font-size: 2.667vw;
    }

}

@media screen and (max-width: 375px) {
    .lp_contents .company .detailList {
        display: block;
    }

    .lp_contents .company .detailList dt {
        padding: 0;
        text-align: center;
        width: 100%;
        display: block;
        margin: 0;
        border: solid 0.533vw #929292;
    }

    .lp_contents .company .detailList dd {
        border-left: solid 0.533vw #929292;
        width: 100%;
        border-right: solid 0.533vw #929292;
        border-top: 0;
    }
}

@-webkit-keyframes shiny-btn {
    0% {
        -webkit-transform: scale(0) rotate(45deg);
        opacity: 0;
    }

    80% {
        -webkit-transform: scale(0) rotate(45deg);
        opacity: 0.5;
    }

    81% {
        -webkit-transform: scale(4) rotate(45deg);
        opacity: 1;
    }

    100% {
        -webkit-transform: scale(50) rotate(45deg);
        opacity: 0;
    }
}

.lp_contents .fv_logo {
    position: absolute;
    top: 30px;
    left: 20%;
    z-index: 10;
    display: block;
    width: 118px;
}

@media screen and (max-width: 640px) {
    .lp_contents .fv_logo {
        top: 8px;
        left: 50%;
        transform: translateX(-50%);
        width: 80px;
    }
}