/*カスタマイズ用CSS */
body {
  font-family: "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, 'Noto Sans JP', 'Meiryo', 'メイリオ', sans-serif;
  line-height: 1.4;
  background-color: #111;
  color: #ddd;
  -webkit-text-size-adjust: 100%;
}
div,p {
    box-sizing: border-box;
}

h1,h2,h3,h4 {
  font-family: "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin: 0;
  padding: 0;
  letter-spacing: 1px;
  font-feature-settings: "palt";
  box-sizing: border-box;
}

.mb8 {margin-bottom: 8px;}
.mb16 {margin-bottom: 16px;}
.mb24 {margin-bottom: 24px;}
.mb32 {margin-bottom: 32px;}
.mb40 {margin-bottom: 40px;}

.no_pc {
  display: none!important;
}
.no_sp {
  display: block!important;
}
.xs_small {
  font-size: 1.2rem;
}
.font_gray {
  color: #ddd;
}
.text_wrapper {
  margin-bottom: 16px;
}

.flex_wrapper {
  display: flex;
}

.border_box {
    border: 1px solid;
    padding: 8px;
    white-space: normal;
}

.acenter {
    text-align: center;
}

@media (max-width: 768px) {
  .no_pc {
    display: block!important;
  }
  .no_sp {
    display: none!important;
  }
  .xs_small {
    display: block;
  }
  .text_wrapper {
    margin-bottom: 14px;
  }

  .flex_wrapper {
    display: block;
  }
}
@media (max-width: 320px) {
  .ec-shelfRole {
    font-size: 15px;
  }
}

.title.main,
.main_title {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.4;
  text-align: center;
  padding-top: 32px;
  margin-bottom: 24px;
}
.title.sub,
.sub_title {
  font-size: 20px;
  font-size: 2rem;
  margin-bottom: 12px;
}
.title.sub span,
.sub_title span {
  color: #ddd;
}
.block_title {
  font-size: 14px;
  font-size: 1.4rem;
  margin: 0 0 8px;
}
.border_bottom {
  padding-bottom: 8px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-bottom: 1px solid #ddd;
  margin-bottom: 16px;
}
a.page_link:after {
  color: #3C3E75;
  font-family: "Font Awesome 5 Free";
  content: ' \f105';
  font-weight: 900;
  margin-left: 4px;
}
.link {
    border-radius: 0!important;
    padding-bottom: 2px!important;
    border-bottom: 1px solid #fff!important;
}
.links {
    padding-bottom: 2px;
    border-bottom: 1px solid #fff;
}
a.links:after {
  color: #fff;
  font-family: "Font Awesome 5 Free";
  content: ' \f105';
  font-weight: 900;
  margin-left: 4px;
}

@media (max-width: 768px) {
  .title.main,
  .main_title {
    font-size: 20px;
    font-size: 2rem;
    text-align: left;
  }
  .title.sub,
  .sub_title {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

/****** Base Layout Setting ********/
.ec-layoutRole {
  background: #111;
  color: #ddd;
}
.ec-headerTitle .ec-headerTitle__title a {
  color: #ddd;
}
.ec-itemNav__nav {
  background: #f2f2f2;
}
.ec-itemNav__nav li a {
  background: transparent;
  padding: 16px 14px;
}

@media (max-width: 768px) {
  .ec-headerNav .ec-headerNav__item {
    text-align: center;
  }
}

/*ヘッダー要素*/
.ec-headerNaviRole {
    padding: 0 10px 20px!important;
}
.ec-layoutRole__header {
  border-top: 6px solid #3C3E75;
}
.ec-headerTitle .copy {
  font-size: 10px;
  font-size: 1rem;
  letter-spacing: 1px;
  color: #ddd;
  margin-bottom: 4px;
}
.ec-headerTitle .ec-headerTitle__title a {
    font-size: 22px;
  margin-bottom: 24px;
}
.ec-headerTitle .header_logo img {
  width: 250px;
  height:auto;
  display: block;
}
@media(max-width:768px) {
  .ec-headerTitle .ec-headerTitle__title {
    margin-bottom: 4px;
  }
  .ec-headerTitle .ec-headerTitle__title a {
    margin-bottom: 0;
  }
  .ec-headerNaviRole {
    padding-top: 0;
  }
  .ec-headerNaviRole .ec-headerNaviRole__right {
    width: 100%;
    padding-right: 15px;
  }
  .ec-cartNavi .ec-cartNavi__icon {
    color: #ddd;
  }
  .ec-headerTitle .header_logo img {
    width: 230px;
  }
  .ec-headerTitle .copy {
    margin-bottom: 0;
  }
}
.ec-headerSearch .ec-headerSearch__category .ec-select.ec-select_search {
  background: #3C3E75;
}
.ec-headerSearch .ec-headerSearch__category .ec-select select {
  padding: 8px 24px 8px 16px;
}
.ec-headerNav__item .ec-headerNav__itemIcon,
.ec-headerNav .ec-headerNav__itemLink {
  color: #ddd;
}
.ec-headerNav__item span.ec-headerNav__itemLink {
  font-size: 12px;
}
.ec-cartNavi {
  margin-left: 8px;
}

@media only screen and (max-width: 768px) {
  .ec-headerNav__item span.ec-headerNav__itemLink {
    display: block;
    font-size: 8px;
    margin: -4px auto 0;
  }
  .ec-cartNavi {
    margin-left: 0;
  }
}

/*ヘッダー下のカテゴリ*/
.ec-itemNav__nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  background-image: url(/shop/html/user_data/assets/img/common/bg_paper.jpg);
}
.ec-itemNav__nav li a {
  font-size: 14px;
  font-size: 1.4rem;
}

/*トップページのスライダー*/
.ec-sliderRole {
    max-width: 100%;
    padding: 0;
}
.ec-sliderRole .slick-slide {
  padding: 0 4px;
}
.ec-sliderRole .slick-dots li button:before {
  background-color: #fff;
}
.item_photo img {
  width: 100%;
}

@media(max-width:768px) {
  .ec-sliderRole {
    margin-top: 0;
    padding: 0;
    overflow: hidden;
  }

  .item_photo img {
    margin-bottom: 8px;
  }
}

/*トップページのスライダー下のインフォメーション*/
.information {
  text-align: center;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 16px 0;
  margin-bottom: 24px;
}
@media(max-width:768px) {
  .information {
    text-align: left;
    padding: 16px 0;
  }
}

/*トップページスライダー下のカテゴリ表示（PCのみ）*/
.ec-categoryNaviRole {
    max-width: 100%;
    margin: 0 auto 24px;
    padding: 0;
}

/*トップページスライダー下のカテゴリ表示（SPのみ）*/
@media(max-width:768px) {
  #item_list .category_container {
    padding-top: 12px;
    color: #222;
    background: #f8f8f8;
    
    background-image: url(/shop/html/user_data/assets/img/common/bg_paper.jpg);
    margin-left: -15px;
    margin-right: -15px;
  }
  #item_list .category_container .main_title {
    font-size: 16px;
    font-size: 1.6rem;
    padding-top: 4px;
    margin-bottom: 10px;
  }
  #item_list .category_container .main_title a {
    color: #222;
  }
  #item_list .category_list {
    padding: 12px 0 8px;
    margin-bottom: 32px;
    border-top: 1px solid #222;
    border-bottom: 1px solid #222;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  #item_list .category_list li {
    margin: 0 6px 6px;
    list-style-type: none;
  }
  #item_list .category_list a {
    padding: 0 8px;
    border-bottom: none;
    height: 25px;
    line-height: 25px;
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 1px;
    font-feature-settings: "palt";
    color: #222;
  }
}
.item_photo img {
  margin-bottom: 16px;
}

/*注目商品*/
.featured_product {
    display: grid;
    grid-template-columns: 24% 24% 24% 24%;
    gap: 16px;
    margin-bottom: 64px;
}
.pickup_item h3 {
  font-size: 16px;
}
.pickup_item .item_comment.text-warning {
  font-weight: bold;
}
#item_list .row {
  margin: 0 -30px 24px;
}

@media (max-width:768px){
    .featured_product {
        grid-template-columns: 48% 48%;
        margin-bottom: 24px;
    }
    #item_list .row {
    margin-bottom: 0;
    }
    #item_list dl {
    min-height: 55px;
    }
    .pickup_item .item_comment.text-warning {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    }
    .pickup_item .item_name {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    }
    .pickup_item .item_price {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    }
}

/*新着情報*/
.news_contents {
  max-width: 1150px;
  float: none;
  margin: 0 auto 32px;
  padding: 24px 16px;
  background: #222222;
  border: 1px solid #ddd;
}
#news_area {
  color: #ddd;
  margin-bottom: 32px;
}
.news_contents:after {
  float: none;
}
#news_area .heading01 {
  padding: 0;
  text-align: left;
}
.newslist {
  border-top: 1px dashed #555555;
}
.newslist dl {
  border-top: 1px dotted #ccc;
}
.newslist dt {
  cursor: pointer;
  padding: 16px;
  position: relative;
}
.newslist dt .angle-circle {
  position: absolute;
  right: 16px;
  top: 14px;
  width: 25px;
  height: 25px;
  display: inline-block;
  border-radius: 50%;
  background: #222;
}
.newslist dd {
  display: none;
  margin: 0 16px 16px;
}

.txt_bnr_area {
  padding: 0 0 16px;
}
.txt_bnr_area img {
  width: 100%;
}

@media only screen and (max-width: 768px) {
  .txt_bnr_area img {
    width: 80%;
  }
}

/*トピック*/
#contents_top .item_comment {
  font-weight: bold;
  margin-bottom: 8px;
}
#contents_top .btn_wrapper {
  width: 160px;
  text-align: center;
  margin: 16px 0 24px;
}
#contents_top .btn_wrapper .btn {
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
  padding: 8px 12px;
  display: block;
  background: #3C3E75;
  border-radius: 16px;
}
#contents_top .btn_wrapper .btn:hover {
    background: #3C3F85;
}
#contents_top .btn_wrapper .btn:after {
  font-family: "Font Awesome 5 Free";
  content: "\f054";
  float: right;
}
#contents_top .btn_wrapper .btn i {
  margin-left: 4px;
}
#contents_top .more_link {
  font-weight: bold;
}

/*トップページ動画*/
.iframe-wrapper {
    position: relative;
    padding-bottom: 56.25%; /* アスペクト比16:9の場合 */
    padding-top: 30px;
    height: 0;
    overflow: hidden;
    margin-bottom: 2rem; /* YouTubeの下に余白をつける */
}
.iframe-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*商品一覧*/
.ec-layoutRole__contents,
.ec-layoutRole__contents a,
.ec-shelfRole,
.ec-searchnavRole__counter,
.ec-topicpath,
.ec-topicpath .ec-topicpath__divider {
  color: #ddd;
}
.ec-searchnavRole {
    padding: 0;
}
.ec-layoutRole__contents a {
  margin-bottom: 8px;
}
.price02-default {
  margin-bottom: 8px;
}
.ec-productRole__actions span {
  font-size: 12px;
  font-size: 1.2rem;
}

/*ページネーション*/
.ec-pager .ec-pager__item--active {
  background: #3C3E75;
}
.ec-pager .ec-pager__item a:hover, .ec-pager .ec-pager__item--active a:hover {
  background: #3C3E75;
}

/*ボタン*/
.ec-blockBtn {
  height: 43px;
  line-height: 43px;
}
.ec-blockBtn--action {
  color: #fff;
  background-color: #3C3E75;
  border-color: #3C3E75;
  font-size: 14px;
  font-size: 1.4rem;
  padding: 0px 16px;
  font-weight: bold;
  border-radius: 4px;
  height: 43px;
  line-height: 43px;
  vertical-align: middle;
  transition: 0.3s;
}
.ec-blockBtn--action.disabled:hover, .ec-blockBtn--action.disabled:focus,
.ec-blockBtn--action.disabled.focus, .ec-blockBtn--action[disabled]:hover,
.ec-blockBtn--action[disabled]:focus, .ec-blockBtn--action[disabled].focus,
fieldset[disabled] .ec-blockBtn--action:hover,
fieldset[disabled] .ec-blockBtn--action:focus,
fieldset[disabled] .ec-blockBtn--action.focus,
.ec-blockBtn--action:hover {
  background-color: #3C3F85!important;
  border-color: #3C3F85!important;
}
.ec-blockBtn--action:focus, .ec-blockBtn--action.focus,
.ec-inlineBtn--action:focus, .ec-inlineBtn--action.focus,
.ec-inlineBtn--action:hover,
.ec-blockBtn--action:active, .ec-blockBtn--action.active,
.open > .ec-blockBtn--action.dropdown-toggle {
  color: #fff;
  background-color: #3C3F85!important;
  border-color: #3C3F85!important;
}

.ec-blockBtn--cancel {
  background-color: #333;
  border-color: #333;
  font-size: 14px;
  font-size: 1.4rem;
  padding: 0px 16px;
  font-weight: bold;
  border-radius: 4px;
  height: 43px;
  line-height: 43px;
  vertical-align: middle;
  transition: 0.3s;
}
.ec-blockBtn--cancel:hover {
  background-color: #555;
  border-color: #555;
}

/*商品詳細*/
.ec-productRole {
  padding-top: 30px;
  color: #ddd;
}
.ec-productRole__description {
  margin-top: 32px;
}
.ec-productRole table {
  width: 100%;
}
.ec-productRole__profile,
.ec-sliderItemRole, .ec-headingTitle,
.ec-productRole .ec-productRole__price {
  color: #ddd;
}
.ec-productRole .ec-productRole__category a {
  color: #777;
}
.ec-productRole .ec-productRole__title .ec-headingTitle {
  font-size: 26px;
  font-size: 2.6rem;
}
.ec-productRole .ec-productRole__tags {
  margin-top: 0;
  padding-bottom: 0;
  border-bottom: 1px solid #ccc;
}
.ec-price .ec-price__price {
  padding: 0 8px 0 0;
}
.ec-productRole .ec-productRole__price {
  padding: 0;
  border-bottom: none;
}
.ec-productRole .ec-productRole__actions .ec-select select {
  min-width: 200px;
  max-width: 200px;
  height: 32px;
}
.notice {
  font-size: 12px;
  margin-bottom: 4px;
}
.notice:before {
  content: "※ ";
}
.ec-productRole .ec-productRole__category {
  font-size: 1.2rem;
  padding: 8px 0;
  border-top: 1px solid #555;
  border-bottom: 1px solid #555;
  margin-bottom: 32px;
}

.ec-productRole .btn_wrapper {
    padding-top:24px;
    margin-bottom: 24px;
}
.ec-productRole .btn.border {
    color: #fff;
    border: 1px solid #fff;
    border-radius: 16px;
    transition: 0.5s;
}
.ec-productRole .btn.border:hover {
    color: #222;
    background:#fff;
}

@media (max-width:768px) {
    .ec-productRole .ec-productRole__title .ec-headingTitle {
      font-size: 24px;
      font-size: 2.4rem;
    }
  .ec-sliderItemRole {
    padding: 0;
  }
  .slick-list.draggable .slick-track {
    margin: 0 auto;
  }
  .slick-dots li.slick-active button:before,
  .slick-dots li button:before {
    background-color: #fff;
  }
}

/* -----------------------
贈答用のパッケージもございます
------------------------- */
/*カートページ*/
.cart_page .option_block_wrapper {
    padding-top: 80px;
    width: 70%;
    margin: 0 auto 80px;
}
.cart_page .ec-productRole__category .option_block {
  padding: 32px 24px 0;
  font-size: 12px;
}
/*商品詳細ページ*/
.ec-productRole__category.option_block_container {
  border: none!important;
}
.ec-shelfGrid {
    margin-left: -34px;
    margin-right: -34px;
    justify-content: center;
}
.ec-productRole__category.option_block_container
.ec-shelfGrid .ec-shelfGrid__item {
  width: 30%;
}
.ec-productRole__category .option_block {
  position: relative;
  padding: 24px 0 0;
  border: 1px solid #ccc;
}
.ec-productRole__category .option_block .title_block {
  width: 50%;
  font-size: 14px;
  text-align: center;
  position: absolute;
  top: -6px;
  left: 0;
  right: 0;
  margin: 0 auto;
  background: #111;
}
.ec-productRole__category .option_block
.ec-shelfGrid .ec-shelfGrid__item {
  margin-bottom: 16px;
}
.ec-productRole__category .option_block
.ec-shelfGrid .ec-shelfGrid__item img {
  margin-bottom: 8px;
}
.ec-productRole__category .option_block ul .item_name {
  color: #ccc;
  padding: 4px 0;
}

@media (max-width:768px) {
  /*カートページ*/
  .cart_page .option_block_wrapper {
    width: 100%;
  }
  .cart_page .ec-productRole__category .option_block {
    padding: 32px 16px 0;
    font-size: 12px;
  }
  
  .ec-shelfGrid {
      width: 100%;
      margin: 0;
  }
  
  /*商品詳細ページ*/
  .ec-productRole__category .option_block .title_block {
    width: 80%;
  }
  .ec-productRole__category .option_block {
    padding: 24px 4px 0;
  }
  .ec-productRole__category .option_block
  .ec-shelfGrid .ec-shelfGrid__item {
    width: 33%;
    padding: 0 8px;
  }
}
/* -----------------------
商品詳細ページ　フリーエリア
------------------------- */
#item_photo_area .freearea {
  padding: 0 8px;
  margin-bottom: 32px;
}
#item_photo_area .freearea p {
  margin-top: 0;
}
#item_photo_area .freearea .heading01 {
  margin-bottom: 8px;
}
.item_price_list, .item_ingredient_list {
  font-size: 14px;
  border-top: 1px solid;
  margin: 16px 0;
}
#item_detail .notice {
  font-size: 12px;
  padding: 0 4px;
}
#item_detail  .notice:before {
  content: "※ ";
}
.item_detail_container {
  color: #222;
  background: #fafafa;
  padding: 16px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 24px;
}
.item_detail_container .basic {
  color: #222;
  table-layout: fixed;
  margin-bottom: 8px;
}
.item_detail_container table {
  width: 100%;
  max-width: 100%;
  text-align: left;
  border-collapse: collapse;
  border-spacing: 0;
  border: none;
}
table.basic {
  border: 1px solid #bcbcbc;
  margin-bottom: 24px;
}
table.basic th {
    font-weight: normal;
    padding: 10px 8px 8px;
    border: 1px solid #bcbcbc;
    vertical-align: middle;
}
table.basic td {
    padding: 10px 8px 8px;
    border: 1px solid #bcbcbc;
    vertical-align: middle;
}
.item_detail_container .basic {
    color: #222;
    table-layout: fixed;
    margin-bottom: 8px;
}
.item_detail_container .basic th {
    font-size: 12px;
    line-height: 1.2;
    text-align: center;
    padding: 4px 8px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #bcbcbc;
    vertical-align: middle;
}
.item_detail_container .basic th span {
    display: block;
    font-size: 10px;
}
.item_detail_container .basic td {
    text-align: center;
}
.item_price_list tr, .item_ingredient_list tr {
    border-bottom: 1px solid;
}
.item_ingredient_list th {
    padding: 8px 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.item_price_list td, .item_ingredient_list td {
    text-align: right;
    padding: 8px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.ec-cartNavi .ec-cartNavi__badge {
    background-color: #3C3E75;
}
.ec-layoutRole .ec-layoutRole__contents {
    max-width: 1280px;
    margin-bottom: 32px;
    padding: 0 20px;
}
.ec-productRole__description .badge {
    background-color: #3C3E75;
    border-radius: 2px;
    padding: 4px 8px;
}

/*モーダル（カートに追加しました）*/
#ec-modal-header {
  color: #222;
}
.ec-layoutRole__contents a,
.ec-role .ec-layoutRole__contents a {
  margin-bottom: 0;
  border-radius: 0;
}
.ec-inlineBtn--cancel {
  border-radius: 0;
}
.ec-inlineBtn--action {
  background-color: #3C3E75;
  border-color: #3C3E75;
}
.blockBtn-action {
  background-color: #3C3E75;
  border-color: #3C3E75;
}

.ec-pager .ec-pager__item,
.ec-pager .ec-pager__item--active {
    padding: 0;
}

/*ショッピングカート*/
.ec-cartRole .ec-cartRole__cart {
  margin: 0;
}
.ec-progress .is-complete .ec-progress__number {
  background: #3C3E75;
}
.ec-progress .is-complete .ec-progress__label {
  color: #3C3E75;
}
.ec-progress .ec-progress__number {
  background: #555;
}
.ec-progress__label {
  color: #555;
}
.ec-cartCompleteRole,
.ec-cartRole .ec-cartRole__totalAmount,
.ec-cartRole {
  color: #ddd;
}
.ec-cartRole .ec-cartRole__total {
    padding: 15px 0;
}

.ec-guest,.ec-cartHeader,.ec-AddAddress .ec-AddAddress__itemtContent,
.ec-totalBox .ec-totalBox__paymentTotal .ec-totalBox__price,
.ec-totalBox .ec-totalBox__paymentTotal .ec-totalBox__taxLabel {
  color: #222;
}
.ec-progress .ec-progress__item:after {
  background: #555;
}
.ec-color-red {
  color: #8a6d3b;
}
.ec-role .ec-alert-warning {
  background: #BCBADB;
}
.ec-orderPayment .ec-radio img {
  max-width: 120px;
  margin-bottom: 16px;
}
.ec-select {
  margin-bottom: 8px;
}
.ec-shelfGrid .ec-select select {
  width: 100%;
}
.ec-input select, .ec-halfInput select,
.ec-numberInput select, .ec-zipInput select,
.ec-telInput select, .ec-select select, .ec-birth select {
  font-size: 16px;
  height: 36px;
  padding: 3px 12px;
}

.ec-input input, .ec-halfInput input,
.ec-numberInput input, .ec-zipInput input, .ec-telInput input,
.ec-select input, .ec-birth input {
  font-size: 16px;
  height: 36px;
}

.ec-guest {
  padding: 8%;
}
.ec-guest .ec-guest__inner {
  text-align: left;
}
.ec-guest .ec-guest__inner p {
  font-size: 14px;
  margin-bottom: 16px;
}
.ec-guest .ec-guest__inner .entry_wrapper {
  padding: 16px 0;
}
.ec-guest .ec-guest__inner .entry {
  font-size: 14px;
  color: #3C3E75;
}
.ec-pageHeader h1 {
    font-size: 26px;
}

.ec-orderDelivery__item {
    margin-bottom: 40px;
}

@media only screen and (min-width: 769px) {
    .ec-cartRole .ec-cartRole__actions {
        width: 30%;
        margin-right: 0; 
    }
}

@media (max-width:768px) {
    .ec-layoutRole .ec-layoutRole__contents {
      padding: 30px 20px 0;
    }
    .ec-cartRole .ec-cartRole__totalAmount {
        font-size: 24px;
    }
    
  .ec-cartRole .ec-cartRole {
    padding-left: 0;
    padding-right: 0;
  }
  .ec-orderRole {
    font-size: 14px;
  }
  .ec-pageHeader h1 {
    font-size: 24px;
    padding: 12px 0;
    border-bottom: 1px solid #ccc;
  }
  .ec-orderRole .ec-borderedList {
    border-top: none;
  }
  .ec-cartRow .ec-cartRow__delColumn {
    width: 10%;
  }
  .ec-cartRow .ec-cartRow__delColumn .ec-icon img {
    width: 1.2em;
    height: 1.2em;
  }
  .ec-cartRow .ec-cartRow__summary .ec-cartRow__name {
    font-size: 14px;
  }
  .ec-cartRole .ec-cartRole__progress {
    text-align: left;
  }
  .ec-cartRole .ec-cartRole__progress span {
    margin-top: 8px;
  }

  .ec-input select, .ec-halfInput select,
  .ec-numberInput select, .ec-zipInput select,
  .ec-telInput select, .ec-select select, .ec-birth select {
    -webkit-appearance: none!important;
  }
  .ec-shelfGrid__item .ec-select select {
    width: 100%;
    margin-left: -10px;
  }
  select:after {
    color: #222;
    font-family: "Font Awesome 5 Free";
    content: ' \f107';
    font-weight: 900;
    margin-right: 8px;
  }
  .ec-orderDelivery__actions {
    display: block;
    /*overflow-x: scroll;*/
    /*white-space: nowrap;*/
  }
  .ec-orderDelivery__actions .ec-select #shopping_order_Shippings_0_Delivery {
      width: 100%;
      transform: none;
      font-size: 12px;
  }
  .ec-orderRole__checkbox label {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 16px;
  }
  .ec-orderRole__checkbox input {
      margin: 0;
  }
  .ec-orderRole__checkbox input[type=checkbox] {
    width: 16px;
    height: 16px;
  }
}

/*特商法ページ*/
.ec-borderedDefs dl {
  padding: 15px 0;
}
.ec-borderedDefs dt {
  padding-top: 0;
}
.ec-borderedDefs dd {
  line-height: 1.5;
}

/*お問い合わせページ*/
.ec-contactRole,
.ec-contactConfirmRole,
.ec-contactCompleteRole {
  color: #ddd;
}

/*マイページ系*/
.ec-layoutRole__main,
.ec-login .ec-login__input, .ec-welcomeMsg,
.ec-role, .ec-registerRole, .ec-borderedDefs dt,
.ec-forgotRole .ec-forgotRole__intro,
.ec-mypageRole, .ec-orderRole, .ec-withdrawRole,
.ec-historyRole .ec-historyRole__contents {
  color: #ddd;
  line-height: 1.6;
}
.ec-orderRole .ec-totalBox {
  color: #222;
}
.ec-totalBox .ec-totalBox__spec {
    font-size: 13px;
}
.ec-totalBox .border_box.small.mb16 {
    font-size: 12px;
}
.ec-orderRole__checkbox p {
  font-size: 13px;
}
.ec-login .ec-login__link a,
.form-check-label {
  font-size: 14px;
  color: #222;
}
.ec-login .ec-login__link .ec-link.entry,
.ec-login .ec-login__link .ec-link.entry:hover {
    color: #3C3E75!important;
}
.ec-login .ec-login__link a:hover {
  text-decoration: underline;
}
.ec-orderMail .ec-orderMail__link a {
  color: #555;
}
.ec-zipInputHelp .ec-zipInputHelp__icon {
  background: #3C3E75;
  top: -9px;
}
.ec-cartNaviNull .ec-cartNaviNull__message {
  background-color: #BCBADB;
}
.ec-orderPayment, .ec-orderConfirm, .ec-orderMails {
  margin-bottom: 40px;
}
.ec-orderDelivery .ec-orderDelivery__title {
  font-size:16px;
  padding: 12px 0;
}
.ec-historyListHeader .ec-historyListHeader__date {
  font-size: 16px;
}
.ec-rectHeading h1, .ec-rectHeading h2, .ec-rectHeading h3,
.ec-rectHeading h4, .ec-rectHeading h5, .ec-rectHeading h6 {
  background: transparent;
  padding: 8px 0;
  border-bottom: 1px solid #ddd;
  margin-bottom: 8px;
}
.ec-orderDelivery {
  margin-bottom: 24px;
}
.ec-orderDelivery__change .ec-inlineBtn {
    padding: 6px 12px;
}

.ec-zipInputHelp span {
  color: #ddd;
  text-decoration: underline;
  margin-left: 0;
}
.ec-required {
  color: #ddd;
  background: #3C3E75;
  padding: 2px 4px;
  border-radius: 2px;
}
.ec-borderedDefs {
  border-top: 1px dotted #555;
}
.ec-borderedDefs dl {
  border-bottom: 1px dotted #555;
}
.ec-navlistRole .active a {
  color: #ddd;
  background: #3C3E75;
}
.ec-navlistRole .ec-navlistRole__item a {
  margin-bottom: 0;
  transition: 0.3s;
  height: 100%;
  font-size: 14px;
}
.ec-navlistRole .ec-navlistRole__item a:hover {
  background: transparent;
  background: #333;
}
.ec-inlineBtn,
.ec-mypageRole .ec-inlineBtn {
  background-color: #3C3E75;
  border-color: #3C3E75;
  color: #ddd;
  border-radius: 4px;
}
.ec-mypageRole .ec-inlineBtn:hover {
  background-color: #484B86;
  border-color: #484B86;
  color: #ddd;
}
.ec-borderedList li:first-child .ec-imageGrid {
  border-top: none;
}
@media (max-width:768px) {
  .ec-mypageRole {
    font-size: 13px;
  }
  .ec-historyListHeader .ec-historyListHeader__date {
    background: #333;
    padding: 4px 8px;
    border-left: 3px solid #3C3E75;
    margin-bottom: 10px;
  }
}

/*会員登録*/
.ec-pageHeader {
  color: #dddddd;
}
.ec-checkbox a.ec-link {
  text-decoration: underline;
}
.ec-registerCompleteRole {
  color: #fff;
}
.ec-halfInput.error .ec-errorMessage {
  width: 45%;
  display: inline-block;
}
.ec-halfInput.error .ec-errorMessage:last-child {
  margin-left: 2%;
}
.error.ec-checkbox input, .error.ec-checkbox label {
  border-color: transparent;
  background: transparent;
}
.ec-checkbox label {
    font-weight: normal;
}

/*送料･お支払い･発送について*/
.shipping_info_box {
    width: 73%;
    margin: 32px auto;
    border: 1px solid;
    padding: 24px 24px 8px;
    text-align: left;
}
.shipping_info_box a {
    border-bottom: 1px solid;
    border-radius: 0;
    padding-bottom: 4px;
}

@media (max-width:768px) {
    .shipping_info_box {
        width: 100%;
    }
}
.ec-layoutRole__footer .ec-categoryNaviRole {
  margin: 0 auto;
}
.shipping_container {
  background: #222;
  color: #ddd;
  padding: 40px 35px 32px;
}

.shipping_container .inner_wrapper {
  max-width: 1130px;
  margin: 0 auto;
  color: #ddd;
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 0.5px;
}

.shipping_container .flex {
  display: flex;
  justify-content: space-between;
}
.shipping_container .shipping {
  width: 70%;
  margin-right: 5%;
  padding-top: 32px;
}
.shipping_container .payment {
  padding-top: 32px;
}
.shipping_container .link_banner_wrapper img {
  max-width: 280px;
}
.shipping_container table {
  width: 100%;
  background: #f8f8f8;
  color: #222;
  margin-bottom: 16px;
}

.shipping_container table .header {
  background: #3C3E75;
  color: #ddd;
}
.shipping_container table tr {
  border-bottom: 1px solid #222;
}
.shipping_container table th {
  background: #ddd;
}
.shipping_container table th,
.shipping_container table td {
  padding: 12px;
  text-align: center;
  border-right: 1px solid #222;
}

/*送料についてページ*/
.shipping_container.shipping_page {
    background: transparent;
    padding: 0 16px 32px;
}
.shipping_container.shipping_page table {
    width: auto;
    margin-bottom: 32px;
    background: transparent;
}
.shipping_container.shipping_page table td {
    font-size: 1.2rem;
    background: #fff;
}
.shipping_container.shipping_page table td  i {
  margin-left: 4px;
}
.shipping_container.shipping_page table td:first-child {
    background: #ddd;
}
.shipping_container.shipping_page table .header td {
    padding: 8px 16px;
    background: #3C3E75;
}
.shipping_container.shipping_page table .header td:first-child {
    background: #3C3E75;
}
.shipping_container.shipping_page table .c_name td {
    padding: 6px 16px;
    background: #ddd;
}

@media (max-width: 768px) {
    .shipping_container .main_title {
        padding-top: 0;
    }
    .shipping_container .flex {
        display: block;
    }
    .shipping_container .sub_title {
        padding-bottom: 6px;
        border-bottom: 1px solid #dddddd;
    }
    .shipping_container table {
        font-size: 12px;
    }
  .shipping_container.shipping_page table {
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
  .shipping_container.shipping_page table .header td,
  .shipping_container.shipping_page table .c_name td {
    font-size: 10px;
    padding: 6px 8px;
  }
  .shipping_container table .ex td {
    font-size: 10px;
  }
  .shipping_container table .header,
  .shipping_container table th {
    font-size: 11px;
  }
  .shipping_container table th,
  .shipping_container table td {
    padding: 8px;
  }
  .shipping_container .shipping {
    width: 100%;
    padding-top: 16px;
  }
  .ec-footerRole .category-nav li {
    margin: 0 4px 8px;
  }
}

#top_box__button_menu p {
    margin-bottom: 10px;
}

/*フッターカテゴリ表示*/
.footer_container .category_container {
  padding-top: 32px;
  color: #222;
  background: #f8f8f8;
}
@media (max-width:768px) {
  .footer_container .category_container {
    padding-top: 0;
  }
}
.footer_container .category_container .main_title {
  color: #222;
}
.footer_container .category_container .inner_wrapper {
  max-width: 1130px;
  margin: 0 auto;
}
.footer_container .ec-itemNav__nav {
  margin-bottom: 32px;
  border-top: 1px solid #222;
  border-bottom: 1px solid #222;
  background: #f8f8f8;
}
.ec-footerRole {
  background: #f8f8f8;
  padding: 0;
  margin: 0;
  border-top: none;
}
.ec-footerNavi .ec-footerNavi__link a {
  color: #222;
  text-decoration: none;
}

/*フッターロゴ*/
.ec-footerTitle {
  color: #222;
  padding: 30px 0;
}
@media (max-width:768px) {
  .ec-footerTitle {
    padding: 20px 0;
  }
}
.ec-footerTitle__logo .logo {
  max-width: 180px!important;
}
.ec-footerTitle__copyright {
  font-size: 10px;
  font-size: 1rem;
  margin-top: 0;
}

/*SNSシェアボタン*/
.sns_container {
    width: 80%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
}
.sns_container li {
    list-style-type: none;
    width: 32px;
    margin: 0 8px;
    text-align: center;
    color: #222;
}
.sns_container .message {
    width: auto;
    font-size: 14px;
}

@media (max-width:768px) {
    .sns_container {
        width: 90%;
    }
    .sns_container .message {
        font-size: 12px;
        text-align: right;
    }
    .sns_container li {
        margin: 0 4px;
    }
    .sns_container li img {
        width: 80%;
    }
}

/*TO TOPボタン*/
.ec-blockTopBtn {
  width: 40px;
  right: 8px;
  bottom: 24px;
  background-color: #3C3E75;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}

#creditCardConfirmationModal {
    color: #252525;
}
#creditCardConfirmationModal a {
    color: #3C3E75;
}

.ec-link:hover {
    color: #ccc!important;
}

.ec-reportDescription {
    text-align: left;
}

@media (max-width:768px) {
    .ec-reportHeading {
        border-top:none!important;
    }
    .ec-reportHeading h1, .ec-reportHeading h2, .ec-reportHeading h3,
    .ec-reportHeading h4, .ec-reportHeading h5, .ec-reportHeading h6, .ec-reportHeading p {
        font-size: 22px!important;
    }
    .ec-reportDescription {
        text-align: left!important;
    }
}