*,
::before,
::after {
    box-sizing: border-box;
    border-style: solid;
    border-width: 0;
}

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent; /* 3*/
}

body {
    margin: 0;
}


main {
    display: block;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
    margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit;
    margin: 0;
    border: none;
}


ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

dt {
    font-weight: bold;
}

dd {
    margin-left: 0;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
    border-top-width: 1px;
    margin: 0;
    clear: both;
    color: inherit;
}

pre {
    font-family: monospace, monospace;
    font-size: inherit;
}

address {
    font-style: inherit;
}

a {
    background-color: transparent;
    text-decoration: none;
    color: inherit;
}

abbr[title] {
    text-decoration: underline dotted;
}

b,
strong {
    font-weight: bolder;
}


code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: inherit;
}

small {
    font-size: 80%;
}


sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

svg,
img,
embed,
object,
iframe {
    vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
    -webkit-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    border-radius: 0;
    text-align: inherit;
    text-transform: inherit;
}

[type="checkbox"] {
    -webkit-appearance: checkbox;
    appearance: checkbox;
}
[type="radio"] {
    -webkit-appearance: radio;
    appearance: radio;
}


button,
[type="button"],
[type="reset"],
[type="submit"] {
    cursor: pointer;
}

button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
    cursor: default;
}

:-moz-focusring {
    outline: auto;
}

select:disabled {
    opacity: inherit;
}


option {
    padding: 0;
}


fieldset {
    margin: 0;
    padding: 0;
    min-width: 0;
}

legend {
    padding: 0;
}


progress {
    vertical-align: baseline;
}


textarea {
    overflow: auto;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

[type="search"] {
    outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}


label[for] {
    cursor: pointer;
}

details {
    display: block;
}

summary {
    display: list-item;
}

[contenteditable]:focus {
    outline: auto;
}


table {
    border-color: inherit;
    border-collapse: collapse;
}

caption {
    text-align: left;
}

td,
th {
    vertical-align: top;
    padding: 0;
}

th {
    text-align: left;
    font-weight: bold;
}


body{
    font-family: "Hiragino Kaku Gothic ProN",
    "Helvetica Neue",
    Arial,
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}

h1,h2,h3,h4,h5,h6,p,span,li{
    color: #515050;
}

h1,h2,h3,h4,h5,h6{
    font-family: -apple-system, YuGothic, "Yu Gothic Medium", "Yu Gothic", sans-serif;
}

h2 span{
	font-family: -apple-system, YuGothic, "Yu Gothic Medium", "Yu Gothic", sans-serif;
}


a:hover{
    opacity: .8;
    cursor: pointer;
}

.wrapper{
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    position: relative;
}


.img_container{
    width: 100%;
    display: block;
}
.img_container img{
    width: 100%;
}

.bk-color__pink{
    background: #6C8CA1;
}

.bk-color__green{
    background: #1c2a3a;
}

.bk-color__red{
    background: #f33857;
}

.cta{
    display: block;
    position: relative;
    width: 100%;
    max-width: 270px;
    height: 50px;
    border-radius: 25px;
    margin: 0 auto;
}

.cta-text{
    font-size: 16px;
    color: #fff;
	font-weight: 600;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.t-pink{
    color: #6C8CA1;
    font-weight: bold;
}

.underline_yellow{
    padding-bottom: 3px;
    background: linear-gradient(transparent 88%, #E63946 0%);
}


/* header ===== */
header{
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    height: 70px;
    padding: 16px 0 16px 11px;
    background: #fff;
    position: fixed;
    top: 0;
    z-index: 999;
}

.logo-box{
    width: 43%;
}

.logo-box img{
    width: 65%;
}
.menu-box{
    display: flex;
    align-items: center;
}

.header_cta{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100px;
    height: 40px;
    border: 1px solid #1c2a3a;
    margin-right: 13px;
    position: relative;
    padding-top: 6px;
    padding-left: 6px;
}
.header_cta::before{
    content: "";
    width: 100px;
    height: 40px;
    border: 1px solid #1c2a3a;
    position: absolute;
    top: 3px;
    left: 3px;
}

.header_cta .header_cta-txt{
    font-size: 12px;
    color: #1c2a3a;
    position: relative;
    margin-right: 3px;
}

.menu-btn{
    width: 60px;
    height: 60px;
    background-color: #1c2a3a;
    position: relative;
}
.menu-btn:hover{
    cursor: pointer;
}

.menu-container{
    width: 33px;
    height: 23.5px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.menu-inner{
    position: relative;
    width: 100%;
    height: 100%;
}

.menu_border{
    display: block;
    width: 100%;
    height: 1px;
    background: #fff;
    position: absolute;
    transition: .5s;
}
.menu_border:first-child{
    top:0;
}
.menu_border:nth-child(2){
    top: 8px;
}

.menu_text{
    font-size: 12px;
    color: #fff;
    padding-top: 3px;
    position: absolute;
    bottom: -2px;
    transition: .5s;
}

body.fixed{
    overflow: hidden;
}
.menu-btn.active .menu_border:first-child{
    transform: rotate(-45deg);
    top: 5px
}
.menu-btn.active .menu_border:nth-child(2){
    transform: rotate(45deg);
    top: 5px;
}
.menu-btn.active .menu_text{
    bottom: -10px;
}


/*nav*/
.nav_wrap {
    display: none;
    position: fixed;
    top: 60px;
    left: 0;
    width: 100%;
    height: 100vh;
    padding: 25px 5%;
    background: rgba(255,255,255,.95);
    overflow-y: scroll;
    z-index: 9999;
}
@media(min-width:600px){
    .nav_wrap{
        max-width: 600px;
        left: 50%;
        transform: translateX(-50%);
    }
}

.nav_wrap.is-open {
  display: block !important;
}

.nav-lists{
	height: calc(100vh + 60px);
}

.nav-lists li{
    padding-left: 5px;
    border-bottom: 1px solid #707070;
    position: relative;
}

.nav-lists li::before,
.nav-lists li::after{
    content: "";
    display: block;
    background: #1c2a3a;
    position: absolute;
}

.nav-lists li::before{
    width: 35px;
    height: 1px;
    top: 50%;
    right: 21px;
    transform: translate(0 , -50%);
}
.nav-lists li::after{
    width: 8px;
    height: 8px;
    border-radius: 50%;
    top: 50%;
    right: 13px;
    transform: translate(0 , -50%);
}

.nav-lists li a{
    display: block;
    padding-top: 20px;
    padding-bottom: 20px;
	font-size: 16px;
}

.nav-lists li a span{
	font-size: 16px;
}



/*MV*/
.mv{
    padding: 60px 0 0;
}

.mv_ver3{
	padding: 60px 0 0;
}

.first-campaign{
    padding: 33px 0 24px;
}


.first-campaign.ver3{
	 padding: 58px 0 24px;
}


.first-campaign .inner{
    padding: 0 5%;
}

.first-campaign_container{
    border: 1px solid #6C8CA1;
    padding: 44px 11px 16px;
    position: relative;
}

.campaign-microcopy_container{
    position: absolute;
    top: -23px;
    left: 50%;
    transform: translateX(-50%);
}

.campaign-microcopy{
    font-size: 18px;
	font-weight: 600;
    color: #fff;
    letter-spacing: 0.05em;
    background-color: #6C8CA1;
    padding: 12px 32px;
    width: 255px;
    text-align: center;
    display: block;
    position: relative;
    font-family: "Hiragino Mincho Pro", "Yu Mincho", YuMincho, serif;
}
.campaign-microcopy::before,
.campaign-microcopy::after{
    position: absolute;
    top: 0;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
}
.campaign-microcopy::before{
    left: -1px;
    border-width: 22.35px 0 22.35px 20.4px;
    border-color: transparent transparent transparent #ffffff;
}
.campaign-microcopy::after{
    right: -1px;
    border-width: 22.35px 20.4px 22.35px 0;
    border-color: transparent #ffffff transparent transparent;
}

.border-pink{
    display: block;
    background-color: #6C8CA1;
    height: 1px;
    width: 30px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.border-pink:first-child{
    left: -3px;
}
.border-pink:nth-child(2){
    right: -3px;
    z-index: 1;
}

.campaign-title{
    text-align: center;
    font-size: 22px;
    letter-spacing: 0.075em;
    color: #6C8CA1;
    font-weight: bold;
    margin-bottom: 20px;
}

.campaign-discount{
    display: flex;
    justify-content: center;
    align-items: center;
}

.existing_price{
    display: block;
    font-size: 18px;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #6C8CA1;
    margin-right: 15px;
    position: relative;
}
.existing_price::before{
    content: "";
    width: 110%;
    height: 1px;
    background-color: #515050;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.discount_ratio{
    display: block;
    color: #1c2a3a;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 18px;
}

.discount_price-container{
    text-align: center;
    margin-bottom: 28px;
}

.discount_price{
    display: inline-block;
    width: fit-content;
    margin: 10px auto 0;
    font-size: 22px;
    letter-spacing: 0.05em;
    color: #1c2a3a;
    font-weight: 600;
    text-align: center;
    position: relative;
}
.discount_price .expansion-text{
    font-size: 30px;
    color: #1c2a3a;
}
.discount_price::before{
    content: "";
    width: 100%;
    height: 4px;
    background-color: #E63946;
    position: absolute;
    bottom: 1px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}

.campaign-menu{
    border: 1px solid #1c2a3a;
    padding: 27px 10px;
    position: relative;
    margin-bottom: 10px;
}

.campaign-menu_title{
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.05em;
    background-color: #fff;
    padding: 4px 8px;
    position: absolute;
    top: -17px;
    left: 50%;
    transform: translateX(-50%);
}

.campaign-menu_wrap{
    text-align: center;
    margin-bottom: 15px;
}

.campaign-menu_wrap span{
    display: inline-block;
    font-size: 18px;
    background-color: #1c2a3a;
    color: #fff;
    font-family: "Hiragino Mincho Pro", "Yu Mincho", YuMincho, serif;
    padding: 5px 0;
}
.campaign-menu_wrap span.counseling{
    padding: 5px 9px;
    margin-bottom: 8px;
}
.campaign-menu_wrap span.training,
.campaign-menu_wrap span.meal{
    padding: 5px 0 4px;
    width: 120px;
    text-align: center;
}

.campaign-menu_wrap span.training{
    margin-right: 8px;
}

.campaign-menu_time_container{
    text-align: center;
}

.campaign-menu_time{
    font-size: 20px;
    font-weight: bold;
    font-family: -apple-system, YuGothic, "Yu Gothic Medium", "Yu Gothic", sans-serif;
}




.worries-section{
    background: #1c2a3a;
    padding: 60px 0 0;
    position: relative;
}

.worries_woman{
    width: 15.2%;
    position: absolute;
    top: 8px;
    right: 7px;
}

@media(min-width: 400px){
    .worries_woman{
        width: 15.2%;
        top: 2%;
        right: 5%;
    }
}

@media(max-width: 390px){
    .worries_woman{
       width: 15%;
		top: 21px;
    }
}

.worries-title{
    display: inline-block;
    font-size: 22px;
    font-weight: bold;
    color: #fff;
    padding-left: 10px;
    padding-bottom: 10px;
    margin-bottom: 47px;
    background-image: repeating-linear-gradient(280deg, transparent 0 4px, #fff 1px 6px);
    background-repeat: no-repeat;
    background-size: 100% 0.5rem;
    background-position: bottom;
}
.worries-title .expansion-text{
    font-size: 30px;
    color: #fff;
    letter-spacing: 0.05em;

}

.worries-section .inner{
    padding: 0 5%;
}

.worries-wrap{
    width: 100%;
    background: #fff;
    padding: 35px 21px;
    border-radius: 5px;
}

.worries-lists li{
    font-size: 16px;
    display: flex;
    letter-spacing: 0.05em;
}

.worries-lists li:not(:last-child){
    margin-bottom: 17px;
}

.worries-lists li .check{
    width: 18px;
    margin-right: 9px;
}

.worries-lists li span{
    display: block;
    width: calc(100% - 18px);
    line-height: 24px;
    margin-top: -2px;
}

.aging-text{
    color: #fff;
    font-weight: bold;
    text-align: center;
    margin-top: 25px;
    padding-bottom: 5px;
    line-height: 1.5;
    font-size: 16px;
}

@media(min-width: 400px){
    .aging-text{
        font-size: 18px;
    }
}


.resolution-section{
    padding: 95px 0 55px;
    position: relative;
}

@media(min-width: 450px){
    .resolution-section{
        padding: 120px 0 55px;
    }
}

.section-arrow{
    position: absolute;
    left: 0;
    top: -1px;
}

.resolution-title{
    text-align: center;
    font-size: 21px;
    font-weight: bold;
    margin-bottom: 28px;
}

.resolution-text_wrap{
    padding: 0 5% 24px;
}

.resolution-text_wrap p{
    font-size: 16px;
    letter-spacing: 0.075em;
    line-height: 1.5;
    padding: 13px 0;
    position: relative;
}
.resolution-text_wrap p::before,
.resolution-text_wrap p::after{
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, #000, #000 10px, transparent 10px, transparent 20px);
    background-size: 20px 1px;
    background-repeat: repeat-x;
    position: absolute;
    left: 0;
}
.resolution-text_wrap p::before{
    top:0;
}
.resolution-text_wrap p::after{
    bottom: 0;
}

.resolution-text_wrap p .t-pink{
    font-weight: bold;
}

.result-text{
    padding: 0 5%;
    text-align: center;
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 1.5;
    font-family: -apple-system, YuGothic, "Yu Gothic Medium", "Yu Gothic", sans-serif;
    font-weight: bold;
    margin-bottom: 28px;
}

.result-text span{
	font-family: -apple-system, YuGothic, "Yu Gothic Medium", "Yu Gothic", sans-serif;
	font-size: 20px;
	font-weight: bold;
}

@media(min-width:410px ){
    .result-text{
        line-height: 1.7;
    }
}

@media(max-width:392px ){
	.result-text,
	.result-text span{
		font-size: 5vw;
	}
}

.bodycare_img{
    width: 100%;
    margin-bottom: 20px;
    position: relative;
}

.bodycare_img .bodycare{
    width:85.2%;
    margin: 0 0 0 auto;
}

.bodycare-title .band-container{
    position: absolute;
    bottom: 16px;
}

.bodycare-title .band{
    display: inline-block;
    font-size: 5.6vw;
    padding: 1.9rem;
    color: #fff;
    font-weight: bold;
    background: #1c2a3a;
    position: relative;
}

@media(min-width:475px){
    .bodycare-title .band{
        font-size: 33px;
    }
}


.bodycare_comment{
    width: 98.9%;
    position: absolute;
    top: -70px;
    right: -10px;
}

@media(min-width:475px){
    .bodycare_comment{
        top: -90px;
    }
}

@media(max-width:340px){
    .bodycare_comment{
        top: -65px;
    }
}

.bodycare_lists-container{
    width: 95%;
    background: #F4F5F7;
    padding: 33px 5.6%;
    border-radius: 0 5px 5px 0;
    margin-bottom: 35px;
}

.bodycare_lists li{
    display: flex;
}
.bodycare_lists li:not(:last-child){
    margin-bottom: 15px;
}

.bodycare_lists li .check{
    width: 20px;
    margin-right: 7px;
	margin-top: 2px;
}

.bodycare_lists li span{
    display: block;
    margin-top: -1px;
    width: calc(100% - 20px);
    line-height: 1.5;
    letter-spacing: 0.05em;
	font-size: 16px;
}



.change-inner_img{
    width: 100%;
    margin-bottom: 20px;
    position: relative;
}

.change-inner_img .change-inner{
    width:85.2%;
    margin: 0 auto 0 0;
}

.change-inner-title .band-container{
    position: absolute;
    right: 0;
    bottom: 16px;
}

.change-inner-title .band{
    display: inline-block;
    font-size: 5.6vw;
    padding: 1.2rem;
    color: #fff;
    font-weight: bold;
    background: #6C8CA1;
    position: relative;
    padding: 19px 35px;
}

@media(min-width:475px){
    .change-inner-title .band{
        font-size: 33px;
    }
}

.change-inner_comment{
    width: 80%;
    position: absolute;
    top: -90px;
    left: 50%;
    transform: translateX(-50%);
}

@media(min-width:475px){
    .change-inner_comment{
        top: -120px;
    }
}

@media(max-width:360px){
    .change-inner_comment{
        top: -85px;
    }
}

.change-inner_lists-container{
    width: 95%;
    background: #1c2a3a;
    padding: 33px 5.6%;
    border-radius: 0 5px 5px 0;
    margin-bottom: 35px;
}


.change-inner_lists li{
    display: flex;
}
.change-inner_lists li:not(:last-child){
    margin-bottom: 15px;
}

.change-inner_lists li .check{
    width: 20px;
    margin-right: 7px;
	margin-top: 2px;
}

.change-inner_lists li span{
    display: block;
    margin-top: -1px;
    width: calc(100% - 20px);
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #fff;
	font-size: 16px;
}


.maximum-effect{
    padding: 0 0 56px;
}


.maximum-effect_title{
    font-family: "Hiragino Kaku Gothic ProN","Helvetica Neue",Arial,"Hiragino Sans",Meiryo,sans-serif;
    font-size: 20px;
    letter-spacing: 0.05em;
    line-height: 1.5;
    font-weight: 600;
    text-align: center;
    padding-bottom: 5px;
    margin-bottom: 32px;
    position: relative;
}
.maximum-effect_title::after{
    content: "";
    width: 64px;
    height: 3px;
    background: #E63946;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}


.maximum-effect_title .dot {
    position: relative;
    color: #6C8CA1;
    font-size: 24px;
}
.maximum-effect_title .dot::before{
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #6C8CA1;
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
}


.subscription_wrap{
    padding-bottom: 70px;
}

.market-price_text{
    padding: 0 5%;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-bottom: 25px;
}

.border-arrow{
    width: 20.8%;
    margin: 0 auto 25px;
}

.subscription_text {
    text-align: center;
    font-size: 18px;
    line-height: 1.5;
}

.subscription_text.text-bold{
    font-weight: 600;
    margin-bottom: 25px;
}

.subscription-price{
    font-size: 22px;
    font-weight: 600;
    color: #6C8CA1;
    text-align: center;
    margin-bottom: 25px;
}

.subscription_disc{
    margin-top: 33px;
    padding: 0 5%;
    line-height: 1.5;
    letter-spacing: 0.05em;
	font-size: 16px;
}

.subscription_disc .t-pink{
    font-size: 24px;
    font-weight: 600;
}

.combination_wrap{
    padding: 0 5%;
    margin:  27px 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

@media(min-width: 450px){
    .combination_wrap{
        max-width: 450px;
        margin:  27px auto 0;
    }
}


.combination{
    background-color: #1c2a3a;
    color: #fff;
    padding: 14px 0;
    text-align: center;
    width: calc((100% / 2) - 8px);
    border-radius: 5px;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.05em;
	font-weight: bold;
}
.combination:first-child{
    margin-right: 8px;
}
.combination:last-child{
    margin-top: 8px;
}

.easy-point_title{
    text-align: center;
    background: #1c2a3a;
    padding: 25px 10px;
    margin-bottom: 40px;
    position: relative;
}

.easy-point_title span{
    font-size: 22px;
    color: #fff;
    font-weight: bold;
}

.repeat-ratio{
    position: absolute;
    width: 29.5%;
    top: -50px;
}

@media(min-width: 450px){
    .repeat-ratio{
        width: 23%;
        left: 8%;
    }
}

.easy-point_container{
    padding: 0 5%;
}
.easy-point_container:first-of-type{
    margin-bottom: 40px;
}

.easy-point-count{
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
    background: #1c2a3a;
    padding: 5px 12px 3px;
    color: #fff;
    border-radius: 3px;
    margin-bottom: 10px;
	font-size: 16px;
	font-weight: bold;
}

.easy-point_subtitle{
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5;
    color: #6C8CA1;
    letter-spacing: 0.05em;
    margin-bottom: 15px;
}

.easy-point_text{
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.075em;
}

.comparison-price{
    margin-top: 15px;
    padding: 16px 12px;
    box-shadow: 0 0 6px 1px rgba(0, 0, 0, .1);
}


.feature-title{
    text-align: center;
}

.choice-container{
    padding: 10px 12px;
    background: #1c2a3a;
    display: inline-block;
    border-radius: 3px;
}

.choice-text{
    color: #fff;
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 0.075em;
    line-height: 1.5;
}

.choice-text .dot{
    position: relative;
    color: #E63946;
    font-size: 20px;
}
.choice-text .dot::before{
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #fff;
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
}

.feature-title_text{
    display: block;
    background: #F4F5F7;
    padding: 38px 0 20px;
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 0.075em;
    margin-top: -21px;
}

.feature-wrap{
    padding: 93px 5% 60px;
}

.feature-container{
    width: 100%;
    padding: 38px 6.8% 25px;
    box-shadow: 0 0 5px 4px rgba(0, 0, 0, .1);
    margin-bottom: 80px;
    position: relative;
}
.feature-container:last-child{
    margin-bottom: 0;
}

.ribon{
    display: inline-block;
    padding: 22px 34px 20px 14px;
    background-image: url("../s-img/ribon.png");
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: left;
    position: absolute;
    top: -32px;
    left: 0;
}

.ribon span{
    font-size: 18px;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.075em;
}

.feature-micro-copy{
    width: 22.3%;
    position: absolute;
    top: -47px;
    right: 9px;
}

@media(min-width: 400px){
    .feature-micro-copy{
        width: 20%;
        top: -8%;
    }
}
@media(min-width: 450px){
    .feature-micro-copy{
        width: 90px;
        top: -11%;
    }
}

.feature-subtitle{
    font-size: 20px;
    color: #1c2a3a;
    letter-spacing: 0.05em;
    font-weight: bold;
    margin-bottom: 15px;
	line-height: 1.5;
}

.feature-text{
    margin-top: 25px;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.7;
}

.feature-image iframe{
    display: block;
    width: 100%;
}


.first-offer_headtxt{
    background: #6C8CA1;
    padding: 20px 5px;
    text-align: center;
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-bottom: 40px;
}

.first-offer_text{
    padding: 0 5%;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1.7;
    text-align: center;
}

.first-offer_text .t-pink{
    font-size: 23px;
}

.first-offer-arrow{
    max-width: 450px;
    margin: 35px auto 40px;
    padding: 0 5%;
}

.first-offer_image{
    position: relative;
}

.first-offer_title{
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-family: "Hiragino Mincho Pro", "Yu Mincho", YuMincho, serif;
    background: #1c2a3a;
    padding: 10px 12px;
    color: #fff;
    letter-spacing: 0.1em;
    font-size: 22px;
    font-weight: 600;
    position: absolute;
    top: 0;
    left: 20px;
}

@media(min-width: 450px){
    .first-offer_title{
        font-size: 24px;
    }
}

@media(max-width: 380px){
    .first-offer_title{
        font-size: 20px;
    }
}

@media(max-width: 350px){
    .first-offer_title{
        font-size: 18px;
    }
}

.first-guide{
    font-family: -apple-system, YuGothic, "Yu Gothic Medium", "Yu Gothic", sans-serif;
    font-size: 20px;
    font-weight: bold;
    color: #1c2a3a;
    background: #fff;
    padding: 11px 7px;
    position: absolute;
    bottom: 0;
    left: 0;
}

@media(min-width: 400px){
    .first-guide{
        font-size: 28px;
    }
}

@media(max-width: 350px){
    .first-guide{
        font-size: 18px;
    }
}

.first-offer_bk{
    padding: 30px 5% 0;
    background: #F4F5F7;
}

.fukidashi-wrap{
    margin-bottom: 30px;
    background-image: url("../s-img/worry-woman.png");
    background-position: bottom right;
    background-repeat: no-repeat;
    background-size: 100%;
}

.fukidashi{
    width: 50%;
    position: relative;
}
.fukidashi:first-child{
    margin: 0 auto 0 0;
}
.fukidashi:last-child{
    margin: -55px 110px 0 auto;
}

.fukidashi p{
    font-family: -apple-system, YuGothic, "Yu Gothic Medium", "Yu Gothic", sans-serif;
    width: 100%;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.7;
}

.first-trial_text{
    text-align: center;
    font-family: -apple-system, YuGothic, "Yu Gothic Medium", "Yu Gothic", sans-serif;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.075em;
    line-height: 1.7;
}

.first-trial_banner{
    text-align: center;
    margin: 20px 0;
}
.first-trial_banner span{
    font-family: "Hiragino Mincho Pro", "Yu Mincho", YuMincho, serif;
    font-size: 20px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.05em;
    line-height: 1.5;
    padding: 13px 20px;
    background: #1c2a3a;
}

.first-time-comment{
    margin: 32px 0 0;
    background: #fff;
    border: 1px solid #6C8CA1;
    padding: 30px 18px;
    position: relative;
}

.first-time-check{
    width: 9%;
    position: absolute;
    left: 18px;
    top: -17px;
}

.first-time-comment p{
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: 0.01em;
}

.first-time-ticket{
    margin: 35px 0 0;
    transition: opacity 0.3s ease 0s;
}

.first-time_desc{
    margin: 30px 0 0;
    text-align: center;
    font-size: 16px;
    letter-spacing: 0.01em;
    line-height: 1.7;
}

.first-time-menu_wrap{
    display: flex;
    justify-content: center;
    background: #6C8CA1;
    padding: 40px 0 0;
}

.first-time-menu{
    width: calc((100% / 3) - 6px);
    margin: 0 3px;
}
.first-time-menu:nth-child(2){
    margin: 0 ;
}

.first-time-menu_title{
    font-family: "Hiragino Mincho Pro", "Yu Mincho", YuMincho, serif;
    text-align: center;
    width: 95%;
    background: #1c2a3a;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: #fff;
    margin: 0 auto 10px;
    padding: 9px 0;
    border-radius: 5px;
}

.first-time-menu_image{
    margin-bottom: 10px;
}

.first-time-menu p{
    padding: 0 3px;
    font-size: 12px;
    line-height: 1.6;
    color: #fff;
}


.first-time-offer_wrap{
    background: #6C8CA1;
    padding: 35px 0 60px;
}

.first-time-offer{
    width: 95%;
    background-color: #fff;
    border-radius: 0 5px 5px 0;
    padding: 35px 19px 25px;
    margin-bottom: 40px;
    position: relative;
    display: block;
    transition:  0.3s ease 0s;
}

.first-time-offer::before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border: 2px solid #1c2a3a;
    border-radius: 0 5px 5px 0;
    position: absolute;
    top: 5px;
    left: 5px;
}


@media(min-width: 394px){
    .first-time-offer{
        max-width: 374px;
    }
}

@media(min-width: 450px){
    .first-time-offer{
        margin: 0 auto 40px;
    }
}

.standard-price{
    display: inline-block;
    font-size: 18px;
    color: #6C8CA1;
    font-weight: 600;
    letter-spacing: 0.05em;
    margin-right: 6px;
}

.discount_ratio-tag{
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
    text-align: center;
    font-size: 20px;
    color: #fff;
    font-weight: bold;
    background: #1c2a3a;
    padding: 4px 8px;
    transform:translateY(-6px) rotate(9deg);
}

.first-time-price{
    display: inline-block;
    font-size: 26px;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #1c2a3a;
    position: relative;
    z-index: 2;
}
.first-time-price::before{
    content: "";
    width: 100%;
    height: 4px;
    background-color: #E63946;
    position: absolute;
    bottom: 1px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

.first-time-price .font-size-big{
    font-size: 32px;
    letter-spacing: 0.05em;
    color: #1c2a3a;
}

.first-time-offer_text{
    display: block;
    margin-top: 13px;
    font-size: 20px;
}

@media(max-width: 387px){
    .standard-price{
        font-size: 4.1vw;
    }
    .discount_ratio-tag{
        font-size: 4.5vw;
    }
    .first-time-price{
        font-size: 6.3vw;
    }
    .first-time-price .font-size-big{
        font-size: 8vw;
    }
    .first-time-offer_text{
        font-size: 4.5vw;
    }
}

@media(max-width: 360px){
    .first-time-menu_title{
        font-size: 3.8vw;
    }
}



.first-time-offer_wrap .cta-text{
    width: fit-content;
    white-space: nowrap;
    padding-right: 10px;
    letter-spacing: 0.05em;
}



.flow-section{
    background: #1c2a3a;
    padding: 84px 0 60px !important;
}

.flow-section .inner{
    padding: 0 5%;
}

.flow-title{
    letter-spacing: 0.075em;
    text-align: center;
    margin-bottom: 30px;
    position: relative;
}
.flow-title span{
    color: #fff !important;
	font-size: 22px;
	font-weight: bold;
}
.flow-title::before{
    content: "";
    display: block;
    width: 1px;
    height: 40px;
    background: #fff;
    position: absolute;
    top: -46px;
    left: 50%;
    transform: translateX(-50%);
}

.flow{
    display: flex;
    margin-bottom: 40px;
    position: relative;
}
.flow:last-child{
    margin-bottom: 0;
}

.flow::before{
    content: "";
    width: 5px;
    height: calc(100% - 65px);
    position: absolute;
    bottom: 0;
    left: 26px;
    background: radial-gradient(circle farthest-side, #fff, #fff, 25%, transparent 25%, transparent 25%, transparent 25%);
    background-size: 5px 20px;
    background-repeat: space;
}

.step{
    font-family: 'Montserrat', sans-serif;
    height: fit-content;
    font-size: 14px;
    letter-spacing: 0.05em;
    font-weight: bold;
    text-align: center;
    border: 1px solid #fff;
    padding: 5px 8px;
    color: #fff;
    margin-right: 16px;
}

.step .font-size-big{
    font-size: 18px;
    color: #fff;
}

.flow-content {
    padding: 11px 0 15px;
}

.flow_subtitle{
    font-size: 20px;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-bottom: 13px;
}

.flow_desc{
	font-family: -apple-system, YuGothic, "Yu Gothic Medium", "Yu Gothic", sans-serif;
    margin-top: 15px;
    font-size: 16px;
    color: #fff;
    letter-spacing: 0.05em;
    line-height: 1.7;
}


.voice-section{
    padding: 60px 0 !important;
    background: #e6eeff !important;
}

.voice-section .inner{
    padding: 0 5%;
}

.voice-title{
    display: inline-block;
    padding: 18px 37px 20px;
    background-image: url("../s-img/voice-title.png");
    background-size: 100%;
    background-repeat: no-repeat;
}

.voice-title span{
    display: block;
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 0.075em;
    margin-top: -2px;
}

.voice-achievement_wrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 30px;
    margin-bottom: 40px;
}

.voice-achievement{
    width: calc((100% / 2) - 10px);
    margin-bottom: 12px;
}

.voice-achievement:first-child{
    margin-right: 10px;
}

.voice-share_text{
    font-size: 18px;
    letter-spacing: 0.01em;
    line-height: 1.7;
    margin-bottom: 72px;
}

.voice-share_text .t-pink{
    font-size: 22px;
    font-weight: 600;
}

.voice-share-title_wrap{
    text-align: center;
    margin-bottom: 20px;
}

.voice-share-title{
    display: inline-block;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.075em;
    line-height: 1.7;
    position: relative;
}

.voice-share_fukidashi{
    width: 39%;
    position: absolute;
    top: -60px;
    right: -18px;
}

.voice_wrap{
    margin-bottom: 45px;
}

.voice{
    margin-bottom: 13px;
}

.voice:last-child{
    margin-bottom: 0;
}

.voice_slider{
    width: 91%;
    margin: 0 auto;
}

@media(max-width: 375px){
    .voice_slider{
        width: 85%
    }
}

.slide-arrow {
    background-color: transparent;
    bottom: 0;
    height: 25px;
    margin: auto;
    position: absolute;
    top: 0;
    width: 25px;
  }

  button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
  }

  .slick-num{
    text-align: center;
  }

/*åºèä¸è¦§*/


.shop-section{
    padding: 60px 0 40px;
}

.inner{
    padding: 0 5%;
}

.shop-title{
    text-align: center;
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 0.075em;
    padding-bottom: 10px;
    margin-bottom: 33px;
    position: relative;
}

.shop-title::before{
    content: "";
    display: block;
    width: 48px;
    height: 2px;
    background: #1c2a3a;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%,0);
}

.area-title{
    padding: 10px 0 10px 18px;
    margin-bottom: 35px;
    background: #1c2a3a;
    position: relative;
}

.area-title span{
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.075em;
    color: #fff;
}

.area-title::before,
.area-title::after{
    content: "";
    display: block;
    background: #fff;
    position: absolute;
    transition: .5s;
}

.area-title::before{
    width: 20px;
    height: 1px;
    top: 50%;
    right: 18px;
    transform: translate(0, -50%);
}
.area-title::after{
    width: 1px;
    height: 20px;
    top: 50%;
    right: 27px;
    transform: translate(0, -50%);
}

.area-title.active::before{
   opacity: 0;
}
.area-title.active::after{
    transform: translate(0, -50%) rotate(90deg);
}



.area-lists{
    display: none;
}



.area-container{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-bottom: 20px;
}


.area-card{
    width: calc((100% / 2) - 8px);
    margin-bottom: 35px;
    padding-bottom: 45px;
    position: relative;
}

.shop-image_wrap{
    position: relative;
}

.shop-image_wrap a{
    display: block;
    font-size: 10px;
    padding: 3px 10px 2px;
    color: #fff;
    background: #FD9994;
    text-align: center;
    position: absolute;
    bottom: 0;
    right: 0;
}

.shop-image_wrap .reserve-text{
	display: block;
    font-size: 10px;
    padding: 3px 10px 2px;
    color: #fff;
    background: #FD9994;
    text-align: center;
    position: absolute;
    bottom: 0;
    right: 0;
}

.shop-name{
    font-size: 14px;
    margin: 15px 0 5px;
    font-weight: bold;
    line-height: 1.6;
}

.shop-detail{
    font-size: 12px;
    line-height: 1.6;
}

.shop-cta_container{
    display: block;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
}

.shop-cta{
    display: block;
    width: 100%;
    text-align: center;
    background: #1c2a3a;
    height: 35px;
    border-radius: 17px;
    margin-top: 10px;
    position: relative;
}

.shop-cta span{
    display: block;
    color: #fff;
    font-size: 16px;
    white-space: nowrap;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.shop-cta::before{
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 6.9px;
    border-color: transparent transparent transparent #ffffff;
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translate(0, -50%);
}

@media(max-width: 370px){
    .shop-cta::before{
        right: 15px;
    }
}


/*ããããè³ªå*/

.faq-section{
    padding: 60px 0;
}

.faq-title{
    text-align: center;
}

.faq-title span{
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 0.075em;
    position: relative;
}

.faq-wrap{
    margin-top: 32px;
}

.faq-container{
    margin-bottom: 25px;
}

.question{
    display: flex;
    padding: 12px 15% 12px 19px;
    background: #1c2a3a;
    position: relative;
}

.question::before,
.question::after{
    content: "";
    display: block;
    background: #fff;
    position: absolute;
    transition: .5s;
}

.question::before{
    width: 20px;
    height: 1px;
    top: 50%;
    right: 18px;
    transform: translate(0, -50%);
}
.question::after{
    width: 1px;
    height: 20px;
    top: 50%;
    right: 27px;
    transform: translate(0, -50%);
}

.question.active::before{
    opacity: 0;
}

.question.active::after{
    transform: translate(0, -50%) rotate(270deg);
}

.question span{
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: 0.05em;
    display: block;
    color: #fff;
}

.q-head{
    margin-right: 3px;
}

.answer-text{
    display: none;
    padding: 20px 4.4%;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.5;
}



.closing-section{
    padding:0 0 60px;
}

.closing_title{
    text-align: center;
    margin-bottom: 40px;
}

.closing-notes{
    display: inline-block;
    font-family: "Hiragino Kaku Gothic ProN","Helvetica Neue",Arial,"Hiragino Sans",Meiryo,sans-serif;
    background: #6C8CA1;
    color: #fff;
    padding: 13px 25px;
    font-size: 20px;
    font-weight: bold;
}

.closing-title_text{
    display: block;
    background: #1c2a3a;
    font-size: 22px;
    letter-spacing: 0.075em;
    line-height: 1.7;
    color: #fff;
    padding: 40px 10px 26px;
    margin-top: -30px;
    font-weight: bold;
}

.closing-image{
    margin-bottom: 35px;
}

.closing-discount_container .t-pink{
    margin-right: 6px;
	font-size: 16px;
}

.closing-text{
    font-size: 20px;
    letter-spacing: 0.05em;
    line-height: 1.7;
    margin-bottom: 14px;
}

.closing-text .t-pink{
    display: inline-block;
    font-size: 18px;
    color: #6C8CA1;
    font-weight: 600;
    letter-spacing: 0.05em;
    margin-right: 6px;
}

.closing-discount-tag{
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
    text-align: center;
    font-size: 20px;
    color: #fff;
    font-weight: bold;
    background: #1c2a3a;
    padding: 4px 8px;
    transform: translateY(-6px) rotate(9deg);
}

.closing-discount-price{
    display: inline-block;
    font-size: 26px;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #1c2a3a;
    position: relative;
    margin-bottom: 13px;
}

.closing-discount-price .font-size-big{
    font-size: 32px;
    letter-spacing: 0.05em;
    color: #1c2a3a;
}

.closing-discount-price::before{
    content: "";
    width: 100%;
    height: 4px;
    background-color: #E63946;
    position: absolute;
    bottom: 1px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}

.closing-cta_container .micro-copy{
    display: block;
    text-align: center;
    font-family: -apple-system, YuGothic, "Yu Gothic Medium", "Yu Gothic", sans-serif;
    font-size: 16px;
    letter-spacing: 0.075em;
    line-height: 1.7;
    margin-bottom: 10px;
    margin-right: 0;
}



@media(max-width: 366px){
    .t-pink{
        font-size: 4.6vw;
    }
    .closing-discount-tag{
        font-size: 5.1vw;
    }
    .closing-discount-price{
        font-size: 6.8vw;
    }
    .closing-discount-price .font-size-big{
        font-size: 8.4vw;
    }
}

.closing-cta_container .cta-text{
    white-space: nowrap;
}

.footer-fix-cta_container{
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    background: #1c2a3a;
    padding: 9px 7px 9px 37px;
	position: -webkit-fixed;
	position: fixed;
    bottom: 0;
    z-index: 999;
    opacity: 0;
    transition: .5s;
}
.footer-fix-cta_container.scroll{
    opacity: 1;
}

.footer-fix-text{
    font-family: -apple-system, YuGothic, "Yu Gothic Medium", "Yu Gothic", sans-serif;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.7;
    letter-spacing: 0.075em;
}

.footer-fix-text a{
    text-align: center;
}

.footer-fix-text span{
    color: #fff;
    font-size: 16px;
}

.footer-fix-cta{
    display: block;
    height: 52px;
    color: #fff;
}

.footer-fix-cta span{
    color: #FFF;
}

.footer-fix-cta_inner{
    display: flex;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.store-icon{
    width: 20px;
    margin-right: 6px;
}

.store_text{
    font-family: -apple-system, YuGothic, "Yu Gothic Medium", "Yu Gothic", sans-serif;
    font-size: 16px;
    font-weight: bold;
    color: #1c2a3a;
}

@media(min-width: 480px){
    .footer-fix-text span{
        font-size: 18px;
    }
    .footer-fix-text span br.pc_none{
        display: none;
    }
}

@media(min-width: 420){
    .closing-cta_container .micro-copy{
        font-size: 20px;
    }
}

@media(max-width: 385px){
    .closing-cta_container .micro-copy{
        font-size: 4vw;
    }
}

@media(max-width: 373px){
    .footer-fix-cta_container{
        padding: 9px 7px 9px 25px;
    }
    .footer-fix-text span{
        font-size: 3.9vw;
    }
}



footer{
    padding-bottom: 85px;
}

.copyright{
    font-family: -apple-system, YuGothic, "Yu Gothic Medium", "Yu Gothic", sans-serif;
    text-align: center;
    font-size: 12px;
    letter-spacing: 0.075em;
    line-height: 1.7;
}

.text-bold{
	font-weight: bold;
}

.subscription-price,.subscription_text.text-bold{
	margin-bottom: 10px;
}

.subscription_text.text-bold.more{
	margin-top: 35px;
	margin-bottom: 15px;
	font-size: 24px;
}

.subscription_text.text-bold.more .underline_yellow{
	background: linear-gradient(transparent 75%, #E63946 0%);
}


.subscription-price .bk_pink{
	display: inline-block;
	background: #6C8CA1;
	color: #fff;
	font-size: 22px;
	letter-spacing: 0.075em;
	padding: 14px 8.9% 12px;
	margin : 7px 0 5px;
	border-radius: 6px;
}



.before_after{
	padding: 80px 0;
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)),
linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
  background-size: 16px 16px;
  background-repeat: repeat;
  background-position: center center;
}

@media(max-width: 420px){
	.before_after{
		padding: 60px 0;
	}
}

.ba_h2_container{
	text-align: center;
	margin-bottom: 55px;
}

.ba_title_micro{
	display: inline-block;
	font-size: 14px;
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.05em;
	padding: 8px 10px 13px 11px;
	margin-bottom: 8px;
	background-image: url(../img/lp/ba_title_micro_bk.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.ba_h2_text{
	display:block;
}


.ba_h2_text{
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.05em;
	text-align: center;
}


.ba_h2_text .underline_green{
	background: linear-gradient(transparent 65%, #B7CEA5 0%);
	font-size: 28px;
}


.ba_container{
	margin-bottom: 24px;
}

.ba_container:last-child{
	margin-bottom: 0;
}

.ba_container img{
	border-radius:0px 5px 5px 5px;
}


.position_before_ba{
	padding-bottom: 0;
}

.position_before_ba .change-inner_lists-container{
	margin-bottom: 0;
}

.position_after_ba{
	margin-top: 60px;
}


/*2024-01-28*/

.worries_container{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 25px;
}
.worries_container:last-child{
	margin-bottom: 0;
}

.worries_image{
	width: 29%;
}


.worries_txt{
	background: #fff;
	padding: 14px 14px 15px;
	width: fit-content;
	height: fit-content;
	position: relative;
}
.worries_container.odd .worries_txt{
	margin-left: 36px;
}
.worries_container.even .worries_txt{
	margin-right: 36px;
}

.worries_txt::before{
	content: "";
	width:0;
	height:0;
	border-style:solid;
	position: absolute;
}
.worries_container.odd .worries_txt::before{
	border-width: 14px 24.2px 14px 0;
	border-color: transparent #FFFFFF transparent transparent;
	position: absolute;
	bottom: 12px;
   left: -23px;
}
.worries_container.even .worries_txt::before{
	 border-width: 14px 0 14px 24.2px;
	border-color: transparent transparent transparent #FFFFFF;
	position: absolute;
	bottom: 12px;
   right: -23px;
}


.worries_txt p{
	font-size: 18px;
	letter-spacing: 0.025em;
	line-height: 1.35;
}

.worries_txt p .worries_strong{
	position: relative
}
.worries_txt p .worries_strong::before{
	content: "";
	width: 100%;
	height: 1px;
	background: #E25959;
	position: absolute;
	bottom: -3px;
	left: 0;
}

.resolution-section.ver2{
	padding-top: 0;
}

.resolution_top{
	background: #F8F3EA;
	padding: 95px 5% 50px;
	/*margin-bottom: 45px;*/
}

.resolution_movie{
	width: 100%;
	margin: 0 auto 35px;
}

.resolution_movie video{
	width: 100%;
}

.result-text_wrap{
	background: #fff;
	padding:23px 13px;
	border-radius: 8px;
}

.result-text_wrap .result-text{
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.05em;
	padding: 0;
	line-height: 1.7;
	margin: 0;
}

.resolution_image{
	margin-top: 20px;
	margin-bottom: 20px;
}

.marker_yellow{
	background: linear-gradient(transparent 65%, #E63946 0%);
}

.result-text span.result_strong{
	color: #E25959;
	font-size: 24px;
}

.before_after{
	margin-bottom: 45px;
}

/* 240408è¿½å  */
.before_after .inner {
    padding-left: 3%;
    padding-right: 3%;
}


.bodycare_other{
	margin: 100px 0 35px;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	color: #444444;
	position: relative;
}
.bodycare_other::before{
	content:"";
	width: 2px;
	height:36px;
	background: #B7CEA5;
	position: absolute;
	top: -45px;
	left: 50%;
	transform: translate(-50%, 0);
}


.inner {
    padding-left: 5%;
    padding-right: 5%;
}

.maximum-effect_text {
    padding-left: 5%;
    padding-right: 5%;
    font-size: 18px;
    font-weight: 300;
    line-height: 1.5;
}

.maximum-effect_top {
    color: #444;
    font-size: 18px;
    font-weight: 600;
    padding-bottom: 30px;
    margin-top: 41px;
}

.maximum-effect_box1 {
    padding: 18px 12px;
    box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.10);
}

.maximum-effect-box1_title {
    text-align: center;
    line-height: 1.5;
}

.maximum-effect-box1_title .marker_yellow {
    background: linear-gradient(transparent 70%, #E63946 0%);

}

.maximum-effect-box1_text {
    margin-top: 19px;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.5;
    padding-left: 10px;
    padding-right: 10px;
}

.maximum-effect-box1_flex {
    display: flex;
    justify-content: space-between;
    padding-bottom: 18px;
    position: relative;
    margin-top: 22px;
    position: relative;
}

.maximum-effect-box1_catch {
    position: absolute;
    text-align: center;
    left: 50%;
    transform: translateX(-50%);
    bottom: 30%;
    font-size: 14px;
    font-weight: 600;
    width: fit-content;
    padding: 12px 15px;
    color: #fff;
}

.maximum-effect-box1_catch::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #E25959;
    opacity: 0.85;
    z-index: -1;
    border-radius: 50%;
}





.underline_yellow2 {
    padding-bottom: 3px;
    background: linear-gradient(transparent 95%, #E63946 0%);
}

.maximum-effect-box1_bottom {
    margin-top: 25px;
}

.maximum-effect-box1_img {
    width: calc(100% * 261/332);
    margin-inline: auto;
    margin-top: 16px;
}

.maximum-effect-box1_img img {
    width: 100%;
    height: auto;
}

.maximum-effect-box1_img-text {
    margin-top: 19px;
    color: #FFF;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
    background: #E25959;
    width: fit-content;
    padding: 3px 10px;
    margin-inline: auto;
    border-radius: 7px;
}

.maximum-effect-box1-bottom_triangle {
    margin-top: 28px;
    color: #FFF;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    background: #9A9A9A;
    padding: 5px 45px 12px;
    width: fit-content;
    margin-inline: auto;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.maximum-effect-box1-bottom_bottom {
    margin-top: 14px;
    border: solid 1px #000;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
}

.maximum-effect-box1-bottom-bottom_img {
    width: calc(100% * 108/312);
    max-width: 108px;
}

.maximum-effect-box1-bottom-bottom_text {
    width: calc(100% * 195/312);
    font-size: 14px;
    line-height: 1.4;
}

@media(min-width:393px){
    .maximum-effect-box1-bottom-bottom_text {
        width: calc(100% - 117px);
    }
}



.maximum-effect_middle {
    color: #444;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    padding-bottom: 33px;
}

.maximum-effect-middle_head {
    text-align: center;
    background: #E25959;
    color: #fff;
    padding-top: 10px;
    padding-bottom: 16px;
}

.maximum-effect-middle_head .marker_yellow {
    background: linear-gradient(transparent 70%, #E63946 0%);
}

.maximum-effect-middle_head span {
    color: #fff;
}

.maximum-effect-middle_text1 {
    margin-top: 39px;
    text-align: center;
    letter-spacing: 0.9px;
}

.maximum-effect-middle_triangle {
    margin-top: 40px;
    color: #fff;
    letter-spacing: 0.9px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    padding: 4px 57px 18px;
    background: #E25959;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.maximum-effect-middle_text2 {
    margin-top: 29px;
    text-align: center;
}

.maximum-effect-middle_text2 .marker_yellow {
    color: #444;
}

.maximum-effect-middle_text2 span {
    color: #E25959;
}

.maximum-effect-middle_img {
    margin-top: 39px;
    position: relative;
    width: 100%;
    height: auto;
}

.maximum-effect-middle-img_head {
    background: #1c2a3a;
    padding: 4px 6px;
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    word-break: keep-all;
}

.maximum-effect-middle-img_img {
    width: 100%;
    height: auto;
}

.maximum-effect-middle-img_img img{
    width: 100%;
    height: auto;
}

.maximum-effect_bottom {
    font-size: 18px;
    font-weight: 800;
    color: #444;
    padding-bottom: 70px;
}

.maximum-effect-bottom_head {
    letter-spacing: calc(1em * 0.9/18);
    color: #fff;
    background: #1c2a3a;
    text-align: center;
    padding-top: 21px;
    padding-bottom: 9px;
    line-height: 1.5;
}

.maximum-effect-bottom_head .marker_yellow {
    background: linear-gradient(transparent 75%, #E63946 0%);
}

.maximum-effect-bottom_head span {
    font-size: 23.3333px;
    color: #fff;
    line-height: 1.8;
}

.maximum-effect-bottom_head .dot {
    position: relative;
}

.maximum-effect-bottom_head .dot::before {
    content: "";
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #fff;
    position: absolute;
    top: -5px;
    left: 50%;
    transform: translateX(-50%);
}

.maximum-effect-bottom_contents {
    margin-top: 42px;
}

.maximum-effect-bottom_items {
    width: calc(100% * 234/354);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 11px;
    margin-left: auto;
    margin-right: auto;
}

.maximum-effect-bottom_item {
    width: calc(50% - 5.26px);
    height: auto;
}

.maximum-effect-bottom-item_img {
    width: 100%;
    height: auto;
}

.maximum-effect-bottom-item_img img {
    width: 100%;
    height: auto;
}

.maximum-effect-bottom-item_text {
    font-size: 12.727px;
    letter-spacing: calc(1em * 0.636/12.727);
    margin-top: 3px;
    text-align: center;
}

.maximum-effect-bottom_text {
    letter-spacing: calc(1em * 0.9/18);
    text-align: center;
    margin-top: 18px;
    line-height: 1.4;
}

.maximum-effect-bottom_text span {
    color: #E25959;
}

.maximum-effect-text_box{
    padding: 0 5%;
    margin-bottom: 40px;
}

.maximum-effect-text_box p{
    border: 1px solid #6C8CA1;
    padding: 4.3%;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.05em;
}

.inner iframe{
    display: block;
    margin: 0 auto;
    width: 100%;
}
.shop-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    max-width: 500px;
    margin: auto;
    }

    .box {
    padding: 5px;
    text-align: start;
    font-size: 1.1rem;
}

.shop-box{
    display: block;
    width: 80%;
    margin: 30px auto;
    padding: 20px 20px 50px;
    background-color: #fff;
    text-align: center;
}

.shop-box img{
    width: 30%;
    margin-bottom: 20px;
}

.shop-box h3{
    font-size: 1.3rem;
    margin-bottom: 30px;
}

.shop-box p{
    font-size: 1.1rem;
    margin-bottom: 30px;
}

.closing-box{
    display: block;
    text-align: center;
}

.grecaptcha-badge {
     visibility: hidden;
     }

.contact{
    margin-top: 120px;
}

.contact-title{
    text-align: center;
}

.contact-title h2{
    font-size: 2rem;
    color: #244C5A;
}

.contact-container_p {
    font-size: 24px;
    color: #4a4a4a;
    margin-top: 30px;
    margin-bottom: 30px;
    line-height: 1.6;
    text-align: center;
}

.contact-form{
    display: block;
    width: 90%;
    margin: 0 auto 50px;
}

.contact-form_message{
    margin-top: 20px;
}

.contact-form_title p{
    display: block;
    font-size: 20px;
    color: #333;
    margin-top: 0;
    margin-bottom: 12px;
    text-align: start;
}

.wpcf7-form-control {
    display: block;
    width: 100%;
    padding: 20px;
    margin-bottom: 32px;
    border: 1px solid #ccc;
    border-radius: 8px;
    font-size: 24px;
    box-sizing: border-box;
}

.border-none{
    border: none;
}

.contact-lineno p,.contact-lineno span{
    font-size: 18px;
}

.wpcf7-textarea {
    resize: none;
}

.wpcf7-checkbox {
    margin-bottom: 15px;
}

.contact-form input[type="submit"] {
    display: block;
    width: 300px;
    background-color: #244C5A;
    color: #fff;
    border: none;
    padding: 12px;
    border-radius: 8px;
    font-size: 20px;
    cursor: pointer;
    transition: background-color 0.3s;
    margin: 30px auto;
    text-align: center;
}

.contact-form input[type="submit"]:hover {
    background-color: #fff;
    border: 1px solid #0686b2;
    color: #0686b2;
}

.required::after {
    content: "必須";
    color: #fff;
    background: #C33939;
    font-size: 16px;
    padding: 0.3em;
    border-radius: 0.5em;
    margin-left:0.3em;
}

        .wpcf7-response-output{
          text-align: center;
        }

        .screen-reader-response{
          display: none;
        }

.border-none span{
    border: none;
}

@media (max-width: 576px){
.contact{
    display: block;
  }

  .contact-form{
    width: 95%;
    margin-bottom: 0;
  }

  .contact-title h2{
    width: 100%;
    font-size: 32px;
  }

  .contact-container_p {
    font-size: 18px;
  }

  .contact-form input[type="submit"]{
    width: 200px;
    padding: 20px;
    font-size: 24px;
  }
}

@media (min-width: 397px){
    .shop-container{
        display: block;
        width: 80%;
    }
}
