@charset "UTF-8";
/**import**/
/*****************************************************************************
パーツ
*****************************************************************************/
/*****************************************************************************
共通
*****************************************************************************/
.mt0 {
  margin-top: 0px;
}

.mt5 {
  margin-top: 5px;
}

.mt10 {
  margin-top: 10px;
}

.mt15 {
  margin-top: 15px;
}

.mt20 {
  margin-top: 20px;
}

.mt25 {
  margin-top: 25px;
}

.mt30 {
  margin-top: 30px;
}

.mt35 {
  margin-top: 35px;
}

.mt40 {
  margin-top: 40px;
}

.mt45 {
  margin-top: 45px;
}

.mt50 {
  margin-top: 50px;
}

.mt55 {
  margin-top: 55px;
}

.mt60 {
  margin-top: 60px;
}

.mt65 {
  margin-top: 65px;
}

.mt70 {
  margin-top: 70px;
}

.mt75 {
  margin-top: 75px;
}

.mt80 {
  margin-top: 80px;
}

.mt85 {
  margin-top: 85px;
}

.mt90 {
  margin-top: 90px;
}

.mt95 {
  margin-top: 95px;
}

.mt100 {
  margin-top: 100px;
}

.mt105 {
  margin-top: 105px;
}

.mt110 {
  margin-top: 110px;
}

.mt115 {
  margin-top: 115px;
}

.mt120 {
  margin-top: 120px;
}

.mt125 {
  margin-top: 125px;
}

.mt130 {
  margin-top: 130px;
}

.mt135 {
  margin-top: 135px;
}

.mt140 {
  margin-top: 140px;
}

.mt145 {
  margin-top: 145px;
}

.mt150 {
  margin-top: 150px;
}

.mb0 {
  margin-bottom: 0px;
}

.mb5 {
  margin-bottom: 5px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb15 {
  margin-bottom: 15px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb25 {
  margin-bottom: 25px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb35 {
  margin-bottom: 35px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb45 {
  margin-bottom: 45px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb55 {
  margin-bottom: 55px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb65 {
  margin-bottom: 65px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb75 {
  margin-bottom: 75px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb85 {
  margin-bottom: 85px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb95 {
  margin-bottom: 95px;
}

.mb100 {
  margin-bottom: 100px;
}

.mb105 {
  margin-bottom: 105px;
}

.mb110 {
  margin-bottom: 110px;
}

.mb115 {
  margin-bottom: 115px;
}

.mb120 {
  margin-bottom: 120px;
}

.mb125 {
  margin-bottom: 125px;
}

.mb130 {
  margin-bottom: 130px;
}

.mb135 {
  margin-bottom: 135px;
}

.mb140 {
  margin-bottom: 140px;
}

.mb145 {
  margin-bottom: 145px;
}

.mb150 {
  margin-bottom: 150px;
}

/*****************************************************************************
 フレックス
 *****************************************************************************/
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

.flex.jc-center {
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.flex.jc-left {
  -ms-flex-pack: left;
  -webkit-justify-content: left;
  justify-content: left;
}

.flex.jc-right {
  -ms-flex-pack: right;
  -webkit-justify-content: right;
  justify-content: right;
}

.flex.wrap {
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex.al-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

/*****************************************************************************
 ボタン
 *****************************************************************************/
.btn_type01, .ec-registerRole .ec-blockBtn--cancel,
.complete_backhome .ec-blockBtn--cancel {
  background: #fff;
  text-align: center;
  border: 1px solid #484745;
  color: #484745 !important;
}

.btn_type01:hover, .ec-registerRole .ec-blockBtn--cancel:hover,
.complete_backhome .ec-blockBtn--cancel:hover {
  opacity: 0.7;
  background: #fff;
  border: 1px solid #484745;
  text-decoration: none;
}

.btn_type02 {
  background-color: #DE5D50;
  border: 1px solid #DE5D50;
  text-align: center;
  color: #fff;
}

.btn_type02:hover {
  opacity: 0.7;
  background-color: #DE5D50;
  border: 1px solid #DE5D50;
  text-decoration: none;
}

.btn_type03 {
  background-color: #999999;
  border: 1px solid #999999;
  text-align: center;
  color: #484745;
}

.btn_type03:hover {
  opacity: 0.7;
  background-color: #999999;
  border: 1px solid #999999;
  text-decoration: none;
}

.confirm_btn,
.ec-registerRole .ec-blockBtn--action {
  height: 60px;
  line-height: 60px;
}

.ec-registerRole .ec-blockBtn--cancel,
.complete_backhome .ec-blockBtn--cancel {
  height: 60px;
  line-height: 60px;
}

.ec-blockBtn--cancel:active, .ec-blockBtn--cancel.active, .open > .ec-blockBtn--cancel.dropdown-toggle,
.ec-blockBtn--cancel:focus, .ec-blockBtn--cancel.focus {
  background: none;
  border-color: none;
}

/**********************************
* Header
**********************************/
.nav-category__list-link {
  display: inline-flex;
  flex-wrap: wrap;
	
}

.nav-category__list-item a {
  border: 1px solid #48382B;
  background-color: transparent;
  padding: 20px;
}

.ec-itemNav__nav li ul {
  width: calc(100vw - 58px);
  max-width: 1090px;
}/*  2段階目の全体幅 */

.ec-itemNav__nav > li:hover > ul {
  /*background-color: #fff;*/
	background: linear-gradient(0deg, rgba(255,255,255,1) 0%,  rgba(255,255,255,0.9) 70%, rgba(240,240,240,1) 100%);
}

.ec-itemNav__nav > li:hover > ul > li {
  height: auto;
  margin: 0;
  border: none;
  position: relative;
  padding: 20px;
}

.ec-itemNav__nav > li > ul > li {
  transition: none;
}

/*　2段階目枠　*/
.ec-itemNav__nav .nav-category__list-item > a {
  position: relative;
}

.ec-itemNav__nav .nav-category__list-item > a::before, .ec-itemNav__nav .nav-category__list-item > a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 10px;
  height: 10px;
  transform: rotate(45deg) translate(-50%);
}

.ec-itemNav__nav .nav-category__list-item > a::before {
  border-top: 1px solid #48382B;
}

.ec-itemNav__nav .nav-category__list-item > a::after {
  border-right: 1px solid #48382B;
}

.ec-itemNav__nav .nav-category__list-item a {
  background-color: transparent !important;
  border: none;
}

.ec-itemNav__nav .nav-category__list-item a:hover {
  background-color: #f0f0f0 !important;
}

@media only screen and (min-width: 768px) {
  .ec-itemNav__nav {
    position: relative;
  }
  .nav-category__list > div p {
    font-size: 25px;
    margin-bottom: 10px;
  }
  .ec-itemNav__nav li {
    position: static;
    margin-bottom: 0;

  }
  .ec-itemNav__nav li ul {
    margin: 0;
  }
  .nav-category__list {
    display: flex;
    justify-content: space-between;
    padding: 30px;
  }
  /*.ec-itemNav__nav li:first-of-type .nav-category__list > div:first-of-type{
    width: 225px;
	}  gnav5の旧1つ目用設定　*/ 
  .nav-category__list-link {
    width: 70%;
    margin-right: -20px;
  }
  .nav-category__list-item {
    width: calc(100% - 20px);
    max-width: 225px;
    margin-right: 20px;
    margin-bottom: 20px;
    transition: .3s;
    border: 1px solid #48382B;
    background-color: #fff;
  }
  .nav-category__list-item a {
    border: none;
  }
  
  .nav-category__list-item:hover > a {
    background-color: #f0f0f0 !important;
  }

/* -----  gnav5の旧設定  ここから------ */
  /*.ec-itemNav__nav li:nth-of-type(2) .nav-category__list-link {
    width: 100%;
  }
  .ec-itemNav__nav li:nth-of-type(2) .nav-category__list-item {
    max-width: 22%;
  }
  .ec-itemNav__nav li:nth-of-type(2) .nav-category__list-item .nav-category__list-item-wrapper {
    display: none;
    position: absolute;
    top: 75px;
    left: 0;
  }
  .ec-itemNav__nav li:nth-of-type(2) .nav-category__list-item:hover .nav-category__list-item-wrapper {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
	background-color: #fff;
    padding: 20px 30px 20px 10px;
  }
  .ec-itemNav__nav li:nth-of-type(2) .nav-category__list-item-wrapper div {
    width: 100%;
    max-width: 225px;
    border-bottom: 1px solid #48382B;
    position: relative;
    margin-left: 20px;
  }
  .ec-itemNav__nav li:nth-of-type(2) .nav-category__list-item-wrapper div::before,
	.ec-itemNav__nav li:nth-of-type(2) .nav-category__list-item-wrapper div::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 10px;
    height: 10px;
    transform: rotate(45deg) translate(-50%);
  }
  .ec-itemNav__nav li:nth-of-type(2) .nav-category__list-item-wrapper div::before {
    border-top: 1px solid #48382B;
  }
  .ec-itemNav__nav li:nth-of-type(2) .nav-category__list-item-wrapper div::after {
    border-right: 1px solid #48382B;
  }
  .ec-itemNav__nav li:nth-of-type(2) .nav-category__list-item-wrapper a {
    padding-left: 0;
  }*/
/* -----  gnav5の旧設定  ここまで / ------ */

/* -----  / gnav4用設定（gnav_ver2)  ここから------ */
.ec-itemNav__nav li .nav-category__list-link {
    width: 100%;
  }
  .ec-itemNav__nav li .nav-category__list-item {
    max-width: 22%;
  }
  .ec-itemNav__nav li .nav-category__list-item .nav-category__list-item-wrapper {
    display: none;
    position: absolute;
    top: 75px;
    left: 0;
  }
  .ec-itemNav__nav li .nav-category__list-item:hover .nav-category__list-item-wrapper {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
	background-color: #fff;
    padding: 20px 30px 20px 10px;
  }
  .ec-itemNav__nav li .nav-category__list-item-wrapper div {
    width: 100%;
    max-width: 225px;
    border-bottom: 1px solid #48382B;
    position: relative;
    margin-left: 20px;
  }
  .ec-itemNav__nav li .nav-category__list-item-wrapper div::before,
	.ec-itemNav__nav li .nav-category__list-item-wrapper div::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 10px;
    height: 10px;
    transform: rotate(45deg) translate(-50%);
  }
  .ec-itemNav__nav li .nav-category__list-item-wrapper div::before {
    border-top: 1px solid #48382B;
  }
  .ec-itemNav__nav li .nav-category__list-item-wrapper div::after {
    border-right: 1px solid #48382B;
  }
  .ec-itemNav__nav li .nav-category__list-item-wrapper a {
    padding-left: 0;
  }	
/* -----  gnav4用設定（gnav_ver2)  ここまで　/ ------ */
	
}

@media only screen and (max-width: 970px) {
  .ec-itemNav__nav .nav-category__list-item a {
    font-size: 80%;
  }
}

@media only screen and (max-width: 767px) {
  .ec-categoryNavi_sp > ul {
    min-height: 65px;
    position: relative;
    display: flex;
    align-items: center;
  }
  .ec-categoryNavi_sp > ul > li {
    width: 20%;
    font-weight: bold;
    background-color: #fff;
    z-index: 1;
  }
	
  .sp-nav-category-item + li {
    width: 100% !important;
    display: none;
    position: absolute;
    top: 62px;
    left: 0;
    border-bottom: 2px solid #523F30;
    padding-bottom: 20px;
    float: none;
  }
  .sp-nav-category-item + li ul {
    padding: 0;
    margin: 0;
    border: none;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    height: 100%;
	background-color: #fff;/*0203*/
  }
  .sp-nav-category-item + li li {
    position: relative;
/*    margin: 0 10px;*/
    margin: 0 10px 0 15px;/*0203*/
	padding: 20px 30px 20px 5px;
    text-align: left;
	/*border-bottom: 1px dotted #ccc;　0203*/
	min-width: 42%;/*0203*/
	}/* 2段階目0203 */
  .sp-nav-category-item + li li::before, .sp-nav-category-item + li li::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 10px;
    height: 10px;
    transform: rotateZ(45deg) translateY(-50%);
  }
  .sp-nav-category-item + li li::before {
    border-top: 1px solid #48382B;
  }
  .sp-nav-category-item + li li::after {
    border-right: 1px solid #48382B;
  }
  .ec-categoryNavi_sp .sp-nav-subcategory-item::before {
    width: 13px;
    height: 13px;
    transform: rotateZ(0) translateY(-50%);
    transition: .3s;
    transform-origin: 25% 25% 0;
    top: 34px;
  }
  .ec-categoryNavi_sp .sp-nav-subcategory-item::after {
    width: 13px;
    height: 13px;
    transform: rotateZ(0) translateY(-50%);
    transition: .3s;
    transform-origin: 25% 25% 0;
    top: 34px;
    top: 28px;
    right: 16px;
  }
  .ec-categoryNavi_sp .sp-nav-subcategory-item.open::before, .ec-categoryNavi_sp .sp-nav-subcategory-item.open::after {
    transform: rotateZ(0) translateY(-50%);
    transform-origin: 25% 25% 0;
  }
  .sp-nav-subcategory-item.open::after {
    display: none;
  }
  .ec-categoryNavi_sp .sp-nav-subcategory-item + li {
    display: none;
    width: 100%;
    border: none;
    background-color: #ffffff!important;
    padding: 10px 5px 10px 15px;
  }/* open-３段階目wrap0203 */
  .ec-categoryNavi_sp .sp-nav-subcategory-item + li li {
/*    margin-right: 20px; 0203*/
	  min-width: 40%;/*0203*/
      margin-right: 15px;
	  padding: 15px 15px 15px 0;
	  /*border-bottom: 1px dotted #ccc;　0203*/
  }
  .sp-nav-subcategory-item + li::before, .sp-nav-subcategory-item + li::after {
    display: none;
  }
  .sp-nav-category-item + li ul li.sp-nav-subcategory-item {
    width: 100%;
    text-align: center;
    border-bottom: 1px solid #48382B;
    margin: 0 10px;
  }
  .ec-categoryNavi_sp .sp-nav-category-item a {
    padding: 20px 10px;
  }	  
  .sp-nav-subcategory-item li {
    width: 50%;
  }
}

@media only screen and (min-width: 1056px) {
	
}
@media only screen and (min-width: 768px) {
  .ec-headerNaviRole {
    margin-top: 20px;
    margin-bottom: 30px;
  }
  .ec-headerNaviRole .ec-headerNaviRole__left {
    margin-top: 20px;
  }
  .ec-layoutRole__header .ec-role {
    position: relative;
  }
  .ec-itemNav {
    border: none;
  }
  .ec-itemNav__nav {
    display: flex;
    flex-wrap: wrap;
  }
  .ec-itemNav__nav li {
 /*   width: 16.66666666666667%; gnav 5*/
	  width: 20%;/* gnav_ver2用 */
    border-right: #E2DCD3 1px solid;
  }
  .ec-itemNav__nav li:last-of-type {
    border-right: 0;
  }
  .ec-itemNav__nav li a {
    height: 100%;
    padding: 8px 15px;
    border-top: 0;
  }
  .ec-itemNav__nav li:hover a {
    border-top: 0;
    background-color: #f0f0f0;
    opacity: 1;
  }
  .ec-itemNav__nav li a span {
    display: block;
    font-size: 10px;
  }
  .ec-itemNav__nav .nav-category__list-item a span {
    font-size: 16px;
  }
}

/**********************************
* Footer
**********************************/
.ec-layoutRole__footer .ec-footerRole {
  background-color: transparent;
  padding-bottom: 40px;
}

.ec-layoutRole__footer .ec-footerRole .ec-footerRole__inner_top {
  margin-bottom: 50px;
  /*Social*/
}

.ec-layoutRole__footer .ec-footerRole .ec-footerRole__inner_top .ec-secHeading {
  font-size: 26px;
  font-weight: normal;
}

.ec-layoutRole__footer .ec-footerRole .ec-footerRole__inner_top .ec-socialRole__sns {
  display: flex;
  align-items: center;
  justify-content: center;
}

.ec-layoutRole__footer .ec-footerRole .ec-footerRole__inner_top .ec-socialRole__sns .ec-socialRole__snsIcon {
  display: inline-block;
  margin: 0 10px;
}

.ec-layoutRole__footer .ec-footerRole .ec-footerRole__inner_top .ec-socialRole__sns i.fab {
  width: 70px;
  height: 70px;
  text-align: center;
  line-height: 70px;
  border-radius: 100%;
  color: #fff;
}

.ec-layoutRole__footer .ec-footerRole .ec-footerRole__inner_top .ec-socialRole__sns i.fa-line {
  background-color: #31AE36;
  font-size: 50px;
}

.ec-layoutRole__footer .ec-footerRole .ec-footerRole__inner_top .ec-socialRole__sns .fa-youtube {
  background-color: #E61A0F;
  font-size: 40px;
}

.ec-layoutRole__footer .ec-footerRole .ec-footerRole__inner_top .ec-socialRole__sns .fa-instagram {
  background-color: #4C4C4C;
  font-size: 48px;
}

.ec-layoutRole__footer .ec-footerRole .ec-footerRole__inner {
  background-color: #f0f0f0;
}

.ec-layoutRole__footer .ec-footerRole .ec-footerRole__inner_bottom {
  background-color: transparent;
  color: inherit;
}

.ec-layoutRole__footer .ec-footerRole .ec-footerRole__inner_bottom .ec-footerNavi {
  color: inherit !important;
}

.ec-layoutRole__footer .ec-footerRole .ec-footerRole__inner_bottom .ec-footerNavi .ec-footerNavi__link {
  color: inherit !important;
}

.ec-layoutRole__footer .ec-footerRole .ec-footerRole__inner_bottom .ec-footerNavi .ec-footerNavi__link a {
  color: inherit !important;
}

.ec-layoutRole__footer .ec-footerRole .ec-footerRole__inner_bottom .ec-footerTitle__copyright {
  color: inherit;
}

@media only screen and (min-width: 768px) {
  .ec-footerRole {
    padding-bottom: 30px;
    margin-top: 50px;
  }
  .ec-footerRole .ec-footerRole__inner {
    max-width: none;
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .ec-footerRole .pc_only {
    display: block !important;
  }
  .ec-footerRole .ec-role ul.ec-footerNavi, .ec-footerRole__inner_bottom .ec-footerTitle__copyright {
    text-align: center;
  }
}

.ec-footerRole .ec-role ul {
  width: auto;
}

.ec-footerMap {
  display: flex;
  justify-content: space-between;
  max-width: 1000px;
  margin: 0 auto;
}

.ec-footerMap ul li {
  margin-bottom: 8px;
  font-size: 13px;
}

.ec-footerMap ul li.title {
  margin-bottom: 15px;
  font-size: 16px;
  font-weight: bold;
}

.ec-footerRole .ec-role .footer_submenu {
  margin-top: 8px;
  float: none;
}

.ec-footerRole .ec-role .footer_submenu li {
  font-weight: normal;
  padding-left: 1em;
}

.ec-blockTopBtn {
  width: 50px;
  height: 50px;
  border: 1px solid #484745;
  background: #fff;
  color: #484745;
  line-height: 50px;
}

/**********************************
* テーマ用scss
**********************************/
/*reset*/
.ec-categoryRole.categoryRole p, .ec-categoryRole.white p {
  font-weight: bold;
  margin: 10px 0 10px;
}

.ec-sliderRole {
  padding: 0;
  max-width: none;
}

a {
  color: #525263;
}

a:hover {
  color: #525263;
  opacity: 0.7;
  text-decoration: none;
}

.slick-dots li.slick-active button:before {
  background-color: #523F30 !important;
  opacity: 1;
}

.slick-dots li button:before {
  background-color: #ccc !important;
  border: 1px solid #ccc !important;
}

.ec-layoutRole__mainBottom {
  margin-top: 100px;
}

#page_homepage .ec-layoutRole__mainBottom {
  margin-top: 0px;
}

.ec-zipInputHelp span {
  color: #000;
}

.ec-secHeading .ec-secHeading__ja {
  color: #484745;
}

.clearfix {
  display: block;
  width: 100%;
}

.clearfix:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
  clear: both;
}

.pc_only {
  display: none !important;
}

.sp_only {
  display: inline-block !important;
}

.pc_only_block {
  display: none !important;
}

.sp_only_block {
  display: block !important;
}

@media only screen and (min-width: 768px) {
  .pc_only {
    display: inline-block !important;
  }
  .pc_only.inline {
    display: inline !important;
  }
  .sp_only {
    display: none !important;
  }
  .pc_only_block {
    display: block !important;
  }
  .sp_only_block {
    display: none !important;
  }
  .pc_only_block .slick-slide {
    display: block !important;
  }
}

/*.ec-secHeading*/
.ec-secHeading {
  margin-bottom: 15px;
  text-align: center;
}

.ec-secHeading .ec-secHeading__en {
  font-size: 32px;
  letter-spacing: .05em;
  display: block;
  font-weight: normal;
}

.ec-secHeading .ec-secHeading__ja {
  display: block;
  color: #523F30;
  margin-bottom: 30px;
  font-weight: bold;
}

.ec-secHeading .ec-secHeading__en {
  position: relative;
  display: inline-block;
  padding: 0 50px;
  font-size: 24px;
}

.ec-secHeading .ec-secHeading__en:before, .ec-secHeading .ec-secHeading__en:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 40px;
  height: 2px;
  background-color: #523F30;
}

.ec-secHeading .ec-secHeading__en:before {
  left: 0;
}

.ec-secHeading .ec-secHeading__en:after {
  right: 0;
}

@media only screen and (min-width: 768px) {
  .ec-secHeading {
    margin-bottom: 25px;
  }
  .ec-secHeading .ec-secHeading__en {
    padding: 0 115px;
  }
  .ec-secHeading .ec-secHeading__en:before, .ec-secHeading .ec-secHeading__en:after {
    width: 100px;
  }
}

/*ADD*/
/*header*/
.shoulder_text {
  display: none;
}

@media only screen and (max-width: 767px) {
  .ec-headerNaviRole .ec-headerNaviRole__right {
    display: none !important;
  }
}

.ec-headerTitle .ec-headerTitle__title p {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
  font-size: 2em;
}

.ec-headerTitle .ec-headerTitle__title p.shoulder_text {
  font-size: 12px;
}

@media only screen and (min-width: 768px) {
  .ec-headerRole {
    padding: 0;
    float: left;
    width: 50%;
    height: 50px;
  }
  .ec-headerNaviRole {
    padding-top: 0;
    padding-bottom: 0;
  }
  .ec-headerTitle .ec-headerTitle__title {
    text-align: left;
  }
  .ec-headerTitle .ec-headerTitle__title a {
    font-size: 48px;
    line-height: 1.1em;
  }
  .head_search {
    float: right;
    width: 30%;
  }
  .ec-headerNaviRole .ec-cartNavi {
    padding: 5px 0 0 5px;
    font-size: 12px;
  }
  .shoulder_text {
    font-size: 12px;
    display: block;
    margin-bottom: 5px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1056px) {
  .head_search {
    float: none;
    width: initial;
    width: auto;
  }
  .ec-headerSearch .ec-headerSearch__category {
    float: none;
    width: initial;
    width: auto;
  }
  .ec-headerSearch .ec-headerSearch__category .ec-select select {
    max-width: initial;
    max-width: auto;
    height: 34px;
  }
  .nav-category__list-link .nav-category__list-item {
    max-width: calc(50% - 20px);
  }
}
@media only screen and (max-width: 767px) {
  .ec-headerRole {
    padding: 0;
    text-align: left;
    float: left;
    width: 80%;
  }
  .ec-headerRole .ec-headerTitle__title {
    text-align: left;
    padding-left: 13%;
  }
  .ec-headerRole .ec-headerTitle__title a {
    margin-bottom: 15px;
  }
  .ec-headerNaviRole__right {
    padding: 0;
    text-align: left;
    float: right;
    width: 20%;
  }
  .ec-headerNaviRole__right .ec-headerNaviRole__nav {
    width: 60%;
    text-align: right;
    float: left;
  }
  .ec-headerNaviRole__right .ec-headerRole__cart {
    width: 40%;
    float: right;
  }
  .ec-headerNaviRole__right .ec-cartNavi {
    padding-left: 0;
  }
  .ec-headerNav .ec-headerNav__itemIcon {
    border-right: 1px solid #E9E9E9;
  }
  .ec-headerNav .ec-headerNav__itemIcon.fa-user-tp {
    background-position: 50% center;
    width: 37px;
    margin-left: 0;
  }
  .ec-headerNav .ec-cartNavi {
    padding-left: 0;
  }
}

.ec-cartNavi .ec-cartNavi__badge {
  background-color: #DD3654;
}

.ec-headerNaviRole .ec-headerNaviRole__right {
  width: calc(100% * 5 / 6);
}

.fa-user-tp, .fa-heart-tp, .fa-lock-tp {
  display: inline-block;
  vertical-align: middle;
  background: url(../icon/tp_login.svg) no-repeat right center;
  height: 22px;
  background-size: 22px;
}

.fa-user-tp {
  background: url(../icon/tp_user.svg) no-repeat right center;
}

.fa-heart-tp {
  background: url(../icon/tp_hart.svg) no-repeat right center;
}

.fa-shopping-cart-tp {
  display: inline-block;
  vertical-align: middle;
  background: url(../icon/tp_cart.svg) no-repeat 0 0;
  height: 22px;
  background-size: 22px;
  padding-left: 26px;
}

.fa-shopping-cart-tp:before {
  content: normal;
}

@media only screen and (min-width: 768px) {
  .fa-shopping-cart-tp {
    background-position: 11px -2px;
  }
}

.fa-shopping-cart-tpde {
  display: inline-block;
  vertical-align: middle;
  background: url(../icon/cart_de.svg) no-repeat center;
  height: 22px;
  background-size: 22px;
  padding-left: 0;
}

.fa-shopping-cart-tpde:before {
  content: normal;
}

/*ec-headerSearch */
.ec-headerSearch {
  margin-bottom: 20px;
  margin-top: -20px;
}

.ec-headerSearch .ec-headerSearch__category .ec-select.ec-select_search {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  position: relative;
  background: none;
}

.ec-headerSearch .ec-headerSearch__category .ec-select select {
  color: #000;
}

.ec-headerSearch .ec-headerSearch__category .ec-select.ec-select_search:before {
  border-top: 5px solid #523F30;
  top: 1em;
  right: 0.6em;
}

.ec-headerSearch .ec-headerSearch__keywordBtn {
  right: 5px;
  top: 19px;
  height: 35px;
}

.ec-headerSearch .ec-headerSearch__category .ec-select.ec-select_search, .ec-headerSearch .ec-headerSearch__keyword {
  border-radius: 0;
}

.ec-headerSearch .ec-headerSearch__category {
  float: left;
  width: 50%;
}

.ec-headerSearch .ec-headerSearch__keyword {
  float: left;
  width: 50%;
  border: none;
  height: 36px;
}

.ec-headerSearch .ec-headerSearch__keyword input[type="search"] {
  background-color: #eeeff1;
  border-radius: 0 20px 20px 0;
  color: #484745;
}

.ec-drawerRole .ec-headerSearch {
  margin: 0;
  background-color: #523F30;
}

.ec-drawerRole .ec-headerSearch .ec-headerSearch__category, .ec-drawerRole .ec-headerSearch .ec-headerSearch__keyword {
  border: none;
  background: none;
}

@media only screen and (min-width: 1057px) {
  .ec-layoutRole__header .ec-role .head_search {
    position: absolute;
    top: -94px;
    right: 407px;
  }
  .ec-layoutRole__header .ec-role .head_search .ec-headerSearch {
    margin: 0;
  }
  .ec-headerSearch .ec-headerSearch__category {
    float: left;
    width: 43%;
  }
  .ec-headerSearch .ec-headerSearch__keywordBtn {
    background: none;
  }
  .ec-headerSearch .ec-headerSearch__keyword input[type="search"] {
    background-color: #eeeff1;
    border-radius: 0 20px 20px 0;
    color: #484745;
    font-size: 12px;
  }
  .ec-headerSearch .ec-headerSearch__category .ec-select select {
    max-width: 225px;
    height: 34px;
    background-color: #eeeff1;
    border-radius: 20px 0 0 20px;
    padding-left: 20px;
    color: #484745;
    font-size: 12px;
  }
  .ec-headerSearch .ec-headerSearch__keyword, .ec-headerSearch .ec-headerSearch__category .ec-select.ec-select_search {
    border: none;
    color: #484745;
    background: none;
  }
}

/*btn*/
p.sq_btn {
  font-weight: normal !important;
  text-align: center;
}

p.sq_btn a {
  width: 320px;
  margin: 0 auto;
  display: block;
  border: 1px solid #484745;
  color: #fff !important;
  background-color: #484745;
  border-radius: 5px;
  padding: 15px 0;
}

.ec-blockBtn--action.zero {
  background-color: #C5BFB9;
  color: #fff;
  border: none;
  opacity: 1;
  border-radius: 5px;
}

.ec-blockBtn--action.zero:hover {
  background-color: #C5BFB9;
  opacity: 1;
}

/*categoryRole*/
.ec-campaignRole.categoryRole {
  background: #F9F9F9;
}

@media only screen and (min-width: 768px) {
  .ec-categoryRole.categoryRole .ec-categoryRole__listItem {
    width: calc(100% / 2);
  }
}

@media only screen and (max-width: 767px) {
  .ec-categoryNavi_sp {
    display: block !important;
  }
  .ec-categoryNavi_sp ul {
    margin: 0 0 15px 0;
    padding: 10px 0;
    border-bottom: 2px solid #523F30;
    border-top: 2px solid #523F30;
  }
  .ec-categoryNavi_sp li {
    width: 25%;
    padding: 0 1%;
    text-align: center;
    list-style: none;
    float: left;
  }
  .ec-categoryNavi_sp li a {
    color: #2e3233;
    font-size: 14px;
    font-weight: bold;
  }
}

/*rankingRole*/
.ec-newItemRole.ec-rankingRole .no {
  display: inline-block;
  margin-left: auto;
  font-size: 14px;
  padding-top: 8px;
  width: 30px;
  height: 30px;
  color: white;
  text-align: center;
  cursor: pointer;
  position: absolute;
  left: 5px;
  top: -15px;
  z-index: 9999;
}

.ec-newItemRole.ec-rankingRole .no.no1 {
  background: url(../img/top/ranking1.svg) no-repeat center;
}

.ec-newItemRole.ec-rankingRole .no.no2 {
  background: url(../img/top/ranking2.svg) no-repeat center;
}

.ec-newItemRole.ec-rankingRole .no.no3 {
  background: url(../img/top/ranking3.svg) no-repeat center;
}

.ec-newItemRole.ec-rankingRole .no.no4 {
  background: url(../img/top/ranking4.svg) no-repeat center;
}

.ec-newItemRole.ec-rankingRole .no.no5 {
  background: url(../img/top/ranking5.svg) no-repeat center;
}

.ec-newItemRole.ec-rankingRole .ec-newItemRole__listItem {
  position: relative;
}

.ec-newItemRole.ec-rankingRole .ec-newItemRole__listItem a:hover img {
  opacity: 0.7;
}

.ec-newItemRole.ec-rankingRole a:hover .no {
  opacity: 0.7;
}

.ec-newItemRole.ec-rankingRole .ec-newItemRole__list {
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
  padding: 20px;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: inherit;
}

.ec-newItemRole.ec-rankingRole .ec-newItemRole__listItem {
  width: 150px;
}

.ec-newItemRole.ec-rankingRole .ec-newItemRole__listItem:not(:last-of-type) {
  margin-right: 4% !important;
}

.ec-newItemRole.ec-rankingRole .ec-newItemRole__listItem img {
  width: 150px;
  min-width: 150px;
}

@media only screen and (min-width: 768px) {
  .ec-newItemRole.ec-rankingRole .ec-newItemRole__list {
    overflow-x: inherit;
    padding: 0;
  }
  .ec-newItemRole.ec-rankingRole .ec-newItemRole__listItem img {
    width: 100%;
    min-width: 100%;
  }
  .ec-newItemRole.ec-rankingRole .slick-list {
    width: 100%;
    overflow: visible;
  }
  .ec-newItemRole.ec-rankingRole .ec-newItemRole__listItem {
    width: 18%;
    float: left;
    position: relative;
  }
  .ec-newItemRole.ec-rankingRole .ec-newItemRole__listItem:nth-child(odd) {
    margin-right: 0px;
  }
  .ec-newItemRole.ec-rankingRole .ec-newItemRole__listItem:not(:last-of-type) {
    margin-right: 2.5%;
  }
}

/*変更しない*/
@media only screen and (max-width: 768px) {
  .ec-newItemRole.ec-rankingRole {
    padding-bottom: 10px;
  }
  .ec-newItemRole.ec-rankingRole .slick-list {
    width: 100%;
    padding: 10px 10px 0 10px;
  }
  .ec-newItemRole .ec-newItemRole__listItem {
    margin-bottom: 0;
  }
  .list_nav .ec-newItemRole .ec-newItemRole__listItem {
    margin-bottom: 40px;
  }
  .ec-newItemRole.pt0 {
    padding-top: 0;
  }
  .ec-newItemRole.ec-rankingRole .ec-newItemRole__listItem:nth-child(odd), .ec-newItemRole.ec-rankingRole .ec-newItemRole__listItem:not(:last-of-type) {
    margin-right: 1%;
  }
}

/*news*/
.ec-newsRole .ec-newsRole__newsCloseBtn {
  background: none;
  color: #484745;
}

.fa-caret-up:before {
  content: "\f0d8";
}

.fa-angle-down:before {
  content: "\f0d7";
}

.ec-newsRole .ec-newsRole__news {
  border: none;
  padding: 0;
}

.ec-newsRole .ec-newsRole__newsTitle {
  color: #484745;
}

@media only screen and (min-width: 768px) {
  .ec-newsRole .ec-newsRole__newsDescription, .ec-newsRole__newsItem.is_active .ec-newsRole__newsDescription {
    margin: 20px 0 0 117px;
  }
}

/*band_banner*/
.band_banner {
  background-color: #DE5D50;
  color: #fff;
  text-align: center;
  padding: 7px 0 7px 0;
  font-weight: bold;
  font-size: 18px;
}

.band_banner a {
  color: #fff !important;
}

.band_banner span.left {
  float: left;
  width: 45%;
  padding-top: 0.4em;
}

.band_banner span.right {
  font-weight: normal;
  font-size: 13px;
  margin-left: 0;
  float: left;
  width: 55%;
  text-align: left;
}

@media only screen and (min-width: 768px) {
  .band_banner {
    background-color: #DE5D50;
    color: #fff;
    text-align: center;
    padding: 7px 0;
    font-weight: bold;
    font-size: 18px;
  }
  .band_banner span {
    display: inline;
  }
  .band_banner span.left {
    float: none;
    width: auto;
    padding-top: 0;
  }
  .band_banner span.right {
    font-weight: normal;
    font-size: 14px;
    margin-left: 1em;
    float: none;
    width: auto;
  }
}

/*ec-footerRole*/
.ec-footerRole {
  background-color: #EDE6DF;
  border: none;
  padding-top: 30px;
}

.ec-footerRole p {
  color: #484745;
}

.ec-footerRole .ec-role .sub_box {
  margin-bottom: 20px;
  padding: 5%;
  float: none;
  background-color: #fff;
  line-height: 1.8em;
  text-align: center;
}

.ec-footerRole .ec-role .sub_box p {
  font-size: 14px;
}

.ec-footerRole .ec-role .sub_box p.sq_btn a {
  padding: 5px 0;
  width: 80%;
}

.ec-footerRole .ec-role .sub_box p.ttl {
  text-align: center;
  font-weight: bold;
  margin-bottom: 5%;
  font-size: 16px;
}

.ec-footerRole .ec-role .sub_box .sq_btn {
  margin-top: 5%;
}

.ec-footerRole__inner_bottom {
  background: #523F30;
  color: #fff;
}

.ec-footerRole__inner_bottom .ec-footerNavi {
  border: none !important;
}

.ec-footerRole__inner_bottom .ec-footerNavi .ec-footerNavi__link a {
  color: #fff !important;
}

.ec-footerRole__inner_bottom .ec-footerTitle__copyright {
  color: #fff;
}

@media only screen and (min-width: 768px) {
  .ec-footerRole {
    padding-bottom: 70px;
  }
  .ec-footerRole .ec-role {
    padding: 0;
    flex-wrap: nowrap;
  }
  .ec-footerRole .ec-role .sub_box {
    width: 336px;
    margin-bottom: 50px;
    padding: 40px 50px;
    float: left;
    background-color: #fff;
    line-height: 1.8em;
    align-items: flex-start;
    text-align: left;
  }
  .ec-footerRole .ec-role .sub_box:not(:last-of-type) {
    margin-right: 40px;
  }
  .ec-footerRole .ec-role .sub_box .ttl {
    text-align: center;
    font-weight: bold;
    margin-bottom: 20px;
    font-size: 16px;
  }
  .ec-footerRole .ec-role .sub_box p {
    font-size: 16px;
  }
  .ec-footerRole .ec-role .sub_box .sq_btn {
    margin-top: 20px;
  }
  .ec-footerRole .ec-role .sub_box .sq_btn a {
    width: 100%;
    padding: 10px;
  }
  .ec-footerRole .ec-role ul {
    padding-left: 0;
    float: left;
    /* width: 127px; */
  }
  .ec-footerRole .ec-role ul:not(:last-of-type) {
    margin-right: 10px;
  }
  .ec-footerRole .ec-role li {
    list-style: none;
    font-size: 14px;
    color: #fff;
  }
  .ec-footerRole .ec-role li.bold {
    font-weight: bold;
  }
  .ec-footerRole .ec-role li.mb30 {
    margin-bottom: 30px;
  }
  .ec-footerRole .ec-role ul.ec-footerNavi {
    padding-left: 0;
    float: none;
    width: 100%;
  }
  .ec-footerRole .ec-footerNavi {
    margin-top: 60px;
    text-align: left;
    padding-top: 20px;
    border-top: 1px solid #E9E9E9;
  }
  .ec-footerNavi .ec-footerNavi__link a {
    color: #333;
    text-decoration: none;
    margin-left: 0;
  }
  .ec-footerTitle__copyright {
    margin-top: 10px;
    font-size: 14px;
    margin-bottom: 25px;
  }
}

.ec-footerNavi {
  text-align: left;
  border-top: 1px solid #E9E9E9;
  padding-top: 20px;
}

.ec-footerNavi .ec-footerNavi__link {
  display: inline;
}

.ec-footerNavi .ec-footerNavi__link a {
  border: none;
  padding: 0;
  text-align: left;
  display: inline;
}

.ec-footerTitle__copyright {
  margin-top: 10px;
  font-size: 14px;
  margin-bottom: 25px;
}

/*detail*/
#page_product_detail .ec-layoutRole__main {
  margin-top: 20px;
}

#cart_back_btn {
  background-color: #000;
  color: #fff !important;
  width: 40px;
  height: 40px;
  position: fixed;
  top: 10px;
  right: 10px;
  display: block;
  z-index: 999999;
}

#cart_back_btn:hover {
  opacity: 1;
}

@media only screen and (min-width: 768px) {
  .ec-grid2__cell.w53 {
    width: 53%;
  }
  .ec-grid2__cell.w47 {
    width: 47%;
  }
  .ec-sliderItemRole .slideThumb {
    width: 16%;
    margin-bottom: 15px;
  }
  .ec-sliderItemRole .slideThumb img {
    width: 90%;
  }
  .ec-productRole__btn.cart_btn {
    float: left;
    width: 390px;
    min-width: 390px;
  }
  .ec-productRole__btn.fav_btn {
    float: right;
    width: 60px;
    min-width: 60px;
  }
  .ec-productRole__btn.fav_btn .ec-blockBtn--cancel {
    background-color: #EFE8E1;
    color: #484745 !important;
    border-radius: 30px;
    border: none;
    width: 60px;
    height: 60px;
  }
  .ec-productRole__btn.fav_btn .ec-blockBtn--cancel.comp {
    background-color: #484745;
    color: #EFE8E1  !important;
  }
  .ec-productRole .ec-productRole__title .ec-headingTitle {
    font-size: 24px;
    margin-bottom: 15px;
  }
}

/*変更しない*/
@media only screen and (max-width: 768px) {
  .ec-productRole__btn.cart_btn {
    float: left;
    width: 80%;
    min-width: 80%;
    margin-right: 5%;
  }
  .ec-productRole__btn.fav_btn {
    float: right;
    width: 15%;
    min-width: 15%;
  }
  .ec-productRole__btn.fav_btn .ec-blockBtn--cancel {
    border-radius: 30px;
    border: none;
    width: 60px;
    height: 60px;
    background-color: #EFE8E1;
    color: #484745 !important;
  }
  .ec-productRole__btn.fav_btn .ec-blockBtn--cancel.comp {
    background-color: #484745;
    color: #EFE8E1  !important;
  }
}

/*変更しない*/
@media only screen and (max-width: 768px) {
  .ec-sliderItemRole {
    margin-bottom: 0;
    padding: 0;
  }
  .ec-sliderItemRole .slick-slider {
    margin-bottom: 10px;
  }
  .item_nav.sp_only {
    margin-bottom: 20px;
  }
  .item_nav.sp_only .slideThumb {
    width: 15%;
    float: left;
    margin-right: 2%;
    margin-bottom: 15px;
  }
  .item_nav.sp_only .slideThumb:nth-child(6n) {
    margin-right: 0;
  }
}

.ec-blockBtn--action {
  letter-spacing: 0.1em;
  font-size: 16px;
}

.ec-productRole .ec-productRole__title .ec-headingTitle {
  color: #484745;
  font-weight: bold !important;
}

.ec-productRole .ec-productRole__priceRegular {
  padding-top: 0;
}

.ec-productRole__priceRegularPrice {
  font-size: 14px;
}

.ec-price .ec-price__price {
  padding: 0;
}

.ec-productRole .ec-productRole__price {
  color: #484745;
  padding: 3px 0 0 0;
  border-bottom: none;
}

.ec-productRole .ec-price__tax {
  font-weight: bold;
}

.ec-productRole .ec-productRole__code {
  padding: 15px 0 30px 0;
  margin-bottom: 20px;
  font-size: 14px;
  border-bottom: 1px solid #E2DCD3;
}

.ec-numberInput span {
  margin-right: 10px;
  font-size: 14px;
}

.ec-productRole .ec-productRole__description {
  font-size: 14px;
  border-top: 1px solid #E2DCD3;
  line-height: 1.8em;
}

.ec-productRole .ec-productRole__description.pd30 {
  padding-top: 30px;
  margin-top: 0;
  margin-bottom: 30px;
}

.ec-productRole .ec-productRole__category {
  padding: 25px;
  background-color: #F9F9F9;
  border: 1px solid #E2DCD3;
  font-size: 14px;
}

.ec-productRole .ec-productRole__category div {
  margin-bottom: 10px;
  font-weight: bold;
}

.ec-productRole .ec-productRole__category a {
  color: #484745;
}

.ec-productRole .ec-productRole__description {
  margin-top: 80px;
  padding-top: 80px;
  border-top: 1px solid #E2DCD3;
}

/*ec-productRole__description*/
.ec-productRole__description .detail_area {
  width: 720px;
  margin: 0 auto;
}

.ec-productRole__description .detail_area .img {
  margin-bottom: 30px;
}

.ec-productRole__description .detail_area h3 {
  margin-bottom: 30px;
  font-size: 20px;
}

.ec-productRole__description .detail_area .text {
  margin-bottom: 80px;
}

.ec-productRole__description .spec_area .ec-borderedDefs dt {
  width: 15%;
  padding-top: 0;
}

.ec-productRole__description .spec_area .ec-borderedDefs dd {
  width: 85%;
  line-height: 1.8;
}

/*変更しない*/
@media only screen and (max-width: 768px) {
  .ec-productRole .ec-productRole__description {
    margin-top: 40px;
    padding-top: 40px;
  }
  .ec-productRole .ec-productRole__description.pd30 {
    margin-top: 10px;
  }
  .ec-productRole .ec-productRole__description .detail_area {
    width: 100%;
  }
  .ec-productRole .ec-productRole__description .detail_area img {
    max-width: 100%;
  }
  .ec-productRole__description .spec_area .ec-borderedDefs dt {
    width: 100%;
    margin-bottom: 10px;
  }
  .ec-productRole__description .spec_area .ec-borderedDefs dd {
    width: 100%;
  }
  #page_product_detail .ec-layoutRole__main {
    margin-top: 20px;
  }
}

.pagetop.flex {
  display: none;
}

@media only screen and (min-width: 768px) {
  /*float cart*/
  .pagetop.flex {
    position: fixed;
    left: 0;
    top: 0;
    opacity: 1;
    width: 100%;
    height: fit-content;
    text-align: left;
    color: #525263;
    line-height: 1.8em;
    background-color: #FFFF;
    z-index: 99999;
    border-bottom: 1px solid #E2DCD3;
    padding: 20px 0;
  }
  .pagetop.flex .ec-productRole__profile {
    width: 1130px;
    margin: 0 auto;
  }
  .pagetop.flex .ec-productRole__profile .flex_left {
    float: left;
    width: 50%;
  }
  .pagetop.flex .ec-productRole__profile .flex_left .ec-headingTitle {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 25px;
  }
  .pagetop.flex .ec-productRole__profile .flex_left .ec-productRole__priceRegularTax, .pagetop.flex .ec-productRole__profile .flex_left .ec-productRole__priceRegularPrice {
    font-size: 12px;
    color: #666;
  }
  .pagetop.flex .ec-productRole__profile .flex_left .ec-price .ec-price__price {
    font-size: 18px;
    line-height: 0;
  }
  .pagetop.flex .ec-productRole__profile .flex_left .ec-price .ec-price__tax {
    font-size: 12px;
    font-weight: bold;
  }
  .pagetop.flex .ec-productRole__profile .flex_right {
    float: right;
    width: 50%;
  }
  .pagetop.flex .ec-productRole__profile .flex_right .ec-productRole__actions {
    float: right;
  }
  .pagetop.flex .ec-productRole__profile .flex_right .ec-productRole__actions div {
    display: inline-block;
  }
  .pagetop.flex .ec-productRole__profile .flex_right .ec-productRole__actions div.ec-select {
    margin-right: 10px;
  }
  .pagetop.flex .ec-productRole__profile .flex_right .ec-blockBtn--action {
    height: 40px;
    line-height: 40px;
    font-size: 14px;
  }
  .pagetop.flex .ec-productRole__profile .flex_right .ec-productRole__btn.cart_btn {
    width: 260px;
    min-width: 260px;
    margin-right: 0;
    margin-left: 250px;
  }
  .pagetop.flex .ec-productRole__profile .flex_right .ec-productRole__btn.fav_btn {
    width: 40px;
    min-width: 40px;
  }
  .pagetop.flex .ec-productRole__profile .flex_right .ec-productRole__btn.fav_btn .ec-blockBtn--cancel {
    width: 40px;
    height: 40px;
    line-height: normal;
    padding-left: 13px;
  }
}

/*list*/
#page_product_list .ec-topicpath {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 15px;
}

#page_product_list .ec-topicpath a {
  color: #000;
}

.list_nav .hero_area {
  margin-bottom: 30px;
}

.list_nav .hero_area .img {
  margin-bottom: 20px;
}

.list_nav .hero_area .text {
  margin-bottom: 60px;
}

.list_nav .hero_area h2 {
  font-size: 18px;
  margin-bottom: 10px;
}

.list_nav .hero_area p {
  line-height: 1.8em;
  font-size: 14px;
}

.list_nav ul.cate_nav {
  margin-left: 0;
  padding-left: 0;
  margin-bottom: 40px;
}

.list_nav ul.cate_nav li {
  float: left;
  width: 120px;
  margin-bottom: 20px;
  margin-right: 74px;
  text-align: center;
  list-style: none;
}

.list_nav ul.cate_nav li img {
  width: 100px;
}

.list_nav ul.cate_nav li:nth-child(6n) {
  margin-right: 0;
}

.list_nav ul.cate_nav li .name {
  font-size: 13px;
  font-weight: bold;
  margin-top: 15px;
}

.ec-searchnavRole .ec-searchnavRole__infos {
  border: none;
  margin-bottom: 40px;
}

.ec-searchnavRole .ec-searchnavRole__infos .ec-searchnavRole__counter {
  padding-top: 3px;
}

.ec-searchnavRole .ec-searchnavRole__infos .ec-searchnavRole__counter span {
  font-size: 12px;
}

.ec-searchnavRole .ec-searchnavRole__infos .ec-searchnavRole__counter span.ec-font-bold {
  font-size: 16px;
}

.ec-searchnavRole .ec-searchnavRole__infos select {
  background-color: #fff;
}

.ec-productRole__tags {
  padding-left: 0;
  margin-bottom: 10px;
}

.ec-productRole__tags li {
  list-style: none;
}

.ec-productRole__tag {
  display: inline-block;
  padding: 3px 8px;
  list-style: none;
  font-size: 80%;
  color: #523F30;
  border: solid 1px #EFE8E1;
  border-radius: 10px;
  margin-bottom: 5px;
  background-color: #EFE8E1;
}

.ec-shelfGrid__item .ttl {
  font-weight: bold;
  margin-bottom: 5px;
  color: #484745;
}

.ec-shelfGrid__item .subtext {
  margin-bottom: 5px;
}

.ec-shelfGrid__item .price02-default {
  font-size: 14px;
  margin-bottom: 10px;
}

.ec-shelfGrid__item .price02-default span {
  font-size: 12px;
}

.ec-shelfGrid__item .ec-select select {
  width: 100%;
}

.ec-pager {
  list-style: none;
  list-style-type: none;
  margin: 0 auto;
  padding: 1em 0;
  text-align: center;
}

.ec-pager .ec-pager__item,
.ec-pager .ec-pager__item--active {
  display: inline-block;
  min-width: 29px;
  text-align: center;
  position: relative;
  background: none;
}

.ec-pager .ec-pager__item a,
.ec-pager .ec-pager__item--active a {
  color: inherit;
  display: block;
  line-height: 1.8;
  padding: 5px 1em;
  text-decoration: none;
  background: none;
  color: #484745 !important;
}

.ec-pager .ec-pager__item a:hover,
.ec-pager .ec-pager__item--active a:hover {
  color: inherit;
  background: none;
}

.ec-pager .ec-pager__item:hover {
  background: none;
}

.ec-pager .ec-pager__item--active a {
  background: #48382b;
  border-radius: 50%;
  color: #fff !important;
}

.ec-pager .ec-pager__item--active a:hover {
  background: #48382b;
  border-radius: 50%;
  color: #fff !important;
}

.ec-pager .ec-pager__item a:hover {
  background: #48382b;
  border-radius: 50%;
  color: #fff !important;
}

#page_product_list .ec-topicpath h1 {
  font-size: 22px;
  font-weight: bold;
  margin: 0;
}

#page_product_list .ec-blockBtn--cancel {
  background: #DE5D50;
  border: 1px solid #DE5D50;
  border-radius: 5px;
}

.ec-blockBtn--cancel:hover {
  opacity: 0.8;
}

/*変更しない*/
@media only screen and (max-width: 768px) {
  .list_nav ul.cate_nav {
    margin-bottom: 10px;
  }
  #page_product_list .ec-topicpath h1 {
    font-size: 16px;
    font-weight: bold;
    margin: 0;
  }
  .list_nav .hero_area {
    width: 90%;
    margin: 0 auto 40px;
  }
  .list_nav .hero_area .img {
    float: none;
    width: 100%;
  }
  .list_nav .hero_area .text {
    margin-bottom: 40px;
  }
  .list_nav .hero_area img {
    width: 100%;
  }
  .list_nav ul.cate_nav li {
    float: left;
    width: 30%;
    margin-bottom: 20px;
    margin-right: 5%;
    text-align: center;
    list-style: none;
  }
  .list_nav ul.cate_nav li img {
    width: 60%;
  }
  .list_nav ul.cate_nav li:nth-child(3n) {
    margin-right: 0;
  }
  .list_nav ul.cate_nav li .name {
    margin-top: 10px;
  }
}

/*float_bnr*/
#float_bnr {
  position: fixed;
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
  padding: 10px;
  width: 100%;
  z-index: 99999;
}

#float_bnr .close_btn {
  display: inline-block;
  margin-left: auto;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  color: white;
  text-align: center;
  background: black;
  cursor: pointer;
  position: absolute;
  right: -7px;
  top: -7px;
}

#float_bnr .close_btn a {
  color: #fff;
}

#float_bnr .bnr {
  width: 100%;
  margin: 0 auto;
  position: relative;
}

#float_bnr .bnr img {
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .ec-blockTopBtn {
    bottom: 20px;
  }
  #float_bnr {
    position: fixed;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    padding: 10px 0;
    width: 100%;
    z-index: 99999;
  }
  #float_bnr .bnr {
    width: 600px;
    margin: 0 auto;
    position: relative;
  }
  #float_bnr .bnr img {
    width: auto;
  }
}

/*other*/
.ec-borderedDefs {
  border-top: 1px solid #E2DCD3;
}

.ec-borderedDefs dl {
  border-bottom: 1px solid #E2DCD3;
  padding: 15px 0;
}

@media only screen and (min-width: 768px) {
  .mypage .ec-mypageRole {
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.4;
    width: 100%;
    max-width: 1130px;
  }
  .mypage .ec-mypageRole .ec-pageHeader h1 {
    color: #484745;
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 15px;
    padding: 20px 0 10px;
    border: 0;
  }
}

/*shopping*/
.ec-totalBox {
  background: #fff;
  border: 1px solid #999999;
}

.ec-totalBox .ec-totalBox__taxRate {
  font-size: 12px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-bottom: 8px;
  font-size: 12px;
}

.ec-totalBox .ec-totalBox__taxRate dt:before {
  content: "[ ";
}

.ec-totalBox .ec-totalBox__taxRate dd:after {
  content: " ]";
}

.ec-totalBox .ec-totalBox__taxRate dt {
  font-weight: normal;
  text-align: left;
  margin-right: 8px;
}

.ec-totalBox .ec-totalBox__paymentTotal {
  padding: 8px 0;
  text-align: right;
  font-size: 14px;
  font-weight: bold;
}

.ec-totalBox .ec-totalBox__total span {
  color: #484745;
  border: none;
}

.ec-totalBox .ec-totalBox__pointBlock {
  background-color: #fff;
  padding: 15px 15px 5px 15px;
  margin-bottom: 10px;
  border: 1px solid #999999;
}

.ec-totalBox .ec-totalBox__price {
  font-size: 24px;
}

.ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav li a.active:after {
  content: "\f078";
}

/*****************************************************************************
共通
*****************************************************************************/
.ec-rectHeading h1, .ec-rectHeading h2, .ec-rectHeading h3,
.ec-rectHeading h4, .ec-rectHeading h5, .ec-rectHeading h6 {
  background: #484745;
  color: #fff;
  padding: 8px 12px;
  font-size: 20px;
  font-weight: bold;
}

.ec-pageHeader-title {
  border-bottom: 3px solid #707070;
  padding: 20px 0;
}

.ec-pageHeader-title h1 {
  text-align: center;
  font-size: 34px;
  border-bottom: 0;
  margin: 0;
  padding: 0;
}

@media only screen and (max-width: 767px), print {
  .ec-pageHeader-title h1 {
    border-top: none;
  }
}

.ec-pageHeader-title p {
  font-size: 18px;
  margin-top: 10px;
}

@media only screen and (max-width: 767px), print {
  .ec-pageHeader-title p {
    text-align: center;
  }
}

.ec-pageHeader-nav {
  margin-top: 20px;
}

.ec-pageHeader-nav ul {
  padding: 0;
  font-size: 0;
  line-height: 0;
  text-align: left;
}

.ec-pageHeader-nav ul li {
  list-style: none;
  display: inline-block;
  width: calc(100% / 4 - 14px);
  margin-right: 18px;
  margin-bottom: 18px;
}

.ec-pageHeader-nav ul li:nth-child(4n) {
  margin-right: 0;
}

@media only screen and (max-width: 767px), print {
  .ec-pageHeader-nav ul li {
    margin-bottom: 10px;
    display: block;
    width: 100%;
  }
}

.ec-pageHeader-nav ul li a {
  text-align: center;
  font-size: 12px;
  padding: 12px 0;
  background: #fff;
  border: 1px solid #484745;
  border-radius: 5px;
  display: block;
  line-height: 1;
}

.ec-pageHeader-nav ul li a span {
  color: #484745;
}

.ec-pageHeader-nav ul li a span i {
  display: block;
  font-size: 14px;
  margin-top: 8px;
}

.ec-pageHeader-nav02 {
  text-align: left;
  margin-top: 20px;
}

.ec-pageHeader-nav02 .ec-pageHeader-nav_title {
  font-size: 24px;
  margin-bottom: 28px;
  margin-top: 30px;
}

.ec-pageHeader-nav02 .ec-pageHeader-nav_title span {
  vertical-align: baseline;
  font-size: 14px;
  margin-left: 20px;
}

.ec-pageHeader-nav02 .ec-pageHeader-nav_txt {
  font-size: 14px;
  color: #FF0000;
  line-height: 2;
  margin-bottom: 30px;
  font-weight: 500;
}

.ec-pageHeader-nav02 ul {
  padding: 0;
  font-size: 0;
  line-height: 0;
  text-align: left;
}

.ec-pageHeader-nav02 ul li {
  list-style: none;
  display: inline-block;
  width: calc(100% / 5 - 15px);
  margin-right: 18px;
  margin-bottom: 18px;
}

.ec-pageHeader-nav02 ul li:nth-child(5n) {
  margin-right: 0;
}

@media only screen and (max-width: 767px), print {
  .ec-pageHeader-nav02 ul li {
    margin-bottom: 10px;
    display: block;
    width: 100%;
  }
}

.ec-pageHeader-nav02 ul li a {
  font-size: 14px;
  padding: 14px 20px;
  background: #3B4043;
  border-radius: 5px;
  display: block;
  line-height: 1;
}

.ec-pageHeader-nav02 ul li a span {
  color: #fff;
}

.ec-pageHeader-nav02 ul li a span:before {
  font-family: "Font Awesome 5 Free";
  content: "\f13a";
  font-size: 14px;
  margin-right: 20px;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}

.ec-pageHeader-content-link {
  max-width: 800px;
  margin: 90px auto;
  text-align: center;
  background: #fff;
  border: 1px solid #484745;
  border-radius: 10px;
  padding: 35px 0;
}

@media only screen and (max-width: 767px), print {
  .ec-pageHeader-content-link {
    width: 100%;
    padding: 35px;
  }
}

.ec-pageHeader-content-link .content-link__wrap p {
  font-size: 16px;
  color: #484745;
}

.ec-pageHeader-content-link .content-link__wrap .content-link__btn {
  margin-top: 32px;
}

.ec-pageHeader-content-link .content-link__wrap .content-link__btn a {
  display: block;
  max-width: 430px;
  padding: 12px 0;
  margin: 0 auto;
  text-align: center;
  background: #fff;
  border: 1px solid #484745;
  color: #484745;
  border-radius: 30px;
}

@media only screen and (max-width: 767px), print {
  .ec-pageHeader-content-link .content-link__wrap .content-link__btn a {
    width: 100%;
  }
}

.ec-sub-page-Grid .ec-sub-page-Grid__cell {
  line-height: 2;
  padding-bottom: 100px;
  border-bottom: 3px solid #3B4043;
}

@media only screen and (max-width: 767px), print {
  .ec-sub-page-Grid .ec-sub-page-Grid__cell {
    padding-bottom: 50px;
  }
}

.btn_a {
  margin: 50px 0;
}

.btn_a a, .btn_a button {
  border-radius: 30px;
  display: block;
  background: #3B4043;
  color: #fff !important;
  padding: 12px 0;
  text-align: center;
  font-size: 18px;
  width: 430px;
  margin: 0 auto;
}

@media only screen and (max-width: 767px), print {
  .btn_a a, .btn_a button {
    width: 100%;
  }
}

.btn_b {
  margin: 50px 0;
}

.btn_b a, .btn_b button {
  border-radius: 30px;
  display: block;
  background: #fff;
  color: #3B4043;
  border: 1px solid #3B4043;
  padding: 12px 0;
  text-align: center;
  font-size: 18px;
  width: 430px;
  margin: 0 auto;
}

@media only screen and (max-width: 767px), print {
  .btn_b a, .btn_b button {
    width: 100%;
  }
}

.btn_c {
  margin: 50px 0;
}

.btn_c a, .btn_c button {
  border-radius: 30px;
  display: block;
  background: #fff;
  color: #3B4043;
  border: 1px solid #DE5D50;
  padding: 12px 0;
  text-align: center;
  font-size: 18px;
  width: 430px;
  margin: 0 auto;
}

@media only screen and (max-width: 767px), print {
  .btn_c a, .btn_c button {
    width: 100%;
  }
}

#page_product_list .ec-blockBtn--cancel {
  color: #fff !important;
}

/*****************************************************************************
商品一覧絞り込み
*****************************************************************************/
.dropdown-clear {
  padding: 0.5rem;
  font-size: 13px;
  border-width: 0;
  border-radius: 0;
  margin: 20px 20px 0 10px;
  background-color: transparent;
  border-bottom: 2px solid #f8c612;
}

.dropdown-selected-container-item {
  display: inline-block;
}

.dropdown-selected-container-item span {
  display: inline-block;
  font-size: small;
  background-color: transparent;
  margin: 0;
  padding: 0;
}

.dropdown-selected-container-item span a {
  display: inline-block;
  padding: 6px 42px 6px 16px;
  position: relative;
  border-radius: 30px;
  margin: 20px 20px 10px 0;
  background-color: #ebebeb;
  font-size: 13px;
}

.dropdown-selected-container-item .dropdown-selected-closebtn {
  position: absolute;
  padding: 0;
  top: 0;
  right: 0;
  background-color: #d2d2d2;
  color: #d2d2d2;
  width: 30px;
  height: 30px;
  border-radius: 20px;
  text-align: center;
}

.dropdown-selected-container-item .dropdown-selected-closebtn::before, .dropdown-selected-container-item .dropdown-selected-closebtn::after {
  position: absolute;
  top: 48%;
  left: 27%;
  width: 15px;
  height: 2px;
  background-color: #333;
  content: "";
}

.dropdown-selected-container-item .dropdown-selected-closebtn::before {
  transform: rotate(45deg);
}

.dropdown-selected-container-item .dropdown-selected-closebtn::after {
  transform: rotate(-45deg);
}

@media only screen and (max-width: 767px), print {
  .dropdown-clear, .dropdown-selected-container-item span {
    margin-bottom: 10px;
  }
}

.filter-dropdown {
  padding: 1rem;
  width: 170px;
  color: #484745;
  border: 1px solid #484745;
  background: none;
}

@media only screen and (max-width: 767px), print {
  .filter-dropdown {
    width: 90%;
    margin-bottom: 10px;
  }
}

.filter-dropdown__active {
  background: none;
  color: #48382b;
  border: 1px solid #48382b;
}

.filter-dropdown:disabled {
  background: none;
}

.protip-container {
  background-color: #fff !important;
  border: #48382b solid 1px !important;
  color: #48382b !important;
}

.protip-arrow {
  border-bottom-color: #48382b !important;
}

.dropdown-container ul {
  padding: 0;
  margin-top: 10px;
}

.dropdown-container li {
  list-style: none !important;
  padding: 5px;
}

.dropdown-container li label {
  margin-left: 10px;
  font-weight: normal !important;
}

a#filter-dropdown-anchor {
  display: block;
  padding-top: 70px;
  margin-top: -70px;
}

@media only screen and (max-width: 767px), print {
  .filter-dropdown-container {
    text-align: center;
  }
  .dropdown-container ul {
    width: 90%;
  }
  .dropdown-selected-container {
    margin-left: 20px;
  }
  .dropdown-clear, .dropdown-selected-container-item span {
    margin-bottom: 10px;
  }
}

/*****************************************************************************
ご利用ガイド
*****************************************************************************/
.guide_col {
  margin-top: 100px;
}

@media only screen and (max-width: 767px), print {
  .guide_col {
    margin-top: 50px;
  }
}

.guide_col .guide_col__title {
  font-size: 18px;
  font-weight: bold;
  padding: 10px 0;
  border-bottom: 7px solid #3B4043;
  line-height: 1;
}

.guide_col .guide__cell {
  margin-top: 10px;
  font-size: 16px;
  margin-bottom: 4rem;
}

.guide_col .guide__cell .guide_col__title2 {
  font-size: 16px;
  font-weight: bold;
  padding: 10px;
  border-left: 5px solid #3B4043;
  line-height: 1;
}

.guide_col .guide__cell h3 {
  font-size: 16px;
  font-weight: bold;
}

.guide_col .guide__cell p {
  line-height: 2;
}

.guide_col .guide__cell a {
  text-decoration: underline;
}

.guide_col .guide__cell a:hover {
  text-decoration: none;
}

.guide_col .guide__cell h4 {
  margin-top: 40px;
  font-size: 16px;
  font-weight: bold;
}

.guide_col .guide__cell .guide__tbl {
  border-collapse: collapse;
  margin-top: 10px;
  margin-bottom: 4rem;
}

.guide_col .guide__cell .guide__tbl th, .guide_col .guide__cell .guide__tbl td {
  padding: 10px;
  border: 1px solid #3B4043;
  font-size: 14px;
  background: #fff;
}

.guide_col .guide__cell .guide__tbl tbody th {
  font-weight: normal;
}

.guide_col .guide__cell .guide_col__img {
  background: #707F89;
  line-height: 0;
  text-align: center;
  padding: 30px 0;
  margin: 30px 0;
}

@media only screen and (max-width: 767px), print {
  .guide_col .guide__cell .guide_col__img {
    padding: 20px;
  }
}

.guide_col .guide__cell .guide_col__img img {
  width: auto;
}

.guide_col .guide__cell .guide__cell_box {
  margin-bottom: 40px;
}

.guide_col .guide__cell .guide__cell_box .guide__scroll_cell {
  height: 300px;
  overflow: scroll;
  padding: 20px;
  background: #fff;
  border: 1px solid #999;
}

.guide_col .guide__cell .guide__cell_box .guide__scroll_cell h4 {
  margin: 0;
}

.guide_col .guide__cell .guide__cell_box .guide__scroll_cell .guide_col__txt:last-child {
  margin-bottom: 0;
}

.guide_col .guide__info {
  padding: 20px;
  border: 1px solid #999;
  background: #fff;
  margin: 20px 0;
}

.guide_col .guide_col__txt {
  margin-top: 10px;
  font-size: 16px;
  margin-bottom: 4rem;
}

.guide_col .guide_col__txt a {
  text-decoration: underline;
}

.guide_col .guide_col__txt a:hover {
  text-decoration: none;
}

/*****************************************************************************
よくあるご質問
*****************************************************************************/
.faq_col {
  margin-top: 100px;
}

@media only screen and (max-width: 767px), print {
  .faq_col {
    margin-top: 50px;
  }
}

.faq_col .faq_col__title {
  font-size: 18px;
  font-weight: bold;
  padding: 10px 0;
  border-bottom: 7px solid #3B4043;
  line-height: 1;
}

.faq_col .faq_col__txt {
  margin-top: 10px;
  font-size: 16px;
  margin-bottom: 4rem;
}

.faq_col .faq_col__txt:last-child {
  margin-bottom: 0;
}

.faq_col .faq_col__txt a {
  text-decoration: underline;
}

.faq_col .faq_col__txt a:hover {
  text-decoration: none;
}

.faq_col .faq-check {
  display: none;
}

.faq_col .faq-label {
  background: #fff;
  color: #484745;
  border: 1px solid #484745;
  display: block;
  padding: 10px 40px 10px 10px;
  position: relative;
  margin-top: 10px;
  font-size: 16px;
  margin-bottom: 0;
}

.faq_col .faq-label:after {
  background: #fff;
  box-sizing: border-box;
  content: '\f067';
  color: #484745;
  display: block;
  font-family: "Font Awesome 5 Free";
  height: 52px;
  padding: 10px 20px;
  position: absolute;
  right: 0;
  top: 0px;
}

.faq_col .faq-content {
  border: 1px solid #484745;
  display: block;
  height: 0;
  opacity: 0;
  padding: 0 10px;
  transition: .5s;
  visibility: hidden;
}

.faq_col .faq-content a {
  text-decoration: underline;
}

.faq_col .faq-content a:hover {
  text-decoration: none;
}

.faq_col .faq-check:checked + .faq-label:after {
  content: '\f068';
}

.faq_col .faq-check:checked + .faq-label + .faq-content {
  height: auto;
  opacity: 1;
  padding: 10px;
  visibility: visible;
}

.faq_col .faq_col__title2 {
  font-size: 16px;
  font-weight: bold;
  padding: 10px;
  border-left: 5px solid #3B4043;
  line-height: 1;
}

.faq_col .faq_col__txt_sub {
  font-size: 16px;
  font-weight: bold;
}

.faq_col .faq_col__tbl {
  border-collapse: collapse;
  margin-top: 10px;
  margin-bottom: 4rem;
}

.faq_col .faq_col__tbl th, .faq_col .faq_col__tbl td {
  padding: 10px;
  border: 1px solid #3B4043;
  font-size: 14px;
}

.faq_col .faq_col__tbl tbody th {
  font-weight: normal;
}

/*****************************************************************************
会社情報
*****************************************************************************/
.company_col {
  margin-top: 100px;
}

@media only screen and (max-width: 767px), print {
  .company_col {
    margin-top: 50px;
  }
}

.company_col .dateil_box {
  border-bottom: 1px solid #707070;
  padding: 30px 0;
  margin-bottom: 0;
  display: flex;
  flex-wrap: wrap;
}

@media only screen and (max-width: 767px), print {
  .company_col .dateil_box {
    flex-wrap: nowrap;
    display: block;
  }
}

.company_col .dateil_box:last-child {
  border-bottom: none;
}

.company_col .dateil_box dt {
  width: 30%;
  padding: 6px 0;
  border-right: 1px solid #707070;
  font-size: 18px;
  font-weight: 500;
}

@media only screen and (max-width: 767px), print {
  .company_col .dateil_box dt {
    width: 100%;
    border: none;
    padding: 0;
  }
}

.company_col .dateil_box dd {
  width: 70%;
  padding: 6px 0 6px 30px;
  font-size: 16px;
  line-height: 2;
}

@media only screen and (max-width: 767px), print {
  .company_col .dateil_box dd {
    width: 100%;
    padding: 0;
    margin-top: 15px;
  }
}

/*****************************************************************************
プライバシーポリシー
*****************************************************************************/
.privacy_col {
  margin-top: 50px;
}

.privacy_col .privacy_col__title {
  font-size: 20px;
  font-weight: bold;
  line-height: 2;
}

.privacy_col .privacy_col__intro {
  text-align: center;
  margin-bottom: 100px;
  margin-top: 100px;
}

.privacy_col .privacy_col__txt {
  margin-top: 20px;
  font-size: 16px;
}

.privacy_col .privacy_col__txt a {
  text-decoration: underline;
  font-weight: bold;
}

.privacy_col .privacy_col__txt a:hover {
  text-decoration: none;
}

.privacy_col .contact_btn {
  margin-top: 50px;
}

.privacy_col .contact_btn a {
  border-radius: 30px;
  display: block;
  background: #3B4043;
  color: #fff !important;
  padding: 12px 0;
  text-align: center;
  font-size: 18px;
  width: 430px;
  margin: 0 auto;
}

@media only screen and (max-width: 767px), print {
  .privacy_col .contact_btn a {
    width: 100%;
  }
}

/*****************************************************************************
特定商取引法に基づく表記
*****************************************************************************/
.compliance_col {
  margin-top: 100px;
}

@media only screen and (max-width: 767px), print {
  .compliance_col {
    margin-top: 50px;
  }
}

.compliance_col .dateil_box {
  border-bottom: 1px solid #707070;
  padding: 30px 0;
  margin-bottom: 0;
  display: table;
  width: 100%;
}

@media only screen and (max-width: 767px), print {
  .compliance_col .dateil_box {
    display: block;
  }
}

.compliance_col .dateil_box:last-child {
  border-bottom: none;
}

.compliance_col .dateil_box dt {
  width: 30%;
  padding: 6px 0;
  border-right: 1px solid #707070;
  font-size: 18px;
  font-weight: 500;
  display: table-cell;
  vertical-align: middle;
}

@media only screen and (max-width: 767px), print {
  .compliance_col .dateil_box dt {
    width: 100%;
    display: block;
    border: none;
    padding: 0;
  }
}

.compliance_col .dateil_box dd {
  width: 70%;
  padding: 6px 0 6px 30px;
  font-size: 16px;
  line-height: 2;
  display: table-cell;
}

@media only screen and (max-width: 767px), print {
  .compliance_col .dateil_box dd {
    width: 100%;
    display: block;
    padding: 0;
    margin-top: 15px;
  }
}

/*****************************************************************************
規約
*****************************************************************************/
.kiyaku_col {
  margin-top: 50px;
}

.kiyaku_col .kiyaku_col__title {
  font-size: 20px;
  font-weight: bold;
  line-height: 2;
}

.kiyaku_col .kiyaku_col__intro {
  text-align: center;
  margin-bottom: 100px;
  margin-top: 100px;
}

.kiyaku_col .kiyaku_col__txt {
  margin-top: 20px;
  font-size: 16px;
}

.kiyaku_col .kiyaku_col__txt a {
  text-decoration: underline;
  font-weight: bold;
}

.kiyaku_col .kiyaku_col__txt a:hover {
  text-decoration: none;
}

.kiyaku_col .kiyaku_col__txt_right {
  text-align: right;
}

.kiyaku_col .kiyaku_col__ol {
  width: auto;
  margin: .3em 0 0 10px;
  counter-reset: number;
  padding-left: 0;
}

.kiyaku_col .kiyaku_col__ol li {
  line-height: 1.4;
  margin: 0 0 3px 1em;
  list-style: decimal;
}

.kiyaku_col .kiyaku_col__ol li ol li {
  line-height: 2;
  position: relative;
  margin: 0 0 3px .5em;
  list-style: none;
}

.kiyaku_col .kiyaku_col__ol li ol li:before {
  counter-increment: number 1;
  position: absolute;
  top: 0;
  left: -1.7em;
  content: "(" counter(number) ")";
}

/*****************************************************************************
販売店舗一覧
*****************************************************************************/
.shop_list_col {
  margin-top: 100px;
}

@media only screen and (max-width: 767px), print {
  .shop_list_col {
    margin-top: 50px;
  }
}

.shop_list_col .faq_col__head {
  background: #3B4043;
  padding: 12px 20px;
  align-items: center;
}

.shop_list_col .faq_col__head .faq_col__title {
  font-size: 16px;
  color: #fff;
  margin: 0;
}

.shop_list_col .faq_col__head .faq_col__nav {
  margin: 0;
  padding: 0;
  font-size: 0;
  margin-left: auto;
}

.shop_list_col .faq_col__head .faq_col__nav li {
  display: inline-block;
  margin-right: 30px;
}

.shop_list_col .faq_col__head .faq_col__nav li a {
  display: block;
  font-size: 14px;
  color: #fff !important;
}

.shop_list_col .faq_col__head .faq_col__nav li a i {
  padding-right: 10px;
}

.shop_list_col .faq_col__sub_title {
  font-size: 16px;
  font-weight: bold;
  padding: 10px 20px;
  border-bottom: 7px solid #3B4043;
  line-height: 1;
  margin-top: 50px;
}

.shop_list_col .shop__tbl {
  width: 100%;
  box-sizing: border-box;
}

.shop_list_col .shop__tbl tr {
  border-bottom: 1px solid #707070;
  font-size: 14px;
}

.shop_list_col .shop__tbl tr th.shop__name {
  font-weight: 500;
  width: 30rem;
}

@media only screen and (max-width: 767px), print {
  .shop_list_col .shop__tbl tr th.shop__name {
    display: block;
    width: 100%;
    margin: 30px 0 15px 0;
  }
}

.shop_list_col .shop__tbl tr th.shop__name span {
  border-left: 6px solid #3B4043;
  padding: 5px 10px;
}

.shop_list_col .shop__tbl tr td {
  padding: 30px 15px;
}

@media only screen and (max-width: 767px), print {
  .shop_list_col .shop__tbl tr td {
    display: block;
    padding: 0;
  }
}

.shop_list_col .shop__tbl tr td.shop__floor {
  text-align: left;
}

@media only screen and (max-width: 767px), print {
  .shop_list_col .shop__tbl tr td.shop__floor {
    margin-bottom: 15px;
  }
}

.shop_list_col .shop__tbl tr td.shop__floor span {
  display: inline-block;
  background: #707F89;
  color: #fff;
  text-align: center;
  padding: 5px 10px;
  white-space: nowrap;
  border-radius: 5px;
  font-size: 12px;
}

@media only screen and (max-width: 767px), print {
  .shop_list_col .shop__tbl tr td.shop__acess {
    margin-bottom: 15px;
  }
}

.shop_list_col .shop__tbl tr td.shop__tel {
  white-space: nowrap;
  text-align: right;
}

@media only screen and (max-width: 767px), print {
  .shop_list_col .shop__tbl tr td.shop__tel {
    text-align: left;
    margin-bottom: 30px;
  }
}

.shop_list_col .shop__link__btn {
  margin-top: 30px;
}

.shop_list_col .shop__link__btn a {
  text-align: center;
  font-size: 18px;
  width: 430px;
  margin: 0 auto;
  display: block;
  padding: 10px 0;
  border-radius: 30px;
  background: #CDD6DD;
}

@media only screen and (max-width: 767px), print {
  .shop_list_col .shop__link__btn a {
    width: 100%;
  }
}

/*****************************************************************************
特集一覧
*****************************************************************************/
.feature_lists {
  margin-top: 100px;
}

@media only screen and (max-width: 767px), print {
  .feature_lists {
    margin-top: 50px;
  }
}

.feature_lists .feature_box {
  width: calc(100% / 4 - 38px);
  margin: 0 50px 50px 0;
  position: relative;
}

@media only screen and (max-width: 767px), print {
  .feature_lists .feature_box {
    width: calc(100% / 2 - 10px);
    margin: 0 20px 20px 0;
  }
  .feature_lists .feature_box:nth-child(2n) {
    margin-right: 0;
  }
}

.feature_lists .feature_box:nth-child(4n) {
  margin-right: 0;
}

.feature_lists .feature_box .feature_img {
  line-height: 0;
}

.feature_lists .feature_box .feature_img img {
  width: 100%;
  height: auto;
}

.feature_lists .feature_box .feature_meta h4 {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 5px;
  padding-top: 5px;
  line-height: 2;
}

.feature_lists .feature_box .feature_meta p {
  font-size: 14px;
  line-height: 2;
}

.feature_lists .feature_box a {
  position: absolute;
  height: 100%;
  width: 100%;
  display: block;
  top: 0;
}

.feature_lists .feature_box a:hover {
  opacity: 0.3;
  zoom: 1;
  background: #fff;
}

/*****************************************************************************
404ページ
*****************************************************************************/
#error_page {
  text-align: center;
  margin: 50px auto;
}

#error_page .ec-pageHeader {
  margin: 50px 0;
}

#error_page .ec-grid2 {
  justify-content: center;
}

#error_page p {
  font-weight: normal;
}

#error_page h1.error_page__ttl {
  font-size: 52px;
  font-weight: bold;
  letter-spacing: 0.035em;
  margin-bottom: 0;
}

@media only screen and (max-width: 767px), print {
  #error_page h1.error_page__ttl {
    font-size: 34px;
  }
}

#error_page h2.error_page__txt {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 72px;
}

@media only screen and (max-width: 767px), print {
  #error_page h2.error_page__txt {
    margin-bottom: 20px;
  }
}

#error_page p {
  font-size: 18px;
  margin-bottom: 50px;
}

@media only screen and (max-width: 767px), print {
  #error_page p {
    text-align: left;
    font-size: 15px;
    margin-bottom: 30px;
  }
}

/**********************************
基本の色
**********************************/
/* カスタマイズ用CSS */
body {
  background: #fff;
  color: #484745;
}

/**********************************
* TOPPAGE
**********************************/
#page_homepage .ec-layoutRole__contents .ec-role {
  padding: 80px 0;
  margin: 0 auto;
}

/*重要なお知らせ*/
.ec-impRole .ec-impRole__newsItem {
  border-bottom: 1px solid #E2DCD3;
  font-size: 12px;
  line-height: 1.8;
  padding: 24px 0;
}

.ec-impRole .ec-impRole__newsItem:first-child {
  border-top: 1px solid #E2DCD3;
}

.ec-impRole__newsTitle {
  font-weight: bold;
  margin-top: 8px;
}

.ec-impRole__newsDescription {
  margin-top: 8px;
}

@media only screen and (min-width: 768px) {
  .ec-impRole .ec-impRole__newsItem {
    display: flex;
    font-size: 14px;
  }
  .ec-impRole__newsDate {
    min-width: 120px;
  }
  .ec-impRole__newsTitle {
    margin-top: 0;
  }
}

/*NEWS*/
.news_readmore {
  text-align: right;
}

.news_readmore a {
  padding: 20px;
  background: none;
  border: none;
}

.news_readmore a i {
  margin-left: 0.5em;
}

.news_readmore a:hover {
  background: none;
}

.news_readmore a:active {
  background: none;
  box-shadow: none;
}

/*キューリグの魅力*/
.ec-storyRole .ec-secLead {
  max-width: 400px;
  color: #fff;
}

/**おすすめ商品**/
.ec-recommendRole .ec-role {
  border-bottom: 2px solid #e8e8e8;
}

/*ブランドで選ぶ*/
.ec-brandRole .ec-role {
  border-bottom: 2px solid #e8e8e8;
}

.ec-brandRole .ec-itemCard__more {
  text-align: right;
  margin-top: 8px;
}

/*最近チェックしたアイテム*/
/* .ec-chkItemRole .ec-itemCard__title, .ec-recommendRole .ec-itemCard__title {
  font-size: 14px;
  margin-top: 15px;
}
.ec-chkItemRole .ec-itemCard__price, .ec-recommendRole .ec-itemCard__price {
  font-size: 13px;
  margin-top: 6px;
} */
/*カテゴリーで選ぶ*/
.ec-categoryRole {
  padding: 0;
}

.ec-categoryRole .ec-role {
  border-bottom: 2px solid #e8e8e8;
}

.ec-categoryRole .ec-itemCard__img {
  position: relative;
}

.ec-categoryRole .ec-itemCard__img:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.35);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.ec-categoryRole .ec-itemCard__title {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  transform: translateX(-50%) translateY(-50%);
  color: #fff;
  font-size: 30px;
  display: block;
  width: 100%;
  text-align: center;
}

.ec-categoryRole .ec-itemCard__more {
  position: absolute;
  bottom: 10px;
  right: 10px;
  z-index: 2;
  color: #fff;
}

@media only screen and (max-width: 767px) {
  .ec-categoryRole .ec-itemCard__title {
    font-size: 14px;
  }
  .ec-categoryRole .ec-itemCard__more {
    bottom: 1px;
    right: 8px;
    font-size: 10px;
  }
}

/*特集で選ぶ*/
.ec-featureRole .ec-role {
  border-bottom: 2px solid #e8e8e8;
}

.ec-featureRole .ec-itemCard__title {
  font-size: 18px;
}

.ec-featureRole .ec-itemCard__text {
  font-size: 14px;
  margin-top: 10px;
  line-height: 1.6;
}

@media only screen and (max-width: 767px) {
  .ec-featureRole .ec-itemCard .ec-grid__cell {
    width: 100%;
  }
  .ec-grid2__cell {
    width: 100% !important;
    display: block;
  }
}

.ec-itemCard {
  position: relative;
  box-sizing: border-box;
}

.brand-grid {
  position: relative;
  overflow: hidden;
  /*以下お好み*/
  /*高さの初期値*/
  height: 500px;
}

.brand-grid::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  content: "";
  /*以下お好み グラデーションの色と高さ 高さはreadmoreのheight以下にすること*/
  height: 100%;
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0.8) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0.8) 50%, #fff 100%);
}

/* 続きを読むボタン */
.readmore-label {
  bottom: 5px;
  position: absolute;
  bottom: 5px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  z-index: 2;
  width: 320px;
  margin: 0 auto;
  display: inline-block;
  border-color: #fff;
  background-color: #fff;
  border: 1px solid #484745;
  border-radius: 100px;
  padding: 12px 0;
  position: relative;
  text-align: center;
  cursor: pointer;
}

.readmore-label:before {
  content: 'VIEW MORE';
}

.readmore-check {
  display: none;
}

.readmore-check:checked ~ .readmore-label {
  cursor: pointer;
  width: 320px;
  margin: 30px auto 0 auto;
  display: inline-block;
  /* 「続きを読む」を押した後、元に戻す必要がない場合は、上のオプションを消してこの1行だけにする */
  /* display: none; */
}

.readmore-check:checked ~ .readmore-label:before {
  content: 'CLOSE';
}

.readmore-check:checked ~ .ec-grid {
  height: auto;
}

.readmore-check:checked ~ .ec-grid::before {
  display: none;
}

/**********************************
* 特集から選ぶ
**********************************/
.ec-itemCard__content {
  margin-bottom: 40px;
}

.ec-itemCard__content .ec-itemCard__img {
  line-height: 1;
  width: 30%;
}

.ec-itemCard__content .ec-itemCard__img img {
  width: 100%;
  height: auto;
}

.ec-itemCard__content .ec-itemCard__intro {
  width: calc(100% - 30% - 20px);
  margin-left: 20px;
}

/*チェック時にボタンを非表示*/
/*チェック時に高さを自動に戻す*/
/*チェック時グラデーション等を削除*/
/**********************************
* Heading & Typo
**********************************/
.ec-secHeading .ec-secHeading__en {
  font-weight: bold;
  font-size: 28px;
}

.ec-secHeading .ec-secHeading__ja {
  margin-top: 8px;
}

.ec-storyRole .ec-secHeading .ec-secHeading__en, .ec-storyRole .ec-secHeading .ec-secHeading__ja {
  color: #fff;
}

.ec-storyRole .ec-secHeading .ec-secHeading__en:before, .ec-storyRole .ec-secHeading .ec-secHeading__en:after {
  background-color: #fff;
}

.breadcrumb {
  width: 100%;
  max-width: 1130px;
  margin: 0 auto;
  background-color: transparent !important;
}

@media only screen and (max-width: 767px) {
  .ec-secHeading__ja {
    font-size: 18px;
  }
  .ec-secHeading__en {
    display: none;
  }
}

@media only screen and (min-width: 768px) {
  .ec-newItemRole .ec-newItemRole__listItem:nth-child(5):last-child {
    margin-right: 0;
  }
}

.ec-secLead {
  text-align: center;
  margin: 20px auto 40px;
  font-size: 14px;
}

.ec-required {
  background-color: #DE5D50;
  padding: 3px 8px 2px;
  border-radius: 5px;
  color: #fff;
}

/**********************************
* Other Module
**********************************/
@media only screen and (min-width: 768px) {
  .ec-grid5 .ec-grid5__cell {
    width: 20%;
  }
}

.ec-itemCard {
  overflow: hidden;
}

.ec-itemCard .ec-grid {
  padding: 0 20px;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
}

.ec-itemCard .ec-grid__cell {
  padding: 10px;
}

@media only screen and (max-width: 767px) {
  .ec-itemCard .ec-grid__cell {
    width: calc(100% / 2);
  }
}

.ec-itemCard__img {
  margin: 0;
  position: relative;
}

.ec-itemCard__tag {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 13px;
  color: #fff;
  background-color: #DD3654;
  border-radius: 100px;
  display: inline-block;
  padding: 0 10px;
}

.ec-itemCard__more {
  font-size: 13px;
}

.ec-itemCard__more i {
  font-size: 10px;
  margin-left: 5px;
}

.ec-moreBtn {
  margin-top: 40px;
}

.ec-moreBtn a {
  width: 320px;
  margin: 0 auto;
  display: block;
  border-radius: 100px;
  padding: 12px 0;
  position: relative;
  text-align: center;
}

.ec-moreBtn a .fa {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
}

.ec-moreBtn.bg-white a {
  border-color: #fff;
  background-color: #fff;
  border: 1px solid #484745;
}

@media only screen and (max-width: 767px) {
  .ec-moreBtn a {
    width: 100%;
    max-width: 320px;
  }
}

/**********************************
* Project
**********************************/
/*おすすめレシピ*/
/*会員登録*/
.complete_backhome .ec-blockBtn--cancel {
  max-width: 429px;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 3px 0;
  border-radius: 30px;
  font-size: 18px;
}

.ec-blueBtn--cancel {
  display: inline-block;
  width: 100%;
  max-width: 301px;
  background-color: #004BB1;
  color: #fff !important;
  font-size: 18px;
  margin-top: 30px;
  padding: 7px 0;
}

.ec-select select, .ec-birth select {
  background-color: #fff;
}

.text-danger {
  margin-top: 5px;
}

#entry_plg_corp_id, #entry_plg_corp_tel, #entry_plg_buyer_cd, #entry_plg_portia_no {
  display: block;
  width: 100%;
  height: 40px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  -webkit-appearance: none;
  box-shadow: none;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  border-radius: 3px;
}

#top_box__plg_portia dd div:not(:last-of-type) {
  margin-bottom: 5px;
}

#page_entry .corner_frame.ec-off1Grid__cell {
  padding-top: 30px;
}

.ec-registerRole__actions .ec-checkbox {
  text-align: center;
  margin-bottom: 20px;
}

.ec-registerRole__actions .ec-checkbox input {
  margin-right: 1rem;
}

.ec-registerRole__actions .ec-checkbox a {
  color: #484745 !important;
  text-decoration: underline;
}

.ec-registerRole__actions .ec-checkbox a:hover {
  text-decoration: none;
}

.ec-zipInputHelp span {
  vertical-align: middle;
}

.add_newaddress {
  width: 100%;
  text-align: center;
  display: block;
  border: 1px dashed #ccc;
  padding: 15px 0;
  font-weight: bold;
  margin-bottom: 30px;
}

.add_newaddress .icon_plus {
  display: block;
  font-weight: bold;
  font-size: 35px;
}

/*マイページナビ*/
.stamp_card {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background: #EDE6DF;
  padding: 50px 50px 20px;
}

.stampcard_item {
  width: 30%;
  background-color: #fff;
  border: 1px solid #ccc;
  margin-bottom: 30px;
  padding-top: 25.6%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.stampcard_link {
  text-align: center;
}

.stampcard_link a {
  max-width: 400px;
  border-radius: 5px;
}

#page_ipl_periodic_purchase_history .ec-role {
  text-align: center;
  margin-top: 50px;
}

@media only screen and (max-width: 767px) {
  .stampcard_item {
    width: 45%;
  }
}

.benefits_items__wrapper {
  display: flex;
}

.benefits_items__wrapper .benefits_item {
  border: 1px solid #ccc;
  padding: 20px;
  text-align: center;
}

.benefits_items__wrapper .benefits_item:not(:last-of-type) {
  margin-right: 30px;
}

.benefits_items__wrapper .benefits_item h3 {
  font-weight: bold;
  margin: 20px 0;
  font-size: 18px;
}

.benefits_items__wrapper .benefits_item p {
  margin-bottom: 10px;
}

.benefits_items__wrapper .benefits_item .red {
  color: #C1463C;
}

.ec-favoriteRole__header h2 {
  font-size: 18px;
  font-weight: bold;
}

@media only screen and (min-width: 768px) {
  .ec-pageHeader {
    font-weight: bold;
    text-align: center;
  }
  .ec-pageHeader .ec-secHeading__ja {
    font-size: 34px;
    margin-bottom: 5px;
    display: block;
  }
  .ec-pageHeader .ec-secHeading__en {
    font-size: 18px;
  }
  .ec-favoriteRole__header h2 {
    font-size: 20px;
    font-weight: bold;
  }
  .ec-mypageRole .ec-welcomeMsg {
    display: flex;
  }
  .ec-mypageRole .ec-welcomeMsg p:first-child {
    margin-right: auto;
  }
  .ec-navlistRole .ec-navlistRole__navlist {
    margin-bottom: 50px;
  }
  .ec-definitions dt, .ec-definitions--soft dt {
    width: 9em;
  }
  .ec-mypageRole .ec-definitions:last-of-type {
    margin-bottom: 0;
  }
  .ec-definitions dd::before {
    content: "：";
    display: inline-block;
  }
  #page_ipl_periodic_purchase_cycle .calendar {
    margin-bottom: 30px;
  }
  #page_ipl_periodic_purchase_cycle .ec-RegisterRole__actions {
    margin-top: 50px;
  }
  #page_ipl_periodic_purchase_cycle .ec-layoutRole .ec-layoutRole__contents {
    max-width: 1150px;
  }
  #page_ipl_periodic_purchase_suspend .ec-layoutRole .ec-layoutRole__contents, #page_ipl_periodic_purchase_skip .ec-layoutRole .ec-layoutRole__contents, .other_page .ec-layoutRole .ec-layoutRole__contents {
    max-width: 1150px;
  }
  #checkShippingDateDiv .ec-inlineBtn {
    max-width: 429px;
  }
}

@media only screen and (max-width: 767px) {
  .ec-mypageRole .ec-welcomeMsg p {
    margin: 5px 0;
  }
  .benefits_items__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .benefits_items__wrapper .benefits_item:not(:last-of-type) {
    margin-right: 0;
    margin-bottom: 30px;
  }
}

/*お気に入り*/
.ec-favoriteRole .ec-favoriteRole__item .ec-closeBtn--circle {
  right: 2px;
  top: 2px;
  z-index: 1;
}

/*購入履歴*/
.ec-historyRole .ec-historyRole__link {
  text-align: right;
}

.ec-historyRole .ec-imageGrid__img {
  width: 251px;
}

@media only screen and (max-width: 767px) {
  .ec-historyRole .ec-historyRole__contents {
    padding: 24px 0;
  }
  .ec-historyRole__detail .ec-imageGrid:last-of-type {
    padding-bottom: 55px;
  }
  .ec-historyRole .ec-imageGrid__img {
    width: 170px;
  }
  .ec-historyRole .ec-historyRole__header {
    padding-bottom: calc(24px - 5px);
  }
}

.ec-inlineBtn {
  width: 100%;
  max-width: 200px;
  background-color: #fff;
  border: 1px solid #999;
  border-radius: 30px;
  color: #484745 !important;
  transition: opacity 0.3s;
}

.ec-inlineBtn:hover, .ec-inlineBtn:focus {
  background-color: #999;
  opacity: 0.7;
  background: #eee;
}

.ec-historyRole__contents {
  position: relative;
}

.ec-historyRole__link {
  position: absolute;
  width: 100%;
  bottom: 0;
  text-align: right;
}

.ec-historyListHeader__action {
  position: absolute;
  width: 100%;
  bottom: 0;
  text-align: right;
  margin: 16px 0;
}

@media only screen and (min-width: 768px) {
  .ec-historyRole .ec-historyRole__link {
    align-self: flex-end;
    padding-left: 20px;
  }
}

@media only screen and (max-width: 767px) {
  .ec-historyListHeader__action {
    text-align: center;
    margin: 16px 0 24px;
  }
}

/*お届け先一覧*/
@media only screen and (max-width: 767px) {
  .ec-addressRole .ec-addressRole__actions {
    margin-top: 12px;
  }
}

/*退会手続き*/
.ec-withdrawRole .ec-blockBtn--cancel {
  border: none;
  border-radius: 30px;
  transition: opacity 0.3s;
  margin-top: 32px;
  color: #fff !important;
}

.ec-withdrawRole .ec-blockBtn--cancel:hover {
  border: none;
  opacity: 0.7;
}

/* ここから お問い合わせ(入力ページ) のcss */
.ec-contactRole p.ec-para-normal.text_center {
  text-align: center;
  line-height: 1.875;
}

.ec-contactRole .ec-grid2__cell:nth-of-type(1) {
  margin: 50px auto 50px;
  width: 100%;
}

.ec-contactRole .ec-grid2__cell:nth-of-type(1) a {
  color: #ffffff !important;
}

.ec-contactRole .ec-grid2__cell button {
  border-radius: 50px;
  font-size: 18px;
  font-weight: normal;
  line-height: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  background-color: #3B4043;
}

.ec-contactRole .ec_contact_flex {
  display: block;
}

.ec-contactRole .ec_contact_flex_item {
  background-color: #3B4043;
  height: 100%;
  width: 100%;
  margin: 0 auto;
  padding: 20px;
}

.ec-contactRole .ec_contact_flex_item a {
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.ec-contactRole .ec_contact_flex a:first-of-type {
  margin-right: auto;
  margin-bottom: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ec-contactRole .ec_contact_flex_item {
  height: 287px;
  width: 100%;
  margin-right: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ec-contactRole .ec_contact_flex_item:hover {
  transition-duration: 0.3s;
  opacity: 0.7;
}

.ec-contactRole .ec_contact_flex_item p {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.2;
  color: #ffffff;
  text-align: center;
}

.ec-contactRole .ec_contact_flex_item span {
  font-size: 18px;
  font-weight: normal;
  line-height: 1.8;
  color: #ffffff;
  display: block;
}

.ec-contactRole .ec-blockBtn--cancel:hover {
  transition-duration: 0.3s;
  opacity: 0.7;
}

@media only screen and (min-width: 768px) {
  .ec-contactRole .ec-grid2__cell:nth-of-type(1) {
    margin: 50px auto 80px;
    width: 429px;
  }
  .ec-contactRole .ec_contact_flex {
    display: flex;
  }
  .ec-contactRole .ec_contact_flex a {
    margin-bottom: 0;
    height: 287px;
    width: 430px;
  }
  .ec-contactRole .ec_contact_flex a:first-of-type {
    margin-right: 50px;
    margin-bottom: 0;
  }
  .ec-contactRole .ec_contact_flex_item p {
    font-size: 30px;
  }
  .ec-contactRole .ec_contact_flex_item span {
    font-size: 20px;
  }
}

/* ここまで お問い合わせ(入力ページ) のcss */
/* ここから パスワード再発行(完了ページ) のcss */
.ec-forgetCompleteRole {
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
  font-size: 16px;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 1130px;
}

.ec-forgetCompleteRole .ec-registerRole__actions .ec-off2Grid .ec-off2Grid__cell {
  width: 100%;
  position: relative;
  min-height: 1px;
  margin-left: 0%;
}

.ec-forgetCompleteRole .ec-registerRole__actions .ec-off2Grid .ec-off2Grid__cell .ec-blockBtn--cancel.ec-inlineBtn {
  max-width: none;
  height: 50px;
  border-radius: 50px;
  margin-top: 0;
  letter-spacing: 0.1em;
  font-size: 14px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
}

@media only screen and (min-width: 768px) {
  .ec-forgetCompleteRole .ec-registerRole__actions .ec-off2Grid .ec-off2Grid__cell .ec-blockBtn--cancel.ec-inlineBtn {
    font-size: 16px;
    margin: 0 auto;
    width: 429px;
    margin-top: 0;
  }
}

/* ここまで パスワード再発行(完了ページ) のcss */
/* ここから MYページ/ログイン のcss */
/*#login .btn {
    display: none;
}*/
#login .ec-checkbox .form-check {
  display: flex;
  margin: 30px auto 20px;
}

#login .ec-login .ec-login__link:nth-of-type(1) {
  margin: 0 auto;
  width: 100%;
  text-decoration: underline;
}

#login .ec-login .ec-login__actions:nth-of-type(1) {
  padding-bottom: 15px;
}

#login .ec-login__inner div {
  width: 100%;
  height: 35px;
  padding: 15px;
  display: flex;
  align-items: center;
  justify-content: left;
  color: #484745;
  font-size: 18px;
  font-weight: bold;
  line-height: 2;
  border-radius: 5px;
}

/* #login .ec-grid2 .ec-grid2__cell:nth-of-type(4) {
  margin: 0 auto;
}

#login .ec-grid2 .ec-grid2__cell:nth-of-type(5) {
  margin: 0 auto;
  width: 100%;
}

#login .ec-grid2 .ec-grid2__cell:nth-of-type(5) > .ec-login__link {
  margin: 40px auto 0;
  width: 100%;
  text-decoration: none;
  height: 100%;
  display: flex;
  align-items: center;
}

#login .ec-grid2 .ec-grid2__cell:nth-of-type(5) > .ec-login__link .ec-link {
  width: 100%;
  height: 60px;
  line-height: 60px;
  margin: 0 auto;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  color: #fff !important;
  border-radius: 5px;
  background: #de5d50;
}

#login .ec-grid2 .ec-grid2__cell:nth-of-type(5) > .ec-login__link .ec-link:hover {
  background-color: #d33828;
} */

.login_wrapper {
  margin: 0px auto 20px;
  max-width: 400px;
}

.entry_wrapper, .line_login_wrapper {
  margin: 40px auto 16px;
  max-width: 400px;
}

.login_wrapper, .entry_wrapper, .line_login_wrapper {
  width: 100%;
  text-decoration: none;
  height: 100%;
  display: flex;
  align-items: center;
}

.login_link, .entry_link {
  width: 100%;
  height: 60px;
  line-height: 60px;
  margin: 0 auto;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  color: #fff !important;
  border: none;
  border-radius: 5px;
  background: #de5d50;
  box-shadow: none;
}

.login_link:hover, .entry_link:hover {
  background-color: #d33828;
}

.line-login_link {
  position: relative;
  background: #06C755;
  height: 64px;
  border-radius: 12px;
  text-decoration: none !important;
  opacity: 1.0 !important;
}
.line-login_link:hover {
  background: #05B34C;
}
.line-login_link:active {
  background: #048B3B;
}
.line-icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 64px !important;
  max-width: 64px !important;
}
.line-border {
  position: absolute;
  top: 0;
  left: 64px;
  background: #000000;
  width: 1px;
  height: 100%;
  opacity: 0.08;
}
.line-login_caption {
  position: absolute;
  top: 23px;
  left: 64px;
  width: calc(100% - 64px);
  line-height: 18px;
  font-size: 18px;
}

#login .ec-grid2 .ec-grid2__cell button.bg_g {
  background-color: #1FB73D;
  border-color: #1FB73D;
}

@media only screen and (min-width: 768px) {
  #login .ec-login {
    margin: 0 16px;
    padding: 30px 0 60px;
    background: none;
  }
  #login .ec-login__inner {
    display: flex;
  }
  #login .ec-login__inner div {
    width: 45%;
    height: 55px;
    margin-right: 40px;
  }
  #login .ec-input input {
    height: 55px;
  }
  #login .ec-grid2 {
    display: inline;
  }
  #login .ec-login .ec-login__link:nth-of-type(1) {
    text-align: center;
  }
  #login .ec-grid2 .ec-grid2__cell:nth-of-type(1),
  #login .ec-grid2 .ec-grid2__cell:nth-of-type(2),
  #login .ec-grid2 .ec-grid2__cell:nth-of-type(3),
  #login .ec-grid2 .ec-grid2__cell:nth-of-type(4),
  #login .ec-grid2 .ec-grid2__cell:nth-of-type(5) {
    margin: 0 auto;
    width: 429px;
  }
  #login .ec-checkbox {
    width: 251px;
    margin: 0 auto;
  }
  #login .ec-checkbox .form-check {
    margin: 30px auto 20px;
  }
}

/* ここまで MYページ/ログイン のcss */
/* ここから 現在のカゴの中 のcss */
.ec-cartRole .ec-off2Grid {
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.ec-cartRole .ec-blockBtn--action.empty {
  margin-top: 50px;
  font-size: 14px;
}

.ec-cartRole .ec-blockBtn--action.empty:hover {
  opacity: 0.7;
}

.ec-cartRole .ec-off2Grid .ec-off2Grid__cell {
  margin: 0;
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .ec-cartRole .ec-blockBtn--action.empty {
    font-size: 16px;
    margin: 0 auto;
    width: 429px;
    margin-top: 50px;
  }
}

/* ここまで 現在のカゴの中 のcss */
/* ここから 商品購入 のcss */
.ec-orderRole.order_procedure .ec-borderedList + p {
  display: none;
}

.ec-orderRole.order_procedure .ec-radio table {
  margin-bottom: 10px;
}

.ec-orderRole.order_procedure .btn-sm {
  width: 100%;
  max-width: 200px;
  /* background-color: #3B4043; */
  /* color: #fff !important; */
  background: #fff;
  color: #484745;
  border: 1px solid #999;
  border-radius: 30px;
  transition: opacity 0.3s;
  /* border-color: transparent; */
  padding: 10px 16px;
  font-size: 14px;
  margin-top: 8px;
}

.ec-orderRole.order_procedure .btn-sm:hover, .ec-orderRole.order_procedure .btn-sm:focus {
  opacity: 0.7;
  background-color: #eee;
}

/* ここまで 商品購入 のcss */
/* ここから 商品購入/お届け先の指定 のcss */
.ec-registerRole.designation_of_delivery_address .ec-addressList__item {
  height: 100%;
  position: relative;
}

.ec-registerRole.designation_of_delivery_address .ec-addressList__remove {
  position: absolute;
  top: 50%;
  left: 10%;
  transform: translate(-50%, -50%);
}

.ec-registerRole.enter_coupon_code #coupon_box__cd > dt {
  padding-top: 0;
}

.ec-registerRole.enter_coupon_code #coupon_box__cd > dt > label {
  display: flex;
  height: 34px;
  align-items: center;
  justify-content: left;
  margin-bottom: 0;
}

/* ここまで 商品購入/お届け先の指定 のcss */
/* ここから 商品購入/クーポン利用 のcss */
/* ここまで 商品購入/クーポン利用 のcss */
/**********************************
* Utility
**********************************/
.bg-img {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.bg-dark {
  background-color: #EDE6DF;
}

.pt0 {
  padding-top: 0 !important;
}

/**********************************
* フォーム
**********************************/
span.form_note {
  display: block;
  font-size: 12px;
}

.personal {
  padding: 15px 0;
}

/**********************************
* ログインフォーム
**********************************/
.ec-login__actions button {
  border-radius: 50px;
  font-size: 18px;
  font-weight: normal;
  line-height: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  color: #484745 !important;
}

/**********************************
* カート
**********************************/
.ec-progress .is-complete .ec-progress__number {
  background: #00a6dd;
}

.ec-progress .is-complete .ec-progress__label {
  color: #00a6dd;
}

.ec-cartHeader {
  background: #484745;
  color: #fff;
}

.ec-cartHeader .ec-cartHeader__label {
  background: #484745;
  color: #fff;
}

/**********************************
* 購入
**********************************/
.ec-orderAccount .ec-orderAccount__account,
.ec-orderDelivery__address {
  line-height: 2;
}

.ec-orderPayment p {
  margin-bottom: 10px;
}

@media only screen and (max-width: 767px), print {
  .ec-orderRole__summary {
    margin-top: 30px;
  }
}

/**********************************
* モーダル
**********************************/
.ec-modal .ec-modal-wrap .ec-modal-box label,
.ec-modal .ec-modal-wrap .ec-modal-box a.ec-inlineBtn--action {
  border-radius: 5px;
  padding: 10px 20px;
}

@media only screen and (max-width: 767px), print {
  .ec-modal .ec-modal-wrap .ec-modal-box label,
  .ec-modal .ec-modal-wrap .ec-modal-box a.ec-inlineBtn--action {
    display: block;
    margin-bottom: 10px;
  }
}



