@charset "UTF-8";
/* カスタマイズ用CSS */
/* !HTML5 elements
---------------------------------------------------------- */
header,
footer,
nav,
section,
aside,
article {
    display: block;
}

/* !Reseting
---------------------------------------------------------- */

body,
div,
pre,
p,
blockquote,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
th,
td {
    margin: 0;
    padding: 0;
}
input,
textarea {
    margin: 0;
    font-size: 100%;
}
label {
    cursor: pointer;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 100%;
}
fieldset,
img {
    border: 0;
}
img {
    vertical-align: top;
    max-width: 100%;
}
address,
caption,
cite,
code,
dfn,
em,
th,
var {
    font-style: normal;
    font-weight: normal;
}
ol,
ul {
    list-style: none;
}
caption,
th {
    text-align: left;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
    font-weight: normal;
}
q:after,
q:before {
    content: "";
}
a,
input,
select,
textarea,
button {
    outline: none;
}
abbr,
acronym {
    border: 0;
}
*,
*:before,
*:after {
    box-sizing: border-box;
}

select,
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="reset"],
input[type="button"],
input[type="submit"],
textarea,
button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -moz-appearance: none;
    overflow: auto;
    border: none;
    border: 0;

    font-family: noto-sans, sans-serif;
}
input[type="text"]::-ms-clear,
input[type="tel"]::-ms-clear,
input[type="number"]::-ms-clear {
    display: none;
}
input[type="reset"],
input[type="button"],
input[type="submit"] {
    font-family: noto-sans, sans-serif;
    cursor: pointer;
}
select::-ms-expand {
    display: none;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

input[type="number"] {
    -moz-appearance: textfield;
}
input[type="radio"]::-ms-check,
input[type="checkbox"]::-ms-check {
    display: none;
}

body {
    color: #1a1311;
    font-size: 16px;
}

@media screen and (max-width: 359px) {
    body {
        font-size: 14px;
    }
    .ec-role {
        font-size: 14px;
    }
}
.ntsFt {
    font-family: noto-sans, sans-serif;
}
/*.otfFt{
	font-weight: normal;
	font-family: a-otf-ud-reimin-pr6n, sans-serif;
	font-weight: 300;
	font-style: normal;
}*/
.fotFt {
    font-weight: normal;
    font-family: fot-tsukuardgothic-std, sans-serif;
    font-weight: 700;
    font-style: normal;
}

a {
    color: #1a1311;
    text-decoration: none;
    transition: all 0.5s !important;
    -moz-transition: all 0.5s !important; /* Firefox */
    -webkit-transition: all 0.5s !important; /* Chrome&Safari */
}

a:hover {
    color: #1a1311;
    opacity: 0.8;
    text-decoration: none;
    transition: all 0.5s !important;
    -moz-transition: all 0.5s !important; /* Firefox */
    -webkit-transition: all 0.5s !important; /* Chrome&Safari */
}
/*add*/
.bgImg {
    box-sizing: border-box;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
.telLink {
    pointer-events: none;
}
.spInline {
    display: none;
}
*,
*:before,
*:after {
    box-sizing: border-box;
}
@media screen and (min-width: 769px) {
    .sp {
        display: none !important;
    }
}
@media screen and (max-width: 768px) {
    .pc {
        display: none !important;
    }
    .telLink {
        pointer-events: auto;
    }
    a:hover {
        opacity: 1;
    }
}
@media screen and (min-width: 760px) {
    .sp02 {
        display: none !important;
    }
}
@media screen and (max-width: 759px) {
    .pc02 {
        display: none !important;
    }
}

.slick-slider {
    margin-bottom: 30px;
}
.slick-dots {
    position: absolute;
    bottom: -45px;
    display: block;
    width: 100%;
    padding: 0;
    list-style: none;
    text-align: center;
}
.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}
.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    opacity: 1;
}
.slick-dots li button:before {
    content: " ";
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 12px;
    height: 12px;
    text-align: center;
    opacity: 0.25;
    background-color: black;
    border-radius: 50%;
}
.slick-dots li.slick-active button:before {
    opacity: 0.75;
    background-color: black;
}
.slick-dots li button.thumbnail img {
    width: 0;
    height: 0;
}

/* !wrapper
---------------------------------------------------------- */
.ec-layoutRole {
    min-width: 1024px;
    background: #fff;
    overflow: hidden;
}
.ec-comInner,
.ec-comInner02 {
    padding: 0 20px;
    max-width: 1020px;
    box-sizing: border-box;
    margin: 0 auto;
    position: relative;
}
.ec-comInner02 {
    max-width: 790px;
}
.ec-headerNaviRoleSp {
    display: none;
}
@media only screen and (max-width: 1024px) {
    .ec-layoutRole {
        min-width: unset;
        max-width: 100%;
    }
}
@media only screen and (max-width: 768px) {
    .ec-layoutRole {
        min-width: 320px;
        padding: 55px 0 0;
    }
    .ec-comInner,
    .ec-comInner02 {
        padding: 0 15px;
    }
    a:hover {
        opacity: 1 !important;
    }
}
.bannerBlock {
    margin: 50px auto 0;
    text-align: center;
}
.bannerBlock + .bannerBlock {
    margin-top: 20px;
}
@media only screen and (max-width: 768px) {
    .bannerBlock {
        margin-top: 30px;
    }
}

/* !header
---------------------------------------------------------- */
.ec-logged_top {
    border-bottom: 2px solid #efb585;
    font-size: 14px;
    color: #ec6c01;
    letter-spacing: 0.08em;
    padding: 14px 0;
}
.ec-headerNaviRole {
    max-width: 1020px;
    justify-content: space-between;
    padding: 25px 20px;
    position: relative;
}
.ec-headerRole {
    padding: 0;
}
.ec-headerNaviRole:after {
    content: none;
}
.ec-headerNaviRole .ec-headerNaviRole__left {
    width: 165px;
}
.ec-headerNaviRole .ec-headerNaviRole__right {
    width: auto;
    flex-direction: column;
    align-items: flex-end;
}
.ec-headerTitle .ec-headerTitle__title a {
    margin-bottom: 0;
}

.ec-headerNav {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
}
.ec-headerNav__item + .ec-headerNav__item {
    margin-left: 33px;
}
.ec-headerNaviRole .ec-headerNaviRole__nav a {
    display: flex;
    align-items: center;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 0.1em;
    white-space: nowrap;
}
.ec-headerNav .ec-headerNav__itemLink {
    font-size: 11px;
}
.ec-headerNaviRole .ec-headerNaviRole__nav a img,
.ec-cartNavi img {
    max-width: 18px;
    max-height: 18px;
    margin-right: 10px;
}
.ec-cartNavi img,
.ec-headerNaviRole__nav .ec-cartNavi a img {
    margin-right: 18px;
}
.ec-headerNav .ec-headerNav__item {
    font-size: 11px;
    font-weight: bold;
}
.ec-headerNav .ec-headerNav__itemLink {
    margin-right: 0;
}
.ec-cartNavi {
    display: flex;
    justify-content: space-between;
    border-radius: 99999px;
    box-sizing: border-box;
    padding: 0;
    width: auto;
    min-width: auto;
    height: auto;
    white-space: nowrap;
    cursor: pointer;
    background: none;
    position: relative;
}
.ec-cartNavi .ec-cartNavi__badge {
    min-width: 18px;
    height: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 10px;
    top: 0;
    transform: translateY(-50%);
    font-size: 8px;
    font-weight: bold;
    text-align: center;
}
.ec-cartNaviWrap .is-active {
    z-index: 100;
}
.ec-itemNav {
    display: flex;
    align-items: flex-end;
}

.ec-itemNav__nav > li {
    position: static;
}
.ec-itemNav__nav > li + li {
    margin-left: 36px;
}
.ec-itemNav__nav li a {
    margin: 0;
    padding: 0;
    height: auto;
    color: #ec6c01;
    font-size: 15px;
    font-weight: bold;
    line-height: 20px;
    text-decoration: none;
    text-align: left;
    background: #fff;
    border-bottom: none;
}
.ec-itemNav__nav.is_active li > a {
    color: #efb585;
}
.ec-itemNav__nav.is_active li > a.ec-itemNav__subLink {
    color: #ec6c01;
}
.ec-itemNav__subCont {
    display: none;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 100%;
    z-index: 99;
    width: 100vw;
    min-width: 1024px;
    padding: 35px 0 25px;
    background: #fff;
    border-top: 1px solid #e5e5e5;
}
.ec-itemNav__subTitle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 15px;
    font-weight: bold;
    color: #ec6c01;
    margin-bottom: 10px;
}
.ec-itemNav__nav li .ec-itemNav__subBtn a {
    font-size: 15px;
    font-weight: 400;
    display: block;
    padding-left: 30px;
    background: url(../img/common/arrow02.svg) no-repeat left center;
    background-size: 20px auto;
}
.ec-itemNav__subUlWrap {
    display: flex;
    justify-content: space-between;
}
.ec-itemNav__nav li .ec-itemNav__subUl {
    width: 100%;
    position: static;
}
.ec-itemNav__nav li .ec-itemNav__subUl li {
    overflow: visible;
    width: calc(33.33% - 26px);
    height: auto;
    margin-right: 26px;
}
.ec-itemNav__nav li .ec-itemNav__subUl li:last-child {
    margin-right: 0;
}
.ec-itemNav__nav li .ec-itemNav__subUl li a {
    border-bottom: 1px solid #e5e5e5;
    padding: 15px 0;
    font-size: 14px;
    font-weight: 400;
    color: #2b2f38;
    text-align: left;
    background: none;
    display: flex;
    align-items: center;
}
.ec-itemNav__nav li .ec-itemNav__subUl li a:hover {
    background: none;
}
.ec-itemNav__nav li .ec-itemNav__subUl li a span {
    min-width: 108px;
    height: 40px;
    margin-right: 30px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
.ec-itemNav__nav li .ec-itemNav__subUl li a span img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
}

.ec-itemNav__subnav {
    overflow: hidden;
    margin-left: 10px;
}

.ec-itemNav__subnav > li {
    float: left;
    width: auto;
    margin-left: 20px;
}

.ec-itemNav__subnav li a {
    font-size: 11px;
    font-weight: bold;
    color: #ec6c01;
}

@media only screen and (max-width: 768px) {
    .ec-logged_top {
        font-size: 13px;
        padding: 10px 0;
    }
    .ec-layoutRole__header {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 988;
        width: 100%;
        background: #fff;
    }
    .ec-headerNaviRole {
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: 55px;
        padding: 0 15px;
    }
    .ec-headerNaviRole .ec-headerNaviRole__left {
        width: 105px;
        margin-right: 5px;
    }
    .ec-headerNav {
        margin-bottom: 0;
    }
    .ec-headerNaviRole .ec-headerNaviRole__nav a,
    .ec-cartNavi {
        font-size: 8px;
        flex-direction: column;
        align-items: center;
        padding-top: 1px;
    }
    .ec-headerNav .ec-headerNav__itemLink,
    .ec-headerNav .ec-headerNav__item {
        display: block;
        font-size: 8px;
    }
    .ec-headerNav__item + .ec-headerNav__item {
        margin-left: 10px;
    }
    .ec-headerNaviRole .ec-headerNaviRole__nav a img,
    .ec-cartNavi img {
        margin-right: 0;
        margin-bottom: 4px;
        height: 16px;
    }
    .ec-cartNavi .ec-cartNavi__badge {
        min-width: 15px;
        height: 15px;
    }
    .ec-nav_message {
        position: relative;
    }
    .ec-headerTitle__title img {
        height: auto;
    }
    .ec-headerNavSP,
    .ec-drawerRoleClose {
        display: block;
        cursor: pointer;
        border-radius: 0;
        box-sizing: border-box;
        padding: 0;
        width: 35px;
        height: 31px;
        font-size: 18px;
        text-align: center;
        color: black;
        background: none;
        position: static;
        top: 15px;
        left: auto;
        right: 15px;
        z-index: 1000;
        margin-left: 10px;
    }
    .ec-headerNavSP img,
    .ec-drawerRoleClose img {
        height: 100%;
        width: auto;
    }
    .ec-drawerRoleClose {
        display: none;
    }
    .ec-headerNavSP.is_active {
        display: none;
    }
    .ec-drawerRoleClose.is_active {
        display: block;
    }
    .ec-drawerRole {
        overflow-y: scroll;
        background: #fff;
        width: 100%;
        height: calc(100vh - 55px);
        transform: translateX(-100%);
        position: fixed;
        top: 55px;
        left: 0;
        z-index: 1;
        transition: z-index 0ms 1ms;
    }
    .have_curtain .ec-overlayRole {
        z-index: 99;
    }
    .ec-drawerRole .ec-headerSearch {
        background: none;
        padding: 30px 15px 20px;
    }
    .ec-itemNav__subLink {
        cursor: pointer;
        display: flex;
        align-items: center;
        height: 50px;
        background: url(../img/common/slide_open.svg) no-repeat right 16px
            center #fff0ce;
        background-size: 9px auto;
        font-size: 15px;
        font-weight: 500;
        padding-left: 28px;
        border-bottom: 1px solid #fff;
        color: #ec6c01;
    }
    .ec-itemNav__subLink:hover {
        color: #ec6c01;
    }
    .ec-itemNav__nav.is_active .ec-itemNav__subLink {
        background: url(../img/common/slide_close.svg) no-repeat right 16px
            center #fff0ce;
        background-size: 9px auto;
        color: #ec6c01;
    }
    .ec-itemNav__otherLink {
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: 50px;
        font-size: 15px;
        font-weight: 500;
        background: #fff0ce;
        padding: 0 14px 0 28px;
        border-bottom: 1px solid #fff;
        color: #ec6c01;
    }
    .ec-itemNav__otherLink:after {
        display: block;
        content: "";
        width: 9px;
        height: 9px;
        background: url(../img/common/slide_open.svg) no-repeat 0 0;
        background-size: 9px auto;
        transform: rotate(-90deg);
    }
    .ec-itemNav__subCont {
        display: none;
        position: static;
        transform: translateX(0%);
        z-index: 99;
        width: auto;
        min-width: auto;
        padding: 30px 0px 40px;
        background: #fff;
        border-top: 0px solid #e5e5e5;
    }
    .ec-itemNav__subTitle {
        font-size: 14px;
        font-weight: 500;
        margin-bottom: 30px;
    }
    .ec-itemNav__subBtn a {
        color: #ec6c01;
    }
    .ec-itemNav__subUl {
        width: 100%;
    }
    .ec-itemNav__subUl + .ec-itemNav__subUl {
        margin-left: 10px;
    }
    .ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav li a {
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 5px;
        border: 1px solid;
        height: 45px;
        color: #ec6c01;
        font-size: 15px;
        margin-bottom: 10px;
        background: #fff;
    }
    .ec-itemNav__subUl li a span {
        display: none;
    }

    .ec-headerCategoryArea .ec-footerRole {
        padding: 23px 0 1px;
    }
    .ec-headerLinkArea_p01 {
    }
    .ec-headerLinkArea_p01 {
        font-size: 13px;
        font-weight: bold;
        text-align: center;
        color: #5a5a5a;
        margin-bottom: 1px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
    }
    .ec-headerLinkArea_p01 span {
        display: block;
        flex-grow: 1;
        font-size: 23px;
        width: 100%;
        margin-right: 0px;
    }
    .ec-headerCategoryArea .ec-footer_tel a {
        font-size: 34px;
        letter-spacing: -0.5px;
    }
    .ec-drawerRole .ec-headerCategoryArea .ec-footer_p02 {
        font-size: 14px;
        line-height: 24px;
        margin-bottom: 18px;
    }

    .ec-drawerRole .ec-headerLinkArea {
        background: none;
        padding: 38px 15px 25px;
    }
    .ec-headerLinkArea_ul {
        text-align: center;
        margin: 0 -14px;
        display: flex;
    }
    .ec-headerLinkArea_ul + .ec-headerLinkArea_ul {
        margin-top: 15px;
    }
    .ec-headerLinkArea_ul li {
        display: block;
        padding: 0 14px;
        font-size: 14px;
        font-weight: 500;
        white-space: nowrap;
    }
    .ec-headerLinkArea_ul li + li {
        border-left: 1px solid #fff0ce;
    }
    .ec-itemNav__closeBtn {
        text-align: center;
        padding-bottom: 50px;
    }
    .ec-itemNav__closeBtn a {
        display: inline-block;
        font-size: 16px;
        font-weight: 400;
        padding-left: 30px;
        background: url(../img/common/nav_close.svg) no-repeat left center;
        background-size: 20px auto;
        transition: opacity 0.5s !important;
    }

    .ec-itemNav__nav {
        display: block;
    }
    .ec-drawerRole.is_active {
        display: block;
    }
    .ec-itemNav__nav li {
        float: none;
        width: 100%;
    }
}
/* !breadcrumb
---------------------------------------------------------- */
#breadcrumb {
    width: 100%;
}
#breadcrumb ul {
    padding: 28px 0;
    /*border-bottom: 1px solid #b2b2b2;*/
    color: #2c2927;
}
#breadcrumb ul:before {
    /*content: 'å½“å‰ä½ç½®ï¼š'*/
}
#breadcrumb ul li {
    display: inline-block;
    position: relative;
    padding-right: 44px;
    font-size: 13px;
    letter-spacing: 0.1em;
}
#breadcrumb ul li:before {
    position: absolute;
    right: 16px;
    top: 0;
    z-index: 2;
    content: ">";
}
#breadcrumb ul li:last-of-type {
}
#breadcrumb ul li:last-of-type:before {
    content: none;
}

#breadcrumb ul li a {
    color: #2c2927;
    position: relative;
    display: inline-block;
    /*text-decoration: underline;*/
}
#breadcrumb ul li a:hover {
    text-decoration: underline;
}
#breadcrumb ul li:first-of-type a {
    padding-left: 22px;
    background: url(../img/common/icon_home.svg) no-repeat left center;
    background-size: 16px auto;
}

@media only screen and (max-width: 768px) {
    #breadcrumb ul {
        padding: 18px 0;
    }
    #breadcrumb ul li {
        padding-right: 34px;
    }
    #breadcrumb ul li:before {
        right: 10px;
    }
}

/* !footer
---------------------------------------------------------- */
.ec-footerRole {
    margin: 0;
    padding: 55px 0 70px;
    border-top: none;
    background: #fff0ce;
    color: #ec6c01;
}
.ec-footerRole .ec-comInner {
    max-width: 840px;
    position: relative;
}
.ec-footerTitle__copyright {
    font-size: 12px;
    color: #fff0e3;
    letter-spacing: 0.08em;
    text-align: center;
    background: #ec6c01;
}
.ec-footerTitle__copyright_txt {
    padding: 16px 0;
}

.ec-footer_p01 {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 17px;
}
.ec-footer_p01 span {
    font-size: 24px;
}
.ec-footer_tel {
    text-align: center;
    margin-bottom: 10px;
}
.ec-footer_tel a {
    display: inline-block;
    font-size: 39px;
    font-weight: bold;
    color: #ec6c01;
    padding-left: 62px;
    background: url(../img/common/phone.png) no-repeat left center;
    background-size: 35px auto;
}
.ec-footer_p02 {
    text-align: center;
    color: #ec6c01;
    margin-bottom: 30px;
}
.ec-footer_p02 font {
    margin-right: 2em;
}
.ec-footerNavi {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}
.ec-footerNavi__link {
    width: 100%;
    max-width: 400px;
}
.ec-footerNavi .ec-footerNavi__link + .ec-footerNavi__link {
    margin-left: 20px;
}
.ec-footerNavi .ec-footerNavi__link a {
    border-bottom: none;
    margin: 0;
    padding: 0;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
    border-radius: 30px;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    background: #ec6c01;
}
.ec-footerNavi .ec-footerNavi__link a.single,
.ec-footerNavi .ec-footerNavi__link + .ec-footerNavi__link a {
    background: #f9be00;
}

/*pagetop*/
.ec-blockTopBtn {
    display: none;
    /*position: fixed;*/
    width: 55px;
    height: 55px;
    /*right: 20px;*/
    /*bottom: 20px;*/
    position: absolute;
    right: 20px;
    top: 0;
    transform: translateY(-50%);
    cursor: pointer;
    color: #ffffff;
    text-align: center;
    line-height: auto;
    opacity: 1;
    background: none;
    border-radius: 50%;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
/*.ec-blockTopBtn:hover{opacity: .8}*/
@media only screen and (max-width: 768px) {
    .ec-footerRole {
        padding: 42px 0 50px;
    }
    .ec-footer_p01 {
        color: #5a5a5a;
    }
    .ec-footer_p02 {
        font-size: 17px;
        line-height: 1.65;
        margin-bottom: 24px;
    }
    .ec-footer_p02 font {
        margin-right: 0;
    }
    .ec-footerNavi {
        display: block;
        margin-bottom: 40px;
    }
    .ec-footerNavi__link {
        margin: 0 auto;
    }
    .ec-footerNavi .ec-footerNavi__link + .ec-footerNavi__link {
        margin-left: auto;
        margin-top: 15px;
    }
    .ec-footerNavi .ec-footerNavi__link a {
        height: 50px;
        border-radius: 30px;
        font-size: 19px;
        font-weight: 500;
    }
    .ec-footerNavi + .ec-footerLinkArea_ul.sp {
        margin-bottom: 30px;
    }
    .ec-footer_tel {
        margin-bottom: 15px;
    }
    .ec-footerRole .ec-slide_box {
        color: #2b2f38;
    }
    .ec-footerRole .ec-slide_txt {
        font-size: 15px;
        line-height: 1.5;
    }
    .ec-blockTopBtn {
        display: none;
        /*position: fixed;*/
        width: 60px;
        height: 60px;
        /*right: 15px;*/
        /*bottom: 15px;*/
        position: absolute;
        right: 15px;
        box-shadow: 0 2px 3px rgba(0, 0, 0, 0.16);
    }
}
/* !common
---------------------------------------------------------- */
.ec-headerSearch .ec-headerSearch__keyword {
    float: none;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    border-bottom-left-radius: inherit;
    border-radius: 6px 0 0 6px;
    border: 1px solid #ec6c01;
}
.ec-headerSearch .ec-headerSearch__keyword input[type="search"] {
    width: calc(100% - 95px);
    height: 54px;
    font-size: 14px;
    border: 0 none;
    padding: 0 20px;
    box-shadow: none;
    background: #fff;
    box-sizing: border-box;
    margin-bottom: 0;
}

.ec-headerSearch
    .ec-headerSearch__keyword
    input[type="search"]::-webkit-input-placeholder {
    color: #ec6c01;
}
.ec-headerSearch .ec-headerSearch__keywordBtn {
    border: 0;
    background: none;
    position: absolute;
    right: 0px;
    top: 0;
    transform: translateY(0%);
    display: block;
    white-space: nowrap;
    z-index: 1;
    padding: 0;
}
.ec-headerSearch .ec-headerSearch__keyword .ec-icon {
    width: 100%;
    height: 100%;
    width: 95px;
    height: 54px;
    background: #ec6c01;
    display: flex;
    justify-content: center;
    align-items: center;
}

@media only screen and (max-width: 768px) {
    .ec-headerSearch .ec-headerSearch__keyword input[type="search"] {
        width: calc(100% - 71px);
        height: 50px;
    }
    .ec-headerSearch .ec-headerSearch__keyword .ec-icon {
        width: 71px;
        height: 50px;
    }
    .ec-headerSearch .ec-headerSearch__keyword {
        border-radius: 5px;
    }
}

.loginBnr {
    margin: 40px 0;
}
.ec-slide_box {
    border-radius: 6px;
    background: #fff0ce;
    padding: 0 4px;
}
.ec-slide_box.white {
    background: #fff;
}
.ec-slide_box.white .ec-slide_txt {
    color: #5a5a5a;
}
.ec-slide_box + .ec-slide_box {
    margin-top: 20px;
}
.ec-slide_hd {
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 54px;
    border-bottom: 2px solid #efb585;
    background: url(../img/common/slide_open.svg) no-repeat right 16px center;
    background-size: 9px auto;
    font-size: 16px;
}
.ec-slide_hd.is_active {
    background: url(../img/common/slide_close.svg) no-repeat right 16px center;
    background-size: 9px auto;
}
.ec-slide_cont {
    display: none;
    padding: 30px 35px;
}
.ec-slide_cont.is_active {
    display: block;
}
.ec-slide_txt {
    line-height: 1.875;
    color: #ec6c01;
    letter-spacing: 0.05em;
}
.ec-slide_txt02 {
    font-size: 14px;
    line-height: 30px;
    letter-spacing: 0.05em;
}
.ec-slide_txt + .ec-slide_txt02 {
    margin-top: 12px;
}

.ec-slide_whiteBox {
    background: #fff;
    padding: 30px 45px;
    border-radius: 3px;
}
.ec-slide_whiteBox + .ec-slide_whiteBox,
.ec-slide_txt + .ec-slide_whiteBox {
    margin-top: 30px;
}
.ec-slide_whiteBox_title {
    font-size: 16px;
    font-weight: 500;
    color: #ec6c01;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #ec6c01;
}
.ec-slide_whiteBox_txt {
    line-height: 2;
    letter-spacing: 0.05em;
}
.ec-slide_whiteBox_btn {
    margin-top: 30px;
}

@media only screen and (max-width: 768px) {
    .ec-slide_whiteBox {
        background: #fff;
        padding: 15px 22px 30px;
        border-radius: 3px;
    }
    .ec-slide_whiteBox + .ec-slide_whiteBox,
    .ec-slide_txt + .ec-slide_whiteBox {
        margin-top: 30px;
    }
    .ec-slide_whiteBox_title {
        font-size: 16px;
        font-weight: 500;
        color: #ec6c01;
        padding-bottom: 15px;
        margin-bottom: 15px;
        border-bottom: 1px solid #ec6c01;
    }
    .ec-slide_whiteBox_txt {
        font-size: 13px;
        line-height: 22px;
        letter-spacing: 0.05em;
    }
    .ec-slide_whiteBox_btn {
        margin-top: 18px;
    }
    .loginBnr {
        margin: 30px -15px 30px;
    }
}

.ec-btnLink01 {
    display: inline-block;
    font-size: 15px;
    font-weight: 400;
    padding-left: 30px;
    background: url(../img/common/arrow02.svg) no-repeat left center;
    background-size: 20px auto;
    transition: opacity 0.5s !important;
}
.ec-btnLink01:hover {
    opacity: 0.7;
}

.ec-btnLink02 {
    margin: 0 auto;
    font-size: 16px;
    font-weight: 500;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 300px;
    max-width: 100%;
    height: 60px;
    border-radius: 30px;
    background: #fff;
    color: #ec6c01;
    border: 1px solid #ec6c01;
    transition: opacity 0.5s !important;
}
.ec-btnLink02 span {
    display: flex;
    align-items: center;
    height: 30px;
    padding-left: 50px;
    background: url(../img/common/arrow02.svg) no-repeat left center;
    background-size: 30px auto;
}
.ec-btnLink02.sm span {
    padding-left: 30px;
    background: url(../img/common/arrow02.svg) no-repeat left center;
    background-size: 20px auto;
}
.ec-btnLink02:hover {
    opacity: 0.7;
    color: #ec6c01;
}

.ec-btnLink03 {
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 390px;
    max-width: 100%;
    height: 60px;
    background: #ec6c01;
    border-radius: 50px;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 500;
    color: #fff;
}
.ec-btnLink03.red {
    background-color: #e56868;
}
.ec-btnLink03 span {
    padding: 0 44px;
    background: url(../img/contact/arrow_confirm.svg) no-repeat right center;
    background-size: 24px auto;
}
.ec-btnLink03:hover {
    opacity: 0.7;
    color: #fff;
}

.ec-btn_cart {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 44px;
    border-radius: 3px;
    color: #fff;
    font-size: 14px;
    background: #e56868;
    border: none;
    transition: opacity 0.5s !important;
}
.ec-btn_cart_green {
    background: #59b985;
}
.ec-btn_cart + .ec-btn_cart {
    margin-left: 10px;
}
.ec-btn_cart span {
    display: flex;
    align-items: center;
    padding-left: 25px;
    background: url(../img/index/btn_cart.svg) no-repeat left center;
    background-size: 15px auto;
}
.ec-btn_cart:hover {
    opacity: 0.7;
}

.ec-hd01 {
    font-size: 24px;
    color: #5a5a5a;
    font-weight: bold;
    margin-bottom: 35px;
    text-align: center;
}
@media only screen and (max-width: 768px) {
    .ec-role {
        padding: 0 15px;
    }
    .ec-slide_box {
        border-radius: 0px;
        padding: 0;
        margin: 0 -15px;
    }
    .ec-slide_hd {
        height: 60px;
        border-bottom: 2px solid #efb585;
        background: url(../img/common/slide_open.svg) no-repeat right 16px
            center;
        background-size: 10px auto;
    }
    .ec-slide_hd.is_active {
        background: url(../img/common/slide_close.svg) no-repeat right 16px
            center;
        background-size: 10px auto;
    }
    .ec-slide_cont {
        display: none;
        padding: 25px 15px;
    }
    .ec-slide_cont.is_active {
        display: block;
    }
    .ec-slide_txt {
        font-size: 13px;
        line-height: 1.75;
    }
    .ec-slide_txt02 {
        font-size: 13px;
        line-height: 1.75;
    }

    .ec-btnLink01 {
        display: inline-block;
        font-size: 14px;
        font-weight: 400;
        padding-left: 23px;
        background: url(../img/common/arrow02.svg) no-repeat left center;
        background-size: 18px auto;
        transition: opacity 0.5s !important;
    }

    .ec-btnLink02 {
        font-size: 15px;
        font-weight: 500;
        width: 225px;
        max-width: 100%;
        height: 45px;
        border-radius: 30px;
    }
    .ec-btnLink02 span {
        display: flex;
        align-items: center;
        height: 20px;
        padding-left: 28px;
        background: url(../img/common/arrow02.svg) no-repeat left center;
        background-size: 18px auto;
    }
    .ec-btnLink02.sm span {
        padding-left: 28px;
        background: url(../img/common/arrow02.svg) no-repeat left center;
        background-size: 18px auto;
    }
    .ec-btnLink02:hover {
        opacity: 1;
        color: #ec6c01;
    }

    .ec-btnLink03 {
        width: 300px;
        height: 50px;
        font-size: 16px;
        line-height: 1.5;
        font-weight: 500;
    }
    .ec-btnLink03 span {
        padding: 0 29px;
        background: url(../img/contact/arrow_confirm.svg) no-repeat right center;
        background-size: 19px auto;
    }
    .ec-btnLink03:hover {
        opacity: 1;
    }

    .ec-btn_cart {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 35px;
        border-radius: 4px;
        color: #fff;
        font-size: 12px;
        background: #e56868;
        border: none;
        transition: opacity 0.5s !important;
    }
    .ec-btn_cart_green {
        background: #59b985;
    }
    .ec-btn_cart + .ec-btn_cart {
        margin-left: 10px;
    }
    .ec-btn_cart span {
        display: flex;
        align-items: center;
        padding-left: 22px;
        background: url(../img/index/btn_cart.svg) no-repeat left center;
        background-size: 12px auto;
    }
    .ec-btn_cart:hover {
        opacity: 1;
    }

    .ec-hd01 {
        font-size: 23px;
        color: #5a5a5a;
        font-weight: bold;
        margin-bottom: 25px;
        text-align: center;
    }
}

/*login*/
.ec-off2Grid .ec-off2Grid__cell.loginWrap {
    overflow: hidden;
    border: solid 1px #ec6c01;
    border-radius: 10px;
    margin-bottom: 60px;
}
.ec-off2Grid .ec-off2Grid__cell.entryWrap {
    overflow: hidden;
    border: solid 1px #e56868;
    border-radius: 10px;
    margin-bottom: 60px;
}
.loginWrap h1 {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    background: #ec6c01;
    margin-bottom: 40px;
    padding: 15px;
}
.entryWrap h2 {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    background: #e56868;
    margin-bottom: 40px;
    padding: 15px;
}
#page_mypage_login .ec-role {
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}
.ec-login_flex {
    width: 100%;
    padding: 50px 0;
}
.ec-login,
.ec-register {
    background: none;
    margin: 0;
    padding: 0px 60px 50px;
}
.ec-off2Grid .ec-off2Grid__cell {
    width: 100%;
    margin: 0;
}
.ec-login__icon .ec-icon {
    text-align: center;
    margin-bottom: 46px;
}
.ec-login__icon .ec-icon img {
    width: 234px;
}
/*
.ec-pageHeader h1,
.ec-register h2 {
	border: none;
	color: #5A5A5A;
	margin: 0 0 34px;
	padding: 0;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}*/
.ec-login__input .ec-input {
    display: flex;
}
.ec-login__input .ec-input input {
    background: #fff;
    border: 1px solid #ec6c01;
    color: #ec6c01;
    border-radius: 6px;
    height: 50px;
    font-size: 14px;
    margin-bottom: 0px;
    padding: 0 20px;
}
.ec-login__input .ec-input input::-webkit-input-placeholder {
    color: #ec6c01;
}
.ec-login__input .ec-input input + input {
    margin-left: 20px;
}
.ec-blockBtn--cancel {
    border-radius: 50px;
    background: #ec6c01 !important;
    color: #fff;
    font-family: inherit;
    font-size: 18px;
    font-weight: 500;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 300px;
    max-width: 100%;
    height: 60px;
    margin: 0 auto;
    border: none;
    line-height: 1.5;
    transition: opacity 0.5s !important;
}
.ec-blockBtn--cancel:hover {
    /*background:#EC6C01;*/
    opacity: 0.8;
}
.ec-register .ec-blockBtn--cancel {
    background: #e56868 !important;
    margin-bottom: 50px;
}
.ec-login_linkWrap {
    display: flex;
    justify-content: center;
    margin-top: 30px;
}
.ec-login .ec-login__link + .ec-login__link {
    margin-left: 40px;
}
.ec-login .ec-login__link .ec-link {
    display: block;
    font-size: 14px;
    color: #333845;
    padding-left: 25px;
    background: url(../img/common/arrow01.svg) no-repeat left center;
    background-size: 5px auto;
}
.entryWrap .ec-slide_hd,
.entryWrap .ec-slide_hd.is_active {
    pointer-events: none;
    background: none;
}
.login-message {
    line-height: 2;
    font-weight: bold;
    margin-top: 30px;
    text-align: center;
}
.login-message a {
    text-decoration: underline;
}
.ec-register .login-message {
    margin-top: 20px;
}
.entryTxt {
    font-size: 1.58rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 50px;
}
@media only screen and (max-width: 768px) {
    .ec-off2Grid .ec-off2Grid__cell.entryWrap {
        margin-bottom: 0;
    }
    .ec-login,
    .ec-register {
        padding: 0 30px 40px;
    }
    .entryTxt {
        text-align: left;
    }
}

/*.ec-register*/
.ec-borderedDefs {
    border-top: none;
    margin-bottom: 80px;
}
.receiptBox .ec-borderedDefs {
    margin-bottom: 30px;
}
.ec-register .ec-borderedDefs {
    max-width: 440px;
    margin: 0 auto 4px;
}
.ec-register .ec-borderedDefs dl {
    padding: 0;
    border-bottom: none;
}
.receiptBox .ec-borderedDefs dl {
    justify-content: center;
}
.ec-borderedDefs dt {
    /*padding-top: 14px;*/
    /*width: 30%;*/
    font-size: 20px;
    font-weight: bold;
    color: #2c2927;
    white-space: nowrap;
}
.ec-register .ec-borderedDefs dt {
    width: auto;
    white-space: nowrap;
    padding-top: 5px;
    margin-right: 48px;
}
.ec-input input,
.ec-halfInput input,
.ec-numberInput input,
.ec-zipInput input,
.ec-telInput input,
.ec-select input,
.ec-birth input {
    background: #fff0ce;
    border-radius: 5px;
}
.ec-required {
    margin-left: 0.8em;
    vertical-align: 2px;
    display: inline-block;
    text-align: center;
    width: 48px;
    line-height: 26px;
    border-radius: 5px;
    background: #e56868;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
}
.ec-register_p01 {
    font-size: 14px;
    text-align: center;
    margin-bottom: 40px;
    letter-spacing: 0.06em;
}
/* mypage */
.mypage .ec-cartRow_content {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.mypage .ec-productRole__category,
.mypage .ec-productRole__specifications {
    flex-grow: 1;
    width: 100%;
}
.mypage .ec-product_delivery {
    margin-left: 10px;
}
.mypage .ec-product_delivery span {
    cursor: default;
}
@media only screen and (max-width: 768px) {
    .ec-login__icon .ec-icon {
        margin-bottom: 26px;
    }
    .ec-login__icon .ec-icon img {
        width: 165px;
    }
    .ec-pageHeader h1,
    .ec-register h2 {
        margin: 0 0 17px;
        font-size: 23px;
    }
    .ec-login__input .ec-input {
        display: block;
    }
    .ec-login__input .ec-input input + input {
        margin-left: 0px;
        margin-top: 15px;
    }
    .ec-login .ec-login__input {
        margin-bottom: 30px;
    }
    .ec-blockBtn--cancel {
        font-size: 17px;
        height: 50px;
    }
    .ec-login_linkWrap {
        max-width: 190px;
        margin: 20px auto 0;
        display: block;
    }
    .ec-login .ec-login__link + .ec-login__link {
        margin-left: 0;
        margin-top: 5px;
    }
    .ec-login .ec-login__link .ec-link {
        padding-left: 15px;
    }
    .ec-borderedDefs dt {
        font-size: 15px;
    }
    .login-message {
        text-align: left;
    }
    .ec-required {
        margin-left: 0.8em;
        vertical-align: 1px;
        display: inline-block;
        text-align: center;
        width: 43px;
        line-height: 22px;
        border-radius: 3px;
        background: #e56868;
        color: #fff;
        font-size: 12px;
        font-weight: bold;
    }
    .ec-label {
        margin-bottom: 10px;
    }
    .ec-register_p01 {
        text-align: left;
        margin: 10px 0 30px;
    }
    .mypage .ec-product_delivery {
        position: static;
        flex-grow: 1;
        width: 100%;
        margin-left: 0;
        margin-bottom: 10px;
    }
}

/*main_visual*/
.ec-sliderRole {
    max-width: none;
    padding: 0;
}
.main_visual_p01 {
    padding: 30px 0 10px;
    font-size: 24px;
    letter-spacing: 0.1em;
    color: #126fad;
    font-family: a-otf-ud-reimin-pr6n, sans-serif;
    font-weight: bold;
    font-style: normal;
}
.main_visual_p01 font {
    font-size: 44px;
    letter-spacing: 0;
    display: block;
    text-indent: -0.25em;
}
.main_visual_p02 {
    font-size: 16;
    line-height: 1.875;
    letter-spacing: 0.06em;
}
.main_visual_p03 {
    margin-top: -30px;
    padding-left: 40px;
}
.main_visual_p03 img {
    width: 470px;
}
.main_visual_btn {
    position: absolute;
    width: 415px;
    right: 30px;
    bottom: 57px;
    z-index: 2;
}
.main_visual_btn a:hover {
    opacity: 0.7;
}
.slick-dots li {
    margin: 0 8px;
}
.slick-dots li button:before {
    background: none;
    border: 1px solid #ec6c01;
    opacity: 1;
}
.slick-dots li.slick-active button:before {
    opacity: 1;
    background-color: #ec6c01;
}

.main_visual a:hover {
    opacity: 0.7;
}
@media only screen and (max-width: 768px) {
    .bgImg01 {
        background: url(../img/index/bg_mv01_sp.jpg) no-repeat center center !important;
        background-size: cover;
    }
    .main_visual_p01 {
        padding: 25px 0 16px;
        font-size: 17px;
        letter-spacing: 0.1em;
        color: #126fad;
        text-align: center;
    }
    .main_visual_p01 font {
        font-size: 23px;
        letter-spacing: -0.5px;
    }
    .main_visual_p02 {
        font-size: 13px;
        line-height: 23px;
        letter-spacing: 0.06em;
        text-align: center;
    }
    .main_visual_p03 {
        margin-top: -15px;
        padding-left: 40px;
        text-align: center;
        padding-bottom: 20px;
    }
    .main_visual_p03 img {
        width: 270px;
        display: inline-block;
    }
    .main_visual_btn {
        padding-bottom: 30px;
        position: static;
        width: 285px;
        z-index: 2;
        margin: 0 auto;
    }
    .main_visual_btn a:hover {
        opacity: 1;
    }
    .slick-dots li {
        margin: 0 4px;
    }
}
/*index*/
.ec-layoutRole .ec-layoutRole__contents {
    max-width: none;
}
.ec-noticeWrap {
    background: #ef857d;
    font-size: 14px;
    letter-spacing: 0.08em;
    color: #fff;
    padding: 10px 0;
}
.ec-noticeClose {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    width: 10px;
    height: 10px;
    cursor: pointer;
}
@media only screen and (max-width: 768px) {
    .ec-noticeWrap {
        font-size: 12px;
    }
}
.ec-indexSec01 {
    padding-top: 50px;
}
.ec-indexSec01 .ec-comInner {
    max-width: 840px;
}
.ec-indexSec01_p01 {
    text-align: center;
    font-size: 14px;
    letter-spacing: 0.06em;
    margin-bottom: 30px;
}
.ec-indexSec01 .ec-slide_box {
    margin-bottom: 30px;
}
@media only screen and (max-width: 768px) {
    .ec-indexSec01 {
        padding-top: 20px;
    }
    .ec-indexSec01_p01 {
        text-align: center;
        font-size: 13px;
        letter-spacing: 0.06em;
        margin-bottom: 20px;
    }
    .ec-indexSec01 .ec-slide_box {
        margin-bottom: 30px;
    }
}
.ec-indexSec02 {
    padding: 50px 0 65px;
}
.ec-indexSec02 .ec-indexSec02_Btn {
    margin-top: -10px;
    margin-bottom: 35px;
    text-align: center;
}
.ec-indexUl01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 -10px;
}
.ec-indexUl01 li {
    margin: 0 10px 16px;
    width: calc(25% - 20px);
}
.ec-indexUl01 a {
    display: block;
    position: relative;
    border-radius: 6px;
    background: #fdefea;
    overflow: hidden;
    min-height: 140px;
    padding: 22px 0 10px;
    text-align: center;
    font-size: 15px;
}
.ec-indexUl01 a:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    border: 15px solid #f6b099;
    border-right-color: transparent;
    border-bottom-color: transparent;
}
.ec-indexUl01_img img {
    height: 57px;
    margin-top: 15px;
}
@media only screen and (max-width: 768px) {
    .ec-indexSec02 {
        padding: 45px 0 40px;
    }
    .ec-indexUl01 {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        margin: 0 -5px;
    }
    .ec-indexUl01 li {
        margin: 0 5px 10px;
        width: calc(50% - 10px);
    }
    .ec-indexUl01 a {
        display: block;
        position: relative;
        border-radius: 3px;
        background: #fdefea;
        overflow: hidden;
        min-height: 120px;
        padding: 17px 0 10px;
        text-align: center;
        font-size: 13px;
        letter-spacing: -0.5px;
    }
    .ec-indexUl01 a:before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        z-index: 2;
        border: 11px solid #f6b099;
        border-right-color: transparent;
        border-bottom-color: transparent;
    }
    .ec-indexUl01_img img {
        height: 47px;
        margin-top: 12px;
    }
}

.ec-indexUl01 li:nth-of-type(2) a {
    background: #e9e9f4;
}
.ec-indexUl01 li:nth-of-type(2) a:before {
    border-left-color: #9997c8;
    border-top-color: #9997c8;
}
/* .ec-indexUl01 li:nth-of-type(3) a {
    background: #fbe1dd;
}
.ec-indexUl01 li:nth-of-type(3) a:before {
    border-left-color: #ec6d55;
    border-top-color: #ec6d55;
} */
 /* 2024/07/29 カテゴリ追加 */
.ec-indexUl01 li:nth-of-type(3) a {
    background: #F0E7DE;
}
.ec-indexUl01 li:nth-of-type(3) a:before {
    border-left-color: #A27B4B;
    border-top-color: #A27B4B;
}
.ec-indexUl01 li:nth-of-type(4) a {
    background: #feeecc;
}
.ec-indexUl01 li:nth-of-type(4) a:before {
    border-left-color: #fbae00;
    border-top-color: #fbae00;
}
.ec-indexUl01 li:nth-of-type(5) a {
    background: #f9f6cb;
}
.ec-indexUl01 li:nth-of-type(5) a:before {
    border-left-color: #e6d403;
    border-top-color: #e6d403;
}
.ec-indexUl01 li:nth-of-type(6) a {
    background: #fbe6cc;
}
.ec-indexUl01 li:nth-of-type(6) a:before {
    border-left-color: #ef8300;
    border-top-color: #ef8300;
}
.ec-indexUl01 li:nth-of-type(7) a {
    background: #eef7fc;
}
.ec-indexUl01 li:nth-of-type(7) a:before {
    border-left-color: #e6cc92;
    border-top-color: #e6cc92;
}
.ec-indexUl01 li:nth-of-type(8) a {
    background: #f4e5ef;
}
.ec-indexUl01 li:nth-of-type(8) a:before {
    border-left-color: #cc7eb0;
    border-top-color: #cc7eb0;
}
.ec-indexUl01 li:nth-of-type(9) a {
    background: #def0d5;
}
.ec-indexUl01 li:nth-of-type(9) a:before {
    border-left-color: #5db630;
    border-top-color: #5db630;
}
.ec-indexUl01 li:nth-of-type(10) a {
    background: #ebf2d4;
}
.ec-indexUl01 li:nth-of-type(10) a:before {
    border-left-color: #9ec02b;
    border-top-color: #9ec02b;
}
.ec-indexUl01 li:nth-of-type(11) a {
    background: #e0eef8;
}
.ec-indexUl01 li:nth-of-type(11) a:before {
    border-left-color: #65aadc;
    border-top-color: #65aadc;
}
.ec-indexUl01 li:nth-of-type(12) a {
    background: #fcebed;
}
.ec-indexUl01 li:nth-of-type(12) a:before {
    border-left-color: #f19ca7;
    border-top-color: #f19ca7;
}
.ec-indexUl01 li:nth-of-type(13) a {
    background: #ccdae4;
}
.ec-indexUl01 li:nth-of-type(13) a:before {
    border-left-color: #064a7b;
    border-top-color: #064a7b;
}
.ec-indexUl01 li:nth-of-type(14) a {
    background: #d6e8d3;
}
.ec-indexUl01 li:nth-of-type(14) a:before {
    border-left-color: #328d27;
    border-top-color: #328d27;
}
.ec-indexUl01 li:nth-of-type(15) a {
    background: #ccd9e8;
}
.ec-indexUl01 li:nth-of-type(15) a:before {
    border-left-color: #01428e;
    border-top-color: #01428e;
}
.ec-indexUl01 li:nth-of-type(16) a {
    background: #eed7e2;
}
.ec-indexUl01 li:nth-of-type(16) a:before {
    border-left-color: #aa3a72;
    border-top-color: #aa3a72;
}

.ec-indexSec03 {
    padding: 55px 0 70px;
    background: #fff0ce;
}
.ec-indexUl02 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -20px;
}
.ec-indexUl02 li {
    margin: 0 20px 10px;
    width: calc(33.33% - 40px);
    position: relative;
    overflow: hidden;
}
.ec-indexUl02_box {
    background: #fff;
    border-radius: 5px;
    padding: 30px 25px;
}
.ec-rankUl li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 48px;
    height: 48px;
    background: url(../img/index/point01.svg) no-repeat;
    background-size: 100% auto;
}
.ec-rankUl li:nth-of-type(2):before {
    background: url(../img/index/point02.svg) no-repeat;
    background-size: 100% auto;
}
.ec-rankUl li:nth-of-type(3):before {
    background: url(../img/index/point03.svg) no-repeat;
    background-size: 100% auto;
}
.ec-itemFav {
    position: absolute;
    right: 20px;
    top: 20px;
    z-index: 3;
}
.ec-itemFav label {
    cursor: pointer;
    background: url(../img/index/btn_fav_no.svg) no-repeat;
    background-size: 100% 100%;
    width: 25px;
    height: 22px;
    display: block;
    margin: 0;
}
.ec-itemFav input {
    position: absolute;
    visibility: hidden;
}
.ec-itemFav input:checked + label {
    background: url(../img/index/btn_fav_on.svg) no-repeat;
    background-size: 100% 100%;
}
.ec-indexUl02_top {
    display: flex;
    margin-bottom: 12px;
    min-height: 120px;
}
.ec-indexUl02_img_pc {
    width: 104px;
    height: 120px;
    padding: 0 5px;
    text-align: center;
}
.ec-indexUl02_img_pc img {
    object-fit: contain;
    width: 104px;
    height: 120px;
}
.ec-indexUl02_cont {
    /*display: flex;
	flex-direction: column;
	justify-content: center;*/
}
#page_product_list .ec-indexUl02_cont {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.ec-indexUl02_categ span {
    display: inline-block;
    min-width: 107px;
    line-height: 24px;
    padding: 0 5px;
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    border-radius: 12px;
    background: #fbae00;
    margin: 0 5px 5px 0;
    text-align: center;
}

.ec-indexUl02_categ span.color01 {
    background: #f6b099;
}
.ec-indexUl02_categ span.color02 {
    background: #9997c8;
}
 /* 20240729_カテゴリ追加 */
/* .ec-indexUl02_categ span.color03 {
    background: #ec6d55;
} */
/* .ec-indexUl02_categ span.color04 {
    background: #fbae00;
} */
.ec-indexUl02_categ span.color03 {
    background: #fbae00;
}
.ec-indexUl02_categ span.color04 {
    background: #A27B4B;
}
.ec-indexUl02_categ span.color05 {
    background: #e6d403;
}
.ec-indexUl02_categ span.color06 {
    background: #ef8300;
}
.ec-indexUl02_categ span.color07 {
    background: #e6cc92;
}
.ec-indexUl02_categ span.color08 {
    background: #cc7eb0;
}
.ec-indexUl02_categ span.color09 {
    background: #5db630;
}
.ec-indexUl02_categ span.color10 {
    background: #9ec02b;
}
.ec-indexUl02_categ span.color11 {
    background: #65aadc;
}
.ec-indexUl02_categ span.color12 {
    background: #f19ca7;
}
.ec-indexUl02_categ span.color13 {
    background: #064a7b;
}
.ec-indexUl02_categ span.color14 {
    background: #328d27;
}
.ec-indexUl02_categ span.color15 {
    background: #01428e;
}
.ec-indexUl02_categ span.color16 {
    background: #aa3a72;
}

#page_product_list .ec-indexUl02_type {
    flex-grow: 1;
    width: 100%;
}
.ec-indexUl02_type span {
    font-size: 20px;
    line-height: 1.3;
    color: #ec6c01;
    margin-right: 8px;
}
.ec-indexUl02_price {
    font-size: 10px;
    font-weight: bold;
    color: #ec6c01;
}
.ec-indexUl02_price span {
    font-size: 30px;
    color: #ec6c01;
    margin-right: 4px;
}
#page_product_list .ec-product_delivery {
    margin-left: 10px;
}
.ec-indexUl02_btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
}
@media only screen and (max-width: 768px) {
    .ec-indexSec03 {
        padding: 45px 0 40px;
    }
    .ec-indexUl02 {
        display: flex;
        flex-wrap: wrap;
        margin: 0 -20px;
    }
    .ec-indexUl02 li {
        margin: 0 20px 10px;
        width: 100%;
        position: relative;
        overflow: hidden;
    }
    .ec-indexUl02_box {
        display: flex;
        padding: 20px 15px;
        padding-left: 35px;
    }
    .ec-indexUl02_img_sp {
        min-width: 48px;
        margin-right: 25px;
    }
    .ec-indexUl02_img_sp img {
        object-fit: contain;
        width: 48px;
        height: 125px;
    }
    .ec-indexUl02_item {
        width: calc(100% - 48px - 25px);
    }
    .ec-rankUl li:before {
        width: 37px;
        height: 37px;
    }
    .ec-indexUl02_top {
        min-height: auto;
    }
    .ec-indexUl02_categ span {
        display: inline-block;
        min-width: 90px;
        line-height: 20px;
        padding: 0 5px;
        color: #fff;
        font-size: 12px;
        font-weight: 500;
        border-radius: 12px;
        background: #fbae00;
        margin: 0 3px 3px 0;
        text-align: center;
    }
    .ec-indexUl02_type {
        font-size: 13px;
    }
    .ec-indexUl02_type span {
        font-size: 18px;
    }
    .ec-indexUl02_price {
        font-size: 9px;
    }
    .ec-indexUl02_price span {
        font-size: 25px;
    }
    .ec-indexUl02_top {
        margin-bottom: 10px;
    }
}

.ec-indexSec04 {
    padding: 65px 0 80px;
    background: #dcebea;
}

.ec-indexSec05 {
    padding: 74px 0 100px;
}
.ec-indexSec02 + .ec-indexSec05 {
    padding-top: 10px;
}
.ec-indexSec05 .ec-comInner {
    max-width: 840px;
}
.ec-indexUl03 li {
    padding: 28px 0;
}
.ec-indexUl03 li + li {
    background-image: linear-gradient(
        to right,
        #ec6c01 0%,
        #ec6c01 50%,
        transparent 50%
    );
    background-size: 8px 1px;
    background-position: top center;
    background-repeat: repeat-x;
}
.ec-indexUl03 li a {
    display: block;
}
.ec-indexUl03_date {
    display: flex;
    align-items: center;
    font-size: 14px;
    margin-bottom: 8px;
}
.ec-indexUl03_date span {
    display: inline-block;
    min-width: 70px;
    line-height: 20px;
    padding: 0 5px;
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    border-radius: 12px;
    background: #e0717a;
    text-align: center;
    margin-right: 30px;
}
.ec-indexUl03_date span.color02 {
    background: #3492d6;
}
.ec-indexUl03_txt {
    font-size: 16px;
    letter-spacing: 0.06em;
}
.ec-indexSec05_btn {
    text-align: center;
    margin-top: 20px;
}
@media only screen and (max-width: 768px) {
    .ec-indexSec04 {
        padding: 45px 0 50px;
        background: #dcebea;
    }

    .ec-indexSec05 {
        padding: 45px 0 50px;
    }
    .ec-indexSec02 + .ec-indexSec05 {
        padding-top: 5px;
    }

    .ec-indexUl03_date span {
        margin-right: 10px;
    }
    .ec-indexUl03 li + li {
        background-image: linear-gradient(
            to right,
            #ec6c01 0%,
            #ec6c01 50%,
            transparent 50%
        );
        background-size: 4px 1px;
        background-position: top center;
        background-repeat: repeat-x;
    }
    .ec-indexUl03_txt {
        font-size: 15px;
    }
    .ec-indexSec05_btn {
        margin-top: 0;
    }
    .ec-indexSec05_btn a {
        font-weight: bold;
        font-size: 16px;
    }
}

/*error.html*/
.ec-errorWrap {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px;
    min-height: 100vh;
    text-align: center;
}
.ec-error_icon {
    margin-bottom: 75px;
}
.ec-error_p01 {
    font-size: 24px;
    margin-bottom: 17px;
    color: #4d4b49;
}
.ec-error_p02 {
    font-size: 16px;
    letter-spacing: 0.06em;
    margin-bottom: 60px;
}
.ec-error_p03 a {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    width: 290px;
    max-width: 100%;
    height: 60px;
    border-radius: 30px;
    background: #ec6c01;
    color: #fff;
    font-size: 20px;
}
@media only screen and (max-width: 768px) {
    .ec-errorWrap {
        min-height: calc(100vh - 110px);
        padding-bottom: 55px;
    }
    .ec-error_icon {
        margin-bottom: 35px;
    }
    .ec-error_p01 {
        font-size: 23px;
        margin-bottom: 12px;
        color: #4d4b49;
    }
    .ec-error_p02 {
        font-size: 16px;
        letter-spacing: 0.06em;
        margin-bottom: 40px;
    }
    .ec-error_p03 a {
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 auto;
        width: 290px;
        max-width: 100%;
        height: 50px;
        border-radius: 30px;
        background: #ec6c01;
        color: #fff;
        font-size: 16px;
        font-weight: bold;
    }
}

/*privacy.html*/
.ec-pageHeader h1 {
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    color: #ec6c01;
    margin-bottom: 60px;
}
.ec-privacyWrap {
    padding: 25px 0 100px;
}
.ec-privacy_txt {
    font-size: 16px;
    line-height: 1.625;
    letter-spacing: 0.06em;
    color: #2c2927;
}
.ec-privacy_txt + .ec-privacy_txt {
    margin-top: 26px;
}
@media only screen and (max-width: 768px) {
    .ec-pageHeader h1 {
        font-size: 23px;
        font-weight: bold;
        margin-bottom: 37px;
    }
    .ec-privacyWrap {
        padding: 25px 0 75px;
    }
    z .ec-privacy_txt {
        font-size: 16px;
        line-height: 1.75;
        color: #2c2927;
    }
    .ec-privacy_txt + .ec-privacy_txt {
        margin-top: 26px;
    }
}

/*legal.html*/
.ec-legal_item + .ec-legal_item {
    margin-top: 60px;
}
.ec-legal_hd {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 46px;
    background: #fff0ce;
    color: #ec6c01;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 30px;
}
.ec-privacy_txt span {
    display: block;
    margin-bottom: 8px;
    color: #ec6c01;
}
@media only screen and (max-width: 768px) {
    .ec-legal_item + .ec-legal_item {
        margin-top: 30px;
    }
    .ec-legal_hd {
        height: 46px;
        font-size: 16px;
        margin: 0 -15px 15px;
        padding: 0 15px;
    }
    .ec-privacy_txt span {
        margin-bottom: 13px;
    }
}

/*list.html*/
.ec-listSec01 {
    padding: 25px 0 40px;
}

.ec-listSec02 {
    padding: 80px 0 100px;
}
@media only screen and (min-width: 769px) {
    .ec-listUl01 .ec-indexUl02_box {
        display: flex;
        align-items: center;
        border: 1px solid #ec6c01;
        border-radius: 5px;
        padding-left: 44px;
    }
    .ec-listUl01 .ec-indexUl02_img_sp {
        width: 100px;
        height: 124px;
        text-align: center;
        margin-right: 44px;
    }
    .ec-listUl01 .ec-indexUl02_img_sp img {
        object-fit: contain;
        width: 100px;
        height: 124px;
    }
    .ec-listUl01.ec-indexUl02 li {
        margin: 0 20px 40px;
        width: calc(50% - 40px);
    }
    .ec-listUl01 .ec-indexUl02_item {
        width: calc(100% - 100px - 44px);
    }
    .ec-listUl01_btn {
        margin-top: 20px;
    }
    .ec-listUl01 .ec-indexUl02_top {
        min-height: auto;
    }
    .ec-listUl01 .ec-itemFav {
        right: 30px;
        top: 30px;
    }
    .ec-listSec02 .ec-itemNav__subLink {
        margin-top: 60px;
        cursor: pointer;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 54px;
        background: url(../img/common/slide_open.svg) no-repeat right 16px
            center #fff0ce;
        background-size: 9px auto;
        font-size: 16px;
        border-radius: 6px;
        color: #ec6c01;
        text-decoration: none;
        opacity: 1;
    }
    .ec-listSec02 .ec-itemNav__subLink.is_active {
        background: url(../img/common/slide_close.svg) no-repeat right 16px
            center #fff0ce;
        background-size: 9px auto;
    }

    .ec-listSec02 .ec-comInner {
        max-width: 840px;
    }
    .ec-listSec02 .ec-itemNav__nav {
        display: block;
    }
    .ec-listSec02 .ec-itemNav__subCont {
        display: none;
        position: static;
        transform: translateX(0%);
        z-index: 99;
        width: auto;
        min-width: auto;
        padding: 30px 0px 40px;
        background: #fff;
        border-top: 0px solid #e5e5e5;
    }
    .ec-listSec02 .ec-itemNav__nav li {
        float: none;
    }
    .ec-listSec02 .ec-itemNav__subBtn a {
        font-size: 15px;
        font-weight: 400;
        display: block;
        padding-left: 30px;
        background: url(../img/common/arrow02.svg) no-repeat left center;
        background-size: 20px auto;
    }
    .ec-listSec02 .ec-itemNav__subUl {
        width: calc(50% - 26px);
        position: static;
    }
    .ec-listSec02 .ec-itemNav__subUl li {
        overflow: visible;
        height: auto;
    }
    .ec-listSec02 .ec-itemNav__subUl li a {
        border-bottom: 1px solid #e5e5e5;
        padding: 15px 0;
        font-size: 14px;
        font-weight: 400;
        color: #2b2f38;
        text-align: left;
        background: none;
        display: flex;
        align-items: center;
    }
    .ec-listSec02 .ec-itemNav__subUl li a:hover {
        background: none;
    }
    .ec-listSec02 .ec-itemNav__subUl li a span {
        min-width: 108px;
        height: 40px;
        margin-right: 30px;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .ec-listSec02 .ec-itemNav__subUl li a span img {
        max-width: 100%;
        max-height: 100%;
    }
}
@media only screen and (max-width: 768px) {
    .ec-listSec01 {
        padding: 25px 0 40px;
    }

    .ec-listSec02 {
        padding: 30px 0 50px;
    }
    .ec-listUl01 .ec-itemFav {
        right: 25px;
        top: 20px;
    }
    .ec-listUl01 .ec-indexUl02_box {
        display: flex;
        border: 1px solid #ec6c01;
        border-radius: 5px;
        padding-left: 29px;
    }
    .ec-listUl01 .ec-indexUl02_img_sp {
        width: 62px;
        min-width: 62px;
        text-align: center;
        margin-right: 18px;
        padding-top: 24px;
    }
    .ec-listUl01 .ec-indexUl02_img_sp img {
        object-fit: contain;
        width: 62px;
        height: 75px;
    }
    .ec-listUl01.ec-indexUl02 li {
        margin: 0 0 10px;
    }
    .ec-listUl01 .ec-indexUl02_item {
        width: calc(100% - 62px - 18px);
    }
    .ec-listUl01_btn {
        margin-top: 12px;
    }
    .ec-listSec02 .ec-itemNav__nav li a {
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 5px;
        border: 1px solid;
        height: 45px;
        color: #ec6c01;
        font-size: 15px;
        margin-bottom: 10px;
        background: #fff;
    }
    .ec-listSec02 .ec-itemNav__subLink {
        margin: 30px -15px 0;
        padding-left: 15px;
    }
}

/*detail*/
.ec-productSec {
    padding: 100px 0 80px;
}
.ec-similarSec {
    background: #ebecdf;
}
.ec-productRole__category {
    margin-bottom: 5px;
}
.ec-productRole__title {
    font-size: 23px;
    margin-bottom: 30px;
}
.ec-productRole__title span {
    font-size: 28px;
    font-weight: bold;
    color: #ec6c01;
    margin-right: 10px;
}
.ec-productRole__remarks {
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 0.06em;
}
.ec-productRole__catch {
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 0.06em;
    padding-bottom: 30px;
    margin-bottom: 30px;
    background-image: linear-gradient(
        to right,
        #5a5a5a 0%,
        #5a5a5a 50%,
        transparent 50%
    );
    background-size: 5px 2px;
    background-position: bottom center;
    background-repeat: repeat-x;
    color: #de5d50;
}
.ec-productRole__specifications {
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 0.06em;
    margin-bottom: 30px;
}
.ec-product_ways {
    overflow: hidden;
    border-radius: 6px;
    border: 1px solid #ec6c01;
}
.ec-product_ways_dl {
    padding: 13px 40px;
    background: #ec6c01;
    color: #fff;
    border-radius: 6px 6px 0 0;
}
.ec-product_ways_dl + .ec-product_ways_dl {
    border-radius: 0 0 6px 6px;
}
.ec-product_ways_dl.is_active {
    background: #fff;
    padding: 20px 40px;
    color: #2c2927;
}
.ec-product_ways_dl dt {
    display: flex;
    align-items: center;
    position: relative;
    white-space: nowrap;
}
.ec-product_ways_dl dt label {
    cursor: pointer;
    padding-left: 33px;
    background: url(../img/detail/label_no.svg) no-repeat left center;
    background-size: 22px auto;
    display: block;
    margin: 0;
    font-size: 18px;
    font-weight: 500;
    margin-right: 20px;
}
.ec-product_ways_dl dt input {
    position: absolute;
    visibility: hidden;
}
.ec-product_ways_dl dt input:checked + label {
    background: url(../img/detail/label_on.svg) no-repeat left center;
    background-size: 22px auto;
}
.ec-productRole__price {
    font-size: 13px;
    font-weight: bold;
    margin-right: 5px;
}
.ec-productRole__price .ec-price__price {
    font-size: 30px;
}
.ec-product_delivery {
    position: relative;
    display: block;
}
#page_cart .ec-product_delivery {
    margin-top: -10px;
}
#page_shopping .ec-product_delivery span {
    cursor: default;
}
.ec-product_delivery span {
    cursor: pointer;
    display: inline-block;
    line-height: 24px;
    padding: 0 10px;
    color: #ec6c01;
    border: 1px solid;
    font-size: 12px;
    font-weight: 500;
    border-radius: 12px;
    text-align: center;
    white-space: nowrap;
}
.ec-product_delivery p {
    opacity: 0;
    pointer-events: none;
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    font-size: 12px;
    font-weight: 400;
    min-width: 260px;
    color: #de5d50;
    background: #fff;
    border-radius: 5px;
    padding: 10px;
    z-index: 2;
    transition: opacity 0.3s;
}
.ec-product_delivery:hover p {
    opacity: 1;
    pointer-events: all;
}

.ec-product_ways_dl dd {
    padding-top: 12px;
}
.ec-product_ways_dl.is_active dd {
}
.ec-product_ddbox {
    display: flex;
    align-items: flex-end;
}
.ec-productRole__actions {
    padding-top: 10px;
}
.ec-productRole__actions select {
    width: 134px;
    margin-right: 26px;
    height: 40px;
    background: url(../img/detail/select.svg) no-repeat right 19px center
        #fff0ce;
    background-size: 14px auto;
    border-radius: 5px;
    padding-left: 30px;
    font-size: 18px;
    font-weight: 400;
    border: 0;
}
.ec-product_inventory {
    font-size: 16px;
    padding-top: 10px;
}
.ec-productRole__btn {
    width: 100%;
    margin-top: 20px;
}
.ec-productRole__btn .ec-btn_cart {
    width: 100%;
    height: 60px;
    border-radius: 5px;
    font-size: 20px;
}
.ec-productRole__btn .ec-btn_cart span {
    padding-left: 32px;
    background: url(../img/index/btn_cart.svg) no-repeat left center;
    background-size: 22px auto;
}

.ec-productRole__itemFav {
    margin-top: 20px;
    width: auto;
}
.ec-productRole__itemFav label {
    cursor: pointer;
    display: block;
    height: 60px;
    border: 2px solid #dddddd;
    border-radius: 6px;
    background: url(../img/detail/txt_fav_no.svg) no-repeat center center;
    background-size: auto 29px;
    display: block;
    margin: 0;
    font-size: 20px;
}
.ec-productRole__itemFav input {
    position: absolute;
    visibility: hidden;
}
.ec-productRole__itemFav input:checked + label {
    background: url(../img/detail/txt_fav_on.svg) no-repeat center center;
    background-size: auto 29px;
}

.ec-productRole__description {
    margin-top: 20px;
}
.ec-productRole__description .ec-slide_box {
    background: #fff0ce;
}
.ec-productRole__description .ec-slide_hd {
    border-bottom: none;
    color: #ec6c01;
}
.ec-productRole__descriptionItem {
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
}
.ec-productRole__descriptionItem + .ec-productRole__descriptionItem {
    margin-top: 20px;
}
.ec-productRole__descriptionItem dt {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 45px;
    background: #ec6c01;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
}
.ec-productRole__descriptionItem dd {
    padding: 30px 48px 40px;
}
.ec-productRole__description .ec-slide_txt {
    color: #2c2927;
}
.ec-productRole__description_p01 {
    text-align: center;
    margin-top: 20px;
}
.ec-productRole__description_p02 {
    text-align: center;
    margin: 30px 0 60px;
}
.ec-slide_txt.tc {
    text-align: center;
}
.ec-productRole__description_ul {
    margin-bottom: 60px;
}
.ec-productRole__description_ul li {
    padding-left: 1em;
    text-indent: -1em;
    margin-bottom: 15px;
}
.ec-productRole__description_ul li + li {
}
.ec-productRole__description .ec-slide_txt span {
    display: block;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
}
.ec-ingredientItem {
    max-width: 450px;
    margin: 0 auto;
    font-size: 16px;
    line-height: 30px;
}
.ec-ingredientItem + .ec-ingredientItem {
    padding-top: 14px;
    margin-top: 14px;
    background-image: linear-gradient(
        to right,
        #ec6c01 0%,
        #ec6c01 50%,
        transparent 50%
    );
    background-size: 8px 2px;
    background-position: top center;
    background-repeat: repeat-x;
}
.ec-ingredient {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.ec-ingredient_weight {
    display: flex;
    align-items: center;
}
.ec-ingredient_number {
    text-align: right;
}
.ec-ingredient_unit {
    white-space: nowrap;
    width: 35px;
    margin-left: 28px;
}

.slick-initialized .slide-item {
    border-radius: 10px;
    border: 1px solid #e6cc92;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 460px;
    padding: 30px;
}
.ec-productSec .item_nav {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin: 0 -10px;
}
.ec-productSec .slideThumb {
    border-radius: 10px;
    border: 1px solid #e6cc92;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 135px;
    margin-bottom: 10px;
    width: calc(33.33% - 20px);
    margin: 0 10px;
    padding: 20px;
    opacity: 1;
    cursor: pointer;
}
.slick-initialized .slide-item img,
.ec-productSec .slideThumb img {
    max-width: 100%;
    max-height: 100%;
}
.item_visual.slick-slider {
    margin-bottom: 20px;
}

.ec-price .ec-price__price {
    padding: 0;
}
@media only screen and (min-width: 769px) {
    .ec-grid2 {
        justify-content: space-between;
    }
    .ec-grid2 .ec-grid2__cell {
        width: 460px;
    }
    .ec-grid2 .ec-grid2__cell + .ec-grid2__cell {
        max-width: calc(100% - 460px - 20px);
    }
}
@media only screen and (max-width: 768px) {
    .ec-productSec .ec-grid2 {
        display: block;
    }
    .ec-productSec .ec-grid2 .ec-grid2__cell {
        width: auto;
    }
    .ec-productSec .ec-grid2 .ec-grid2__cell .slick-dots {
        bottom: 5px;
    }
    .ec-productSec {
        padding: 30px 0 75px;
    }
}
@media only screen and (max-width: 768px) {
    .ec-productRole__category {
        display: flex;
        justify-content: center;
    }
    .ec-headingTitle {
        text-align: center;
        margin-bottom: 20px;
        font-size: 23px;
    }
    .ec-headingTitle span {
        display: block;
        font-size: 28px;
        margin: 0 0 3px;
    }
    .slick-initialized .slide-item {
        height: 345px;
    }
    .item_visual.slick-slider {
        margin-bottom: 10px;
    }
    .ec-productSec .item_nav {
        margin: 0 -5px;
    }
    .ec-productSec .slideThumb {
        height: 108px;
        margin: 0 5px;
        width: calc(33.33% - 10px);
    }
    .ec-productRole__remarks {
        line-height: 28px;
        margin-top: 30px;
    }
    .ec-productRole__catch {
        line-height: 28px;
        padding-top: 30px;
        margin-bottom: 30px;
        background-size: 3px 1px;
    }
    .ec-product_ways_dl,
    .ec-product_ways_dl.is_active {
        padding: 30px;
    }
    .ec-product_ways_dl dt {
        display: block;
        position: relative;
    }
    .ec-product_delivery {
        position: absolute;
        right: 0;
        top: 0;
    }
    .ec-product_delivery span {
        border-radius: 20px;
        line-height: 30px;
        font-size: 13px;
    }
    #page_product_list .ec-product_delivery,
    #page_cart .ec-product_delivery,
    #page_shopping .ec-product_delivery {
        position: static;
    }
    .ec-product_ddbox {
        display: block;
    }
    .ec-productRole__actions select {
        width: 100%;
    }
    .ec-productRole__btn {
        width: auto;
    }
    .ec-productRole__btn .ec-btn_cart {
        height: 50px;
    }
    .ec-product_inventory {
        padding: 13px 0;
        font-size: 15px;
    }
    .ec-productRole__itemFav {
        margin-top: 30px;
    }
    .ec-productRole__description {
        margin-top: 40px;
    }
    .ec-productRole__descriptionItem {
        border-radius: 3px;
    }
    .ec-productRole__descriptionItem dd {
        padding: 20px 10px;
    }
    .ec-productRole__description .ec-slide_txt {
        font-size: 16px;
    }
    .ec-productRole__description_ul {
        margin-bottom: 40px;
    }
    .ec-productRole__description_ul li {
        margin-bottom: 10px;
    }
    .ec-productRole__description_p02 {
        margin: 15px 0 60px;
    }
    .ec-productRole__description .ec-slide_txt span {
        margin-bottom: 8px;
    }
    .ec-ingredientItem + .ec-ingredientItem {
        background-size: 4px 1px;
    }
}

/*contact.html*/
.ec-contactRole {
    width: 100%;
    max-width: 1020px;
    padding: 25px 20px 100px;
}
.ec-contactRole .ec-off1Grid .ec-off1Grid__cell {
    width: auto;
    margin-left: 0;
}
.ec-contactRole p {
    margin: 0;
}
.ec-contactRole p.contact_body__text {
    font-size: 1.32rem;
    line-height: 1.8;
    white-space: pre-wrap;
}
.ec-radio .ec-errorMessage {
    font-size: 12px;
    font-weight: bold;
    color: #de5d50;
    margin-bottom: 25px;
}
p.ec-para-normal {
    line-height: 26px;
    letter-spacing: 0.06em;
    text-align: center;
    margin: 0 0 20px;
}
p.ec-contact_p01 {
    text-align: center;
    font-size: 10px;
    letter-spacing: 0.06em;
    margin-bottom: 45px;
}
.ec-anchorUl {
    display: flex;
    justify-content: center;
}
.ec-anchorUl li + li {
    margin-left: 20px;
}
.ec-anchorUl li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 300px;
    max-width: 100%;
    height: 50px;
    background: #fff0ce;
    border-radius: 50px;
    font-size: 14px;
    text-decoration: none;
    color: #ec6c01;
}
.ec-anchorUl li a span {
    padding-right: 30px;
    background: url(../img/contact/icon_anchor01.svg) no-repeat right center;
    background-size: 10px auto;
}
.ec-anchorUl li + li a {
    color: #e56868;
    background: #fff5f5;
}
.ec-anchorUl li + li a span {
    background: url(../img/contact/icon_anchor02.svg) no-repeat right center;
    background-size: 10px auto;
}
.ec-contactSec01 {
    padding: 60px 0 45px;
}
.ec-contactSec02 {
    padding: 50px 40px 0px;
}
.ec-contactHd {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    color: #2c2927;
    margin-bottom: 40px;
}
.ec-contact_tab_ul {
    display: flex;
    justify-content: center;
    background: #fff0ce;
    border-radius: 3px;
}
.ec-contact_tab_ul li {
    margin: 0 20px;
}
.ec-contact_tab_ul li a {
    display: block;
    padding: 15px 0;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    border-bottom: 2px solid transparent;
}
.ec-contact_tab_ul li a.is_active {
    color: #ec6c01;
    border-color: #ec6c01;
}
.ec-contact_tab_box {
    display: none;
    padding: 40px 40px 0;
}
.ec-contact_tab_box.is_active {
    display: block;
}
.ec-contact_faq {
    border-radius: 3px;
    background: #ffffff;
    box-shadow: 3px 3px 0 rgba(92, 92, 92, 0.16);
}
.ec-contact_faq + .ec-contact_faq {
    margin-top: 20px;
}
.ec-contact_faq dt {
    position: relative;
    padding: 20px 100px 20px 72px;
    color: #ec6c01;
    font-size: 16px;
    cursor: pointer;
    background: url(../img/contact/faq_open.svg) no-repeat right 40px center;
    background-size: 20px auto;
    font-weight: 400;
}
.ec-contact_faq dt.is_active {
    background: url(../img/contact/faq_close.svg) no-repeat right 40px center;
    background-size: 20px auto;
}
.ec-contact_faq dt:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background: url(../img/contact/icon_q.png) no-repeat left top;
    background-size: 52px auto;
}
.ec-contact_faq dd {
    display: none;
    padding: 0px 100px 30px 72px;
    background: url(../img/contact/icon_a.png) no-repeat left 7px top;
    background-size: 12px auto;
}
.ec-contact_faq_txt,
.helpful_txt {
    font-size: 14px;
    letter-spacing: 0.06em;
}
.helpfulBox {
    text-align: center;
    margin-top: 34px;
}
.helpful_btn {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}
.helpful_btn li + li {
    margin-left: 20px;
}
.helpful_btn li button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 300px;
    max-width: 100%;
    height: 50px;
    background: #fff0ce;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 500;
    background: #ec6c01;
    color: #fff;
}
.helpful_btn li + li button {
    background: #fff;
    color: #5a5a5a;
    border: 1px solid #5a5a5a;
}

.ec-zipInputHelp {
    margin: 0;
    margin-left: 30px;
}
.ec-zipInputHelp a {
    display: inline-block;
    vertical-align: middle;
}
.ec-zipInputHelp a span {
    color: #2c2927;
}
.ec-zipInputHelp__icon02 {
    display: inline-block;
    vertical-align: middle;
    width: 20px;
}
.ec-borderedDefs select.p-region-id,
.ec-borderedDefs select.birth-select,
.ec-borderedDefs select.profession-select {
    margin-left: 42px;
    padding: 0 30px 0 20px;
    width: 180px;
    height: 40px;
    background: url(../img/contact/select.svg) no-repeat right 14px center #fff;
    background-size: 10px auto;
    border: 1px solid #cccccc;
    border-radius: 5px;

    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -moz-appearance: none;
}
.ec-borderedDefs select.p-region-id {
    background: none;
    border: none;
    background-color: #eee;
}
.ec-borderedDefs select.p-creditCard {
    background: none;
    border: none;
    background-color: #fff0ce;
    margin-left: 42px;
    padding: 0 30px 0 20px;
    width: 180px;
    height: 40px;
}
.ec-borderedDefs .ec-zipInput {
    font-size: 0;
}
.ec-borderedDefs .ec-zipInput span,
.ec-borderedDefs .ec-halfInput span {
    display: inline-block;
    font-size: 16px;
    width: 42px;
    padding: 0;
    margin-left: 0;
    text-align: center;
}
.ec-borderedDefs .ec-zipInput input[type="text"] {
    width: 180px;
    max-width: none;
}
.ec-borderedDefs .ec-halfInput input[type="text"] {
    max-width: 180px;
    margin-left: 0;
}
.ec-borderedDefs .ec-halfInput span {
    text-align: left;
}
.ec-borderedDefs .ec-halfInput input[type="text"] + span {
    margin-left: 60px;
}
.ec-borderedDefs dl {
    padding-top: 20px;
}
.ec-borderedDefs dt {
    padding-top: 6px;
}
.ec-borderedDefs dl:last-of-type {
    border-bottom: none;
}
.ec-borderedDefs textarea {
    min-height: 200px;
    resize: none;
}
.ec-borderedDefs .ec-telInput input {
    max-width: 250px;
    display: inline-block;
}
.ec-borderedDefs .ec-telInput span {
    padding: 0 14px;
}

.ec-RegisterRole__actions button {
}
.ec-contact_formBtn {
    display: flex;
    justify-content: center;
}
.ec-contact_formBtn button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 390px;
    max-width: 100%;
    height: 60px;
    background: #e56868;
    border-radius: 50px;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 500;
    color: #fff;
}
.ec-contact_formBtn button:disabled {
    background: #d1d1d1;
}
.ec-contact_formBtn button + button {
    margin-left: 20px;
}
.ec-contact_formBtn button.ec-contact_reset {
    background: #fff;
    color: #2c2927;
    border: 1px solid #2c2927;
}
.ec-contact_formBtn .ec-contact_back {
    background: #fff;
    color: #ec6c01;
    border: 1px solid #ec6c01;
}
.ec-contact_formBtn button.ec-contact_confirm span {
    padding: 0 34px;
    background: url(../img/contact/arrow_confirm.svg) no-repeat right center;
    background-size: 24px auto;
}
.ec-contact_formBtn .ec-contact_back span {
    padding-left: 34px;
    background: url(../img/contact/arrow_back.svg) no-repeat left center;
    background-size: 24px auto;
}
.error.ec-input input,
.error.ec-halfInput input,
.error.ec-numberInput input,
.error.ec-zipInput input,
.error.ec-telInput input,
.error.ec-select input,
.error.ec-birth input,
.error.ec-input select,
.error.ec-halfInput select,
.error.ec-numberInput select,
.error.ec-zipInput select,
.error.ec-telInput select,
.error.ec-select select,
.error.ec-birth select,
.error.ec-input textarea {
    margin-bottom: 16px;
    border: 1px solid #e56868;
    background: #fff5f5;
}
.ec-confirm .ec-borderedDefs dd {
    line-height: 2;
    padding-bottom: 16px;
}
@media only screen and (max-width: 768px) {
    .ec-contactRole p.contact_body__text {
        margin-bottom: 20px;
    }
    .ec-borderedDefs dt {
        font-size: 15px;
    }
    .ec-borderedDefs .ec-halfInput input[type="text"] + span {
        margin-left: 5px;
    }
    .ec-required {
        margin-left: 0.8em;
        vertical-align: 1px;
        display: inline-block;
        text-align: center;
        width: 43px;
        line-height: 22px;
        border-radius: 3px;
        background: #e56868;
        color: #fff;
        font-size: 12px;
        font-weight: bold;
    }
    .ec-borderedDefs .ec-zipInput span {
        text-align: left;
    }
    .ec-addrDl .ec-input {
        padding-left: 42px;
    }
}
@media only screen and (max-width: 768px) {
    .ec-contactRole {
        padding: 25px 15px 70px;
    }
    .ec-borderedDefs {
        margin-bottom: 40px;
        padding: 0 15px;
    }
    .ec-cartCard_itemCont .ec-borderedDefs {
        padding: 0;
    }
    .ec-contactSec02 {
        padding: 25px 0 0;
    }
    .ec-anchorUl {
        display: block;
    }
    .ec-anchorUl li + li {
        margin-left: 0px;
        margin-top: 10px;
    }
    .ec-anchorUl li a {
        margin: 0 auto;
        width: 250px;
        height: 45px;
    }
    .ec-anchorUl li a span {
        padding-right: 20px;
    }
    .ec-contactHd {
        margin-bottom: 28px;
    }
    .ec-contact_tab_ul {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        background: #fff0ce;
        border-radius: 3px;
        margin: 0 -15px;
    }
    .ec-contact_tab_box {
        padding: 20px 0 0;
    }
    .ec-contact_faq dt {
        padding: 7px 50px;
        font-size: 16px;
        line-height: 23px;
        background: url(../img/contact/faq_open.svg) no-repeat right 15px center;
        background-size: 15px auto;
    }
    .ec-contact_faq dt.is_active {
        background: url(../img/contact/faq_close.svg) no-repeat right 15px
            center;
        background-size: 15px auto;
    }
    .ec-contact_faq dd {
        display: none;
        padding: 10px 50px 30px;
        background-position: top 10px left 10px;
    }
    .helpfulBox {
        margin-top: 18px;
    }
    .helpful_btn {
        display: block;
        margin-top: 15px;
    }
    .helpful_btn li + li {
        margin-left: 0px;
        margin-top: 10px;
    }
    .helpful_btn li button {
        width: 250px;
        height: 45px;
        font-size: 14px;
        margin: 0 auto;
    }
    .ec-borderedDefs .ec-halfInput input[type="text"] {
        max-width: calc(100% - 42px);
        width: calc(100% - 42px);
    }
    .ec-borderedDefs .ec-halfInput input[type="text"] + span {
        margin: 0;
    }
    .ec-borderedDefs dd {
    }
    .ec-borderedDefs .ec-zipInput span,
    .ec-borderedDefs .ec-halfInput span {
        font-size: 13px;
    }
    .ec-borderedDefs .ec-zipInput input[type="text"] {
        width: 140px;
    }
    .ec-borderedDefs select.p-region-id,
    .ec-borderedDefs select.birth-select,
    .ec-borderedDefs select.profession-select {
        width: 140px;
        font-size: 13px;
        padding: 0 30px 0 15px;
    }
    .ec-borderedDefs .ec-telInput input {
        max-width: 100%;
    }
    .ec-zipInputHelp {
        margin-left: 10px;
    }
    .ec-zipInputHelp span {
        font-size: 13px;
    }
    .ec-borderedDefs textarea {
        min-height: 150px;
    }
    .ec-contact_formBtn button {
        margin: 0 auto;
        width: 300px;
        height: 50px;
        font-size: 16px;
        line-height: 1.5;
        font-weight: 500;
    }
    .ec-contact_formBtn button + button {
        margin: 0 auto 15px;
    }
    .ec-contact_formBtn button.ec-contact_confirm span {
        padding: 0 29px;
        background: url(../img/contact/arrow_confirm.svg) no-repeat right center;
        background-size: 19px auto;
    }
    .ec-contact_formBtn .ec-contact_back span {
        padding-left: 29px;
        background: url(../img/contact/arrow_back.svg) no-repeat left center;
        background-size: 19px auto;
    }
    .ec-borderedDefs dl {
        padding: 15px 0 10px;
    }
    .ec-confirm .ec-borderedDefs dd {
        padding-bottom: 10px;
        font-size: 13px;
        line-height: 1.5;
    }
    .ec-input input,
    .ec-halfInput input,
    .ec-numberInput input,
    .ec-zipInput input,
    .ec-telInput input,
    .ec-select input,
    .ec-birth input {
        font-size: 13px;
    }
    .error.ec-input input,
    .error.ec-halfInput input,
    .error.ec-numberInput input,
    .error.ec-zipInput input,
    .error.ec-telInput input,
    .error.ec-select input,
    .error.ec-birth input,
    .error.ec-input select,
    .error.ec-halfInput select,
    .error.ec-numberInput select,
    .error.ec-zipInput select,
    .error.ec-telInput select,
    .error.ec-select select,
    .error.ec-birth select,
    .error.ec-input textarea {
        margin-bottom: 10px;
    }
}

.ec-thanksWrap .ec-contactHd {
    font-size: 24px;
}
.ec-thanks_btn {
    text-align: center;
}
.ec-thanks_btn a {
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 290px;
    max-width: 100%;
    height: 60px;
    border-radius: 30px;
    background: #ec6c01;
    color: #fff;
    font-size: 20px;
}
.ec-para-normal + .ec-thanks_btn {
    margin-top: 60px;
}
.ec-passwordSec .ec-borderedDefs {
    margin-bottom: 60px;
}

.ec-privacy_notice {
    font-size: 12px;
    letter-spacing: 0.06em;
    margin-top: 10px;
}
.ec-privacy_tel {
    font-size: 12px;
    letter-spacing: 0.06em;
    margin: 20px 0 40px;
}
.ec-privacy_tel a {
    display: inline-block;
    vertical-align: middle;
    font-size: 26px;
    font-weight: 500;
    color: #ec6c01;
    margin-right: 10px;
}
.ec-privacy_lastP {
    text-align: center;
    padding-top: 60px;
    border-top: 1px solid #eaeaea;
    margin-top: 60px;
}
.ec-privacy_lastP a {
    color: #ec6c01;
    text-decoration: underline;
}

@media only screen and (max-width: 768px) {
    .ec-thanksWrap .ec-contactHd {
        font-size: 21px;
    }
    .ec-thanks_btn {
        text-align: center;
    }
    .ec-thanks_btn a {
        margin: 0 auto;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 300px;
        max-width: 100%;
        height: 50px;
        border-radius: 30px;
        background: #ec6c01;
        color: #fff;
        font-size: 16px;
    }
    p.ec-contact_p01 {
        margin-bottom: 30px;
    }
    .ec-para-normal + .ec-thanks_btn {
        margin-top: 30px;
    }
    .ec-para-normal.tl {
        text-align: left;
    }
    .ec-passwordSec .ec-borderedDefs {
        margin-bottom: 20px;
    }

    .ec-privacy_notice {
        padding-left: 1em;
        text-indent: -1em;
        font-size: 12px;
        line-height: 20px;
    }
    .ec-privacy_tel {
        font-size: 12px;
        line-height: 20px;
        letter-spacing: 0.06em;
        margin: 10px 0 30px;
    }
    .ec-privacy_tel a {
        margin-right: 6px;
        margin-bottom: 6px;
    }
    .ec-privacy_lastP {
        text-align: left;
        padding-top: 50px;
        border-top: 1px solid #eaeaea;
        margin-top: 40px;
    }
    .ec-legal_hd.tc {
        text-align: center;
        line-height: 1.5;
        height: 65px;
    }
}
@media only screen and (max-width: 630px) {
    .ec-contact_formBtn {
        display: flex;
        flex-wrap: wrap-reverse;
    }
}

/*register.html*/
.ec-registerWrap {
}
p.ec-register_key {
    line-height: 40px;
    padding: 0px 42px 16px;
}
.ec-borderedDefs .ec-radio label {
    font-weight: 400;
    margin-right: 40px;
}
.ec-borderedDefs .ec-radio label input {
    margin-left: 10px;
}
.ec-birthday select.birth-select {
    max-width: 120px;
    margin-right: 5px;
}
.ec-birthday select.birth-select.short {
    max-width: 100px;
}
.ec-profession select.profession-select {
    width: 360px;
    margin-left: 0;
}
.kiyaku_body {
    overflow-y: scroll;
    height: 150px;
    border-radius: 5px;
    border: solid 1px #ccc;
    margin-bottom: 2rem;
    padding: 15px;
}
.kiyaku_body dl,
.kiyaku_body p {
    font-size: 1.3rem;
}
.kiyaku_body dt {
    font-weight: normal;
}
.kiyaku_body dd {
    margin-bottom: 1.5rem;
}
.kiyaku_area {
    margin-bottom: 30px;
}
.kiyaku_area .ec-checkbox-cart {
    text-align: center;
}
.kiyaku_area .ec-checkbox-cart.ec-checkbox span {
    font-weight: bold;
}
.kiyaku_area h3, .privacy-policy_area h3{
	padding: 5px;
}
.privacy-policy_body {
	overflow-y: scroll;
	height: 150px;
	border-radius: 5px;
	border: solid 1px #CCC;
	margin-bottom: 2rem;
	padding: 15px;
}
.privacy-policy_body dl,
.privacy-policy_body p {
	font-size: 1.3rem;
}
.privacy-policy_body dt {
	font-weight: normal;
}
.privacy-policy_body dd {
	margin-bottom: 1.5rem;
}
.privacy-policy_area {
	margin-bottom: 80px;
}
.privacy-policy_area .ec-checkbox-cart {
	text-align: center;
}
.privacy-policy_area .ec-checkbox-cart.ec-checkbox span {
	font-weight: bold;
}
@media only screen and (max-width: 768px) {
    .ec-birthday span + select.birth-select {
        margin-left: 14px;
    }
}
@media only screen and (max-width: 768px) {
    p.ec-register_key {
        font-size: 13px;
        line-height: 2;
        padding: 0px 0px 10px;
    }
    .ec-borderedDefs .ec-radio label {
        font-weight: 400;
        margin-right: 40px;
    }
    .ec-borderedDefs .ec-radio label input {
        margin-left: 10px;
    }
    .ec-birthday dd {
        font-size: 13px;
    }
    .ec-birthday select.birth-select {
        margin-left: 0;
        max-width: 90px;
        margin-right: 3px;
    }
    .ec-birthday select.birth-select.short {
        max-width: 65px;
    }
    .ec-profession select.profession-select {
        width: 100%;
        margin-left: 0;
    }
    .kiyaku_body {
        height: 400px;
    }
    .kiyaku_area .ec-checkbox-cart input[type="checkbox"] {
        margin-right: 10px;
    }
    .kiyaku_area .ec-checkbox-cart.ec-checkbox label {
        font-size: 1.25rem;
    }
    .privacy-policy_body {
		height: 400px;
	}
	.privacy-policy_area .ec-checkbox-cart input[type=checkbox] {
		margin-right: 10px;
	}
	.privacy-policy_area .ec-checkbox-cart.ec-checkbox label {
		font-size: 1.25rem;
	}
}

/*news.html*/
.ec-newsWrap {
    padding: 25px 0 100px;
}
.pagerWrap {
    display: flex;
    justify-content: space-between;
    margin: 50px -10px 0;
}
.pagerWrap .flex {
    display: flex;
    justify-content: center;
}
.pagerWrap span,
.pagerWrap a {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 6px;
    width: 54px;
    height: 54px;
    font-size: 16px;
    color: #5a5a5a;
    background: #fff;
    border: 1px solid #5a5a5a;
    margin: 0 10px;
    opacity: 1 !important;
}
.pagerWrap span {
    color: #fff;
    background: #ec6c01;
    border-color: #ec6c01;
}
.pagerWrap a.pagerNext,
.pagerWrap a.pagerPrev {
    width: 170px;
}
@media only screen and (max-width: 768px) {
    .ec-newsWrap {
        padding: 25px 0 75px;
    }
    .ec-newsWrap .ec-pageHeader h1 {
        margin-bottom: 20px;
    }

    .pagerWrap {
        display: flex;
        justify-content: space-between;
        margin: 50px -7px 0;
    }
    .pagerWrap .flex {
        display: flex;
        justify-content: center;
    }
    .pagerWrap span,
    .pagerWrap a {
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 3px;
        width: 45px;
        height: 45px;
        font-size: 14px;
        color: #5a5a5a;
        background: #fff;
        border: 1px solid #5a5a5a;
        margin: 0 7px;
        opacity: 1 !important;
    }
    .pagerWrap span {
        color: #fff;
        background: #ec6c01;
        border-color: #ec6c01;
    }
    .pagerWrap a.pagerNext,
    .pagerWrap a.pagerPrev {
        width: 75px;
    }
}

/*news_detail*/
.ec-newsDetailWrap {
    padding: 25px 0 100px;
}
.ec-pager_detail font.pc02 {
    padding: 0 10px;
}
.ec-pager_detail {
    justify-content: center;
}
.ec-pager_all a {
    border: none;
    width: auto;
    margin: 0 60px;
}
.ec-newsDetailWrap .ec-indexUl03_txt {
    font-size: 24px;
}
.ec-newsDetailWrap .ec-indexUl03 li {
    padding: 0 0 15px;
    margin-bottom: 40px;
    background-image: linear-gradient(
        to right,
        #ec6c01 0%,
        #ec6c01 50%,
        transparent 50%
    );
    background-size: 8px 1px;
    background-position: bottom center;
    background-repeat: repeat-x;
}
.ec-newsDetail_txt {
    line-height: 2;
}
.ec-newsDetail_txt span {
    display: block;
    font-weight: 500;
    color: #ec6c01;
    padding: 15px 0;
}
.ec-newsDetail_txt + .ec-newsDetail_txt {
    margin-top: 32px;
}
@media only screen and (max-width: 768px) {
    .ec-newsDetailWrap {
        padding: 25px 0 75px;
    }
    .ec-pager_detail font.pc02 {
        padding: 0 10px;
    }
    .ec-pager_detail {
        justify-content: space-between;
    }
    .ec-pager_all a {
        border: none;
        width: auto;
        margin: 0;
    }
    .ec-newsDetailWrap .ec-indexUl03_txt {
        font-size: 24px;
    }
    .ec-newsDetailWrap .ec-indexUl03 li {
        padding: 0 0 15px;
        margin-bottom: 25px;
        background-image: linear-gradient(
            to right,
            #ec6c01 0%,
            #ec6c01 50%,
            transparent 50%
        );
        background-size: 4px 1px;
        background-position: bottom center;
        background-repeat: repeat-x;
    }
    .ec-newsDetail_txt {
        line-height: 1.875;
    }
    .ec-newsDetail_txt span {
        display: block;
        font-weight: 500;
        color: #ec6c01;
        padding: 0 0 15px;
    }
    .ec-newsDetail_txt + .ec-newsDetail_txt {
        margin-top: 30px;
    }
}

/*0618-fb*/
.ec-privacyWrap .ec-pageHeader h1 {
    margin-bottom: 80px;
}
@media only screen and (max-width: 768px) {
    .ec-privacyWrap .ec-pageHeader h1 {
        margin-bottom: 40px;
    }
}

/*cart.html*/
@media only screen and (min-width: 769px) {
    .ec-cartNaviIsset .ec-cartNaviIsset__cartImage img {
        object-fit: contain;
        width: 100px;
        height: 100px;
    }
}
.ec-cartWrap {
    padding: 25px 0 100px;
}
.ec-cartWrap .ec-pageHeader h1 {
    margin-bottom: 30px;
}
#page_shopping_confirm .ec-cartWrap p a {
    font-weight: bold;
    color: #ec6c01;
    text-decoration: underline;
}
.mt30 {
    margin-top: 30px;
}
.ec-cartStep {
    border-radius: 10px;
    border: thin solid #ec6c01;
    display: flex;
    overflow: hidden;
}
.ec-cartStep li {
    width: 100%;
    padding: 14px 0;
    position: relative;
    color: #ec6c01;
    text-align: center;
}
.ec-cartStep li.is_active {
    color: #fff;
    background: #ec6c01;
}
.ec-cartStep li:before {
    content: "";
    position: absolute;
    left: 100%;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: url(../img/cart/step_no.png) no-repeat left center;
    background-size: auto 100%;
    pointer-events: none;
}
.ec-cartStep li.is_active:before {
    background: url(../img/cart/step_on.png) no-repeat left center;
    background-size: auto 100%;
}
.ec-cartStep li:last-of-type:before {
    content: none !important;
}
.ec-cartStep_en {
    font-size: 12px;
    letter-spacing: 0.06em;
}
.ec-cartStep_jp {
    font-size: 16px;
    letter-spacing: 0.06em;
    font-weight: bold;
}
.camBanner {
    margin-top: 30px;
}
.ec-cartGoods {
    padding: 50px 0 0;
}
.ec-cartGoods_item + .ec-cartGoods_item {
    margin-top: 100px;
}
.ec-cartGoods_hd {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 45px;
}
.ec-cartGoods_cont {
    border-top: 1px solid #efb585;
    border-bottom: 1px solid #efb585;
}
.ec-cartRow_list {
    padding: 50px 0;
    display: flex;
    justify-content: space-between;
}
.ec-cartRow_list + .ec-cartRow_list {
    border-top: 1px solid #efb585;
}
.ec-cartRow_left_top {
    display: flex;
    margin-bottom: 20px;
}
.ec-cartRow_img {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    height: 200px;
    border-radius: 10px;
    border: 1px solid #e6cc92;
    padding: 20px;
    margin-right: 50px;
}
.ec-cartRow_img img {
    object-fit: contain;
    width: auto;
    height: 160px;
    max-height: 100%;
}
.ec-cartRow_list .ec-productRole__title {
    margin-bottom: 15px;
}
.ec-cartRow_list .ec-productRole__title span {
    margin-right: 0px;
}
.ec-cartRow_list .ec-productRole__specifications {
    margin-bottom: 0;
}
.ec-cartRow_right {
    display: flex;
    flex-direction: column;
    /*justify-content: space-between;*/
    align-items: flex-end;
}
.ec-cartRow_right .cancelMessage {
    font-weight: bold;
    width: 100%;
    color: #de5d50;
    border: solid 2px #de5d50;
    margin-bottom: 20px;
    padding: 10px;
    text-align: center;
}
.ec-cartRow_right_top {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
}
.ec-cartRow_delete {
    margin-bottom: 30px;
}
.ec-cartRow_delete span {
    text-decoration: underline;
}
.ec-productRole__actions.ec-cartRow_amount {
    display: flex;
    align-items: center;
    padding-top: 0;
}
.ec-productRole__actions.ec-cartRow_amount select {
    margin: 0 0 0 9px;
}
.ec-cartRow_price {
    display: flex;
    align-items: center;
}
.ec-cartRow_price .ec-price {
    font-weight: bold;
    margin-left: 24px;
}
.ec-cartRole__total .ec-cartRole__totalAmount {
    display: inline-block;
    margin-left: 24px;
}
.ec-cartRow_price .ec-price__price,
.ec-cartRole__total .ec-cartRole__totalAmount {
    font-size: 30px;
    font-weight: bold;
}
.ec-cartRole__total {
    font-weight: bold;
    margin-top: 30px;
    text-align: right;
}
.ec-cartRole__total .ec-price__tax {
    display: inline-block;
    font-size: 12px;
    margin-left: 6px;
}
.ec-cartGoods_btn a {
    margin: 80px auto 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 320px;
    max-width: 100%;
    height: 60px;
    border-radius: 5px;
    background: #e56868;
    color: #fff;
    font-size: 20px;
}
.ec-cartGoods_back {
    text-align: center;
    margin-top: 20px;
    font-size: 20px;
}
.ec-cartGoods_back a {
}
@media only screen and (max-width: 768px) {
    .ec-cartStep li {
        padding: 5px 0;
    }
    .ec-cartStep_en {
        font-size: 10px;
    }
    .ec-cartStep_jp {
        font-size: 13px;
        line-height: 1.33;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .ec-cartGoods {
        padding-top: 30px;
    }
    .ec-cartGoods_item + .ec-cartGoods_item {
        margin-top: 80px;
    }
    .ec-cartGoods_hd {
        margin-bottom: 15px;
    }
    .ec-cartGoods_cont {
        margin: 0 -15px;
        padding: 0 15px;
    }
    .ec-cartRow_list {
        padding: 30px 15px;
        margin: 0 -15px;
        display: block;
        position: relative;
    }
    .ec-cartRow_right,
    .ec-cartRow_right_top {
        display: block;
    }
    .ec-cartRow_right_top {
        margin-bottom: 15px;
    }
    .ec-cartRow_delete {
        position: absolute;
        top: 30px;
        right: 15px;
    }
    .ec-cartRow_amount.ec-productRole__actions .txt {
    }
    .ec-cartRow_amount.ec-productRole__actions select {
        width: 150px;
        height: 40px;
        margin-left: 20px;
    }
    .ec-cartRow_left_top {
        margin-bottom: 15px;
    }
    .ec-cartRow_list .ec-productRole__specifications {
        margin-bottom: 25px;
    }
    .ec-cartRow_img {
        width: 115px;
        height: 115px;
        border-radius: 5px;
        border: 1px solid #e6cc92;
        padding: 10px;
        margin-right: 15px;
    }
    .ec-cartRow_list .ec-productRole__category {
        display: block;
        margin-bottom: 10px;
    }
    .ec-cartGoods_btn a {
        margin-top: 50px;
        width: 280px;
        height: 50px;
        font-size: 15px;
    }
    .ec-cartGoods_back {
        margin-top: 15px;
        font-size: 15px;
    }
    .ec-cartRole__total {
        text-align: left;
    }
    .ec-cartRow_img img {
        height: 90px;
    }
}

/*cart_order*/
.ec-cartOrder {
    padding: 66px 0 0;
}
.ec-cartOrder_item + .ec-cartOrder_item {
    margin-top: 30px;
}
.ec-cartOrder_item .ec-slide_hd {
    background: #fff0ce;
    border-radius: 6px;
    color: #ec6c01;
}
.ec-cartOrder_itemCont {
    padding: 26px 0;
}
.ec-cartOrder_itemTxt {
    font-size: 16px;
    line-height: 2;
}
.ec-cartOrder_itemTxt + .ec-cartOrder_itemTxt {
    margin-top: 32px;
}
.ec-cartOrder_itemTxt > span,
.ec-cartOrder_itemTxt p > span {
    display: block;
    font-weight: bold;
    margin-bottom: 10px;
}
.ec-cartOrder_date {
    display: flex;
    line-height: 1;
}
.ec-cartOrder_date
    .ec-productRole__actions.ec-cartRow_amount
    + .ec-productRole__actions.ec-cartRow_amount {
    margin-left: 50px;
    border-left: 1px solid #efb585;
    padding-left: 50px;
}
.ec-cartOrder_date .ec-productRole__actions.ec-cartRow_amount select {
    width: 220px;
    margin-left: 30px;
}
.ec-cartOrder_content {
    margin-top: 50px !important;
    padding-top: 30px;
    background-image: linear-gradient(
        to right,
        #5a5a5a 0%,
        #5a5a5a 50%,
        transparent 50%
    );
    background-size: 6px 1px;
    background-position: top center;
    background-repeat: repeat-x;
}
.ec-cartOrder_content .ec-cartRow_list {
    padding: 20px 0 0;
}
.ec-cartOrder_content .ec-cartRow_left_top {
    align-items: center;
}
.ec-cartOrder_item .ec-radio label {
    font-weight: 400;
    margin-right: 60px;
}
.ec-cartOrder_item .ec-radio label input {
    margin-right: 20px;
}
.ec-cartOrder_points input[type="number"] {
    width: 160px;
    height: 40px;
    border: 2px solid #fff0ce;
    font-size: 18px;
    padding: 0 20px;
    border-radius: 5px;
    margin-left: 20px;
}
.ec-cartOrder_subtotal {
    padding: 15px 0;
    font-size: 16px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.ec-cartOrder_subtotal dt {
    font-weight: 400;
}
.ec-cartOrder_subtotal + .ec-cartOrder_subtotal {
    background-image: linear-gradient(
        to right,
        #5a5a5a 0%,
        #5a5a5a 50%,
        transparent 50%
    );
    background-size: 6px 1px;
    background-position: top center;
    background-repeat: repeat-x;
}
.ec-cartOrder_subtotal.total {
    background: none;
    border-top: 2px solid #efb585;
    font-size: 20px;
    font-weight: bold;
}
.ec-cartOrder_subtotal.total dt {
    font-weight: bold;
}
.ec-cartOrder_formBtn {
    margin-top: 75px;
}
.ec-cartOrder_addr {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.ec-cartOrder_addr a {
    text-decoration: underline;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    height: 50px;
    border: 2px solid #fff0ce;
    border-radius: 5px;
}

.ec-cartWrap .ec-thanksWrap {
    padding-top: 100px;
}
@media only screen and (max-width: 768px) {
    .ec-cartOrder {
        padding-top: 40px;
    }
    .ec-cartOrder_item .ec-slide_hd {
        border-radius: 0;
        margin: 0 -15px;
        padding: 0 15px;
    }
    .ec-cartOrder_itemCont {
        padding: 20px 0;
    }
    .ec-cartOrder_itemTxt {
        line-height: 2.375;
    }
    .ec-cartOrder_itemTxt > span,
    .ec-cartOrder_itemTxt p > span {
        font-size: 24px;
        margin-bottom: 0;
    }
    .ec-cartOrder_addr {
        display: block;
    }
    .ec-cartOrder_addr a {
        margin: 30px auto 0;
        width: 285px;
        height: 45px;
        border: 1px solid #fff0ce;
        border-radius: 3px;
    }
    .ec-cartOrder_date {
        display: block;
    }

    .ec-cartOrder_date
        .ec-productRole__actions.ec-cartRow_amount
        + .ec-productRole__actions.ec-cartRow_amount {
        margin-left: 0;
        padding-left: 0;
        border-left: none;
        margin-top: 20px;
    }
    .ec-cartOrder_date .ec-productRole__actions.ec-cartRow_amount font {
        padding-left: 30px;
        border-left: 1px solid #efb585;
        margin-left: 30px;
    }
    .ec-cartRow_amount.ec-productRole__actions .txt {
        min-width: 120px;
    }
    .ec-cartRow_amount.ec-productRole__actions .txt.now {
        min-width: auto;
    }
    .ec-cartOrder_date
        .ec-productRole__actions.ec-cartRow_amount
        .ec-numberInput {
        width: calc(100% - 120px);
    }
    .ec-cartOrder_date .ec-productRole__actions.ec-cartRow_amount select {
        margin-left: 0;
        width: 100%;
    }
    .ec-cartOrder_content {
        background: none;
        border-top: 1px solid #efb585;
        margin: 28px -15px 0;
        padding: 20px 15px 0;
    }
    .ec-cartOrder_content .ec-cartRow_list .ec-productRole__specifications {
        margin-bottom: 0;
    }
    .ec-cartOrder_content .ec-cartRow_price {
        display: block;
    }
    .ec-cartOrder_content .ec-cartRow_price_txt {
        text-align: right;
    }
    .ec-cartOrder_item .ec-radio label {
        font-size: 18px;
    }
    .ec-cartOrder_item .ec-radio label input {
        margin-right: 7px;
    }
    .ec-cartOrder_points {
        font-weight: 500;
    }
    .ec-cartOrder_points input[type="number"] {
        width: 100%;
        margin: 10px 0 0;
        height: 45px;
    }
    .ec-cartOrder_subtotal {
        height: 75px;
        margin: 0 -15px;
        padding: 0 15px;
    }
    .ec-cartOrder_subtotal + .ec-cartOrder_subtotal {
        background-size: 3px 1px;
    }
    .ec-cartOrder_subtotal.total {
        font-size: 18px;
        border-top-width: 1px;
    }
    .ec-cartOrder_formBtn {
        margin-top: 10px;
    }

    .ec-cartWrap .ec-thanksWrap {
        padding-top: 80px;
    }
}

/*subscribe*/
.ec-subscribeNav {
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
}
.ec-subscribeNav li {
    width: 33.33%;
    border: 1px solid #efb585;
    border-top: 0;
    overflow: hidden;
}
.ec-subscribeNav li:nth-of-type(3n) {
    border-left: 0;
}
.ec-subscribeNav li:nth-of-type(3n + 1) {
    border-right: 0;
}
.ec-subscribeNav li:nth-of-type(1),
.ec-subscribeNav li:nth-of-type(2),
.ec-subscribeNav li:nth-of-type(3) {
    border-top: 1px solid #efb585;
}

.ec-subscribeNav li:nth-of-type(1) {
    border-radius: 10px 0 0 0;
}

.ec-subscribeNav li:nth-of-type(3) {
    border-radius: 0 10px 10px 0;
}

.ec-subscribeNav li:nth-of-type(4) {
    border-radius: 0 0 0 10px;
}

.ec-subscribeNav li:nth-of-type(5) {
    border-radius: 0 0 10px 0;
}

.ec-subscribeNav li a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    color: #ec6c01;
    letter-spacing: 0.06em;
    font-weight: bold;
}
.ec-subscribeNav li a.is_active {
    background: #fff0ce;
    pointer-events: none;
}
.ec-subscribe_points {
    text-align: center;
    margin: 60px 0;
    line-height: 1.625;
    letter-spacing: 0.06em;
}
div.ec-subscribe_points {
    color: #e32b19;
}

.ec-subscribeList .ec-cartGoods_hd {
    margin-bottom: 0;
}
.ec-cartGoods_hd font {
    font-weight: 400;
    font-size: 16px;
    margin-left: 15px;
}
.ec-subscribeList .ec-productRole__title {
    margin-bottom: 5px;
}
.ec-subscribeList .ec-productRole__title span {
    font-size: 22px;
}
.ec-subscribeList .ec-productRole__specifications {
    font-size: 14px;
}
.cancelMessage_history {
    line-height: 1.8;
    width: 100%;
    border: solid 2px #de5d50;
    margin-bottom: 20px;
    padding: 20px;
    text-align: center;
}
.cancelMessage_history .ttl {
    font-size: 2.4rem;
    font-weight: bold;
    color: #de5d50;
    margin-bottom: 10px;
}
.ec-subscribe_data {
    border-radius: 3px;
    background: #fff0ce;
    padding: 20px 30px;
    min-height: 200px;
    display: flex;
    align-items: center;
    font-size: 14px;
    line-height: 26px;
}
.ec-subscribe_dataCont {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.ec-subscribe_dataTable {
    letter-spacing: 0.05em;
}
.ec-subscribe_dataTable th {
    padding-right: 30px;
    vertical-align: top;
    white-space: nowrap;
}
.ec-subscribe_dataLink a {
    text-decoration: underline;
}
.ec-subscribeWrap {
    padding: 25px 0 100px;
}
.ec-subscribeList .ec-cartGoods_item {
    margin-bottom: -50px;
}
@media only screen and (max-width: 768px) {
    .ec-subscribeList .ec-cartRow_list {
        display: block;
    }
    .ec-subscribeList .ec-cartRow_right {
        display: block;
        margin-top: 20px;
    }
}
@media only screen and (max-width: 768px) {
    .ec-subscribeWrap {
        padding: 25px 0 75px;
    }
    .ec-subscribeList .ec-cartGoods_item {
        margin-bottom: -25px;
    }

    .ec-subscribeNav {
        border-radius: 5px;
    }
    .ec-subscribeNav li {
        width: 50%;
    }

    .ec-subscribeNav li:nth-child(3n + 1) {
        border-right: 1px solid #efb585;
    }
    .ec-subscribeNav li:nth-child(3n) {
        border-left: 1px solid #efb585;
    }

    .ec-subscribeNav li:nth-child(2n) {
        border-left: 0;
    }

    .ec-subscribeNav li:nth-child(1) {
        border-radius: 5px 0 0 0;
    }

    .ec-subscribeNav li:nth-child(2) {
        border-radius: 0 5px 0 0;
    }

    .ec-subscribeNav li:nth-child(3) {
        border-radius: 0;
        border-top: 0;
    }

    .ec-subscribeNav li:nth-child(4) {
        border-radius: 0 0 5px 0;
    }

    .ec-subscribeNav li:nth-child(5) {
        border-radius: 0 0 5px 5px;
    }

    .ec-subscribe_points {
        margin: 45px 0 60px;
        line-height: 1.625;
        letter-spacing: 0.06em;
    }

    .ec-subscribeList .ec-cartRow_left_top {
        align-items: center;
    }
    .ec-subscribe_dataCont {
        display: block;
    }
    .ec-subscribe_dataLink {
        text-align: right;
        margin-top: 5px;
    }
    .cancelMessage_history {
        text-align: left;
        padding: 10px 15px;
    }
    .ec-subscribe_data {
        padding: 20px 25px;
        min-height: auto;
        line-height: 28px;
    }
}

/*subscribe_detail*/
.ec-subscribeDetail {
}
.ec-subscribeDetail_nav {
    display: flex;
    justify-content: center;
    margin: 0 -35px 60px;
}
.ec-subscribeDetail_nav li {
    padding: 0 35px;
}
.ec-subscribeDetail_nav li + li {
    border-left: 1px solid #efb585;
}
.ec-subscribeDetail_nav li a {
    line-height: 20px;
    font-weight: bold;
    color: #ec6c01;
}
.ec-subscribeDetail .ec-subscribe_data {
    padding: 30px 50px;
    margin-bottom: 60px;
}
.ec-subscribeDetail .ec-subscribe_dataTable th {
    padding-right: 50px;
}

.ec-subscribeDetail_infor {
    padding-bottom: 50px;
    margin-bottom: 40px;
    border-bottom: 2px solid #efb585;
}
.ec-subscribeDetail_infor .ec-cartGoods_hd {
    margin-bottom: 30px;
}
.ec-subscribeDetail_infor .ec-cartGoods_hd font {
    margin-left: 30px;
}
.ec-productRole__title font.amount {
    font-size: 14px;
    font-weight: 400;
    color: #2c2927;
}
.ec-productRole__specifications font.current {
    color: #e56868;
}
.ec-subscribeDetail_infor .ec-cartRow_left {
    margin-bottom: 24px;
}
.ec-subscribeDetail_post {
    font-size: 14px;
    margin-top: 30px;
    display: flex;
    align-items: center;
}
.ec-subscribeDetail_post p {
    position: relative;
}
.ec-subscribeDetail_post p + p {
    margin-left: 50px;
    padding-left: 50px;
}
.ec-subscribeDetail_post p + p:after {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 12px;
    background: #000;
    z-index: 2;
    content: "";
}
.ec-subscribeDetail_post span {
    font-size: 16px;
    margin-right: 68px;
}
.ec-subscribeDetail_dl {
    display: flex;
}
.ec-subscribeDetail_dl dt {
    min-width: 200px;
}
.ec-subscribeDetail_dl dd {
    font-size: 14px;
    line-height: 2;
}
.ec-subscribeDetail .ec-cartOrder_itemCont {
    margin-top: 60px;
    background: #f5f8fa;
    border-radius: 6px;
    padding: 10px 50px 40px;
}
.ec-subscribeDetail .ec-thanks_btn {
    margin-top: 45px;
}

@media only screen and (max-width: 768px) {
    .ec-subscribeDetail_nav {
        font-size: 14px;
        margin: 0 -15px 30px;
    }
    .ec-subscribeDetail_nav li {
        padding: 0 18px;
    }
}
@media only screen and (max-width: 768px) {
    .ec-subscribeDetail_nav {
        font-size: 16px;
        margin: 0 0px 20px;
        flex-wrap: wrap;
        justify-content: flex-start;
    }
    .ec-subscribeDetail_nav li {
        padding: 0;
        width: 44%;
        margin-bottom: 20px;
    }
    .ec-subscribeDetail_nav li + li {
        border-left: none;
    }
    .ec-subscribeDetail_nav li:nth-of-type(even) {
        width: 56%;
        border-left: 1px solid #efb585;
        padding-left: 20px;
    }
    .ec-subscribeDetail .ec-subscribe_data {
        padding: 25px;
        line-height: 1.3;
    }
    .ec-subscribeDetail .ec-subscribe_data th,
    .ec-subscribeDetail .ec-subscribe_data td {
        padding: 5px 0;
    }
    .ec-subscribeDetail .ec-subscribe_data th {
        padding-right: 30px;
    }
    .ec-subscribeDetail_infor .ec-cartGoods_hd {
        margin-bottom: 20px;
    }
    .ec-subscribeDetail_infor .ec-cartGoods_hd font {
        margin-left: 10px;
    }
    .ec-subscribeDetail_post {
        display: block;
    }
    .ec-subscribeDetail_post p + p {
        margin: 0;
        padding: 0;
        margin-top: 20px;
    }
    .ec-subscribeDetail_post p + p:after {
        display: none;
    }
    .ec-subscribeDetail_post span {
        display: block;
        font-size: 20px;
        margin-bottom: 20px;
    }
    .ec-subscribeDetail_infor {
        margin: 0 -15px 25px;
        padding: 0 15px 50px;
    }
    .ec-subscribeDetail_dl {
        display: block;
        margin-bottom: 40px;
    }
    .ec-subscribeDetail .ec-cartOrder_itemCont {
        margin-top: 50px;
        padding: 5px 15px;
    }
    .ec-subscribeDetail .ec-cartOrder_subtotal {
        margin: 0;
        padding: 0;
    }
    .ec-subscribeDetail .ec-thanks_btn {
        margin-top: 25px;
    }
}

/*subscribe_frequency*/
.ec-subscribeFreq {
    padding-top: 30px;
}
.ec-subscribeFreq_dl {
    margin-bottom: 40px;
}
.ec-subscribeFreq_hd {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 13px;
}
.ec-subscribeFreq .ec-borderedDefs dl {
    display: block;
}
.ec-subscribeFreq .ec-borderedDefs dt {
    margin-bottom: 25px;
}
.ec-subscribeFreq .ec-borderedDefs dd {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}
.ec-subscribeFreq_radio {
    width: 47%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}
.ec-subscribeFreq_radio .ec-radio label input {
    margin: 0 20px 0 0;
}
.ec-subscribeFreq_radio select.p-region-id {
    width: 300px;
    max-width: calc(100% - 160px);
    margin-left: 0;
}
.ec-subscribeFreq .ec-borderedDefs {
    margin-bottom: 0;
}
.ec-subscribeFreq_radioBtn button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 390px;
    max-width: 100%;
    height: 60px;
    border-radius: 50px;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 500;
    background: #fff;
    color: #ec6c01;
    border: 1px solid;
    margin: 50px auto 30px;
}
.ec-subscribeFreq_box {
    background: #fff0ce;
    border-radius: 3px;
    padding: 40px 70px;
    margin-bottom: 30px;
}
.ec-subscribeFreq_box_title {
    font-size: 20px;
    margin-bottom: 20px;
}
.ec-subscribeFreq_box_txt {
    font-size: 14px;
    line-height: 2.1;
    letter-spacing: 0.06em;
}
.ec-subscribeFreq_box_txt span {
    font-weight: bold;
}
.ec-subscribeFreq_remark {
    padding: 0 30px 50px;
}
.ec-subscribeFreq_remark li {
    display: inline-block;
    font-size: 14px;
    letter-spacing: 0.05em;
    margin-right: 100px;
    margin-bottom: 10px;
}
.ec-subscribeFreq_remark li span {
    display: inline-block;
    width: 30px;
    height: 30px;
    vertical-align: middle;
    margin-right: 20px;
    background: #fff0ce;
}
.ec-subscribeFreq_remark li span.color01,
.ec-subscribeFreq_table td.color01 {
    background: #fff0ce;
}
.ec-subscribeFreq_remark li span.color02,
.ec-subscribeFreq_table td.color02 {
    background: #feeecc;
}
.ec-subscribeFreq_remark li span.color03,
.ec-subscribeFreq_table td.color03 {
    background: #fbe1dd;
}
.ec-subscribeFreq_calendarUl {
    display: flex;
    flex-wrap: wrap;
}
.ec-subscribeFreq_calendarUl li {
    width: 50%;
    padding: 0 30px;
    margin-bottom: 60px;
    text-align: center;
}
.ec-subscribeFreq_date {
    margin-bottom: 20px;
    font-size: 20px;
    letter-spacing: 0.06em;
}
.ec-subscribeFreq_table {
    width: 100%;
}
.ec-subscribeFreq_table th,
.ec-subscribeFreq_table td {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.06em;
    padding: 10px 0;
    text-align: center;
    border: 1px solid #707070;
}
.ec-subscribeFreq_table th {
    font-weight: 500;
    background: #fff0ce;
}
.ec-subscribeFreq_calendar .ec-slide_box {
    padding: 0;
}
.ec-subscribeFreq_calendar .ec-slide_cont {
    background: #fff;
    padding: 0;
}
.ec-subscribeFreq_calendar {
    margin-bottom: 30px;
}

@media only screen and (min-width: 769px) {
    .ec-subscribeFreq_calendar .ec-slide_cont {
        display: block !important;
    }
}
@media only screen and (max-width: 768px) {
    .ec-subscribeFreq_hd {
        font-size: 24px;
        margin-bottom: 10px;
    }
    .ec-subscribeFreq_dl {
        margin-bottom: 50px;
    }
    .ec-subscribeFreq .ec-borderedDefs dt {
        font-size: 24px;
    }
    .ec-subscribeFreq .ec-borderedDefs dd {
        display: block;
    }
    .ec-subscribeFreq_radio {
        width: 100%;
        margin-bottom: 5px;
    }
    .ec-subscribeFreq_radio select.p-region-id {
        max-width: calc(100% - 145px);
    }
    .ec-subscribeFreq_radio .ec-radio label {
        font-size: 18px;
    }
    .ec-subscribeFreq_radio .ec-radio label input {
        margin-right: 10px;
    }
    .ec-subscribeFreq_radioBtn button {
        margin: 35px auto 50px;
        width: 300px;
        height: 50px;
    }
    .ec-subscribeFreq_box {
        padding: 30px 25px;
        margin-bottom: 20px;
    }
    .ec-subscribeFreq_remark {
        padding: 0 0 35px;
    }
    .ec-subscribeFreq_remark li {
        margin-right: 35px;
    }
    .ec-subscribeFreq_remark li span {
        width: 20px;
        height: 20px;
        margin-right: 10px;
    }
    .ec-subscribeFreq_calendar .ec-slide_hd {
        border-bottom: none;
    }
    .ec-subscribeFreq_calendar .ec-slide_cont {
        padding: 30px 15px;
    }
    .ec-subscribeFreq_calendarUl {
        display: block;
    }
    .ec-subscribeFreq_calendarUl li {
        width: auto;
        padding: 0;
        margin-bottom: 40px;
    }
    .ec-subscribeFreq_table th,
    .ec-subscribeFreq_table td {
        font-size: 16px;
        line-height: 37px;
        padding: 0;
    }
}

/*subscribe_next*/
.ec-borderedDefs dl {
    border-bottom: 1px solid #efb585;
}
.ec-borderedDefs dl:last-of-type {
    border-bottom: none;
}
.ec-subscribeNext .ec-borderedDefs select.p-region-id {
    margin: 0 0 20px;
    width: 200px;
}
.ec-subscribeNext .ec-borderedDefs select.p-region-id.large {
    width: 300px;
}
.ec-subscribeAddress .ec-borderedDefs dl:last-of-type {
    border-bottom: 1px solid #efb585;
}

@media only screen and (max-width: 768px) {
    .ec-subscribeNext .ec-borderedDefs {
        margin-bottom: 70px;
    }
    .ec-subscribeNext .ec-borderedDefs dl {
        border-bottom: none;
        padding-top: 0;
    }
    .ec-subscribeNext .ec-borderedDefs dt {
        font-size: 24px;
    }

    .ec-subscribeAddress .ec-borderedDefs dl:last-of-type,
    .ec-subscribeNext .ec-borderedDefs dl:last-of-type {
        border-bottom: none;
    }
    .ec-subscribeNext .ec-borderedDefs select.p-region-id {
        margin: 0 0 20px;
        width: 200px;
    }
    .ec-subscribeNext .ec-borderedDefs select.p-region-id.large {
        width: 200px;
    }
}

/*subscribe_number*/
.ec-subscribeNumber .ec-cartRow_list {
    padding: 30px 0 20px;
}
.ec-subscribeNumber .ec-cartRow_right {
    justify-content: flex-end;
}
.ec-subscribeNumber .ec-productRole__actions select {
    background: url(../img/contact/select.svg) no-repeat right 14px center #fff;
    background-size: 10px auto;
    border: 1px solid #cccccc;
    width: 180px;
    margin-left: 20px;
}
.ec-subscribeNumber_price {
    margin-top: 35px;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
}
.ec-subscribeNumber_price_txt {
    font-size: 20px;
}
.ec-subscribeNumber_price_tax {
    min-width: 200px;
    text-align: right;
}
.ec-subscribeNumber_price.total {
    margin-top: 0;
    padding-top: 20px;
    border-top: 1px solid #efb585;
}
.ec-subscribeNumber_price.total .ec-subscribeNumber_price_txt {
    font-weight: bold;
}
.ec-subscribeNumber_price.total .ec-subscribeNumber_price_tax {
    font-size: 14px;
}
.ec-subscribeNumber_price_tax font {
    font-size: 20px;
}
.ec-subscribeNumber .ec-subscribe_registerBtn {
    margin-top: 80px;
}
@media only screen and (max-width: 768px) {
    .ec-subscribeNumber .ec-cartRow_right_top {
        display: block;
    }
    .ec-subscribeNumber .ec-productRole__actions.ec-cartRow_amount {
        font-size: 20px;
        justify-content: space-between;
    }
    .ec-subscribeNumber_price {
        margin-top: 10px;
        justify-content: space-between;
        align-items: flex-end;
    }
    .ec-subscribeNumber .ec-cartRow_list {
        padding: 20px 0 30px;
    }
    .ec-subscribeNumber_price.total .ec-subscribeNumber_price_tax {
        font-size: 16px;
    }
    .ec-subscribeNumber .ec-subscribe_registerBtn {
        margin-top: 50px;
    }
}
@media only screen and (max-width: 768px) {
    .ec-subscribeNumber .ec-cartRow_list {
        padding: 20px 15px 30px;
    }
    .ec-subscribeNumber .ec-cartRow_list .ec-productRole__category {
        margin-bottom: 2px;
    }
}

.ec-subscribeSkip {
    text-align: center;
    padding-top: 20px;
}
.ec-subscribeNoteIcon {
    margin-bottom: 20px;
}
.ec-subscribeNoteTitle {
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 20px;
}
.ec-subscribeNoteTxt {
    margin-bottom: 60px;
    letter-spacing: 0.06em;
}
.ec-subscribeNoteTxt font {
    font-weight: bold;
}
@media only screen and (max-width: 768px) {
    .ec-subscribeSkip {
        padding-top: 0;
    }
    .ec-subscribeNoteIcon {
        margin-bottom: 30px;
    }
    .ec-subscribeNoteTitle {
        font-size: 21px;
    }
    .ec-subscribeNoteTxt {
        line-height: 28px;
        margin-bottom: 40px;
    }
}

/*history_list*/
.ec-historyList .ec-subscribe_dataCont {
    display: block;
}
.ec-historyList .ec-subscribe_dataLink {
    text-align: right;
    margin-top: 15px;
}
.ec-historyList .ec-subscribe_dataTable {
    width: 100%;
}
.ec-historyList .ec-subscribe_dataTable th {
    width: 50%;
}

.ec-memberComplete_btn button {
    background-color: #ec6c01;
}
@media only screen and (min-width: 769px) {
    .ec-historyList .ec-subscribe_data {
        min-width: 390px;
    }
    .ec-historyDetail.ec-subscribeDetail .ec-subscribe_dataTable th {
        min-width: 260px;
    }
    .ec-birthday select.birth-select:first-of-type {
        margin-left: 0;
    }
}
@media only screen and (max-width: 768px) {
    .ec-company .ec-halfInput span {
        display: none;
    }
    .ec-company .ec-halfInput input[type="text"] {
        max-width: 100%;
        width: 100%;
    }
}

/*address_list*/
.ec-addressList {
    padding: 0 40px;
}
.ec-addressList_number {
    padding-bottom: 20px;
    letter-spacing: 0.06em;
}
.ec-addressList_ul {
    border-top: 1px solid #eaeaea;
    margin-bottom: 60px;
}
.ec-addressList_ul li {
    padding: 40px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #eaeaea;
}
.ec-addressList_txt {
    line-height: 1.625;
    letter-spacing: 0.06em;
}
.ec-addressList_link {
    margin-left: 10px;
    display: flex;
    justify-content: space-between;
}
.ec-addressList_link a {
    width: 130px;
    height: 50px;
    border-radius: 5px;
    background: #fff0ce;
    border: 2px solid #fff0ce;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: underline;
}
.ec-addressList_link a.ec-addressList_delete {
    background: #fff;
}
.ec-addressList_link a + a {
    margin-left: 40px;
}

@media only screen and (max-width: 768px) {
    .ec-addressList {
        padding: 0 15px;
    }
    .ec-addressList_ul {
        margin-bottom: 40px;
    }
    .ec-addressList_ul li {
        padding: 20px 0;
        display: block;
    }
    .ec-addressList_txt {
        line-height: 1.75;
    }
    .ec-addressList_link {
        margin-left: 0px;
        margin-top: 20px;
        display: flex;
    }
    .ec-addressList_link a {
        width: 145px;
        height: 45px;
        border-radius: 3px;
        border: 1px solid #fff0ce;
    }
    .ec-addressList_link a + a {
        margin-left: 10px;
    }
}

/*address_add*/
.ec-addressAdd {
    padding: 0 40px;
}
.ec-address_hd {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
}
.ec-addressAdd .ec-borderedDefs {
    border-bottom: 1px solid #efb585;
}
.ec-contact_formBtn button.ec-contact_reset.ico span {
    padding-left: 34px;
    background: url(../img/common/arrow_reset.svg) no-repeat left center;
    background-size: 24px auto;
}
@media only screen and (max-width: 768px) {
    .ec-addressAdd {
        padding: 0;
    }

    .ec-address_hd {
        font-size: 21px;
    }
    .ec-addressAdd .ec-borderedDefs {
        border-bottom: none;
    }
    .ec-contact_formBtn button.ec-contact_reset.ico span {
        padding-left: 29px;
        background: url(../img/common/arrow_reset.svg) no-repeat left center;
        background-size: 19px auto;
    }
}

/*card.html*/
.ec-cardTop {
    padding: 28px 0;
    letter-spacing: 0.06em;
    border-top: 1px solid #eaeaea;
    border-bottom: 1px solid #eaeaea;
    margin-bottom: 60px;
}
.ec-cardWrap .ec-address_hd {
    margin-bottom: 40px;
}
.ec-cardWrap.ec-addressAdd .ec-borderedDefs,
.ec-cardWrap .ec-borderedDefs dl {
    border-color: #eaeaea;
}
.ec-cardWrap .ec-borderedDefs dt {
    width: 39%;
}
.ec-cardWrap .ec-borderedDefs dd {
    line-height: 2;
    width: 61%;
}
.ec-cardWrap .ec-input input {
    width: 180px;
}
.ec-cardWrap .ec-borderedDefs select.p-region-id {
    margin-left: 0;
    max-width: 100px;
}
.ec-cardWrap .ec-date span {
    margin: 0 15px;
}
.ec-card_note {
    display: block;
    font-size: 10px;
    letter-spacing: 0.06em;
    font-weight: 400;
    margin: 15px 0 20px;
}

@media only screen and (max-width: 768px) {
    .ec-cardTop {
        padding: 20px 0;
        font-size: 13px;
        margin-bottom: 50px;
    }
    .ec-cardWrap .ec-borderedDefs {
        margin-bottom: 20px;
    }
    .ec-cardWrap .ec-address_hd {
        margin-bottom: 25px;
    }
    .ec-cardWrap .ec-borderedDefs dt {
        width: auto;
    }
    .ec-cardWrap .ec-borderedDefs dd {
        line-height: 2;
        width: 100%;
    }
    .ec-cardWrap .ec-input input {
        width: 100%;
    }
    .ec-cardWrap .ec-borderedDefs select.p-region-id {
        margin-left: 0;
        max-width: 90px;
    }
    .ec-cardWrap .ec-date span {
        margin: 0 10px;
        font-size: 13px;
    }
    .ec-card_note {
        display: block;
        font-size: 13px;
        letter-spacing: 0;
        margin: 0px 0 12px;
        white-space: break-spaces;
    }
}

.ec-withdraw_error {
    color: #ff0000;
    letter-spacing: 0.06em;
}
.spaceFt {
    margin-left: 42px !important;
}
#datepicker {
    margin: 0 0 20px;
    padding: 0 30px 0 20px;
    width: 180px;
    height: 40px;
    background: url(../img/contact/select.svg) no-repeat right 14px center #fff;
    background-size: 10px auto;
    border: 1px solid #cccccc;
    border-radius: 5px;
    width: 300px;
}
.ec-thanksWrap .ec-contactHd,
.ec-registion .ec-contactHd {
    margin: 80px 0;
}
p.passwordP01 {
    margin: 80px 0 65px;
}
.ec-cartStep li:nth-of-type(1):before {
    /*z-index: 9;*/
}
.ec-cartOrder .ec-cartRow_img {
    width: 150px;
    height: 150px;
    padding: 30px;
}
.ec-cartWrap .ec-contactHd {
    margin: 0 0 60px;
}
@media only screen and (max-width: 768px) {
    .ec-withdraw_error {
        line-height: 28px;
    }

    .spaceFt {
        margin-left: 0 !important;
    }
    .ec-registion {
        padding-bottom: 50px;
    }
    .ec-thanksWrap .ec-contactHd,
    .ec-registion .ec-contactHd {
        margin: 35px 0 30px;
    }
    p.passwordP01 {
        margin: 35px 0;
    }
    .ec-cartGoods .ec-cartRow_amount.ec-productRole__actions .txt {
        min-width: auto;
    }
    .ec-cartOrder_content .ec-cartRow_list {
        padding: 20px 15px 0;
    }
    .ec-cartOrder .ec-cartRow_img {
        width: 115px;
        height: 115px;
        padding: 17px;
        margin-right: 20px;
    }
    .ec-cartWrap .ec-contactHd {
        margin: 10px 0 40px;
    }

    .js-tab-scroll {
        overflow-x: auto;
        margin: 0 -15px;
        padding: 0 0px;
    }
    .ec-contact_tab_ul {
        min-width: 610px;
        flex-wrap: nowrap;
    }
    .ec-contact_tab_ul li {
        margin: 0 13px;
    }
}

.ec-alignitems_center {
    align-items: center;
}

.ec-button_area {
    text-align: center;
    margin-bottom: 40px;
}
.ec-button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 320px;
    height: 60px;
    border: 1px solid #ec6c01;
    font-size: 20px;
    color: #ec6c01;
    border-radius: 5px;
}
.ec-button:hover {
    opacity: 0.8;
    color: #ec6c01;
}

.ec-addressRole_list .ec-addressRole_listItem {
    position: relative;
    display: block;
    border: 1px solid #e6cc92;
    background: #fff;
    width: 100%;
    box-sizing: border-box;
    border-radius: 5px;
    padding: 30px 60px;
    font-size: 16px;
    line-height: 1.875;
    font-weight: normal;
    overflow: hidden;
    cursor: pointer;
}

.ec-addressRole_list .ec-addressRole_listItem + .ec-addressRole_listItem {
    margin-top: 20px;
}

.ec-addressRole_list .ec-addressRole_listItem input[type="radio"] {
    position: absolute;
    left: -100%;
    top: -100%;
    z-index: -1;
    opacity: 0;
}

.ec-addressRole_list .ec-addressRole_listItem.is_active {
    border: 1px solid #fff0ce;
    background: #fff0ce;
}

@media only screen and (max-width: 768px) {
    .ec-button {
        max-width: 280px;
        height: 50px;
        font-size: 15px;
        border-radius: 4px;
    }
    .ec-button:hover {
        opacity: 1;
    }
    .ec-addressRole_list {
        margin-bottom: 40px;
    }
    .ec-addressRole_list .ec-addressRole_listItem {
        border-radius: 5px;
        padding: 20px 25px;
        font-size: 14px;
        line-height: 1.78;
    }
}

.main_visual_02Box {
    display: flex;
    justify-content: space-between;
    padding: 65px 0;
}
.main_visual_02BoxLeft {
    flex: 0 0 50%;
}
.main_visual_02BoxRight {
    flex: 0 0 50%;
}
.main_visual_02BoxRight .main_visual_02BoxRightimg img {
    height: 295px;
    width: auto;
    margin: 0 auto;
}
.main_visual .item {
    /* height: 519px; */
}
.main_visual .item .ec-comInner {
    /* height: 519px; */
}
.main_visual_02BoxRightbtn {
    width: 415px;
    position: absolute;
    bottom: 57px;
    right: 35px;
}
.pcblock {
    display: block;
}
.spblock {
    display: none;
}
@media only screen and (max-width: 959px) {
    .main_visual_02BoxRightbtn {
        width: 365px;
    }
}
@media only screen and (max-width: 768px) {
    .main_visual_spBox {
        display: block;
        padding: 18px 0 30px;
        max-width: 270px;
        margin: 0 auto;
    }
    .main_visual .item {
        /* height: 476px; */
    }
    .main_visual .item .ec-comInner {
        /* height: 476px; */
    }
    .main_visual_spBox01 {
        margin: 10px 0 15px;
    }
    .pcblock {
        display: none;
    }
    .spblock {
        display: block;
    }
}

.bgImg03 .ec-comInner {
    height: 519px;
}

.ec-threeBox_img01 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50%;
    padding-right: 40px;
    box-sizing: border-box;
}
.ec-threeBox_img02 {
    position: absolute;
    top: 150px;
    right: 35px;
    width: 686px;
}
.ec-threeBox_img03 {
    position: absolute;
    bottom: 57px;
    right: 35px;
    width: 416px;
}
@media only screen and (max-width: 768px) {
    .bgImg03 .ec-comInner {
        height: auto;
    }
    .bgImg {
        min-height: 476px;
    }
    .ec-threeBox_img02sp {
        text-align: center;
        padding: 40px 20px 30px;
        box-sizing: border-box;
    }
    .ec-threeBox_img01sp {
        text-align: center;
        padding: 0 30px 39px;
        box-sizing: border-box;
    }
    .ec-threeBox_img03sp {
        text-align: center;
        width: 278px;
        margin: 0 auto;
        padding-bottom: 30px;
    }
}

#firstCode {
    position: unset;
}

.ec-link_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 40px;
}

.ec-link_print {
    background: #ec6c01;
    border-radius: 5px;
    color: #fff;
    font-size: 16px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 384px;
    letter-spacing: 0.04em;
    height: 60px;
    margin: 0 10px;
    position: relative;
}

.ec-link_print:hover {
    color: #fff;
}

.ec-link_back {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 390px;
    height: 60px;
    border-radius: 50px;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 500;
    background: #fff;
    color: #2c2927;
    border: 1px solid #2c2927;
    margin: 0 10px;
    position: relative;
}
.ec-link_back:hover {
    color: #2c2927;
}
.ec-link_back:before {
    display: block;
    margin-right: 20px;
    width: 24px;
    height: 24px;
    content: "";
    background: url(../img/common/arrow_reset.svg) no-repeat center center;
    background-size: 100%;
}
.ec-link_close {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 390px;
    height: 60px;
    background: #e56868;
    border-radius: 50px;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 500;
    color: #fff;
    margin: 0 10px;
    position: relative;
}
.ec-link_close:hover {
    color: #fff;
}
.ec-link_close:before {
    display: block;
    margin-right: 20px;
    width: 24px;
    height: 24px;
    content: "";
    background: url(../img/common/arrow_close.svg) no-repeat center center;
    background-size: 100%;
}

.ec-link_next {
    border: 1px solid #ec6c01;
    background: #fff;
    border-radius: 30px;
    color: #fff;
    font-size: 16px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 384px;
    color: #ec6c01;
    font-weight: 500;
    height: 60px;
    margin: 0 10px;
    position: relative;
}

.ec-link_next:hover {
    color: #ec6c01;
}

@media only screen and (max-width: 768px) {
    .ec-link_btn {
        flex-direction: column-reverse;
    }

    .ec-link_btn a + a {
        margin-bottom: 15px;
    }

    .ec-link_print {
        border-radius: 4px;
        max-width: 280px;
        height: 50px;
        margin: 0;
        display: flex;
    }

    .ec-link_next {
        border-radius: 25px;
        max-width: 280px;
        height: 50px;
        margin: 0;
        display: flex;
    }

    .ec-link_back,
    .ec-link_close {
        display: flex;
        max-width: 300px;
        height: 50px;
        border-radius: 25px;
        margin: 0;
    }
    .ec-link_close {
        font-weight: 700;
    }
    .ec-link_back:before,
    .ec-link_close:before {
        margin-right: 7px;
        width: 19px;
        height: 19px;
    }
}

.ec-productRole__caption {
    font-size: 1.2rem;
    line-height: 1.66;
    margin-top: 20px;
    letter-spacing: 0.06em;
}

@media only screen and (max-width: 768px) {
    .ec-productRole__caption {
        line-height: 1.875;
        margin-top: 10px;
    }
}

.ec-footerLinkArea_ul {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 30px;
}

.ec-footerLinkArea_ul li {
    padding: 0 20px;
}

.ec-footerLinkArea_ul li + li {
    border-left: 1px solid #ec6c01;
}

.ec-footerLinkArea_ul li a {
    color: #ec6c01;
    font-size: 16px;
    line-height: 1.4;
}

@media only screen and (max-width: 768px) {
    .ec-footerLinkArea_ul li {
        padding: 0 10px;
    }
    .ec-footerLinkArea_ul li a {
        font-size: 14px;
    }
}

.ec-cartCard_itemCont {
    max-width: 900px;
    margin: 30px auto 0;
}

.ec-cartCard_itemCont .ec-borderedDefs dl {
    border-bottom: 1px solid #eaeaea;
}

.ec-cartCard_itemCont .ec-borderedDefs dl:last-child {
    border-bottom: 0;
}

.ec-checkbox-cart {
    margin-left: 42px;
}

.ec-checkbox-cart input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 30px;
    height: 30px;
    margin: 0;
    vertical-align: middle;
    margin-right: 20px;
    background: url(../img/cart/icon_checkbox_off.svg);
    outline: none;
}

.ec-checkbox-cart input[type="checkbox"]:checked {
    background: url(../img/cart/icon_checkbox_on.svg);
}

.ec-cartCard-cardbox {
    margin-left: 42px;
    background: #fff0ce;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    padding: 20px;
}

.ec-cartCard-cardtable {
    width: 100%;
}
.ec-cartCard-cardtable td {
    padding: 5px 0 5px 10px;
}

.ec-cartCard-cardtable-wid01 {
    width: 22px;
}

.ec-cartCard-cardtable-wid02 {
    width: 240px;
}

.ec-cartCard-cardtable-wid03 {
    width: 90px;
}

.ec-cartCard-cardtable-wid04 {
    width: 210px;
}

.ec-cartCard-cardtable tbody .ec-radio-cart {
    width: 22px;
    height: 22px;
    overflow: hidden;
}

.ec-radio-cart label {
    margin: 0 !important;
}

.ec-radio-cart input[type="radio"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 22px;
    height: 22px;
    margin: 0 !important;
    vertical-align: top;
    background: url(../img/cart/icon_radio_off.svg);
    outline: none;
}

.ec-radio-cart input[type="radio"]:checked {
    background: url(../img/cart/icon_radio_on.svg);
}

.ec-cartCard-cardtable-title {
    font-size: 1.6rem;
    font-weight: bold;
}

.ec-cartCard-cardtable tbody .ec-cartCard-cardtable-title {
    display: none;
}

.ec-cartCard-cardtable tbody input[type="text"] {
    margin: 0 !important;
    border: 1px solid #cccccc;
    background: #ffffff;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}

.ec-cartCard-cardremove {
    margin: 10px 0 20px 42px;
}

.ec-cartCard-cardremove a {
    display: flex;
    width: 200px;
    height: 50px;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    text-decoration: underline;
    border: 2px solid #fff0ce;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}

.ec-cartCard-cardnum {
    margin: 0 0 20px 42px;
}
.ec-cartCard-cardnum .ec-input {
    display: flex;
    justify-content: space-between;
}
.ec-cartCard-cardnum input[type=text]{
    width: 180px;
    margin: 0 !important;
}

.ec-cartCard-carderror {
    display: none;
    font-size: 1.6rem;
    font-weight: bold;
    margin-top: 10px;
    color: #e56868;
}

.ec-cartCard-cardnote {
    font-size: 1.6rem;
    margin-top: 10px;
    color: #2c2927;
}
.ec-cartCard-cardsecurity {
    margin-left: 42px;
}
.ec-cartCard-cardsecurity input[type="text"] {
    width: 100px;
}
.ec-cartCard-cardexpiry {
    margin-left: 42px;
}
.ec-cartCard-cardexpiry select {
    width: 100px !important;
    margin-left: 0 !important;
}

.ec-cartCard-cardname {
    display: flex;
    margin-bottom: 20px;
}

.ec-cartCard-cardname .ec-cartCard-cardnametxt {
    font-size: 1.6rem;
    color: #777777;
    line-height: 40px;
    width: 42px;
}

.ec-cartCard-cardnametxt:nth-child(3) {
    margin-left: 60px;
}

.ec-cartCard-cardname input[type="text"] {
    width: 180px;
}

.ec-cartCard-cardregister {
    margin: 10px 0 20px 42px;
}

.ec-cartCard-cardnote02 {
    font-size: 1.6rem;
    font-weight: bold;
    color: #2c2927;
}

.ec-cartCard-cardnote02 span {
    color: #e56868;
}

@media only screen and (max-width: 768px) {
    .ec-cartCard_itemCont {
        max-width: 900px;
        margin: 30px auto 0;
    }

    .ec-cartCard_itemCont .ec-borderedDefs select.p-region-id {
        margin-left: 0 !important;
    }

    .ec-borderedDefs select.p-creditCard {
        margin-left: 0 !important;
        width: 140px;
        font-size: 13px;
        padding: 0 30px 0 15px;
    }

    .ec-cartCard_itemCont .ec-borderedDefs dl {
        border-bottom: 1px solid #eaeaea;
    }

    .ec-cartCard_itemCont .ec-borderedDefs dl:last-child {
        border-bottom: 0;
    }

    .ec-checkbox-cart {
        margin-left: 0;
    }

    .ec-checkbox-cart input[type="checkbox"] {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        width: 30px;
        height: 30px;
        margin: 0;
        vertical-align: middle;
        margin-right: 20px;
        background: url(../img/cart/icon_checkbox_off.svg);
        outline: none;
    }

    .ec-checkbox-cart input[type="checkbox"]:checked {
        background: url(../img/cart/icon_checkbox_on.svg);
    }

    .ec-cartCard-cardbox {
        margin-left: 0;
        background: #fff0ce;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        padding: 20px;
        margin: 0 -15px;
    }

    .ec-cartCard-cardtable {
        width: 100%;
    }
    .ec-cartCard-cardtable thead {
        display: none;
    }
    .ec-cartCard-cardtable th {
        display: block;
    }
    .ec-cartCard-cardtable td {
        display: inline-block;
        padding: 5px 0;
    }

    .ec-cartCard-cardtable-wid01 {
        width: 100%;
    }

    .ec-cartCard-cardtable-wid02 {
        width: 100%;
    }

    .ec-cartCard-cardtable-wid03 {
        width: 85px;
        margin-right: 10px;
    }

    .ec-cartCard-cardtable-wid04 {
        width: calc(100% - 95px);
    }

    .ec-cartCard-cardtable tbody .ec-radio-cart {
        width: 100%;
        height: auto;
        overflow: hidden;
    }

    .ec-radio-cart label {
        margin: 0 !important;
        font-size: 1.3rem !important;
        color: #2c2927 !important;
    }

    .ec-radio-cart label span {
        font-weight: bold !important;
        margin-left: 10px;
    }

    .ec-radio-cart input[type="radio"] {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        width: 22px;
        height: 22px;
        margin: 0 !important;
        vertical-align: middle;
        background: url(../img/cart/icon_radio_off.svg);
        outline: none;
    }

    .ec-radio-cart input[type="radio"]:checked {
        background: url(../img/cart/icon_radio_on.svg);
    }

    .ec-cartCard-cardtable-title {
        font-size: 1.3rem;
        font-weight: bold;
    }

    .ec-cartCard-cardtable tbody .ec-cartCard-cardtable-title {
        display: block;
    }

    .ec-cartCard-cardtable tbody input[type="text"] {
        margin: 0 !important;
        border: 1px solid #cccccc;
        background: #ffffff;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
    }

    .ec-cartCard-cardremove {
        margin: 15px 10px 0;
    }

    .ec-cartCard-cardremove a {
        display: flex;
        width: 100%;
        height: 45px;
        align-items: center;
        justify-content: center;
        font-size: 1.6rem;
        text-decoration: underline;
        border: 2px solid #fff0ce;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
    }

    .ec-cartCard-cardnum {
        margin: 0 0 20px 0;
    }
    .ec-cartCard-cardnum .ec-input {
        display: flex;
        justify-content: space-between;
    }
    .ec-cartCard-cardnum input[type=text]{
        width: 180px;
        margin: 0 !important;
    }

    .ec-cartCard-carderror {
        display: none;
        font-size: 1.3rem;
        font-weight: bold;
        margin-top: 10px;
        color: #e56868;
    }

    .ec-cartCard-cardnote {
        font-size: 1.3rem;
        margin-top: 10px;
        color: #2c2927;
    }
    .ec-cartCard-cardsecurity {
        margin-left: 0;
    }
    .ec-cartCard-cardsecurity input[type="text"] {
        width: 150px;
    }
    .ec-cartCard-cardexpiry {
        margin-left: 0;
    }
    .ec-cartCard-cardexpiry select {
        width: 100px !important;
        margin-left: 0 !important;
    }

    .ec-cartCard-cardname {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 0;
    }

    .ec-cartCard-cardname .ec-cartCard-cardnametxt {
        font-size: 1.3rem;
        color: #777777;
        line-height: 37px;
        width: 35px;
        flex-shrink: 0;
    }

    .ec-cartCard-cardnametxt:nth-child(3) {
        margin-left: 0;
    }

    .ec-cartCard-cardname .ec-input {
        width: calc(100% - 35px);
    }

    .ec-cartCard-cardname input[type="text"] {
        width: 100%;
    }

    .ec-cartCard-cardregister {
        margin: 10px 0 20px 0;
    }

    .ec-cartCard-cardnote02 {
        font-size: 1.3rem;
        font-weight: bold;
        color: #2c2927;
        margin-bottom: 50px;
    }

    .ec-cartCard-cardnote02 span {
        color: #e56868;
    }
    .ec-cartStep + .ec-cartStep {
        width: calc(100% / 3 * 2);
        margin: 15px auto 0;
    }
}
@media only screen and (max-width: 374px) {
    .ec-cartCard-cardnum input[type="text"] {
        width: 65px;
    }
}

.ec-productRole__favNotes {
    font-size: 15px;
    font-weight: bold;
    margin-top: 10px;
}
.ec-productRole__favNotes span {
    display: block;
    font-size: 20px;
    font-weight: bold;
    color: #de5d50;
    margin-bottom: 3px;
}
.ec-productRole__favNotes span a {
    color: #de5d50;
    text-decoration: underline;
}

/* forgot_modal */
.modal__bg {
    background: rgba(255, 255, 255, 0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
}
.modal__content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60%;
    max-width: 800px;
    background: #fff;
    color: #ec6c01;
    border: solid 1px #ec6c01;
    border-radius: 5px;
    padding: 40px 40px 100px;
    box-sizing: border-box;
    text-align: center;
}
.js-modal-close_wrap {
    overflow: hidden;
    display: block;
    position: relative;
    text-align: right;
    margin-bottom: 55px;
}
.js-modal-close_wrap .js-modal-close {
    display: inline-block;
    width: 40px;
    height: 40px;
}
.modal__content p {
    line-height: 1.8;
}
.modal_ttl {
    font-size: 24px;
    line-height: 2;
    color: #5a5a5a;
    margin-bottom: 45px;
}
.modal_btn {
    text-align: center;
}
.modal_btn a {
    display: inline-block;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    background: #ec6c01;
    border-radius: 50px;
    margin-top: 30px;
    padding: 15px 40px;
    text-decoration: none;
}
@media only screen and (max-width: 968px) {
    .modal__content {
        font-size: 14px;
        width: 90%;
        padding: 20px 20px 50px;
    }
    .js-modal-close_wrap {
        margin-bottom: 20px;
    }
    .modal_ttl {
        font-size: 20px;
    }
    .receiptBox .modal_ttl {
        margin-bottom: 20px;
    }
    .receiptBox .ec-borderedDefs {
        margin-bottom: 20px;
    }
    .modal_btn a {
        width: 85%;
        font-size: 16px;
        padding: 15px 0;
        text-align: center;
    }
}
.ec-btn_cart.cart-disabled {
    background: #cdd1ce;
}
.ec-btn_cart.cart-disabled:hover {
    cursor: not-allowed;
}

/* ------202208/09 fix--------*/
/* 商品欄 */
/*@media only screen and (min-width: 769px) {
    .ec-listUl01 .ec-indexUl02_box {
        border: 1px solid #dddddd;
    }
}*/

.ec-indexUl02_type span {
    color: #2c2927;
}

/* もう一度購入 */
.ec-indexSec04 {
    background: #fdffcf;
}
.ec-similarSec {
    background: #fedcbd;
}

/* 見出し一列 */
@media only screen and (min-width: 769px) {
    body#page_homepage span.color01 {
        width: 100%;
        min-width: 161px;
    }
    body#page_product_detail p.ec-indexUl02_categ > span.color01 {
        background: #f6b099;
        width: 100%;
        min-width: 161px;
    }
}

/* 商品詳細 */
.slick-initialized .slide-item,
.ec-productSec .slideThumb,
.ec-product_ways,
.ec-cartRow_img,
.ec-listUl01 .ec-indexUl02_box {
    border: 1px solid #dddddd;
}

.ec-productRole__title span {
    color: #2c2927;
}

/* 規約改行 */

@media only screen and (min-width: 769px) {
    span.indent-elm {
        padding-left: 1em;
        text-indent: -1em;
        color: #2c2927;
        margin-bottom: 0;
    }
}
span.indent-elm {
    color: #2c2927;
}

/* mainvisual fix */
@media only screen and (max-width: 768px) {
    .item.slick-slide.bgImg.bgImg06 {
        background-image: url(../img/index/multiin_sp.jpg) !important;
    }
    .item.slick-slide.bgImg.bgImg07 {
        background-image: url(../img/index/pinpoint_sp.jpg) !important;
    }
}
.main_visual .item {
    /* height: 519px; */
}

/* favorite fix */
@media only screen and (min-width: 769px) {
    .ec-itemFav {
        right: 5px;
        top: 28px;
    }
    .ec-indexUl02_box {
        padding: 30px 30px;
    }
}

/* カートインアラートモーダル */
.ec-alert-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  width: 100%;
  height: 100%; }
.ec-alert-modal.small {
    width: 30%; }
.ec-alert-modal.full {
    width: 100%;
    height: 100%; }
.ec-alert-modal-wrap{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
		text-align: center;
}
.ec-alert-modal .ec-alert-modal-overlay {
    display: block;
		position: fixed;
		top: 0;
    background-color: rgba(0, 0, 0, 0.3);
    width: 100%;
    height: 100%;
}
.ec-alert-modal .ec-alert-modal-contents {
    position: relative;
    border-radius: 2px;
    border: 1px solid #333;
    background-color: #fff;
    width: 90%;
    margin: 20px;
    padding: 40px 5px;
		z-index: 100;
	}
.ec-alert-modal .ec-alert-modal-close {
    cursor: pointer;
    position: absolute;
    right: 20px;
    top: 10px;
    font-size: 20px;
    height: 30px;
    width: 20px; }
.ec-alert-modal .ec-alert-modal-close:hover {
      color: #4b5361; }
.ec-alert-modal .ec-alert-modal-box {
    text-align: center; }
.ec-alert-modal .ec-role {
    margin-top: 20px; }


@media only screen and (min-width: 768px) {
  .ec-alert-modal .ec-alert-modal-wrap {
    padding: 40px 10px;
    width: 50%;
    margin: 20px auto;
    z-index: 100;
    }
}

/* 商品詳細ページ（製品写真下に注意書きを追加） */
.item_note {
	margin-top: 10px;
	font-size: 12px;
}

@media only screen and (min-width: 768px) {
	.item_note {
		margin-top: 20px;
	}
}
.mail-delivery_checkbox_wrapper{
	font-weight: 300;
	padding: 0;
}
.mail-delivery_checkbox_wrapper dd {
	line-height: 2;
	padding-left: 41px;
}
.mail-delivery_checkbox_wrapper dd div>label {
	margin-left: 10px;
}
.direct_mail_confirm {
	padding: 17px 0 !important;
}
.pc-only {
	display: inline;
}
@media only screen and (max-width: 480px){ 
    .mail-delivery_checkbox_wrapper dd {
		padding-left: 0px !important;
		font-size: 1.3rem;
	}
	.mail-delivery_checkbox_wrapper dd>div {
		font-size: 1.3rem;
		display: flex;
	}
	.mail-delivery_checkbox_wrapper dd div>input {
		margin-top: -30px;
		padding: 5px;
	}
	.direct_mail_confirm {
		padding: 0 !important;
	}
	.pc-only {
		display: none;
	}
}

/* 2025/05/16_カテゴリ変更 */


.ec-indexUl01 li:nth-of-type(3) a{
    background: #FBE6CC
}
.ec-indexUl01 li:nth-of-type(3) a:before{
    border-left-color: #EF8300;
    border-top-color: #EF8300;
}
.ec-indexUl02_categ span.color04 {
    background: #EF8300;
}