@charset "utf-8";
/* CSS Document */

/*=========================
　　　　年齢確認
===========================*/
.modal{
	position:fixed;
	display:none;
	z-index:9999;
	top:35%;
	width:400px;
	height:225px;
	padding:20px;
	margin: 0 auto;
	text-align:center;
	background: #000;
	color: #fff;
}
.modal_title{
	margin: 15px 0;
	font-size: 20px;
	font-weight: 600;
}
.modal a{
	cursor:pointer;
	display: inline-block;
	padding: 10px 2%;
	background: #fff;
	border-radius: 100px;
	color: #000;
	font-size: 30px;
	font-weight: 600;
	width: 30%;
	margin: 2%;
    text-decoration: none;
}
/* ------------ cookie style ------------- */
.cookie-consent {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  bottom: 0;
  width: 100%;
  font-size: 13px;
  gap:0 1.15em;
  color: #fff;
  font-weight: 500;
  background: rgba(0,0,0,.7);
  padding: 0.75em 1.2em;
  box-sizing: border-box;
  z-index: 100;
  visibility: hidden;
}
.cookie-consent.is-show {
  visibility: visible;
}
.cookie-consent a {
  color: #fff !important;
}
.cookie-consent{
  line-height:1.5;
}
.cookie-agree {
  color: #fff;
  background: #035d2d;
  padding: .5em 1.5em;
  letter-spacing: 0.25em;
  border-radius: 3px;
}
.cookie-agree:hover {
  cursor: pointer;
}
/* パッと消える */
.cc-hide1 {
  display: none;
}
@media (any-hover: hover){
    .cookie-text > a:hover{text-decoration: underline;}
}

@keyframes hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}

@media screen and (max-width: 600px) {
  .cookie-consent{
    font-size:12px;
  }
}
/* ------------ cookie style -------------- */
/* ====== header ======= */
.ec-headerNaviRole {
    padding-bottom: 20px;
}
.ec-layoutRole__header{
    margin-bottom:45px;
}
.echeader_wrap{
    max-width:100%;
    background: url(/shop/html/template/default/assets/img/header/header_bg.jpg) center no-repeat;
    background-size: cover;
}
.ec-headerRole{
    padding-left: 0;
    padding-right: 0;
    padding-top:30px;
}
.ec-categoryNaviRole {
    padding-bottom: 20px;
    max-width: 1250px!important;
}
.ec-itemNav__nav li a {
    background: none;
    font-size: 18px;
    color: #ffffff;
    padding: 5px 18px;
    line-height: unset;
}
.ec-itemNav__nav li a:hover{
    background: none;
    opacity: 0.7;
}
.ec-headerTitle .ec-headerTitle__title a {
    display: block;
    width: 300px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 35px;
    margin-top: 5px;
}
/*----クール便----*/
.head-cool{
	color:#fff;
	padding:10px 0;
	display:block;
	background:#00A4E3;
	font-size:20px;
	text-align:center;
	font-weight:600;
}
.head-cool:hover{color:#fff;}


/* ====== footer ====== */
.ec-footerTitle {padding:30px 0 15px;}
.ec-footerTitle__logo{padding-bottom:50px;}
.ec-footerTitle__logo a{
    display: block;
    max-width: 270px;
    margin: 0 auto;
    text-align: right;
}
.ec-footerTitle__logo a img{
    width: 100%;
}
.ec-footerTitle__logo a span{
    font-size: 13px;
    font-weight: normal;
    text-align: center;
    padding-top: 13px;
    display: block;
}
/* ======= toppage ======== */
@media(min-width:1201px){
    .banner__list{
        max-width:1090px;
    }
    .banner__list li{
        width: 530px;
    }
}
#banner__area{
    padding-bottom: 20px;
}
.banner__list{
    max-width:93%;
    margin:15px auto 0;
    padding: 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.banner__list li{
    width:46.8%;
    list-style:none;
}
.banner__list li a p.banner img{
        width: 100%;
        height: 100%;
        object-fit:cover;
}
.banner__list li p.banner{
    width: 100%;
    height: 300px;
    overflow: hidden;
}
.banner__list li:nth-of-type(n+3){
    margin-top:35px;
}
.banner__list li p.banner_ex{
    margin-top: 1.2em;
}
.banner__list li a p.banner img{
    transition: all .3s;
}
.banner__list li a:hover p.banner img{
    transform: scale(1.1);
}
.banner__list li a:hover{text-decoration: none;}
.banner__list li a p.banner_ex{
    text-decoration: none!important;
    color: #000000;
    transition: all.3s;
}
.banner__list li a:hover p.banner_ex{
    opacity: 0.8;
}
/* ===== bottombanner ======= */
.bottombanner_area{
    max-width: 93%;
    margin:50px auto;
    display: flex;
    align-items: center;
}
.b-banner a img{
    width: 100%;
}
.b-banner:nth-of-type(1){
    max-width:340px;
}
.b-banner:nth-of-type(2){
    max-width:300px;
    margin: 0 30px;
}
.b-banner:nth-of-type(3){
    max-width:375px;
}
.app_area{
    text-align: center;
    color: #1976d3;
    font-size: 23px;
    font-weight: bold;
    max-width: 93%;
    margin: 90px auto 0;
}
.app_area p{
    margin-bottom: 23px;
}
.app{
    display: inline-block;
    margin: 5px 10px;
}
/* ----- hoveroff ------ */
.banner__list li.hoveroff a:hover p.banner img{
    transform:none;
}
.banner__list li a:hover p.banner_ex{
    opacity:unset;
    text-decoration: none;
}
/* ====== 商品ページ ======= */
.ec-productRole .ec-productRole__title .ec-headingTitle {
    font-size: 34px;
    font-weight: bold;
}
.ec-productRole .ec-productRole__tags {
    margin-top:10px;
    padding: 0;
    padding-bottom: 10px;
    border-bottom: 1px dotted #ccc;
}
.ec-productRole .ec-productRole__description{
    font-size: 18px;
    margin-top:25px;
}
.item_table_outer{
    display: flex;
    justify-content: space-between;
}
table.item_table{
    max-width: 410px;
    margin: 0 118px 0 auto;
    font-size: 14px;
    border-collapse: collapse;
    border-spacing: 0;
}
table.item_table th,table.item_table td{
    border: 1px solid #cccccc;
}
table.item_table th{
    width: 130px;
    color: #ffffff;
    background:#999999;
    text-align: center;
    font-weight: normal;
    padding: 10px 0;
}
table.item_table td{
    width: 280px;
    text-align: left;
    padding: 10px 0 10px 18px;
    color: #333333;
}
/* 追加分 */
table.detail-table{
    width: 46%;
    margin: 0 30px 0 auto;
    font-size: 14px;
    border-collapse: collapse;
    border-spacing: 0;
}
table.detail-table th.tm-item {
    text-align: center;
    border: none!important;
}
table.detail-table th,table.detail-table td{
    border: 1px solid #cccccc;
}
table.detail-table th.d-item{
    text-align: center;
    padding:0px 10px;
    font-weight: normal;
    width: 25%;
    background: #999999;
    color: #ffffff;
}
table.detail-table td{
    text-align: center;
    color: #333333;
}
#soryo_block{
	margin-top:10px;
	border:solid 2px #FF0000;
	color:#000;
}
.soryo_block_title{
	margin:0;
	padding:5px 2%;
	background:#F00;
	color:#fff;
	text-align:center;
	font-weight:600;
}
#soryo_block div{
	padding:10px 3%;
}
.ec-blockBtn--action.disabled, .ec-blockBtn--action[disabled], fieldset[disabled] .ec-blockBtn--action{
	background:#999!important;
	border:solid 1px #999!important;
}

/* ======== 商品ページ下バナー ======== */
#itempagebottom_banner .banner__list {
    max-width: 97%;
    margin: 100px auto 0;
}
#itempagebottom_banner .banner__list li {
    width: 48%;
    list-style: none;
}
/* ====== 注文ガイド ======= */
.guide_text dd{
	line-height:1.8!important;
	padding:14px 0;
}
/* ============ クーポン ================ */
#coupon-wrapper{
    width: 100vw;
    background: #f6f6f6;
    margin: 0 calc(50% - 50vw);
}
input.couponbtn{
    border-radius: 16px;
    padding:7px 7px 4px 7px;
    margin:5px 15px;
    color: #0066cc;
    border:#ffffff 2px solid;
    background: #dddddd;
    font-size: 15px!important;
}
.coupon-blk{
    max-width:596px;
    margin: 0 auto;
}
/* ============ 特商法 販売管理者指標 ============ */
table.tradelawtable {
    width: 100%;
    border-spacing: 0;
    border-collapse: collapse;
}
table.tradelawtable tbody th,
table.tradelawtable tbody td{
    border: 1px solid #d3d1d1;
    padding: 0.5em 1em;
}
th.midashi {
    font-size: 1.95rem;
    padding: 9px 0;
}
table.tradelawtable tbody th{
    text-align: center;
    line-height: 1.25;
    padding-top: 0.75em;
}
@media only screen and (max-width: 475px){
    table.tradelawtable tbody th br{
        display: none;
    }
    table.tradelawtable tbody th,
    table.tradelawtable tbody td{
        display: block;
        width: 100%;
    }
    table.tradelawtable tbody th,
    table.tradelawtable tbody td.nl{
        border-bottom: none;
    }
}
/* ============================================================== media */
@media only screen and (min-width: 768px){
    /* ====== header ===== */
    .ec-itemNav__nav {
        display: flex!important;
        justify-content: center;
    }
    .ec-itemNav__nav li {
        float:none;
        width: auto;
    }
}

@media(max-width:1130px){
    /* ===== 商品ページ ===== */
    .item_table_outer{
        width: 100%;
        margin: 0 0 0 auto;
    }
    table.item_table {
        max-width:48%;
        width: 48%;
        margin: 0 0 0 0;
    }
}
@media(max-width:1160px){
    /* ====== header ====== */
    .ec-categoryNaviRole {
        width:95%;
        max-width:95%;
        padding-left: 0px;
        padding-right: 0px;
    }
    .ec-itemNav__nav {flex-wrap: wrap;}
    .ec-itemNav__nav li a{
        font-size: 16px;
        padding: 5px 14px;
    }
}
@media(max-width:1079px){
    .ec-productRole .ec-productRole__title .ec-headingTitle {font-size: 30px;}
}
@media(max-width:970px){
    .ec-itemNav__nav li a{
        font-size: 16.5px;
        padding: 5px 12px;
    }
}
@media(max-width:795px){
    .ec-headerNav .ec-headerNav__itemLink{display: none;}
    .ec-productRole .ec-productRole__title .ec-headingTitle {font-size: 26px;}
}
@media(max-width:767px){
    /*-----年齢確認-----*/
	.modal{
		width: 94%;
		padding: 20px 2%;
	}
	.modal a{width: 38%;}
    /* ===== header ===== */
    .ec-layoutRole__header {margin-bottom: 37px;}
    .ec-headerNaviRole {padding-bottom:0px;}
    /* ==== footer ==== */
    .ec-footerRole {padding-top: 20px;}
    .ec-footerNavi .ec-footerNavi__link a {border-bottom:none;}
    .ec-footerTitle {padding: 20px 0 15px;}
    /* ====== toppage ====== */
    .banner__list{
        max-width:90%;
    }
    .banner__list{
        justify-content:center;
    }
    .banner__list li{
        width:100%!important;
    }
    .banner__list li:nth-of-type(n+2){
        margin-top:35px;
    }
    .banner__list li p.banner {
        width: 100%;
        height: 205px;
    }
    /* ======= 商品ページ ======= */
    .item_table_outer{width: 100%;}
    table.item_table{
        width: 100%;
        max-width: 100%;
    }
    table.item_table th{
        width: 30%;
    }
    table.item_table td{
        width: 70%;
    }
    .item_table_outer{
        display: flex;
        justify-content:center;
        flex-wrap: wrap;
    }
    table.detail-table{
        width: 100%;
        margin: 0 auto 35px;
    }
    table.detail-table th.tm-item {
        padding-top: 10px;
        padding-bottom: 7px;
    }
    table.detail-table th.d-item,table.detail-table td {
        padding:7px 10px;
    }
    /* 詳細ページ下バナー */
    #itempagebottom_banner .banner__list {
        max-width: 97%;
        margin: 85px auto 50px;
    }
    /* ====== bottombanner ======= */
    .bottombanner_area {
        display:block;
        text-align: center;
    }
    .b-banner{
        margin: 17px auto!important;
        max-width:450px!important;
    }
}
@media(max-width:500px){
    .ec-productRole .ec-productRole__title .ec-headingTitle {
        font-size: 23px;
    }
    /* ==== header ==== */
    .shopitem {
        max-width: 87%;
        margin: 0 auto;
    }
    /* ====== footer ===== */
    .ec-footerTitle__logo a {max-width: 240px;}
    /* ====== bottombanner ======= */
    .b-banner {
        max-width: 320px!important;
    }
    .app_area {
        font-size: 21px;
        margin: 70px auto 0;
    }
}
@media(max-width:370px){
    /* ==== header ==== */
    .shopitem {
        max-width: 85%;
        margin: 0 auto;
    }
    /* ==== footer ==== */
    .ec-footerTitle__logo a {max-width:75%;}
    .ec-footerTitle__logo a img{width: 100%;}
    .ec-footerTitle__logo a span {padding-right: 0px;}
    /* ======= 商品ページ ======= */
    table.item_table th,table.item_table td{
        width:100%;
        display: block;
        text-align: left;
        padding:10px 0 10px 18px;
    }
    table.item_table th{
        border-bottom: none;
    }
}