@charset "utf-8";

/* ===================================================================
search
=================================================================== */

section#search_area {
  background: #3598db;
  padding: 5px 10px;
  margin-bottom: 10px;
  @media(max-width: 768px){
    margin-bottom: 0;
  }
}

section#search_area form {
  font-size: 1.2em;
  padding: 0.4em 0;
  overflow: hidden;
}

section#search_area form input {
  float: left;
  font-size: 1em;
  font-size: 4.4vw;
  margin: 0;
  margin-right: -80px;
  margin-right: -4.8em;
  vertical-align: middle;
  padding: 4px 5px;
  width: 98%;
  border:none;
  border-radius: 2px;
  background-color: #fff;
}

section#search_area form input[type=submit] {
  background: #F5E202;
  border: none;
  border-radius: 6%;
  color: #fff;
  float: right;
  font-family: FontAwesome;
  font-size: 1em;
  font-size: 4.4vw;
  margin: 0;
  vertical-align: middle;
  width: 50px;
  padding: 5px;
}
div#leftcolumn div.block_outer div#search_area input[type=submit]{
  font-family: FontAwesome;
}



/**
スマホナビ
 */
.ec-drawerRoleClose{
  display: none;
}
@media (min-width: 768px) {
  .ec-drawerRoleClose,
  .ec-drawerRole{
    display: none !important;
  }
}
@media (max-width: 767px) {
  .ec-layoutRole__header{
    /*position: sticky;*/
    top: 0;
    z-index: 100;
    background: #FFF;
  }
  .ec-drawerRoleClose,
  .ec-drawerRole{

  }
  .ec-headerNavSP{
    display: flex;
    flex-direction: row-reverse;
    position: absolute;
    top: 45px;
    right: 0;
    padding: 0;
    background: #FFFFFF;
    z-index: 1000;
  }
  .ec-headerNavSP .fa-bars{
    padding: 5px 12px 12px;
    border-left: 1px solid #ccc;
    font-size: 22px;
    width: 50px;
    text-align: center;
  }
  .ec-headerNavSP .fa-close{
    padding: 5px 12px 12px;
    border-left: 1px solid #ccc;
    font-size: 22px;
    display: none;
    width: 50px;
    text-align: center;
  }
  .ec-headerNavSP .fa-bars,
  .ec-headerNavSP .fa-close{
    position: relative;
  }
  .ec-headerNavSP .fa-bars span,
  .ec-headerNavSP .fa-close span{
    font-size: 8.5px;
    font-weight: normal;
    color: #333333;
    font-style: normal !important;
    position: absolute;
    bottom: 1px;
    left: 8px;
  }
  .is_active .ec-headerNavSP .fa-bars{
    display: none;
  }
  .is_active .ec-headerNavSP .fa-close{
    display: inline-block;
  }

  .ec-headerNavSP .login{
    position: relative;
    display: inline-block;
    border-left: 1px solid #ccc;
    width: 50px;
  }
  .ec-headerNavSP .login a{
    display: block;
    color: #666666;
    padding: 5px 12px 13px;
    text-align: center;
  }
  .ec-headerNavSP .login i{
    position: relative;
    display: inline-block;
    font-size: 20px;
    color: #0469ad;
  }
  .ec-headerNavSP .login span{
    font-size: 8.5px;
    position: absolute;
    bottom: 0;
    left: 8px;
  }

  .ec-headerNavSP .ec-cartNaviWrap{
    position: relative;
    display: inline-block;
    border-left: 1px solid #ccc;
  }
  .ec-headerNavSP .ec-cartNaviWrap a{
    display: block;
    color: #666666;
    padding: 3px 12px 12px;
    font-size: 18px;
    position: relative;
  }
  .ec-headerNavSP .ec-cartNaviWrap .cart{
  }
  .ec-headerNavSP .ec-cartNaviWrap i{
    position: relative;
    left: -2px;
  }
  .ec-headerNavSP .ec-cartNaviWrap em{
    position: absolute;
    right: 4px;
    top: 2px;
    background-color: #CC0000;
    color: #FFFFFF;
    border-radius: 100px;
    text-align: center;
    font-size: 2.1vw;
    line-height: 14px;
    width: 14px;
    height: 14px;
    font-style: normal;
  }
  .ec-headerNavSP .price,
  .ec-headerNavSP .cart span{
    display: none;
  }
  .ec-headerNavSP .cart span.text{
    position: absolute;
    display: block;
    font-size: 8.5px;
    text-align: center;
    width: 100%;
    color: #666666;
    padding: 0;
    bottom: 0;
    left: 0;
  }

  /** アクティブ **/
  .ec-drawerRole.is_active{
    position: absolute;
    top: 0;
    left: 0;
    padding-top: 95px;
    width: 100vw;
    /*height: 100dvh;*/
    height: auto;
    z-index: 100;
    overflow-y: scroll;
  }
  .ec-headerNavContentSP{
    display: none;
    background: #FFFFFF;
    overflow-y: scroll;
    /*height: calc(100dvh - 60px);*/
    height: auto;
  }



  .ec-drawerRole.is_active .ec-headerNavContentSP{
    display: block;
    padding: 0;
  }
  .ec-headerNavContentSP > ul {
    padding: 0;
    margin: 0;
    border-top: 1px solid #ccc;
  }
  .ec-headerNavContentSP ul li{
    border-bottom: 1px solid #ccc;
  }
  .ec-headerNavContentSP ul .row{
    display: flex;
    flex-direction: column;
  }
  .ec-headerNavContentSP ul .row .col-xs-4 {
    width: 100%;
  }
  .ec-headerNavContentSP ul a{
    display: block;
    padding: 8px 15px;
  }
  .ec-headerNavContentSP ul li.sml-class{
    margin-left: 30px;
  }
  .ec-headerNavContentSP ul li.sml-class a{
    padding: 3px 5px;
  }
  .category-list{
    border: 1px solid #ccc !important;
  }
  .category-list li{
    border-top: 1px solid #ccc;
  }
  .spnav_product_list_header p{
    background-color: #F6A427 !important;
    background-image: linear-gradient(180deg, #FEAE17, #EE8901) !important;
    border-radius: 10px 10px 0 0 !important;
  }

  .ec-headerNavContentSP ul li a{
    display: block;
    position: relative;
    color: #4d4d4d;
    font-size: 13px;
  }
  .ec-headerNavContentSP ul li a:before{
    content:"";
    width: 6px;
    height: 6px;
    transform: rotate(-45deg);
    border-right: 1px solid #666666;
    border-bottom: 1px solid #666666;

    position: absolute;
    right: 20px;
    font-weight: normal;
    top: calc(50% - 3px);
  }

}




/**
Header
 */
@media (max-width: 767px) {
  .ec-layoutRole__header{
  }
  #header_wrap{
    height: auto;
  }


  #header_wrap .header-top {
    border-bottom: 1px solid #cdcdcd;
    padding: 5px 10px;
    font-size: 10px;
    text-align: left;
  }
  #header_wrap .header-top .left {
    width: 58%;
    float: left;
  }
  #header_wrap .header-top .right {
    width: 42%;
    float: left;
    text-align: right;
  }
  #header_wrap .header-bottom {
    padding: 5px 10px;
  }
  #header_wrap .soryo {
    color: #0469ad;
    display: inline-block;
    font-weight: bold;
    position: relative;
  }
  #header_wrap .soryo p {
    display: inline-block;
    margin-right: 30px;
    text-align: left;
  }
  #header_wrap .soryo img {
    position: absolute;
    top: 0;
    bottom: 0;
    height: 20px;
    right: 0;
    margin: auto;
    width: 26px;
  }
  #header_wrap .soryo span {
    color: #a00002;
  }

  #header_wrap #header{
    width: 100%;
    height: auto;
    min-height: 55px;
  }
  #header-nav{
    display: none;
  }
  #header-info-upper{
    display: none !important;
  }
  #header-info-lower{
    display: none !important;
  }
  #site_logo{
    bottom: auto !important;
    top: 5px;
    left: 10px !important;
  }
  #site_logo img{
    height: auto;
    max-width: 254px;
    margin: 0;
    width: 40vw;
  }

  #catch_copy{
    display: none !important;
  }
  #topcolumn{
  }
}

/**
Footer
 */
@media (max-width: 767px) {
  #footer_wrap{
    display: none;
  }
  #footer_wrap #footer{
    padding-top: 0;
  }
  .container.flow .row .col-xs-2,
  .container.flow .row .col-xs-4{
    width: 100%;
    position: relative;
    padding: 10px 10px 10px 0;
  }
  .order-title{
    padding-left: 90px;
    padding-bottom: 0 !important;
    font-size: 15px !important;
  }
  span.index-number{
    font-size: 11px !important;
  }
  .order-message,
  .order-mini{
    padding-left: 90px;
    margin: 5px 0 0 !important;
  }
  .order-image{
    position: absolute;
    margin: 0;
  }
  .order-image img{
    width: 80px;
    height: auto;
  }
  #footer_wrap #footer #card-payment, #footer-wrap-menu #footer #card-payment{
    background-position: 0;
    background-size: 70% auto;
  }
  #footer_wrap #footer #card-payment #card-payment-word,
  #footer-wrap-menu #footer #card-payment #card-payment-word{
    left:0;
    text-align: right;
    padding-top: 20px;
    padding-bottom: 20px;
    width: 100%;
  }
  #free-shipping-order{
    margin-top: 20px;
    font-size: 12px !important;
  }
  #free-shipping-order .punc{
    display: block;
    width: 100%;
    height: 5px;
    font-size: 1px;
    opacity: 0;
  }

  #about-payment,
  #about-delivery,
  #about-fee{
    float: none;
    width: 100% !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  #footer_wrap #footer div.link-pager,
  #footer-wrap-menu #footer div.link-pager{
    top: 0;
    margin-top: 20px;
    padding-bottom: 0;
  }
  #footer_wrap #footer div.link-pager div,
  #footer-wrap-menu #footer div.link-pager div{
    position: relative;
  }



  #footer-wrap-menu,
  #footer{
    width: 100% !important;
    padding-top: 10px !important;
  }
  #footer_wrap #footer #ftr-menu,
  #footer-wrap-menu #footer #ftr-menu{
    margin-bottom: 20px !important;
  }

  #footer-wrap-menu #footer #ftr-menu ul{
    display: flex;
    flex-wrap: wrap;
    padding: 0 10px;
    justify-content: center;
  }
  #footer-wrap-menu #footer #ftr-menu ul li{
    float: none;
    line-height: 1.8;
  }
  #footer-wrap-menu #footer #ftr-menu ul li:first-child a,
  #footer-wrap-menu #footer #ftr-menu ul li a{
    border-left: none;
    font-size: 3.0vw;
    font-weight: normal;
    padding: 0 20px;
  }
  .ftr-btn-menu{
    width: 100%;
    padding-top: 15px;
    text-align: center;
  }

  #ftr-products .products-list-title{
    text-align: center !important;
    width: 100% !important;
  }
  #ftr-products .products-list{
    padding: 10px 20px 0 !important;
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px 18px;
  }
  #footer-wrap-menu #footer #ftr-products div.products-list a{
    margin: 0 !important;
    padding-bottom: 0 !important;
    font-size: 3.0vw;
  }

  #copyright{
    padding: 10px 10px 20px;
    text-align: center;
    font-size: 11px;
    width: 100%;
  }
}


/**
Layout
 */
@media (max-width: 767px) {
  div.frame_outer{
    width: 100%;
    min-width: 0;
  }
  div#container{
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  #topcolumn  { order: 1; }
  #main_column{ order: 3; }
  #leftcolumn { order: 4; }
  #important_notice_area{order: 2;}

  #leftcolumn,
  #main_column{
    float: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin:0 !important;
  }
  .ec-layoutRole__mainBottom{
    padding: 10px;
  }

}

/**
Sidebar
 */
@media (max-width: 767px) {
  #leftcolumn {
    padding: 0px 0 0 !important;
    margin: 0 auto !important;
    width: 100% !important;
  }
  div#leftcolumn div.block_outer{
    padding-left: 10px !important;
    padding-right: 10px !important;
    clear: both;
  }

  #bnr_contact_area{
    width: 43vw;
    margin-right: 3vw;
    float: left;
  }
  #bnr_contact_area img{
    width:100%;
    height: auto;
  }
  #bnr_faxdownload_area{
    width: 43vw !important;
    height: 26vw !important;
    float: left;
    background-size: contain !important;
    background-repeat: no-repeat !important;
  }
  #bnr_faxdownload_area img{
    width: 90%;
    height: auto;
  }


  #leftcolumn .sidebar-headline{
    background-color: #F6A427 !important;
    background-image: linear-gradient( 180deg, #FEAE17, #EE8901) !important;
    border-radius: 10px 10px 0 0 !important;
  }

  #leftcolumn #products_list_area{
    padding-top: 80px;
  }
  #leftcolumn #products_list_area .products-list{
    display: flex;
    flex-wrap: wrap;
    width: 100% !important;
  }
  #leftcolumn #products_list_area .products-list>*{
    width: 50%;
  }

  div#leftcolumn div.block_outer div#products_list_area .products-list .list-item ul.child-ctg-menu{
    left: 0px;
    top: 0px;
    width: 100%;
    padding: 5px 0;
    box-shadow: 1px 1px 5px rgba(0,0,0,0.2);
  }
  div#leftcolumn div.block_outer div#products_list_area .products-list .list-item ul.child-ctg-menu li.category-headline,
  div#leftcolumn div.block_outer div#products_list_area .products-list .list-item ul.child-ctg-menu li a{
    padding: 5px 10px;
  }
  div#leftcolumn div.block_outer div#products_list_area .products-list .list-item ul.child-ctg-menu li a span{
    top: 1px;
    position: relative;
  }

  .products-list .fa-play-circle{
    display: none;
  }

  #leftcolumn .user_guide{
    display: flex;
    flex-wrap: wrap;
  }
  #leftcolumn .user_guide>* {
    width: 50%;
  }
  #leftcolumn #calender_area {
    width: 100%;
  }

  #leftcolumn #calender_area table {
    width: 43% !important;
    float: left;
    margin-right: 10px !important;
  }
  #leftcolumn #calender_area table+table {
    margin-right: 0 !important;
  }
  #leftcolumn #calender_area table td{
    font-size: 12px;
  }
  #leftcolumn #calender_area .information{
    clear: both;
  }

  #leftcolumn #bnr_adv_area{
    width: 100%;
    margin-bottom: 0 !important;
  }
  #leftcolumn #bnr_adv_area h4{
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 10px;
    padding: 25px 0 5px 3px;
  }
  #leftcolumn #bnr_adv_area ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  #leftcolumn #bnr_adv_area li{
    width: calc(50% - 5px);
    margin-bottom: 0 !important;
  }
}

/**
Block
 */
@media (max-width: 767px) {
  #search_vermin_area table{
    width: 100%;
    display: block;
  }
  #search_vermin_area tr{
    width: 100%;
    display: inline-block;
  }
  #search_vermin_area td{
    width: 32%;
    display: inline-block;
    height: auto !important;
  }

  .ec-shelfGrid .col-xs-1-5,
  .ec-checkProductRole .col-xs-1-5,
  #new_product_area .col-xs-1-5,
  #ranking_area .col-xs-1-5 {
    width: 32.5%;
    padding-left: 7px;
    padding-right: 7px;
  }
  .ec-shelfGrid > hr{
    display: none!important;
  }

  #new_product_area .row,
  #ranking_area .row{
    display: flex;
    flex-wrap: wrap;
  }

  #page_homepage #main_column #important_notice_area {
    display: none !important;
  }

  /*-- 重要なお知らせ --*/
  #important_notice_area {
    display: flex;
    flex-wrap: wrap;
     width: auto!important;
    align-items: center;
    margin: 5px !important;
    border: solid red 1px !important;
    background: #FFFAFA;
    font-size: .9em;
  }
  #important_notice_area li.important {
    width: 40px !important;
    text-align: center;
  }
  #important_notice_area li.important img{
    margin-right: 0 !important;
  }
  #important_notice_area li.important span{
    display: none !important;
  }
  #important_notice_area li.message {
    width: calc(100vw - 55px);
    padding: 5px;
  }


  .attention-keyword{
    margin-top: 0 !important;
    padding: 0px 0;
    display: block;
    width: 100%;
    overflow-x: hidden;
    border-bottom: 1px solid #CCCCCC;
  }
  .attention-keyword ul{
    position: relative;
    width: 100%;
    overflow-x: auto;
    display:flex;
    -webkit-overflow-scrolling: touch;
    gap: 10px;
    padding: 10px 5px 10px 0;
    font-size: 12px;
  }

  .list-data ul li.list-data-headline{
    position: sticky;
    left:0;
    width: 27vw !important;
    white-space: nowrap;
    margin: 0;
    padding: 0;
    z-index: 1;
    background: #FFF;
  }
  .list-data ul li.list-data-headline span{
    position: relative;
    display: inline-block;
    top: -1px;
    padding: 2px 5px 2px 10px;
    font-size: 12px;
    font-weight: normal;
    border:none;
    background: #FFF;
  }

  .list-data ul li:not(.list-data-headline) {
    /* 2つ目以降の要素を横並びにする */
    flex: 0 0 auto;
    margin: 0px; /* 要素間の間隔 */
    padding: 0;
  }
  .list-data ul a{
    border: 1px solid #ccc !important;
    text-decoration: none;
    padding: 3px 5px 2px !important;
    font-size: 12px;
  }
  .list-data ul i{
    display: none !important;
  }


  /**
  Common
   */
  .ec-price__price,
  .pro-price span{
    color: #CC0000 !important;
    font-weight: bold;
  }
  div.be-careful {
    padding: 14px 10px;
  }

  .breadcrumb{
    margin-bottom: 10px;
  }
  .breadcrumb+.breadcrumb{
    display: none;
  }

  #page_navi_top {
    display: none;
  }
  #page_navi_bottom{
    padding: 0 0 10px;
  }
  div#main_column div#undercolumn #page_navi_bottom div.ec-pagerRole{
    padding: 0;
  }
  .ec-pager__item--first{
    display: none;
  }
  .ec-pager__item--last{
    display: none;
  }

}


/**
Page: HOME
 */
@media (max-width: 767px) {
  #notice_blog_area{
    width: 100%;
    padding: 20px 5px;
  }
  .list-notice {
    width: 100% !important;
    margin-bottom: 30px;
  }
  .list-blog {
    width: 100% !important;
    float:none;
  }

@charset "UTF-8";
  /* ===================================================================
  various_bar scss
  =================================================================== */
  /*--- ヘッダ・フッタメニューバー ---*/
  nav.top_menu,
  nav.footer_menu {
    background: #fff;
    box-shadow: none;
  }
  nav.top_menu ul,
  nav.footer_menu ul {
    display: flex;
    margin: .5em auto;
  }
  nav.top_menu ul li,
  nav.footer_menu ul li {
    border: none;
    border-left: 1px solid #3598db;
    float: left;
    text-align: center;
    width: 25%;
  }
  nav.top_menu ul li a,
  nav.footer_menu ul li a {
    background: none !important;
    color: #272727 !important;
    display: block;
    height: 100%;
    /*margin:         .5em;*/
    padding: 9px 0;
    text-decoration: none;
    text-shadow: none !important;
  }
  nav.top_menu ul li a img,
  nav.footer_menu ul li a img {
    margin-bottom: 1em;
    margin-bottom: 2.1875vw;
    width: 10vw;
  }
  nav.top_menu ul li a p,
  nav.footer_menu ul li a p {
    font-size: 1.25em;
    font-size: 2.5vw;
    font-weight: bold;
    line-height: 1.5em;
  }
  nav.top_menu ul li:first-child,
  nav.footer_menu ul li:first-child {
    border-left: none;
  }

}

/**
Page: 商品一覧
 */
@media (max-width: 767px) {
  .ec-childCategoryList_title{
    margin-bottom: 1em !important;
  }
  .list_area{
    padding: 10px 0 0px !important;
  }
  .list_area .ec-shelfRole{
    padding: 0 !important;
  }

  .product_page .list_area .row-eq-height{
    gap: 5px 0 !important;
  }

  .list_area hr.col-xs-12{
    display: none;
  }
  .list_area div.col-xs-12{
    padding: 10px 10px 10px 20px !important;
    border-bottom: 1px solid #dadada;
  }
  .list_area ul{
    display: grid;
    gap: 5px 20px;
    margin-bottom: 0 !important;

    grid-template-columns: 110px 1fr;
    grid-template-rows: auto auto auto;
    grid-template-areas:
    "photo name"
    "photo message"
    "photo price";
  }

  .list_area ul .pro-image {
    grid-area: photo;
    margin: 0;
    padding: 0;
  }
  .list_area ul .pro-image img{
    width: 100%;
    height: auto;
    max-width: 110px;
    margin: 0 auto;
  }
  .list_area ul .pro-name {
    grid-area: name;
    line-height: 1.5 !important;
  }
  .list_area .pro-name a{
    font-size: 3.55vw !important;
    text-decoration: underline;
  }

  .list_area ul .pro-message {
  }
  .list_area ul .pro-price {
    grid-area: price;
    margin-bottom: 0 !important;
    font-size: 2.8vw !important;
    text-align: left;
  }
  .list_area ul .pro-price span{
    font-size: 3.8vw !important;
    font-weight: bold !important;
  }

  .list_area#detail_related_items .container{
    border: none;
    padding-top: 20px !important;
  }
  .list_area#detail_related_items ul{
    display: block;
  }
  .list_area#detail_related_items ul .pro-name {
    line-height: 1.15 !important;
  }
  .list_area#detail_related_items .pro-name a{
    font-size: 3vw !important;
    text-decoration: none;
  }
  .list_area#detail_related_items ul .pro-price {
    font-size: 2.5vw !important;
    text-align: right;
    padding-top: 5px;
  }
  .list_area#detail_related_items ul .pro-price span{
    font-size: 3vw !important;
  }


  .ec-childCategoryList{
    padding-left: 10px;
    padding-right: 10px;
  }
  .ec-childCategoryList .main_cate_title{
    font-size: 5.5vw;
  }
  .ec-childCategoryList .main_cate_description{
    font-size: 4vw;
  }
  h2.title.search-headline{
    font-weight: bold;
  }
}

/**
Page: 商品詳細
 */
@media (max-width: 767px) {
  .ec-layoutRole__mainTop .breadcrumb{
    padding: 10px 10px 0 !important;
  }
  .ec-layoutRole__mainTop .breadcrumb+.breadcrumb{
    padding-top: 5px !important;
  }
  .ec-productRole{
    padding: 10px 0px;
  }
  .headline{
    line-height: 1.3;
    padding-bottom: 10px !important;
    margin-bottom: 15px !important;
  }
  .ec-productRole .headline{
    background: #CDF1FF !important;
    border: none;
  }

  #plg_related_items {
    display: none;
  }

  #detail-area-bottom #detail-area-bottom_main .photo-box,
  #detail-area-bottom #detail-area-bottom_main .product_name{
    display: none !important;
  }
  #plg_related_items_bottom{
    padding: 10px;
  }
  #plg_related_items_bottom .cart-box,
  #plg_related_items_bottom .recommend_comment{
    display: none;
  }
  #plg_related_items_bottom > h4{
    border-bottom: #3598db solid 1px;
    font-size: 4.3vw;
    padding-bottom: 5px;
  }

  #RelatedProduct-product_area .detailarea {
    flex-direction: row;
    margin-bottom: 0 !important;
  }
  #RelatedProduct-product_area .detailarea .photo-box {
    width: 30% !important;
  }
  #RelatedProduct-product_area .detailarea .photo-box img {
    width: 100% !important;
    height: auto;
  }
  #RelatedProduct-product_area .detailarea .detail-box {
    width: 70% !important;
  }
  #RelatedProduct-product_area .detailarea .detail-box table {
    margin-bottom: 5px !important;
  }
  #plg_related_items_bottom .product_name {
    margin: 0 0 10px !important;
    font-size: 15px !important;
    font-weight: normal !important;
    line-height: 1.3;
  }
  #plg_related_items_bottom tr,
  #plg_related_items_bottom th,
  #plg_related_items_bottom td{
    height: auto !important;
  }
  #plg_related_items_bottom th,
  #plg_related_items_bottom td,
  #plg_related_items_bottom th *,
  #plg_related_items_bottom td *{
    font-size: 12px !important;
  }
  #plg_related_items_bottom th{
    font-weight: bold;
    width: 65px !important;
  }

  .sp-bar{
    margin: 0 -10px 20px -10px;
    background: #3598db;
    padding-left: 1em;
    color: white;
    line-height: 40px;
    height: 40px;
    font-size: 16px;
  }

  div#undercolumn .headline.product-item,
  div.list_area .headline.relate-item {
    padding: 10px !important;
    margin-bottom: 0 !important;
    font-size: 4.2vw !important;
  }
  .ec-productRole .headline:before{
    display: none;
  }
  .detailarea{
    display: flex !important;
    flex-direction: column;
    width: 100%;
  }
  .photo-box{
    width: 100% !important;
    margin: 0 auto;
  }

  .photo-box .photo-area{
    width: 100% !important;
    height: auto !important;
    border:none !important;
    position: relative;
    line-height: 0 !important;
  }
  .photo-box .photo-area:before{
    top: calc(100% - 20px) !important;
    right: 15px !important;
  }
  .photo-box .photo-area a img{
    width: 95vw;
    height: 95vw;
  }
  .photo-box #dummy{
    margin-top: 10px;
  }
  .photo-box #over_image_box{
    padding: 20px 10px 10px !important;
  }

  .detail-box{
    width: 100% !important;
    padding: 10px 10px !important;
    margin: 0;
  }
  #detail-area-top .detail-box .product_name{
    display: none !important;
  }
  #detail-area-top .detail-box .cart-box{
    display: none !important;
  }
  div#undercolumn .detailarea .papc2{
    line-height: 1.3;
  }
  div#undercolumn .detailarea .papc2 font{
    font-size: 6.1vw;
  }


  #detail-area-bottom_main .cart-box,
  #detail-area-bottom_main .cart-box tbody,
  #detail-area-bottom_main .cart-box tr{
    width: 100%;
  }
  #detail-area-bottom_main .cart-box th,
  #detail-area-bottom_main .cart-box td{
    display: block;
    width: 100%;
    min-width: 50px;
  }
  #detail-area-bottom_main .cart-box tr{
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    position: relative;
  }

  #detail-area-bottom_main .cart-box tr td{
    height:auto !important;
    width: auto !important;
  }

  #detail-area-bottom_main .cart-box tr td.quantity_wrap{
    display: flex;
    gap: 10px;
    align-items: center;
    background: #f5f5f5 !important;
    padding: 8px 10px;
  }
  #detail-area-bottom_main .cart-box tr td .quantitybtns{
    display: flex !important;
    gap: 20px;

    position: absolute;
    width: 100px;
    right: 5px;
    top: 5px;
    text-align: center;
  }
  #detail-area-bottom_main .cart-box tr td .quantitybtn{
    display: block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 30px;
    text-shadow: 1px -1px rgba(0, 0, 0, 0.1);
    background-color: white;
    background-size: 100%;
    background-image: linear-gradient(#ffffff 0%, #ffffff 100%);
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: rgba(0, 0, 0, 0.1) -1px 1px 0, rgba(255, 255, 255, 0.2) -1px 1px 0 inset;
  }
  #detail-area-bottom_main .add_cart_cell{
    padding: 10px 0;
  }
  #detail-area-bottom_main .add_cart_cell .add_cart_wrap{
    position: relative;
    width: 100%;
    padding: 0;
    background: #FFFFFF;
    z-index: 10;
  }

  #detail-area-bottom_main .add_cart_cell.sp--fixed .add_cart_wrap{
    position: fixed;
    bottom: 0;
    left:0;
    padding: 10px;
  }
  #detail-area-bottom_main .add_cart_wrap button{
    width: 100%;
    padding: 10px;
  }
  #detail-area-bottom_main .btn-contact{
    width: 100% !important;
    padding: 10px;
  }

  div#undercolumn .detailarea .detail-box table tr th,
  div#undercolumn .detailarea .detail-box table tr td{
    height: 25px;
    font-size: 13px !important;
  }
  div#undercolumn .detailarea .detail-box table tr td.delivery_comment{
    color: #333333;
  }
  div#undercolumn .detailarea .detail-box table tr th{
    width: 70px;
  }
  div#undercolumn .detailarea .detail-box table .ec-numberInput td input{
    margin-right: 10px;
    width: 80%;
  }
  div.sub_area{
    border:none;
    border-radius: 0;
  }
  div.sub_area .subtext{
    padding: 10px 10px 0px !important;
  }
  div.sub_area img{
    max-width: 100%;
  }
  #main_column .ec-productRole div.sub_area .sp-w5 {width: 5% !important;}
  #main_column .ec-productRole div.sub_area .sp-w10 {width: 10% !important;}
  #main_column .ec-productRole div.sub_area .sp-w15 {width: 15% !important;}
  #main_column .ec-productRole div.sub_area .sp-w20 {width: 20% !important;}
  #main_column .ec-productRole div.sub_area .sp-w25 {width: 25% !important;}
  #main_column .ec-productRole div.sub_area .sp-w30 {width: 30% !important;}
  #main_column .ec-productRole div.sub_area .sp-w33 {width: 33% !important;}
  #main_column .ec-productRole div.sub_area .sp-w35 {width: 35% !important;}
  #main_column .ec-productRole div.sub_area .sp-w40 {width: 40% !important;}
  #main_column .ec-productRole div.sub_area .sp-w45 {width: 45% !important;}
  #main_column .ec-productRole div.sub_area .sp-w50 {width: 50% !important;}
  #main_column .ec-productRole div.sub_area .sp-w55 {width: 55% !important;}
  #main_column .ec-productRole div.sub_area .sp-w60 {width: 60% !important;}
  #main_column .ec-productRole div.sub_area .sp-w65 {width: 65% !important;}
  #main_column .ec-productRole div.sub_area .sp-w70 {width: 70% !important;}
  #main_column .ec-productRole div.sub_area .sp-w75 {width: 75% !important;}
  #main_column .ec-productRole div.sub_area .sp-w80 {width: 80% !important;}
  #main_column .ec-productRole div.sub_area .sp-w85 {width: 85% !important;}
  #main_column .ec-productRole div.sub_area .sp-w90 {width: 90% !important;}
  #main_column .ec-productRole div.sub_area .sp-w95 {width: 95% !important;}
  #main_column .ec-productRole div.sub_area .sp-w100 {width: 100% !important;}
  #main_column .ec-productRole div.sub_area .mb30{
    margin-bottom: 30px;
  }


  #main_column .ec-productRole div.sub_area .red{
    color: #ff0000;
  }
  #main_column .ec-productRole div.sub_area h3{
    font-size: 4.0vw !important;
    font-weight: normal;
  }
  #main_column .ec-productRole div.sub_area td{
    border: 1px solid #CCCCCC;
    text-align: center;
  }
  #main_column .ec-productRole div.sub_area .subtext p,
  #main_column .ec-productRole div.sub_area .subtext li,
  #main_column .ec-productRole div.sub_area .subtext font{
    font-size: 14px;
  }
  #main_column .ec-productRole div.sub_area .subtext p .small,
  #main_column .ec-productRole div.sub_area .subtext p.small{
    font-size: 12.5px;
  }
  #main_column .ec-productRole div.sub_area .subtext ol.li-blue,
  #main_column .ec-productRole div.sub_area .subtext ol.li-blue>p,
  #main_column .ec-productRole div.sub_area .subtext ol.li-blue>li{
    font-size: 16px;
  }
  #main_column .ec-productRole div.sub_area .subtext font[size="+1"],
  #main_column .ec-productRole div.sub_area .subtext p font[size="+1"],
  #main_column .ec-productRole div.sub_area .subtext li font[size="+1"],
  #main_column .ec-productRole div.sub_area .subtext font[size="3"],
  #main_column .ec-productRole div.sub_area .subtext p font[size="3"],
  #main_column .ec-productRole div.sub_area .subtext li font[size="3"]{
    font-size: 18px;
  }

  .link_area{
    padding: 10px;
    display: none;
  }


  /*-- ショッピングモール --*/
  .other-shop-banners div{
    flex-direction: column;
  }
  #other_mall .mall {
    /*margin: 15px 0;*/
    padding: 10px 15px;
    margin: 0;
    width: 100%;
    display: flex;
    flex-direction: row;
  }
  #other_mall .mall .logo {
    width: 40%;
    display: inline-block;
    text-align: center;
  }
  #other_mall .mall img {
    max-width: 30vw;
    max-height: 30px;
  }
  #other_mall .mall .move_mall_btn {
    width: 60%;
    margin: 0px 0;
    color: white;
    height: 30px;
    line-height: 30px;
    text-align: center;
    display: inline-block;
    text-shadow: 1px -1px rgba(0, 0, 0, 0.1);
    background-color: #3598db;
    background-size: 100%;
    background-image: linear-gradient(#4ba3df 0%, #3598db 100%);
    border-radius: 4px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: rgba(0, 0, 0, 0.1) -1px 1px 0, rgba(255, 255, 255, 0.2) -1px 1px 0 inset;
  }

  .page-top-scroll{
    background: #0768AC;
    color: #fff;
    display: inline-block;
    width: 55px;
    height: 55px;
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 20;
  }
  .page-top-scroll.sp--offset{
    bottom: 65px;
  }

}


/**
Page: Blog
 */
@media (max-width: 767px) {
  /**
  一覧ページ
   */
  #pic-blog-area{
    padding: 0 10px;
  }
  h2.title:not(.search-headline){
    line-height: 1.5;
    padding: 10px 15px;
    font-size: 4.0vw;
  }
  #pic-blog-area .headline{
    padding-top: 0 !important;
    padding-bottom: 10px !important;
  }
  #pic-blog-area #blog-search-area{
    margin-top: 10px !important;
    margin-bottom: 20px !important;
  }
  div#pic-blog-area div.blog-article-list .row{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    padding: 20px;
  }
  div#pic-blog-area div.blog-article-list .row:before{
    display: none;
  }
  div#pic-blog-area div.blog-article-list article{
    width: calc(50% - 10px);
    min-height: 0 !important;
    padding: 0 0 !important;
  }
  div#pic-blog-area div.blog-article-list article .photo-area{
    width: 100% !important;
  }
  div#pic-blog-area div.blog-article-list article .blog-name{
    font-size: 3.5vw;
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  div#pic-blog-area div.blog-article-list article .blog-date{
    text-align: right;
    font-size: 3vw;
  }

  /**
  詳細ページ
   */
  #pic-blog-detail-area{
    padding: 0 10px;
  }
  #pic-blog-detail-area .title-contents .ctg-name{
    top: -15px !important;
  }
  #pic-blog-detail-area #blog-search-area{
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  #pic-blog-detail-area .blog-detail-box{
    margin-top: 20px !important;
  }
  .blog-detail-box p {
    font-size: 3.3vw;
    line-height: 1.8;
  }
  .blog-detail-box h2 {
    font-size: 4.5vw;
    margin-bottom: 20px;
  }
  #pic-blog-detail-area .blog-detail-box img{
    margin: 15px 0 !important;
  }
}

/**
Page: Sub Pages
 */
@media (max-width: 767px) {

  /**
  * Page: 会社概要
  */
  .other_page #company-profile-area{
    padding: 0 10px;
  }
  .other_page #company-profile-area .greeting > *{
    width: 100% !important;
  }
  .other_page #company-profile-area .greeting .photo-area{
    text-align: center;
  }
  .other_page #company-profile-area table{
    display: block;
    border: none;
  }
  .other_page #company-profile-area tr{
    display: block;
  }
  .other_page #company-profile-area th,
  .other_page #company-profile-area td {
    display: block;
    width: 100%;
    padding: 5px 10px;
    border: none;
  }
  .other_page #company-profile-area th{
    border: 1px solid #b7b7b7;
  }
  .other_page #company-profile-area td{
    word-break: break-word;
  }

  /**
  * Page: よくある質問
  */
  .other_page #questions_list_area{
    padding: 0 10px;
  }
  /**
  * Page: メールが届かない場合
  */
  .other_page #mail_does_not_arrive_area{
    padding: 0 10px;

  }

  /**
  * Page: ご利用ガイド
  */
  .other_page #use-guide-area{
    padding: 0 10px;
  }
  .other_page #use-guide-area .container{
    position: sticky;
    top: 0;
    z-index: 1;
    background: #FFFFFF;
    padding-bottom: 5px;
    margin-bottom: -70px;
  }
  .other_page #use-guide-area .container .row {
    display: flex;
    gap: 2px 0.5%;
    margin-bottom: 3px !important;

  }
  .other_page #use-guide-area .container .row:before,
  .other_page #use-guide-area .container .row:after{
    display: none;
  }
  .other_page #use-guide-area .container .row > *{
    display: block !important;
    width: 33% !important;
    padding: 0 !important;;
    margin:0 !important;

  }
  .other_page #use-guide-area .container .row a{
    border: none !important;
    font-size: 11.5px !important;
    text-decoration: underline !important;
    line-height: 1.5;
    padding: 5px 5px !important;
    margin-bottom: 0 !important;
    background-color: #CDF1FF !important;
  }
  .other_page #use-guide-area .container .row a span{
    display: none!important;
  }
  .guide-contents-block h4{
    padding-top: 100px !important;
  }
  .pm-credit-card img{
    max-width: 100%;
    height: auto;
  }

  .other_page #use-guide-area table{
    width: 100% !important;
  }
  .other_page #use-guide-area table th,
  .other_page #use-guide-area table td{
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 5px;
    padding-right: 5px;
    line-height: 1.5;
  }

  /**
  * Page: 個人情報保護方針
  */
  .other_page #personal-info-area{
    padding: 0 10px;
  }

  /**
  * Page: 特商法
  */
  .other_page #sctl-area{
    padding: 0 10px;
  }
  div#sctl-area div.sctl-list table tr th{
    padding: 10px 5px !important;
    line-height: 1.5 !important;
  }
  div#sctl-area div.sctl-list table tr td{
    padding: 10px 5px !important;
    line-height: 1.5 !important;
  }

  /**
  * Page: 担当者紹介
  */
  #introduction-area{
    padding: 0 10px;
  }
  #introduction-area th{
    vertical-align: top;
  }
  #introduction-area th img{
    width: 80px !important;
    height: auto;
  }
  #introduction-area td{
    padding-top: 20px !important;
  }
  #introduction-area table dl{
    margin-left: 10px !important;
    margin-bottom: 0;
  }
  #introduction-area table dt{
    font-size: 13px !important;
    margin-bottom: 10px !important;
  }
  #introduction-area table dt span{
    margin: -3px 0 0 !important;
    padding: 5px 10px !important;
    width: auto !important;
    float: none !important;
  }
  #introduction-area table dd{
    line-height: 1.5 !important;
    font-size: 13px !important;
  }

  /**
  * Page: 医薬品販売について
  */
  #pharmaceutical-sales-area{
    padding: 0 10px;
  }
  #pharmaceutical-sales-area th,
  #pharmaceutical-sales-area td{
    line-height: 1.5 !important;
    padding: 10px !important;
  }
  #pharmaceutical-sales-area table img{
    max-width: 45%;
    width: 100%;
    height: auto;
    margin-right: 0 !important;
  }
  #pharmaceutical-sales-area dd{
    line-height: 1.8 !important;
  }
  #pharmaceutical-sales-area dl a{
    line-break: anywhere;
  }

  /**
  * Page: FAXダウンロード
  */
  #fax-download-area{
    padding: 0 10px;
  }

  div#fax-download-area dl dd ul{
    display: flex !important;
    flex-direction: column;
    align-items: center;
    gap:10px;
    padding: 20px 0;
  }
  div#fax-download-area dl dd ul li{
    padding:0 !important;
  }

  /**
  * Page: お問い合わせ
  */
  .other_page .ec-contactConfirmRole,
  .other_page .ec-contactRole{
    padding: 0 10px;
  }
  .other_page .ec-contactRole table{}
  .other_page .ec-contactRole table th,
  .other_page .ec-contactRole table td{
    vertical-align: top;
  }

  /**
  * Page: 領収書発行
   */
  .other_page #undercolumn_entry {
    padding: 0 10px;
  }
  .other_page #undercolumn_entry ~ p{
    padding: 0 10px;
  }

  .other_page #undercolumn_entry table{}
  .other_page #undercolumn_entry table th,
  .other_page #undercolumn_entry table td{
    vertical-align: top;
  }
  .other_page #undercolumn_entry table a{
    display: block;
  }
  .other_page #undercolumn_entry table input[type="text"]{
    width: 100%;
  }
  .other_page #undercolumn_entry table input[type="email"],
  .other_page #undercolumn_entry table textarea{
    width: 100%;
  }
  .other_page #undercolumn_entry table input.box120{
    width: 40%;
  }
  .other_page #undercolumn_entry .box140 {
    width: 28%;
  }

  /**
  * Page: ログイン
   */
  .mypage #undercolumn,
  .cart_page .ec-role{
    padding: 0 10px;
  }
  #container .login_area dl.formlist{
    width: 100%;
    display: flex;
    flex-direction: column;
  }
  #container .login_area dl.formlist dd{
    width: 100%;
  }

  #container .login_area dl.formlist input[type=text],
  #container .login_area dl.formlist input[type=email],
  #container .login_area dl.formlist input[type=password]{
    width: 100% !important;
  }

  /**
  * Page: パスワード再発行
   */
  .ec-forgotRole{
    padding: 0 10px;
  }

  .ec-forgotRole input[type=text],
  .ec-forgotRole input[type=email],
  .ec-forgotRole input[type=password]{
    width: 100% !important;
  }

  /**
  * Page: マイページ
   */
  #mypagecolumn{
    padding: 0 10px;
  }
  div#mynavi_area .mynavi_list li{
    font-size: 13px;
  }
  div#mycontents_area .message_area{
    padding: 10px;
  }
  div#mycontents_area .message_area br{
    display: none;
  }
  .box190{
    width: 50%;
  }

  div#mycontents_area .message_area li{
    padding-right: 5px;
  }
  div#mycontents_area .message_area a,
  div#mycontents_area .message_area button{
    font-size: 13px !important;
  }
  div#mycontents_area .box120{
    width: 80%;
  }

  /**
  フォーム
   */
  #entry_address_addr01,
  #entry_address_addr02,
  #customer_address_address_addr01,
  #customer_address_address_addr02,
  #nonmember_address_addr01,
  #nonmember_address_addr02,
  #shopping_shipping_address_addr01,
  #shopping_shipping_address_addr02{
    width: 100% !important;
    margin-top: 8px;
  }
  input[type=password],
  input[type=email],
  #entry_email,
  #entry_email_first,
  #entry_email_second,
  #nonmember_email,
  #nonmember_email_first,
  #nonmember_email_second{
    width: 100% !important;
    margin-bottom: 5px;
  }
  div#mycontents_area table a{
    display: block;
  }
  .btn_area ul{
    display: flex;
    flex-direction: column;
  }
  .btn_area.sp--reverse ul{
    flex-direction: column-reverse;
  }

  .btn_area li{
    width: 100%;
    display: block;
    padding-right: 0;
    margin-bottom: 10px;
  }
  .btn_area li .btn{
    width: 100%;
    padding: 10px;
    font-size: 16px;
  }

  /**
  * Page: 会員登録
   */
  #undercolumn_entry,
  .cart_page .ec-customerRole{
    padding: 0 10px;
  }

  #undercolumn_customer .box120,
  #undercolumn_entry .box120{
    width: 80%;
  }
  /*#undercolumn_customer table a,*/
  /*#undercolumn_entry table a{*/
  /*  display: block;*/
  /*}*/

  /**
  * Page: カート
  */
  #undercolumn_cart{
    padding: 0 10px;
  }
  #undercolumn_cart .ec-cartTable thead{
    display: none;
  }
  #undercolumn_cart .ec-cartTable table,
  #undercolumn_cart .ec-cartTable tbody{
    display: block;
  }
  #undercolumn_cart .ec-cartTable th{
    display: none;
  }
  #undercolumn_cart .ec-cartTable tr{
    padding: 20px 0 20px;
    display: grid;
    grid-template-columns: 70px 1fr 1fr 55px;
    border-bottom: 1px solid #ccc;
  }
  #undercolumn_cart .ec-cartTable tr td{
    display:block;
    padding: 5px 3px;
    border:none;
  }
  .ec-cartRow__sutbtotalSP{
    display: none;
  }
  #undercolumn_cart .ec-cartTable tr td:nth-child(1){
    grid-row: 2 / 4;
    grid-column: 4 / 5;
    position: relative;
    text-align: right;
  }
  #undercolumn_cart .ec-cartTable tr td:nth-child(1) a{
    border: 1px solid #990000;
    border-radius: 3px;
    margin: 0 5px;
    padding: 3px 5px;
    background: #990000;
    color: #FFFFFF;
    font-size: 12px;
    display: inline-block;
    position: relative;
    top: -4px;

  }
  #undercolumn_cart .ec-cartTable tr td:nth-child(2){
    grid-row: 1 / 4;
    grid-column: 1 / 2;
  }
  #undercolumn_cart .ec-cartTable tr td:nth-child(2) img{
    width: 100%;
    height: auto;
  }
  #undercolumn_cart .ec-cartTable tr td:nth-child(3){
    grid-row: 1 / 2;
    grid-column: 2 / 5;
  }
  #undercolumn_cart .ec-cartTable tr td:nth-child(4),
  #undercolumn_cart .ec-cartTable tr td:nth-child(5),
  #undercolumn_cart .ec-cartTable tr td:nth-child(6){
    position: relative;
    background: #fff;
    text-align: center;
    padding: 2px 0;
    font-size: 15px;
    padding-left: 15px;
  }
  #undercolumn_cart .ec-cartTable tr td:nth-child(4):before,
  #undercolumn_cart .ec-cartTable tr td:nth-child(5):before,
  #undercolumn_cart .ec-cartTable tr td:nth-child(6):before{
    display: inline-block;
    position: absolute;
    font-size: 10px;
    left: 5px;
    top: 5px;
    color: #666666;
  }
  #undercolumn_cart .ec-cartTable tr td:nth-child(4){
    grid-row: 2 / 3;
    grid-column: 2 / 3;
  }

  #undercolumn_cart .ec-cartTable tr td:nth-child(5){
    grid-row: 2 / 4;
    grid-column: 3 / 4;
  }
  #undercolumn_cart .ec-cartTable tr td:nth-child(6){
    grid-row: 3 / 4;
    grid-column: 2 / 3;
  }
  #undercolumn_cart .ec-cartTable tr td:nth-child(4):before{
    content: "価格";
  }
  #undercolumn_cart .ec-cartTable tr td:nth-child(5):before{
    content: "数量";
  }
  #undercolumn_cart .ec-cartTable tr td:nth-child(6):before{
    content: "小計";
  }

  #undercolumn_cart .ec-cartTable .ec-cartRow__amount,
  #undercolumn_cart .ec-cartTable ul{
    display: inline-block;
    margin: 0 0 0px;
  }

  #undercolumn_cart .ec-cartTable tr:last-child{
    border-top: 3px double #b7b7b7;
    background: #efefef;
    display: flex;
    justify-content: flex-end;
    padding: 5px 10px;
  }
  #undercolumn_cart .ec-cartTable tr:last-child *{
    font-weight: bold;
    font-size: 16px;
  }
  #undercolumn_cart .ec-cartTable tr:last-child th{
    display: inline-block !important;
    border:none;
    background: transparent;
    padding: 5px 3px;
  }


}


/**
Page: ショッピングカート
 */
.ec-orderAccount__account,
.non-customer-display{
  padding: 20px;
}
.ec-orderDelivery__title{
  padding-top: 20px;
  font-weight: bold;
}
.ec-orderDelivery__item{
  margin-top: 20px;
}
.ec-orderDelivery__item .ec-borderedList{
  margin-bottom: 0;
}

.ec-orderDelivery__item .ec-imageGrid{
  display: flex;
  gap: 20px;
  align-items: center;
  border: 1px solid #b2b2b2;
  padding: 10px;
  margin-top: 0px;
}

.ec-orderDelivery__item .ec-imageGrid .ec-imageGrid__img{
  width: 120px;
}
.ec-orderDelivery__item .ec-imageGrid .ec-imageGrid__img img{
  width: 100%;
}
.ec-orderDelivery__item .ec-imageGrid p{
  margin-bottom: 10px;
}
.ec-orderDelivery{
  padding-bottom: 30px;
}
.ec-orderDelivery__address{
  position: relative;
  padding: 20px 20px 20px;
  margin-bottom: 20px;
  background: #f9f9f9;
}
.ec-orderDelivery__change{
  position: absolute;
  top: 20px;
  right: 20px;
}
.ec-orderDelivery__actions{
  padding-left: 100px;
  padding-bottom: 10px;
}
.ec-orderDelivery__actions .ec-select{
  display: flex;
  padding-bottom: 10px;
  align-items: center;
}
.ec-orderDelivery__actions .ec-select label{
  font-weight: bold;
  padding: 5px 0 ;
  width: 100px;
}
.ec-orderPayment{
  padding-bottom: 20px;
}
.ec-orderPayment .ec-radio,
.ec-orderPayment .ec-blockRadio{
  padding: 20px;
}
.ec-orderPayment .ec-radio label{
  cursor: pointer;
}
#shopping_order_message{
  margin-top: 20px;
}
.ec-orderRole__summary{
  background: #f2f2f2;
  padding: 20px;
  margin: 30px 0;
}
.ec-orderRole__summary dl{
  display: flex;
  margin-bottom: 10px;
  gap: 20px;
}
.ec-orderRole__summary dt{
  width: 120px;
  text-align: right;
}
.ec-orderRole__summary dd{
  width: calc(100% - 120px);
}
.ec-orderRole__summary dd span{
  margin: 0 10px 0 0;
}
.ec-totalBox__paymentTotal *{
  font-weight: bold;
}
.ec-totalBox__btn{
  text-align: center;
  padding-top: 20px;
}
.ec-totalBox__total{
  font-weight: bold;
}

@media (max-width: 767px) {
  #page_shopping_confirm .ec-role,
  #page_shopping_shipping_multiple .ec-role,
  #page_shopping_shipping_multiple .ec-AddAddress,
  #page_shopping_shipping .ec-role,
  #page_shopping_shipping .ec-registerRole,
  #page_shopping .ec-role,
  #page_shopping .ec-cartRole,
  .ec-cartCompleteRole,
  #shopping-form{
    padding: 0 10px;
  }
  .ec-orderDelivery__address{
    padding-bottom: 90px;
  }
  #page_shopping_confirm .ec-orderDelivery__address
  {
    padding-bottom: 10px;
  }
  .ec-orderDelivery__change{
    top: auto;
    bottom: 10px;
    right: auto;
  }
  .ec-orderDelivery__actions{
    padding-left: 30px;
  }
  .ec-orderDelivery__actions .ec-select label,
  .ec-orderDelivery__actions .ec-select select{
    font-size: 13px;
  }

  #undercolumn_shopping .information{
    width: 100%;
  }

  #undercolumn_shopping .box120{
    width: 80%;
  }
  #undercolumn_shopping table a{
    display: block;
  }
}


/**
Page: ショッピングカート(複数の配送先)
 */
.ec-AddAddress__add{
  padding-top: 30px;
  padding-bottom: 50px;
}
.ec-AddAddress__item{
  display: flex;
  gap: 20px;
  align-items: center;
  border: 1px solid #b2b2b2;
  padding: 10px;
  margin-top: 20px;
}
.ec-AddAddress__item .ec-AddAddress__itemThumb{
  width: 120px;
}
.ec-AddAddress__item .ec-AddAddress__itemThumb img{
  width: 100%;
}
.ec-AddAddress__item .ec-imageGrid p{
  margin-bottom: 10px;
}
.shipping_item{
  padding: 10px 0px;
  margin-left: 100px;
  position: relative;
}
.shipping_item+.shipping_item{
  border-top: 1px dashed #b2b2b2;
}
.shipping_item select{
  padding: 10px;
  border-radius: 5px;
}
.shipping_item .ec-inlineBtn.delete{
  position: absolute;
  right: 10px;
  top: 10px;
}
.ec-AddAddress__btn{
  margin-left: 100px;
}
.shipping_item label{
  white-space: nowrap;
  width: 80px;
}
.ec-AddAddress__selectNumber .ec-input{
  padding: 10px 0;
  display: flex;
  gap: 5px;
  align-items: center;
}

.ec-AddAddress__selectNumber .ec-input input{
  width: 80px;
  text-align: center;
}
.ec-AddAddress__actions{
  border-top: 1px solid #b2b2b2;
  margin-top: 20px;
  padding-top: 20px;
  padding-bottom: 20px;
  text-align: center;
}

@media (max-width: 767px) {
  .ec-AddAddress__add{
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .shipping_item{
    margin-left: 30px;
  }
  .ec-AddAddress__selectAddress .ec-select,
  .ec-AddAddress__selectNumber .ec-input{
    flex-direction: column;
    align-items: flex-start;
  }
  .shipping_item .ec-inlineBtn.delete{
    position: relative;
    top: 0;
    right: auto;
  }

}



/**
Page: お問い合わせ拡張
 */
.product_row{
  display: flex;
  border: 1px solid #b7b7b7;
  margin-top: 20px;
}
.product_row dt{
  width: 220px;
  border-right: 1px solid #b7b7b7;
  background: #f9f9f9;
  font-size: 12px;
  margin: 0;
  padding: 15px 8px 15px 10px;
}
.product_row dd{
  padding: 15px 8px 15px 10px;
}
.product_row div{
  display: flex;
  gap: 15px;
}
@media (max-width: 767px) {
  .product_row dt{
    width: 77px !important;
  }
  .product_row dd{
    width: calc(100% - 77px) !important;
  }
  .product_row dd img{
    width: 60px !important;
  }
  .product_row div{
    gap: 5px;
  }

}
