/* カスタマイズ用CSS */

:root {
  --bs-font-sans-serif: "Sawahorabi Gothic", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
  --bs-body-font-family: "Sawarabi Gothic", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
  --font-main: "Sawarabi Gothic", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
  --font-serif: "游明朝体", "Yu Mincho", serif;
  --font-gothic: "Yu Gothic Medium", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Sawarabi Gothic", sans-serif;
  --font-eng: "Karla", "Sawarabi Gothic", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
  --color-main: #EC6467;
  --color-text: #4F1C1D;
  --color-white: #FFFFFF;
  --color-bg: #FCF8F2;
  --color-strong: #E63B43;
  --color-main-hover: #FFF1F1;
  --color-link: #E63B43;
  --color-beige: #F3EDE1;
  --color-darkbeige: #E5DED1;
  --color-orange: #fea959;
}
::before, ::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

html{
  font-size:62.5%;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  color: var(--color-text);
  background-color: var(--color-bg);
  font-family: var(--font-main);
  width: 100%;
  letter-spacing: 0.08em;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  body {
    min-width: initial;
    letter-spacing: 0.08em;
    font-size: 1.3rem;
  }
  body.have_curtain{
    overflow-y: hidden;
  }
}
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.cart-badge {
  position: absolute;
  left: 10px;
  top: -12px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--color-strong);
  color: #FFF;
  text-align: center;
  font-size: .9rem;
  letter-spacing: -0.05em;
  line-height: 18px;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .cart-badge {
    left: 35px;
    top: 0px;
  }
}
/** flex start */
.ec-flex3 {
  display: flex;
}
.ec-flex3 .ec-flex-cell {
  width: 33.333333%;
}
/** flex end */


/** section start */
.ec-secHeading {
  color: var(--color-text);
}
.ec-secHeading a.link {
  display: inline-block;
  padding: 0 15px 3px 0;
  position: relative;
  z-index: 2;
  color: var(--color-text);
  text-decoration: none;
}
.ec-secHeading a.link::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: 15px;
  width: calc(100% - 15px);
  height: 1px;
  background: var(--color-text);
  transition: width 0.5s ease;
  z-index: 1;
}
.ec-secHeading a.link::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: calc(50% - 4px);
  right: 0;
  width: 6px;
  height: 8px;
  background: url(/html/user_data/assets/img/common/arrow-right.svg) no-repeat 0 50%;
    background-size: auto;
  background-size: 6px;
}
.ec-secHeading img {
  width: auto;
  max-width: 100%
}
.ec-secHeading--tandem .ec-secHeading__line {
  background: #FFF;
}
@media screen and (max-width: 767px) {
.ec-secHeading {
  width: 100%;
  padding: 0;
  margin: 0 0 5px 0;
  font-size: 1.2rem;
 }
 .front_page .ec-secHeading,.other_page .ec-secHeading{
  padding: 0;
 }
}
.ec-sec-wrap {
  padding: 0 0 50px 0;
  margin-bottom: 50px;
  border-bottom: #F5CDCD 1px solid;
}
.ec-sec-wrap:last-of-type, .ec-sec-wrap.border-none {
  border-bottom: none;
}
.ec-sec-wrap.border-none {
  border-bottom: none;
  margin-bottom: 0;
}
.ec-sec-scrollable {
  padding: 0 0 50px 0;
  margin-bottom: 50px;
}

.ec-sec-box {
  margin: 0 auto 50px auto;
  padding: 35px 50px 10px 50px;
  background: #FFF;
  border:  var(--color-beige) 1px solid;
  border-radius: 20px;
}
.ec-sec-wrap .ec-sec-box:last-of-type {
  margin-bottom: 0;
}

.ec-bg-white {
  background: #FFFEFC;
}

.ec-sec-inner {
  margin: 0 auto 40px auto;
  overflow: hidden;
}
.ec-border-top {
  padding: 30px 0 0 0;
  border-top: var(--color-darkbeige) 1px solid;
}
.ec-sec-inner p:last-child {
  margin-bottom: 0;
}

.ec-lead-text {
  text-align: center;
  margin-bottom: 40px;
}
p.ec-lead-text {
  line-height: 1.8;
}
.ec-sec-wrap p,.ec-sec-box p {
  line-height: 1.8;
  margin-bottom: 20px;
}
@media screen and (min-width:768px) {
  .ec-image-l {
    width: 330px;
    float: left;
  }
  .ec-image-r {
    width: 330px;
    float: right;
  }
  .ec-text-l {
    width: 460px;
    float: left;
  }
  .ec-text-r {
    width: 460px;
    float: right;
  }

  .ec-pc-float-l {
    float: left;
  }
  .ec-pc-float-r {
    float: right;
  }
  .ec-pc-left {
    text-align: left !important;
  }
  .ec-pc-right {
    text-align: right !important;
  }
}
@media screen and (max-width:767px) {
  .ec-lead-text {
    font-size: 1.2rem;
    text-align: left;
    margin-bottom: 30px;
  }
  .ec-sec-wrap {
    padding: 0;
    margin: 0 0 45px 0;
  }
  .ec-sec-scrollable {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    padding: 0 0 0 16px;
  }
  .ec-sec-box {
    padding: 30px 16px 5px 16px;
  }
  .ec-text-r + .ec-image-l {
    margin-top: 25px;
  }
  .ec-text-l + .ec-image-r {
    margin-top: 25px;
  }
  .ec-sp-border-top {
    padding: 30px 0 0 0;
    border-top: var(--color-darkbeige) 1px solid;
  }
}
/** section end */
/** headline,paragraph start */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  letter-spacing: 0.08em;
  line-height: 1.5;
  font-weight: bold;
  position: relative;
  font-family: var(--font-gothic);
}
h2 {
  font-size: 3.0rem;
  margin-bottom: 30px;
}
h3 {
  font-size: 2.0rem;
  margin-bottom: 20px;
}
h4 {
  font-size: 1.6rem;
  margin-bottom: 5px;
}
.ec-h-dot {
  margin: 0 0 5px 0;
  padding: 0 0 0 15px;
  font-size: 1.4rem;
}
.ec-h-dot::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-main);
  position: absolute;
  left: 0;
  top: 7px;
}
.ec-h-wa {
  margin: 0 0 20px 0;
  padding: 30px 0 30px 10px;
  font-size: 1.9rem;
  position: relative;
  z-index: 1;
}
.ec-h-wa::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: -20px;
  width: 100px;
  height: 83px;
  background: url(/html/user_data/assets/img/common/btn-kanoko.png) no-repeat 0 50%;
  background-size: 77px;
  transition: background-size 0.5s ease;
  z-index: -1;
}
h2.ec-sec-head {
  letter-spacing: 0.08em;
  line-height: 1.5;
  font-weight: bold;
  position: relative;
  font-family: var(--font-gothic);
  margin: 0 0 30px 0;
  font-size: 2.1rem;
  text-align: center;
}
h3.ec-sec-head {
  letter-spacing: 0.08em;
  line-height: 1.5;
  font-weight: bold;
  position: relative;
  font-family: var(--font-gothic);
  margin-bottom: 20px;
  margin: 0 0 30px 0;
  font-size: 2.1rem;
  text-align: center;
}
.ec-h-num {
  padding: 1px 0 0 40px;
  margin: 0 0 20px 0;
  min-height: 30px;
  text-align: left;
  font-size: 1.8rem;
  font-weight: bold;
  position: relative;
}
.ec-h-num .ec-number {
  display: block;
  width: 30px;
  height: 30px;
  line-height: 28px;
  border: var(--color-main) 1px solid;
  border-radius: 50%;
  text-align: center;
  font-weight: bold;
  font-size: 1.6rem;
  font-family: var(--font-eng);
  color: var(--color-main);
  position: absolute;
  left: 0;
  top: 0;
  letter-spacing: normal;
}
.ec-h-line {
  padding: 0 0 0 15px;
  margin: 0 0 20px 0;
  text-align: left;
  font-size: 1.8rem;
  font-weight: bold;
  position: relative;
}
.ec-h-line::before {
  content: "";
  display: block;
  width: 4px;
  height: 100%;
  border-radius: 2px;
  background: var(--color-main);
  position: absolute;
  top: 0;
  left: 0;
}
.ec-h-normal {
  margin: 0 0 10px 0;
  padding: 0;
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: bold;
}
@media screen and (max-width:767px) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    line-height: 1.6;
  }
  h2 {
    font-size: 2.2rem;
    margin-bottom: 25px;
  }
  h3 {
    font-size: 1.5rem;
    margin-bottom: 20px;
  }
  h3 {
    font-size: 1.5rem;
    margin-bottom: 20px;
  }
  h4 {
    font-size: 1.4rem;
  }
  .ec-h-dot {
    font-size: 1.3rem;
  }
  .ec-h-dot::before {
    top: 6px;
  }
  .ec-h-wa {
    margin: 0 0 20px 0;
    padding: 15px 0 15px 20px;
    font-size: 1.5rem;
  }
  .ec-h-wa::before {
    top: 0;
    left: -10px;
    width: 58px;
    height: 58px;
    background-size: 58px;
  }
  .ec-sec-head {
    font-size: 1.7rem;
  }
  h2.ec-sec-head {
    font-size: 1.7rem;
  }
  .ec-h-num {
    padding: 5px 0 0 40px;
    margin: 0 0 15px 0;
    font-size: 1.4rem;
  }
  .ec-h-line {
    margin: 0 0 15px 0;
    font-size: 1.5rem;
  }
  .ec-h-normal {
    font-size: 1.3rem;
  }
}
.ec-page-title {
    margin: 0 auto 50px auto;
    padding: 0;
    background: none;
    border: none;
    font-family: var(--font-gothic);
    font-size: 2.8rem;
    line-height: 1.5;
    font-weight: bold;
    text-align: center;
}
@media screen and (max-width :767px) {
  .ec-page-title {
    margin: 0 auto 40px auto;
    font-size: 2.2rem;
  }
}
.ec-breadcrumb {
  width: 1200px;
  margin: 15px auto -2px;
  padding: 0 10px;
  text-align: left;
}
.ec-breadcrumb-list {
  text-align: left;
}
.ec-breadcrumb img {
  vertical-align: middle;
}
.ec-breadcrumb-list li {
  display: inline-block;
  vertical-align: middle;
  font-size: 1.2rem;
  line-height: 1.5;
  text-align: left;
  position: relative;
  white-space: nowrap;
}
.ec-breadcrumb-list li a {
  display: inline-block;
  padding: 0 20px 0 0;
  color: var(--color-text);
  text-decoration: none;
  position: relative;
}
.ec-breadcrumb-list li a::after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-top: 1px solid var(--color-text);
  border-right: 1px solid var(--color-text);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  right: 8px;
  top: 6px;
}
.ec-breadcrumb-list li:last-child a::after {
  display: none;
}
.ec-icon-home {
  width: 16px;
}
@media screen and (min-width :768px) {
  .ec-breadcrumb-list li a:hover {
    color: var(--color-main);
  }
}
@media screen and (max-width:767px) {
  .ec-breadcrumb {
    width: 100%;
    padding: 0 16px;
    margin: 10px auto 0 auto;
    text-align: left;
  }
  .ec-breadcrumb-list {
    padding: 0;
    display: flex;
    overflow-x: scroll;
    flex-wrap: nowrap;
    font-size: 10px;
    -webkit-overflow-scrolling: touch;
  }
  .ec-breadcrumb-list li {
    display: inline-block;
    font-size: 1.1rem;
    text-align: left;
    position: relative;
    word-break: keep-all;
  }
  .ec-breadcrumb-list li a {
    display: inline-block;
    padding: 0 20px 0 0;
    color: var(--color-text);
    text-decoration: underline;
    position: relative;
  }
  .ec-breadcrumb-list li a::after {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-top: 1px solid var(--color-text);
    border-right: 1px solid var(--color-text);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    right: 8px;
    top: 5px;
  }
  .ec-breadcrumb-home {
    width: 16px;
    max-width: initial;
  }
}
/** headline,paragraph end */
/** character,image start */
.eng {
  font-family: var(--font-eng) !important;
  letter-spacing: 0.05em !important;
}
.ec-center {
  text-align: center !important;
}
strong {
  color: var(--color-strong);
  font-weight: normal;
}
.ec-bold {
  font-weight: bold !important;
}
.ec-bold strong {
  font-weight: bold !important;
}
.ec-align-left {
  text-align: left;
}
.ec-align-center {
  text-align: center;
}
.ec-align-right {
  text-align: right;
}

img.ec-img-round {
  border-radius: 20px;
}
img.ec-img-border {
  border: var(--color-beige) 1px solid;
}
/** character,image end */
/** list start */
.ec-list {
  margin: 0 0 20px 0;
}
.ec-list li {
  margin: 0 0 10px 0;
  padding: 0 0 0 15px;
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: left;
  position: relative;
}
.ec-list li::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-main);
  position: absolute;
  left: 0;
  top: 9px;
}

.ec-box-list {
  border:  var(--color-darkbeige) 1px solid;
  border-radius: 10px;
  padding: 15px 30px;
  margin: 20px 0;
}
.ec-box-list li {
  margin: 5px 0;
  padding: 0 0 0 10px;
  line-height: 1.5;
  text-align: left;
  position: relative;
}
.ec-box-list li::before {
  content: "";
  display: block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--color-text);
  position: absolute;
  left: 0;
  top: 9px;
}

.ec-link-list {
  margin: 0 0 20px 0;
  padding: 20px 0 0 0;
  border-top: var(--color-darkbeige) 1px solid;
}
.ec-link-list li {
  margin: 0 0 10px 0;
  padding: 0 0 0 15px;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: left;
  position: relative;
  background: url(/html/user_data/assets/img/common/arrow-right02.svg) no-repeat 0 6px;
  background-size: 6px;
}

@media screen and (max-width:767px) {
  .ec-list li {
    margin: 3px 0;
    padding: 0 0 0 12px;
    font-size: 1.3rem;
    line-height: 1.8;
  }
  .ec-list li::before {
    width: 5px;
    height: 5px;
    left: 0;
    top: 7px;
  }
  .ec-box-list {
    padding: 10px 10px;
    margin: 20px 0;
  }
  .ec-box-list li::before {
    top: 8px;
  }
  .ec-link-list li {
    padding: 0 0 0 12px;
    font-size: 1.2rem;
    background: url(/html/user_data/assets/img/common/arrow-right02.svg) no-repeat 0 4px;
  }
}
/** list end */
/** link start */
a.ec-link-suffix-arrow {
  display: inline-block;
  padding: 0 15px 3px 0;
  position: relative;
  z-index: 2;
  color: var(--color-text);
  text-decoration: none;
}
a.ec-link-suffix-arrow::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: 15px;
  width: calc(100% - 15px);
  height: 1px;
  background: var(--color-text);
  transition: width 0.5s ease;
  z-index: 1;
}
a.ec-link-suffix-arrow::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: calc(50% - 4px);
  right: 0;
  width: 6px;
  height: 8px;
  background: url(/html/user_data/assets/img/common/arrow-right.svg) no-repeat 0 50%;
  background-size: 6px;
}
a.ec-link-prefix-arrow {
  display: inline-block;
  padding: 0 0 3px 15px;
  position: relative;
  z-index: 2;
  color: var(--color-text);
  text-decoration: none;
}
a.ec-link-prefix-arrow::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 15px;
  width: calc(100% - 15px);
  height: 1px;
  background: var(--color-text);
  transition: width 0.5s ease;
  z-index: 1;
}
a.ec-link-prefix-arrow::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: calc(50% - 4px);
  left: 0;
  width: 6px;
  height: 8px;
  background: url(/html/user_data/assets/img/common/arrow-right.svg) no-repeat 0 50%;
  background-size: 6px;
  transform: rotate(180deg);
}
a.ec-link-out {
  padding-right: 0px;
  background-image: url(/html/user_data/assets/img/common/icon-tab.svg);
  background-repeat: no-repeat;
  background-position: right 50%;
  background-size: 10px;
}
@media screen and (min-width:768px) {
  a.ec-link-suffix-arrow:hover {
    color: var(--color-main);
  }
  a.ec-link-suffix-arrow:hover::before {
    width: 0%;
  }
  a.ec-link-prefix-arrow:hover {
    color: var(--color-main);
  }
  a.ec-link-prefix-arrow:hover::before {
    width: 0%;
  }
  a.ec-link-out {
  padding-right: 15px;
}
}
/** link end */

.ec-layoutRole {
  background-color: transparent;
}
.ec-layoutRole a {
  color: var(--color-text);
  text-decoration: none;
  transition: color 0.5s ease;
}
.ec-layoutRole a:hover {
  color: var(--color-main);
}
.ec-layoutRole a.item-link {
  text-decoration: underline;
  color: #4F1C1D;
  transition: color 0.5s ease;
}
.ec-layoutRole a.item-link:hover {
  text-decoration: none;
}

.ec-layoutRole input
,.ec-layoutRole select
,.ec-layoutRole textarea {
  font-size: 1.4rem;
}
.ec-layoutRole a.ec-link {
  display: inline-block;
  padding: 0 15px 3px 0 ;
  position: relative;
  z-index: 2;
  color: var(--color-text);
  text-decoration: none;
  transition: color 0.5s ease;
}
.ec-layoutRole a.ec-link::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: 15px;
  width: calc(100% - 15px);
  height: 1px;
  background: var(--color-text);
  transition: width 0.5s ease;
  z-index: 1;
}

.ec-layoutRole a:hover {
  color: var(--color-main);
}
.ec-layoutRole a.ec-link:hover {
  color: var(--color-main);
  text-decoration: none;
}
.ec-layoutRole a.ec-link-color {
  color: var(--color-link);
  text-decoration: none;
  transition: color 0.5s ease;
}

@media screen and (min-width:768px) {
  .ec-layoutRole.has--fixed {
    /* height of ec-headernav */
    padding-top:94px;
  }
  .ec-layoutRole .ec-layoutRole__contents {
    width: 1200px;
    max-width: 1200px;
    padding: 0 10px;
    margin: 50px auto 0 auto;
    display: flex;
    justify-content: space-between;
  /*  flex-direction: row-reverse;*/
  }
  .ec-layoutRole a.ec-link:hover::before {
    width: 0%;
  }
}
@media screen and (max-width: 767px) {
  .ec-layoutRole.has--fixed {
    /* height of ec-headernav */
    padding-top:79px;
  }
  .ec-layoutRole .ec-layoutRole__contents {
    width: 100%;
    min-width: initial;
    padding: 0;
    margin: 30px auto 0 auto;
    display: block;
  }
}
.ec-layoutRole .ec-layoutRole__main {
  padding: 0px 0 50px 0;
  margin-bottom: 50px;
}

.ec-layoutRole .ec-layoutRole__mainWithColumn {
  width: 910px;
}
#page_mmi_news_list .ec-layoutRole .ec-layoutRole__mainWithColumn {
  padding: 25px 0 0 0;
}
@media screen and (max-width: 767px) {
  .ec-layoutRole .ec-layoutRole__mainWithColumn {
    width: 100%;
    padding-bottom: 30px;
    margin: 0 0 45px 0;
  }
}
.ec-layoutRole .ec-layoutRole__left, .ec-layoutRole .ec-layoutRole__right {
  width: 200px;
}
.ec-role {
  padding-right: 0;
  padding-left: 0;
  font-size: 1.4rem;
  color: var(--color-text);
}
@media screen and (max-width: 767px) {
  .ec-role {
    font-size: 1.3rem;
  }
}

.pagetop {
  width: 80px;
  position: absolute;
  top: 0;
  right: 30px;
  transition: top 0.5s ease;
  z-index: 3;
}
.pagetop:hover {
  top:-10px;
}
.pagetop img{
  width: 100%;
}
@media screen and (max-width: 767px) {
  .pagetop {
    width: 70px;
    right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .ec-role {
    margin: 0 0 0px 0;
    padding: 0 16px;
  }
}

.ec-checkbox label {
  font-weight: normal;
}
.ec-blockBtn--action, .ec-blockBtn--cancel, .ec-inlineBtn--action, .ec-blockTopBtn, .ec-inlineBtn--cancel {
  vertical-align: middle;
/*  padding: 20px;*/
  border: transparent 1px solid;
  border-radius: 10px;
  font-family: var(--font-gothic);
  font-size: 1.5rem;
  font-weight: bold;
  color: #FFF !important;
  text-align: center;
  text-decoration: none;
  transition: color 0.5s ease, background-color 0.5s ease, border-color 0.5s ease;
}
.ec-blockBtn--action, .ec-inlineBtn--action {
  background-color: var(--color-main);
  transition: color 0.5s ease, background-color 0.5s ease, border-color 0.5s ease;
}
.ec-blockBtn--action:hover, .ec-inlineBtn--action:hover {
  color: var(--color-main) !important;
  background-color: #FFF;
  border-color: var(--color-darkbeige);
}
.ec-outlineBtn--action {
  /** from scss start(comment is custom) */
  display: block;
  margin-bottom: 0;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  /*border: 1px solid transparent;*/
  white-space: nowrap;
  /*font-size: 0.875rem;*/
  /*border-radius: 1.42857142;*/
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*padding: 10px 16px;*/
  text-decoration: none;
  color: var(--color-main);
  width: 100%;
  height: 56px;
  line-height: 56px;
  /** from scss end(comment is custom) */
  padding: 0px 12px;
  border: var(--color-main) 1px solid;
  background-color: #FFF;
  border-radius: 10px;
  font-family: var(--font-gothic);
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  transition: color 0.5s ease, background-color 0.5s ease;
}
.ec-outlineBtn--action:hover {
  color: #FFF;
  background-color: var(--color-main);
}
.ec-layoutRole a.ec-outlineBtn--action {
  color: var(--color-main);
  background-color: #FFF;
  transition: color 0.5s ease, background-color 0.5s ease;
}
.ec-layoutRole a.ec-outlineBtn--action:hover {
  color: #FFF;
  background-color: var(--color-main);
}
.ec-blockBtn--link {
  position: relative;
  z-index: 2;
  display: inline-block;
  margin: 20px auto;
  padding: 15px 40px;
  background: var(--color-bg);
  border: var(--color-darkbeige) 1px solid;
  color: var(--color-text);
  border-radius: 10px;
  line-height: 1.8;
  font-size: 1.5rem;
  font-weight: bold;
  font-family: var(--font-gothic);
  text-decoration: none;
  text-align: center;
  transition: color 0.5s ease, border-color 0.5s ease,background-color 0.5s ease;
}
.ec-blockBtn--link:after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 4px);
  right: 15px;
  width: 6px;
  height: 10px;
  background: url(/html/user_data/assets/img/common/arrow-right02.svg) no-repeat 0 50%;
  background-size: 6px;
}
.ec-pager .ec-pager__item:hover {
  background: none;
}
.ec-pager .ec-pager__item,.ec-pager .ec-pager__item--active {
  color: #CFB891;
  margin:0 10px;
  padding:0;
  font-weight: bold;
  width: 40px;
  height: 40px;
  margin: 0 10px;
  font-size: 1.5rem;
}
.ec-pager .ec-pager__item a {
  border-radius: 50%;
  border: #CFB891 1px solid;
  color: #CFB891;
  padding:0;
  line-height: 38px;
}
.ec-pager .ec-pager__item a:hover {
  border-radius: 50%;
  border: #CFB891 1px solid;
  background: #CFB891;
  color: var(--color-white);
}
.ec-pager .ec-pager__item--active {
  border-radius: 50%;
  border: #CFB891 1px solid;
  background: #CFB891;
  color: var(--color-white);
  padding:0;
  line-height: 38px;
}
@media screen and (max-width: 767px) {
  .ec-pager .ec-pager__item,.ec-pager .ec-pager__item--active {
    font-size: 1.4rem;
    width: 36px;
    height: 36px;
    margin: 0 8px;
  }
  .ec-pager .ec-pager__item a,.ec-pager .ec-pager__item--active {
    line-height: 34px;
  }
}


.ec-shelfGrid .ec-shelfGrid__item {
  width: 33.33333333%;
}

.header-topic strong {
  font-weight: normal;
}

.ec-headerCategoryArea{
    text-align: center;
}
.ec-drawerRole.is_active .ec-headerCategoryArea .ec-headerCategoryArea__heading,
.ec-itemdDrawerRole.is_active .ec-headerCategoryArea .ec-headerCategoryArea__heading{
  padding: 20px;
  margin: 0;
  border-bottom: #F0ECE3 1px solid;
  border-top:none;
  font-size: 1.5rem;
  line-height: 1.5;
  background: #FFF;

}
.ec-headerCategoryArea__heading {
    text-align: left;
}

.ec-headerCategoryArea__heading_wrap{
    display: none;
}
.headerCategoryArea__heading .sub{
  display: block;
  margin-top: 5px;
  font-size: 1.0rem;
  font-weight: normal;
}

@media screen and (max-width: 767px) {
  .ec-drawerRole.is_active .ec-headerCategoryArea .ec-headerCategoryArea__heading,
  .ec-itemdDrawerRole.is_active .ec-headerCategoryArea .ec-headerCategoryArea__heading{
    line-height: 1.15;
  }
  .ec-headerCategoryArea__heading {
      line-height: 1.15;
  }
  .ec-headerCategoryArea__heading_wrap .ec-headerCategoryArea__heading {
      line-height: 1.5 !important;
  }
  .ec-headerCategoryArea__heading.js-sp-toggle-switch {
    background-color: #FFF !important;
    background-image: url(/html/user_data/assets/img/common/icon-plus.svg) !important;
    background-repeat: no-repeat  !important;
    background-position: right 20px center !important;
    background-size: 20px !important;
    cursor: pointer;
  }

  .ec-headerCategoryArea__heading.js-sp-toggle-switch.is--open {
    background-image: url(/html/user_data/assets/img/common/icon-minus.svg) !important;
  }

  .ec-headerCategoryArea__heading.js-sp-toggle-switch.sub-toggle {
    background-color: var(--color-bg) !important;
  }

  .ec-blockBtn--link {
    width: 100%;
    min-width: initial;
    margin: 10px auto;
    padding: 15px 20px;
  }

  .ec-shelfGrid .ec-shelfGrid__item {
    width: calc(50% - 5px);
  }
}


@media screen and (max-width: 767px) {
  .ec-itemNav2__title{
    text-align: left;
    font-size: 1.5rem;
    font-family: var(--font-gothic);
    font-weight: bold;
    color: var(--color-text);
    margin-bottom: 0;
  }
  .ec-itemNav2__title .sub{
    display: block;
    margin-top: 5px;
    font-size: 1.0rem;
    font-weight: normal;
    color: var(--color-main);
  }

  .header-nav-menu-link {
    background-color: #FFF;
    background-image: url(/html/user_data/assets/img/common/arrow-right03.svg);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 20px;
    display: block;
  }
  .menu-in-close {
    display: block !important;
    width: 100%;
    position: relative;
    width: calc(100% - 40px);
    margin: 10px 20px 110px 20px;
    border: #4F1C1D 1px dotted;
    border-radius: 10px;
    padding: 20px;
    font-size: 1.2rem;
    text-align: center;
    line-height: 1.5;
    cursor: pointer;
    left: 0;
    right: 0;
    height: auto;
  }
  .menu-in-close::before {
      content: "";
      display: inline-block;
      vertical-align: text-top;
      width: 14px;
      height: 14px;
      background: url(/html/user_data/assets/img/common/close.svg) no-repeat 0 0;
      background-size: auto;
      background-size: 14px;
      margin: 0 10px 0 -10px;
      color: var(--color-text);
  }
  .dd-nav-menu-images li {
    text-align: left;
    margin: 0;
  }
  .dd-nav-menu-images li a {
    text-align: left;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    padding: 12px 20px;
    border-bottom: #F0ECE3 1px solid;
    background-color: var(--color-bg);
    background-image: url(/html/user_data/assets/img/common/arrow-right02.svg);
    background-repeat: no-repeat;
    background-position: right 26px center;
    background-size: 6px;
  }
  .dd-nav-menu-thumb {
    width: 90px;
    border-radius: 0;
    margin: 0 15px 0 0;
    text-align: center;
  }
  .dd-nav-menu-thumb img {
      width: 100%;
      border-radius: 10px;
  }
  .dd-nav-menu-text {
    font-size: 1.4rem;
    line-height: 1.5;
    color: var(--color-text);
      text-decoration: none;
  }
}
.ec-drawerRoleClose{
  background-color: transparent;
}
.ec-drawerRoleClose.is_active{
    display:none
}

.ec-headernav {
  width: 100%;
  height: 94px;
  min-width: 1180px;
  padding: 0 2%;
  background: #FEFCF9;
  border-bottom: var(--color-beige) 1px solid;
  text-align: center;
  transition: height 0.2s ease;
}
@media screen and (max-width: 767px) {
  .ec-headernav {
    width: 100%;
    height: 80px;
    min-width: initial;
    padding: 0;
    position: relative;
  }
  .ec-headerRole__navSP {
    display: block;
    z-index: 20;
    height: 50px;
    width: 50px;
    margin: 0 6px 0 0;
    text-align: center;
    position: relative;
    cursor: pointer;
  }
  .sp-nav-switch {
    content: "";
    display: inline-block;
    width: 30px;
    height: 2px;
    background: var(--color-text);
    position: absolute;
    top: 22px;
    left: 0;
    right: 0;
    margin: auto;
    opacity: 1;
    transition: opacity 150ms 50ms;
  }
  .sp-nav-switch::before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 2px;
    background: var(--color-text);
    position: absolute;
    z-index: 2;
    transform: translate(0, -10px);
    right: 0;
    opacity: 1;
  }
  .sp-nav-switch::before, .sp-nav-switch::after {
    transition: transform 200ms;
  }
  .sp-nav-switch::after {
    content: "";
    display: inline-block;
    width: 30px;
    height: 2px;
    background: var(--color-text);
    position: absolute;
    z-index: 2;
    transform: translate(0, 10px);
    right: 0;
    opacity: 1;
  }

  .ec-headerRole__navSP.is--open .sp-nav-switch,
  .ec-headerRole__navSP.is--open .sp-nav-switch::before,
  .ec-headerRole__navSP.is--open .sp-nav-switch::after {
    width: 30px;
  }
  .ec-headerRole__navSP.is--open .sp-nav-switch {
    height: 0;
  }
  .ec-headerRole__navSP.is--open .sp-nav-switch::after {
    transform: rotate(-45deg);
    opacity: 1;
  }
  .ec-headerRole__navSP.is--open .sp-nav-switch::before {
    transform: rotate(45deg);
    opacity: 1;
  }
 .sp-nav-text {
    position: absolute;
    top: 41px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
    font-size: 1.2rem;
    font-family: var(--font-eng);
    letter-spacing: normal;
  }
  .sp-nav-text::before {
    content: "Menu";
    color:var(--color-text);
  }
}
.ec-headerRole__navSP.is--open .sp-nav-text::before {
    content: "閉じる";
    font-size: 1.0rem;
}


.header-topic {
  float: left;
  text-align: left;
  font-size: 1.3rem;
  line-height: 20px;
}

@media screen and (max-width: 767px) {
  .header-topic {
    font-size: 1.1rem;
    line-height: 30px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    float: none;
    text-align: center;
  }
}

ul.header-link {
  list-style: none;
  padding: 0;
  float: right;
  margin: 0;
  text-align: right;
  line-height: 0;
}
ul.header-link li {
  display: inline-block;
  font-size: 1.2rem;
  line-height: 20px;
  margin: 0 0 0 25px;
  padding: 0;
  position: relative;
  font-family: var(--font-gothic);
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .header-sub-nav .header-link li {
    width: 60px;
    height: 50px;
    margin: 0 0 0 5px;
    padding: 0;
  }
  .header-sub-nav .header-link li a {
    display: block;
    width: 60px;
    height: 50px;
    padding: 40px 0 0 0;
    font-size: 1.0rem;
    text-align: center;
    margin-left: 5px;
  }
  .header-sub-nav .header-link li:first-child a:first-child {
    margin-left: 20px;
  }
}

ul.header-link li[data-only-pc="true"] {
  display: none;
}
ul.header-link li a {
  color: var(--color-text);
}
ul.header-link li a:hover {
  color: var(--color-main);
}

.header-line {
  width: 100%;
  color: var(--color-text);
  min-width: 1180px;
  padding: 15px 2% 10px 2%;
  background: #FEFCF9;
  border-bottom: var(--color-beige) 1px solid;
  overflow: hidden;
  transition: opacity 0.5s ease;
}

@media screen and (max-width: 767px) {
  .header-line {
    display: block;
    width: 100%;
    min-width: initial;
    height: 30px;
    padding: 0 16px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  body.have_curtain div.header-line {
    display: none;
  }
}
.header-line .c-headerNaviRole {
  width: 100%;
  font-size: 12px;
  padding: 0
}

.ec-headernav .header-nav {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}

.ec-headernav .header-logo {
  float: left;
  margin: 10px -50px 0px 0px;
}

.ec-headernav .header-logo h1 {
  margin: 0px;
  color: #FFF;
}

.ec-headernav .header-logo img {
  width: 140px;
  transition: width 0.2s ease;
}

.ec-headernav .header-nav-menu {
  display: flex;
  align-items: center;
  height: 94px;
  text-align: center;
}
.ec-headernav .header-nav-menu.header-nav-menu-relative {
  position: relative;
}
.ec-headernav .header-nav-menu-head {
  color: var(--color-text);
  display: flex;
  align-items: center;
  height: 94px;
  padding: 0 30px;
  text-align: center;
  font-size: 15px;
  position: relative;
  white-space: nowrap;
}
.ec-headernav .dd-nav {
  position: absolute;
  top: 84px;
  left: 0;
  right: 0;
  margin: auto;
  width: 1100px;
  padding: 30px 20px 20px 20px;
  background: #FFF;
  border:  var(--color-darkbeige) 1px solid;
  pointer-events: none;
  opacity: 0;
  overflow: hidden;
  transition: top 0.5s ease-out,opacity 0.1s ease-out;
  z-index: 10;
}
.ec-headernav .dd-nav.nav-item {
  padding: 40px 80px 20px 80px;
}
.ec-headernav .dd-nav.dd-nav-min {
  width: 250px;
  left: -20px;
  top: 84px;
  padding: 30px;
}
.ec-headernav .header-nav-menu-relative .dd-nav.dd-nav-guide {
  width: 380px;
  left: -100px;
  top: 84px;
  padding: 30px;
}
.ec-headernav .dd-nav-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0 0 30px 0;
  margin-bottom: 0;
  border-bottom: var(--color-darkbeige) 1px solid;
}
.ec-headernav .dd-nav-menu {
  min-width: 170px;
  margin: 0 ;
  text-align: left;
}
.ec-headernav .dd-nav-menu-inner {
  display: inline-block;
  vertical-align: top;
  margin-right: 30px;
}
.ec-headernav .dd-nav-menu-title {
  padding: 0 0 10px 0;
  margin: 0 0 15px 0;
  border-bottom: var(--color-darkbeige) 1px solid;
  font-size: 1.5rem;
  line-height: 1.5;
  font-family: var(--font-gothic);
  font-weight: bold;
  text-align: left;
}
.ec-headernav .dd-nav-menu-item {
  margin: 0 0 10px 0;
  font-size: 1.3rem;
  line-height: 1.8;
  font-family: var(--font-gothic);
  font-weight: bold;
  color: #C1A678;
  text-align: left;
}
.ec-headernav .dd-nav-menu-list {
  display: inline-block;
  vertical-align: top;
}
.ec-headernav .dd-nav-menu-list + .dd-nav-menu-list {
  margin-left: 40px;
}
.ec-headernav .dd-nav-guide .dd-nav-menu-list + .dd-nav-menu-list {
  margin-left: 20px;
}
.ec-headernav .dd-nav-menu-list li {
  text-align: left;
  margin: 0 0 5px 0;
}
.ec-headernav .dd-nav-menu-list li a {
  display: block;
  padding: 4px 4px 4px 14px;
  background: url(/html/user_data/assets/img/common/arrow-right02.svg) no-repeat 0 10px;
  background-size: 6px;
  font-size: 1.4rem;
  line-height: 1.5;
  color: var(--color-text);
  text-decoration: none;
}
.ec-headernav .dd-nav-menu-list li a:hover {
  color: var(--color-link);
  text-decoration: none;
}
.ec-headernav .dd-nav-link {
  margin-top: 10px;
}
.ec-headernav .dd-nav-link .btn {
  line-height: 1.5;
  padding: 12px 40px 0 40px ;
  height: 70px;
  border-radius: 34px;
  font-size: 1.5rem;
}
.ec-headernav .dd-nav-link .btn::after {
  top: calc(50% - 4px);
  right: 15px;
}
.ec-headernav .dd-nav-link .sub {
  font-size: 1.3rem;
  display: block;
  margin-bottom: 2px;
}
.ec-headernav .dd-nav-menu-images {
  display: flex;
  justify-content: space-between;
}
.ec-headernav .dd-nav-menu-images li {
  text-align: center;
  margin: 0 0 20px 0;
}
.ec-headernav .dd-nav-menu-images li a {
  text-align: center;
  text-decoration: none;
}
.ec-headernav .dd-nav-menu-thumb {
  width: 200px;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 10px;
  text-align: center;
}
.ec-headernav .dd-nav-menu-thumb img {
  border-radius: 10px;
  transition: transform 0.5s ease;
}
.ec-headernav .dd-nav-menu-text {
  font-size: 1.4rem;
  line-height: 1.5;
  color: var(--color-text);
  text-decoration: none;
}
.ec-headernav .dd-nav-menu-text:hover {
  color: var(--color-main);
}
.ec-headernav .dd-nav-menu-text::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 9px;
  background: url(/html/user_data/assets/img/common/arrow-right02.svg) no-repeat 0 0;
  background-size: 6px;
  margin-right: 8px;
}

@media screen and (min-width:768px) {
  ul.header-link li[data-only-pc="true"] {
    display: inline-block;
  }
  .ec-headernav .header-sub-nav {
    display: none;
  }
  .header-sub-nav .header-link {
    float: none;
    height: 100%;
    overflow: hidden;
  }
  .header-sub-nav .header-link li {
    height: 100%;
    float: left;
  }
  .header-sub-nav .header-link li>* {
    display: flex;
    align-items: center;
    align-content: center;
    height: 100%;
  }
  .header-sub-nav .cart-badge {
    left: 10px;
    top: 12px;
  }
  /** header fixed mode start */
  .ec-headernav.fixed {
    position: fixed;
    height: 70px;
    top: 0px;
    left: 0px;
    z-index: 10;
    transition: width 0.5s ease;
  }
  .ec-headernav.fixed .header-logo {
    width: 110px;
    margin: 6px 0 0 0;
  }
  .ec-headernav.fixed .header-logo img {
    width: 110px;
  }
  .ec-headernav.fixed .header-nav {
    display: none;
  }
  .ec-headernav.fixed .header-sub-nav {
    display: block;
    float: right;
    height: 100%;
  }
  /** header fixed mode end */
  /** dd-nav start */
  .ec-headernav .dd-nav.is--open {
    pointer-events: initial;
    top: 93px;
    height: auto;
    opacity: 1;
    z-index: 10;
  }
  .ec-headernav .dd-nav.dd-nav-min.is--open {
    top: 93px;
  }
  .ec-headernav .header-nav-menu-relative .dd-nav.dd-nav-guide.is--open {
    top: 93px;
  }
  .ec-headernav .header-nav-menu-head::before {
    content: "";
    display: block;
    width: 1px;
    height: 15px;
    position: absolute;
    bottom: 3px;
    left: 0;
    right: 0;
    margin: auto;
    background: var(--color-main);
    opacity: 0;
    transition: bottom 0.5s ease-out,opacity 0.1s ease-out;
  }
  .ec-headernav .header-nav-menu-head::after {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 16px;
    margin: auto;
    background: var(--color-main);
    opacity: 0;
    transition: bottom 0.5s ease-out,opacity 0.1s ease-out;
  }
  .ec-headernav .header-nav-menu.is--open .header-nav-menu-head::before {
    bottom: -1px;
    opacity: 1;
  }
  .ec-headernav .header-nav-menu.is--open .header-nav-menu-head::after {
    bottom: 12px;
    opacity: 1;
  }
  .ec-headernav a:hover .dd-nav-menu-text {
    color: var(--color-link);
  }
  .ec-headernav a:hover .dd-nav-menu-thumb img {
    transform: scale(1.1);
  }
  /** dd-nav end */
}
@media screen and (max-width:767px) {
  .ec-headernav.fixed {
    position: fixed;
    top: 0px;
    z-index: 10;
  }
  .ec-layoutRole__header .header-line .header-link {
    display: none;
  }
  .ec-headernav {
    position: sticky;
    height: 80px;
    top: 0px;
    left: 0px;
    z-index: 10;
  }
  .ec-headernav .header-logo {
    width: auto;
    height: 64px;
    position: absolute;
    left: 16px;
    top: 8px;
    margin: 0;
  }
  .ec-headernav .header-logo img {
    height: 64px;
    width: auto;
  }
  .ec-headernav .header-nav {
    display: none;
  }
  .ec-headernav .header-sub-nav {
    display: flex;
    flex-wrap: wrap;
    float: right;
    margin: 10px 0 0 0;
  }
  body.have_curtain .ec-headernav {
    position: fixed;
    top: 0px;
    left: 0px;
  }
}
.ec-headerNaviRole__search {
  width: 200px;
}

@media screen and (min-width: 768px) {
  .header-nav-menu-head .sub {
    display: block;
    margin-top: 10px;
    font-size: 1.2rem;
    color: var(--color-main);
  }
}

.ec-headerSearch select.category_id {
  display: none
}
.ec-headerSearch .ec-headerSearch__keyword {
  width: 200px;
  height: 40px;
  line-height: 30px;
  border: transparent;
  float: none;
  margin-bottom: 25px;
}
.ec-headerSearch .ec-headerSearch__keyword .ec-icon {
  width: 38px;
  height: 38px
}

.ec-headerSearch__keywordBtn .ec-icon {
  background: url(/html/user_data/assets/img/common/icon-search-input.svg) no-repeat center 50%;
  background-size: 22px 22px
}
.ec-headerSearch__keywordBtn .ec-icon img {
  display: none;
}

.ec-headerSearch .ec-headerSearch__keyword {
  background-color: transparent;
}
.ec-headerSearch .ec-input {
  width: 100%;
  height: 40px;
  margin-bottom: 25px;
  background: #FFF;
  border: var(--color-darkbeige) 1px solid;
  border-radius: 10px;
  position: relative;
}

.ec-headerSearch .ec-headerSearch__keyword input[type="search"]::placeholder {
  color: #C9B28A;
  font-size: 1em
}

.ec-headerSearch .ec-headerSearch__keyword input[type="search"] {
  width: calc(100% - 40px);
  height: 38px;
  line-height: 30px;
  border: none;
  padding: 0 10px;
  position: relative;
}
@media screen and (max-width:767px) {
  .ec-headerSearch .ec-input {
    height: 45px;
  }
  .ec-headerSearch .ec-headerSearch__keyword input[type="search"] {
    width: 100%;
  }
    .ec-headerSearch .ec-headerSearch__keyword input[type="search"]::placeholder {
    font-size: 1.2rem;
  }
}

ul.header-link .ec-headerNav__itemIcon {
  color: #ec6468;
  font-size:18px;
  vertical-align: text-bottom;
  margin-right: 3px;
}
.header-link-cart::before {
  content: "";
  display: inline-block;
  vertical-align: text-bottom;
  width: 18px;
  height: 18px;
  background: url(/html/user_data/assets/img/common/icon-cart.svg) no-repeat 0 center;
  background-size: auto;
  background-size: 18px;
  margin-right: 3px;
}

@media screen and (max-width: 767px) {
  .header-link-noshi {
    background: url(/html/user_data/assets/img/common/icon-noshi.svg) no-repeat center 10px;
  }
  .header-link-cart {
    background: url(/html/user_data/assets/img/common/icon-cart.svg) no-repeat center 10px;
    background-size: auto;
    background-size: 27px;
  }
  .header-link-cart::before{
      display: none;
  }
}

.header-link-entry::before {
  content: "";
  display: inline-block;
  vertical-align: text-bottom;
  width: 18px;
  height: 18px;
  background: url(/html/user_data/assets/img/common/icon-member.svg) no-repeat 0 center;
  background-size: auto;
  background-size: 16px;
  margin-right: 3px;
}

.header-link-login::before {
  content: "";
  display: inline-block;
  vertical-align: text-bottom;
  width: 18px;
  height: 18px;
  background: url(/html/user_data/assets/img/common/icon-login.svg) no-repeat 0 center;
  background-size: auto;
  background-size: 16px;
  margin-right: 3px;
}

.ec-layoutRole__contentTop a {
  color: #FFF
}

/** 新着情報一覧(TOP) */
.ec-newsRole {
  padding: 0 0 50px
}
.ec-newsRole .ec-secHeading{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 0 10px;
  margin: 0 0 10px 0;
}
.ec-newsRole a.ec-inlineBtn--top {
  margin-top: 16px;
  margin-left: 16px;
  background-color: var(--color-bg);
  border-color: var(--color-darkbeige);
  border-radius: 5px;
}
.ec-newsRole a.ec-inlineBtn--top:hover {
  color: var(--color-main);
  border-color: var(--color-white);
}

.ec-newsRole .ec-newsRole__news {
  margin-right: 16px;
  width: 100%;
  padding: 20px 15px;
  background: #FFF;
  border: var(--color-beige) 1px solid;
  border-radius: 15px;
}
.ec-newsRole .ec-newsRole__newsItem {
  width: 100%;
  padding: 0;
  margin: 0 auto;
  border-bottom: var(--color-beige) 1px solid!important;
}
.ec-newsRole .ec-newsRole__newsItem:not(:last-of-type) {
  border-bottom: var(--color-beige) 1px solid;
}
.ec-newsRole .ec-newsRole__newsDate{
    width:120px;
    margin: 0;
}
.ec-newsRole .ec-newsRole__newsTitle{
    width:100%;
}
.ec-newsRole .ec-newsRole__newsColumn {
  display: inline-flex;
}
.ec-newsRole .ec-newsRole__newsDate,.ec-newsRole .ec-newsRole__newsTitle {
  display: block;
  padding: 15px 0;
  line-height: 1.5;
  text-align: left;
  color:var(--color-text);
  text-decoration: none;
  font-weight: normal;
  transition: color 0.5s ease;
}
.ec-newsRole__news_wrap {
  width: 100%;
  max-height: 150px;
  padding: 0 30px;
  margin: 0 auto;
  overflow-y: scroll;
  /** firefox scrollbar hack */
  /*
  scrollbar-color: var(--color-bg) #C9B28A;
  scrollbar-width: thin;
  */
  /** firefox scrollbar hack  */
}
@media screen and (min-width: 768px){
  .ec-newsRole .ec-newsRole__newsItem a {
    display: inline-flex;
  }
  .ec-newsRole .ec-newsRole__newsItem a * {
    color: var(--color-text) !important;
    text-decoration: none;
  }
  .ec-newsRole .ec-newsRole__newsItem a:hover * {
    color: var(--color-link) !important;
    text-decoration: none;
  }
}
@media screen and (max-width: 767px){
  .ec-newsRole .ec-newsRole__news  {
    width: 100%;
    padding: 20px 8px;
  }
  .ec-newsRole .ec-newsRole__newsItem {
    padding: 10px 0 0;
  }
  .ec-newsRole .ec-newsRole__newsItem:last-of-type{
    margin-bottom:0
  }
  .ec-newsRole .ec-newsRole__newsDate,.ec-newsRole .ec-newsRole__newsTitle {
    font-size: 1.2rem !important;
    padding: 0;
  }
  .ec-newsRole__news_wrap {
    width: 100%;
    max-height: 200px;
    padding: 0 15px;
   }
}
.ec-newsRole .ec-newsRole__newsClose {
  display: none
}

.ttl-serch-ul>li:first-of-type {
  display: block;
  text-decoration: none;
  font-size: 1.4rem;
  line-height: 1.5;
  font-family: var(--font-gothic);
  font-weight: bold;
  position: relative;
}

.ttl-serch-ul>li:first-of-type>span {
  color: #C1A678;
  display: block;
  width: 100%;
  padding: 3px 0px 8px 15px;
  font-size: 1.4rem;
  line-height: 1.8;
  background-image: none;
  font-family: var(--font-gothic);
  font-weight: bold;
  padding-top:3px;
  padding-bottom:8px;
}

.ttl-serch-ul>li:first-of-type::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  position: absolute;
  top: 12px;
  left: 0;
  margin: auto;
  background: #C1A678;
}

.crosshead {
  margin-bottom: 25px;
  text-align: center;
}

.h-sub {
  display: block;
  margin-bottom: 12px;
  color: var(--color-main);
  letter-spacing: 0.05em;
  font-weight: normal;
  font-family: var(--font-eng);
  font-size: 1.4rem;
}

h2.h-img {
  margin: 0
}

.h-img img {
  display: block;
  margin: 0 auto;
  height: 46px;
}
@media screen and (max-width: 767px) {
  .h-img img {
    height: 34px;
  }
}
.cat-link-list {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width:767px) {
  .cat-link-list {
    padding-left:16px;
    padding-right:16px;
  }
  .front_page .cat-link-list {
    padding-left:0px;
    padding-right:0px;
  }
}

.cat-link-list li {
  width: 290px;
  margin: 0 20px 25px 0;
}
.cat-link-list li a {
  display: block;
  background: #FFF;
  background-position-x: 0%;
  background-position-y: 0%;
  background-repeat: repeat;
  background-image: none;
  background-size: auto;
  background-image: url(/html/user_data/assets/img/common/arrow-right.svg);
  background-repeat: no-repeat;
  background-position: right 20px center;
  background-size: 7px;
  padding: 25px 40px;
  border: var(--color-beige) 1px solid;
  border-radius: 15px;
  font-size: 1.8rem;
  font-family: var(--color-gothic);
  font-weight: bold;
  text-align: left;
  line-height: 1.5;
  color: var(--color-text);
  text-decoration: none;
  transition: background-position 0.5s ease, color 0.5s ease;
}
.cat-link-list li:nth-child(3n) {
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .cat-link-list li {
    width: calc(50% - 5px);
    margin: 0 10px 10px 0;
  }
  .cat-link-list li:nth-child(2n) {
    margin: 0 0 10px 0;
  }
  .cat-link-list li a {
    background-position: right 10px center;
    background-size: 7px;
    padding: 20px 20px;
    border-radius: 10px;
    font-size: 1.4rem;
  }
  .cat-link-list li:nth-child(3n) {
    margin: 0 10px 10px 0;
  }
  .cat-link-list li:nth-child(6n) {
    margin: 0 0 10px 0;
  }
}
.ec-layoutRole__footer {
  width: 100%;
  min-width: 1200px;
  padding: 120px 0 0 0;
  background: url(/html/user_data/assets/img/common/footer.svg) no-repeat center 80px;
  background-size: auto;
  background-size: cover;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
.ec-layoutRole__footer {
  width: 100%;
  min-width: auto;
  background-size: 100%;
  margin-top: 10px;
 }
.front_page .ec-layoutRole__footer {
  background-size: 100%;
  margin-top:-45px;
 }
.ec-layoutRole__footer .ec-role{
    padding: 0;
    margin: 0;
     background-color: #FFF;
 }
}
.ec-footerRole .ec-footerRole__inner {
  width: 1200px;
  margin: 0 auto;
  padding: 0 0px 20px 0px;
  color:var(--color-text);
}
@media screen and (max-width: 767px) {
.ec-footerRole .ec-footerRole__inner {
    width:100%;
    padding: 0;
 }
}

.footer-line {
  width: 100%;
  background: url(/html/user_data/assets/img/common/footer-kanoko.png) repeat center 0;
}

.footer-line-inner {
  width: 1200px;
  height: 40px;
  margin: 0 auto;
  padding: 0 30px;
  display: flex;
  justify-content: space-between;
}
  @media screen and (max-width: 767px){
.footer-line {
  width: 100%;
  background: #FFF;
 }
.footer-line-inner {
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0;
  display: block;
 }
}
.footer-nav {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  text-align: left
}
.footer-nav li {
  display: inline-block;
  margin: 0 30px 0 0;
}
.footer-nav li a {
  color: #FFF;
  font-weight: bold;
  font-family: var(--font-gothic);
  font-size: 1.2rem;
  line-height: 40px;
}
.footer-nav li a:hover {
  color: #FBD3D5;
}
@media screen and (max-width: 767px) {
  .footer-nav {
    text-align: center;
    display: block;
    margin-bottom: 10px;
  }
  .footer-nav li {
    display: inline-block;
    margin: 8px;
  }
  .footer-nav li a {
    color: var(--color-text);
    font-weight: normal;
    font-size: 1.1rem;
    line-height: 1.5;
  }
}

.ec-footerTitle__copyright {
  color: #FFF;
  font-family: var(--font-eng);
  font-size: 1.2rem;
  line-height: 40px;
  text-align: right;
}
.footer-note {
  margin: 15px 0 0 0;
  text-align: right;
  font-size: 11px;
  line-height: 1.2;
  background-color: var(--color-white);
}
.footer-guide {
  width: 100%;
  margin: 0 auto 30px auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .ec-footerTitle__copyright {
    width: 100%;
    height: 45px;
    background: url(/html/user_data/assets/img/common/footer-kanoko.png) repeat center 0;
    font-size: 1.3rem;
    line-height: 45px;
    text-align: center;
  }
  .footer-note {
    margin: 0 auto;
    padding: 5px 20px 20px 20px;
    text-align: center;
  }
  .footer-guide {
    width: 100%;
    margin: 0 auto 10px auto;
    padding: 0 16px;
    display: block;
  }
}

.footer-guide-head {
  margin: 0 0 10px 0;
  font-size: 1.9rem;
  font-family: var(--font-gothic);
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  transition: color 0.5s ease;
}
.footer-guide p {
  font-size: 1.2rem;
  margin: 0 0 5px 0;
  line-height: 1.5;
}
.footer-guide li {
  width: 273px;
}
.footer-guide li a {
  display: block;
  padding: 20px 20px 15px 20px;
  background: #FBF6EE;
  border: var(--color-beige) 1px solid;
  border-radius: 15px;
  overflow: hidden;
  transition: background-color 0.5s ease;
}
.footer-guide li a:hover {
  background: #FFFFFF;
}
.footer-guide li a:hover p {
  color: var(--color-text)
}
@media screen and (max-width: 767px) {
  .footer-guide-head {
    margin: 0 0 10px 0;
    font-size: 1.5rem;
  }
  .footer-guide p {
    font-size: 1.2rem;
  }
  .footer-guide li {
    width: 100%;
    margin-bottom: 20px;
  }
  .footer-guide li a {
    display: block;
    padding: 15px 20px 5px 20px;
    border-radius: 10px;
  }
}

.check {
  padding: 0 10px 0 0;
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-family: var(--font-eng);
  float: right;
  position: relative;
  transition: color 0.5s ease;
}
@media screen and (max-width: 767px) {
.check {
  padding: 0 10px 0 0;
  font-size: 1.2rem;
 }
}
.check::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: calc(50% - 3px);
  right: 0;
  width: 5px;
  height: 7px;
  background: url(/html/user_data/assets/img/common/arrow-right.svg) no-repeat 0 50%;
  background-size: auto;
  background-size: 5px;
}

/** calendar */
.footer-calendar {
  width: 490px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-right: 30px;
}
.ec-calendar {
  margin-left: 0px !important;
}
.ec-calendar .ec-calendar__month {
  font-size: 1.3rem;
  margin: 0;
  width: 234px;
  padding: 2px;
  border-collapse: collapse;
  background: #FFEEEE;
  border:  #FFEEEE 4px solid;
}
.ec-calendar .ec-calendar__title {
  margin: 0;
  font-family: var(--font-gothic);
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;

  padding: 8px;
  margin: 0;
  background: var(--color-strong);
  border-radius: 10px 10px 0 0;
  color: #fff;
  display: block;
  text-align: center;
}
.ec-calendar .ec-calendar__mon,
.ec-calendar .ec-calendar__tue,
.ec-calendar .ec-calendar__wed,
.ec-calendar .ec-calendar__thu,
.ec-calendar .ec-calendar__fri {
  background-color: transparent;
}
.ec-calendar .ec-calendar__sun,
.ec-calendar .ec-calendar__sat {
  background-color: transparent;
  color: var(--color-strong);
}
.ec-calendar .ec-calendar__today {
  background: #EE7C7F !important;
  color: #FFF !important;
  border-radius: 0;
  width: auto;
  height: auto;
  font-weight: bold;
  position: static;
}
.ec-calendar .ec-calendar__today::before {
  background: none;
  content: none;
}
.ec-calendar .ec-calendar__holiday {
  background: #ffcccc !important;
  color:var(--color-text) !important;
  border-radius: 0;
  width: auto;
  height: auto;
}
.ec-calendar .ec-calendar__day {
  background: transparent;
}
.ec-calendar .ec-calendar-caption {
  padding: 5px;
  font-size: 1.2rem;
  font-family: var(--font-gothic);
  line-height: 1.5;
  text-align: left;
  font-weight: bold;
}
.ec-calendar .ec-calendar-caption-today {
  margin-right: 8px;
}
.ec-calendar .ec-calendar-caption-today::before {
  content: "";
  display: inline-block;
  margin-right: 5px;
  vertical-align: middle;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--color-main);
}
.ec-calendar .ec-calendar-caption-holiday::before {
  content: "";
  display: inline-block;
  margin-right: 5px;
  vertical-align: middle;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #ffcccc;
}
.ec-calendar__month th, .ec-calendar__month td{
  padding: 2px;
  line-height: 1.6;
  border:  #FFEEEE 2px solid;
}

@media screen and (max-width: 767px) {
  .footer-calendar {
    width: 100%;
    justify-content: space-between;
    margin: 0 0 0 0;
    padding: 0 16px;
  }
  .footer-calendar-wrap {
    width: calc(50% - 5px);
    margin: 0;
  }
  .ec-calendar .ec-calendar__title {
    font-size: 1.0rem;
    margin: 0;
    padding: 5px;
  }
  .ec-calendar .ec-calendar__month {
    width: 100%;
    margin: 0;
    border:  #FFEEEE 1px solid;
  }
  .ec-calendar__month th, .ec-calendar__month td {
    font-size: 1.0rem;
    line-height: 1.5;
    border:  #FFEEEE 1px solid;
  }
  .ec-calendar .ec-calendar-caption {
    padding: 5px;
    font-size: 1.1rem;
    margin: 0 0 30px 15px;
  }
}

.footer-support {
  width: 270px;
  margin-right: 20px;
}
.footer-support-head {
  margin: 0 0 15px 0;
  padding: 0 0 5px 0;
  border-bottom: var(--color-darkbeige) 1px solid;
  text-align: left;
  font-family: var(--font-gothic);
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
}
.footer-support p {
  font-size: 1.2rem;
  margin: 0 0 10px 0;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .footer-support {
    width: 100%;
    padding: 0 16px;
    margin: 0 0 20px 0;
   }
  .footer-support-head {
    margin: 0 0 15px 0;
    padding: 5px 10px;
    background: #FBF6EE;
    border: none;
    text-align: left;
    font-size: 1.4rem;
  }
  .footer-support p {
    font-size: 1.2rem;
    margin: 0 0 10px 0;
    line-height: 1.5;
  }
}
a.footer-link {
  display: inline-block;
  padding: 0 0 3px 10px;
  position: relative;
  z-index: 2;
  color: var(--color-text);
  font-family: var(--font-gothic);
  font-weight: bold;
  text-decoration: none;
}

a.footer-link::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 10px;
  width: calc(100% - 10px);
  height: 1px;
  background: var(--color-text);
  transition: transform 0.5s ease;
  transform-origin: right;
  z-index: 1;
}
a.footer-link::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: calc(50% - 6px);
  left: 0;
  width: 8px;
  height: 8px;
  background: url(/html/user_data/assets/img/common/arrow-right-br.svg) no-repeat 0 50%;
  background-size: 5px;
}
@media screen and (min-width:768px) {
  a.footer-link:hover {
    color: var(--color-main);
  }
  a.footer-link:hover::before {
    transform:  scaleX(0);
  }
}

.footer-support-tel {
  height: 30px;
  font-size: 1.6rem;
  font-family: var(--font-gothic);
  font-weight: bold;
  line-height: 20px;
  margin-bottom: 5px;
}

.footer-support-tel::before {
  content: "TEL:";
  display: inline-block;
  vertical-align: top;
  margin-right: 10px;
  width: 30px;
  height: 20px;
/*  background: url(/html/user_data/assets/img/common/freedial.svg) no-repeat 0 50%;*/
  background-size: auto;
  background-size: 30px;
  border-radius: 3px;
}
.footer-support-tel a[href^="tel"]{
  text-decoration: underline;;
}

@media screen and (max-width: 767px) {
.footer-bnr {
  padding: 0 16px;
  margin-bottom: 20px;
 }
}
.footer-logo {
  width: 148px;
  position: absolute;
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 767px) {
.footer-logo {
  width: 100%;
  margin: 20px 0 0 0;
  padding: 45px 0 30px 0;
  border-top: var(--color-strong) 2px solid;
  position: relative;
  text-align: center;
 }
.footer-logo img {
  width: 148px;
 }
}
@media screen and (min-width: 768px) {
  .only-sp {
    display: none !important;
  }
}

.side-sns a {
  display: block;
  min-height: 40px;
  color: var(--color-text);
  text-decoration: none;
  padding: 0 0 0 60px;
  font-family: var(--font-gothic);
  font-weight: bold;
  line-height: 1.5;
  font-size: 1.4rem;
  text-align: left;
}

.side-sns li {
  width: 100%;
  margin: 0 0 20px 0;
}

.footer-sns li {
  width: 25%;
  text-align: center;
  position: relative;
  border-left: var(--color-darkbeige) 1px dotted;
}
@media screen and (max-width: 767px) {
.footer-sns li {
  width: 50%;
  text-align: left;
  border: none;
  margin-bottom: 15px;
 }
}
.footer-sns {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 40px 0;
}

.footer-sns a {
  display: inline-block;
  min-height: 42px;
  color: var(--color-text);
  text-decoration: none;
  padding: 0 0 0 50px;
  font-family: var(--font-gothic);
  font-weight: bold;
  line-height: 42px;
  font-size: 1.4rem;
  text-align: left;
}
@media screen and (max-width: 767px){
.footer-sns {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 30px 0 10px 0;
  padding: 0 16px;
}
.footer-sns a {
  line-height: 1.5;
  font-size: 1.2rem;
  text-align: left;
 }
}
body, .ec-headingTitle {
  color: #4F1C1D
}

.ec-headingTitle {
  font-weight: bold;
}

.ec-headerNaviRole img {
  width: 140px;
}

.ec-cartNavi .ec-cartNavi__icon {
  color: #ec6468
}

.ec-categoryNaviRole {
  background: #eb864a;
}

.ec-blockTopBtn {
  background: #F8F8F8;
  color: #4d4d4d;
}

.ec-headerNaviRole__left h1 a:hover {
  color: #FFF;
}

h1 a {
  color: #FFF;
}

.ec-headerNaviRole__left h1, .ec-categoryNaviRole, .main_text p, .main_text h1 {
  font-family: 'Kiwi Maru', serif;
}


/**.front_page a{ color:#FFF;}**/

.ec-headerNaviRole .ec-headerNaviRole__nav a {
  padding-right: 10px;
}

.ec-headerNav .ec-headerNav__itemIcon {
  color: #ec6468
}

.ec-headerNaviRole {
  padding-top: 0;
}

/** for baikodo start */
/*
.header_img{height:40vw;position:relative;overflow:hidden;}
*/

.header_img {
  background: linear-gradient(#FEFCF9, #FCF8F2);
  padding: 20px 0 40px 0;
}
@media screen and (max-width: 767px) {
.header_img {
  padding: 20px 0;
 }
}
/** for baikodo end */

.header_img p {
  margin: 0;
  line-height: 1.5;
  font-size: 1.6rem;
  text-align: center;
  color: #FFF;
}

.main_text {
  background: #F8F8F8;
  width: 100%;
  text-align: center;
  padding: 40px;
  line-height: 2em;
}

.main_textinnter {
  display: flex;
}

.top_image {
  width: 40%;
  text-align: right;
}

.top_image img {
  height: auto;
  max-height: 600px;
  width: 100%;
}

.main_textinnter div:last-of-type {
  width: 60%;
  text-align: left;
  padding: 40px 0 0 40px;
  font-size: 20px;
  line-height: 3em;
}

.main_text h1 {
  color: #d33828;
  font-size: 36px;
}

.ec-inlineBtn {
  border-radius: 5px;
}

.header_text {
  position: absolute;
  width: 40%;
  z-index: 2;
  margin: auto;
  color: #FFF;
  line-height: 40vw;
  border-image-source: linear-gradient(#eb864a, #eb864a);
  border-image-slice: 0 fill;
  border-image-outset: 0 40px 100VW 100vw;
}

.ec-headerNaviRole__left h1 a {
  text-decoration: none;
}

.ec-headerNaviRole__left h1 span {
  font-size: 16px;
  display: block;
}

.ec-itemNav {
  text-align: left;
  display: none;
}

.ec-headerNaviRole {
  padding-bottom: 0;
}

.ec-categoryNaviRole {
  max-width: 100%;
  border-top: 1px solid #fafafa;
  border-bottom: 1px solid #fafafa;
}

.ec-newItemRole {
  padding: 0 0 50px 0;
  margin-bottom: 50px;
  border-bottom: #F5CDCD 1px solid;
}

@media screen and (max-width: 767px) {
  .ec-newItemRole {
    padding: 0 0px 30px 0px;
    margin: 0 0 45px 0;
  }
}
.ec-layoutRole__mainBottom .ec-role:last-of-type .ec-newItemRole {
  border-bottom: none;
}

.ec-itemNav {
  max-width: 1130px;
  margin: auto;
}

.ec-itemNav__nav li a {
  color: #FFF;
  background: none;
  transition: 0.5s all;
}

.ec-itemNav__nav li ul li a {
  color: #eb864a;
}

.ec-itemNav__nav>li:hover>a {
  background: #d33828;
}

.ec-itemNav__nav li ul li a {
  background: #FFF;
}

.ec-itemNav__nav li ul {
  transition: 0.5s all;
}
@media screen and (max-width: 767px) {
  .ec-itemNav__nav li ul{
      display:block
  }
  .ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav li span,
  .ec-itemdDrawerRole .ec-headerCategoryArea .ec-itemNav__nav li span{
    font-family: var(--font-gothic);
    font-weight: bold;
    color: #C1A678;
    text-align: left;
    display: block;
    padding: 20px 20px 20px 35px;
    margin: 0;
    border-bottom: #F0ECE3 1px solid;
    font-size: 1.4rem;
    line-height: 1.5;
    position: relative;
    background-color: #FFF;
 }
.ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav li span::before,
.ec-itemdDrawerRole .ec-headerCategoryArea .ec-itemNav__nav li span::before{
  content: "";
  display: block;
  position: absolute;
  left: 20px;
  top: 26px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #C1A678;
 }

  .ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav li ul li a,
  .ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav li.child-category a,
  .ec-itemdDrawerRole .ec-headerCategoryArea .ec-itemNav__nav li ul li a,
  .ec-itemdDrawerRole .ec-headerCategoryArea .ec-itemNav__nav li.child-category a {
    font-weight: normal;
    display: block;
    padding: 20px;
    border-bottom: #F0ECE3 1px solid;
    background-color: var(--color-white);
    background-image: url(/html/user_data/assets/img/common/arrow-right02.svg);
    background-repeat: no-repeat;
    background-position: right 26px center;
    background-size: 6px;
    font-size: 1.4rem;
    line-height: 1.5;
    color: var(--color-text);
    text-decoration: none;
    font-family: var(--font-main);
 }
 .ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav li ul li a::before,
 .ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav li.child-category a::before,
 .ec-itemdDrawerRole .ec-headerCategoryArea .ec-itemNav__nav li ul li a::before,
 .ec-itemdDrawerRole .ec-headerCategoryArea .ec-itemNav__nav li.child-category a::before {
    content: "";
    display: block;
    position: absolute;
    left: 20px;
    top: 26px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: transparent;
  }
 .dd-nav-menu {
  margin: 0;
  text-align: left;
 }
 .dd-nav-menu-list {
  display: block;
 }
 .dd-nav-menu-list li {
  text-align: left;
  margin: 0;
 }
 .dd-nav-menu-list li a {
  display: block;
  padding: 20px;
  border-bottom: #F0ECE3 1px solid;
  background-color: var(--color-bg);
  background-image: url(/html/user_data/assets/img/common/arrow-right02.svg);
  background-repeat: no-repeat;
  background-position: right 26px center;
  background-size: 6px;
  font-size: 1.4rem;
  line-height: 1.5;

  color: var(--color-text);
 }
}
.ec-itemNav__nav>li:hover li:hover>a {
  background: #d33828;
  color: #FFF;
}

.ec-itemNav__nav li ul li ul li a {
  background: #D33828;
  color: #FFF;
}

.ec-itemNav__nav li:hover ul li ul li a:hover {
  background: #ffb1b1;
}


/** for baikodo start */
.ec-categoryNaviRole2 {
  max-width: 100%;
}

.side-bnr {
  margin-bottom: 25px;
}

.ec-itemNav2 {
  margin: 0 0 25px 0;
  display: block;
  font-size: 1.25em;
  width: 200px
}

.ec-itemNav2 p.ec-itemNav2__title {
  color: #E63B43;
  border-bottom: 1px #F5CDCD solid;
  padding: 0px 0px 10px 0px;
  margin: 0px 0px 10px 0px;
}

.ec-itemNav2 ul {
  list-style: none;
  padding:0;
}
.ec-itemNav2 ul.ttl-serch-ul {
  padding-top: 5px;
  margin-bottom: 10px;
}

.ec-itemNav2 li a {
  display: block;
  width: 100%;
  padding: 5px 0px 5px 15px;
  font-size: 1.4rem;
  line-height: 1.8;
  background-image: url(/html/user_data/assets/img/common/arrow-right02.svg);
  background-position: right 10px center;
  background-repeat: no-repeat;
  background-size: 6px;
  transition: color 0.5s ease, background-position 0.5s ease;
  font-family: var(--font-gothic);
  font-weight: bold;
}
.ec-itemNav2 li a:hover{
  color: var(--color-main);
  background-position: right 5px center;
}
/** for baikodo end */
.ec-border-bottom {
  border-bottom: var(--color-darkbeige) 1px solid;
}
.ec-itemTitle {
  font-size: 2.4rem;
  padding: 0 0 15px 0;
  margin: 0 0 10px 0;
  text-align: left;
  font-weight: bold;
  line-height: 1.8;
  color: var(--color-text);
}
.ec-itemPrice {
  font-size: 2.7rem;
  line-height: 1.5;
  margin-right: 5px;
}
.ec-yen, .ec-tax {
  font-size: 1.4rem;
  line-height: 1.8;
}
.ec-item-soldout {
  display: inline-block;
  font-size: 1.4rem;
  margin-left: 5px;
  color: var(--color-strong);
}
.ec-itemPoint {
  font-size: 1.3rem;
  line-height: 1.8;
  margin-top: 15px;
  float: right;
}
.ec-item-sub-links a {
  color: var(--color-text);
  text-decoration: none;
}
.ec-sec-noshi {
  width: 100%;
  border: var(--color-darkbeige) 1px solid;
  border-radius: 15px;
  background: #FFF;
  padding: 30px;
  font-size: 1.4rem;
  color: var(--color-text);
}
.ec-h-noshi {
  margin: 0 0 30px 0;
  padding: 0;
  font-family: var(--font-gothic);
  font-size: 2.1rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.8;
}
.ec-h-noshi::before {
  display: inline-block;
  vertical-align: middle;
  content: "";
  margin-right: 10px;
  width: 24px;
  height: 26px;
  background: url(/html/user_data/assets/img/common/icon-noshi.svg) no-repeat 0 0;
  background-size: 24px;
}
.ec-sec-noshi-inner {
  margin: 30px auto 0 auto;
  padding: 30px 50px 0 50px;
  border-top: var(--color-darkbeige) 1px solid;
  overflow: hidden;
}
.ec-sec-noshi-note {
  width: 450px;
  float: left;
}
.ec-sec-noshi-link {
  width: 240px;
  float: right;
  text-align: right;
}
.ec-sec-noshi-link .btn {
  margin: 0;
}
.ec-sec-noshi-link .ec-blockBtn--link{
  margin: 0;
}
.ec-item-amount {
  display: flex;
  flex-wrap: nowrap;
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.8;
  color: var(--color-text)
}
.ec-item-amount-head {
  line-height: 40px;
}
.ec-item-amount .ec-spinner-button {
  width: 13px;
  position: relative;
  margin-left: 5px;
}
.ec-spinner-up {
  display: block;
  margin-top: 3px;
  border: 0px;
  width: 13px;
  height: 13px;
  background: url(/html/user_data/assets/img/common/arrow-bottom-brown02.svg) no-repeat 0 0;
  background-size: 13px;
  transform: rotate(180deg);
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
}
.ec-spinner-down {
  display: block;
  margin-top: 3px;
  border: 0px;
  width: 13px;
  height: 13px;
  background: url(/html/user_data/assets/img/common/arrow-bottom-brown02.svg) no-repeat 0 0;
  background-size: 13px;
  cursor: pointer;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 767px) {
  .ec-itemPrice {
    font-size: 2.6rem;
    margin-right: 5px;
    display: block;
  }
  .ec-yen, .ec-tax {
    font-size: 1.2rem;
  }
  .ec-itemPoint {
    display: block;
    float: none;
    margin: 0;
    font-size: 1.0rem;
  }
  .ec-item-amount {
    justify-content: flex-end;
    text-align: right;
    margin: 0 15px 30px 0;
    font-size: 1.4rem;
  }
  .ec-item-amount-head{
    line-height: 40px;
  }
  .ec-sec-noshi {
    padding: 20px 16px;
    font-size: 1.2rem;
  }
  .ec-h-noshi {
    margin: 0 0 25px 0;
    font-size: 1.7rem;
  }
  .ec-h-noshi::before {
    margin-right: 10px;
    width: 21px;
    height: 24px;
    background-size: 21px;
  }
  .ec-sec-noshi-inner {
    margin: 30px auto 0 auto;
    padding: 30px 0 0 0;
  }
  .ec-sec-noshi-note {
    width: 100%;
    float: none;
  }
  .ec-sec-noshi-link {
    width: 100%;
    float: none;
    text-align: center;
  }
  .ec-sec-noshi-link .btn {
    margin: 0;
  }
}

@media screen and (min-width: 768px) {
  .ec-listItemBox {
    display: block;
    width: 290px !important;
    margin: 0 20px 25px 0;
  }
  .ec-listItemBox:nth-child(3n) {
    margin-right: 0;
  }
}
/*
.ec-listItemBox:hover {
  border-radius: 5px;
}
*/
.ec-listItemBox .ec-itemTitle {
  font-size: 1.5rem;
  margin: 0;
  padding: 0;
  text-align: left;
  font-weight: normal;
  line-height: 1.8;
}
.ec-listItemBox .ec-itemPrice {
  font-size: 2.3rem;
  line-height: 1.5;
  margin: 0;
  text-align: left;
  letter-spacing: normal;
  color: var(--color-text);
}

@media screen and (max-width: 767px) {
.ec-listItemBox .ec-itemTitle {
  font-size: 1.1rem;
 }
.ec-listItemBox .ec-itemPrice {
  font-size: 1.6rem;
 }
}
.ec-listItemBox .ec-yen,.ec-listItemBox .ec-tax {
  font-size: 1.1rem;
  margin-left: 3px;
  line-height: 1.5;
}
.ec-listItemBox .ec-item-soldout {
  font-size: 1.3rem;
  margin-left: 3px;
}
.ec-listItemBox_img {
  width: 100%;
  border: var(--color-beige) 1px solid;
  border-radius: 15px;
  margin-bottom: 15px;
  overflow: hidden;
  overflow: hidden;
}
.ec-listItemBox img {
  transition: 1s all;
}
.ec-listItemBox_link:hover .ec-listItemBox_img img {
  transform: scale(1.1, 1.1);
  transition: 1s all;
}


.ec-newItemRole {
  padding-top: 0;
}
.ec-newItemRole .ec-newItemRole__listItemHeading {
  color: #FFF;
}

.ec-footerRole {
  background: none;
  border: none;
  padding-top: 0 !important;
}

.ec-footerNavi, .ec-footerTitle {
  color: #4F1C1D;
}

.ec-footerNavi .ec-footerNavi__link a {
  text-decoration: none;
}

@media screen and (min-width:768px) {
  .product_page .ec-page-title {
    margin-bottom: 40px;
  }
  .product_page .ec-shelfRole {
    padding-right:0;
  }
  .product_page .ec-shelfGrid .ec-shelfGrid__item {
    margin: 0 20px 25px 0;
    padding:0;
  }
  .product_page .ec-shelfGrid .ec-shelfGrid__item:nth-child(3n) {
    margin-right: 0;
  }
}
@media screen and (max-width:767px) {
  .product_page .ec-shelfRole {
    padding-left:16px;
    padding-right:16px;
  }
  .product_page .ec-shelfGrid .ec-shelfGrid__item {
    width: calc(50% - 5px);
    margin: 0 10px 20px 0;
    padding:0;
  }
  .product_page .ec-shelfGrid .ec-shelfGrid__item:nth-child(2n) {
    margin: 0 0 20px 0;
  }
  .product_page .ec-shelfGrid .ec-shelfGrid__item:nth-child(3n) {
    margin: 0 10px 20px 0;
  }
  .product_page .ec-shelfGrid .ec-shelfGrid__item:nth-child(6n) {
    margin: 0 0 20px 0;
  }
  .product_page .ec-shelfGrid .ec-shelfGrid__item .ec-listItemBox_img {
    border-radius: 10px;
    margin-bottom: 10px;
  }
}

.product_page .ec-listItemBox_link {
  /*  padding: 16px;*/
    position: relative;
    z-index: 0;
}
.product_page .ec-no-spin{
  -moz-appearance:textfield;
  appearance:textfield;
}
.product_page .ec-no-spin::-webkit-inner-spin-button,
.product_page .ec-no-spin::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.ec-item-amount-input #quantity {
  width: 50px;
  border-radius: 5px;
  border: var(--color-darkbeige) 1px solid;
  padding: 8px;
  text-align: center;
  font-size: 1.5rem;
  margin-bottom: 0;
}
@media screen and (max-width:767px) {
  .ec-item-amount-input #quantity {
    font-size: 1.6rem;
  }
}
.product_page .ec-listItemBox_link:hover:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
/*  background: #FCFCFC;*/
  border-radius: 5px;
  position: absolute;
  z-index: -2;
  top: -5px;
  right: 5px;
}

.product_page .ec-listItemBox_img {
  height: auto;
}

.product_page .slick-dots {
  bottom: auto;
}

.googlemap {
  width: 90%;
  margin: auto;
  max-width: 980px;
  overflow: hidden;
  margin-top: 100px;
}

.shoplist_wrap>div:first-of-type {
  display: flex;
}

.shoplist_wrap div:first-of-type p {
  line-height: 3em;
  padding: 8px;
}

.shoplist_wrap .ec-grid3 {
  background: #F8F8F8;
  flex-wrap: wrap;
  border-radius: 5px;
  margin: 32px 0;
  padding: 8px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
.ec-newItemRole__list .ec-grid3{
 display: flex;
 }
}
.shoplist_wrap .ec-grid3:before {
  content: "";
  display: block;
  position: absolute;
  z-index: -2;
  background: #d33828;
  width: 100%;
  height: 100%;
  right: -5px;
  top: 5px;
  border-radius: 5px;
}

.shoplist_wrap .ec-grid3:after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  background: #F8F8F8;
  width: 100%;
  height: 100%;
  border-radius: 5px;
  right: 0px;
  top: 0px;
}

.shoplist_wrap .ec-grid3__cell div {
  padding: 16px;
}
@media screen and (max-width: 767px) {
.ec-newItemRole__list .ec-grid3__cell{
  width: calc(50% - 5px);
  margin: 0 10px 20px 0;
 }
.ec-newItemRole__list .ec-grid3__cell:nth-child(2n) {
  margin: 0 0 20px 0;
 }
}
.shoplist_wrap .ec-grid3 .ec-grid3__cell2 {
  padding: 0 16px;
}

#page_shopping .ec-orderDelivery .ec-selects .ec-select:first-of-type {
  display: none;
}

.ec-shelfGrid__item-image, .ec-shelfGrid__item_wrap img {
  border-radius: 5px;
}

/** for product(list,edit) start */
.ec-productRole {
  padding-left:0px;
  padding-right:0px;
  color:inherit;
}
#page_product_detail .ec-productRole>.ec-grid2 {
    margin-bottom:30px;
}
.ec-productRole .ec-sec-wrap {
  padding-left:0px;
  padding-right:0px;
}
.ec-productRole__profile {
  width: 450px;
}
.ec-product-tag {
  display: inline-block;
  padding: 2px 5px;
  list-style: none;
  font-size: 80%;
  color: var(--color-white);
  background-color: #ec6467;
  border-radius: 3px;
}
.ec-productRole .ec-productRole__tags {
  border-bottom: none;
}
@media screen and (max-width: 767px) {
  .ec-productRole .ec-sec-wrap {
    padding-left:16px;
    padding-right:16px;
  }
  .ec-productRole__profile {
    max-width: 100%;
    width: auto;
    padding-left:16px;
    padding-right:16px;
  }
}
.ec-productRole .ec-productRole__tag {
  border-bottom: none;
}
.ec-productRole .ec-productRole__code {
  border-bottom: none;
  font-size: 1.3rem;
  margin-bottom: 20px;
  padding: 0;
  line-height: 1.8;
}
.ec-productRole .ec-productRole__description {
  border-bottom: none;
  font-size: 1.4rem;
  color:#666666;
  margin-bottom: 30px;
  line-height: 1.8;
}
.ec-productRole .ec-productRole__description p:not(:last-child){
  margin-bottom:0
}
.ec-productRole .ec-productRole__freearea {
  margin-bottom: 25px;
  padding: 15px;
  background: #FFF;
  border: var(--color-darkbeige) 1px solid;
  border-radius: 10px;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .ec-productRole .ec-productRole__freearea {
      font-size: 1.3rem;
      line-height: 1.8;
  }
}
.ec-productRole .ec-productRole__price {
  border-bottom: none;
  color: var(--color-text);
}
.ec-productRole .ec-productRole__price .ec-item-block {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .ec-productRole .ec-productRole__price .ec-item-block {
      display: block;
      text-align: right;
  }
  .ec-productRole .ec-productRole__price .ec-itemPoint {
      display: block;
      text-align: right;
  }
}
.ec-productRole .ec-productRole__category {
  border-bottom: none;
}
.ec-productRole .ec-productRole__category .ec-select>* {
  display: flex;
  justify-content: space-between;
}
.ec-productRole .ec-productRole__option {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding: 0px;
  margin-top:8px;
  margin-bottom:8px;
}
.ec-productRole .ec-productRole__option .ec-product-option-label {
  width:30%;
  text-align: right;
}
.ec-productRole .ec-productRole__option .ec-select {
  width:70%;
  margin-top:0px;
  margin-bottom:0px;
}
.ec-productRole .ec-productRole__option .ec-select select {
  width:100%;
}
.ec-productRole .ec-productRole__actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding: 0px;
}
.ec-productRole__btn .add-cart {
  height: 65px;
}
.ec-productRole__btn .soldout-cart {
  display: inline-block;
  vertical-align: middle;
  width: 270px;
  padding: 20px;
  background: #CCC;
  border: transparent 1px solid;
  border-radius: 10px;
  font-family: var(--font-gothic);
  font-size: 1.5rem;
  font-weight: bold;
  color: #FFF;
  text-align: center;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .ec-productRole .cart_wrap {
    margin-top: 25px;
  }

  .ec-productRole .ec-productRole__actions>* {
      width:100%;
      text-align: right;
  }
  .ec-productRole__btn .soldout-cart {
    width: 100%;
    padding: 20px;
    font-size: 1.4rem;
  }
}
.ec-productRole__btn .add-cart:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 25px;
  height: 25px;
  margin: 0 15px 0 -15px;
  background: url(/html/user_data/assets/img/common/icon-cart-white.svg) no-repeat center 50%;
}
.ec-productRole__btn .add-cart:hover:before {
  background: url(/html/user_data/assets/img/common/icon-cart.svg) no-repeat center 50%;
}
.ec-productRole__btn .add-favorite {
  width: auto;
}
.ec-productRole__btn .add-favorite.add-favorite-on{
  color: #FFF;
  background-color: var(--color-main);
}
.ec-productRole .ec-productRole__actions .ec-productRole__btn {
  min-width: auto;
}
@media screen and (min-width: 768px) {
  /** customer-entry */
  .ec-registerRole__actions .ec-off3Grid .ec-off3Grid__cell:last-child {
    margin-left: 10%;
    margin-right: 10%;
  }
}
.ec-item-list-controls {
  display: flex;
  justify-content: space-between;
  margin: 0 auto 40px auto;
}
.ec-item-list-controls .ec-item-list-num {
  font-size: 1.3rem;
  text-align: left;
  line-height: 1.5;
  color: var(--color-text);
}
.ec-item-list-controls .ec-item-list-sort {
  text-align: right;
  color: var(--color-text);
}
.ec-item-list-controls .ec-item-list-sort-head {
  display: inline-block;
  font-size: 1.3rem;
  line-height: 1.5;
}
.ec-item-list-controls .ec-item-list-sort-conditions {
  display: inline-block;
  text-align: right;
}
.ec-item-list-controls .ec-item-list-sort-conditions li {
  display: inline-block;
  margin: 0 0 0 15px;
  font-size: 1.3rem;
  line-height: 1.5;
}
.ec-item-list-controls .ec-item-list-sort-conditions li a {
  text-decoration: underline;
  color: var(--color-text);
}
.ec-item-list-empty {
  font-size: 1.3rem;
  text-align: left;
  line-height: 1.5;
  color: var(--color-text);
}
.ec-searchnavRole {
  padding-left:0px;
  padding-right:0px;
}
.ec-searchnavRole .ec-searchnavRole__infos {
  border-top: none;
}
@media screen and (max-width: 767px) {
  .ec-searchnavRole .ec-searchnavRole__infos {
      padding: 0 16px 8px 16px;
  }
}
@media screen and (min-width:768px) {
  .ec-searchnavRole .ec-searchnavRole__infos {
    border-top: none;
    padding:0;
    margin-bottom: 40px;
  }

  .ec-item-list-sort-conditions li a:hover {
    color: var(--color-main);
    text-decoration: none;
  }
}
@media screen and (max-width:767px) {
  .ec-item-list-controls {
    display: block;
    margin: 0 auto 30px auto;
  }
  .ec-item-list-controls .ec-item-list-num {
    margin: 0 0 5px 0;
    font-size: 1.2rem;
    text-align: left;
    line-height: 1.5;
  }
  .ec-item-list-controls .ec-item-list-sort {
    text-align: left;
  }
  .ec-item-list-controls .ec-item-list-sort-head {
    display: block;
    margin: 0 0 -2px 0;
    font-size: 1.1rem;
    line-height: 1.5;
  }
  .ec-item-list-controls .ec-item-list-sort-conditions {
    display: block;
    text-align: left;
  }
  .ec-item-list-controls .ec-item-list-sort-conditions li {
    display: inline-block;
    margin: 0 5px 0 0;
    font-size: 1.1rem;
    line-height: 1.5;
  }
}
/** for product(list,edit) end */

/** for shopping start */
.ec-totalBox {
  background: transparent;
  padding:0;
}
.ec-totalBox .ec-totalBox__box {
  background: #F3F3F3;
  padding:16px;
  margin-bottom: 10px;
}
.ec-imageGrid .ec-imageGrid__content .ec-product-option {
  padding-left:1rem;
}
.ec-orderRole .ec-orderRole__summary .ec-totalBox__forFreeDelivery{
  padding: 13px 5px;
  margin-bottom: 10px;
  background: #fff;
  text-align: center;
}
.ec-orderRole .ec-orderRole__summary .ec-totalBox__forFreeDelivery .ec-forFreeDelivery__box {
  padding: 5px 0px;
  border-bottom:2px dotted #F3F3F3;
}
.ec-orderRole .ec-orderRole__summary .ec-totalBox__forFreeDelivery .ec-forFreeDelivery__box:last-child{
  border-bottom:none;
}
.ec-orderRole .ec-orderRole__summary .ec-totalBox__forFreeDelivery .ec-forFreeDelivery_deliverly {
  font-size:1.5rem;
  padding-left:8px;
  text-align: left;
}
.ec-orderRole .ec-orderRole__summary .ec-totalBox__forFreeDelivery strong.ec-text-large{
  font-size: 2.5rem;
}
.ec-orderRole .ec-orderRole__summary .ec-totalBox__message{
  background: #fff;
  padding: 13px 5px;
  margin-bottom: 10px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .ec-orderRole {
    display: flex;
    align-items: stretch;
  }
  .ec-orderRole .ec-orderRole__summary .ec-totalBox {
    position: sticky;
    top: 80px;
  }
  .ec-orderRole .ec-orderRole__summary .ec-totalBox__message{
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .ec-orderRole {
    font-size:14px;
    padding-left:0;
    padding-right:0;
  }
  .ec-orderRole .ec-orderRole__detail *:not(.ec-rectHeading) {
    padding-left:3px;
    padding-right:3px;
  }
  .ec-orderRole .ec-orderRole__summary .ec-totalBox__forFreeDelivery{
    padding: 13px 5px;
  }
  .ec-orderRole .ec-orderRole__summary .ec-totalBox__forFreeDelivery .ec-forFreeDelivery_message{
    display: flex;
    justify-content: center;
  }
  .ec-orderRole .ec-orderRole__summary .ec-totalBox__forFreeDelivery strong.ec-text-large{
    font-size: 2rem;
  }
  .ec-orderRole .ec-orderRole__summary .ec-totalBox__message{
    font-size: 1.4rem;
    padding: 13px 5px;
    margin-bottom: 10px;
    text-align: left;
  }
}
/** for shopping end */

/** for slick-slider start */
.slick-slider .thumb-img {
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.slick-slider img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.slick-slider .slick-prev, .slick-slider .slick-next {
  background: #FFF url(/html/user_data/assets/img/common/arrow-right.svg) no-repeat center 50%;
  background-size: 8px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  z-index: 1;
  transition: background-color 0.5s ease;
  position: absolute;
  top: 45%;
  transform: rotate(0);
}
.slick-slider .slick-prev:before, .slick-slider .slick-next:before {
  content: '';
}
.slick-slider .slick-prev {
  left: 30px;
  transform: rotate(180deg);
}
.slick-slider .slick-next {
  right: 30px;
}

.slick-dots li button {
  width: 11px;
  height: 11px;
  border: var(--color-main) 1px solid;
  border-radius: 50%;
  background: #FFF;
  text-indent: -9999px;
  cursor: pointer;
  margin: 0;
}
.slick-dots li button:before {
  content:'';
}
.slick-dots li.slick-active button {
  background: var(--color-main);
}
@media only screen and (min-width: 1024px) {
  .slick-slider .slick-prev:hover, .slick-slider .slick-next:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 767px) {
  .slick-slider .slick-next {
    right: 10px;
    width: 32px;
    height: 32px;
    top: 46%;
  }
  .slick-slider .slick-prev {
    left: 10px;
    width: 32px;
    height: 32px;
    top: 46%;
 }
}
/** for slick-slider end */
/** for slick-slider(front_page) start */
.slider .thumb {
  display: block !important;
  width: 500px !important;
  height: 500px;
  margin: 0 10px;
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  transition: opacity 0.5s ease;
}
.slider .thumb-text {
  position: absolute;
  left: 0px;
  bottom: 0px;
  width: 100%;
  background-color: #ec6467;
  z-index: 2;
  padding: 15px;
  text-align: center;
  overflow: hidden;
}
@media screen and (max-width: 767px){
  .slider .thumb {
    width: calc(84vw - 10px) !important;
    height: calc(84vw - 10px) !important;
    object-fit: cover;
    margin: 0 5px;
  }
  .slider .thumb-text {
    padding: 10px;
  }
  .slider .thumb-text p {
    padding: 0px;
    font-size:1.2rem;
  }
}
.slider .thumb:hover {
  opacity: 0.8;
}
.slider .slick-dots {
  position: absolute;
  bottom: -40px;
  display: block;
  width: 300px;
  padding: 0;
  margin: 0 auto;
  left: 0;
  right: 0;
  list-style: none;
  text-align: center;
}
@media screen and (max-width: 767px){
  .slider .slick-dots {
    position: absolute;
    bottom: -25px;
    width: 100%;
  }
}
.slider .slick-dots li {
  display: inline-block;
  width: 11px;
  height: 11px;
  vertical-align: middle;
  margin: 0 8px;
  text-align: left;
  float: none;
}
.slider .slick-dots li button {
  width: 11px;
  height: 11px;
  border: var(--color-main) 1px solid;
  border-radius: 50%;
  background: #FFF;
  text-indent: -9999px;
  cursor: pointer;
  margin: 0;
}
.slider .slick-dots li.slick-active button {
  background: var(--color-main);
}
/** for slick-slider(front_page) end */
/** for slick-slider(product_page) start */
.ec-sliderItemRole {
  padding-left:16px;
  padding-right:16px;
}
.ec-sliderItemRole .slick-slider {
  margin-bottom: 5px;
}

.ec-sliderItemRole .slick-slider img {
  border-radius: 15px;
}
.ec-sliderItemRole .slideThumb {
  width: 76px;
  margin: 0 10px 10px 0;
  cursor: pointer;
  opacity: 1;
}
.ec-sliderItemRole .slideThumb:nth-child(5n) {
  margin: 0 0 10px 0;
}
.ec-sliderItemRole .slideThumb img {
  border:  transparent 1px solid;
  border-radius: 8px;
  width: 76px;
}
.ec-sliderItemRole .slideThumb img.current {
  border: var(--color-main) 1px solid;
}
.ec-sliderItemRole .slick-slider .slick-prev {
  width: 30px;
  height: 30px;
  left: 10px;
  transform: rotate(180deg);
}
.ec-sliderItemRole .slick-slider .slick-next {
  width: 30px;
  height: 30px;
  right: 10px;
}
.ec-sliderItemRole .item_nav {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .ec-sliderItemRole .slick-slider .slick-prev {
    left: 5px;
  }
.ec-sliderItemRole .slick-slider .slick-next {
    right: 5px;
  }
  .ec-sliderItemRole .slideThumb {
    width: 56px;
    margin: 0 5px 0px 0;
    cursor: pointer;
  }
  .ec-sliderItemRole .slideThumb:nth-child(5n) {
    margin: 0 5px 0 0;
  }
  .ec-sliderItemRole .slideThumb img {
    width: 56px;
  }
}
/** for slick-slider(product_page) end */
.row {
  position: relative;
}

@keyframes sliderAnimation {
  100% {
    transform: translateX(-50%);
  }
}
/** guide,etc... start */
.ec-page-nav {
  margin: 0 auto 30px auto;
  display: flex;
  flex-wrap: wrap;
}
.ec-page-nav li {
  width: 218px;
  margin: 0 12px 12px 0;
}
.ec-page-nav li:nth-child(4n) {
  margin: 0 0 12px 0;
}
.ec-page-nav li a {
  display: block;
  border: var(--color-beige) 1px solid;
  border-radius: 8px;
  background-color: #FFF;
  background-image: url(/html/user_data/assets/img/common/arrow-bottom-brown02.svg);
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 10px;
  padding: 15px 20px;
  line-height: 1.5;
  font-family: var(--font-gothic);
  font-size: 1.4rem;
  font-weight: bold;
  text-align: left;
  color: var(--color-text);
  text-decoration: none;
  transition: color 0.5s ease;
}
.ec-creditcard {
  width: 400px !important;
  margin: 10px 0 0 0;
}
.ec-paypay {
  width: 150px !important;
  margin: 10px 0 0 0;
}
.ec-table-kakumaru {
  border: var(--color-darkbeige) 1px solid;
  border-radius: 10px;
  overflow: hidden;
}
.ec-table-guide-postage {
  width: 100%;
  border: none;
}
.ec-table-guide-postage th {
  padding: 15px 10px;
  border: var(--color-darkbeige) 1px solid;
  border-top: none;
  background: #FCF8F2;
  text-align: center;
  font-family: var(--font-gothic);
  font-size: 1.3rem;
  line-height: 1.5;
  font-weight: bold;
}
.ec-table-guide-postage th:first-child {
  border-left: none;
}
.ec-table-guide-postage th:last-child {
  border-right: none;
}
.ec-table-guide-postage td {
  padding: 15px 10px;
  border: var(--color-darkbeige) 1px solid;
  background: #FFF;
  text-align: center;
  font-family: var(--font-gothic);
  font-size: 1.3rem;
  line-height: 1.5;
}
.ec-table-guide-postage td:first-child {
  border-left: none;
}
.ec-table-guide-postage td:last-child {
  border-right: none;
}
.ec-table-guide-postage tr:last-of-type td {
  border-bottom: none;
}
@media screen and (min-width:768px) {
  .ec-page-nav li a:hover {
    background-image: url(/html/user_data/assets/img/common/arrow-bottom02.svg);
    color: var(--color-main);
    text-decoration: none;
  }
}
@media screen and (max-width:767px) {
  .ec-page-nav {
    margin: 0 auto 20px auto;
    display: flex;
    flex-wrap: wrap;
  }
  .ec-page-nav li {
    width: calc(50% - 5px);
    margin: 0 10px 10px 0;
  }
  .ec-page-nav li:nth-child(2n) {
    margin: 0 0 10px 0;
  }
  .ec-page-nav li a {
    border-radius: 8px;
    background-position: right 15px center;
    background-size: 10px;
    padding: 10px 10px;
    font-size: 1.2rem;
  }

  .ec-scrollable {
    width: 100%;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
  .ec-creditcard {
    width: 100% !important;
  }
  .ec-table-kakumaru {
    width: auto;
    overflow: visible;
    white-space: nowrap;
    border-radius: 0;
    border: none;
  }
  .ec-table-guide-postage {
    width: auto;
    border: none;
  }
  .ec-table-guide-postage th,
  .ec-table-guide-postage td {
    border: var(--color-darkbeige) 1px solid !important;
  }
}
@media screen and (max-width:320px) {
  .ec-page-nav li a {
    font-size: 1.0rem;
  }
}
.ec-faq-list {
  width: 100%;
  border-top: var(--color-beige) 1px solid;
}
.ec-sec-box .ec-faq-list:last-of-type {
  border-bottom: var(--color-beige) 1px solid;
}
.ec-faq-list-head {
  margin: 0;
  padding: 25px 50px 25px 50px;
  background: url(/html/user_data/assets/img/common/minus.svg) no-repeat right 10px top 36px;
  background-size: 16px;
  cursor: pointer;
  position: relative;
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: bold;
  text-align: left;
}
.ec-faq-list.is--close .ec-faq-list-head {
  background: url(/html/user_data/assets/img/common/plus.svg) no-repeat right 10px top 29px;
  background-size: 16px;
}
.ec-faq-list-head::before {
  content: "Q";
  font-family: var(--font-eng);
  display: inline-block;
  width: 35px;
  height: 35px;
  border: #C1A678 1px solid;
  border-radius: 50%;
  background: #FFF;
  color: #C1A678;
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 33px;
  position: absolute;
  top: 20px;
  left: 0;
}
.ec-faq-answer {
  margin: 0;
  padding: 5px 0 25px 50px;;
  transition: opacity 0.5s ease, height 0.5s ease;
  position: relative;
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: left;
}
.ec-faq-answer::before {
  content: "A";
  font-family: var(--font-eng);
  display: inline-block;
  width: 35px;
  height: 35px;
  border: var(--color-main) 1px solid;
  border-radius: 50%;
  background: #FFF;
  color: var(--color-main);
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 33px;
  position: absolute;
  top: 0;
  left: 0;
}

.ec-faq-list.is--close .ec-faq-answer {
  height: 0;
  opacity: 0;
  visibility: hidden;
  padding: 0;
}

.ec-support-box {
  width: 720px;
  margin: 0 auto 40px auto;
  border: var(--color-darkbeige) 1px solid;
  border-radius: 15px;
  padding: 25px;
}
.ec-support-head {
  margin: 0 0 20px 0;
  padding: 0;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.8;
  text-align: center;
}
.ec-support-contact {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: stretch;
  align-items: center;
}
.ec-support-contact p {
  margin: 0;
}
.ec-support-contact-tel {
  width: 50%;
  font-size: 1.3rem;
  text-align: center;
}
.ec-freedial {
  height: 40px;
  font-size: 2.2rem;
  font-family: var(--font-gothic);
  font-weight: bold;
  line-height: 20px;
  margin-bottom: 0;
  letter-spacing: 0.1em;
}
.ec-freedial::before {
  content: "TEL:";
  display: inline-block;
  vertical-align: top;
  margin-right: 10px;
  width: 50px;
  height: 40px;
/*  background: url(/html/user_data/assets/img/common/freedial.svg) no-repeat 0 50%;*/
  background-size: 30px;
  border-radius: 3px;
}

.ec-support-contact-email {
  width: 50%;
  background: url(/html/user_data/assets/img/common/line.svg) repeat-y left 0;
  font-size: 1.3rem;
  text-align: center;
}
.ec-support-contact-email .btn {
  margin: 5px 0 0 0;
}

/*---------------------------------
  のし・包装について
---------------------------------*/
.ec-noshi-image {
  width: 230px;
  float: right;
  text-align: center;
}
.ec-noshi-text {
  width: 570px;
  float: left;
}

@media screen and (max-width:767px) {
  .ec-under-intro {
    padding: 0;
  }
  .ec-noshi-image {
    width: 100%;
    text-align: center;
    float: none;
    margin: 0 0 20px 0;
  }
  .ec-noshi-image img {
    max-width: 220px;
  }
  .ec-noshi-text {
    width: 100%;
    float: none;
  }
}

@media screen and (max-width:767px) {
  .ec-faq-list-head {
    margin: 0;
    padding: 20px 20px 20px 40px;
    background: url(/html/user_data/assets/img/common/minus.svg) no-repeat right 0px top 30px;
    background-size: 12px;
    font-size: 1.3rem;
  }
  .ec-faq-list.is--close .ec-faq-list-head {
    background: url(/html/user_data/assets/img/common/plus.svg) no-repeat right 0px top 25px;
    background-size: 12px;
  }
  .ec-faq-list-head::before {
    width: 30px;
    height: 30px;
    font-size: 1.5rem;
    line-height: 28px;
    top: 15px;
  }
  .ec-faq-answer {
    padding: 5px 0 25px 40px;
  }
  .ec-faq-answer::before {
    width: 30px;
    height: 30px;
    font-size: 1.5rem;
    line-height: 28px;
    top: 0;
  }
  .ec-support-box {
    width: 100%;
    margin: 0 auto 20px auto;
    border-radius: 10px;
    padding: 16px;
  }
  .ec-support-head {
    margin: 0 0 20px 0;
    font-size: 1.6rem;
  }
  .ec-support-contact {
    display: block;
  }
  .ec-support-contact p {
    margin: 0;
  }
  .ec-support-contact-tel {
    width: 100%;
    font-size: 1.2rem;
  }
  .ec-support-contact-email {
    width: 100%;
    font-size: 1.2rem;
    background: url(/html/user_data/assets/img/common/line02.svg) repeat-x center 0;
    text-align: center;
    margin: 20px 0 0 0;
    padding: 20px 0 0 0;
  }
  .ec-support-contact-email .btn {
    margin: 5px 0 0 0;
  }
}
/** guide,etc... end */

@media only screen and (max-width: 850px) {
  .main_textinnter div:last-of-type {
    padding: 16px;
    font-size: 16px;
    line-height: 2em;
  }
  .shoplist_wrap div:first-of-type {
    display: block;
  }
}

@media only screen and (max-width: 768px) {
  .ec-headerNaviRole__left h1 {
    margin-left: 36px;
  }
  .ec-headerNaviRole__left h1 span {
    font-size: 12px;
  }
  .ec-headerNaviRole .ec-headerNaviRole__left {
    width: calc(100% / 2);
  }
  .ec-headerNavSP {
    position: static;
    background-color: transparent;
  }
  /*
  .ec-newsRole div.ec-grid2__cell:last-of-type {
    margin-top: 32px;
  }
  */
  .ec-listItemBox_img {
    height: auto;
  }
  .ec-footerNavi .ec-footerNavi__link a {
    border-bottom: 1px solid #dcdcdc;
  }
  .ec-drawerRole{
    top: 80px;
    height: calc(100vh - 80px);
  }
  .ec-drawerRole .ec-headerLinkArea,.ec-drawerRole{
      background: var(--color-bg) !important;
  }
  .ec-drawerRole.is_active{
      width: 100%;
  }

  .ec-headerLink__list{
   background: var(--color-bg);
   border:none !important;
  }
  .ec-headerLink__list ul{
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    transition: opacity 0.5s ease-out;
  }
  .ec-headerLink__list ul li {
    margin: 0;
    width: 50%;
  }
  .ec-headerLink__list li a{  display: flex;
    width: 100%;
    display: block;
    justify-content: center;
    align-items: center;
    padding: 20px;
    border-right: var(--color-beige) 1px solid;
    border-bottom: var(--color-beige) 1px solid;
    text-align: center;
    font-size: 1.5rem;
    font-weight: bold;
    font-family: var(--font-gothic);
    line-height: 1.5;
    color: var(--color-text);
    text-decoration: none;
   }
}

@media only screen and (max-width:600px) {
  .main_textinnter {
    display: block;
  }
  .main_textinnter div:last-of-type, .top_image {
    width: 100%;
  }
  .main_textinnter div:last-of-type {
    padding: 0px;
  }
}

@media only screen and (max-width:450px) {
  .ec-headerNav .ec-headerNav__itemIcon {
    margin: 0
  }
}

/** Recommended Product */
#recommend_product_area {
  border-top: 1px solid #E8E8E8;
  margin-bottom: 20px;
}
#recommend_product_area .ec-secHeading {
  padding-top: 8px;
  padding-bottom: 8px;
}

/*商品カテゴリ*/
.ec-item-categories {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.ec-item-categories:last-of-type {
  margin-bottom: 0;
}
.ec-item-categories li {
  width: 290px;
  margin: 0 20px 25px 0;
  border: var(--color-beige) 1px solid;
  border-radius: 15px;
  overflow: hidden;
}
.ec-item-categories li:nth-child(3n) {
  margin-right: 0;
}
.ec-item-categories a {
  display: block;
  background: #FFF;
  color: var(--color-text);
  text-decoration: none;
}
.ec-item-categories-thumb {
  height: 188px;
  overflow: hidden;
}
.ec-item-categories-thumb img {
  transition: transform 0.5s ease;
}
.ec-item-categories-name {
  padding: 15px 10px 5px 0;
  margin: 0;
  font-size: 1.8rem;
  font-family: var(--font-gothic);
  text-align: center;
  font-weight: bold;
}
.ec-item-categories-excerpt {
  padding: 0 10px 15px 0;
  margin: 0;
  font-size: 1.3rem;
  text-align: center;
}

@media screen and (min-width:768px) {
  a:hover .ec-item-categories-thumb img {
    transform: scale(1.1);
  }
  .ec-item-categories li a:hover {
    color: var(--color-main);
  }
  .ec-item-name a:hover {
    color: var(--color-main);
  }
}

@media screen and (max-width:767px) {
  .ec-item-categories {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 25px;
  }
  .ec-item-categories:last-of-type {
    margin-bottom: 0;
  }
  .ec-item-categories li {
    width: calc(50% - 5px);
    margin: 0 10px 20px 0;
    border-radius: 10px;
  }
  .ec-item-categories li:nth-child(2n) {
    margin: 0 0 20px 0;
  }
  .ec-item-categories li:nth-child(3n) {
    margin: 0 10px 20px 0;
  }
  .ec-item-categories li:nth-child(6n) {
    margin: 0 0 20px 0;
  }
  .ec-item-categories li a {
    display: block;
    height: 100%;
  }
  .ec-item-categories-thumb {
    height: 110px;
  }
  .ec-item-categories-name {
    padding: 10px 10px 3px 27px;
    font-size: 1.3rem;
    background: url(/html/user_data/assets/img/common/arrow-right02.svg) no-repeat 15px 15px;
    background-size: 5px;
    text-align: left;
  }
  .ec-item-categories-excerpt {
    padding: 0 15px 10px 15px;
    margin: 0;
    font-size: 1.0rem;
    text-align: left;
  }
}

/*運営会社情報*/
.ec-sec-table {
  border-radius: 20px;
  border: var(--color-darkbeige) 1px solid;
  background: var(--color-white);
}
.ec-table-round {
  width: 100%;
  border: none;
}
.ec-table-round th{
  width: 220px;
  padding: 22px 30px;
  border-bottom: var(--color-beige) 1px solid;
  font-size: 1.5rem;
  line-height: 1.8;
  font-weight: bold;
  font-family: var(--font-gothic);
  text-align: left;
}
.ec-table-round td{
  padding: 22px 30px;
  line-height: 1.8;
  font-size: 1.4rem;
  border-bottom: var(--color-beige) 1px solid;
  text-align: left;
}
.ec-table-round tbody tr:last-child th,
.ec-table-round tbody tr:last-child td {
  border-bottom: none;
}

@media screen and (max-width:767px) {
  .ec-sec-table {
    border-radius: 15px;
  }
  .ec-table-round th{
    display: block;
    width: 100%;
    padding: 20px 16px 10px 16px;
    border-bottom: none;
    font-size: 1.4rem;
  }
  .ec-table-round td{
    display: block;
    width: 100%;
    padding: 0 16px 20px 16px;
    font-size: 1.4rem;
  }
}

/*マイページ*/
.ec-favoriteRole__item img {
  border-radius: 5px;
}

/** 注文手続きバー */
@media screen and (max-width: 767px) {
  .ec-progress .ec-progress__item:after {
    top: 1.0em
  }
  .ec-progress .ec-progress__label {
    width: 55px;
    margin: 0 auto;
    font-size: 11px;
  }
  .ec-cartRole {
    padding-left:8px!important;
    padding-right:8px!important;
  }
}

/* カート */
.ec-cartRole .ec-cartRole__actions .ec-cart-cancel {
  display: inline-block;
  padding: 20px 40px;
  border: var(--color-text) 1px solid;
  background: var(--color-bg);
  border-radius: 10px;
  line-height: 1.8;
  color: var(--color-text) !important;
  font-size: 1.5rem;
  font-weight: bold;
  font-family: var(--font-gothic);
  text-decoration: none;
  text-align: center;
  transition: color 0.5s ease, border-color 0.5s ease,background-color 0.5s ease;
  height: 70px
}
.ec-cartRole .ec-cartRole__actions .ec-cart-cancel::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin: 0 10px 0 -10px;
  width: 13px;
  height: 16px;
  background: url(/html/user_data/assets/img/common/icon-back.svg) no-repeat 0 50%;
  background-size: 13px;
}
.ec-cartRole .ec-cartRole__actions a:hover {
  color: var(--color-main) !important;
}
.ec-cartRole .ec-cartRole__actions .ec-cart-buy {
  height: 70px;
  padding: 5px 40px;
  transition: color 0.5s ease, background-color 0.5s ease, border-color 0.5s ease;
}
.ec-cartRole .ec-cartRole__actions .ec-cart-buy:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 25px;
  height: 25px;
  margin: 0 15px 0 -15px;
  background: url(/html/user_data/assets/img/common/icon-cart-white.svg) no-repeat center 50%;
}
.ec-cartRole .ec-cartRole__actions .ec-cart-buy:hover:before {
  background: url(/html/user_data/assets/img/common/icon-cart.svg) no-repeat center 50%;
}
.ec-cartRole .ec-cart-table-wrap {
  margin: 0 0 0 0;
  overflow: hidden;
  border: var(--color-darkbeige) 1px solid;
  border-radius: 15px;
  background: var(--color-white);
}
.ec-cartRole .ec-cart-table-wrap .ec-cartHeader .ec-cartHeader__label {
  padding: 15px;
  border-bottom: var(--color-darkbeige) 1px solid;
  text-align: center;
  font-family: var(--font-gothic);
  font-size: 1.5rem;
  line-height: 1.8;
  color: var(--color-text);
  background: var(--color-white);
}
.ec-cartRole .ec-cart-table-wrap ul {
  border-bottom: var(--color-darkbeige) 1px solid;
}
.ec-cartRole .ec-cart-table-wrap .ec-cartRow__contentColumn {
  width: 490px;
  padding: 30px 15px 30px 30px;
  text-align: left;
}
.ec-cartRole .ec-cart-table-wrap .ec-cartRow__contentColumn .ec-cartRow__img img {
  border-radius: 10px;
}
.ec-cartRole .ec-cart-table-wrap .ec-cartRow__contentColumn .ec-cartRow__summary {
  margin-bottom: 20px;
}
.ec-cartRole .ec-cart-table-wrap .ec-cartRow__contentColumn .ec-cartRow__summary a {
  text-decoration: underline;
}
.ec-cartRole .ec-cart-table-wrap .ec-cartRow__contentColumn .ec-cartRow__summary a:hover {
  text-decoration: none;
}
.ec-cartRole .ec-cart-table-wrap .ec-cartRow__contentColumn .ec-cartRow__summary .ec-cartRow__freeArea {
  font-size: 1.4rem;
  margin: 5px 0 0 0;
  text-align: left;
  color: var(--color-text);
  font-weight: normal;
}
.ec-cartRole .ec-cart-table-wrap .ec-cartRow__subtotalColumn {
  font-size: 1.7rem;
  text-align: center;
  color: var(--color-text);
  font-weight: normal;
}
.ec-cartRole .ec-cart-table-wrap .ec-cartRow__pointColumn {
  font-size: 1.7rem;
  text-align: center;
  color: var(--color-text);
  font-weight: normal;
  display: table-cell;
  border-bottom: 1px dotted #ccc;
}
.ec-cartRole .ec-cart-table-wrap .ec-cartRow__delColumn .ec-btn-cart-item-delete {
  display: inline-block;
  border: var(--color-darkbeige) 1px solid;
  background: var(--color-beige);
  padding: 1px 8px;
  border-radius: 3px;
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: center;
}
.ec-cartRole .ec-cart-table-wrap .ec-cartRow__amountColumn .ec-cart-item-amount {
  display: inline-flex;
  vertical-align: middle;
  align-items: center;
  position: relative;
  margin-bottom: 0;
}
.ec-cartRole .ec-cart-table-wrap .ec-cartRow__amountColumn .ec-cart-item-quantity {
  padding: 0 10px 0 10px;
}
.ec-cartRole .ec-cart-table-wrap .ec-cartRow__amountColumn .ec-cart-item-dec {
  width: 25px;
  height: 40px;
  background: var(--color-beige);
  text-align: center;
  position: relative;
  cursor: pointer;
}
.ec-cartRole .ec-cart-table-wrap .ec-cartRow__amountColumn .ec-cart-item-dec::before {
  content: "";
  display: block;
  width: 9px;
  height: 1px;
  background: var(--color-text);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.ec-cartRole .ec-cart-table-wrap .ec-cartRow__amountColumn .ec-cart-item-inc {
  width: 25px;
  height: 40px;
  background: var(--color-beige);
  text-align: center;
  position: relative;
  cursor: pointer;
}
.ec-cartRole .ec-cart-table-wrap .ec-cartRow__amountColumn .ec-cart-item-inc::before {
  content: "";
  display: block;
  width: 9px;
  height: 1px;
  background: var(--color-text);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.ec-cartRole .ec-cart-table-wrap .ec-cartRow__amountColumn .ec-cart-item-inc::after {
  content: "";
  display: block;
  width: 1px;
  height: 9px;
  background: var(--color-text);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.ec-cartRole .ec-cart-table-wrap .ec-cartRow__amountColumn .ec-cart-item-amount-input {
  border: var(--color-beige) 1px solid;
  width: 50px;
  height: 40px;
  text-align: center;
  padding: 10px;
}
.ec-cartRole .ec-cart-table-wrap .ec-cartRow__amountColumn .ec-cart-item-update a:hover {
  color: var(--color-main);
}
.ec-cartRole .ec-cart-table-wrap .ec-cartRow__amountColumn .ec-cart-item-update {
  display: inline-block;
  margin: 0 0 0 10px;
}
.ec-cartRole .ec-cart-table-wrap .ec-cartRow__amountColumn .ec-btn-cart-item-update {
  display: inline-block;
  border: var(--color-text) 1px solid;
  background: var(--color-white);
  padding: 1px 8px;
  border-radius: 3px;
  color: var(--color-text);
  text-decoration: none;
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: center;
}
.ec-cartRole .ec-cart-table-wrap .ec-cart-sum {
  padding: 0 30px 0 0;
  text-align: right;
  font-family: var(--font-gothic);
  font-size: 1.5rem;
  font-weight: bold;
  width: 100%;
  color: var(--color-text);
}
.ec-cartRole .ec-cart-table-wrap .ec-cart-totlal-price {
  font-size: 3.4rem;
  color: var(--color-text);
}
.ec-cartRole .ec-cart-table-wrap .ec-cart-sum .ec-cart-totlal-amount {
  color: var(--color-text);
}
.ec-cartRole .ec-cartRole__progress {
  z-index: 1;
}
.ec-cartRole .ec-cartRole__actions.ec-cart-sum {
  padding-top:15px;
  padding-bottom:30px;
}
.ec-cartRole .ec-cartRole__total {
  padding-top:0px;
  padding-bottom:0px;
  font-weight: bold;
  font-size: 16px;
}
.ec-cartRole .ec-cartRole__forFreeDelivery {
  padding-top:16px;
  font-size: 16px;
}
.ec-cartRole .ec-cartRole__forFreeDelivery strong {
  font-size: 16px;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .ec-cartRole .ec-cart-table-wrap .ec-cartRow__subtotalColumn .ec-cartRow__sutbtotalSP {
    display: none;
  }
  .ec-cartRole .ec-cart-table-wrap .ec-cartRow__pointColumn .ec-cartRow__pointSP {
    display: none;
  }
  .ec-cartRole .ec-cartRole__forFreeDelivery {
    display: flex;
    justify-content: end;
  }
}
@media screen and (max-width: 767px) {
  .ec-cartRole .ec-cart-table-wrap .ec-cart-table {
    display:flex;
    flex-flow: column;
    justify-content:space-between;
  }
  .ec-cartRole .ec-cart-table-wrap .ec-cartRow__contentColumn {
    width: 100%;
    padding: 15px 15px 5px 15px;
    text-align: left;
    border-bottom: none;
    margin-bottom: 10px;
  }
  .ec-cartRole .ec-cart-table-wrap .ec-cartRow__contentColumn .ec-cartRow__img {
    width: 90px;
  }
  .ec-cartRole .ec-cart-table-wrap .ec-cartRow__contentColumn .ec-cartRow__img img {
    width: 90px;
    float: left;
    max-width: 90px;
  }
  .ec-cartRole .ec-cart-table-wrap .ec-cartRow__contentColumn .ec-cartRow__summary {
    display: contents;
  }
  .ec-cartRole .ec-cart-table-wrap .ec-cartRow__contentColumn .ec-cartRow__summary .ec-cartRow__name {
    margin: 0 0 5px 0;
    font-size: 1.5rem;
  }
  .ec-cartRole .ec-cart-table-wrap .ec-cartRow__contentColumn .ec-cartRow__summary .ec-cartRow__freeArea {
    font-size: 1.2rem;
  }
  .ec-cartRole .ec-cart-table-wrap .ec-cartRow__amountColumn {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    padding-left: 120px;
    text-align: left;
    border-bottom: none;
    justify-content: flex-end;
    margin-bottom: 10px;
  }
  .ec-cartRole .ec-cart-table-wrap .ec-cartRow__amountColumn .ec-cartRow__amountSP {
    font-weight: bold;
    font-size: 1.3rem;
    color: var(--color-text);
    width: 50%;
    margin-top: 20px
  }
  .ec-cartRole .ec-cart-table-wrap .ec-cartRow__amountColumn .ec-cart-item-amount {
    padding-right: 15px;
    width: 50%;
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
  }
  .ec-cartRole .ec-cart-table-wrap .ec-cartRow__amountColumn .ec-btn-cart-item-update {
    margin-right: 15px;
    font-size: 1.2rem;
  }
  .ec-cartRole .ec-cart-table-wrap .ec-cartRow__subtotalColumn {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding-left: 120px;
    text-align: left;
    border-bottom: none;
    margin-bottom: 10px;
  }
  .ec-cartRole .ec-cart-table-wrap .ec-cartRow__subtotalColumn .ec-cartRow__sutbtotalSP {
    font-weight: bold;
    font-size: 1.3rem;
    color: var(--color-text);
  }
  .ec-cartRole .ec-cart-table-wrap .ec-cartRow__subtotalColumn .ec-cartRow__sutbtotal {
    padding-right: 15px;
    font-size: 1.3rem;
  }
  .ec-cartRole .ec-cart-table-wrap .ec-cartRow__pointColumn {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding-left: 120px;
    text-align: left;
    border-bottom: none;
    margin-bottom: 10px;
  }
  .ec-cartRole .ec-cart-table-wrap .ec-cartRow__pointColumn .ec-cartRow__point {
    padding-right: 15px;
  }
  .ec-cartRole .ec-cart-table-wrap .ec-cartRow__pointColumn .ec-cartRow__pointSP {
    font-weight: bold;
    font-size: 1.3rem;
    color: var(--color-text);
  }
  .ec-cartRole .ec-cart-table-wrap .ec-cartRow__delColumn {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    padding-left: 120px;
    text-align: left;
    border-bottom: none;
    margin-bottom: 20px
  }
  .ec-cartRole .ec-cart-table-wrap .ec-cartRow__delColumn .ec-btn-cart-item-delete {
    margin-right: 15px;
    font-size: 1.2rem;
  }
  .ec-cartRole .ec-cart-table-wrap .ec-cart-sum {
    padding-right: 15px;
    text-align: right;
    font-size: 1.3rem;
  }
  .ec-cartRole .ec-cart-table-wrap .ec-cart-totlal-price {
    font-size: 2.4rem;
    color: var(--color-text);
  }
  .ec-cartRole .ec-cart-table-wrap .ec-cart-sum .ec-cart-totlal-amount {
    color: var(--color-text);
  }
}

/* お問い合わせ */
.ec-contactRole .ec-RegisterRole__actions .contact_go_confirm:disabled {
  color: #fff;
  background-color: #CCC;
  border-color: transparent;
}
.ec-contactRole .ec-RegisterRole__actions .contact_go_confirm:disabled:hover {
  color: #fff !important;
  background-color: #CCC;
  border-color: transparent;
}
.ec-contactRole .ec-RegisterRole__actions .ec-checkbox {
  padding-top: 20px;
  text-align: center;
}
.ec-contactRole .ec-product-block,
.ec-contactConfirmRole .ec-product-block {
  padding-bottom:15px;
  display: flex;
  flex-wrap: nowrap;
}
.ec-contactRole .ec-product-block dd>div,
.ec-contactConfirmRole .ec-product-block dd>div {
  padding-left:1rem;
}
.ec-contactRole .ec-product-block .ec-product-code,
.ec-contactRole .ec-product-block .ec-product-name,
.ec-contactConfirmRole .ec-product-block .ec-product-code,
.ec-contactConfirmRole .ec-product-block .ec-product-name {
  line-height: 1.5;
  display: flex;
  flex-wrap: wrap;
}
.ec-contactRole .ec-product-block .ec-product-code .ec-product-code-label,
.ec-contactRole .ec-product-block .ec-product-name .ec-product-name-label,
.ec-contactConfirmRole .ec-product-block .ec-product-code .ec-product-code-label,
.ec-contactConfirmRole .ec-product-block .ec-product-name  .ec-product-name-label{
  width: 100px;
}
@media screen and (max-width: 767px) {
  .ec-contactRole dl.ec-product-block dt,
  .ec-contactConfirmRole dl.ec-product-block  dt{
    width: 70%;
  }
  .ec-contactRole .ec-product-block .ec-product-code *,
  .ec-contactRole .ec-product-block .ec-product-name *,
  .ec-contactConfirmRole .ec-product-block .ec-product-code *,
  .ec-contactConfirmRole .ec-product-block .ec-product-name  *{
    width: 100%;
  }
}
/* 関連商品 */
.ec-related_product-head {
  border-top: #F5CDCD 1px solid;
  padding-top: 50px
}
.ec-related_product-title {
  font-size: 2.1rem;
}

/* 商品を探す */
.ec-itemRole__navSP .btn-item-nav-sp {
  display: none;
}
.ec-itemdDrawerRole{
  display: block;
  width: 100%;
  height: 100vh;
  background-color: var(--color-white);
  margin: 0;
  position: fixed;
  top: 30%;
  opacity: 0;
  overflow-y: scroll;
  visibility: hidden;
  z-index: -1;
  transition: top 0.3s ease-out,opacity 0.3s ease-out
}
.ec-itemdDrawerRole.is_active{
  display: block;
  pointer-events: initial;
  top: 0;
  visibility: visible;
  opacity: 1;
  z-index: 30;
}
.ec-itemdDrawerRoleClose {
  display: none;
}
.ec-itemdDrawerRoleClose.is_active{
  display:none
}
.side-bnr img {
    transition: opacity 0.5s ease;
}
.side-bnr a:hover img {
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  .sp-item-nav-switch {
    content: "";
    display: inline-block;
    width: 30px;
    height: 2px;
    position: absolute;
    top: 22px;
    left: 0;
    right: 0;
    margin: auto;
    opacity: 1;
    transition: opacity 150ms 50ms;
  }
  .sp-item-nav-switch::before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 2px;
    background: var(--color-text);
    position: absolute;
    z-index: 2;
    transform: rotate(45deg);
    right: 0;
    opacity: 1;
  }
  .sp-item-nav-switch.add-cart:hover:before, .sp-item-nav-switch::after {
    transition: transform 200ms;
  }
  .sp-item-nav-switch::after {
    content: "";
    display: inline-block;
    width: 30px;
    height: 2px;
    background: var(--color-text);
    position: absolute;
    z-index: 2;
    transform: rotate(-45deg);
    right: 0;
    opacity: 1;
  }
  .sp-item-nav-text {
    position: absolute;
    top: 42px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
    font-size: 1.2rem;
    font-family: var(--font-eng);
    letter-spacing: normal;
  }
  .sp-item-nav-text::before {
    content: "閉じる";
    font-size: 1.0rem;
  }
  .ec-drawerRole .ec-itemNaviRole__search .ec-headerSearch,
  .ec-itemdDrawerRole .ec-itemNaviRole__search .ec-headerSearch {
    padding: 0 16px 0 8px;
    background: transparent;
  }
  .ec-itemRole__navSP .btn-item-nav-sp.sp-nav-switch {
    display: block;
    position: fixed;
    z-index: 15;
    left: 0;
    bottom:40px;
    top:unset;
    right: unset;
    width: 68px;
    height: 68px;
    padding: 46px 0 0 0;
    border: var(--color-beige) 1px solid;
    border-left: none;
    border-radius: 0 10px 10px 0;
    background: #FFF url(/html/user_data/assets/img/common/icon-search.svg) no-repeat center 10px;
    background-size: 32px;
    text-align: center;
    font-size: 1.0rem;
    font-family: var(--font-gothic);
    line-height: 1.5;
    letter-spacing: normal;
    cursor: pointer;
    margin: 0;
    opacity: 1;
    transition: opacity 150ms 50ms;
  }
  .ec-itemRole__navSP .btn-item-nav-sp::before {
    content: none;
  }
  .ec-itemRole__navSP .btn-item-nav-sp::after {
    content: none;
  }
  .side-bnr {
    width: calc(100% - 50px);
    margin: 0 auto 20px auto;
  }
  .side-bnr img {
    max-width: 100%;
  }
  .ec-itemNaviRole__search .ec-headerSearch .ec-headerSearch__keyword {
    width: calc(100% - 30px);
    line-height: 30px;
    float: none;
    margin: 0 auto 30px auto;
  }
  .item-sub-nav .ec-itemRole__navSP {
    display: block;
    z-index: 20;
    height: 70px;
    margin: 0 0 0 0;
    text-align: center;
    position: relative;
    cursor: pointer;
  }
  .item-sub-nav .ec-itemRole__navSP .ec-itemNavSP {
    float: right;
    display: block;
    z-index: 20;
    height: 50px;
    width: 50px;
    margin: 0 6px 0 0;
    text-align: center;
    position: relative;
    cursor: pointer;
  }
  .ec-itemdDrawerRole.is_active .ec-headerCategoryArea .ec-item-nav-sp-menu-title {
    border-top: var(--color-darkbeige) 1px solid;
  }
}


/* ばいこう堂を何で知りましたか？項目の高さ調整 */
.ec-borderedDefs .know-our-shop-reason dt {
  padding-top: 10px;
  padding-bottom: 10px;
}
.ec-borderedDefs .know-our-shop-reason dd .ec-input textarea {
  min-height: calc(2em + 0.75rem + 2px);
}

/* ＳＮＳリンク */
a.link-instagram {
  background: url(/html/user_data/assets/img/common/icon-instagram.png) no-repeat 5px 50%;
  background-size: auto;
  background-size: 40px;
}
a.link-facebook {
  background: url(/html/user_data/assets/img/common/icon-facebook.png) no-repeat 5px 50%;
  background-size: auto;
  background-size: 40px;
  line-height: 40px;
}
a.link-twitter {
  background: url(/html/user_data/assets/img/common/icon-twitter.png) no-repeat 5px 50%;
  background-size: auto;
  background-size: 40px;
  line-height: 40px;
}
@media screen and (max-width: 767px) {
.footer-sns a.link-instagram {
  background-size: 38px;
}
 .footer-sns a.link-twitter  {
  background-size: 38px;
  line-height: 38px;
}

.footer-sns a.link-facebook {
  background-size: 38px;
  line-height: 38px;
 }
}

/** 新着情報一覧 */
.ec-news-list {
  margin: -25px 0 0 0;
}
.ec-news-list .ec-news-item {
  border-bottom: var(--color-beige) 1px solid;
}
.ec-news-list .ec-news-item:last-of-type {
  border-bottom: none;
}
.ec-news-list .ec-news-item a {
  display: block;
  overflow: hidden;
  padding: 30px 0;
  color: var(--color-text);
  text-decoration: none;
}
.ec-news-list .ec-news-date {
  font-size: 1.4rem;
  line-height: 1.8;
  margin-bottom: 5px;
  text-align: left;
}
.ec-news-list .ec-news-title {
  margin: 0 0 10px 0;
  padding: 0;
  font-family: var(--font-gothic);
  font-size: 1.6rem;
  text-align: left;
  font-weight: bold;
  line-height: 1.8;
  transition: color 0.5s ease;
}
.ec-news-list .ec-news-description {
  margin: 0;
  font-size: 1.3rem;
  text-align: left;
}
@media screen and (min-width:768px) {
  .ec-news-list a:hover {
    color: var(--color-text) !important;
  }
  .ec-news-list a:hover .ec-news-title {
    color: var(--color-main) !important;
  }
  .ec-news-list .ec-pager .ec-pager__item a:hover {
    color: var(--color-white) !important;
  }
}
@media screen and (max-width:767px) {
  .ec-news-list {
    margin: -25px 0 0 0;
  }
  .ec-news-list a {
    padding: 25px 0;
  }
  .ec-news-list .ec-news-date {
    font-size: 1.2rem;
    margin-bottom: 5px;
  }
  .ec-news-list .ec-news-title {
    margin: 0 0 10px 0;
    font-size: 1.5rem;
  }
}
/** 新着情報詳細 */
.ec-news-detail.ec-sec-inner {
  margin-bottom:0px;
}
.ec-news-detail .ec-news-head {
  margin: 0 0 20px 0;
}
.ec-news-detail .ec-news-body {
  margin: 0;
  padding: 0 0 60px 0;
  line-height: 1.8;
  min-height: 250px;
  color: var(--color-text);
}
.ec-news-detail .ec-news-body p{
  margin-bottom: 0px;
}
.ec-news-detail .ec-news-title {
  padding: 0 0 20px 0;
  margin: 0 0 40px 0;
  border-bottom: var(--color-beige) 1px solid;
  font-family: var(--font-gothic);
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.5;
}
.ec-news-list .ec-item-list-num {
  font-size: 1.3rem;
  text-align: left;
  line-height: 1.5;
  padding-bottom: 5px;
}
@media screen and (min-width:768px) {
  .ec-news-detail.ec-secFooter {
    margin-top: -15px;
    margin-bottom: 10px;
  }
}
@media screen and (max-width:767px) {
  .ec-news-detail .ec-news-body {
    padding: 0 0 30px 0;
  }
  .ec-news-detail .ec-news-title {
    padding: 0 0 20px 0;
    margin: 0 0 25px 0;
    font-size: 1.6rem;
  }
  .ec-news-detail.ec-secFooter {
    margin-top: 10px;
    margin-bottom: 10px;
  }
  .ec-news-list .ec-item-list-num {
      padding-bottom: 0px;
  }
}
/** review area */
#product_review_area{
      padding: 50px 0px 0;
}
#product_review_area .ec-review-wrap{
  background-color: #FFFFFF;
  margin-bottom: 20px;
  border-radius: 15px;
  border: var(--color-darkbeige) 1px solid;
  margin-top: 20px;
}
#product_review_area .ec-rectHeading h4{
  padding: 0 20px;
  margin: 0;
  background: none;
}
#product_review_area .ec-rectHeading h4 .recommend_average+span{
  font-size: 16px;
}
#product_review_area #reviewContent>p{
  padding-left: 25px;
  padding-bottom:32px;
}
#product_review_area .ec-role div:nth-child(3) {
  margin-top: 16px;
}
#product_review_area .review_list li {
  margin-bottom: 16px !important;
  padding-bottom: 16px;
  border-bottom: var(--color-beige) 1px solid;
  width: 95%;
}
#product_review_area .review_list li p:last-child{
  margin-bottom:0
}
#product_review_area .review_list li:last-child{
  border-bottom: none;
}
#product_review_area .review_list .review_date{
  margin-bottom: 1rem;
}
@media screen and (max-width:767px) {
  #product_review_area{
      padding:45px 0 0 0;
  }
  #product_review_area .ec-rectHeading h4 {
      font-size: 1.6rem;
  }
  #product_review_area .ec-rectHeading h4 .recommend_average+span{
    font-size: 1.4rem;
  }
  #product_review_area #reviewContent>p{
    padding-bottom:25px;
  }
  #product_review_area .review_list li {
      margin-bottom: 16px !important;
      padding-bottom:16px;
  }
}

/** login */
.ec-guest {
  background: #FFF;
  border: var(--color-beige) 1px solid;
  border-radius: 20px;}
.ec-login  {
  background: #FFF;
  border: var(--color-beige) 1px solid;
  border-radius: 20px;
}
.ec-login .ec-icon {
  display: none;
}
@media only screen and (min-width: 768px) {
  .ec-login {
      padding: 60px 13% 60px;
  }
}

/** mypage navi */
.ec-navlistRole .ec-notice-message{
  color:red;
  text-align:right;
}
@media only screen and (max-width: 767px) {
  .ec-navlistRole .ec-notice-message {
      font-size:1.4rem;
  }
}