@charset "utf-8";
  #itemList_wrap { display: block; } /* 商品一覧表示 */
  .header_area { width: 1024px; margin: 0 auto; }

/* ヘッダー
====================================================*/
#categorylp_header{
  margin:0px;
  padding:0px;
}


/* 終了アテンション
====================================================*/
.attention_area {
  border: solid 1px;
  max-width: 800px;
  margin: auto;
  text-align: center;
  margin-top: 2rem;
  margin-bottom: 2rem;
  background-color: #fffccb;
  padding: 1rem;
}

/* 背景
====================================================*/
/*オリジナル*/
.etr_contents_bg {
  width: 100%;
  margin: auto;
  background-image: url("https://www.eitarosouhonpo.co.jp/pic-labo/vd26_bg.jpg");
  /*background-color: #ede7d7;*/
  background-repeat: repeat-y;
  background-position: top center;
  background-size: 100% auto;
  background-attachment: scroll; 
}


/* アイコン
====================================================*/
/*全体*/
.etr_iconarea {
  min-height: 56px;
  padding: 5px;
}
.etr_iconarea ul {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: flex-start;
  font-size: 12px;
}

/*ブランド　榮太樓*/
.item_op_e{
background-color: #043459;
color:#fff;
padding:3px;
text-align: center;
display: inline-block;
font-size: 0.6rem;
}

/*ブランド　あめやえいたろう*/
.item_op_ae{
background-color: #c9004c;
color:#fff;
padding:3px;
text-align: center;
display: inline-block;
font-size: 0.6rem;
}

/*ブランド　NE*/
.item_op_ne{
background-color: #c3464b;
color:#fff;
padding:3px;
text-align: center;
display: inline-block;
font-size: 0.6rem;
}

/*ブランド　TP*/
.item_op_tp{
background-color: #1d2088;
color:#fff;
padding:3px;
text-align: center;
display: inline-block;
font-size: 0.6rem;
}

/*ブランド　KE*/
.item_op_ke{
background-color: #785134;
color:#fff;
padding:3px;
text-align: center;
display: inline-block;
font-size: 0.6rem;
}

/*季節限定*/
.item_op1{
background-color: #aa2329;
color:#fff;
padding:3px;
text-align: center;
display: inline-block;
font-size: 0.6rem;
}

/*送料無料*/
.item_op2{
background-color: #ff0c00;
color:#fff;
padding:3px;
text-align: center;
display: inline-block;
font-size: 0.6rem;
}

/*オンライン限定*/
.item_op3{
background-color: #00a0ff;
color:#fff;
padding:3px;
text-align: center;
display: inline-block;
font-size: 0.6rem;
}

/*早割対象*/
.item_op4{
background-color: #d03551;
color:#fff;
padding:3px;
text-align: center;
display: inline-block;
font-size: 0.6rem;
}

/*熨斗限定*/
.item_op5{
background-color: #008402;
color:#fff;
padding:3px;
text-align: center;
display: inline-block;
font-size: 0.6rem;
}

/*季節限定商品*/
.item_op6{
background-color: #ff7351;
color:#fff;
padding:3px;
text-align: center;
display: inline-block;
font-size: 0.6rem;
}


/* 装飾
====================================================*/
.etr_lpread img {
    max-width: 500px;
    width: 100%;
    display: block;
    margin: auto;
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.ctgy_titlearea img {
    /*max-width: 350px;*/
    width: 80%;
    margin-top: 1rem;
}
.etr_lplinkbnr img {
	margin-bottom: 3rem;
	width: 97%;
}


/* リードエリア
====================================================*/
.titlearea {
  position: relative;
  width: 100%;
  margin-top: 6rem;
}

.titlearea .titlearea_bg {
  width: 100%;
  display: block;
}

.titlearea .titlearea_img {
    position: absolute;
    top: -40%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 500px;
    width: 90%;
}


/* ページ内遷移
====================================================*/
.pagelinkarea {
    display: flex;
    gap: 0 20px;
    justify-content: center;
    margin-bottom: 0.5rem;
    flex-wrap: wrap;
}
.pagelinkarea a {
    width: calc((100% / 2) - 15px);
    text-align: center;
    line-height: 20px;
    padding: 0.2rem 0;
}
.section {
    display: block;
    padding-top: 80px;
    margin-top: -80px;
}

/* 商品エリア
====================================================*/
.contents_area {
  width: 100%;
  margin: auto;
  text-align: center;
}
.etr_container {
  max-width: 1024px;
  margin: 0 auto;
  width: 98%;
  margin-bottom: 1.5rem;
  /* 追加 */
  background: #fff;
  padding: 10px 0;
  border-radius: 30px;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, .1);
  box-shadow: 0 3px 6px rgba(0, 0, 0, .1);  
  /* 追加 */
}
.etr_grid{
  display:grid;
  align-items:stretch;
  gap: var(--gap-pc);
  background: #fff;
    /* 追加 */
  padding:10px;
}
.etr_card{
  display:flex;
  flex-direction: column;
  height:100%;
  text-decoration: none;
  color: inherit;
  overflow:hidden;
  transition: opacity .2s ease, transform .06s ease;
  will-change: opacity;
  color: #333;
}

.etr_card {
  position: relative;
  }

a.etr_card::before{
  content:"";
  position:absolute;
  inset:-10px;
  background:#fff;
  pointer-events:none;
  z-index:-1;
  --r: 15px;
  --p: 20px;
  --o: -3px;
  --mask:
    radial-gradient(var(--r) at 50% var(--o), #000 99%, #0000 101%)
      calc(50% - var(--p)/2) 0/var(--p) 51% repeat-x,
    radial-gradient(var(--r) at 50% calc(100% - var(--o)), #000 99%, #0000 101%)
      calc(50% - var(--p)/2) 100%/var(--p) 51% repeat-x,
    radial-gradient(var(--r) at var(--o) 50%, #000 99%, #0000 101%)
      0 calc(50% - var(--p)/2)/51% var(--p) repeat-y,
    radial-gradient(var(--r) at calc(100% - var(--o)) 50%, #000 99%, #0000 101%)
      100% calc(50% - var(--p)/2)/51% var(--p) repeat-y;

  -webkit-mask: var(--mask);
          mask: var(--mask);

  box-shadow: 0 6px 12px rgba(0,0,0,.10);
}

a.etr_card > *{
  position: relative;
  z-index: 1;
}
a.etr_card:hover {
    transform: translateY(-2px);
    color: #666666;
    opacity: 0.9;
}
.etr_card:hover {
  opacity: .85;
  cursor: pointer
}
.etr_card:focus-visible{ outline: 2px solid #aaa; outline-offset: 2px; }
.etr_card__img:hover,
.etr_card__body:hover,
.etr_btnlike:hover {
  opacity: 1 !important;
}
a.etr_card {
    text-decoration: none;
    background-image: url("https://www.eitarosouhonpo.co.jp/pic-labo/vd26_itembg.jpg");
    background-size: cover;
}
p.etr_card__desc {
    text-align: left;
}
.etr_card__img img{
    display: block;
    width: 100%;
    margin: auto;
}
h3.etr_card__title {
    min-height: 3.5em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 0.9rem;
    padding: initial;
    font-weight: 100;
}
.etr_card__body{
  display:flex;
  flex-direction: column;
  gap:12px;
  padding: 5px;
  flex:1;
  color: #333;
}
.etr_card__title{
  font-size:1rem;
  line-height:1.5;
  font-weight:700;
  margin:0;
}
.etr_card__desc{
  font-size:0.8rem;
  line-height:1.7;
  margin:0;
}
.etr_card__meta{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap:12px;
  flex-direction: column;
}
.etr_price {
    font-size: 1.05rem;
    font-weight: 700;
}
.etr_btnlike{
  display:inline-block;
  padding:0.5rem 0;
  background: #aa2329;
  color:#fff;
  font-weight:700;
  white-space:nowrap;
  width: 100%;
  text-align: center;
  font-size: 0.7rem;
}
figure.etr_card__img {
  margin: inherit;
  padding: 5px;
}
span.etr_price small {
    font-size: 0.7rem;
}
a.etr_card-1col {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 5px;
    gap: 10px;
}
a.etr_card-1col img {
    width: 100%;
    margin: initial;
}
a.etr_card-1col .etr_card__body {
    width: 60%;
    flex: inherit;
    padding: inherit;
}
.etr_grid--1col {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 10px;
  background: transparent;
}
.etr_grid--2col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  background: transparent;
}
.etr_grid--3col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  background: transparent;
}
.etr_grid--3colrank {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  background: transparent;
}
.etr_grid--4col{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  background: transparent;
}
a.etr_card:hover .etr_card__desc {
  color: #inherit;
}
.etr_catbtn img {
    margin-bottom: 2rem;
}


/*soldout*/
a.etr_card.etr_soldout {
    position: relative;
    pointer-events: none;
}
.etr_card__etr_soldout-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 1.1rem;
    font-weight: bold;
    z-index: 3;
    white-space: nowrap;
}
a.etr_card.etr_soldout:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.45);
    z-index: 2;
}

