/* ヘッダー　お問い合わせ・電話番号 */
.header_bar {
    display: none
}

@media screen and (min-width:768px) {
    .header_bar {
        margin-bottom: 10px;
        background-color: #eae7e9;
        display: block;
        font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    }

    .header_bar .header_contact {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        position: relative;
        padding-top: 5px;
        padding-bottom: 5px
    }

    .header_bar .header_mail,
    .header_bar .header_tel,
    .header_bar .header_title {
        color: #000;
        font-size: 12px;
        margin-bottom: 0 !important;
        text-decoration: none;
    }

    .header_bar .header_title {
        font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif
    }
    .header-page,
    .header-menu {
        font-family: YuMincho,"Yu Mincho","Hiragino Mincho ProN",serif;
    }

    .header_bar .header_tel {
        line-height: 1;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        max-width: 320px;
        padding-right: 130px
    }

    .header_bar .header_tel .header_number {
        color: #9b5770;
        font-size: 34px;
        white-space: nowrap
    }

    .header_bar .header_mail {
        background-color: #cba8b5;
        border-radius: 0 0 5px 5px;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        z-index: 1 !important;
        width: 120px;
        position: absolute;
        top: 0;
        right: 0;
        bottom: -10px;
        left: auto
    }

    .header_bar .header_mail img {
        max-width: 30px;
        margin-right: 5px
    }

    .header_bar .header_mail span {
        color: #fff;
        font-weight: 700;
        display: block
    }
}

@media screen and (min-width:992px) {
    .header_bar .header_contact {
        padding-top: 10px;
        padding-bottom: 10px
    }

    .header_bar .header_tel {
        max-width: none;
        padding-right: 190px
    }

    .header_bar .header_tel .header_text {
        width: auto;
        margin-bottom: 0;
        margin-right: 5px
    }

    .header_bar .header_mail {
        width: 180px
    }

    .header_bar .header_mail img {
        max-width: 38px
    }
}

.header_menu .header_toggle button {
    background-color: #cba8b5;
    border-radius: 5px;
    display: block;
    position: relative;
    width: 50px;
    height: 50px
}

.header_menu .header_toggle i {
    background-color: #fff;
    content: "";
    display: block;
    width: 26px;
    height: 2px;
    margin: auto;
    -webkit-animation: openBounce .6s cubic-bezier(.455, .03, .515, .955) 0s both;
    animation: openBounce .6s cubic-bezier(.455, .03, .515, .955) 0s both;
    position: absolute;
    top: 18px;
    right: 0;
    bottom: auto;
    left: 0
}

.header_menu .header_toggle i::after,
.header_menu .header_toggle i::before {
    background-color: #fff;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955) 0s;
    transition: all .3s cubic-bezier(.455, .03, .515, .955) 0s
}

.header_menu .header_toggle i::before {
    top: calc(50% - 10px)
}

.header_menu .header_toggle i::after {
    top: calc(50% + 8px)
}

.header_menu .header_toggle span {
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    position: absolute;
    top: auto;
    right: 0;
    bottom: 4px;
    left: 0
}

.header_menu .header_cart a {
    background-color: #cba8b5;
    position: relative;
    width: 50px;
    height: 50px;
    padding: 0
}

@media screen and (min-width:768px) {
    .header_menu .header_cart a {
        width: auto;
        height: 100%;
        padding: 5px 10px
    }
}

.header_menu .header_cart img {
    max-width: 32px;
    margin: auto;
    position: absolute;
    top: 5px;
    right: 4px;
    bottom: auto;
    left: 0
}

@media screen and (min-width:768px) {
    .header_menu .header_cart img {
        position: static;
        margin-right: 5px
    }
}

@media screen and (min-width:992px) {
    .header_menu .header_cart img {
        max-width: 34px
    }
}

.header_menu .header_cart span {
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    text-align: center;
    width: 100%;
    position: absolute;
    top: auto;
    right: 0;
    bottom: 4px;
    left: 0
}

@media screen and (min-width:768px) {
    .header_menu .header_cart span {
        font-size: 14px;
        position: static;
        width: auto
    }
}

.header_menu .header_cart em {
    background-color: #fff;
    border: 2px solid #cba8b5;
    border-radius: 50%;
    font-size: 10px;
    line-height: 16px;
    text-align: center;
    overflow: hidden;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 2px;
    right: 2px;
    bottom: auto;
    left: auto
}

@media screen and (min-width:768px) {
    .header_menu .header_cart em {
        font-size: 14px;
        line-height: 26px;
        position: static;
        width: 30px;
        height: 30px;
        margin: 0 2px
    }
}

.header_menu .header_list {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media screen and (min-width:768px) {
    .header_menu .header_list {
        width: 100%
    }
}

@media screen and (min-width:992px) {
    .header_menu .header_list {
        width: auto
    }
}

.header_menu .header_list li {
    padding: 0 5px
}

.header_menu .header_list a {
    background-color: #d9d4cc;
    border-radius: 5px;
    color: #000;
    text-align: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100%;
    padding: 5px 10px
}

.header_menu .header_list em,
.header_menu .header_list span {
    line-height: 1.4
}

@media (min-width: 768px) {
    .page-contents.-original .header-top a {
        line-height: 1.4;
    }
}

/* 商品詳細4つのポイント */
#feature {
    background-color: #fbf8fb;
    position: relative;
    padding: 50px 0
}

.feature_background {
    overflow: hidden;
    z-index: 1;
    height: 120px;
    position: absolute;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
}

.feature_background::before {
    background-image: url(/upload_file/img/teiki_bg.jpg);
    background-position: center;
    background-size: 100% 100%;
    content: "";
    display: block;
    min-width: 1920px;
    width: 100%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    top: 0;
    right: auto;
    bottom: 0;
    left: 50%
}

.feature_object {
    overflow: hidden;
    z-index: 2;
    max-width: 524px;
    width: 60%;
    aspect-ratio: 1/1.08779;
    position: absolute;
    top: -50px;
    right: auto;
    bottom: auto;
    left: 0;
}

@media screen and (min-width:768px) {
    feature_object {
        width: 40%;
    }
}

.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
}

[class*=" container"],
[class^=container] {
    position: relative;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

@media screen and (min-width:576px) {
    .container {
        max-width: 580px
    }
}

@media screen and (min-width:768px) {
    .container {
        max-width: 760px
    }
}

@media screen and (min-width:992px) {
    .container {
        max-width: 1000px
    }
}

@media screen and (min-width:1200px) {
    .container {
        max-width: 1040px
    }
}

#voice .container {
    position: relative;
    z-index: 1
}

.feature_title {
    position: relative;
    z-index: 3
}

/* ヘッダー　検索横のメニュー */
.inner .header-top {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media screen and (min-width:768px) {
    .inner .header-top {
        width: 100%
    }
}

@media screen and (min-width:992px) {
    .inner .header-top {
        width: auto
    }
}

.inner .header-top li {
    padding: 0 5px !important;
    margin-left: 0 !important;
    position: static !important;
}

.inner .header-top a {
    background-color: #d9d4cc;
    border-radius: 5px;
    color: #000;
    text-align: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100%;
    padding: 5px 10px
}

.header-top ul {
    padding: 0 !important;
    align-items: normal !important;
}

.inner .header-top em,
.inner .header-top span {
    line-height: 1.4
}

.inner .header-top em {
    background-color: #fff;
    border: 2px solid #cba8b5;
    border-radius: 50%;
    font-size: 10px;
    line-height: 16px;
    text-align: center;
    overflow: hidden;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 2px;
    right: 2px;
    bottom: auto;
    left: auto
}

@media screen and (min-width:768px) {
    .inner .header-top em {
        font-size: 14px;
        line-height: 26px;
        position: static;
        width: 30px;
        height: 30px;
        margin: 0 2px
    }

    .inner .header-top span {
        font-size: 14px !important;
        position: static !important;
        width: auto !important;
    }
}

.inner .header-top span {
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    text-align: center;
    width: 100%;
    position: static;
    top: auto;
    right: 0;
    bottom: 4px;
    left: 0
}

.header-top .-cart {
    background-color: #cba8b5 !important;
}

/* ヘッダー　ロゴ */
/* @media screen and (min-width: 768px){
    .header-logo{
        max-width:100%!important;
    }
} */


/* フッター */
.footer_nav {
    background-color: #f7f6ec;
    padding: 50px 0 1px
}

.footer_contact {
    margin-bottom: 0 !important;
}

@media screen and (min-width:576px) {
    .footer_contact section {
        padding-bottom: 10px !important
    }
}

.footer_contact .footer_inner {
    background-color: #fff;
    position: relative;
    height: 100%;
    padding: 25px 10px 10px
}

@media screen and (min-width:768px) {
    .footer_contact .footer_inner {
        padding: 30px 20px 20px
    }
}

.footer_contact .footer_inner h3 {
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    -webkit-transform: translateY(50%);
    transform: translateY(50%);
    position: absolute;
    top: auto;
    right: 0;
    bottom: 100%;
    left: 0
}

.footer_contact .footer_inner img {
    max-width: 30px;
    margin-right: 5px
}

@media screen and (min-width:768px) {
    .footer_contact .footer_inner img {
        max-width: 40px;
        margin-right: 10px
    }
}

.footer_contact .footer_tel {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 auto 5px;
    padding-top: 5px
}

@media screen and (min-width:768px) {
    .footer_contact .footer_tel {
        padding-top: 6px
    }
}

.footer_contact .footer_tel span {
    color: #cba8b5;
    font-size: 40px;
    display: block
}

@media screen and (min-width:576px) {
    .footer_contact .footer_tel span {
        font-size: 34px
    }
}

@media screen and (min-width:768px) {
    .footer_contact .footer_tel span {
        font-size: 40px
    }
}

.footer_contact .footer_mail {
    background-color: #cba8b5;
    border-radius: 5px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-width: 280px;
    margin: 0 auto 5px;
    padding: 15px 10px
}

@media screen and (min-width:576px) {
    .footer_contact .footer_mail {
        padding: 10px
    }
}

@media screen and (min-width:768px) {
    .footer_contact .footer_mail {
        max-width: 280px
    }
}

.footer_contact .footer_mail span {
    color: #fff;
    font-weight: 700
}

.footer_contact .footer_text {
    font-size: 10px;
    text-align: center
}

@media screen and (min-width:768px) {
    .footer_contact .footer_text {
        font-size: 12px !important
    }
}

.footer_sns a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 10px
}

@media screen and (min-width:768px) {
    .footer_sns img {
        margin-right: 10px
    }
}

.footer_sns .footer_title {
    display: none
}

@media screen and (min-width:768px) {
    .footer_sns .footer_title {
        color: #cba8b5;
        display: block;
        font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
        font-size: 16px;
        font-weight: 700
    }
}

.footer_sns .footer_text {
    display: none
}

@media screen and (min-width:992px) {
    .footer_sns .footer_text {
        display: block;
        margin-left: 10px
    }
}

.footer_sns {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 50px !important;
    margin-left: -10px;
    margin-right: -10px;
}

@media screen and (min-width: 768px) {
    .footer_sns {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

@media screen and (min-width: 768px) {
    .sp {
        display: none;
    }
}

@media screen and (min-width:576px) {
    .flex_item-sm-6 {
        -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 50%;
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
}

@media screen and (min-width:480px) {
    .flex_item-xs-4 {
        -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 33.3333333333% !important;
        flex: 0 0 33.3333333333% !important;
        max-width: 33.3333333333% !important;
    }
}

.footer_sitemap h3 {
    font-size: 14px !important;
    font-weight: 700 !important;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    margin-bottom: 5px
}

.footer_sitemap a {
    font-size: 12px !important;
    line-height: 1.4 !important;
    padding: 5px 0
}

.flex_item-6 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
}

@media screen and (min-width:768px) {
    .flex_item-md-2 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 16.6666666667%;
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667% !important
    }
}

.flex_item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}



.footer_bar {
    background-color: #535050;
    padding: 20px 0
}

.footer_bar .footer_copyrights {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-bottom: 50px;
}

@media screen and (min-width:576px) {
    .footer_bar .footer_copyrights {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding-bottom: 0
    }
}

.footer_bar small {
    color: #fff;
    font-size: 14px;
    text-align: center;
    width: 100%;
    margin-bottom: 10px
}

@media screen and (min-width:576px) {
    .footer_bar small {
        width: auto;
        margin-bottom: 0
    }
}

.footer_bar .footer_copyrights {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media screen and (min-width:576px) {
    .footer_bar .footer_copyrights {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

#footer_totop {
    opacity: 0;
    display: none;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955) 0s;
    transition: all .3s cubic-bezier(.455, .03, .515, .955) 0s
}

@media screen and (min-width:768px) {
    #footer_totop {
        background-color: #cba8b5;
        border: none;
        display: block;
        width: 56px;
        height: 56px;
        z-index: 997;
        position: fixed;
        top: auto;
        right: 40px;
        bottom: 40px;
        left: auto
    }
}

#footer_totop::before {
    border-top-color: #fff;
    border-left-color: #fff
}

#footer_totop.active {
    opacity: 1
}

.footer_banner ul {
    display: flex;
    margin: auto;
    justify-content: center;
}

.footer_banner ul li {
    margin: 0.5%;
}

.footer_banner img {
    max-width: none;
    width: 100%
}

.headline {
    color: #535050 !important;
    border-bottom: solid 1px !important;
}

.btn-footerchild,
.footer-subnav .link {
    color: #535050 !important
}

.e_snsdiv a {
    color: #cba8b5 !important;
}

.footer-site {
    background-color: #f7f6ec !important;
    padding-bottom: 0 !important;
}

#footer-site {
    color: #535050;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
}

.arrow-up::before {
    border-top-color: #535050;
    border-left-color: #535050;
    top: 20%
}

[class*=" arrow-"],
[class^=arrow-] {
    border: 1px solid #535050;
    border-radius: 50%;
    display: block;
    overflow: hidden;
    position: relative;
    width: 32px;
    height: 32px
}

[class*=" arrow-"]::before,
[class^=arrow-]::before {
    border: 1px solid transparent;
    content: "";
    display: inline-block;
    width: 40%;
    height: 40%;
    margin: auto;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.arrow-up::before {
    border-top-color: #535050;
    border-left-color: #535050;
    top: 20%
}

/* フッター　スマホハンバーガーメニュー */
.modal_submenu {
    /* display: none; */
    background-color: rgba(247, 246, 236, .9);
    overflow-y: scroll;
    z-index: 999;
    padding: 20px 20px 1px;
    height: 100vh;
    /* position: fixed; */
    /* top: 70px;
    right: 0;
    bottom: 0;
    left: 0 */
}

@media screen and (min-width:768px) {
    .modal_submenu {
        background-color: transparent;
        display: block;
        overflow-y: inherit;
        position: static;
        padding: 0 0 30px
    }
}

.modal_submenu .header_category {
    margin-bottom: 10px;
    margin-left: -5px;
    margin-right: -5px
}

@media screen and (min-width:768px) {
    .modal_submenu .header_category {
        border-left: 1px solid #e1e0e0;
        border-right: 1px solid #e1e0e0;
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0
    }
}

.modal_submenu .header_category li {
    width: 50%;
    padding: 0 5px 10px
}

@media screen and (min-width:768px) {
    .modal_submenu .header_category li {
        border-left: 1px solid #e1e0e0;
        border-right: 1px solid #e1e0e0;
        width: 25%;
        padding: 0
    }
}

.modal_submenu .header_category a {
    display: block;
    background-color: #fff;
    text-align: center;
    padding: 20px 10px
}

@media screen and (min-width:768px) {
    .modal_submenu .header_category a {
        padding: 5px
    }
}

.modal_submenu .header_category img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto 10px
}

.modal_submenu .header_category span {
    display: block
}

.modal_submenu .header_other {
    border-top: 1px solid #d8d8d8;
    margin-bottom: 20px
}

.modal_submenu .header_other li {
    border-bottom: 1px solid #d8d8d8
}

.modal_submenu .header_other a {
    display: block;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    position: relative;
    padding: 20px 0;
    padding-right: 32px
}

.modal_submenu .header_other .arrow-right {
    width: 22px;
    height: 22px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    right: 0;
    bottom: auto;
    left: auto
}

.modal_submenu .header_contact section {
    margin-bottom: 20px
}

.modal_submenu .header_contact h3 {
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 10px
}

.modal_submenu .header_contact img {
    max-width: 30px;
    margin-right: 5px
}

.modal_submenu .header_tel {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.modal_submenu .header_tel span {
    color: #cba8b5;
    font-size: 40px;
    display: block
}

.modal_submenu .header_mail {
    background-color: #cba8b5;
    border-radius: 5px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-width: 280px;
    margin: 0 auto 5px;
    padding: 15px 10px
}

.modal_submenu .header_mail span {
    color: #fff;
    font-weight: 700
}

.modal_submenu .header_text {
    font-size: 12px;
    text-align: center
}

/* パンくずリスト */
.breadcrumb-nav {
    margin-bottom: 30px !important;
}

/* マイページ　定期文言 */
.tc-red {
    color: #941100 !important
}

.center {
    text-align: center !important
}

.mb30 {
    margin-bottom: 30px !important
}

.ib {
    display: inline-block !important
}

.page-contents.-original .mobilemenu-content .header-title {
    background: #cba8b5;
}

/*　マイページ　ボタンレイアウト　*/
.mypage_buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: -20px;
    margin-right: -20px;
    padding-bottom: 30px
}

.mypage_buttons a {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: 320px;
    flex-basis: 320px;
    max-width: 320px;
    /* margin-bottom:20px; */
    border-radius: 160px;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-align: center;
    padding: 20px 0
}

.mypage_buttons .mypage_graybtn,
.page-contents.-original ._btnBase._gray a,
.page-contents.-original ._btnBase._gray button {
    width: 100%;
    background-color: #fff;
    border: 1px solid #535050;
    color: #535050
}

.mypage_buttons .mypage_pinkbtn,
.page-contents.-original ._btnBase._pink a,
.page-contents.-original ._btnBase._pink button {
    width: 100%;
    background-color: #cba8b5;
    border: 1px solid #cba8b5;
    color: #fff !important;
}

.btn_layout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: -20px;
    margin-right: -20px;
    padding-bottom: 30px;
    margin-bottom: 0 !important;
}

.graybtn {
    background-color: #fff !important;
    border: 1px solid #535050 !important;
    color: #535050 !important;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: 320px;
    flex-basis: 320px;
    max-width: 320px !important;
    border-radius: 160px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-align: center;
    padding: 20px 0 !important;
}

.pinkbtn {
    background-color: #cba8b5 !important;
    border: 1px solid #cba8b5 !important;
    color: #fff !important;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: 320px;
    flex-basis: 320px;
    max-width: 320px;
    border-radius: 160px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-align: center;
    padding: 20px 0 !important;

}

.redbtn {
    background-color: #fff !important;
    border: 1px solid #E32B3E !important;
    color: #E32B3E !important;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: 320px;
    flex-basis: 320px;
    max-width: 320px !important;
    border-radius: 160px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-align: center;
    padding: 20px 0 !important;
}

.small-graybtn {
    background-color: #fff !important;
    border: 1px solid #535050 !important;
    color: #535050 !important;
    flex-shrink: 0;
    border-radius: 160px !important;
    text-align: center;
}

.small-pinkbtn {
    background-color: #cba8b5 !important;
    border: 1px solid #cba8b5;
    color: #fff !important;
    flex-shrink: 0;
    border-radius: 160px !important;
    text-align: center;
}


/* マイページ　はじめてのお客様文言 */
.p-member-login__new-text {
    font-size: 12px !important;
}

/* カート　お届け先設定 文言 */
.bold {
    font-weight: 700 !important;
}

/* カート　お届け日時・支払方法 文言 */
.textindent {
    text-indent: -1em !important;
    padding-left: 1em !important;
}

.mb50 {
    margin-bottom: 50px !important
}

/* カート　注文完了文言 */
.cart_iblist {
    text-align: center
}

.cart_iblist ul {
    background-color: #f7f7f7;
    font-weight: 700;
    list-style: disc;
    display: inline-block;
    padding: 20px;
    padding-left: calc(20px + 1em);
    list-style-type: disc
}

.cart_iblist li {
    line-height: 1.6;
    text-align: left
}

.cart_iblist li:not(:last-child) {
    margin-bottom: 10px
}


/* 商品詳細　スクロールメニュー */
.item_nav {
    display: none
}

@media screen and (min-width:768px) {
    .item_nav {
        background-color: #f0eced;
        border-radius: 5px 0 0 5px;
        display: block;
        position: fixed;
        top: 200px;
        right: 0;
        z-index: 998;
        width: 200px;
        padding: 20px
    }

    .item_nav h3 {
        color: #9b5770 !important;
        font-weight: 700 !important;
        /* font-size:16px!important; ない方がいい？*/
        text-align: center;
        margin-bottom: 20px;
        line-height: 1 !important;
    }

    .item_nav li:not(:last-child) {
        margin-bottom: 5px
    }

    .item_nav a {
        display: block;
        color: #535050 !important;
        line-height: 1 !important;
        background-color: #fff;
        border-radius: 5px;
        font-weight: 700 !important;
        text-align: center;
        position: relative;
        padding: 15px
    }

    .item_nav i {
        display: block;
        position: absolute;
        top: 50%;
        left: 5px;
        width: 32px;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

/* 商品詳細　特徴 */
.i_point {
    padding: 0.5em 1em;
    text-align: center;
    margin: 1em 0;
    color: #9b5770;
    background: #f7f6ec;
    border: solid 2px #9b5770;
    border-radius: 10px;
}

#echtml {
    position: relative;
    z-index: 1;
    padding: 50px 0
}

#echtml img {
    margin: 0 auto
}

@media screen and (min-width:576px) {

    .i_point,
    .echtml_desc {
        max-width: 580px !important;
    }
}

@media screen and (min-width:768px) {

    .i_point,
    .echtml_desc {
        max-width: 760px !important;
    }
}

@media screen and (min-width:992px) {

    .i_point,
    .echtml_desc {
        max-width: 1000px !important;
    }
}

@media screen and (min-width:1200px) {

    .i_point,
    .echtml_desc {
        max-width: 1040px !important;
    }
}

.echtml_desc:not(:last-child) {
    margin-bottom: 50px
}

@media screen and (min-width:768px) {
    .echtml_desc>li {
        margin-left: -20px;
        margin-right: -20px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap
    }

    .echtml_desc>li:nth-child(odd) h3::after {
        left: 0 !important;
        right: -20% !important
    }

    .echtml_desc>li>div,
    .echtml_desc>li>figure {
        padding-left: 20px;
        padding-right: 20px;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto
    }

    .echtml_desc>li>figure {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 54.80769%;
        flex: 0 0 54.80769%;
        max-width: 54.80769%;
        margin: 0;
    }

    .echtml_desc>li>div {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 45.19231%;
        flex: 0 0 45.19231%;
        max-width: 45.19231%
    }

    .echtml_desc h3 {
        font-size: 30px !important
    }

    .echtml_desc h3::after {
        left: -20% !important
    }

    .echtml_desc p {
        font-size: 16px !important
    }
}

.echtml_desc>li:not(:last-child) {
    margin-bottom: 50px
}

@media screen and (min-width:576px) {
    .echtml_desc>li:nth-child(odd) {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }
}

.echtml_desc h3 {
    color: #9b5770 !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center;
    position: relative;
    margin-bottom: 20px;
    padding: 20px 0 10px;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif !important;
}

@media screen and (max-width: 767px) {
    .echtml_desc h3 {
        font-size: 20px !important;
    }
}

.echtml_desc h3::after {
    background-color: #9b5770;
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px
}

.echtml_desc p {
    font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
    line-height: 2 !important
}

.page-contents figure {
    margin: 0;
}

/* 商品詳細　原材料・アレルギー物質 */
.item-material dd {
    flex-flow: column;
    align-items: flex-start !important;
}

/* 商品詳細　説明 */
.itemrecommend {
    text-align: center;
    max-width: 358px;
    margin: 30px auto 30px;
}

.itemrecommend ul {
    display: inline-block;
}

.itemrecommend li:not(:last-child) {
    margin-bottom: 10px;
}

.itemrecommend li {
    background-image: url(/upload_file/img/images/item/check.png);
    background-position: left top;
    background-size: 23px;
    color: #941100;
    font-size: 15px;
    text-align: left;
    line-height: 1.2;
    min-height: 23px;
    padding-left: 30px;
}

/* 商品詳細　こつこつ定期 */
#price {
    font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    padding-bottom: 50px;
    line-height: 1 !important;
}

#price #goods_regular_interval {
    display: none
}

#item #goods_regular_interval {
    display: none
}

#price #goods_regular_interval {
    display: none
}

.price_cart {
    margin-bottom: 20px
}

.price_cart .price_cart-title {
    position: relative;
    z-index: 1;
    padding-bottom: 5px;
    padding-left: 10px
}

@media screen and (min-width:768px) {
    .price_cart .price_cart-title {
        padding-left: 20px
    }
}

.price_cart .price_cart-title i {
    display: block;
    position: absolute;
    top: 0;
    left: 10px;
    width: 48px
}

@media screen and (min-width:768px) {
    .price_cart .price_cart-title i {
        left: 20px;
        width: 60px
    }
}

.price_cart .price_cart-title h2 {
    font-size: 14px;
    font-weight: 700;
    padding-left: 58px
}

@media screen and (min-width:768px) {
    .price_cart .price_cart-title h2 {
        font-size: 16px;
        padding-left: 80px
    }
}

.price_cart .price_cart-title span {
    font-size: 16px;
    display: block;
    padding-top: 5px
}

@media screen and (min-width:768px) {
    .price_cart .price_cart-title span {
        font-size: 20px
    }
}

.price_cart .price_cart-title em {
    font-size: 24px
}

@media screen and (min-width:768px) {
    .price_cart .price_cart-title em {
        font-size: 34px
    }
}

.price_cart .price_cart-info {
    border-radius: 5px;
    padding: 10px
}

@media screen and (min-width:768px) {
    .price_cart .price_cart-info {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 20px 10px
    }
}

@media screen and (min-width:992px) {
    .price_cart .price_cart-info {
        padding: 20px
    }
}

.price_cart .price_cart-down {
    background-color: #fff;
    border-radius: 5px;
    padding: 10px 0
}

@media screen and (min-width:768px) {
    .price_cart .price_cart-down {
        width: 32%
    }
}

.price_cart .price_cart-down p {
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 5px
}

@media screen and (min-width:576px) {
    .price_cart .price_cart-down p {
        font-size: 14px
    }
}

@media screen and (min-width:992px) {
    .price_cart .price_cart-down p {
        font-size: 16px
    }
}

.price_cart .price_cart-down ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.price_cart .price_cart-down li {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -.02em;
    text-align: center;
    white-space: nowrap;
    position: relative
}

@media screen and (min-width:576px) {
    .price_cart .price_cart-down li {
        font-size: 16px
    }
}

@media screen and (min-width:992px) {
    .price_cart .price_cart-down li {
        font-size: 20px
    }
}

.price_cart .price_cart-down li:not(:last-child)::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg)
}

.price_cart .price_cart-down li:first-child {
    padding-right: 5px
}

.price_cart .price_cart-down li:nth-child(2) {
    padding-left: 5px
}

.price_cart .price_cart-down em {
    font-size: 20px
}

@media screen and (min-width:576px) {
    .price_cart .price_cart-down em {
        font-size: 20px
    }
}

@media screen and (min-width:992px) {
    .price_cart .price_cart-down em {
        font-size: 24px
    }
}

.price_cart .price_cart-per em {
    text-align: right;
    display: inline-block
}

.price_cart .price_cart-discount {
    padding: 20px 0
}

@media screen and (min-width:768px) {
    .price_cart .price_cart-discount {
        width: 50%;
        padding: 0
    }
}

.price_cart .price_cart-discount ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (min-width:768px) {
    .price_cart .price_cart-discount ul {
        padding: 0 5px
    }
}

.price_cart .price_cart-discount li {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -.02em;
    text-align: center;
    white-space: nowrap;
    position: relative;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
}

@media screen and (min-width:576px) {
    .price_cart .price_cart-discount li {
        font-size: 16px
    }
}

@media screen and (min-width:992px) {
    .price_cart .price_cart-discount li {
        font-size: 20px
    }
}

.price_cart .price_cart-discount li:not(:last-child)::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg)
}

.price_cart .price_cart-discount li:first-child {
    padding-right: 7px
}

.price_cart .price_cart-discount li:nth-child(2) {
    padding-left: 7px
}

.price_cart .price_cart-discount p {
    font-size: 12px;
    text-align: center;
    margin-bottom: 5px
}

@media screen and (min-width:576px) {
    .price_cart .price_cart-discount p {
        font-size: 14px
    }
}

@media screen and (min-width:992px) {
    .price_cart .price_cart-discount p {
        font-size: 16px
    }
}

.price_cart .price_cart-discount em {
    font-size: 20px
}

@media screen and (min-width:576px) {
    .price_cart .price_cart-discount em {
        font-size: 24px
    }
}

@media screen and (min-width:992px) {
    .price_cart .price_cart-discount em {
        font-size: 34px
    }
}

.price_cart .price_cart-button {
    border-radius: 5px;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-align: center;
    line-height: 1.4 !important;
    position: relative;
    padding: 15px
}

@media screen and (min-width:768px) {
    .price_cart .price_cart-button {
        width: 18%;
        padding: 15px 15px 15px 50px
    }
}

@media screen and (min-width:992px) {
    .price_cart .price_cart-button {
        padding-left: 65px
    }
}

.price_cart .price_cart-button i {
    display: block;
    position: absolute;
    top: 50%;
    left: 5px;
    width: 48px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media screen and (min-width:768px) {
    .price_cart .price_cart-button i {
        left: -5px
    }
}

@media screen and (min-width:992px) {
    .price_cart .price_cart-button i {
        left: 5px;
        width: 60px
    }
}

.price_cart .price_cart-button br {
    display: none
}

@media screen and (min-width:768px) {
    .price_cart .price_cart-button br {
        display: block
    }
}

.price_cart0 {
    margin-bottom: 0
}

.price_cart0 .price_cart-title em {
    color: #af8028
}

.price_cart0 .price_cart-info {
    background-color: #fff;
    border: 2px solid #efeed9
}

.price_cart0 .price_cart-down {
    background-color: #f7f6ec
}

@media screen and (min-width:768px) {
    .price_cart0 .price_cart-down {
        padding: 15px 0
    }
}

.price_cart0 .price_cart-discount li:not(:last-child)::after,
.price_cart0 .price_cart-down li:not(:last-child)::after {
    background-color: #af8028
}

.price_cart0 .price_cart-discount em,
.price_cart0 .price_cart-discount span,
.price_cart0 .price_cart-down em,
.price_cart0 .price_cart-down span {
    color: #af8028
}

.price_cart0 .price_cart-discount em,
.price_cart0 .price_cart-down em {
    font-weight: 500
}

.price_cart0 .price_cart-button {
    background-color: #d2be8f
}

.price_cart1 .price_cart-title em,
.price_cart2 .price_cart-title em {
    color: #6b7f3c
}

.price_cart1 .price_cart-info,
.price_cart2 .price_cart-info {
    background-color: #d6e1d9;
    border: 2px solid #d6e1d9
}

.price_cart1 .price_cart-discount li:not(:last-child)::after,
.price_cart1 .price_cart-down li:not(:last-child)::after,
.price_cart2 .price_cart-discount li:not(:last-child)::after,
.price_cart2 .price_cart-down li:not(:last-child)::after {
    background-color: #6b7f3c
}

.price_cart1 .price_cart-discount em,
.price_cart1 .price_cart-discount span,
.price_cart1 .price_cart-down em,
.price_cart1 .price_cart-down span,
.price_cart2 .price_cart-discount em,
.price_cart2 .price_cart-discount span,
.price_cart2 .price_cart-down em,
.price_cart2 .price_cart-down span {
    color: #6b7f3c
}

.price_cart1 .price_cart-button,
.price_cart2 .price_cart-button {
    background-color: #a7bb92
}

.price_cart3 .price_cart-title em {
    color: #9b5770
}

.price_cart3 .price_cart-info {
    background-color: #f0eced;
    border: 2px solid #f0eced
}

.price_cart3 .price_cart-discount li:not(:last-child)::after,
.price_cart3 .price_cart-down li:not(:last-child)::after {
    background-color: #9b5770
}

.price_cart3 .price_cart-discount em,
.price_cart3 .price_cart-discount span,
.price_cart3 .price_cart-down em,
.price_cart3 .price_cart-down span {
    color: #9b5770
}

.price_cart3 .price_cart-button {
    background-color: #cba8b5
}

.price_goodnum,
.price_regularprice {
    display: none
}

em {
    color: #000;
    font-style: normal;
    font-weight: 700;
}

*,
::after,
::before {
    background-repeat: no-repeat;
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
    line-height: 1;
}

/* 商品詳細　レビュー */
.page-contents.-original .section-review .item-review__write,
.page-contents.-original .btn-like.-active,
.page-contents.-original .btn-like:hover {
    background: #cba8b5;
    border: 1px solid #cba8b5
}

/* 商品カテゴリ上部画像 */
.bgtitle {
    position: relative;
    height: 150px;
    width: 100%;
    background-position: center;
    background-size: cover;
    display: block !important;
}

@media screen and (min-width:768px) {
    .bgtitle {
        height: 250px
    }
}

.bgtitle h1 {
    font-family: YuMincho,"Yu Mincho","Hiragino Mincho ProN",serif !important;
    background-color: rgba(0, 0, 0, .5);
    text-align: center;
    color: #fff !important;
    font-size: 24px !important;
    padding: 20px;
    position: absolute;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0
}

.products_header {
    font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    margin-bottom: 30px;
    width: 100%;
}

.products_header h2 {
    border-bottom: 1px solid;
    font-size: 24px !important;
    font-weight: 700 !important;
    text-align: center;
    margin-bottom: 20px;
    padding-bottom: 20px
}

.products_header p {
    text-align: center
}

.products_header p span {
    line-height: inherit;
    display: inline-block
}

.tc-yellow {
    color: #d2be8f !important
}

.tc-blue {
    color: #aabcc5 !important
}

.tc-purple {
    color: #c5bdca !important
}

ruby>rt {
    display: block;
    font-size: 50%;
    text-align: start;
}

.column-category {
    width: 100%;
    text-align: center;
    justify-content: center;
}

/*ご利用ガイド*/
#userguide {
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
}

.userguide_toc {
    margin-bottom: 40px;
    margin-left: -5px;
    margin-right: -5px;
}

@media screen and (min-width:992px) {
    .userguide_toc {
        margin-bottom: 30px !important;
        margin-left: -10px;
        margin-right: -10px
    }
}

.userguide_toc li {
    width: 50%;
    padding-bottom: 10px;
    padding-left: 5px;
    padding-right: 5px
}

@media screen and (min-width:576px) {
    .userguide_toc li {
        width: 33.33333%
    }
}

@media screen and (min-width:768px) {
    .userguide_toc li {
        width: 20%
    }
}

@media screen and (min-width:992px) {
    .userguide_toc li {
        padding-bottom: 20px;
        padding-left: 10px;
        padding-right: 10px
    }
}

.userguide_toc a {
    border: 1px solid #cba8b5;
    background-color: #f7f7f7;
    font-weight: 700 !important;
    line-height: 1.6 !important;
    text-align: center;
    display: block;
    height: 100%;
    padding: 10px 0
}

.userguide_toc a.current,
.userguide_toc a:hover {
    background-color: #cba8b5;
    color: #fff
}

.userguide_toc a.current .userguide_icon1,
.userguide_toc a:hover .userguide_icon1 {
    background-image: url(/upload_file/img/images/guide/icon01_w.png)
}

.userguide_toc a.current .userguide_icon2,
.userguide_toc a:hover .userguide_icon2 {
    background-image: url(/upload_file/img/images/guide/icon02_w.png)
}

.userguide_toc a.current .userguide_icon3,
.userguide_toc a:hover .userguide_icon3 {
    background-image: url(/upload_file/img/images/guide/icon03_w.png)
}

.userguide_toc a.current .userguide_icon4,
.userguide_toc a:hover .userguide_icon4 {
    background-image: url(/upload_file/img/images/guide/icon04_w.png)
}

.userguide_toc a.current .userguide_icon5,
.userguide_toc a:hover .userguide_icon5 {
    background-image: url(/upload_file/img/images/guide/icon05_w.png)
}

.userguide_toc a.current .userguide_icon6,
.userguide_toc a:hover .userguide_icon6 {
    background-image: url(/upload_file/img/images/guide/icon06_w.png)
}

.userguide_toc a.current .userguide_icon7,
.userguide_toc a:hover .userguide_icon7 {
    background-image: url(/upload_file/img/images/guide/icon07_w.png)
}

.userguide_toc a.current .userguide_icon8,
.userguide_toc a:hover .userguide_icon8 {
    background-image: url(/upload_file/img/images/guide/icon08_w.png)
}

.userguide_toc a.current .userguide_icon9,
.userguide_toc a:hover .userguide_icon9 {
    background-image: url(/upload_file/img/images/guide/icon09_w.png)
}

.userguide_toc a.current .userguide_icon10,
.userguide_toc a:hover .userguide_icon10 {
    background-image: url(/upload_file/img/images/guide/icon10_w.png)
}

.userguide_toc i {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    max-width: 99px;
    width: 100%;
    margin: 0 auto 10px;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955) 0s;
    transition: all .3s cubic-bezier(.455, .03, .515, .955) 0s
}

.userguide_toc i::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 68.68687%
}

.userguide_toc .userguide_icon1 {
    background-image: url(/upload_file/img/images/guide/icon01.png)
}

.userguide_toc .userguide_icon2 {
    background-image: url(/upload_file/img/images/guide/icon02.png)
}

.userguide_toc .userguide_icon3 {
    background-image: url(/upload_file/img/images/guide/icon03.png)
}

.userguide_toc .userguide_icon4 {
    background-image: url(/upload_file/img/images/guide/icon04.png)
}

.userguide_toc .userguide_icon5 {
    background-image: url(/upload_file/img/images/guide/icon05.png)
}

.userguide_toc .userguide_icon6 {
    background-image: url(/upload_file/img/images/guide/icon06.png)
}

.userguide_toc .userguide_icon7 {
    background-image: url(/upload_file/img/images/guide/icon07.png)
}

.userguide_toc .userguide_icon8 {
    background-image: url(/upload_file/img/images/guide/icon08.png)
}

.userguide_toc .userguide_icon9 {
    background-image: url(/upload_file/img/images/guide/icon09.png)
}

.userguide_toc .userguide_icon10 {
    background-image: url(/upload_file/img/images/guide/icon10.png)
}

.userguide_contents {
    font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif
}

.userguide_contents h2 {
    background-color: #7f7f7f;
    color: #fff !important;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif !important;
    font-size: 34px !important;
    line-height: 1.2 !important;
    text-align: center;
    margin-bottom: 50px;
    padding: 20px
}

.userguide_contents h3 {
    background-color: #f7f7f7;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.6 !important;
    text-align: center;
    margin-bottom: 20px;
    padding: 20px
}

.userguide_contents h4 {
    color: #9b5770 !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    margin-bottom: 20px
}

.userguide_contents h5 {
    color: #9b5770 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
}

.userguide_contents h6 {
    color: #000;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 10px
}

.userguide_contents p {
    font-size: 16px !important;
    line-height: 1.6 !important;
}

.userguide_contents p:not(:last-child) {
    margin-bottom: 20px
}

.userguide_contents p a {
    color: #2036fa !important;
    display: inline-block;
    text-decoration: underline
}

.userguide_contents .userguide_list {
    font-size: 16px;
    list-style: disc;
    padding-left: 1.2rem
}

.userguide_contents .userguide_list:not(:last-child) {
    margin-bottom: 20px;
    list-style: disc;
}

.userguide_contents .userguide_list li {
    line-height: 1.6
}

.userguide_contents .userguide_list li:not(:last-child) {
    margin-bottom: 5px
}

.userguide_contents .userguide_link {
    margin-left: 10px;
    margin-right: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap
}

@media screen and (min-width:992px) {
    .userguide_contents .userguide_link {
        margin-left: 15px;
        margin-right: 15px
    }
}

.userguide_contents .userguide_link a {
    border-bottom: 2px solid #d8d8d8;
    font-weight: 700;
    line-height: 1.6;
    position: relative;
    padding: 10px 0;
    padding-left: 25px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    display: block;
}

.userguide_contents .userguide_inner {
    background-color: #f7f7f7;
    height: 100%;
    padding: 10px
}

@media screen and (min-width:768px) {
    .userguide_contents .userguide_inner {
        padding: 20px
    }
}

.userguide_contents .userguide_inlineimg img {
    display: inline-block
}

.userguide_contents .userguide_border img {
    border: 1px solid #c3c2c2
}

.userguide_contents .userguide_address {
    font-size: 5vw;
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
    display: inline-block
}

@media screen and (min-width:480px) {
    .userguide_contents .userguide_address {
        font-size: 3.2vw
    }
}

@media screen and (min-width:768px) {
    .userguide_contents .userguide_address {
        font-size: min(2.2vw, 24px)
    }
}

.userguide_contents .userguide_mail a {
    background-color: #cba8b5;
    border-radius: 5px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 16px;
    max-width: 280px;
    margin: 0 auto 5px;
    padding: 15px 10px
}

@media screen and (min-width:576px) {
    .userguide_contents .userguide_mail a {
        padding: 10px
    }
}

@media screen and (min-width:768px) {
    .userguide_contents .userguide_mail a {
        max-width: 280px
    }
}

.userguide_contents .userguide_mail img {
    margin-right: 10px
}

.userguide_contents .userguide_mail span {
    color: #fff;
    font-weight: 700
}

.userguide_contents .userguide_link {
    margin-left: 10px;
    margin-right: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap
}

@media screen and (min-width:992px) {
    .userguide_contents .userguide_link {
        margin-left: 15px;
        margin-right: 15px
    }
}

.userguide_contents .userguide_link a::before {
    content: "→";
    display: block;
    position: absolute;
    top: 14px;
    right: auto;
    bottom: auto;
    left: 0
}

.flex-g30 {
    margin-bottom: 30px;
    margin-left: -10px;
    margin-right: -10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap
}

@media screen and (min-width:992px) {
    .flex-g30 {
        margin-bottom: 20px;
        margin-left: -15px;
        margin-right: -15px
    }
}

.flex-g30 [class*=" flex_item-"],
.flex-g30 [class^=flex_item-] {
    padding-bottom: 20px;
    padding-left: 10px;
    padding-right: 10px
}

@media screen and (min-width:992px) {

    .flex-g30 [class*=" flex_item-"],
    .flex-g30 [class^=flex_item-] {
        padding-bottom: 30px;
        padding-left: 15px;
        padding-right: 15px
    }
}

.flex_item-12 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
}

@media screen and (min-width:480px) {
    .flex_item-xs-6 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%
    }
}

@media screen and (min-width:768px) {
    .flex_item-md-4 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 33.3333333333% !important;
        flex: 0 0 33.3333333333% !important;
        max-width: 33.3333333333% !important
    }
}

@media screen and (min-width:576px) {
    .flex_item-sm-8 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 66.6666666667%;
        flex: 0 0 66.6666666667% !important;
        max-width: 66.6666666667% !important
    }
}

.guide h5::before {
    display: block !important;
    background: none !important;
}

.flex-g50 {
    margin-bottom: 30px;
    margin-left: -10px;
    margin-right: -10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap
}

@media screen and (min-width:768px) {
    .flex-g50 {
        margin-bottom: 20px;
        margin-left: -15px;
        margin-right: -15px
    }
}

@media screen and (min-width:992px) {
    .flex-g50 {
        margin-bottom: 0;
        margin-left: -25px;
        margin-right: -25px
    }
}

.flex-g50 [class*=" flex_item-"],
.flex-g50 [class^=flex_item-] {
    padding-bottom: 20px;
    padding-left: 10px;
    padding-right: 10px
}

@media screen and (min-width:768px) {

    .flex-g50 [class*=" flex_item-"],
    .flex-g50 [class^=flex_item-] {
        padding-bottom: 30px;
        padding-left: 15px;
        padding-right: 15px
    }
}

@media screen and (min-width:992px) {

    .flex-g50 [class*=" flex_item-"],
    .flex-g50 [class^=flex_item-] {
        padding-bottom: 50px;
        padding-left: 25px;
        padding-right: 25px
    }
}

.flex_item-12 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
}

@media screen and (min-width:576px) {
    .flex_item-sm-4 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 33.3333333333%;
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%
    }
}

.userguide_contents .userguide_inner {
    background-color: #f7f7f7;
    height: 100%;
    padding: 10px
}

@media screen and (min-width:768px) {
    .userguide_contents .userguide_inner {
        padding: 20px
    }
}

.userguide_contents h6 {
    color: #000;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.6 !important;
    margin-bottom: 10px !important
}

.title {
    text-align: center;
    margin-bottom: 40px;
}

.title h1,
.title h2 {
    font-size: 24px !important;
    line-height: 1.4 !important;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif !important;
}

.title span {
    font-size: 14px;
    color: #cba8b5;
    display: block;
    margin-bottom: 10px;
}

#guide {
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    padding-bottom: 1px;
}

#guide .flex {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 30px;
    margin-left: -10px;
    margin-right: -10px
}

@media screen and (min-width:768px) {
    #guide .flex {
        margin-bottom: 20px;
        margin-left: -15px;
        margin-right: -15px
    }
}

#guide .flex .flex_item {
    padding-bottom: 20px;
    padding-left: 10px;
    padding-right: 10px;
    max-width: 50%
}

@media screen and (min-width:768px) {
    #guide .flex .flex_item {
        max-width: 20%;
        padding-bottom: 30px;
        padding-left: 15px;
        padding-right: 15px
    }
}

#guide .flex .flex_item {
    padding-bottom: 20px;
    padding-left: 10px;
    padding-right: 10px;
    max-width: 50%
}

@media screen and (min-width:768px) {
    #guide .flex .flex_item {
        max-width: 20%;
        padding-bottom: 30px;
        padding-left: 15px;
        padding-right: 15px
    }
}

#guide .guide_link {
    position: relative;
    height: 100%;
    padding-bottom: 40px;
    display: block;
}

#guide .guide_image {
    margin-bottom: 10px;
}

#guide .guide_image img {
    margin: 0 auto;
    display: block;
    max-width: 100%;
    height: auto;
}

#guide .guide_title {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
    margin-bottom: 10px;
}

#guide .guide_excerpt,
#guide .guide_more {
    font-size: 12px;
    line-height: 1.6;
    text-align: justify;
}

#guide .guide_more {
    text-align: center;
    position: absolute;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
}

#guide .guide_more span {
    display: inline-block;
    margin-right: 10px;
}

#guide .guide_more .arrow-right {
    vertical-align: middle;
    display: inline-block;
    width: 22px;
    height: 22px;
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
}

.arrow-right::before {
    border-top-color: #535050;
    border-right-color: #535050;
    right: 20%;
}

.top_section {
    position: relative;
    padding: 50px 0;
}

/* 定期コース */
#teiki {
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
}

.teiki_intro {
    background-image: url(/upload_file/img/images/teiki/intro.png);
    background-position: center bottom;
    background-size: 160%;
    padding: 50px 20px
}

@media screen and (min-width:768px) {
    .teiki_intro {
        background-size: 1500px;
        min-height: 365px
    }
}

.teiki_intro h1 {
    color: #9b5770;
    font-size: 24px;
    font-weight: 600 !important;
    line-height: 1.2;
    text-align: center;
    margin-bottom: 30px
}

@media screen and (min-width:576px) {
    .teiki_intro h1 {
        font-size: 34px !important
    }
}

@media screen and (min-width:768px) {
    .teiki_intro h1 {
        margin-bottom: 50px
    }
}

.teiki_intro h1 span {
    color: #535050;
    font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: 14px;
    display: block;
    margin-bottom: 10px
}

@media screen and (min-width:576px) {
    .teiki_intro h1 span {
        font-size: 16px
    }
}

.teiki_intro dd,
.teiki_intro dt {
    font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    line-height: 1.6;
    text-align: center
}

.teiki_intro dd span,
.teiki_intro dt span {
    text-shadow: 0 0 16px #fff
}

.teiki_intro dt {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 30px
}

@media screen and (min-width:576px) {
    .teiki_intro dt {
        font-size: 20px
    }
}

@media screen and (min-width:768px) {
    .teiki_intro dt {
        margin-bottom: 50px
    }
}

.teiki_title {
    color: #9b5770 !important;
    font-size: 34px;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-align: center;
    margin-bottom: 30px !important
}

@media screen and (min-width:576px) {
    .teiki_title {
        font-size: 40px !important
    }
}

.teiki_title span {
    color: #535050;
    font-size: 20px;
    display: block;
    margin-bottom: 10px
}

@media screen and (min-width:576px) {
    .teiki_title span {
        font-size: 24px
    }
}

.teiki_title em {
    font-size: 34px;
    display: inline-block;
    margin: 0 3px
}

@media screen and (min-width:576px) {
    .teiki_title em {
        font-size: 40px
    }
}

.teiki_flex {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 30px;
    margin-left: -5px;
    margin-right: -5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap
}

@media screen and (min-width:992px) {
    .teiki_flex {
        margin-left: -10px;
        margin-right: -10px
    }
}

.teiki_flex [class*=" flex_item-"],
.teiki_flex [class^=flex_item-] {
    padding-bottom: 20px;
    padding-left: 5px;
    padding-right: 5px;
    margin: 0
}

@media screen and (min-width:992px) {

    .teiki_flex [class*=" flex_item-"],
    .teiki_flex [class^=flex_item-] {
        padding-left: 10px;
        padding-right: 10px
    }
}

.teiki_ribbon {
    background-color: #cba8b5;
    line-height: 1.4 !important;
    text-align: center;
    position: relative;
    height: 100px;
    margin-bottom: 30px !important
}

@media screen and (min-width:576px) {
    .teiki_ribbon {
        height: 70px
    }
}

.teiki_ribbon::after,
.teiki_ribbon::before {
    border-top: 50px solid transparent;
    border-bottom: 50px solid transparent;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
    width: 0;
    height: 0
}

@media screen and (min-width:576px) {

    .teiki_ribbon::after,
    .teiki_ribbon::before {
        border-top: 35px solid transparent;
        border-bottom: 35px solid transparent
    }
}

.teiki_ribbon::before {
    border-left-color: #fff;
    left: 0
}

.teiki_ribbon::after {
    border-right-color: #fff;
    right: 0
}

.teiki_ribbon-span {
    color: #fff;
    font-size: 24px;
    font-weight: 600;
    display: block;
    position: absolute;
    top: 50%;
    width: 100%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media screen and (min-width:576px) {
    .teiki_ribbon-span {
        font-size: 34px
    }
}

.teiki_ribbon-span span {
    font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: 16px;
    display: block
}

@media screen and (min-width:576px) {
    .teiki_ribbon-span span {
        font-size: 20px;
        display: inline-block;
        -webkit-transform: translateY(-14%);
        transform: translateY(-14%)
    }
}

@media screen and (min-width:768px) {
    .teiki_ribbon-span span {
        margin: 0 5px
    }
}

.teiki_bubble {
    font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
    font-size: 16px;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    position: relative;
    padding: 15px 0 5px 80px
}

@media screen and (min-width:576px) {
    .teiki_bubble {
        font-size: 20px !important
    }
}

.teiki_bubble i {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 1;
    width: 70px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.teiki_example {
    background-color: #f7f7f7;
    padding: 20px 10px
}

@media screen and (min-width:992px) {
    .teiki_example {
        padding: 40px
    }
}

.teiki_example p {
    font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
    line-height: 1.6 !important;
}

@media screen and (min-width:992px) {
    .flex_item-lg-4 {
        -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 33.3333333333%;
        flex: 0 0 33.3333333333% !important;
        max-width: 33.3333333333% !important
    }
}

.teiki_ribbon-span {
    color: #fff;
    font-size: 24px;
    font-weight: 600;
    display: block;
    position: absolute;
    top: 50%;
    width: 100%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media screen and (min-width:576px) {
    .teiki_ribbon-span {
        font-size: 34px
    }
}

.teiki_ribbon-span span {
    font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: 16px;
    display: block
}

@media screen and (min-width:576px) {
    .teiki_ribbon-span span {
        font-size: 20px;
        display: inline-block;
        -webkit-transform: translateY(-14%);
        transform: translateY(-14%)
    }
}

@media screen and (min-width:768px) {
    .teiki_ribbon-span span {
        margin: 0 5px
    }
}

.mb20 {
    margin-bottom: 20px !important;
}

.fsxl {
    font-size: 20px !important;
}

#teiki img {
    margin: 0 auto;
    display: block;
    max-width: 100%;
    height: auto;
}

/* よくあるご質問 */
#faq .faq_tab {
    margin-bottom: 40px;
    margin-left: -5px;
    margin-right: -5px
}

@media screen and (min-width:768px) {
    #faq .faq_tab {
        margin-bottom: 30px
    }
}

#faq .faq_tab li {
    padding: 0 5px 10px
}

@media screen and (min-width:768px) {
    #faq .faq_tab li {
        padding: 0 10px 20px
    }
}

#faq .faq_tab a {
    line-height: 1.4;
    max-width: 100%;
    height: 100%
}

.flex_item-6 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
}

#faq .faq_section {
    padding-bottom: 30px
}

#faq .faq_section h2 {
    color: #cba8b5;
    font-size: 24px;
    text-align: center;
    margin-bottom: 20px;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
}

#faq .faq_dd,
#faq .faq_dt {
    font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    line-height: 1.6;
    margin-bottom: 20px
}

@media screen and (min-width: 768px) {
    #faq .faq_dd {
        padding: 0 20px 0 50px !important;
        font-size: 13px;
    }
}

#faq .faq_dd {
    display: none;
    padding: 0 10px;
}

.textlink {
    color: #2036fa !important;
    display: inline-block !important;
    text-decoration: underline !important;
    text-indent: 0 !important;
}

#faq .faq_dt {
    background-color: #f7f7f7;
    font-size: 16px;
    font-weight: 700;
    position: relative;
    padding: 10px 50px 10px 40px
}

@media screen and (min-width:768px) {
    #faq .faq_dt {
        padding: 20px 60px 20px 50px
    }
}

#faq .faq_dt::before {
    content: "Q";
    color: #cba8b5;
    font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: 24px;
    display: block;
    -webkit-transform: translateY(-60%);
    transform: translateY(-60%);
    position: absolute;
    top: 50%;
    right: auto;
    bottom: auto;
    left: 10px
}

@media screen and (min-width:768px) {
    #faq .faq_dt::before {
        left: 20px
    }
}

#faq .faq_icon {
    background-color: #cba8b5;
    border-radius: 50%;
    display: block;
    width: 25px;
    height: 25px;
    margin: auto;
    -webkit-animation: openBounce .6s cubic-bezier(.455, .03, .515, .955) 0s both;
    animation: openBounce .6s cubic-bezier(.455, .03, .515, .955) 0s both;
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    left: auto
}

@media screen and (min-width:768px) {
    #faq .faq_icon {
        right: 20px
    }
}

#faq .faq_icon::after,
#faq .faq_icon::before {
    background-color: #fff;
    content: "";
    display: block;
    width: 50%;
    height: 1px;
    margin: auto;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955) 0s;
    transition: all .3s cubic-bezier(.455, .03, .515, .955) 0s;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

#faq .faq_icon.active {
    -webkit-animation: closeBounce .6s cubic-bezier(.455, .03, .515, .955) 0s both;
    animation: closeBounce .6s cubic-bezier(.455, .03, .515, .955) 0s both;
}

#faq .faq_icon.active::after,
#faq .faq_icon.active::before {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

#faq .faq_icon::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

#faq .faq_icon.active::after {
    opacity: 0
}

.faq_tab .button {
    background-color: #cba8b5;
    border-radius: 5px;
    color: #fff !important;
    text-align: center;
    display: block !important;
    max-width: 240px;
    margin: 0 auto;
    padding: 20px 10px;
}

/* プライバシーポリシー */
#privacy .privacy_list {
    font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    margin-bottom: 50px
}

#privacy .privacy_section:not(:last-child) {
    margin-bottom: 40px
}

#privacy .privacy_section h2,
#privacy .privacy_section ol,
#privacy .privacy_section p,
#privacy .privacy_section ul {
    font-size: 16px;
    line-height: 1.6;
}

#privacy .privacy_section h2:not(:last-child),
#privacy .privacy_section ol:not(:last-child),
#privacy .privacy_section p:not(:last-child),
#privacy .privacy_section ul:not(:last-child) {
    margin-bottom: 20px
}

#privacy .privacy_section h2 {
    background-color: #f7f7f7;
    font-weight: 700;
    padding: 10px
}

@media screen and (min-width:768px) {
    #privacy .privacy_section h2 {
        padding: 20px
    }
}

#privacy .privacy_section ol,
#privacy .privacy_section ul {
    padding-left: 1.2rem
}

#privacy .privacy_section ol:not(:last-child),
#privacy .privacy_section ul:not(:last-child) {
    margin-bottom: 10px
}

#privacy .privacy_section ul {
    list-style: disc
}

#privacy .privacy_section ol {
    list-style: decimal
}

#privacy .privacy_section li {
    line-height: 1.6
}

#privacy .privacy_section li:not(:last-child) {
    margin-bottom: 5px
}

.privacy_section a {
    display: block;
}

/* 特定商取引 */
.trade_list {
    border: 1px solid #e5e5e5;
    border-bottom: none;
    font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    margin-bottom: 50px
}

.trade_dl {
    border-bottom: 1px solid #e5e5e5 !important;
    padding: 2px;
    display: flex !important;
}

.trade_dd,
.trade_dt {
    font-size: 15px;
    line-height: 1.6;
    padding: 10px
}

@media screen and (min-width:768px) {

    .trade_dd,
    .trade_dt {
        padding: 20px !important
    }
}

.trade_dd {
    width: 100%
}

@media screen and (min-width:768px) {
    .trade_dd {
        width: 66.66666%
    }
}

.trade_dt {
    background-color: #e5e5e5;
    font-weight: 700 !important;
    width: 100%
}

@media screen and (min-width:768px) {
    .trade_dt {
        width: 33.33333%
    }
}

.trade_section:not(:last-child) {
    margin-bottom: 30px
}

.trade_section h6:not(:last-child),
.trade_section p:not(:last-child) {
    margin-bottom: 10px
}

.trade_section h6 {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6
}

.trade_section ol,
.trade_section ul {
    list-style: disc !important;
    padding-left: 1.2rem
}

.trade_section ol:not(:last-child),
.trade_section ul:not(:last-child) {
    margin-bottom: 10px
}

.trade_section ul {
    list-style: disc
}

.trade_section ol {
    list-style: decimal !important
}

.trade_section li {
    line-height: 1.6
}

.trade_section li:not(:last-child) {
    margin-bottom: 5px
}

/* ランディングページ */
.page-contents.-original .l-item-list__item-control {
    display: block;
}

.page-contents.-original .item-purchase__quantity-blcok {
    justify-content: center;
}

.page-contents.-original .item-purchase__minus {
    margin-left: 0px;
}

@media (max-width: 767px) {
    .page-contents.-original .item-purchase__quantity-blcok {
        padding-right: 0px;
    }
}

.widget_cart_btn {
    display: flex;
    flex-flow: column;
}

.item-widget__cart {
    margin-bottom: 10px !important;
}

/* 新規会員登録　ご利用規約 */
.mypage_terms {
    background-color: #f7f7f7;
    padding: 0
        /* border: 1px solid #e5e5e5;
overflow-y: scroll;
height: 300px; */
}

@media screen and (min-width:768px) {
    .mypage_terms {
        padding: 40px
    }
}

.mypage_terms h3 {
    background-color: transparent;
    color: #000 !important;
    font-weight: 700 !important;
    margin-bottom: 20px;
    padding: 0
}

.mypage_terms h3:not(:first-child) {
    margin-top: 20px
}

@media screen and (min-width:768px) {
    .mypage_terms h3:not(:first-child) {
        margin-top: 30px
    }
}

.mypage_terms p:not(:last-child) {
    margin-bottom: 20px
}

.mypage_terms ol {
    list-style-type: decimal !important
}

.mypage_terms ol:not(:last-child) {
    margin-bottom: 20px
}

.mypage_terms li {
    line-height: 1.6;
    margin-left: 1.5em
}

.mypage_terms li:not(:last-child) {
    margin-bottom: 10px
}

/* 新規会員登録　入力フォーム */
.page-contents.-original ._stepbar ul li:after {
    border-color: transparent transparent transparent #ffff !important;
}

.mypage_regiflow {
    margin-bottom: 40px;
    margin-left: -5px;
    margin-right: -5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    justify-content: center;
}

.mypage_regiflow li {
    display: list-item !important;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
    padding-bottom: 10px;
    padding-left: 5px;
    padding-right: 5px;
    color: #fff !important;
    background-color: #fff !important;
    position: inherit !important;
    height: auto !important;
}

@media screen and (min-width:768px) {
    .mypage_regiflow li {
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
        max-width: 25%
    }
}

.mypage_regiflow .mypage_regiflowlist {
    background-color: #fff;
    border: 1px solid #d8d8d8;
    border-radius: 5px;
    overflow: hidden;
    position: relative;
    height: 60px
}

@media screen and (min-width:768px) {
    .mypage_regiflow .mypage_regiflowlist {
        height: 86px
    }
}

.mypage_regiflow .mypage_regiflowlist.current {
    background-color: #e4d3d9
}

.mypage_regiflow .mypage_regiflowtext {
    color: #000;
    line-height: 1.6;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 2;
    width: 100%;
    padding: 0 10px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.mypage_regiflow .mypage_regiflowtext em {
    line-height: inherit
}

.mypage_regiflow .mypage_regiflownumber {
    color: #efe5e9;
    font-size: 80px;
    font-weight: 700;
    position: absolute;
    top: 40%;
    left: -8px;
    z-index: 1;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

._th,
.valid-effect {
    background-color: #f7f7f7 !important;
}

input,
select,
textarea,
._formTable,
._formTable ._tr,
._scrollBox {
    border: 1px solid #e5e5e5 !important;
}

/* フリーページ */
.freepage_body {
    margin: 0 auto;
    width: 100%;
    max-width: 1160px;
}

@media (min-width: 768px) {
    .freepage_body {
        padding-right: 40px;
        padding-left: 40px;
    }
}

/* 支払い方法　入力フォーム */
.page-contents.-original .p-cart-confirm-modal-pay__sub-content ._formTable ._tr ._th {
    color: #000;
}

/* カート　ページタイトルレイアウト */
.title2 {
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-contents.-original ._formTable ._tr ._td ._box .item-purchase__quantity-blcok {
    justify-content: inherit;
}

@media (max-width: 767px) {
    .page-contents.-original .p-cart__next-button {
        width: auto
    }
}

@media (max-width: 767px) {
    .page-contents.-original .p-cart-confirm__item-button--card._btnBase button {
        width: 45.3333333333vw !important
    }
}

._formTable #sgw_ng_text {
    border: none !important;
}

._formTable .input_deliv_date {
    border: 1px solid #e5e5e5 !important;
}

.fss {
    font-size: 12px !important;
}

.textindent {
    text-indent: -1em !important;
    padding-left: 1em !important;
}

/* ご注文履歴 */
@media screen and (max-width: 768px) {
    .page-contents.-original span.-tablet {
        display: inline !important;
    }
}

/* レビュー投稿 */
.p-member-review-edit__caution-box ul li {
    line-height: normal;
}

/* カテゴリ一覧 */
.category_header {
    font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    width: 100%;
    border-bottom: 1px solid;
    font-size: 24px !important;
    font-weight: 700 !important;
    text-align: center;
    margin-bottom: 20px;
    padding-bottom: 20px
}

.category_header:hover {
    color: rgba(0, 0, 0, 0.44);
}

main, .page-contents {
    font-family: YuGothic,"Yu Gothic Medium","Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
}

/* 太字フォント */
.category-item-list__item-name, .c-item-list__item-name, .l-item-list__item-name, .p-member-favorite__item-name,
.p-cart__price-head-value, .p-cart-confirm__summary-price-value {
    font-weight: bold !important;
}

/* 定期同梱アイコン */
.only-add-goods {
    font-weight: normal;
    display: inline-block;
    border-radius: unset;
    padding: 5px 10px;
}
@media (max-width: 767px) {
    .p-member-regular__text-cell--item {
        align-items: unset !important;
    }

    .p-member-regular__text-cell--item::before {
        content: attr(data-label);
        display: grid !important;
        height: unset !important;
        align-items: center;
    }

    .p-member-regular__text-cell--item span {
        padding: 20px 0;
    }
}