/*************************************************************

CSSリセット

*************************************************************/

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0;
}

*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

main {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

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

b,
strong {
    font-weight: bolder
}

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

small {
    font-size: 80%
}

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

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

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

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

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

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

details {
    display: block
}

summary {
    display: list-item
}

template {
    display: none
}

[hidden] {
    display: none
}

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

dd,
dt {
    line-height: 1.75;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.5;
    margin: 0 0 10px;
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    font-weight: 600;
    color: #666;
    font-feature-settings: normal;
}

h2 {
    font-size: 32px;
    font-size: 40px;
}

@media screen and (max-width:750px) {
    h2 {
        font-size: 5.333vw;
        font-size: 6.4vw;
    }
}

p {
    margin: 0;
}

/* 
p + p {
    margin-top: 1em;
}
*/

#page_homepage .ec-layoutRole .ec-layoutRole__contents {
    max-width: none;
}

.ec-layoutRole .ec-layoutRole__contents {
    max-width: 1200px;
    margin: auto;
	display: block;
}


@media screen and (max-width:750px) {
    #page_homepage .ec-layoutRole .ec-layoutRole__contents {
        padding-top: 34.3%;
        padding-top: 33.5vw;
        padding-top: 27.2vw;
    }

    .ec-layoutRole .ec-layoutRole__contentTop {
        padding-top: 34.3%;
        padding-top: 33.5vw;
    }
}

@media screen and (max-width:590px) {
    #page_homepage .ec-layoutRole .ec-layoutRole__contents {
        padding-top: 36.8%;
        padding-top: 34.2vw;
        padding-top: 27.5vw;
    }

    .ec-layoutRole .ec-layoutRole__contentTop {
        padding-top: 36.8%;
        padding-top: 34.2vw;
    }
}

figure {
    margin: 0;
    padding: 0;
}

/*************************************************************

共通基本設定

*************************************************************/
* {
    transition: .3s;
}

body {
    font-family: "游ゴシック", YuGothic, "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, "メイリオ", Meiryo, sans-serif;
    color: #333;
}

@media screen and (min-width:751px) {

    html,
    body {
        font-size: 62.5%;
        overflow-x: hidden;
    }

    body {
        margin: 0;
        padding: 0;
        font-size: 1.6rem;
        line-height: 1.75;
        font-weight: 500;
        overflow-x: hidden;
        font-feature-settings: "palt";
    }
}


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

    html,
    body {
        overflow-x: hidden;
    }

    body {
        font-size: 3.733vw;
        margin: 0;
        padding: 0;
        line-height: 1.75;
        font-weight: 500;
        overflow-x: hidden;
        font-feature-settings: "palt";
    }
}


.pc_only {
    display: block;
}

@media screen and (max-width:750px) {
    .pc_only {
        display: none;
    }
}

.sp_only {
    display: none;
}

@media screen and (max-width:750px) {
    .sp_only {
        display: block;
    }
}

img {
    max-width: 100%;
}

a {
    color: #61a38f;
    text-decoration: none;
}

a:hover,
a:active {
    text-decoration: none;
    opacity: .5;
    filter: saturate(200%);
}

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

    a:hover,
    a:active {
        text-decoration: none;
        opacity: 1;
        filter: saturate(200%);
    }
}

a:visited,
a:focus {
    text-decoration: none;
}



.ec-pageHeader h1 {
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    border: none;
    margin: 64px 0 64px;
    padding: 0;
}

@media screen and (max-width:750px) {
    .ec-pageHeader h1 {
        font-size: 4.267vw;
        margin: 6.4vw 0 6.4vw;
    }
}

.ec-blockBtn--action {
    background: #dc455c;
}

p {
    margin-top: 0;
    text-align: justify;
}

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

    p,
    ol {
        font-size: 3.733vw;
    }
}

h1,
h2 {}

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

    h1 {
        font-size: 4vw;
    }

    h2 {
        font-size: 5.333vw;
    }
}

h3 {
    font-size: 28px;
}

@media screen and (max-width:750px) {
    h3 {
        font-size: 4vw;
    }
}

li {
    text-align: justify;
}

#page_user_data .sec {
    margin-bottom: 120px;
}

@media screen and (max-width:750px) {
    #page_user_data .sec {
        margin-bottom: 10.666vw;
    }
}

.ec-blockTopBtn {
    z-index: 9999;
    font-size: 36px;
    width: 10vw;
    max-width: 75px;
    height: 10vw;
    max-height: 75px;
    background: #61a38f;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
}

@media screen and (max-width:750px) {
    .ec-blockTopBtn {
        right: 6vw;
        font-size: 4.8vw;
        bottom: 10.666vw;
    }
}


.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.clearfix:before {
    content: "";
    display: block;
    clear: both;
}

.clearfix {
    display: block;
}


@media (min-width: 751px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
        color: #525263;
    }
}

.red {
    color: #dc455c;
}


.ec-input input,
.ec-halfInput input,
.ec-numberInput input,
.ec-zipInput input,
.ec-telInput input,
.ec-select input,
.ec-birth input {
    margin: 0;
    border: solid 1px #ccc;
}

.ec-borderedDefs dl {
    display: flex;
    justify-content: space-between;
}

.ec-borderedDefs dt {
    padding: 0;
    display: flex;
    align-items: center;
}


/*************************************************************

サイト横幅

*************************************************************/

#reviewform .ec-borderedDefs dd {
    width: 60.2%;
}

@media screen and (max-width:750px) {
    #reviewform .ec-borderedDefs dd {
        padding-left: 1em;
    }
}

#reviewform.confirm .ec-borderedDefs dd {
    color: #56aedc;
}

#reviewform .ec-input + .ec-input {
    margin-top: 24px;
}

@media screen and (max-width:750px) {
    #reviewform .ec-input + .ec-input {
        margin-top: 4.266vw;
    }
}


/*************************************************************

サイト横幅

*************************************************************/
.ec-layoutRole__main {
    margin-bottom: 120px;
}

@media screen and (max-width:750px) {
    .ec-layoutRole__main {
        margin-bottom: 10.666vw;
    }
}

#page_user_data .ec-layoutRole__main {
    margin-bottom: 0;
}

.sec > .inner {
    max-width: 1200px;
    margin: auto;
}

@media screen and (max-width:1200px) {
    .sec > .inner {
        padding: 0 4vw;
    }
}

@media screen and (max-width:750px) {
    .sec > .inner {
        padding: 0 6vw;
    }
}

.ec-role,
.ec-productRole {
    max-width: 1200px;
    padding: 0;
}

#page_product_detail .ec-productRole {
    margin-bottom: 120px;
}

@media screen and (max-width:750px) {
    #page_product_detail .ec-productRole {
        margin-bottom: 10.666vw;
    }
}

.ec-off1Grid .ec-off1Grid__cell {
    width: 100%;
    margin: 0;
}


.ec-layoutRole .ec-layoutRole__mainWithColumn {
    width: 80%;
}

@media screen and (max-width:750px) {
    .ec-layoutRole .ec-layoutRole__mainWithColumn {
        width: 100%;
    }
}

.ec-layoutRole .ec-layoutRole__left,
.ec-layoutRole .ec-layoutRole__right {
    width: 20%;
}

#page_user_data .ec-layoutRole__contents {
    max-width: none;
}
.ec-borderedDefs .ec-input {
    margin-bottom: 10px;
}






/*************************************************************

ヘッダー PC

*************************************************************/
#header_pc {
    background: #fff;
    border-bottom: solid 1px #b0d1c7;
}

#header_pc.sec {
    margin-bottom: 64px;
    margin-bottom: 0;
}

#page_homepage #header_pc.sec {
    margin-bottom: 20px;
    margin-bottom: 0;
}

#header_pc.compact {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 100;
}


#header_pc > .inner {
    padding-top: 20px;
    padding-bottom: 28px;
}

#header_pc.compact > .inner {
    padding-top: 10px;
    padding-bottom: 12px;
}

#header_pc > .inner > .headerFlex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}



#header_pc > .inner .headerLeftArea {
    flex-basis: 410px;
    flex-shrink: 1;
    flex-grow: 0;
}

#header_pc.compact > .inner .headerLeftArea {
    flex-basis: 200px;
}

#header_pc > .inner .headerRightArea {
    flex-basis: 380px;
    flex-shrink: 1;
    flex-grow: 0;
    margin-left: 20px;
}

#header_pc.compact > .inner .headerRightArea {
    display: flex;
    justify-content: flex-end;
    flex-basis: calc(100% - 220px);
}

/*---*/

#header_pc > .inner .headerRightArea > .sns_and_search {
    display: flex;
    justify-content: flex-end;
}

#header_pc.compact > .inner .headerRightArea > .sns_and_search {
    flex-basis: 350px;
    flex-shrink: 1;
    flex-grow: 0;
}

/*---*/

#header_pc > .inner .headerRightArea > .sns_and_search > .snsLink {
    flex-basis: auto;
    flex-shrink: 1;
    flex-grow: 0;
}

#header_pc > .inner .headerRightArea > .sns_and_search > .headerSearch {
    flex-basis: 232px;
    flex-shrink: 1;
    flex-grow: 0;
    margin-left: 20px;
}

/*---*/

#header_pc.compact > .inner .headerRightArea > .headerNavArea {
    flex-basis: 400px;
    flex-shrink: 1;
    flex-grow: 0;
}

/*---*/

#header_pc > .inner .globalNav {
    flex-basis: 100%;
    flex-shrink: 1;
    flex-grow: 1;
    margin-top: 12px;
}

#header_pc.compact > .inner .globalNav {
    margin-top: 10px;
}


/* ロゴ
///////////////*/
#header_pc figure {
    margin: 20px 0 0;
    padding: 0;
}

#header_pc.compact figure {
    margin: 0;
}

#header_pc figure img.logo_big {
    display: block;
}

#header_pc figure img.logo_small {
    display: none;
}

#header_pc.compact figure img.logo_big {
    display: none;
}

#header_pc.compact figure img.logo_small {
    display: block;
}


/* リード文
///////////////*/
#header_pc .lede {
    font-size: 1.4rem;
}

#header_pc.compact .lede {
    display: none;
}


/* SNSボタン
///////////////*/
#header_pc .snsLink {
    display: flex;
    align-items: center;
    font-size: 2rem;
}

#header_pc .snsLink > li + li {
    margin-left: 10px;
}

#header_pc .snsLink a {
    color: #61a38f;
}


/* 検索エリア
///////////////*/
#header_pc .ec-headerSearch__keyword > .ec-input {
    display: flex;
    border: solid 1px #b0d1c7;
}

#header_pc .ec-headerSearch__keyword > .ec-input input[type="search"] {
    margin: 0;
    padding: 5.5px;
    border: none;
    border-radius: 0;
    height: auto;
    flex-basis: calc(100% - 32px);
    flex-shrink: 0;
    flex-grow: 0;
}

/* IE11 */
.ie11 #header_pc .ec-headerSearch__keyword > .ec-input input[type="search"] {
    flex-basis: calc(100% - 59px);
    flex-shrink: 0;
    flex-grow: 0;
}

/*---*/

#header_pc.compact .ec-headerSearch__keyword > .ec-input input[type="search"] {
    padding: 4px 5.5px;
}

#header_pc .ec-headerSearch__keyword > .ec-input button {
    background: #b0d1c7;
    border-radius: 0;
    border: none;
    flex-basis: 32px;
    flex-shrink: 0;
    flex-grow: 0;
}


/* ヘッダー　ログインナビ
///////////////*/
#header_pc .headerNavArea > ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
    font-size: 1.4rem;
}

#header_pc.compact .headerNavArea > ul {
    margin-top: 0;
    margin-left: 10px;
}

#header_pc .headerNavArea > ul > li {
    flex-basis: calc(100% / 3 - 5px);
    flex-shrink: 1;
    flex-grow: 0;
}

#header_pc .headerNavArea a {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4px 5px;
    background: #b0d1c7;
    color: #333;
}

#header_pc .headerNavArea a span {
    display: block;
    width: 22px;
    height: 22px;
    margin-right: 10px;
}

@media screen and (max-width:1200px) {
    #header_pc .headerNavArea a span {
        display: none;
    }
}

#header_pc .headerNavArea li.mypage a span,
#header_pc .headerNavArea li.login a span {
    background: url("/html/template/default/assets/images_coco/header/ico_login_mypage.png") no-repeat;
}

#header_pc .headerNavArea li.register a span {
    background: url("/html/template/default/assets/images_coco/header/ico_register.png") no-repeat;
}

#header_pc .headerNavArea li.cart a {
    background: #666;
    color: #fff;
}

#header_pc .headerNavArea li.cart a span.icon {
    background: url("/html/template/default/assets/images_coco/header/ico_cart.png") no-repeat;
    width: 20px;
    height: 20px;
    background-size: contain;
}

#header_pc .headerNavArea li.cart a span.itemNum {
    display: block !important;
    position: absolute;
    top: 47%;
    right: 8px;
    transform: translate(0, -50%);
    width: 16px;
    height: 16px;
    background-color: #b0d1c7;
    border-radius: 20px;
    color: #fff;
    font-family: sans-serif;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 16px;
    text-align: center;
    z-index: 10;
    margin: 0;
}

@media screen and (max-width:1200px){
    #header_pc .headerNavArea li.cart a span.itemNum{
        right: 5%;
    }
}

#header_pc .headerNavArea li.logout i {
    color: #fff;
    display: inline-block;
    margin-right: 5px;
    font-size: 1.8rem;
}
@media screen and (max-width:1200px) {
#header_pc .headerNavArea li.logout i {
    font-size: 0rem;
}
}


/* グローバルナビ　PC
///////////////*/
#header_pc > .inner > .globalNav > ul {
    display: flex;
    justify-content: space-between;
}

#header_pc > .inner > .globalNav > ul > li {
    flex-basis: calc(100% / 7);
    flex-shrink: 1;
    flex-grow: 0;
}

#header_pc > .inner > .globalNav > ul > li a {
    text-align: center;
    display: block;
    position: relative;
    font-size: 1.4rem;
    color: #333;
}

@media screen and (max-width:1200px) {
    #header_pc > .inner > .globalNav > ul > li a {
        font-size: 12px;
    }
}

#header_pc > .inner > .globalNav > ul > li a::before {
    content: "";
    position: absolute;
    width: 80%;
    max-width: 130px;
    height: 2px;
    background: #61a38f;
    bottom: -8px;
    left: 50%;
    transform: translate(-50%, 0);
    opacity: 0;
}

#header_pc > .inner > .globalNav > ul > li a:hover::before {
    opacity: 1;
}

#header_pc.compact > .inner > .globalNav > ul > li a::before {
    bottom: -5px;
}



/*************************************************************

ヘッダー SP

*************************************************************/
#header_sp {
    position: fixed;
    width: 100%;
    z-index: 9999;
    overflow-y: auto;
    max-height: 100vh;
}

@media screen and (max-width:750px) {
    #header_sp.sec {
        margin-bottom: 0;
    }
}

#header_sp .lede {
    text-align: center;
    margin: 0;
    padding: 0 1vw;
    background: #61a38f;
    color: #fff;
    line-height: 1.7;
}

#header_sp * {
    float: none;
}




/* ヘッダーナビアイコン
///////////////*/
#header_sp .inner {
    padding: 3vw 2vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
}

#header_sp .inner > figure {
    flex-basis: 40%;
    flex-shrink: 1;
    flex-grow: 0;
    margin: 4px 0 0;
    padding: 0;
}

#header_sp .inner > .navArea {
    flex-basis: 45%;
    flex-shrink: 1;
    flex-grow: 0;
}

#header_sp .inner > .navArea ul {
    display: flex;
    justify-content: flex-end;
    text-align: center;
    font-size: 2.8vw;
    white-space: nowrap;
}

#header_sp .inner > .navArea ul > li {
    flex-basis: calc(100% / 4);
    flex-shrink: 1;
    flex-grow: 0;
    text-align: center;
    line-height: 1;
}

#header_sp .inner > .navArea ul > li:nth-child(2) {}

@media screen and (max-width:590px) {
    #header_sp .inner > .navArea ul > li:nth-child(2) {
        letter-spacing: -.5vw;
    }
}

#header_sp .inner > .navArea ul > li + li {
    /* margin-left: 5px;*/
}

#header_sp .inner > .navArea ul > li a {
    display: block;
}

#header_sp .inner > .navArea ul > li img {
    display: block;
    margin: auto;
    margin-bottom: 1vw;
}

@media screen and (max-width:590px) {
    #header_sp .inner > .navArea ul > li img {
        max-width: 55%;
    }
}

#header_sp .navArea .cartBT {
    position: relative;
}

#header_sp .navArea .cartBT span.itemNum {
    position: absolute;
    top: -7px;
    right: 0;
    width: 16px;
    height: 16px;
    background-color: #b0d1c7;
    border-radius: 20px;
    color: #fff;
    font-family: sans-serif;
    font-size: 9px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 16px;
    text-align: center;
    z-index: 10;
}

#header_sp .navArea .searchBT {}



#header_sp .navArea .searchBT > div {
    position: relative;
    cursor: pointer;
    color: #61a38f;
}

#header_sp .navArea .searchBT > div:hover {
    opacity: .5;
}

#header_sp .navArea ul > li img.nomal {
    display: block;
}

#header_sp .navArea ul > li .open img.nomal {
    display: none;
}

#header_sp .navArea ul > li img.close {
    display: none;
}

#header_sp .navArea ul > li .open img.close {
    display: block;
}




/* 検索エリア
///////////////*/
#header_sp .searchBT span {
    display: block;
}

#header_sp .toggle_search {
    display: none;
    transition: none;
}

#header_sp .toggle_search > .inner > div {
    width: 100%;
}

#header_sp .ec-headerSearch__keyword > .ec-input {
    display: flex;
    border: solid 1px #b0d1c7;
}

#header_sp .ec-headerSearch__keyword > .ec-input input[type="search"] {
    margin: 0;
    padding: 5.5px;
    border: none;
    border-radius: 0;
    height: auto;
    flex-basis: calc(100% - 32px);
    flex-shrink: 0;
    flex-grow: 0;
}

#header_sp.compact .ec-headerSearch__keyword > .ec-input input[type="search"] {
    padding: 4px 5.5px;
}

#header_sp .ec-headerSearch__keyword > .ec-input button {
    background: #b0d1c7;
    border-radius: 0;
    border: none;
    flex-basis: 32px;
    flex-shrink: 0;
    flex-grow: 0;
}


/* ヘッダー下部ナビボタン
///////////////*/
#header_sp .header_sp_nav {
    border-bottom: solid 1px #fff;
}

#header_sp .header_sp_nav ul {
    display: flex;
    justify-content: space-between;
}

#header_sp .header_sp_nav ul > li {
    flex-basis: calc(100% / 3);
    flex-shrink: 1;
    flex-grow: 1;
    display: flex;
}

#header_sp .header_sp_nav ul > li a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    padding: 2.15vw 0.667vw;
    text-align: center;
    flex-basis: 100%;
    font-size: 3.733vw;
    line-height: 1;
    font-weight: 500;
}

#header_sp .header_sp_nav ul > li.omoi a {
    background: #61a38f;
}

#header_sp .header_sp_nav ul > li.kodawari a {
    background: #81b5a5;
}

#header_sp .header_sp_nav ul > li.houhou a {
    background: #b0d1c7;
}


/* ハンバーガーボタン
///////////////*/
#header_sp .hamburger span {
    display: block;
    letter-spacing: -1px;
}

#header_sp .hamburger > div {
    color: #61a38f;
}

#header_sp .hamburger > div:hover {
    cursor: pointer;
}

/* グロナビハンバーガー内部
///////////////*/
#header_sp #globalNavSP {
    display: none;
    transition: none;
}

#header_sp #globalNavSP > ul {
    border-bottom: solid 1px #81b5a5;
}

#header_sp #globalNavSP ul > li {
    position: relative;
}

#header_sp #globalNavSP ul > li .openIco {
    display: block;
    width: 6.2vw;
    height: 6.2vw;
    position: absolute;
    right: 2vw;
    top: 2vw;
    z-index: 100;
    cursor: pointer;
}

#header_sp #globalNavSP ul > li .openIco span {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: 3.2vw;
    height: 2px;
    background: #81b5a5;

}

#header_sp #globalNavSP ul > li .openIco::before {
    position: absolute;
    content: "";
    left: 50.5%;
    top: 50%;
    width: 2px;
    height: 3.2vw;
    background: #81b5a5;
    transform: translate(-50%, -50%);
}

#header_sp #globalNavSP ul > li .openIco.open::before {
    display: none;
}

#header_sp #globalNavSP ul > li > ul {
    display: none;
    transition: none;
}

#header_sp #globalNavSP ul > li {
    background: #dfede9;
}

#header_sp #globalNavSP ul > li > a {
    display: block;
    background: #dfede9;
    color: #333;
    padding: 2.85vw 6vw;
    font-weight: 700;
    font-size: 3.733vw;
    line-height: 1;
}

#header_sp #globalNavSP ul > li > a.more {
    margin-right: 3.5em;
}

#header_sp #globalNavSP ul > li > ul > li > a {
    background: #fff;
    color: #61a38f;
    font-weight: 500;
    padding: 2.85vw 6vw 2.85vw 2.5em;
}

#header_sp #globalNavSP ul > li + li,
#header_sp #globalNavSP ul > li > ul {
    border-top: solid 1px #81b5a5;
}


/*************************************************************

フッター

*************************************************************/
#coco_footer .sec {
    margin-bottom: 0;
}

#coco_footer .footerNavArea {
    background: #61a38f;
}

#coco_footer .footerNavArea > .inner {
    padding-top: 64px;
    padding-bottom: 64px;
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width:1000px) {
    #coco_footer .footerNavArea > .inner {
        display: block;
        padding-top: 8.533vw;
        padding-bottom: 8.533vw;
    }
}

#coco_footer .footerNavArea > .inner > .tel_calendar {
    flex-basis: 504px;
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:1000px) {
    #coco_footer .footerNavArea > .inner > .tel_calendar {
        margin-bottom: 8.533vw;
    }
}

#coco_footer .footerNavArea > .inner > .footerNav {
    flex-basis: calc(100% - 560px);
    flex-shrink: 1;
    flex-grow: 0;
}

/* 電話番号
///////////////*/

#coco_footer .tel {
    display: flex;
}

#coco_footer .tel .left {
    background: #b0d1c7;
    flex-basis: 160px;
    flex-shrink: 1;
    flex-grow: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width:750px) {
    #coco_footer .tel .left {
        flex-basis: 35%;
    }
}

#coco_footer .tel h4 {
    font-weight: 900;
    margin: 0;
    font-size: 2.1rem;
    text-align: center;
    font-family: inherit;
}

@media screen and (max-width:750px) {
    #coco_footer .tel h4 {
        font-size: 4.267vw;
    }
}

#coco_footer .tel h4 span {
    font-size: 1.8rem;
    display: block;
}

@media screen and (max-width:750px) {
    #coco_footer .tel h4 span {
        font-size: inherit;
    }
}

#coco_footer .calendar {
    margin-top: 32px;
}

#coco_footer .tel .right {
    background: #fff;
    flex-basis: calc(100% - 160px);
    flex-shrink: 1;
    flex-grow: 0;
    padding: 20px;
}

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

	    #coco_footer .tel .right img {
width: 60%;
	}
		}

@media screen and (max-width:750px) {
    #coco_footer .tel .right {
        flex-basis: calc(100% - 35%);
        padding: 2.667vw;
    }

}

#coco_footer .tel address {
    margin: 0 0 10px;
}

@media screen and (max-width:750px) {
    #coco_footer .tel address img {
        width: 100% !important;
        margin: .5em 0 0;
    }
}

#coco_footer .tel .right .jikan {
    position: relative;
    padding-left: 1.5em;
}

#coco_footer .tel .right .jikan::before {
    position: absolute;
    content: "●";
    color: #61a38f;
    left: 0;
    top: 50%;
    transform: translate(0, -50%);
}

#coco_footer .tel .right .hatsubai {
    font-size: 14px;
}

@media screen and (max-width:750px) {
    #coco_footer .tel .right .hatsubai {
        font-size: 3.2vw;
    }
}


@media screen and (max-width:590px) {
    #coco_footer .tel .right .hatsubai br {}
}


/* フッター　右側ナビ
///////////////*/
#coco_footer .footerNav {
    display: flex;
    justify-content: space-between;
    font-size: 1.4rem;
}

@media screen and (max-width:750px) {
    #coco_footer .footerNav {
        display: block;
        font-size: inherit;
    }
}

#coco_footer .footerNav > div {
    flex-basis: calc(100% / 2 - 24px);
    flex-shrink: 1;
    flex-grow: 0;
}

#coco_footer .footerNav a,
#coco_footer .footerNav ul > li > p {
    color: #fff;
    position: relative;
    line-height: 2;
    font-weight: 900;
}

#coco_footer .footerNav ul + ul {
    margin-top: 10px;
    padding-top: 10px;
    border-top: solid 1px #fff;
}

@media screen and (max-width:750px) {
    #coco_footer .footerNav ul + ul {
        margin-top: 0;
        padding-top: 0;
        border-top: none
    }
}

#coco_footer .footerNav ul > li {}

@media screen and (max-width:750px) {
    #coco_footer .footerNav ul > li {
        border-top: solid 1px #fff;
    }
}

#coco_footer .footerNav ul > li > a {
    font-weight: 900;
}

@media screen and (max-width:750px) {
    #coco_footer .footerNav ul > li > a {
        display: block;
        padding: 1.4vw 0;
        font-weight: 700;
        font-size: 3.733vw;
    }
}

#coco_footer .footerNav ul > li > ul {
    margin-left: 1em;
}

@media screen and (max-width:750px) {
    #coco_footer .footerNav ul > li > ul {
        display: none;
    }
}

#coco_footer .footerNav ul > li > ul > li a {
    padding-left: 1em;
    position: relative;
    display: block;
    font-weight: 400;
}

#coco_footer .footerNav ul > li > ul > li a::before {
    content: "";
    position: absolute;
    width: 3px;
    height: 1px;
    background: #fff;
    left: 0;
    top: 50%;
    transform: translate(0, -50%);
}


#coco_footer .footerNav .right > ul:last-child {}

@media screen and (max-width:750px) {
    #coco_footer .footerNav .right > ul:last-child {
        border-bottom: solid 1px #fff;
    }
}






/* フッター　下部メイン
///////////////*/
#coco_footer .footerMain {
    text-align: center;
    background: #efefef;
}

#coco_footer .footerMain > .inner {
    padding-top: 48px;
    padding-bottom: 48px;
}

@media screen and (max-width:750px) {
    #coco_footer .footerMain > .inner {
        padding-top: 8.533vw;
        padding-bottom: 8.533vw;
    }
}


#coco_footer .footerMain .logo {
    width: 225px;
    margin: auto;
}

@media screen and (max-width:750px) {
    #coco_footer .footerMain .logo {
        width: 60%;
        margin: auto;
    }
}


#coco_footer .footerMain ul {
    display: flex;
    justify-content: space-between;
    max-width: 670px;
    margin: auto;
    margin-top: 40px;
}

@media screen and (max-width:750px) {
    #coco_footer .footerMain ul {
        display: block;
        margin-top: 4.266vw;
    }
}

#coco_footer .footerMain ul > li {
    text-align: center;
}

#coco_footer .footerMain ul li a {
    color: #333;
    font-size: 1.4rem;
}

@media screen and (max-width:750px) {
    #coco_footer .footerMain ul li a {
        padding: 1.333vw;
        font-size: inherit;
    }
}

#coco_footer .footerMain ul li + li {
    margin-left: 10px;
}

@media screen and (max-width:750px) {
    #coco_footer .footerMain ul li + li {
        margin-left: 0;
    }
}

#coco_footer .footerMain .copy {
    margin-top: 24px;
    text-align: center;
    font-size: 12px;
}

@media screen and (max-width:750px) {
    #coco_footer .footerMain .copy {
        margin-top: 8.533vw;
        font-size: 3.2vw;
    }
}










/*************************************************************

トップページコンテンツ

*************************************************************/
.ec-sliderRole {
    max-width: none;
    padding: 0;
    margin-bottom: 64px;
}

@media screen and (max-width:750px) {
    .ec-sliderRole {
        margin-bottom: calc(3.2vw + 16px + 8.533vw);
    }
}

.slick-slide img.pc_only {
    display: block;
}

@media screen and (max-width:750px) {
    .slick-slide img.pc_only {
        display: none;
    }
}

.slick-slide img.sp_only {
    display: none;
}

@media screen and (max-width:750px) {
    .slick-slide img.sp_only {
        display: block;
    }
}


/*----------------------------

ニュース

----------------------------*/

#news {
    margin-bottom: 64px;
}

#news h3 {
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    font-size: 24px;
    text-align: center;
    color: #61a38f;
    margin-bottom: 32px;
    line-height: 1;
}

@media screen and (max-width:750px) {
    #news h3 {
        font-size: 5.333vw;
        margin-bottom: 5.333vw;
    }
}

#news .ec-newsRole__news {
    border: none;
    padding: 0;
}

#news .ec-newsRole__news * {
    transition: none;
    font-size: inherit;
}

.ec-newsRole .ec-newsRole__newsItem:first-of-type {
    border-top: dashed 1px #ccc;
}

.ec-newsRole .ec-newsRole__newsItem,
.ec-newsRole .ec-newsRole__newsItem:not(:last-of-type) {
    border-bottom: dashed 1px #ccc;
    padding: 10px 0;
}

.ec-newsRole .ec-newsRole__newsDate {
    color: #61a38f;
}

.ec-newsRole .ec-newsRole__newsCloseBtn {
    background: none;
}

.ec-newsRole .ec-newsRole__newsCloseBtn i {
    color: #61a38f;
}

.ec-newsRole {
    padding: 0;
}


/*----------------------------

バナーエリア

----------------------------*/
.topBnrArea {
    margin-bottom: 80px;
}

.topBnrArea ul {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width:750px) {
    .topBnrArea ul {
        display: block;
    }
}

.topBnrArea ul.bigBnr > li:first-of-type {
    flex-basis: 752px;
    flex-shrink: 1;
    flex-grow: 0;
}

.topBnrArea ul.bigBnr > li {
    flex-basis: 432px;
    flex-shrink: 1;
    flex-grow: 0;
}

.topBnrArea ul.bigBnr > li + li {
    margin-left: 16px;
}

@media screen and (max-width:750px) {
    .topBnrArea ul.bigBnr > li + li {
        margin-left: 0;
        margin-top: 6.4vw;
    }
}

.topBnrArea ul.smallBnr {
    margin-top: 80px;
}

@media screen and (max-width:1200px) {
	 .topBnrArea ul.smallBnr {
	margin-top: 30px;
}
}


@media screen and (max-width:750px) {
    .topBnrArea ul.smallBnr {
        margin-top: 2.666vw;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
}


.topBnrArea ul.smallBnr > li {
    flex-basis: calc(100% / 4 - 8px);
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:750px) {
    .topBnrArea ul.smallBnr > li {
        flex-basis: calc(100% / 2 - 1.333vw);
        flex-shrink: 1;
        flex-grow: 0;
        margin-bottom: 2.666vw;
    }
}

.topBnrArea .voice {
    margin-top: 80px;
}

@media screen and (max-width:1200px) {
    .topBnrArea .voice {
			margin-top: 30px;
	}
}

@media screen and (max-width:750px) {
    .topBnrArea .voice {
        margin-top: 6.4vw;
    }
}


/*----------------------------

ランキング

----------------------------*/
.topRanking {
    background: #f7fbfa;
    border-top: solid 1px #b0d1c7;
    border-bottom: solid 1px #b0d1c7;
    margin-bottom: 120px;
}

@media screen and (max-width:750px) {
    .topRanking {
        margin-bottom: 10.666vw;
    }
}

.topRanking > .inner {
    padding: 80px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media screen and (max-width:1200px) {
	
    .topRanking > .inner {
        padding: 10.666vw 6vw;
        display: block;
    }
}


.topRanking > .inner > .title {
    flex-basis: 272px;
    flex-shrink: 0;
    flex-grow: 0;
	margin-bottom: 20px;
}

@media screen and (max-width:750px) {
    .topRanking > .inner > .title {
        margin-bottom: 7.466vw;
    }
}

.topRanking > .inner > .title h3 {
    font-size: 36px;
    color: #666;
}

@media screen and (max-width:750px) {
    .topRanking > .inner > .title h3 {
        font-size: 5.867vw;
        text-align: center;
    }
}

.topRanking > .inner > .title h3 span {
    font-size: 18px;
}

@media screen and (max-width:750px) {
    .topRanking > .inner > .title h3 span {
        font-size: 4vw;
    }
}

.topRanking > .inner > .title p {
    font-size: 16px;
    color: #666;
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
}

@media screen and (max-width:750px) {
    .topRanking > .inner > .title p {
        font-size: 3.733vw;
        text-align: center;
    }
}

.topRanking > .inner > .productArea {
    flex-basis: calc(100% - 309.333px);
    flex-shrink: 1;
    flex-grow: 0;
}

.topRanking .productArea > ul {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width:750px) {
    .topRanking .productArea > ul {
        display: flex;
    }
}

.topRanking .productArea > ul > li {
    flex-basis: calc(100% / 3 - 18.6665px);
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:750px) {
    .topRanking .productArea > ul li {
        margin: 2.4vw;
    }
}



/*----------------------------

ココネージュとは

----------------------------*/
.topCoco_neige .intro {
    text-align: center;
    margin-bottom: 80px;
}

@media screen and (max-width:750px) {
    .topCoco_neige .intro {
        margin-bottom: 7.466vw;
    }
}

.topCoco_neige .intro h3 {
    font-size: 36px;
    color: #666;
}

@media screen and (max-width:750px) {
    .topCoco_neige .intro h3 {
        font-size: 5.867vw;
    }
}

.topCoco_neige .intro p {
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    text-align: center;
    font-size: 16px;
    color: #666;
}

@media screen and (max-width:1200px) {
    .topCoco_neige .intro p {
		font-size: 15px;
	}
}


@media screen and (max-width:750px) {
    .topCoco_neige .intro p {
        text-align: inherit;
        font-size: 3.733vw;
    }
}

.topCoco_neige .bt a {
    display: block;
    max-width: 581px;
    padding: 10px;
    background: #61a38f;
    color: #fff;
    text-align: center;
    font-weight: 700;
    font-size: 20px;
    margin: auto;
}

@media screen and (max-width:750px) {
    .topCoco_neige .productArea.sp_only ul li {
        margin: 2.4vw;
    }
}



/*************************************************************

商品一覧ページ

*************************************************************/

.ec-productRole {
    line-height: 1.75;
}




/*----------------------------

商品一覧共通レイアウト

----------------------------*/
.productArea .next-arrow {
    right: -10px;
}

.productArea .prev-arrow {
    left: -10px;
}

.productArea a,
.productArea a:active,
.productArea a:focus {
    color: inherit;
}

.productArea.prod ul {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-right: -37.333px;
    overflow: hidden;
}

@media screen and (max-width:750px) {
    .productArea.prod ul {
        margin-right: -4.8vw;
    }
}

.productArea ul > li {
    display: flex;
}

.productArea.prod ul > li {
    flex-basis: calc(100% / 4 - 37.333px);
    flex-shrink: 1;
    flex-grow: 0;
    margin-right: 37.333px;
    margin-bottom: 64px;
}

@media screen and (max-width:750px) {
    .productArea.prod ul > li {
        flex-basis: calc(100% / 2 - 4.8vw);
        margin-right: 4.8vw;
        margin-bottom: 8.533vw;
    }
}

.productArea .prodImage {
    position: relative;
    margin-bottom: 10px;
}

.productArea .prodImage > a {
    display: block;
}

.productArea .prodImage .rank,
.productArea .prodImage .categoryC {
    position: absolute;
    top: 0;
    left: 0;
}

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

    .productArea .prodImage .rank,
    .productArea .prodImage .categoryC {
        width: 40px;
    }
}

.productArea .prodImage .time {
    position: absolute;
    bottom: 0;
    right: 0;
}

.productArea .categoryA {
    font-size: 16px;
    border-radius: 50px;
    background: #61a38f;
    color: #fff;
    text-align: center;
    margin-bottom: 10px;
}

@media screen and (max-width:750px) {
    .productArea .categoryA {
        font-size: 3vw;
    }
}

.productArea h4 {
    font-family: inherit;
    font-size: 18px;
    margin-bottom: 10px;
}

@media screen and (max-width:750px) {
    .productArea h4 {
        font-size: 3.733vw;
        font-feature-settings: 'palt';
        text-align: left;
        letter-spacing: .5px;
    }
}

.productArea .price {
    margin-bottom: 10px;
}

.productArea .categoryB {
    font-size: 14px;
    border-radius: 50px;
    border: solid 1px #61a38f;
    padding: 5px 10px;
    color: #61a38f;
    display: inline-block;
    text-align: center;
    margin-bottom: 10px;
    line-height: 1;
}

@media screen and (max-width:750px) {
    .productArea .categoryB {
        font-size: 3.2vw;
        line-height: 1 !important;
        padding: .25em 1em;
    }

    .productArea .categoryB span {
        font-size: inherit !important;
    }

    .productArea .mainText p span {
        font-size: 3.2vw !important;
        vertical-align: top;
        line-height: 1.5;
    }

    .productArea .notes {
        margin-top: 0 !important;
        font-size: 3.2vw !important;
    }

}

.productArea .categoryB span,
.productArea .mainText p span {
    font-size: 14px;
    vertical-align: top;
}


.productArea .notes {
    font-size: 12px !important;
    margin-top: .25em;
}

@media screen and (max-width:750px) {
    .productArea .notes {
        font-size: inherit;
    }
}

.productArea.sp_only .trialkit li > a,
.productArea.sp_only .trialkit li > .inner {
    display: flex;
    justify-content: space-between;
}

.productArea.sp_only .trialkit li > a > div,
.productArea.sp_only .trialkit li > .inner > div {
    flex-basis: calc(100% / 2 - 2vw);
    flex-shrink: 1;
    flex-grow: 0;

}

.productArea .matchHeight {
    margin-bottom: 32px;
}

@media screen and (max-width:750px) {
    .productArea .matchHeight {
        margin-bottom: 4.266vw;
    }
}

.productArea p {
    font-size: 14px;
}

@media screen and (max-width:750px) {
    .productArea p {
        font-size: 3.2vw;
    }
}


/* 各カテゴリ見出し
///////////////*/
.productArea .new h4.title,
.productArea .standard h4.title,
.productArea .special h4.title,
.productArea .trialkit h4.title {
    font-size: 28px;
    text-align: center;
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    margin-bottom: 5px;
    color: #666;
}

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

    .productArea .new h4.title,
    .productArea .standard h4.title,
    .productArea .special h4.title,
    .productArea .trialkit h4.title {
        font-size: 4.8vw;
        margin-bottom: 4.266vw;
    }
}

.productArea .new h4.title + p,
.productArea .standard h4.title + p,
.productArea .special h4.title + p {
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    text-align: center;
    margin-bottom: 40px;
	font-size: 16px;
}

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

    .productArea .new h4.title + p,
    .productArea .standard h4.title + p,
    .productArea .special h4.title + p {
        margin-bottom: 6.4vw;
    }
}


.productArea h4.title a {
    color: inherit;
}


/* 各カテゴリブロック
///////////////*/
.productArea .new {
    margin-bottom: 40px;
}

@media screen and (max-width:750px) {
    .productArea .new {
        margin-bottom: 0;
        padding-top: 8.533vw;
        border-top: solid 1px #61a38f;
    }
}

.productArea .standard {
    margin-bottom: 40px;
}

@media screen and (max-width:750px) {
    .productArea .standard {
        margin-bottom: 0;
        padding-top: 8.533vw;
        border-top: solid 1px #61a38f;
    }
}

.productArea .special {}

@media screen and (max-width:750px) {
    .productArea .special {
        margin-bottom: 10.666vw;
        padding-top: 8.533vw;
        border-top: solid 1px #61a38f;
    }
}

.productArea .trialkit {
    margin-bottom: 14px;
}

@media screen and (max-width:750px) {
    .productArea .trialkit {
        margin-bottom: 0;
        padding-top: 8.533vw;
        padding-bottom: 8.533vw;
        border-top: solid 1px #61a38f;
    }
}


/* カートボタン
///////////////*/
.productArea .cartBT {
    width: 100%;
    max-width: 750px;
    margin: auto auto 0;
}

.productArea .cartBT input[type="text"] {
    width: 100%;
    border: solid 1px #ccc;
    margin-bottom: 10px;
}

/* .productArea .cartBT input[type="submit"] {
    background: url(/html/template/default/assets/images_coco/product_common/ico_cartBT.svg) no-repeat 10px center #dc455c;
    background-size: 21px;
    color: #fff;
    text-align: center;
    padding: 7px 10px;
    width: 100%;
    font-weight: 700;
    border: none;
} 

.productArea .cartBT input[type="submit"]:hover {
    opacity: .5;
} */

.productArea .cartBT .quantityArea {
    margin-bottom: 10px;
}

.productArea .cartBT input[type="number"] {
    width: 3em;
    border: solid 1px #ccc;
}

.productArea .cartBT input[type="submit"] {
    background: url(/html/template/default/assets/images_coco/product_common/ico_cartBT.svg) no-repeat 10px center #dc455c;
    background-size: 21px;
    color: #fff;
    text-align: center;
    padding: 7px 10px 7px 2.5em;
    width: 100%;
    font-weight: 700;
    border: none;
}

.productArea .cartBT input[type="submit"]:hover {
    opacity: .5;
}


/*----------------------------

全商品

----------------------------*/

/* MV
///////////////*/
#lineup.all .mv {
    background: url(/html/template/default/assets/images_coco/lineup/all/mv.jpg) no-repeat center top;
    background-size: cover;
    padding: 11.61% 0;
    color: #666;
    margin-bottom: 80px;
}

@media screen and (max-width:750px) {
    #lineup.all .mv {
        background: url(/html/template/default/assets/images_coco/lineup/all/mv.jpg) no-repeat 60% top;
        background-size: cover;
        margin-bottom: 9.6vw;
        padding: 15.433vw 0;
    }
}

#lineup .mv .inner {
    display: flex;
    /* align-items: center;*/
    flex-direction: column;
}

#lineup .mv h2 {
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    font-weight: 900;
    letter-spacing: 3px;
    margin: 0;
}

@media screen and (max-width:750px) {
    #lineup .mv h2 {
        font-size: 6.4vw;
        letter-spacing: 0.2666vw;

    }
}

#lineup.all .mv p {
    font-size: 24px;
    font-weight: 700;
}

@media screen and (max-width:750px) {
    #lineup.all .mv p {
        font-size: 3.733vw;
    }
}

#lineup .intro.sec {
    margin-bottom: 64px;
}

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

#lineup-h3 {
    margin-bottom: 40px;
}


/* 肌本来の美しさを引き出すためには…
///////////////*/
#lineup .turnover {
    margin-bottom: 80px;
}

#lineup .turnover .turnover_body {
    background: #f7fbfa;
    border: solid 1px #b0d1c7;
    padding: 40px 64px;
    max-width: 1200px;
    margin: auto;
}

@media screen and (max-width:750px) {
    #lineup .turnover .turnover_body {
        padding: 6.4vw 5.333vw;
    }
}

#lineup .turnover h4 {
    font-family: inherit;
    text-align: center;
    color: #61a38f;
    font-size: 24px;
    margin-bottom: 40px;
}

@media screen and (max-width:750px) {
    #lineup .turnover h4 {
        font-size: 3.2vw;
        margin-bottom: 5.333vw;
    }
}

#lineup .turnover .flexArea {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width:750px) {
    #lineup .turnover .flexArea {
        display: block;
    }
}

#lineup .turnover .flexArea .left {
    flex-basis: calc(100% / 2);
    flex-shrink: 1;
    flex-grow: 0;
    position: relative;
    padding-right: 32px;
}

#lineup .turnover .flexArea .left::before {
    position: absolute;
    content: "";
    width: 1px;
    height: 100%;
    background: #b0d1c7;
    right: 0;
    top: 0;
}

@media screen and (max-width:750px) {
    #lineup .turnover .flexArea .left::before {
        display: none;
    }
}

#lineup .turnover .flexArea .right {
    flex-basis: calc(100% / 2 - 32px);
    flex-shrink: 1;
    flex-grow: 0;
}


/* トライアルキット
///////////////*/
#lineup .trialkit {
    margin-bottom: 80px;
}

@media screen and (max-width:750px) {
    #lineup .trialkit {
        margin-bottom: 8.533vw;
    }
}

#lineup .trialkit h4.title {
    font-size: 21px;
    text-align: center;
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
}

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

    #lineup .trialkit h4.title {
        font-size: 4.8vw;
    }
}

#lineup .trialkit h4.title a {
    color: inherit;
}

#lineup .trialkit h4 + p {
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    text-align: center;
    margin-bottom: 48px;
}

@media screen and (max-width:750px) {
    #lineup .trialkit h4 + p {
        margin-bottom: 6.4vw;
    }
}

/* #lineup .trialkit figure img {
    margin: auto;
}*/

#lineup .trialkit .bnr {
    max-width: 848px;
    margin: auto;
    background: #eff6f4;
}

#lineup .trialkit .bnr .bnrHead {
    position: relative;
    background: #61a38f;
}

#lineup .trialkit .bnr .bnrHead .souryo {
    position: absolute;
    top: 0;
    left: 60px;
}

@media screen and (max-width:750px) {
    #lineup .trialkit .bnr .bnrHead .souryo {
        left: inherit;
        right: 0;
    }

    #lineup .trialkit .bnr .bnrHead .souryo img {
        width: 25vw;
    }
}

#lineup .trialkit .bnr .bnrHead p {
    text-align: center;
    color: #fff;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 1em;
}

@media screen and (max-width:750px) {
    #lineup .trialkit .bnr .bnrHead p {
        font-size: 3.733vw;
        letter-spacing: .2em;
    }
}


#lineup .trialkit .bnr .bnrMain {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 32px 64px;
}

@media screen and (max-width:750px) {
    #lineup .trialkit .bnr .bnrMain {
        padding: 4.266vw;
    }
}

#lineup .trialkit .bnr .bnrMain li.sp_only.prodName,
#lineup .trialkit .bnr .bnrMain li.sp_only.productArea {
    flex-basis: 100%;
    flex-shrink: 1;
    flex-grow: 1;
}

#lineup .trialkit .bnr .bnrMain li.pic {
    flex-basis: 310px;
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:750px) {
    #lineup .trialkit .bnr .bnrMain li.pic {
        margin-bottom: 16px;
    }
}

#lineup .trialkit .bnr .bnrMain li.prodInfo {
    flex-basis: calc(100% - 320px);
    flex-shrink: 1;
    flex-grow: 0;
}

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

    #lineup .trialkit .bnr .bnrMain li.pic,
    #lineup .trialkit .bnr .bnrMain li.prodInfo {
        flex-basis: calc(100% / 2);
        flex-shrink: 1;
        flex-grow: 0;
    }
}

#lineup .trialkit .bnr .bnrMain li.prodInfo {}

@media screen and (max-width:750px) {
    #lineup .trialkit .bnr .bnrMain li.prodInfo {
        margin-bottom: 16px;
    }
}

#lineup .trialkit .bnr .bnrMain .prodName {
    margin-bottom: 16px;
}

#lineup .trialkit .bnr .bnrMain .prodName h5 {
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    font-size: 32px;
    color: #61a38f;
    margin: 0;
    line-height: 1;
}

@media screen and (max-width:750px) {
    #lineup .trialkit .bnr .bnrMain .prodName h5 {
        font-size: 5.2vw;
        text-align: center;
    }
}

#lineup .trialkit .bnr .bnrMain li.prodInfo .price {
    margin-bottom: 16px;
}

#lineup .trialkit .bnr .bnrMain li.prodInfo .price ul {
    display: flex;
    align-items: center;
}

#lineup .trialkit .bnr .bnrMain li.prodInfo .price ul > li {
    flex-basis: auto;
    flex-shrink: 1;
    flex-grow: 0;
}

#lineup .trialkit .bnr .bnrMain li.prodInfo .price ul > li.ico span {
    display: block;
    color: #61a38f;
    background: #fff;
    border: solid 1px #61a38f;
    padding: 5px 12px;
    line-height: 1;
    border-radius: 50px;
    margin-left: 1em;
}

#lineup .trialkit .bnr .bnrMain li.prodInfo .subTitle {
    background: #81b5a5;
    text-align: center;
    color: #fff;
    font-weight: 700;
    padding: 2px 5px;
    margin-bottom: 16px;
}

#lineup .trialkit .bnr .bnrMain li.prodInfo .subTitle span {
    position: relative;
    display: block;
}

#lineup .trialkit .bnr .bnrMain li.prodInfo .subTitle span::before,
#lineup .trialkit .bnr .bnrMain li.prodInfo .subTitle span::after {
    position: absolute;
    content: "";
    width: 4px;
    height: 4px;
    background: #fff;
    border-radius: 50%;
}

#lineup .trialkit .bnr .bnrMain li.prodInfo .subTitle span.dots_top::before {
    left: 0;
    top: 2px;
}

#lineup .trialkit .bnr .bnrMain li.prodInfo .subTitle span.dots_top::after {
    right: 0;
    top: 2px;
}

#lineup .trialkit .bnr .bnrMain li.prodInfo .subTitle span.dots_bottom::before {
    left: 0;
    bottom: 2px;
}

#lineup .trialkit .bnr .bnrMain li.prodInfo .subTitle span.dots_bottom::after {
    right: 0;
    bottom: 2px;
}


#lineup .trialkit .bnr .bnrMain li.prodInfo .mainText p > span {
    font-size: 12px;
    vertical-align: top;
}

#lineup .trialkit .bnr .bnrMain li.prodInfo .mainText .notes {
    font-size: 14px;
}


#lineup .trialkit .bnr .bnrMain .cartBT {
    max-width: 272px;
    margin: auto;
}

@media screen and (max-width:750px) {
    #lineup .trialkit .bnr .bnrMain .cartBT {
        max-width: 312px;
        margin: auto;
    }
}


/*----------------------------

新商品

----------------------------*/

/* MV
///////////////*/
#lineup.new .mv {
    background: url(/html/template/default/assets/images_coco/lineup/new/mv.jpg) no-repeat center top;
    background-size: cover;
    padding: 12.5% 0;
    color: #666;
    margin-bottom: 40px;
}

@media screen and (max-width:750px) {
    #lineup.new .mv {
        background: url(/html/template/default/assets/images_coco/lineup/new/mv.jpg) no-repeat 60% top;
        background-size: cover;
        margin-bottom: 9.6vw;
        padding: 15.433vw 0;
    }
}


/*----------------------------

基礎化粧品

----------------------------*/

/* MV
///////////////*/
#lineup.standard .mv {
    background: url(/html/template/default/assets/images_coco/lineup/standard/mv.jpg) no-repeat center top;
    background-size: cover;
    padding: 12.5% 0;
    color: #666;
    margin-bottom: 40px;
}

@media screen and (max-width:750px) {
    #lineup.standard .mv {
        background: url(/html/template/default/assets/images_coco/lineup/standard/mv.jpg) no-repeat 60% top;
        background-size: cover;
        margin-bottom: 9.6vw;
        padding: 15.433vw 0;
    }
}


/*----------------------------

スペシャルケア

----------------------------*/

/* MV
///////////////*/
#lineup.special .mv {
    background: url(/html/template/default/assets/images_coco/lineup/special/mv.jpg) no-repeat center top;
    background-size: cover;
    padding: 12.5% 0;
    color: #666;
    margin-bottom: 40px;
}

@media screen and (max-width:750px) {
    #lineup.special .mv {
        background: url(/html/template/default/assets/images_coco/lineup/special/mv.jpg) no-repeat 60% top;
        background-size: cover;
        margin-bottom: 9.6vw;
        padding: 15.433vw 0;
    }
}




/*----------------------------

システム生成一覧ページ

----------------------------*/

#page_product_list .ec-searchnavRole,
#page_product_list .ec-searchnavRole .ec-searchnavRole__infos,
#page_product_list .ec-shelfRole {
    max-width: 1200px;
    padding: 0;
}

#page_product_list .ec-searchnavRole .ec-searchnavRole__infos {
    padding: 16px 0;
}

#page_product_list .ec-layoutRole__main .matchHeight {
    margin-bottom: 32px;
}

#page_product_list .ec-layoutRole__main .name {
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 10px;
}

@media screen and (max-width:750px) {
    #page_product_list .ec-layoutRole__main .name {
        font-size: inherit;
    }
}

#page_product_list .ec-layoutRole__main .price02-default,
#page_product_list .ec-layoutRole__main .categoryB {
    margin-bottom: 10px;
}

#page_product_list ul.ec-shelfGrid {
    margin: 0 -37.333px 0 0;
    display: flex;
    flex-wrap: wrap;
}

@media screen and (max-width:750px) {
    #page_product_list ul.ec-shelfGrid {
        margin: 0 -4.8vw 0 0;
    }
}

#page_product_list .ec-shelfGrid .ec-shelfGrid__item {
    padding: 0;
    width: calc(100% / 4 - 37.333px);
    margin-right: 37.333px;
    background-blend-mode: 64px;
}

@media screen and (max-width:750px) {
    #page_product_list .ec-shelfGrid .ec-shelfGrid__item {
        flex-basis: calc(100% / 2 - 4.8vw);
        margin-right: 4.8vw;
        margin-bottom: 8.533vw;
    }
}

#page_product_list .ec-shelfGrid .cartBT .ec-productRole__actions {
    margin-bottom: 10px;
}

#page_product_list .ec-shelfGrid .cartBT .ec-productRole__actions .ec-numberInput input[type="number"] {
    width: 3em;
    max-width: none;
    padding: 1.5px 2px;
    height: auto;
}

#page_product_list .ec-shelfGrid .cartBT button[type="submit"].ec-blockBtn--action {
    background: url(/html/template/default/assets/images_coco/product_common/ico_cartBT.svg) no-repeat 10px center #dc455c;
    background-size: auto;
    background-size: 21px;
    color: #fff;
    text-align: center;
    padding: 7px 10px 7px 2.5em;
    width: 100%;
    font-weight: 700;
    border: none;
    font-size: 100%;
    height: auto;
    line-height: 1.15;
}

@media screen and (max-width:750px) {
    #page_product_list .ec-shelfGrid .cartBT button[type="submit"].ec-blockBtn--action {
        font-size: 3.2vw;
    }
}

#page_product_list .icon_tagA {
    background: #61a38f;
    border-radius: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 7px;
    margin-bottom: 10px;
}





/*************************************************************

商品詳細ページ

*************************************************************/

.slide-item img {
    margin: auto;
}

/* 左右基本レイアウト
----------------------------*/
#page_product_detail .ec-layoutRole__contents {
    display: flex;
    justify-content: space-between;
    margin-top: 64px;
}

@media screen and (max-width:1200px) {
    #page_product_detail .ec-layoutRole__contents {
        display: block;
        margin-top: 8vw;
    }
}

#page_product_detail .ec-layoutRole__contents .ec-layoutRole__left {
    width: 20%;
    flex-basis: 240px;
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:1200px) {
    #page_product_detail .ec-layoutRole__contents .ec-layoutRole__left {
        display: none;
    }
}

#page_product_detail .ec-layoutRole__contents .ec-layoutRole__mainWithColumn {
    width: 75%;
}

@media screen and (max-width:1200px) {
    #page_product_detail .ec-layoutRole__contents .ec-layoutRole__mainWithColumn {
        width: 100%;
    }
}


/* ---------------------------- */

.ec-productRole {
    font-size: inherit;
}
@media screen and (max-width:1200px) {
.ec-productRole {
    padding: 0 6vw;
}
}

@media screen and (max-width:750px) {
    .ec-productRole {
        padding: 0 6vw;
    }
}


/* 右側商品情報レイアウト
----------------------------*/
.ec-productRole .ec-grid2 {
    display: flex;
    justify-content: space-between;
    margin-bottom: 48px;
}

@media screen and (max-width:750px) {
    .ec-productRole .ec-grid2 {
        display: block;
    }
}

.ec-productRole .ec-grid2 .ec-grid2__cell.left {
    width: 30%;
    flex-basis: 320px;
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:750px) {
    .ec-productRole .ec-grid2 .ec-grid2__cell.left {
        width: 100%;
    }
}

.ec-productRole .ec-grid2 .ec-grid2__cell.right {
    flex-basis: calc(100% - 376px);
    flex-shrink: 1;
    flex-grow: 0;
}


@media screen and (max-width:750px) {
    .ec-productRole .ec-grid2 .ec-grid2__cell.right {
        width: 100%;
        padding-bottom: 7.5vw;
    }
}

/*---------------------------- */

.ec-productRole .ec-grid2__cell {
    position: relative;
}

.ec-productRole .ec-productRole__btn {
    width: auto;
}


.ec-productRole img {
    width: auto;
}

.ec-productRole .notes {
    font-size: 14px;
}

@media screen and (max-width:750px) {
    .ec-productRole .notes {
        font-size: 3.2vw;
    }
}


/*----------------------------

使用時間アイコン

----------------------------*/
.ec-productRole .item_visual_outer {
    position: relative;
}

.ec-productRole .item_visual_outer .ico_time {
    position: absolute;
    right: 0;
    bottom: 0;
}


/*----------------------------

SNSボタン

----------------------------*/
.ec-productRole .snsBT,
.ec-productRole .snsBT * {
    transition: none;
}

.ec-productRole .snsBT.pc_only {
    position: absolute;
    bottom: 0;
    width: 100%;
}

.ec-productRole .snsBT.sp_only {}


.ec-productRole .snsBT ul {
    display: flex;
}

.ec-productRole .snsBT.sp_only ul {
    display: flex;
    flex-wrap: wrap;
}

.ec-productRole .snsBT ul > li {
    margin-right: 5px;
}

/*----------------------------

商品タグ

----------------------------*/
.ec-productRole .products_tag {
    margin-bottom: 32px;
}

@media screen and (max-width:750px) {
    .ec-productRole .products_tag {
        margin-bottom: 5.333vw;
    }
}

.ec-productRole .products_tag ul {
    display: flex;
    margin: 0 -5px;
}

@media screen and (max-width:750px) {
    .ec-productRole .products_tag ul {
        margin: 0 -5px;
    }
}

.ec-productRole .products_tag ul > li {
    margin: 0 5px 0;
    line-height: 1;
}



/*----------------------------

商品名

----------------------------*/
.ec-productRole .ec-productRole__title .ec-headingTitle {
    font-family: inherit;
    font-weight: 700;
    margin-bottom: 32px;
}

@media screen and (max-width:750px) {
    .ec-productRole .ec-productRole__title .ec-headingTitle {
        font-size: 6.4vw;
        margin-bottom: 5.333vw;
    }
}


/*----------------------------

商品説明文

----------------------------*/
.ec-productRole__description {
    text-align: justify;
    margin-bottom: 32px;
}

@media screen and (max-width:750px) {
    .ec-productRole__description {
        margin-bottom: 5.333vw;
    }
}



/*----------------------------

販売価格

----------------------------*/
.ec-productRole .ec-productRole__price,
.ec-price .ec-price__price {
    color: #61a38f;
    border: none;
    font-size: 24px;
}

.ec-productRole .ec-productRole__price {
    margin-bottom: 48px;
    padding: 0;
}

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

    .ec-productRole .ec-productRole__price,
    .ec-price .ec-price__price {
        font-size: 6.4vw;
    }

    .ec-productRole .ec-productRole__price {
        margin-bottom: 5.333vw;
    }
}

.ec-productRole .ec-productRole__price .gram {
    font-weight: 700;
}


/*----------------------------

カートエリア

----------------------------*/
.ec-productRole .cartArea {
    background: #dfede9;
    padding: 32px 64px;
}
@media screen and (max-width:1200px) {
	.ec-productRole .cartArea {
    padding: 32px;	
	}
}

@media screen and (max-width:750px) {
    .ec-productRole .cartArea {
        background: #dfede9;
        padding: 6vw;
        margin-bottom: 4.266vw;
    }
}

.ec-productRole .ec-blockBtn--action {
    color: #fff;
    text-align: center;
    background: url(/html/template/default/assets/images_coco/products/ico_cart.svg) no-repeat 12px center #dc455c;
    height: auto;
    line-height: inherit;
    padding: 10px 15px;
}

.ec-productRole .ec-blockBtn--action:hover {
    opacity: .5;
}

.ec-productRole #favorite.ec-blockBtn--cancel {
    color: #fff;
    text-align: center;
    background: url(/html/template/default/assets/images_coco/products/ico_favorite.svg) no-repeat 12px center #61a38f;
    height: auto;
    line-height: inherit;
    padding: 10px 15px;
    border: none;
}

.ec-productRole #favorite.ec-blockBtn--cancel:hover {
    opacity: .5;
}

.ec-productRole .ec-productRole__btn {
    min-width: auto;
}

/* 
.ec-cartTable{}

@media screen and (max-width:750px){
    .ec-cartTable{
        display: block;
        width: 100%;
    }
}
*/

.ec-cartRow {}

@media screen and (max-width:750px) {
    .ec-cartRow {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        width: 100%;
    }
}

.ec-cartRow .ec-cartRow__delColumn {}

@media screen and (max-width:750px) {
    .ec-cartRow .ec-cartRow__delColumn {
        display: flex;
        justify-content: center;
        align-items: center;
        width: auto;
        flex-basis: 40px;
        flex-shrink: 0;
        flex-grow: 0;
    }
}

/* 
.ec-cartRow .ec-cartRow__delColumn a{}

@media screen and (max-width:750px){
    .ec-cartRow .ec-cartRow__delColumn a{
        padding: .5rem;
        display: block;
    }
}
*/


.ec-cartRow .ec-cartRow__contentColumn {}

@media screen and (max-width:750px) {
    .ec-cartRow .ec-cartRow__contentColumn {
        display: flex;
        width: auto;
        flex-basis: calc(100% - 40px);
        flex-shrink: 1;
        flex-grow: 1;
    }
}

.ec-cartRow .ec-cartRow__img {}

@media screen and (max-width:750px) {
    .ec-cartRow .ec-cartRow__img {
        display: flex;
        justify-content: center;
        align-items: center;
        width: auto;
        flex-basis: 40%;
        flex-shrink: 1;
        flex-grow: 0;
    }
}



.ec-cartRow .ec-cartRow__summary {}

@media screen and (max-width:750px) {
    .ec-cartRow .ec-cartRow__summary {
        display: block;
        width: auto;
        flex-basis: 60%;
        flex-shrink: 1;
        flex-grow: 0;
    }
}

.ec-cartRow .ec-cartRow__amountColumn {}

@media screen and (max-width:750px) {
    .ec-cartRow .ec-cartRow__amountColumn {
        display: flex;
        justify-content: center;
        align-items: center;
        background: #eee;
        width: auto;
        flex-basis: 100%;
        flex-shrink: 1;
        flex-grow: 1;
        padding: .5em;
    }
}

.ec-cartRow .ec-cartRow__amountColumn > .ec-cartRow__amountSP {}

@media screen and (max-width:750px) {
    .ec-cartRow .ec-cartRow__amountColumn > .ec-cartRow__amountSP {
        margin-bottom: 0;
        margin-right: .5rem;
    }
}


/*----------------------------

商品情報　タイトル＋共通設定

----------------------------*/
.ec-productRole .productInfo {
    margin-bottom: 48px;
}

@media screen and (max-width:750px) {
    .ec-productRole .productInfo {
        margin-bottom: 7.466vw;
    }
}

.ec-productRole .productInfo h4 {
    font-family: inherit;
    font-weight: 700;
    color: #61a38f;
    font-size: 24px;
    padding-bottom: 10px;
    border-bottom: solid 1px #61a38f;
    margin-bottom: 32px;
}

@media screen and (max-width:750px) {
    .ec-productRole .productInfo h4 {
        font-size: 5.333vw;
        padding-bottom: 2.133vw;
        margin-bottom: 4.266vw;
        line-height: 1.2;
    }
}

.ec-productRole .productInfo .flexArea {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width:750px) {
    .ec-productRole .productInfo .flexArea {
        display: block;
    }
}

.ec-productRole .productInfo .flexArea .pic {
    flex-basis: 240px;
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:750px) {
    .ec-productRole .productInfo .flexArea .pic {
        max-width: 480px;
        margin: 0 auto 3.2vw;
    }
}

.ec-productRole .productInfo .flexArea .text {
    flex-basis: calc(100% - 272px);
    flex-shrink: 1;
    flex-grow: 0;
}


/*----------------------------

特徴

----------------------------*/
.ec-productRole .feature li {
    margin-bottom: 10px;
}


/*----------------------------

主成分

----------------------------*/
.ec-productRole .component ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

@media screen and (max-width:750px) {
    .ec-productRole .component ul {
        display: block;
    }
}

.ec-productRole .component ul > li {
    display: flex;
    justify-content: space-between;
    flex-basis: calc(100% / 2 - 16px);
    flex-shrink: 1;
    flex-grow: 0;
    background: #dfede9;
    margin-bottom: 32px;
}

@media screen and (max-width:1200px) {
	
	    .ec-productRole .component ul > li {
justify-content: normal;
    flex-basis: unset;
  }
  }

@media screen and (max-width:750px) {
    .ec-productRole .component ul > li {
        margin-bottom: 4.266vw;
    }

    .ec-productRole .component ul > li:last-child {
        margin-bottom: 0;
    }
}

.ec-productRole .component ul > li .pic {
    flex-basis: 216px;
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:750px) {
    .ec-productRole .component ul > li .pic {
        flex-basis: 32vw;
        flex-shrink: 1;
        flex-grow: 0;
    }
}

.ec-productRole .component ul > li .text {
    flex-basis: calc(100% - 216px);
    flex-shrink: 1;
    flex-grow: 0;
    padding: 24px;
    line-height: 1.3;
}

@media screen and (max-width:750px) {
    .ec-productRole .component ul > li .text {
        flex-basis: calc(100% - 32vw);
        flex-shrink: 1;
        flex-grow: 0;
        padding: 3.2vw;
        font-feature-settings: "palt";

    }
}

.ec-productRole .component h5 {
    font-family: inherit;
    font-size: 18px;
    color: #61a38f;
    margin-bottom: 0;
    font-feature-settings: inherit;
}

@media screen and (max-width:750px) {
    .ec-productRole .component h5 {
        font-size: 4.267vw;
    }
}


/*----------------------------

使用料の目安

----------------------------*/

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

    .ec-productRole .amount .flexArea {
        display: flex;
        justify-content: space-between;
    }

    .ec-productRole .amount .flexArea .pic {
        flex-basis: 32vw;
        flex-shrink: 1;
        flex-grow: 0;
    }

    .ec-productRole .amount .flexArea .text {
        flex-basis: calc(100% - 32vw);
        flex-shrink: 1;
        flex-grow: 0;
        padding: 3.2vw;
    }
}


/*----------------------------

サイドカテゴリ

----------------------------*/
#page_product_detail .sideCategory {}

#page_product_detail .sideCategory h3 {
    background: #81b5a5;
    margin: 0;
    padding: 8px;
    color: #fff;
    font-weight: 900;
    font-size: inherit;
    font-family: inherit;
}

#page_product_detail .sideCategory h3 + ul {
    margin: 0;
}

#page_product_detail .sideCategory h3 + ul > li {
    border-bottom: solid 1px #dfede9;
}

#page_product_detail .sideCategory h3 + ul > li a {
    display: block;
    background: #f7fbfa;
    color: #333;
    position: relative;
    padding: 8px 8px 8px 1.5em;
    font-size: 1.4rem;
}

#page_product_detail .sideCategory h3 + ul > li a::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 1em;
    width: 3px;
    height: 1px;
    background: #333;
    transform: translate(0, -50%);
}





/*************************************************************

特定商取引法に基づく表記

*************************************************************/

#tradelaw .ec-borderedDefs {
    border: none;
}

#tradelaw .ec-borderedDefs dl {
    border: none;
    padding: 0;
}

@media screen and (max-width:750px) {
    #tradelaw .ec-borderedDefs dl {
        border-top: solid 1px #b0d1c7;
        display: block;
    }

    #tradelaw .ec-borderedDefs dl:last-of-type {
        border-bottom: solid 1px #b0d1c7;
    }
}


#tradelaw .ec-borderedDefs dt {
    padding: 28px 0;
    border-top: solid 1px #61a38f;
}

#tradelaw .ec-borderedDefs dl:last-of-type dt:last-of-type {
    border-bottom: solid 1px #61a38f;
}

@media screen and (max-width:750px) {
    #tradelaw .ec-borderedDefs dt {
        padding: 4vw 0;
        border-top: none;
    }

    #tradelaw .ec-borderedDefs dl:last-of-type dt:last-of-type {
        border-bottom: none;
    }
}

#tradelaw .ec-borderedDefs dd {
    padding: 28px 0 28px 16px;
    border-top: solid 1px #b0d1c7;
    line-height: 2;
}

#tradelaw .ec-borderedDefs dl:last-of-type dd:last-of-type {
    border-bottom: solid 1px #b0d1c7;
}

@media screen and (max-width:750px) {
    #tradelaw .ec-borderedDefs dd {
        padding: 4vw 0 4vw;
        border-top: none;
    }

    #tradelaw .ec-borderedDefs dl:last-of-type dd:last-of-type {
        border-bottom: none;
    }
}



/*************************************************************

プライバシーポリシー

*************************************************************/
#privacy .ec-off1Grid {
    margin-bottom: 60px;
}

@media screen and (max-width:750px) {
    #privacy .ec-off1Grid {
        margin-bottom: 6vw;
    }
}

#privacy .ec-off1Grid:last-of-type {
    margin-bottom: 0;
}

#privacy .ec-heading-bold {
    color: #61a38f;
    border-bottom: solid 1px #b0d1c7;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

#privacy ol {
    list-style: decimal;
    margin-left: 2em;
}

#privacy ol > li {
    margin-bottom: .5em;
}

#privacy p + ol {
    margin-top: 30px;
}


/*************************************************************

お問い合わせ

*************************************************************/
#contact.sec {
    max-width: 960px;
    padding: 0;
}

.ec-contactRole {
    font-size: inherit;
}

#contact h1 {
    border-bottom: none;
}

#contact p.ec-para-normal {
    margin: 0 0 64px;
}

@media screen and (max-width:750px) {
    #contact p.ec-para-normal {
        margin: 0 0 6.4vw;
    }
}

#contact .ec-borderedDefs {
    background: #f7fbfa;
    border: solid 1px #b0d1c7;
    padding: 48px 108px;
}

@media screen and (max-width:750px) {
    #contact .ec-borderedDefs {
        width: calc(100% + 42px);
        margin: 0 -20px;
        padding: 8.533vw 6vw;
    }
}





/*************************************************************

水のお話し

*************************************************************/
#water h3 {
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    color: #61a38f;
    font-weight: 900;
    margin-bottom: 40px;
}

@media screen and (max-width:750px) {
    #water h3 {
        font-size: 5.6vw;
        margin-bottom: 5.333vw;
    }
}

/*----------------------------

メインビジュアル

----------------------------*/
#water .mv {
    background: url(/html/template/default/assets/images_coco/water/mv.jpg) no-repeat center top;
    background-size: cover;
    padding: 100px 0;
    color: #fff;
    margin-bottom: 40px;
}

@media screen and (max-width:750px) {
    #water .mv {
        background: url(/html/template/default/assets/images_coco/water/mv.jpg) no-repeat 60% top;
        background-size: cover;
        margin-bottom: 0;
        padding: 10.666vw 0 40.2vw;
    }
}

#water .mv h2 {
    margin-bottom: 40px;
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    font-weight: 900;
    color: #fff;
}

@media screen and (max-width:750px) {
    #water .mv h2 {
        font-size: 6.4vw;
        margin-bottom: 6.4vw;
    }
}

#water .mv p {
    font-weight: 900;
}

@media screen and (max-width:750px) {
    #water .mv p {
        font-size: 4.267vw;
    }
}



/*----------------------------

こだわりの水「海洋深層水」

----------------------------*/
#water .tokusei.sec {
    margin-bottom: 30px;
    margin-top: -310px;
    padding-top: 310px;
}

@media screen and (max-width:750px) {
    #water .tokusei.sec {
        margin-top: calc(-40% + -30.2vw);
        padding-top: 40%;
    }
}

#water .tokusei > .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media screen and (max-width:750px) {
    #water .tokusei > .inner {
        display: block;
    }
}

#water .tokusei > .inner > .left {
    flex-basis: 40%;
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:750px) {
    #water .tokusei > .inner > .left {
        margin-bottom: 6.4vw;
    }
}

#water .tokusei > .inner > .right {
    flex-basis: calc(100% - 46.5%);
    flex-shrink: 1;
    flex-grow: 0;
}



/*----------------------------

海洋深層水のお肌への効果

----------------------------*/
#water .kouka {
    position: relative;
    z-index: 10;
    margin-top: -310px;
    padding-top: 310px;
}

@media screen and (max-width:750px) {
    #water .kouka {
        margin-top: -40%;
        padding-top: 40%;
    }
}

#water .kouka > .inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
}

#water .kouka > .inner > .left {
    flex-basis: calc(100% - 57%);
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:750px) {
    #water .kouka > .inner > .left {
        flex-basis: 100%;
        order: 2;
    }
}

#water .kouka > .inner > .left li {
    position: relative;
    padding-left: 48px;
    margin-bottom: 20px;
    line-height: 2;
}

@media screen and (max-width:750px) {
    #water .kouka > .inner > .left li {
        padding-left: 6.4vw;
        margin-bottom: 2.667vw;
    }
}

#water .kouka > .inner > .left li:last-of-type {
    margin-bottom: 0;
}

#water .kouka > .inner > .left li::before {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0, -50%);
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    color: #61a38f;
    font-size: 40px;
}

@media screen and (max-width:750px) {
    #water .kouka > .inner > .left li::before {
        font-size: 5.333vw;
    }
}

#water .kouka > .inner > .left li:nth-child(1)::before {
    content: "1";
}

#water .kouka > .inner > .left li:nth-child(2)::before {
    content: "2";
}

#water .kouka > .inner > .left li:nth-child(3)::before {
    content: "3";

}

#water .kouka > .inner > .right {
    flex-basis: 53%;
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:750px) {
    #water .kouka > .inner > .right {
        flex-basis: 100%;
        order: 1;
        text-align: center;
        margin-bottom: 6.4vw;
    }
}


/*----------------------------

ココ ネージュは貴重な「室戸海洋深層水」を使用

----------------------------*/
#water #muroto.kaiyou {
    position: relative;
    padding-top: 310px;
    margin-top: -310px;
}

@media screen and (max-width:750px) {
    #water #muroto.kaiyou {
        padding-top: 40%;
        margin-top: -40%;
    }
}

#water .kaiyou::before {
    position: absolute;
    content: "";
    width: 45%;
    height: 480px;
    right: 0;
    top: -160px;
    background: #ecf7fd;
    z-index: 0;
}

@media screen and (max-width:750px) {
    #water .kaiyou::before {
        display: none;
    }
}


/* MVエリア
///////////////*/
#water .kaiyou .kaiyou_mv {
    background: url(/html/template/default/assets/images_coco/water/kaiyou_mv.jpg) no-repeat center top;
    position: relative;
    padding: 48px;
    z-index: 5;
    margin-bottom: 100px;
}

@media screen and (max-width:750px) {
    #water .kaiyou .kaiyou_mv {
        background: url(/html/template/default/assets/images_coco/water/kaiyou_mv_sp.jpg) no-repeat center top;
        background-size: cover;
        padding: 10.666vw 6vw;
        width: 100vw;
        margin: 0 calc(50% - 50vw) 10.666vw;
    }
}

#water .kaiyou .kaiyou_mv h3 {
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    text-shadow: #fff 0 0 3px, #fff 0 0 3px, #fff 0 0 3px, #fff 0 0 3px, #fff 0 0 3px, #fff 0 0 3px, #fff 0 0 3px, #fff 0 0 3px, #fff 0 0 3px;
    color: #0071a7;
    font-size: 28px;
    font-weight: 900;
    margin-bottom: 77px;
}

@media screen and (max-width:750px) {
    #water .kaiyou .kaiyou_mv h3 {
        margin-bottom: 6.666vw;
        font-size: 5.6vw;
    }
}


#water .kaiyou .kaiyou_mv .rightText {
    display: flex;
    justify-content: flex-end;
}

@media screen and (max-width:750px) {
    #water .kaiyou .kaiyou_mv .rightText {
        display: block;
    }
}

#water .kaiyou .kaiyou_mv .rightText p {
    max-width: 480px;
    color: #fff;
    font-weight: 900;
    line-height: 2;
}

@media screen and (max-width:750px) {
    #water .kaiyou .kaiyou_mv .rightText p {
        max-width: none;
    }
}

#water .kaiyou .kaiyou_mv p > span {
    color: #ffff00;
    font-size: 120%;
}


/* メイン部分
///////////////*/
#water .kaiyou #about.kaiyouContents {
    padding-top: 310px;
    margin-top: -310px;
}

@media screen and (max-width:750px) {
    #water .kaiyou #about.kaiyouContents {
        padding-top: 40%;
        margin-top: -40%;
    }
}

#water .kaiyou .kaiyouContents {
    position: relative;
    z-index: 10;
    display: flex;
    justify-content: flex-end;
}

@media screen and (max-width:750px) {
    #water .kaiyou .kaiyouContents {
        display: block;
    }
}

#water .kaiyou .kaiyouContents > div {
    padding: 48px;
    background: rgba(218, 239, 251, .5);
    position: relative;
    z-index: 2;
    min-width: 480px;
}

@media screen and (max-width:750px) {
    #water .kaiyou .kaiyouContents > div {
        padding: 8.533vw 3vw;
        min-width: 0;
    }
}


#water .kaiyou .kaiyouContents > div::before {
    content: "";
    position: absolute;
    width: 1px;
    height: 100px;
    left: 50%;
    top: -100px;
    transform: translate(-50%, 0);
    background-image: linear-gradient(to bottom, #7fb8d3, #7fb8d3 3px, transparent 3px, transparent 8px);
    background-repeat: repeat-y;
    background-size: 1px 8px;
    z-index: 1;
}

@media screen and (max-width:750px) {
    #water .kaiyou .kaiyouContents > div::before {
        display: none;
    }
}

#water .kaiyou .kaiyouContents h3 {
    color: #0071a7;
    text-align: center;
}

@media screen and (max-width:750px) {
    #water .kaiyou .kaiyouContents h3 {
        text-shadow: #fff 0 0 3px, #fff 0 0 3px, #fff 0 0 3px, #fff 0 0 3px, #fff 0 0 3px, #fff 0 0 3px, #fff 0 0 3px, #fff 0 0 3px, #fff 0 0 3px;
        font-size: 5.6vw;
    }
}

#water .kaiyou .kaiyouContents h3 span.f24 {
    font-size: 24px;
}

@media screen and (max-width:750px) {
    #water .kaiyou .kaiyouContents h3 span.f24 {
        font-size: 5.067vw;
    }
}

#water .kaiyou .kaiyouContents h3 span.f20 {
    font-size: 20px;
    font-weight: 400;
}

@media screen and (max-width:750px) {
    #water .kaiyou .kaiyouContents h3 span.f20 {
        font-size: 4.8vw;
    }
}

#water .kaiyou .kaiyouContents p {
    text-align: center;
    line-height: 2;
}




/* 水画像レイヤー処理
///////////////*/
#water .kaiyou .bgWater {
    position: absolute;
    left: 50%;
    top: 330px;
    top: 690px;
    z-index: 5;
    max-width: none;
    transform: translate(-50%, 0);
}

@media screen and (max-width:1200px) {
    #water .kaiyou .bgWater {
        top: 400px;
        top: 710px;
    }

}

@media screen and (max-width:750px) {
    #water .kaiyou .bgWater {
        top: 53%;
        left: 70%;
    }
}

@media screen and (max-width:590px) {
    #water .kaiyou .bgWater {
        top: 52%;
        width: 300%;
    }
}




/*----------------------------

活性酸素が引き起こす肌トラブル

----------------------------*/
#water .trouble {
    position: relative;
    z-index: 5;
}

#water .trouble #trouble.activeOxygen {
    padding-top: 310px;
    margin-top: -310px;
}

@media screen and (max-width:750px) {
    #water .trouble #trouble.activeOxygen {
        padding-top: 40%;
        margin-top: -40%;
    }
}

#water .trouble .activeOxygen {
    margin-bottom: 120px;
}

@media screen and (max-width:750px) {
    #water .trouble .activeOxygen {
        margin-bottom: 10.666vw;
    }
}

#water .trouble .activeOxygen h3 {
    text-align: center;
    color: #666;
    font-size: 28px;
    margin-bottom: 56px;
}

@media screen and (max-width:750px) {
    #water .trouble .activeOxygen h3 {
        font-size: 5.6vw;
        margin-bottom: 6.4vw;
    }
}

#water .trouble .activeOxygen .flexArea {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width:750px) {
    #water .trouble .activeOxygen .flexArea {
        display: block;
    }
}

#water .trouble .activeOxygen .flexArea > div {
    flex-basis: calc(100% / 2 - 40px);
    flex-shrink: 1;
    flex-grow: 0;
}

#water .trouble .activeOxygen .left {}

@media screen and (max-width:750px) {
    #water .trouble .activeOxygen .left {
        margin-bottom: 6.4vw;
    }
}

#water .trouble .activeOxygen .left p {
    margin-bottom: 60px;
}

@media screen and (max-width:750px) {
    #water .trouble .activeOxygen .left p {
        margin-bottom: 6.4vw;
    }
}

#water .trouble .activeOxygen .left figure {
    text-align: center;
}

#water .trouble .activeOxygen .left figure img {
    margin: auto;
}

#water .trouble .activeOxygen .right dt {
    color: #61a38f;
    margin-bottom: 10px;
}

@media screen and (max-width:750px) {
    #water .trouble .activeOxygen .right dt {
        margin-bottom: 3vw;
        font-size: 4.8vw;
    }
}

#water .trouble .activeOxygen .right dd {
    margin-bottom: 30px;
}

@media screen and (max-width:750px) {
    #water .trouble .activeOxygen .right dd {
        margin-bottom: 6.4vw;
    }
}

#water .trouble .activeOxygen .right div:last-of-type dd {
    margin-bottom: 0;
}



/* 本当に「海洋深層還元水」には抗酸化力があるの？
///////////////*/
#water .trouble #power {
    padding-top: 310px;
    margin-top: -310px;
}

@media screen and (max-width:750px) {
    #water .trouble #power {
        margin-top: -40%;
        padding-top: 40%;
    }
}

#water .trouble .oceanWater {
    background: #f7fbfa;
    border: solid 1px #b0d1c7;
    padding: 64px 180px;
}

@media screen and (max-width:750px) {
    #water .trouble .oceanWater {
        padding: 8.533vw 6vw;
        width: 100vw;
        margin: 0 calc(50% - 50vw);
    }
}

#water .trouble .oceanWater h3 {
    text-align: center;
    margin-bottom: 40px;
}

@media screen and (max-width:750px) {
    #water .trouble .oceanWater h3 {
        font-size: 5.6vw;
        margin-bottom: 6.4vw;
    }
}

#water .trouble .oceanWater dl {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 32px;
}

@media screen and (max-width:750px) {
    #water .trouble .oceanWater dl {
        display: block;
        margin-bottom: 6.4vw;
    }
}

#water .trouble .oceanWater dl.result {
    margin-bottom: 40px;
}

@media screen and (max-width:750px) {
    #water .trouble .oceanWater dl.result {
        margin-bottom: 6.4vw;
    }
}

#water .trouble .oceanWater dl > dt {
    flex-basis: 88px;
    flex-shrink: 1;
    flex-grow: 0;
    border-radius: 10px;
    color: #fff;
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    padding: 20px;
    font-size: 22px;
    font-weight: 900;
    text-align: center;
}

@media screen and (max-width:750px) {
    #water .trouble .oceanWater dl > dt {
        border-radius: 0;
        padding: .5vw 1vw;
        font-size: 4vw;
        margin-bottom: 5.333vw;
    }
}

#water .trouble .oceanWater dl.experiment > dt {
    background: #61a38f;
}

#water .trouble .oceanWater dl.result > dt {
    background: #0071a7;
}

#water .trouble .oceanWater dl > dd {
    flex-basis: calc(100% - 108px);
    flex-shrink: 1;
    flex-grow: 0;
    line-height: 2;
}

#water .trouble .oceanWater figure {
    margin-bottom: 32px;
}

#water .trouble .oceanWater figure img {
    margin: auto;
}

#water .trouble .oceanWater h4 {
    text-align: center;
    font-size: 28px;
    color: #0071a7;
    margin: 0;
}

@media screen and (max-width:750px) {
    #water .trouble .oceanWater h4 {
        font-size: 5.6vw;
    }
}



/*----------------------------

水の話ページ最下部

----------------------------*/
#water #epilogue {
    padding-top: 310px;
    margin-top: -310px;
}

@media screen and (max-width:750px) {
    #water #epilogue {
        padding-top: 40%;
        margin-top: -40%;
    }
}

#water .pageFooter {
    background: url(/html/template/default/assets/images_coco/water/pageFooter_bg.jpg) no-repeat center 30px;
    background-size: cover;
}

@media screen and (max-width:750px) {
    #water .pageFooter {
        background: url(/html/template/default/assets/images_coco/water/pageFooter_bg.jpg) no-repeat center 25vw;
        background-size: cover;
    }
}

#water .pageFooter.sec {
    margin-bottom: 0;
}

#water .pageFooter p.message {
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    text-shadow: #fff 0 0 3px, #fff 0 0 3px, #fff 0 0 3px, #fff 0 0 3px, #fff 0 0 3px, #fff 0 0 3px, #fff 0 0 3px, #fff 0 0 3px, #fff 0 0 3px;
    color: #0071a7;
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 80px;
}

@media screen and (max-width:750px) {
    #water .pageFooter p.message {
        margin-bottom: 20vw;
        font-size: 5.3vw
    }
}

#water .pageFooter p.message > span {
    display: block;
    font-size: 20px;
}

@media screen and (max-width:750px) {
    #water .pageFooter p.message > span {
        display: block;
        font-size: 3.667vw;
    }
}


#water .pageFooter .pic {
    position: relative;
    text-align: center;
}

#water .pageFooter .pic::before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    height: 78px;
    background: rgba(139, 181, 244, .37);
    width: 100vw;
    margin: 0 calc(50% - 50vw);
}

@media screen and (max-width:750px) {
    #water .pageFooter .pic::before {
        height: auto;
        padding-top: 8.1vw;
    }
}





/*************************************************************

ココ ネージュの想い

*************************************************************/


/*----------------------------

メインビジュアル

----------------------------*/
#thought .mv {
    background: url(/html/template/default/assets/images_coco/thought/mv.jpg) no-repeat center top;
    background-size: cover;
    padding: 12.5% 0;
    color: #666;
    margin-bottom: 80px;
}

@media screen and (max-width:750px) {
    #thought .mv {
        background: url(/html/template/default/assets/images_coco/thought/mv.jpg) no-repeat 60% top;
        background-size: cover;
        margin-bottom: 9.6vw;
        padding: 15.433vw 0;
    }
}

#thought .mv .inner {
    display: flex;
    align-items: center;
}

#thought .mv h2 {
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    font-weight: 900;
    letter-spacing: 3px;
    margin: 0;
}
@media screen and (max-width:750px) {
    #thought .mv h2 {
        font-size: 5vw;
        letter-spacing: 0.2666vw;
    }
}



/*----------------------------

コンテンツエリア

----------------------------*/

#thought .flexArea {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 120px;
}

@media screen and (max-width:1200px) {
    #thought .flexArea {
        flex-wrap: wrap;
        margin-bottom: 8.533vw;
    }
}
@media screen and (max-width:750px) {
    #thought .flexArea {
        flex-wrap: wrap;
        margin-bottom: 8.533vw;
    }
}

@media screen and (max-width:1200px) {
    #thought .flexArea div {
        flex-basis: 100%;
        order: 2;
		margin-top: 20px;
    }
}
@media screen and (max-width:750px) {
    #thought .flexArea div {
        flex-basis: 100%;
        order: 2;
		margin-top: 4vw;
    }
}

#thought .flexArea div > p {
    line-height: 3.3;
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    margin-bottom: 80px;
    font-weight: 700;
    font-weight: 500;
    font-size: 18px;
}

@media screen and (max-width:750px) {
    #thought .flexArea div > p {
        margin-bottom: 13.333vw;
        font-size: 3.8vw;
        line-height: 2;
    }
}

#thought .flexArea div > p:last-of-type {
    margin-bottom: 0;
}

#thought .flexArea figure {
    padding-top: 50px;
}
@media screen and (max-width:1200px) {
    #thought .flexArea figure {
        flex-basis: 100%;
        order: 1;
        margin-bottom: 13.333vw;
        padding-top: 0px;
        margin-bottom: 0;
    }
}
@media screen and (max-width:750px) {
    #thought .flexArea figure {
        flex-basis: 100%;
        order: 1;
        margin-bottom: 13.333vw;
        padding-top: 0px;
        margin-bottom: 0;
    }
}

#thought .linkBT a {
    display: block;
    max-width: 480px;
    margin: auto;
    background: #ffccce;
    color: #fff;
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    font-weight: 700;
    font-size: 24px;
    text-align: center;
    padding: 10px 20px;
}

@media screen and (max-width:750px) {
    #thought .linkBT a {
        max-width: none;
        width: 100%;
        font-size: 4.8vw;
    }
}







/*************************************************************

ご使用方法

*************************************************************/

#how_to_use {
    background: url(/html/template/default/assets/images_coco/how_to_use/bg.jpg) no-repeat bottom center;
    background-size: contain;
    padding-bottom: 120px;
}

@media screen and (max-width:750px) {
    #how_to_use {
        padding-bottom: 10.666vw;
    }
}

#how_to_use .sec:last-of-type {
    margin-bottom: 0;
}

#how_to_use .pc_only {
    display: block;
}

@media screen and (max-width:1200px) {
    #how_to_use .pc_only {
        display: none;
    }
}


#how_to_use .sp_only {
    display: none;
}

@media screen and (max-width:1200px) {
    #how_to_use .sp_only {
        display: block;
    }
}

#how_to_use img {
    margin: auto;
}



/*----------------------------

メインビジュアル

----------------------------*/
#how_to_use .mv {
    background: url(/html/template/default/assets/images_coco/how_to_use/mv.jpg) no-repeat center top;
    background-size: cover;
    padding: 12.5% 0;
    color: #666;
    margin-bottom: 80px;
}

@media screen and (max-width:750px) {
    #how_to_use .mv {
        background: url(/html/template/default/assets/images_coco/how_to_use/mv.jpg) no-repeat 60% top;
        background-size: cover;
        margin-bottom: 9.6vw;
        padding: 15.433vw 0;
    }
}

#how_to_use .mv .inner {
    display: flex;
    align-items: center;
}

#how_to_use .mv h2 {
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    font-weight: 900;
    letter-spacing: 3px;
    margin: 0;
}

@media screen and (max-width:750px) {
    #how_to_use .mv h2 {
        font-size: 6.4vw;
        letter-spacing: 0.2666vw;
    }
}

#how_to_use .intro.sec {
    margin-bottom: 64px;
}



/*----------------------------

イントロテキスト

----------------------------*/
#how_to_use .intro h3 {
    text-align: center;
    margin-bottom: 40px;
}

@media screen and (max-width:750px) {
    #how_to_use .intro h3 {
        text-align: justify;
    }
}


#how_to_use .intro p {
    text-align: center;
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    margin-bottom: 64px;
    font-size: 18px;
}

@media screen and (max-width:750px) {
    #how_to_use .intro p {
        text-align: justify;
        font-size: 4.267vw;
    }
}



/*----------------------------

ターンオーバー周期図

----------------------------*/
#how_to_use .turnover {
    margin-bottom: 80px;
}

#how_to_use .turnover figure {
    background: #f7fbfa;
    border: solid 1px #b0d1c7;
    padding: 40px 20px;
    text-align: center;
}

@media screen and (max-width:750px) {
    #how_to_use .turnover figure {
        padding: 6.4vw 5.333vw;
    }
}

/*----------------------------

チャート図

----------------------------*/

#how_to_use .chart > .inner {}

@media screen and (max-width:1200px) {
    #how_to_use .chart > .inner {
        max-width: 750px;
    }
}

#how_to_use .chart p {
    font-size: 14px;
    margin-bottom: 0;
    line-height: 1.4;
}

@media screen and (max-width:1200px) {
    #how_to_use .chart p {
        margin-bottom: 5.333vw;
    }
}

@media screen and (max-width:750px) {
    #how_to_use .chart p {
        font-size: 3.733vw;
    }
}


/* ステップ　flex
///////////////*/
#how_to_use .chart ul {
    display: flex;
    justify-content: space-between;
    margin-bottom: 80px;
}

@media screen and (max-width:1200px) {
    #how_to_use .chart ul {
        display: block;
    }
}

#how_to_use .chart ul > li {
    margin-right: 30px;
    flex-basis: 16.66666666666667%;
    flex-shrink: 1;
    flex-grow: 0;
    border: solid 2px #61a38f;
    border-radius: 10px;
    padding: 24px 20px 24px 20px;
    position: relative;
    display: flex;
    flex-direction: column;
}

@media screen and (max-width:1200px) {
    #how_to_use .chart ul > li {
        margin-right: 0;
        margin-bottom: 10.666vw;
    }

    #how_to_use .chart ul > li:last-of-type {
        margin-bottom: 0;
    }
}

@media screen and (max-width:750px) {
    #how_to_use .chart ul > li {
        padding: 6.4vw 5.3vw;
        margin-bottom: 16vw;
    }
}



#how_to_use .chart ul > li.step1 {
    flex-basis: 23.333%;
    flex-shrink: 1;
    flex-grow: 0;
}

#how_to_use .chart ul > li:last-of-type {
    margin-right: 0;
}


/* プラスケアアンカー設定
///////////////*/
#pluscare1,
#pluscare2 {}

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

    #pluscare1,
    #pluscare2 {
        margin-top: -200px;
        padding-top: 200px;
    }
}

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

    #pluscare1,
    #pluscare2 {
        margin-top: -50vw;
        padding-top: 50vw;
    }
}

/* プラスケア　flex
///////////////*/
#how_to_use .chart .plusCareArea {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width:1200px) {
    #how_to_use .chart .plusCareArea {
        display: block;
    }
}

#how_to_use .chart .plusCareArea ul.pcareList_A {
    display: flex;
    justify-content: space-around;
    flex-basis: 64.16666666666667%;
    flex-shrink: 1;
    flex-grow: 0;
    padding: 0 11% 0 15%;
}

@media screen and (max-width:1200px) {
    #how_to_use .chart .plusCareArea ul.pcareList_A {
        display: block;
        padding: 0;
        margin: 0 0 10.666vw;
    }
}

#how_to_use .chart .plusCareArea ul.pcareList_A > li {
    flex-basis: calc(100% / 2 - 15px);
    flex-shrink: 1;
    flex-grow: 0;
    max-width: 200px;
}

@media screen and (max-width:1200px) {
    #how_to_use .chart .plusCareArea ul.pcareList_A > li {
        max-width: none;
    }
}

#how_to_use .chart .plusCareArea ul.pcareList_B {
    display: flex;
    justify-content: space-around;
    flex-basis: 35.83333333333333%;
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:1200px) {
    #how_to_use .chart .plusCareArea ul.pcareList_B {
        display: block;
    }
}

#how_to_use .chart .plusCareArea ul.pcareList_B > li {
    flex-basis: calc(100% / 2 - 15px);
    flex-shrink: 1;
    flex-grow: 0;
}



/* 矢印
///////////////*/
#how_to_use .arrow {
    position: absolute;
    width: 30px;
    background: #61a38f;
    height: 12px;
    top: 50%;
    right: -32px;
    transform: translate(0, -50%);
}

@media screen and (max-width:1200px) {
    #how_to_use .arrow {
        top: inherit;
        right: inherit;
        left: 50%;
        bottom: -11vw;
        transform: translate(-50%, 0);
        width: 23px;
        height: 11vw;
    }
}

@media screen and (max-width:750px) {
    #how_to_use .arrow {
        bottom: -16.4vw;
        height: 16.4vw;
    }
}

#how_to_use .arrow::before {
    position: absolute;
    content: "";
    height: 40px;
    width: 20px;
    border-left: solid 20px #61a38f;
    border-top: solid 20px transparent;
    border-bottom: solid 20px transparent;
    left: 100%;
    top: 50%;
    transform: translate(0, -50%);
}

@media screen and (max-width:1200px) {
    #how_to_use .arrow::before {
        height: 20px;
        width: 30px;
        border-top: solid 20px #61a38f;
        border-left: solid 30px transparent;
        border-right: solid 30px transparent;
        left: inherit;
        top: inherit;
        transform: translate(-50%, 0);
        bottom: -40px;
    }
}

@media screen and (max-width:750px) {
    #how_to_use .arrow::before {}
}



#how_to_use .arrow2 {
    position: absolute;
    width: 12px;
    background: #61a38f;
    height: 60%;
    top: 50%;
    right: -29px;
    transform: translate(-50%, 0);
}

@media screen and (max-width:1200px) {
    #how_to_use .arrow2 {
        position: absolute;
        width: 16.7vw;
        background: #61a38f;
        height: 23px;
        top: auto;
        right: auto;
        transform: translate(0, 0);
        left: 50%;
        bottom: -6vw;
    }
}

@media screen and (max-width:750px) {
    #how_to_use .arrow2 {
        width: 30%;
        bottom: -9.5vw;
    }
}

@media screen and (max-width:590px) {
    #how_to_use .arrow2 {
        width: 26%;
        bottom: -11.5vw;
    }
}

#how_to_use .arrow2::before {
    position: absolute;
    content: "";
    height: 20px;
    width: 40px;
    border-left: solid 25px transparent;
    border-right: solid 25px transparent;
    border-top: solid 20px #61a38f;
    bottom: -13px;
    left: 50%;
    transform: translate(-50%, 0);
}

@media screen and (max-width:1200px) {
    #how_to_use .arrow2::before {
        position: absolute;
        content: "";
        height: 20px;
        width: 40px;
        border-top: solid 25px transparent;
        border-bottom: solid 25px transparent;
        border-left: solid 20px #61a38f;
        bottom: auto;
        left: auto;
        transform: translate(0, -50%);
        right: -40px;
        top: 50%;
    }
}







/* ステップアイコン
///////////////*/
#how_to_use .chart ul > li .stepIco {
    position: absolute;
    top: -40px;
    left: -20px;
}

@media screen and (max-width:1200px) {
    #how_to_use .chart ul > li .stepIco {
        top: -4.5vw;
    }
}

@media screen and (max-width:750px) {
    #how_to_use .chart ul > li .stepIco {
        top: -8vw;
    }
}

#how_to_use .chart ul > li .stepIco img {}

@media screen and (max-width:1200px) {
    #how_to_use .chart ul > li .stepIco img {
        width: 10vw;
    }
}

@media screen and (max-width:750px) {
    #how_to_use .chart ul > li .stepIco img {
        width: 17.067vw;
    }
}



/* 1200px以下限定プラスケアリンクアイコン
///////////////*/
#how_to_use .pluscareIco {
    display: none;
}

@media screen and (max-width:1200px) {
    #how_to_use .pluscareIco {
        display: block;
        position: absolute;
        right: 0;
        bottom: -11.5vw;
        z-index: 50;
    }
}

@media screen and (max-width:750px) {
    #how_to_use .pluscareIco {
        bottom: -18vw;
        right: -4vw;
        z-index: 100;
    }
}

#how_to_use .pluscareIco img {
    width: 5.542vw;
}

@media screen and (max-width:1200px) {
    #how_to_use .pluscareIco img {
        width: 12vw;
    }
}

@media screen and (max-width:750px) {
    #how_to_use .pluscareIco img {
        width: 18.667vw;
    }
}



/*h4
///////////////*/
#how_to_use li h4 {
    text-align: center;
    font-family: inherit;
    font-feature-settings: "palt";
    font-size: 20px;
    margin-bottom: 0;
    letter-spacing: -0.1em;
    line-height: 1.2;
}

@media screen and (max-width:750px) {
    #how_to_use li h4 {
        font-size: 5.333vw;
        margin-bottom: 4.266vw;
    }
}

#how_to_use li h4 span {
    letter-spacing: 0em;
}

#how_to_use li.step1 h4 {
    margin-bottom: 24px;
}

@media screen and (max-width:750px) {
    #how_to_use li.step1 h4 {
        margin-bottom: 4.266vw;
    }
}


#how_to_use li h4 span.small {
    font-size: 10px;
    vertical-align: top;
}

@media screen and (max-width:750px) {
    #how_to_use li h4 span.small {
        font-size: 1.333vw;
    }
}

#how_to_use li h4 span.notes {
    font-size: 12px;
    display: block;
}

@media screen and (max-width:750px) {
    #how_to_use li h4 span.notes {
        font-size: 3.2vw;
    }
}

#how_to_use li h4 span.font18 {
    font-size: 18px;
}

@media screen and (max-width:750px) {
    #how_to_use li h4 span.font18 {
        font-size: 4.8vw;
    }
}


/*h5
///////////////*/
#how_to_use li .h5Title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

@media screen and (max-width:750px) {
    #how_to_use li .h5Title {
        margin-bottom: 3.2vw;
    }
}

#how_to_use li .h5Title img {
    display: block;
    flex-basis: 40px;
    flex-shrink: 1;
    flex-grow: 0;
    margin: 0;
}

@media screen and (max-width:750px) {
    #how_to_use li .h5Title img {
        display: block;
        flex-basis: 10.667vw;
        flex-shrink: 1;
        flex-grow: 0;
    }
}

#how_to_use li .h5Title h5 {
    font-family: inherit;
    flex-basis: calc(100% - 45px);
    flex-shrink: 1;
    flex-grow: 0;
    margin: 0;
    text-align: left;
    font-size: 18px;
    line-height: 1.1;
}

@media screen and (max-width:750px) {
    #how_to_use li .h5Title h5 {
        font-size: 4.8vw;
        flex-basis: calc(100% - 12.667vw);
    }
}



/*各ステップ共通設定
///////////////*/
#how_to_use li.step1 .prod,
#how_to_use li.step1 .h5Title,
#how_to_use li.step1 p {}

#how_to_use li.step1 p {}

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

    #how_to_use li.step1 .prod,
    #how_to_use li.step1 .h5Title,
    #how_to_use li.step1 p {
        width: 100%;
        max-width: 750px;
        margin: auto;
    }

    #how_to_use li.step1 p {
        margin: 2vw auto;
    }
}

@media screen and (max-width:750px) {
    #how_to_use li.step1 .h5Title {
        margin-bottom: 3.2vw;
    }
}

#how_to_use li .flexAreaSP {
    margin-bottom: 24px;
}

@media screen and (max-width:1200px) {
    #how_to_use li .flexAreaSP {
        width: 100%;
        max-width: 750px;
        margin: auto;
        display: flex;
        margin-bottom: 0;
    }
}

#how_to_use li .flexAreaSP > .left {}

@media screen and (max-width:1200px) {
    #how_to_use li .flexAreaSP > .left {
        flex-basis: 12vw;
        flex-shrink: 1;
        flex-grow: 0;
        text-align: center;
    }
}

@media screen and (max-width:750px) {
    #how_to_use li .flexAreaSP > .left {
        flex-basis: 24vw;
        flex-shrink: 1;
        flex-grow: 0;
        text-align: center;
    }
}

#how_to_use li .flexAreaSP > .right {}

@media screen and (max-width:1200px) {
    #how_to_use li .flexAreaSP > .right {
        flex-basis: calc(100% - 14vw);
        flex-shrink: 1;
        flex-grow: 0;
    }
}

@media screen and (max-width:750px) {
    #how_to_use li .flexAreaSP > .right {
        flex-basis: calc(100% - 24.5vw);
        flex-shrink: 1;
        flex-grow: 0;
    }
}


/*STEP1 メイク落とし・洗顔 商品ビジュアルエリア
///////////////*/
#how_to_use li.step1 .prod {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

/* 
@media screen and (max-width:1200px) {
    #how_to_use li.step1 .prod {
        flex-wrap: wrap;
    }
}
*/

#how_to_use li.step1 .prod .left {
    flex-basis: 70px;
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:1200px) {
    #how_to_use li.step1 .prod .left {
        flex-basis: 33vw;
    }
}

@media screen and (max-width:750px) {
    #how_to_use li.step1 .prod .left {
        flex-basis: 24vw;
    }
}

#how_to_use li.step1 .prod .right {
    flex-basis: calc(100% - 80px);
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:1200px) {
    #how_to_use li.step1 .prod .right {
        flex-basis: calc(100% - 14vw);
    }
}

@media screen and (max-width:750px) {
    #how_to_use li.step1 .prod .right {
        flex-basis: calc(100% - 24.5vw);
    }
}

#how_to_use li.step1 .prod .right > img.pc_only {
    margin: auto;
    display: block;
}

@media screen and (max-width:1200px) {
    #how_to_use li.step1 .prod .right > img.pc_only {
        display: none;
    }

    #how_to_use li.step1 .prod .right > img.sp_only {
        margin: auto;
    }
}


#how_to_use li.step1 .cartBT + .prod {
    margin-top: 24px;
}

#how_to_use li.step1 h5 {
    font-size: 16px;
}

@media screen and (max-width:1200px) {
    #how_to_use li.step1 h5 {
    font-size: 18px;
    margin-left: 15px;
    }
}
@media screen and (max-width:750px) {
    #how_to_use li.step1 h5 {
        font-size: 4.8vw;
    }
}


/*プラスケアエリア　リード文
///////////////*/
#how_to_use .plusCareArea .lead {
    width: 60%;
    max-width: 360px;
    border: solid 2px #61a38f;
    border-radius: 50px;
    background: #fff;
    color: #61a38f;
    font-weight: 700;
    text-align: center;
    padding: 1vw;
    position: absolute;
    top: -2.5vw;
    left: 50%;
    margin: 0;
    transform: translate(-50%, 0);
    font-size: inherit;
}


@media screen and (max-width:750px) {
    #how_to_use .plusCareArea .lead {
        top: -3.5vw;
    }
}


/*NEWアイコン
///////////////*/
#how_to_use li .prod,
#how_to_use li .prod a {
    display: block;
    position: relative;
}

#how_to_use li .prod .icoNew {
    position: absolute;
    top: 0;
    right: 0;
}

@media screen and (max-width:1200px) {
    #how_to_use li .prod .icoNew {
        right: auto;
        left: 0;
    }
}


/* カートボタン
///////////////*/
#how_to_use .cartBT {
    width: 100%;
    max-width: 750px;
    margin: auto auto 0;
}

#how_to_use .cartBT input[type="text"] {
    width: 100%;
    border: solid 1px #ccc;
    margin-bottom: 10px;
}

#how_to_use .cartBT .quantityArea {
    margin-bottom: 10px;
}

#how_to_use .cartBT input[type="number"] {
    width: 3em;
    border: solid 1px #ccc;
}

/* 
#how_to_use .cartBT input[type="submit"],
#how_to_use .cartBT button[type="submit"]{
    background: #dc455c;
    color: #fff;
    text-align: center;
    padding: 7px 10px;
    width: 100%;
    font-weight: 700;
    border: none;
} */

#how_to_use .cartBT input[type="submit"] {
    background: url(/html/template/default/assets/images_coco/product_common/ico_cartBT.svg) no-repeat 10px center #dc455c;
    background-size: 21px;
    color: #fff;
    text-align: center;
    padding: 7px 10px 7px 2.5em;
    width: 100%;
    font-weight: 700;
    border: none;
}

/* 
#how_to_use .cartBT button[type="submit"] span{
    background: url(/html/template/default/assets/images_coco/product_common/ico_cartBT.svg) no-repeat center;
    background-size: contain;
    width: 21px;
    display: inline-block;
    margin-right: 5px;
    
} */

#how_to_use .cartBT input[type="submit"]:hover {
    opacity: .5;
}







/*************************************************************

はじめての方へ

*************************************************************/


/*----------------------------

メインビジュアル

----------------------------*/
#first_time .mv {
    background: url(/html/template/default/assets/images_coco/first_time/mv.jpg) no-repeat center top;
    background-size: cover;
    padding: 12.5% 0;
    color: #666;
    margin-bottom: 80px;
}

@media screen and (max-width:750px) {
    #first_time .mv {
        background: url(/html/template/default/assets/images_coco/first_time/mv.jpg) no-repeat 60% top;
        background-size: cover;
        margin-bottom: 9.6vw;
        padding: 15.433vw 0;
    }
}

#first_time .mv .inner {
    display: flex;
    align-items: center;
}

#first_time .mv h2 {
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    font-weight: 900;
    margin: 0;
    letter-spacing: 3px;
    color: #fff;
}

@media screen and (max-width:750px) {
    #first_time .mv h2 {
        font-size: 6.4vw;
        letter-spacing: 0.2666vw;

    }
}



/*----------------------------

h3 装飾

----------------------------*/
#first_time h3 {
    background: #61a38f;
    color: #fff;
    text-align: center;
    padding: 3px;
    position: relative;
    margin: 0 auto 80px;
    max-width: 800px;
    font-size: 24px;
}

@media screen and (max-width:750px) {
    #first_time h3 {
        margin-bottom: 10.666vw;
        font-size: 5.333vw;
    }
}

#first_time h3 > .border {
    border: solid 1px #b0d1c7;
    padding: 3px;
    display: block;
}

#first_time h3 > .mizutama_top::before,
#first_time h3 > .mizutama_top::after,
#first_time h3 > .mizutama_bottom::before,
#first_time h3 > .mizutama_bottom::after {
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    background: #61a38f;
    border-radius: 0% 50% 30% 30%/ 0% 30% 30% 50%;
}

#first_time h3 > .mizutama_top::before {
    top: -8px;
    left: -8px;
    transform: rotate(180deg);
}

#first_time h3 > .mizutama_top::after {
    top: -8px;
    right: -8px;
    transform: rotate(-90deg);
}

#first_time h3 > .mizutama_bottom::before {
    bottom: -8px;
    left: -8px;
    transform: rotate(90deg);
}

#first_time h3 > .mizutama_bottom::after {
    bottom: -8px;
    right: -8px;
    transform: rotate(0deg);
}



/*----------------------------

イントロエリア

----------------------------*/
#first_time .intro {
    padding: 0;
}

@media screen and (max-width:750px) {
    #first_time #intro {
        padding: 9.6vw 0 10.666vw;
    }
}

#first_time .intro p {
    text-align: center;
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    margin-bottom: 80px;
    font-weight: 700;
    letter-spacing: 2px;
    font-size: 18px;
}

@media screen and (max-width:750px) {
    #first_time .intro p {
        text-align: justify;
        font-size: 4.267vw;
    }
}

#first_time .intro ul {
    display: flex;
    justify-content: space-between;
    max-width: 960px;
    margin: auto;
}

#first_time .intro ul > li {
    flex-basis: calc(100% / 3 - 24px);
    flex-shrink: 1;
    flex-grow: 0;
    max-width: 290px;
}

@media screen and (max-width:750px) {
    #first_time .intro ul > li {
        flex-basis: calc(100% / 3);
        flex-grow: 1;
    }
}

#first_time #campaign_anc,
#first_time #product_anc,
#first_time #trialkit_anc {
    padding-top: 100px;
    margin-top: -100px;
}

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

    #first_time #campaign_anc,
    #first_time #product_anc,
    #first_time #trialkit_anc {
        padding-top: 40%;
        margin-top: -40%;
    }

}


/*----------------------------

オリジナル特典＆キャンペーン

----------------------------*/
#first_time #campaign {
    background: url(/html/template/default/assets/images_coco/first_time/campaign_bg.jpg) no-repeat center top;
    background-size: cover;
    border-top: solid 1px #b0d1c7;
    border-bottom: solid 1px #b0d1c7;
    padding: 80px 0;
}

@media screen and (max-width:750px) {
    #first_time #campaign {
        background: url(/html/template/default/assets/images_coco/first_time/campaign_bg.jpg) no-repeat left top;
        background-size: cover;
        padding: 10.666vw 0;
    }
}

#first_time #campaign dl {
    display: flex;
    justify-content: space-around;
    max-width: 1056px;
    margin: auto;
    margin-bottom: 64px;
}

@media screen and (max-width:750px) {
    #first_time #campaign dl {
        display: block;
    }
}


#first_time #campaign dl > div {
    border: solid 1px #61a38f;
    padding: 30px 15px 15px;
    background: #fff;
    flex-basis: calc(100% / 3 - 24px);
    flex-shrink: 1;
    flex-grow: 0;
    max-width: 320px;
    position: relative;
}

@media screen and (max-width:750px) {
    #first_time #campaign dl > div {
        max-width: none;
        margin-bottom: 10.666vw;
        padding: 9.5995vw 5.333vw 6.4vw;
    }
}

#first_time #campaign dl > div dt {
    position: absolute;
    top: -17px;
    left: 50%;
    transform: translate(-50%, 0);
    width: 100%;
    max-width: 240px;
    background: #61a38f;
    color: #fff;
    padding: 5px 10px;
    text-align: center;
    border-radius: 50px;
    font-size: 18px;
    line-height: 1;
}

@media screen and (max-width:750px) {
    #first_time #campaign dl > div dt {
        font-size: 4.8vw;
        max-width: 480px;
        top: -4vw;
    }
}

#first_time #campaign dl h4 {
    text-align: center;
    font-family: inherit;
    color: #61a38f;
    font-feature-settings: "palt";
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 1.5;
}

@media screen and (max-width:750px) {
    #first_time #campaign dl h4 {
        font-size: 5.867vw;
        margin-bottom: 5.333vw;
    }
}

#first_time #campaign dl .campaign1 h4 span {
    font-size: 16px;
}

@media screen and (max-width:750px) {
    #first_time #campaign dl .campaign1 h4 span {
        font-size: 4.267vw;
    }
}

#first_time #campaign dl .campaign2 h4 {
    margin-bottom: 0;
}

@media screen and (max-width:1200px) {
    #first_time #campaign dl .campaign2 h4 {
        margin-bottom: 20px;
    }
}

@media screen and (max-width:750px) {
    #first_time #campaign dl .campaign2 h4 {
        margin-bottom: 5.333vw;
    }
}

#first_time #campaign dl .flexArea {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

@media screen and (max-width:1200px) {
    #first_time #campaign dl .flexArea {
        display: block;
    }
}

/* 
@media screen and (max-width:750px) {
    #first_time #campaign dl .flexArea {
        display: flex;
    }
} */

#first_time #campaign dl .tokuten .flexArea > ul {
    flex-basis: calc(100% - 114px);
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:1200px) {
    #first_time #campaign dl .tokuten .flexArea > ul {
        margin-bottom: 20px;
    }
}

@media screen and (max-width:750px) {
    #first_time #campaign dl .tokuten .flexArea > ul {
        flex-basis: calc(100% - 35%);
        margin-bottom: 0;
        font-size: 4.267vw;
    }
}

#first_time #campaign dl .tokuten .flexArea > .icon {
    display: block;
    flex-basis: 104px;
    flex-shrink: 1;
    flex-grow: 0;
    text-align: center;
}

@media screen and (max-width:750px) {
    #first_time #campaign dl .tokuten .flexArea > .icon {
        flex-basis: 30%;
    }
}

#first_time #campaign dl .campaign1 .flexArea > ul {
    flex-basis: calc(100% - 95px);
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:1200px) {
    #first_time #campaign dl .campaign1 .flexArea > ul {
        margin-bottom: 20px;
    }
}

@media screen and (max-width:750px) {
    #first_time #campaign dl .campaign1 .flexArea > ul {
        flex-basis: calc(100% - 35%);
        margin-bottom: 0;
        font-size: 4.267vw;
    }
}

#first_time #campaign dl .campaign1 .flexArea > .icon {
    display: block;
    flex-basis: 85px;
    flex-shrink: 1;
    flex-grow: 0;
    text-align: center;
}

@media screen and (max-width:750px) {
    #first_time #campaign dl .campaign1 .flexArea > .icon {
        flex-basis: 30%;
    }
}

#first_time #campaign dl .campaign2 .flexArea > ul {
    flex-basis: calc(100% - 154px);
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:1200px) {
    #first_time #campaign dl .campaign2 .flexArea > ul {
        margin-bottom: 20px;
    }
}

@media screen and (max-width:750px) {
    #first_time #campaign dl .campaign2 .flexArea > ul {
        flex-basis: calc(100% - 35%);
        margin-bottom: 0;
        font-size: 4.267vw;
    }
}

#first_time #campaign dl .campaign2 .flexArea > .icon {
    display: block;
    flex-basis: 144px;
    flex-shrink: 1;
    flex-grow: 0;
    text-align: center;
}

@media screen and (max-width:750px) {
    #first_time #campaign dl .campaign2 .flexArea > .icon {
        flex-basis: 30%;
    }
}

#first_time #campaign .registerBT a {
    display: block;
    max-width: 272px;
    margin: auto;
    background: #56aedc;
    color: #fff;
    text-align: center;
    padding: 10px;
    font-weight: 700;
}

#first_time #campaign .registerBT a span {
    width: 18px;
    height: 22px;
    margin-right: 5px;
    display: inline-block;
    background: url(/html/template/default/assets/images_coco/first_time/register_ico.svg) no-repeat center;
    background-size: contain;
}


/*----------------------------

商品を探す

----------------------------*/
#first_time #product ul {
    display: flex;
    justify-content: space-around;
    max-width: 1056px;
    margin: auto;
    margin-bottom: 64px;
}

@media screen and (max-width:750px) {
    #first_time #product ul {
        flex-wrap: wrap;
    }
}

#first_time #product ul > li {
    flex-basis: calc(100% / 3 - 24px);
    flex-shrink: 1;
    flex-grow: 0;
    max-width: 320px;
}

@media screen and (max-width:750px) {
    #first_time #product ul > li {
        flex-basis: calc(100% / 2 - 2.6665vw);
        margin-bottom: 2.6665vw;
    }
}

#first_time #product .registerBT a {
    display: block;
    max-width: 272px;
    margin: auto;
    background: #56aedc;
    color: #fff;
    text-align: center;
    padding: 10px;
    font-weight: 700;
}

#first_time #product .registerBT a span {
    width: 18px;
    height: 22px;
    margin-right: 5px;
    display: inline-block;
    background: url(/html/template/default/assets/images_coco/first_time/register_ico.svg) no-repeat center;
    background-size: contain;
}





/*----------------------------

トライアルキット

----------------------------*/
#first_time #trialkit {
    background: url(/html/template/default/assets/images_coco/first_time/trialkit_bg.jpg) no-repeat center top;
    background-size: cover;
    border-top: solid 1px #b0d1c7;
    border-bottom: solid 1px #b0d1c7;
    padding: 80px 0;
    margin: 0;
}

@media screen and (max-width:750px) {
    #first_time #trialkit {
        padding: 10.666vw 0;
    }
}

#first_time #trialkit .mainArea {
    display: flex;
    justify-content: space-between;
    position: relative;
}

@media screen and (max-width:1200px) {
    #first_time #trialkit .mainArea {
        display: block;
    }
}

#first_time #trialkit .mainArea .postage {
    position: absolute;
    max-width: 96px;
    top: -30px;
    left: auto;
}

@media screen and (max-width:750px) {
    #first_time #trialkit .mainArea .postage {
        max-width: none;
        top: 20vw;
        right: 6.667vw;
        width: 21.333vw;
    }
}

#first_time #trialkit .mainArea > li {
    flex-basis: calc(100% / 2);
    flex-shrink: 1;
    flex-grow: 1;
}

#first_time #trialkit .mainArea > li.left {
    background: #fff;
    padding: 40px;
}

@media screen and (max-width:750px) {
    #first_time #trialkit .mainArea > li.left {
        padding: 6.4vw 5.333vw;
    }
}

#first_time #trialkit .mainArea > li.left h4 {
    font-size: 22px;
    font-family: inherit;
    font-weight: 700;
    text-align: center;
    margin-bottom: 24px;
    color: #61a38f;
}

@media screen and (max-width:750px) {
    #first_time #trialkit .mainArea > li.left h4 {
        font-size: 4.8vw;
        margin-bottom: 6.4vw;
    }
}

#first_time #trialkit .mainArea > li.left .flexArea {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

@media screen and (max-width:750px) {
    #first_time #trialkit .mainArea > li.left .flexArea {
        align-items: flex-start;
        flex-wrap: wrap;
    }
}

#first_time #trialkit .mainArea > li.left .flexArea .text,
#first_time #trialkit .mainArea > li.left .flexArea .pic {
    flex-basis: calc(100% / 2 - 10px);
    flex-shrink: 1;
    flex-grow: 0;
}

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

    #first_time #trialkit .mainArea > li.left .flexArea .text,
    #first_time #trialkit .mainArea > li.left .flexArea .pic {
        flex-basis: 100%;
        flex-shrink: 1;
        flex-grow: 1;
    }

    #first_time #trialkit .mainArea > li.left .flexArea .text {
        order: 2;
        margin-bottom: 6.4vw;
    }

    #first_time #trialkit .mainArea > li.left .flexArea .pic {
        order: 1;
        text-align: center;
        margin-bottom: 6.4vw;
    }
}

#first_time #trialkit .mainArea > li.right > .inner {
    position: relative;
    background: #fff;
}

#first_time #trialkit .mainArea > li.right .pic {
    text-align: center;
}

#first_time #trialkit .mainArea > li.right .pic img {
    margin: auto;
}


/* カート・会員登録ボタン
///////////////*/
#first_time #trialkit .mainArea > li.right .btnArea {
    position: absolute;
    left: 50%;
    bottom: 24px;
    transform: translate(-50%, 0);
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 556px;
}

@media screen and (max-width:750px) {
    #first_time #trialkit .mainArea > li.right .btnArea {
        display: block;
        padding: 0 6.666vw;
        max-width: none;
        bottom: 5.333vw;
    }
}

#first_time #trialkit .mainArea > li.right .btnArea > li {
    flex-basis: calc(100% / 2 - 4px);
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:750px) {
    #first_time #trialkit .mainArea > li.right .btnArea > li {
        margin-bottom: 4.266vw;
    }
}


#first_time #trialkit .mainArea > li.right .btnArea .cartBT {
    width: 100%;
    max-width: 750px;
    margin: auto auto 0;
}

@media screen and (max-width:750px) {
    #first_time #trialkit .mainArea > li.right .btnArea .cartBT {
        margin-bottom: 4.266vw;
    }
}

#first_time #trialkit .mainArea > li.right .btnArea .cartBT a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background: #dc455c;
    padding: 5px;
    font-weight: 700;
    border: solid 1px #fff;
    background: url(/html/template/default/assets/images_coco/first_time/ico_cart.svg) no-repeat 10px center #dc455c;
}

@media screen and (max-width:750px) {
    #first_time #trialkit .mainArea > li.right .btnArea .cartBT a {
        background: url(/html/template/default/assets/images_coco/first_time/ico_cart.svg) no-repeat 3.5vw center #dc455c;
        background-size: 6.5vw;
        font-size: 4.8vw;
        line-height: 1;
        padding: 1.75vw 5vw;
    }
}

#first_time #trialkit .mainArea > li.right .btnArea .cartBT a > span {
    background: url(/html/template/default/assets/images_coco/first_time/ico_cart.svg) no-repeat left top;
    display: inline-block;
    width: 20px;
    height: 20px;
    background-size: contain;
    margin-right: 5px;
    display: none;
}


#first_time #trialkit .productArea .cartBT .quantityArea {
    background: rgba(255, 255, 255, .7);
    padding: 5px 10px;
    width: 7em;
    border-radius: 2px;
}

@media screen and (max-width:750px) {
    #first_time #trialkit .productArea .cartBT .quantityArea {
        padding: 1vw 3.5vw;
        width: 8em;
    }
}

#first_time #trialkit .productArea .cartBT input[type="submit"] {
    border: solid 1px #fff;
    line-height: 1;
}

@media screen and (max-width:750px) {
    #first_time #trialkit .productArea .cartBT input[type="submit"] {
        background: url(/html/template/default/assets/images_coco/product_common/ico_cartBT.svg) no-repeat 3.5vw center #dc455c;
        background-size: 5vw;
        padding: 1.75vw 5vw;
        font-size: 4.8vw;
        border: solid 1px #fff;
    }
}


#first_time #trialkit .mainArea > li.right .btnArea .registerBT {
    width: 100%;
    max-width: 750px;
    margin: auto auto 0;
}

#first_time #trialkit .mainArea > li.right .btnArea .registerBT a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background: #56aedc;
    padding: 7px 10px 7px 2.5em;
    font-weight: 700;
    border: solid 1px #fff;
    background: url(/html/template/default/assets/images_coco/first_time/register_ico.svg) no-repeat 10px center #56aedc;
    line-height: 1;
}

@media screen and (max-width:750px) {
    #first_time #trialkit .mainArea > li.right .btnArea .registerBT a {
        background: url(/html/template/default/assets/images_coco/first_time/register_ico.svg) no-repeat 3.5vw center #56aedc;
        background-size: 5vw;
        font-size: 4.8vw;
        line-height: 1;
        padding: 1.75vw 5vw;
    }
}

#first_time #trialkit .mainArea > li.right .btnArea .registerBT a > span {
    background: url(/html/template/default/assets/images_coco/first_time/register_ico.svg) no-repeat left top;
    display: inline-block;
    width: 20px;
    height: 20px;
    background-size: contain;
    margin-right: 5px;
    display: none;
}




/*************************************************************

ご愛用者様の声

*************************************************************/


/*----------------------------

メインビジュアル

----------------------------*/
#customer_voice .mv {
    background: url(/html/template/default/assets/images_coco/customer_voice/mv.jpg) no-repeat center top;
    background-size: cover;
    padding: 12.5% 0;
    color: #666;
    margin-bottom: 80px;
}

@media screen and (max-width:750px) {
    #customer_voice .mv {
        background: url(/html/template/default/assets/images_coco/customer_voice/mv.jpg) no-repeat 60% top;
        background-size: cover;
        margin-bottom: 9.6vw;
        padding: 15.433vw 0;
    }
}

#customer_voice .mv .inner {
    display: flex;
    align-items: center;
}

#customer_voice .mv h2 {
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    font-weight: 900;
    letter-spacing: 3px;
    margin: 0;
}

@media screen and (max-width:750px) {
    #customer_voice .mv h2 {
        font-size: 6.4vw;
        letter-spacing: 0.2666vw;
    }
}


/*----------------------------

イントロエリア

----------------------------*/
#customer_voice .intro {
    padding: 0;
}

@media screen and (max-width:750px) {
    #customer_voice #intro {
        padding: 9.6vw 0 10.666vw;
    }
}

#customer_voice .intro p {
    text-align: center;
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    margin-bottom: 48px;
    letter-spacing: 2px;
    font-size: 16px;
}

@media screen and (max-width:750px) {
    #customer_voice .intro p {
        text-align: justify;
        margin-bottom: 6.4vw;
        font-size: 3.2vw;
    }
}

#customer_voice .intro.sec {
    margin-bottom: 80px;
}

#customer_voice .intro .reviewPost {
    background: #f7faf9;
    border: solid 1px #b0d1c7;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 20px 20px 32px;
    max-width: 832px;
    margin: auto;
}

@media screen and (max-width:750px) {
    #customer_voice .intro .reviewPost {
        display: block;
        padding: 4.266vw 8.266vw;
    }
}

#customer_voice .intro .reviewPost p {
    flex-basis: calc(100% / 2 - 20px);
    flex-shrink: 1;
    flex-grow: 0;
    margin-bottom: 0;
    font-family: inherit;
}

@media screen and (max-width:750px) {
    #customer_voice .intro .reviewPost p {
        margin-bottom: 3.2vw;
        text-align: center;
    }
}

#customer_voice .intro .reviewPost .bt {
    flex-basis: calc(100% / 2 - 20px);
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:750px) {
    #customer_voice .intro .reviewPost .bt {
        width: 100%;
    }
}

#customer_voice .intro .reviewPost .bt a {
    display: block;
    background: #dc455c;
    color: #fff;
    text-align: center;
    font-weight: 700;
    padding: 10px 20px;
    position: relative;
}

#customer_voice .intro .reviewPost .bt a span {
    background: url(/html/template/default/assets/images_coco/customer_voice/ico_review.svg) no-repeat left center;
    background-size: contain;
    width: 32px;
    padding-top: 10%;
    max-height: 32px;
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translate(0, -50%);
}


/*----------------------------

ユーザーレビューエリア

----------------------------*/
#customer_voice .reviewMain {
    background: #b0d1c7;
    margin-bottom: 0;
    padding: 80px 0;
}

@media screen and (max-width:750px) {
    #customer_voice .reviewMain {
        padding: 40px 0 10.666vw;
    }
}

#customer_voice .reviewMain > .inner {
    position: relative;
}

#customer_voice .reviewMain .illustBird {
    position: absolute;
    top: -120px;
    left: 50%;
    right: 50%;
    width: 100%;
    max-width: 60px;
    transform: translate(-50%, 0);
}

@media screen and (max-width:750px) {
    #customer_voice .reviewMain .illustBird {
        top: -73px;
    }
}

/* レビューメニュー PC
///////////////*/
#customer_voice .reviewMain .anchorNav {
    display: flex;
    justify-content: space-between;
    border: solid 1px #fff;
    margin-bottom: 80px;
}

@media screen and (max-width:750px) {
    #customer_voice .reviewMain .anchorNav {
        display: none;
    }
}

#customer_voice .reviewMain .anchorNav p {
    background: #81b5a5;
    color: #fff;
    text-align: center;
    color: #fff;
    padding: 20px;
    flex-basis: 160px;
    flex-shrink: 1;
    flex-grow: 0;
    font-size: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#customer_voice .reviewMain .anchorNav nav {
    background: #fff;
    flex-basis: calc(100% - 160px);
    flex-shrink: 1;
    flex-grow: 1;
    padding: 20px;
}


#customer_voice .reviewMain .anchorNav nav ul {
    display: flex;
    flex-wrap: wrap;
}

#customer_voice .reviewMain .anchorNav nav ul > li {
    padding: 0 10px;
    position: relative;
    margin: 2.5px 0;
}

#customer_voice .reviewMain .anchorNav nav ul > li::before {
    position: absolute;
    content: "";
    height: 80%;
    width: 1px;
    background: #333;
    right: 0;
    top: 50%;
    transform: translate(0, -50%);
}


/* レビューメニュー SP
///////////////*/
#customer_voice .reviewMain .anchorNav_sp {
    border: solid 1px #fff;
    margin-bottom: 80px;
    display: none;
}

@media screen and (max-width:750px) {
    #customer_voice .reviewMain .anchorNav_sp {
        display: block;
    }
}

#customer_voice .reviewMain .anchorNav_sp p {
    background: #81b5a5;
    color: #fff;
    text-align: center;
    color: #fff;
    padding: 1.5vw;
    font-size: 4.267vw;
    display: flex;
    justify-content: center;
    align-items: center;
}

#customer_voice .reviewMain .anchorNav_sp form {
    position: relative;
}

#customer_voice .reviewMain .anchorNav_sp form::before {
    position: absolute;
    content: "";
    right: 2.5vw;
    top: 50%;
    transform: translate(0, -50%);
    width: 3.733vw;
    height: 2.5vw;
    border-top: solid 2.5vw #61a38f;
    border-left: solid 3vw transparent;
    border-right: solid 3vw transparent;
}

#customer_voice .reviewMain .anchorNav_sp form::after {
    position: absolute;
    content: "";
    right: 10.5vw;
    top: 50%;
    transform: translate(0, -50%);
    height: 80%;
    width: 1px;
    background: #61a38f;
}

#customer_voice .reviewMain .anchorNav_sp select.link {
    width: 100%;
    border: solid 1px #fff;
    background: #fff;
    text-align: center;
    color: #61a38f;
    padding: 1.5vw 0;
    font-size: 4.267vw;
    -webkit-appearance: none;
    appearance: none;
    /* デフォルトのスタイルを無効 */
}

#customer_voice .reviewMain .anchorNav_sp select.link::-ms-expand {
    display: none;
    /* デフォルトのスタイルを無効(IE用) */
}



/* レビューメイン
///////////////*/
#customer_voice .reviewMain .reviewColumn ul {
    margin: 0 auto;
    width: 100%;
}

#customer_voice .reviewMain .reviewColumn ul > li {
    margin: 0 0 96px;
    width: 100%;
    max-width: 400px;
}

@media screen and (max-width:750px) {
    #customer_voice .reviewMain .reviewColumn ul > li {
        max-width: none;
        position: relative;
        top: auto !important;
        left: auto !important;
        margin: 0 0 13.866vw;
    }
}

#customer_voice .reviewMain .reviewColumn ul > li:after {
    position: absolute;
    content: "";
    z-index: 1;
    width: 90%;
    height: 100px;
    background: url(/html/template/default/assets/images_coco/customer_voice/reviewColumn_shadow.svg) no-repeat center bottom;
    background-size: cover;
    bottom: -25px;
    left: 50%;
    transform: translate(-50%, 0);
}

#customer_voice .reviewMain .reviewColumn ul > li > div {
    max-width: 384px;
    margin: auto;
    padding: 40px 32px 32px 32px;
    background: #fff;
    position: relative;
    z-index: 5;
}




@media screen and (max-width:1200px) {
	
    #customer_voice .reviewMain .reviewColumn ul > li {
		
	}

}

@media screen and (max-width:750px) {
    #customer_voice .reviewMain .reviewColumn ul > li > div {
        max-width: none;
        position: relative;
    }
}

#customer_voice .reviewMain .reviewColumn ul > li > div h3 {
    font-size: 18px;
    color: #64a37b;
    font-weight: 700;
    font-family: inherit;
    text-align: center;
}

@media screen and (max-width:750px) {
    #customer_voice .reviewMain .reviewColumn ul > li > div h3 {
        font-size: 4.267vw;
    }
}

#customer_voice .reviewMain .reviewColumn ul > li > div p:last-of-type {
    font-weight: 700;
}


#customer_voice .reviewMain .reviewColumn ul > li > div .tape {
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translate(-50%, 0);
}


#customer_voice .reviewMain .reviewColumn ul > li > div .grass {
    position: absolute;
    bottom: -20px;
    right: -20px;
}

@media screen and (max-width:750px) {
    #customer_voice .reviewMain .reviewColumn ul > li > div .grass {
        max-width: 100px;
    }
}

#customer_voice .reviewMain .reviewColumn ul > li > div .grassB {
    position: absolute;
    bottom: -60px;
    right: -15px;
}

@media screen and (max-width:750px) {
    #customer_voice .reviewMain .reviewColumn ul > li > div .grassB {
        max-width: 140px;
        bottom: -40px;
    }
}





/*************************************************************

よくあるご質問

*************************************************************/


/*----------------------------

メインビジュアル

----------------------------*/
#faq .mv {
    background: url(/html/template/default/assets/images_coco/faq/mv.jpg) no-repeat center top;
    background-size: cover;
    padding: 12.5% 0;
    color: #666;
    margin-bottom: 80px;
}

@media screen and (max-width:750px) {
    #faq .mv {
        background: url(/html/template/default/assets/images_coco/faq/mv.jpg) no-repeat 60% top;
        background-size: cover;
        margin-bottom: 9.6vw;
        padding: 15.433vw 0;
    }
}

#faq .mv .inner {
    display: flex;
    align-items: center;
}

#faq .mv h2 {
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    font-weight: 900;
    letter-spacing: 3px;
    margin: 0;
}

@media screen and (max-width:750px) {
    #faq .mv h2 {
        font-size: 6.4vw;
        letter-spacing: 0.2666vw;
    }
}



/*----------------------------

サイドナビ + 2カラム設定

----------------------------*/

/* 2カラム設定
///////////////*/
#faq #faqContents > .inner {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width:750px) {
    #faq #faqContents > .inner {
        flex-direction: column;
    }
}

#faq #faqContents > .inner > #sideNav {
    flex-basis: 240px;
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:750px) {
    #faq #faqContents > .inner > #sideNav {
        flex-basis: 100%;
        flex-shrink: 1;
        flex-grow: 1;
    }
}

#faq #faqContents > .inner > #faqMain {
    flex-basis: calc(100% - 304px);
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:1200px) {
    #faq #faqContents > .inner > #faqMain {
 flex-basis: calc(100% - 270px);
    }
}
@media screen and (max-width:750px) {
    #faq #faqContents > .inner > #faqMain {
        flex-basis: 100%;
        flex-shrink: 1;
        flex-grow: 1;
    }
}


/* サイドナビ
///////////////*/
#faq #sideNav {}

@media screen and (max-width:750px) {
    #faq #sideNav {
        margin-bottom: 9.6vw;
    }
}

#faq #sideNav ul {
    border-bottom: solid 1px #dfede9;
}

#faq #sideNav li {
    background: #f7fbfa;
    border-top: solid 1px #dfede9;
}

#faq #sideNav li a {
    color: #333;
    display: block;
    padding: 10px 15px;
}

@media screen and (max-width:750px) {
    #faq #sideNav li a {
        text-align: center;
        position: relative;
    }

    #faq #sideNav li a::before {
        position: absolute;
        content: "";
        border-bottom: solid 2px #b0d1c7;
        border-right: solid 2px #b0d1c7;
        top: 50%;
        right: 4.266vw;
        transform: translate(0, -50%) rotate(45deg);
        width: 2.133vw;
        height: 2.133vw;
    }
}



/*----------------------------

FAQメイン

----------------------------*/
#faq #faqMain #cosmetic {
    margin-bottom: 64px;
    margin-top: -310px;
    padding-top: 310px;
}

#faq #faqMain #delivery,
#faq #faqMain #support {
    margin-bottom: 64px;
    margin-top: -100px;
    padding-top: 100px;
}

#faq #faqMain #register {
    margin-top: -100px;
    padding-top: 100px;
}

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

    #faq #faqMain #cosmetic,
    #faq #faqMain #delivery,
    #faq #faqMain #support {
        margin-bottom: 9.6vw;
        margin-top: -40%;
        padding-top: 40%;
    }

    #faq #faqMain #register {
        margin-top: -40%;
        padding-top: 40%;
    }
}


#faq #faqMain h3 {
    text-align: center;
    font-size: 24px;
    margin-bottom: 40px;
}

@media screen and (max-width:750px) {
    #faq #faqMain h3 {
        margin-bottom: 6.4vw;
    }
}

#faq #faqMain .faqToggle {
    border-bottom: dashed 1px #a8a8a8;
}

#faq #faqMain .faqToggle dt {
    padding: 24px 48px 24px 80px;
    cursor: pointer;
    border-top: dashed 1px #a8a8a8;
    position: relative;
    color: #61a38f;
}

@media screen and (max-width:750px) {
    #faq #faqMain .faqToggle dt {
        padding: 5.333vw 14vw 5.333vw 11.733vw;
    }
}

#faq #faqMain .faqToggle dt::before {
    position: absolute;
    content: "Q";
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    font-size: 24px;
    font-weight: 700;
    top: 20px;
    left: 24px;
    color: #61a38f;
}

@media screen and (max-width:750px) {
    #faq #faqMain .faqToggle dt::before {
        top: 4vw;
        left: 1.333vw;
        font-size: 6.4vw;
    }
}

#faq #faqMain .faqToggle dt .plusIco {
    position: absolute;
    right: 24px;
    width: 14px;
    background: #61a38f;
    height: 2px;
    top: 50%;
    transform: translate(0, -50%);
}

#faq #faqMain .faqToggle dt .plusIco::before {
    position: absolute;
    content: "";
    height: 14px;
    width: 2px;
    background: #61a38f;
    left: 50%;
    top: -6px;
    transform: translate(-50%, 0);
    opacity: 1;
}

#faq #faqMain .faqToggle dt.open .plusIco::before {
    opacity: 0;
}

#faq #faqMain .faqToggle dd {
    padding: 24px 24px 24px 80px;
    display: none;
    transition: none;
    background: #f6f6f6;
    position: relative;
}

@media screen and (max-width:750px) {
    #faq #faqMain .faqToggle dd {
        padding: 5.333vw 5.333vw 5.333vw 11.733vw;
    }
}

#faq #faqMain .faqToggle dd::before {
    position: absolute;
    content: "A";
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    font-size: 24px;
    font-weight: 700;
    top: 20px;
    left: 24px;
}

@media screen and (max-width:750px) {
    #faq #faqMain .faqToggle dd::before {
        top: 4vw;
        left: 2.333vw;
        font-size: 6.4vw;
    }
}


#faq .faqToggle ul {
    list-style: disc;
    margin-left: 1em;
}




/*************************************************************

ご利用ガイド

*************************************************************/


/*----------------------------

メインビジュアル

----------------------------*/
#guide .mv .inner {}

#guide .mv h2 {
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    font-weight: 900;
    letter-spacing: 3px;
    margin: 64px 0;
}
@media screen and (max-width:1200px) {
    #guide .mv h2 {
		 margin: 34px 0;
		 font-size: 37px;
	}
}

@media screen and (max-width:750px) {
    #guide .mv h2 {
        font-size: 6.4vw;
        letter-spacing: 0.2666vw;
        margin: 9.6vw 0 6.4vw;
    }
}



/*----------------------------

サイドナビ + 2カラム設定

----------------------------*/

/* 2カラム設定
///////////////*/
#guide #guideContents > .inner {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width:750px) {
    #guide #guideContents > .inner {
        flex-direction: column;
    }
}

#guide #guideContents > .inner > #sideNav {
    flex-basis: 240px;
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:750px) {
    #guide #guideContents > .inner > #sideNav {
        flex-basis: 100%;
        flex-shrink: 1;
        flex-grow: 1;
    }
}

#guide #guideContents > .inner > #guideMain {
    flex-basis: calc(100% - 304px);
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:1200px) {
    #guide #guideContents > .inner > #guideMain {
flex-basis: calc(100% - 270px);
    }
}

@media screen and (max-width:750px) {
    #guide #guideContents > .inner > #guideMain {
        flex-basis: 100%;
        flex-shrink: 1;
        flex-grow: 1;
    }
}


/* サイドナビ
///////////////*/
#guide #sideNav {}

@media screen and (max-width:750px) {
    #guide #sideNav {
        margin-bottom: 9.6vw;
    }
}

#guide #sideNav ul {
    border-bottom: solid 1px #dfede9;
}

@media screen and (max-width:750px) {
    #guide #sideNav ul {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        background: #dfede9;
        padding: 1px 1px 0;
    }
}

#guide #sideNav li {
    background: #f7fbfa;
    border-top: solid 1px #dfede9;
}

@media screen and (max-width:750px) {
    #guide #sideNav li {
        border-top: none;
        flex-basis: calc(100% / 2 - .5px);
        flex-shrink: 1;
        flex-grow: 0;
        margin-bottom: 1px;
    }
}

#guide #sideNav li.borderBottom {
    border-bottom: solid 1px #dfede9;
}

@media screen and (max-width:750px) {
    #guide #sideNav li.borderBottom {
        border-bottom: none;
    }
}

#guide #sideNav li a {
    color: #333;
    display: block;
    padding: 10px 15px;
}

@media screen and (max-width:750px) {
    #guide #sideNav li a {
        text-align: center;
        position: relative;
    }

    #guide #sideNav li a::before {
        position: absolute;
        content: "";
        border-bottom: solid 2px #b0d1c7;
        border-right: solid 2px #b0d1c7;
        top: 50%;
        right: 4.266vw;
        transform: translate(0, -50%) rotate(45deg);
        width: 2.133vw;
        height: 2.133vw;
    }
}

#guide #sideNav li.faqLink {
    margin-top: 24px;
    background: #81b5a5;
}

@media screen and (max-width:750px) {
    #guide #sideNav li.faqLink {
        margin-top: 0;
    }
}

#guide #sideNav li.faqLink a {
    color: #fff;
    display: block;
    padding: 10px 15px;
}

#guide #sideNav li.faqLink a::before {
    display: none;
}




/*----------------------------

ご利用ガイドメイン

----------------------------*/
#guide .guideContents {
    margin-top: -310px;
    padding-top: 310px;
    margin-bottom: 40px;
}

@media screen and (max-width:750px) {
    #guide .guideContents {
        margin-top: -40%;
        padding-top: 40%;
    }
}

#guide .guideContents h3 {
    background: #61a38f;
    color: #fff;
    padding: 5px 15px;
    font-size: 20px;
    margin-bottom: 32px;
    font-family: inherit;
}

@media screen and (max-width:750px) {
    #guide .guideContents h3 {
        font-size: 4.8vw;
        margin-bottom: 5.333vw;
    }
}

#guide .guideContents .backtop {
    padding-top: 24px;
    display: flex;
    justify-content: flex-end;
}

@media screen and (max-width:750px) {
    #guide .guideContents .backtop {
        display: none;
    }
}

#guide .guideContents .backtop a {
    display: block;
    max-width: 140px;
    padding: 3px 10px;
    color: #999;
    font-size: 14px;
    text-align: center;
    background: #f6f6f6;
    border: solid 1px #dadada;
}

/* 
#guide .guideContents {
    margin-top: -100px;
    padding-top: 100px;
}
*/

#guide .guideContents .red {
    font-weight: 700;
}

#guide .guideContents .mb20 {
    margin-bottom: 20px;
}

#guide .guideContents .mb40 {
    margin-bottom: 40px;
}

#guide p + p {
    margin-top: 0;
}
@media screen and (max-width:1200px) {
#guide p {
	font-size: 13px;
	}
}
#guide p {
    margin-bottom: 10px;
}

#guide .notes {
    padding: 0 0 0 .7em;
    text-indent: -.7em;
}


/*会員登録の流れ
///////////////*/
#guide #registerStep .pic {
    text-align: center;
    margin-bottom: 20px;
}

#guide #registerStep dd {
    margin-bottom: 40px;
}


/*配送について
///////////////*/
#guide #delivery {}



/*代金引換について
///////////////*/
#guide #payment h4 {
    color: #61a38f;
    padding: 10px;
    margin-bottom: 20px;
    border-bottom: solid 1px #61a38f;
    font-family: inherit;
    font-weight: 700;
}

@media screen and (max-width:750px) {
    #guide #payment h4 {
        font-size: 4.267vw;
    }
}


#guide #payment > div > div {
    margin-bottom: 40px;
}

#guide #payment > div > div ul {
    margin-bottom: 40px;
}

@media screen and (max-width:750px) {
    #guide #payment > div > div ul {
        margin-bottom: 5.333vw;
    }
}

/*領収書について
///////////////*/
#guide #receipt {}


/*返品・交換について
///////////////*/
#guide #returns p {
    margin-bottom: 0;
}


/*消費税について
///////////////*/
#guide #tax {}

/*商品レビューについて
///////////////*/
#guide #review {}



/*お問い合わせ
///////////////*/
#guide .info h3 {
    background: #61a38f;
    color: #fff;
    padding: 5px 15px;
    font-size: 20px;
    margin-bottom: 2px;
    text-align: center;
    font-family: inherit;
}

#guide .info ul {
    display: flex;
    justify-content: space-between;
    margin-bottom: 2px;
}

@media screen and (max-width:750px) {
    #guide .info ul {
        display: block;
    }
}

#guide .info ul > li {
    flex-basis: calc(100% / 2 - 1px);
    flex-shrink: 1;
    flex-grow: 0;
    background: #dfede9;
    padding: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

@media screen and (max-width:750px) {
    #guide .info ul > li {
        margin-bottom: 2px;
    }
}

#guide .info .free {
    font-size: 32px;
    font-weight: 700;
    text-align: center;
}
@media screen and (max-width:1200px) {
	  #guide .info .free {
	font-size: 19px;
}
	}

@media screen and (max-width:750px) {
    #guide .info .free {
        font-size: 7.467vw;
    }
}

#guide .info .mail a {
    color: #333;
    font-size: 22px;
    font-weight: 700;
    text-align: center;
    position: relative;
}

@media screen and (max-width:750px) {
    #guide .info .mail a {
        font-size: 5.867vw;
        padding-left: 45px;
        display: block;
        line-height: 1.3;
    }

    #guide .info .mail a img {
        position: absolute;
        left: 0;
        top: 50%;
        transform: translate(0, -50%);
    }
}



#guide .info p span {
    color: #61a38f;
}

#guide .info p.teikyubi {
    background: #efefef;
    font-weight: 700;
    text-align: center;
    padding: 3px 20px;
}










/*************************************************************

プレゼントキャンペーン

*************************************************************/


/*----------------------------

メインビジュアル

----------------------------*/
#campaign .mv {
    background: url(/html/template/default/assets/images_coco/campaign/mv.jpg) no-repeat center top;
    background-size: cover;
    padding: 12.5% 0;
    color: #666;
    margin-bottom: 80px;
}

@media screen and (max-width:750px) {
    #campaign .mv {
        background: url(/html/template/default/assets/images_coco/campaign/mv.jpg) no-repeat 60% top;
        background-size: cover;
        margin-bottom: 9.6vw;
        padding: 15.433vw 0;
    }
}

#campaign .mv .inner {
    display: flex;
    align-items: center;
}

#campaign .mv h2 {
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    font-weight: 900;
    letter-spacing: 3px;
    margin: 0;
}

@media screen and (max-width:750px) {
    #campaign .mv h2 {
        font-size: 6.4vw;
        letter-spacing: 0.2666vw;
    }
}


/*----------------------------

イントロ

----------------------------*/
#campaign .intro.sec {
    margin-bottom: 80px;
}

@media screen and (max-width:750px) {
    #campaign .intro.sec {
        margin-bottom: 8.533vw;
    }
}

#campaign .intro p {
    text-align: center;
    font-family: "YuMincho", "Yu Mincho", "Times New Roman", "Hiragino Mincho ProN", "MS PMincho", serif;
    font-weight: 700;
    letter-spacing: 2px;
    font-size: 18px;
}

@media screen and (max-width:750px) {
    #campaign .intro p {
        font-size: 4.267vw;
    }
}



/*----------------------------

キャンペーンメイン

----------------------------*/
#campaign .campaign h3 {
    position: relative;
    font-family: inherit;
    margin-bottom: 80px;
}

@media screen and (max-width:750px) {
    #campaign .campaign h3 {
        font-size: 4.8vw;
        margin-bottom: 8.533vw;
    }
}

#campaign .campaign h3 span {
    display: block;
    background: #61a38f;
    color: #fff;
    text-align: center;
    max-width: 320px;
    margin: auto;
    border-radius: 50px;
    position: relative;
    z-index: 10;
}

@media screen and (max-width:750px) {
    #campaign .campaign h3 span {
        max-width: none;
        width: 40vw;
    }
}

#campaign .campaign h3::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    background: #61a38f;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
    z-index: 1;
}

#campaign .campaign h4 {
    font-family: inherit;
    color: #61a38f;
    font-size: 24px;
}

@media screen and (max-width:750px) {
    #campaign .campaign h4 {
        font-size: 4.8vw;
    }
}

#campaign .campaign .frame {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width:750px) {
    #campaign .campaign .frame {
        flex-wrap: wrap;
    }
}

#campaign .campaign .frame > li {}

#campaign .campaign .frame .left {
    flex-basis: calc(100% - 520px);
    flex-shrink: 1;
    flex-grow: 0;
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width:1200px) {
    #campaign .campaign .frame .left {
        display: block;
    }
}

@media screen and (max-width:750px) {
    #campaign .campaign .frame .left {
        flex-basis: 100%;
        display: flex;
        justify-content: space-between;
        order: 2;
    }
}

#campaign .campaign .frame .left figure {
    flex-basis: 82px;
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:1200px) {
    #campaign .campaign .frame .left figure {
        text-align: center;
        margin-bottom: 20px;
    }
}

@media screen and (max-width:750px) {
    #campaign .campaign .frame .left figure {
        flex-basis: 10.933vw;
        flex-shrink: 1;
        flex-grow: 0;
    }
}

#campaign .campaign .frame .left div {
    flex-basis: calc(100% - 102px);
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:750px) {
    #campaign .campaign .frame .left div {
        flex-basis: calc(100% - 13.6vw);
        flex-shrink: 1;
        flex-grow: 0;
    }
}


#campaign .campaign .frame .right {
    flex-basis: 480px;
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:750px) {
    #campaign .campaign .frame .right {
        flex-basis: 100%;
        order: 1;
        margin-bottom: 8.533vw;
    }
}

#campaign .campaign.campaign2.sec {
    margin-bottom: 64px;
}

#campaign .campaign.campaign2 > .inner {
    padding-top: 80px;
    padding-bottom: 80px;
    border-top: solid 1px #61a38f;
    border-bottom: solid 1px #61a38f;
}

@media screen and (max-width:750px) {
    #campaign .campaign.campaign2 > .inner {
        padding-top: 8.533vw;
        padding-bottom: 8.533vw;
        border-top: none;
        border-bottom: none;
        position: relative;
    }

    #campaign .campaign.campaign2 > .inner::before,
    #campaign .campaign.campaign2 > .inner::after {
        content: "";
        position: absolute;
        height: 1px;
        width: calc(100% - 12vw);
        left: 50%;
        transform: translate(-50%, 0);
        background: #61a38f;
    }

    #campaign .campaign.campaign2 > .inner::before {
        top: 0;
    }

    #campaign .campaign.campaign2 > .inner::after {
        bottom: 0;
    }
}

#campaign .campaign.campaign2 .right ul {
    display: flex;
    justify-content: space-between;
    max-width: 345px;
    margin: auto;
    margin-bottom: 20px;
}

@media screen and (max-width:750px) {
    #campaign .campaign.campaign2 .right ul {
        max-width: none;
    }
}

#campaign .campaign.campaign2 .right ul li {
    flex-basis: 160px;
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:750px) {
    #campaign .campaign.campaign2 .right ul li {
        flex-basis: calc(100% / 2 - 2.666vw);
    }
}

#campaign .campaign.campaign2 .right ul li p,
#campaign .campaign.campaign2 .right ul li .pic {
    text-align: center;
}

#campaign .campaign.campaign2 .right ul li p {
    margin-bottom: 20px;
}

#campaign .campaign.campaign2 .right .bt a {
    display: block;
    background: #dcbb95;
    color: #fff;
    text-align: center;
    padding: 5px;
}

#campaign .campaign.campaign2 .right .notes {
    text-align: center;
}


/*----------------------------

会員登録ボタン

----------------------------*/
#campaign .cvBT a {
    display: block;
    max-width: 272px;
    margin: auto;
    background: #56aedc;
    color: #fff;
    text-align: center;
    padding: 10px;
    font-weight: 700;
}

#campaign .cvBT a span {
    width: 18px;
    height: 22px;
    margin-right: 5px;
    display: inline-block;
    background: url(/html/template/default/assets/images_coco/first_time/register_ico.svg) no-repeat center;
    background-size: contain;
}




/*************************************************************

ご利用規約

*************************************************************/
#agreement h2 {
    margin: 64px 0;
}

@media screen and (max-width:750px) {
    #agreement h2 {
        margin: 9.6vw 0 6.4vw;
    }
}

#agreement .ec-off1Grid__cell {
    max-height: 560px;
    overflow: auto;
    padding: 32px;
    margin-bottom: 96px;
    border: solid 1px #ccc;
}

@media screen and (max-width:750px) {
    #agreement .ec-off1Grid__cell {
        padding: 4.266vw;
        margin-bottom: 12.8vw;
    }
}


#agreement .ec-off1Grid__cell > dl > dt {
    color: #61a38f;
    margin-bottom: 10px;

}

#agreement .ec-off1Grid__cell > dl > dt + dd {
    margin-left: 3em;
    margin-bottom: 40px;
}

#agreement .ec-off1Grid__cell > dl > dt + dd:last-of-type {
    margin-bottom: 0;
}

#agreement .ec-off1Grid__cell > dl > dt + dd dt {
    font-weight: 500;
}

#agreement .ec-off1Grid__cell > dl > dt + dd li {
    padding-left: 1em;
    text-indent: -1em;
}

#agreement .ec-off1Grid__cell > dl > dt + dd li + li {
    margin-top: 5px;
}

#agreement .ec-off1Grid__cell > dl > dt + dd li > ul,
#agreement .ec-off1Grid__cell > dl > dt + dd dd > ul {
    padding-left: 1em;
}

#agreement .ec-off1Grid__cell > dl > dt + dd dd {
    margin-left: 1em;
}



#agreement .btnArea ul {
    display: flex;
    justify-content: space-between;
    max-width: 664px;
    margin: auto;
}

@media screen and (max-width:750px) {
    #agreement .btnArea ul {
        display: block;
        margin-bottom: 0;
    }
}

#agreement .btnArea ul li {
    flex-basis: calc(100% / 2 - 12px);
    flex-shrink: 1;
    flex-grow: 0;
}

@media screen and (max-width:750px) {
    #agreement .btnArea ul li {
        max-width: 74.666vw;
        margin: 0 auto 4.266vw;
    }

    #agreement .btnArea ul li:last-of-type {
        margin-bottom: 0;
    }
}

#agreement .btnArea ul li a {
    display: block;
    text-align: center;
    color: #fff;
    padding: 12px;
    font-size: 20px;
}

@media screen and (max-width:750px) {
    #agreement .btnArea ul li a {
        font-size: 5.333vw;
    }
}

#agreement .btnArea ul li.disagree a {
    background: url(/html/template/default/assets/images_coco/agreement/ico_disagree.svg) no-repeat 20px center #b8b8b8;
}

@media screen and (max-width:750px) {
    #agreement .btnArea ul li.disagree a {
        background-size: 6vw;
    }
}

#agreement .btnArea ul li.register a {
    background: url(/html/template/default/assets/images_coco/agreement/ico_register.svg) no-repeat 20px center #56aedc;
    padding-left: 50px;
}

@media screen and (max-width:750px) {
    #agreement .btnArea ul li.register a {
        padding-left: 10vw;
        background-size: 6vw;
    }
}




/*************************************************************

新規会員登録フォーム

*************************************************************/
#page_entry .ec-borderedDefs .name,
#page_entry .ec-borderedDefs .kana {
    display: flex;
    justify-content: space-between;
}

#page_entry .ec-borderedDefs .name > div,
#page_entry .ec-borderedDefs .kana > div {
    flex-basis: calc(50% - 10px);
    flex-shrink: 1;
    flex-grow: 0;
}

#page_entry .ec-input {
    margin-bottom: 10px;
}

@media screen and (max-width:750px) {
    #page_entry .ec-borderedDefs .name > div,
    #page_entry .ec-borderedDefs .kana > div {
        flex-basis: calc(50% - 5px);
    }
}

#page_entry .ec-borderedDefs .name > div input,
#page_entry .ec-borderedDefs .kana > div input {
    width: 100%;
}
