/* CSS Document */

/*----------------------------------------
shop/sale.jsp　スタイルシート
PC/SP共通
----------------------------------------*/
body.ex-salepage.pc .sp_view{display: none;}
body.ex-salepage.sp .pc_view{display: none;}

body.ex-salepage #contents .inner h2{
	background: #E3111A;
	padding: 0;
	overflow: hidden;
}
body.ex-salepage.pc #contents h2{
    border-radius: 5px;
    text-align: center;
}
body.ex-salepage #contents-main.all{
	padding-top: 40px;
    background: #fff;
    margin-top: 40px;
}
body.ex-salepage.sp #contents-main.all{
	padding: 0 0 40px;
	margin-top: 0px;
	background: transparent;
}
body.ex-salepage #contents {
    padding-bottom: 0;
    background-color: #fff;
}
body.ex-salepage #contents-main section.item_cont h3.cont_ttl {
    color: #fff;
    text-align: center;
    font-size: 200%;
    padding: 22px 0;
    background: #874797;
    border-radius: 0;
    line-height: 2.3rem;
}
body.ex-salepage.sp #contents-main h3.cont_ttl {
    font-size: 25px;
    padding: 20px;
    letter-spacing: 0rem;
    border-radius: 0;
    line-height: 2rem;
}
body.ex-salepage #contents-main section {
    overflow: hidden;
    background-color: #fff;
    border-radius: 30px;
    background: #fff;
    box-shadow: 3px 3px 5px rgb(0 0 0 / 15%);
}
/*----------------------------------------
ショップリスト
.shoplistbox
----------------------------------------*/
body.ex-salepage .shoplistbox .item {
    width: 100%;
    display: flex;
    background-color: transparent;
    margin: 0;
    padding: 16px 0;
    border-top: 1px solid #e5e5e5;
}
body.ex-salepage .shoplistbox .item:nth-child(-n+4) {
    border-top: 1px solid #e5e5e5;
}
body.ex-salepage .shoplistbox .item:first-child {
    border-top: 0;
}

body.ex-salepage .shoplistbox .item .service {
    padding: 0;
    text-align: left;
    justify-content: left;
    border-radius: 10px;
    flex: 1;
    display: block;
    min-height: auto;
}


/*各ショップのセール情報*/



body.ex-salepage #contents-main h3{
    color: #FFF;
    font-size: 30px;
    font-weight: bold;
    padding: 10px 0 16px;
}


body.ex-salepage .shoplist_cat .item{
    .detail{
		display: flex;
		align-items: center;
		flex: 0.9;
		padding: 20px 0px 20px 20px;
		display: flex;
		justify-content: space-between;
    }
    .shopname{
		font-weight:bold;
		width: 60%;
		min-height: 0;
		font-size: 110%;
		flex: 1;
		text-align: left;
		-webkit-line-clamp: none;
      h4{
        font-size: 16px;
        font-weight: bold;
        margin-bottom: 0.2em;
      }
      span{
        padding-bottom:4px;
        font-weight: normal;
        font-size: 14px;
        display: block;
      }
    }
    .logo {
      width: 30%;
		margin: 0 30px;
      img {
        max-height: 50px;
		max-width: 100px;
      }
    }
    .service .text{
		 font-size: 120%;
	    font-weight: bold;
	    line-height: 1.8;
	    background-color: #faf9c4;
	    padding: 20px 40px 20px;
	    border-radius: 8px;
	    box-sizing: border-box;
	    min-height: 90px;
	    align-items: center;
	    flex-wrap: wrap;
	    color: #E4111A;
		em{
			font-size: 80%;
			display: block;
			font-weight: bold;
			text-align: left;
			color: #333;
		}
    }
    .shopitem{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px;
    padding: 15px 0 0;
    position: relative;
    }
    .shopitem:before{
        content: "WHAT'S NEW!";
        display: block;
        width: 100%;
        text-align: center;
        background: #fadce5;
        color: #e50012;
        font-family: "Poppins", sans-serif;
        margin: 0 0 8px;
        border-radius: 15px;
    }
    .shopitem:after{
        font-family: "Material Symbols Rounded";
        content: "\e5c5";
        display: block;
        font-size: 42px;
        position: absolute;
        left: calc(50% - 20px);
        top: 20px;
        line-height: 1em;
        color: #fadce5;
    }
    .shopitem .item{
        box-sizing: border-box;
        border-radius: 10px;
        cursor: pointer;
        width: calc(100% / 2 - 4px);
        height: 120px;
        position: relative;
        background: #fff;
        margin: 0;
        padding: 0;
    }
  
    /* =============
    ショップニュースもっと見るボタン
    ============= */
    /* ボタン */
    .shopitemMoreBtn {
      width: 60%;
      display: none; /* デフォルトは非表示 */
      color: #E4111A;
      background-color: #fff;
      border-radius: 20px;
      font-weight: bold;
      box-sizing: border-box;
      margin: 15px auto 10px;
      position: relative;
      font-size: 90%;
      border: 2px solid #E4111A;
    }
    .shopitem:has(article:nth-of-type(n+3)) + .shopitemMoreBtn {
      display: block; /* articleが3件以上ある場合にボタンを表示 */
    }
    .shopitemMoreBtn input {
      appearance: none;
      width: 100%;
      height: 25px;
      display: block;
      cursor: pointer;
    }
  
    /* è¨˜äº‹ */
    .shopitem_articleList {
      width: 100%;
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 5px;
      overflow: hidden;
      margin-top: 5px;
      /* transition: max-height 0.7s;
      will-change: max-height; */
    }
    .shopitem_articleList:has(article:nth-of-type(n+3)) {
      max-height: 120px;
       /* height: 120px; 閉じる時のラグ回避 */
    }
    .service:has(.shopitemMoreBtn input:checked) .shopitem_articleList:has(article:nth-of-type(n+3)) {
      max-height: 100vh;
      /* height: auto; 閉じる時のラグ回避 */
    }
  
     /* labelは非表示 疑似要素でテキストを設定する */
    .shopitemMoreBtn label {
      visibility: hidden;
      width: 0;
      height: 0;
      display: block;
    }
    .shopitemMoreBtn::before {
      content: "ã‚‚ã£ã¨è¦‹ã‚‹";
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      pointer-events: none;
    }
    .service:has(.shopitemMoreBtn input:checked) .shopitemMoreBtn::before {
      content: "é–‰ã˜ã‚‹";
    }
    .shopitemMoreBtn:has(input:hover), .shopitemMoreBtn:has(input:hover)::before {
      opacity: 0.8;
    }
  
  
    /* .shopitem .item:nth-child(n+6){
      display: none;
    } */
    .shopitem .shopvoice.item{
      width: 100%;
      height: auto;
      padding: 10px;
    }
    .shopitem .shopvoice{
      padding: 10px 10px 0;
      line-height: 1.4em;
      word-break: break-all;
      border: 2px solid #E4111A;
      li:before{
        font-family: "Material Symbols Rounded";
        content: "\e7f7";
        font-size: 20px;
        font-variation-settings: 'FILL' 1;
        vertical-align: middle;
        color: #E4111A;
        position: absolute;
        top: -10px;
        left: 5px;
        background: #fff;
      }
      .sendtime{
        color: #E4111A;
        font-weight: bold;
        font-size: 12px;
        display: inline-block;
      }
    }
    .shopitem .item .image,
    .shopitem .item .desc{
      box-sizing: border-box;
      float: none;
      width: 100%;
    }
    .shopitem .item .morelink{
          display: none;
    }
    .shopitem .item .image {
      height: 100%;
      border-radius: 10px;
      overflow: hidden;
    }
    .shopitem .item .image .no_img_logo{
      border: 2px solid var(--color-base-line-light);
      border-radius: 10px;
      background-size: 40% auto;
    }
    .shopitem .item .desc{
      text-align: left;
      display: block;
      position: absolute;
      background: rgba(0, 0, 0, .3);
      color: #fff;
      bottom: 10px;
      padding: 4px 6px;
      .date{
          display: none;
      }
      .icon{
        font-family: "Poppins", sans-serif;
        position: absolute;
        background: #E4111A;
        color: #fff;
        line-height: 1em;
        right: -6px;
        top: -75px;
        z-index: 3;
        border-radius: 0;
        padding: 4px;
      } 
      a {
        color: #fff;
        font-size: 10px;
      }
      h4{
        text-align: left;
        font-size: 12px;
        line-height: 1.4em;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      .price {
        display: none;
      }
    }
  }


  /*ボイス*/
body.ex-salepage #voicelist{
    display: none;
  }
  body.ex-salepage .shoplist_cat .item .shopitem:not(:has(.item)),
  body.ex-salepage .shoplist_cat .item .shopvoice:empty{
    display: none;
  }
  

/*----------------------------------------
コンテンツ
----------------------------------------*/
body.ex-salepage #main #contents {
	padding-top: 30px;
	background:url(./bg_greenday.png), #f6f9e9;
	background-size: 110%;
	background-repeat: repeat-y;
	background-position: center top;
	position: relative;
}
body.ex-salepage #main #contents::before {
	content: '';
	display: block;
	position: absolute;
	top: 30px;
	left:0;
	background: url(./bg_greenday_l.png);
	width: 20vw;
	height:auto;
	aspect-ratio: 370/240;
	background-size: contain;
}
body.ex-salepage #main #contents::after {
	content: '';
	display: block;
	position: absolute;
	top: 30px;
	right:0;
	background: url(./bg_greenday_r.png);
	width: 20vw;
	height:auto;
	aspect-ratio: 370/240;
	background-size: contain;
	z-index: 0;
}
body.ex-salepage #main #contents .header_inner h3 {
	width: 60%;
	margin: auto;
	position: relative;
	z-index: 10;
}
body.ex-salepage #main #contents .exsale_header .bnr {
	text-align: center;
	margin: 30px auto;
}

/*--ナビゲーション--*/

body.ex-salepage #contents-main .floor_list {
    width: 80%;
    margin: auto;
}

body.ex-salepage.sp #contents-main .floor_list {
    width: 100%;
}

body.ex-salepage #contents-main .floor_list ul {
    gap: 10px;
    display: flex;
    margin-bottom: 20px;
}
body.ex-salepage.sp #contents-main .floor_list ul {
    gap: 5px;
}

body.ex-salepage #contents-main .floor_list ul li {
    flex: 1;
    margin: 0;
}
body.ex-salepage #contents-main .floor_list ul li a {
    font-size: clamp(12px, 1.2vw, 18px);
    display: block;
    border-radius: 10px;
    line-height: 4rem;
    text-align: center;
    font-weight: bold;
    color: #fff;
}
body.ex-salepage.sp #contents-main .floor_list ul li a {
    font-size: clamp(12px, 1.2vw, 14px);
    line-height: 1rem;
    padding: 10px 5px;
}


body.ex-salepage.sp #contents-main .floor_list ul li {
    flex: 1;
}


body.ex-salepage #contents-main .thanks_price {
    background: #F39700;
}
body.ex-salepage #contents-main .novelty_present {
    background: #e75297;
}
body.ex-salepage #contents-main .point_up {
    background: #0098bc;
}
body.ex-salepage #contents-main .others {
    background: #39b382;
}

body.ex-salepage #contents-main .shoplist_cat .floor:nth-of-type{
    margin-bottom: 0;
}
body.ex-salepage #contents .inner .attention {
	padding: 20px 0;
}
/*-----------------------------------
スマホ css
-----------------------------------*/

body.ex-salepage.sp {
    #contents-main .floor_list ul {
        gap: 5px;
        width: 100%;
    }
    .fl_btn {
    width: 100%;
    position: relative;
    top: unset;
    margin: auto;
    }
    .fl_btn a:hover {
        transform: none;
    }
}
body.ex-salepage.sp #main #contents .header_inner h3 {
	width: 90%;
	padding: 20px 0;
}
body.ex-salepage.sp #main #contents {
	padding-top: 0;
    background-size: 170%;
}
body.ex-salepage.sp #main #contents .exsale_header .bnr {
	width: 90%;
	margin: 0 auto 30px;
}
/*----------------------------------------
ショップニュース
----------------------------------------*/
body.ex-salepage.sp .shoplist_cat {
	background:#fff;
	padding: 10px;
}
body.ex-salepage.sp #contents-main h3 {
	font-size: 20px;
}

body.ex-salepage.sp  .shoplistbox {
    margin: 0 0 15px;
    border-top: 1px solid #333;
}
body.ex-salepage.sp  .shoplistbox:first-of-type{
    border-top: none;
    padding: 0;
} 
body.ex-salepage.sp .shoplistbox .item {
    width: 100%;
    display: block;
    padding: 15px 0 0;
	margin-top: 15px;
    border-top: 1px solid #e5e5e5;
    .service {
        padding:0;
    }
    .text {
        padding:15px;
    }
}
body.ex-salepage.sp .shoplistbox .item:nth-child(-n+2), body.ex-salepage.sp .shoplistbox .item:nth-child(-n+4) {
   border-top: 1px solid #e5e5e5; 
}
body.ex-salepage.sp .shoplistbox .item:first-of-type {
    border-top: none;
}
body.ex-salepage.sp .shoplistbox .item .detail {
    justify-content: space-between;
    padding: 0 10px 10px;
}
body.ex-salepage.sp .shoplistbox .item .detail .logo {
    margin: 0;
    flex: auto;
    order: 2;
    padding: 0;
    max-width: 100px;
    text-align: center;
}
body.ex-salepage.sp .shoplistbox .item .detail .logo a img {
    height: auto;
}
body.ex-salepage.sp .shoplistbox .item .detail .shopname {
    font-size: 110%;
    line-height: 1.4;
    flex: auto;
    text-align: left;
    padding: 0;
    justify-content: flex-start;
}
