@charset "utf-8";

.box {font-family: "Shippori Mincho", serif; -webkit-text-size-adjust: 100%;}

#main {float:left; width:700px; margin-top:20px; padding-bottom:70px; background:#fff; color:#000;}

main.j_shop_2025coffret .main_inner {
  width: 980px;
}

#content{-webkit-font-smoothing: antialiased;}
#content header {border:0; margin: 0; padding: 0; text-align: center;}


#content time {margin-bottom:20px; font-family: 'Montserrat',Verdana,Arial,Helvetica,sans-serif; color:#999;font-size: 14px;
  font-weight: normal;}
#content h2 {font-size:24px; font-family: Shippori Mincho, serif;font-weight:bold;margin-bottom:20px;text-align: center;}
#content h3 {font-size:1.3em; font-weight:normal; margin-bottom:20px;}
#content h3 span.info {display: block; /*border-top: 1px solid #ddd; padding-top:14px; */margin-top:8px; }
#content h3 p {display: block; padding-bottom:1px; font-size: inherit; line-height: 1.6; margin:0;}
#content h4 {font-size:1.3em; font-weight:normal; margin-bottom:6px; text-align:center;}

#content .en {font-family: 'Montserrat',Verdana,Arial,Helvetica,sans-serif;}

#content br.onlySP,
#content br.onlySP--force{ display: none; }
.j_shop_2025coffret #content .date {
  font-size: 13px;
  text-align: center;
}

a.black-bg{ display: inline-block!important; margin: 0 auto; position: relative; }
a.black-bg img{ opacity: 1!important; position: relative; }
a.black-bg:before{ background-color: #9f9f9f; border-radius: 4px; content: " "; display: block; height: 100%; margin: -5px 0 0 -20px; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; opacity: 0; padding: 5px 20px; position: absolute; left: 0; top: 0; transition: opacity .4s ease; width: 100%; }
a.black-bg:hover:before{ opacity: 1; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=1)"; }



@media (max-width: 430px) {
  main.j_shop_2025coffret .main_inner{ overflow: visible;width: 100%; }
  #content header .image { margin: 0 -7.14%; }
  #content header .image img{ width: 100%; }
  #content time {margin-bottom:10px; text-align:center;}
  #content h2 {font-size:16px; margin: 10px auto 10px; text-align:center;}
  #content h2 span {display: inline-block; word-break:keep-all;line-height: 1.6; }
  #content h3 {font-size:14px; line-height:1.6; text-align:center;}
  #content h3 span {text-align:center;}
  #content h3 p {text-align:center; font-size: 13px; margin-top:4px;}
  #content br.force,
  #content br.onlySP--force { display: inline-block!important; }
  #content .smp_view {display:inline;}
  #content .smp_hidden {display:none;}
  #content br.onlySP{ display: inline; }
}
/* introduction */
#content #introduction { padding: 40px 0 0;}
#content #introduction-inner {letter-spacing: normal;}
#content #introduction h3 strong,
#content #introduction h3 span { display: block; }
#content #introduction h3 span { font-size: 12px; }
#content #introduction h4 {font-size:18px; color:#363636; font-weight: normal; margin-top: 60px;}
#content #introduction *{ text-align: center; }
#content #introduction p{ line-height: 1.6rem; font-size: 14px;}
#content #introduction .page-nav {margin-top: 24px;}
#content #introduction .page-nav img { display: inline-block;}



@media (max-width: 430px) {
  #content #introduction{ padding: 40px 0 0; margin: 0;}
  #content #introduction h4 {font-size:16px; }
}
/* .section */
#content .section{ padding: 46px 0 0; }
#content #shop.section {
    padding: 5px 0 0;
}
#content .section .description{ font-size: 18px; line-height: 32px; margin: 0; position: relative; text-align: center; }
#content .section .description:before,
#content .section .description:after{ content: " "; display: block; left: 50%; position: absolute; }
#content .section .description sup { vertical-align: super; font-size: 9px; }
#content .section .img{ padding: 50px 0 30px; text-align: center; position: relative;}
#content .section .meta{ width: 100%; position: relative;}
#content .section .meta *{ text-align: center; }
#content .section .meta h5 { font-size:16px; line-height:26px; color:#9fa0a0; margin-bottom:25px;}
#content .section .meta .icon { display: block; width: 80px; font-size: 11px; margin: 0 auto 17px; padding:2px 20px; border: 1px solid #aaa; background: #fff;}
#content .section .meta .release{ display: block; font-size: 13px; padding: 0 0 4px; }
#content .section .meta .reserve { display: block; font-size: 12px; margin: 0 0 13px; }
#content .section .meta .ec { display: block; font-size: 12px; margin: -6px 0 16px; line-height: 1.6;}
#content .section .meta .reserve_ec { display: block;; font-size: 12px; margin: 0;}
#content .section .meta .title { margin-bottom: 8px;font-weight: bold;}
#content .section .meta .title > strong{ color: #333; display: block; font-size: 20px; padding: 0 0 18px; letter-spacing: 0; }
#content .section .meta .title > span{ color: #363636; display: block; font-size: 11px; line-height: 17px; }
#content .section .meta .title > strong > span,
#content .section .meta .title > span > span { display: inline-block;  word-break:keep-all; font-size: inherit; }
#content .section .meta .price{ font-size: 13px; line-height: 1.6; margin: 0; }
#content .section .meta .price small{ font-size: 11px; }
#content .section .meta .kome { font-size: 11px; line-height: 1.6; padding: 0 0 8px; margin: 0; }
#content .section .meta .color { padding: 20px 0 40px; }
#content .section .meta .colors { border: none!important; padding: 8px 0 20px;!important; margin: 0; }
#content .section .meta .colors li { padding-top: 0!important; }


#content .section .more{ padding: 0 0 30px; text-align: center; }
#content .section .more > *{ display: inline-block; vertical-align: middle; text-align: left; }
#content .section .more dd{ font-size: 12px; line-height: 18px; padding: 0 0 0 10px; width: 160px; }


#content .section .detailBtn,
#content .section .cartBtn { background-color: #333; color: #fff; display: block; font-family: 'Montserrat',Verdana,Arial,Helvetica,sans-serif; font-size: 12px; font-weight: bold; line-height: 1.4; padding: 10px 0; margin: 10px auto 0; transition: opacity .4s ease; text-align: center; width: 265px; }
#content .section .detailBtn:hover,
#content .section .cartBtn:hover{ opacity: .8; }

#content .section .cartBtn-s { border-bottom: 1px solid #333; box-sizing: border-box; color: #333; display: inline-block; font-size: 11px; font-weight: bold; line-height: 1.2; letter-spacing: 0; margin-top: 8px; }
#content .section .cartBtn-s:before { background: url(/common/images/general/icon_cart_black.png) no-repeat 0 50%; content: " "; display: inline-block; height: 12px; padding: 0 4px 0 0; position: relative; top: 1px; width: 14px; }
#content .section .cartBtn-s:hover { opacity: .6; }

#content .section__footer { display: flex; justify-content: space-between; margin: 70px 0 0; }
#content .section__footer .limited { font-size: 11px; margin: 0; padding: 0; }
#content .section__footer .pagetop { background: url(/common/images/general/icon_up.png) no-repeat; color: #333; font-size: 12px; padding: 0 0 0 16px; }
#content .section__footer.right { justify-content:flex-end; margin-top: -20px; }
#content .section__footer.right .limited { text-align: right; }

@media (max-width: 430px) {
  #content .section .meta h5 { font-size:14px; line-height:1.6; }
  #content .section .meta .icon { margin: 0 auto 16px; }
  #content .section .meta .release{ font-size: 12px; padding: 0 0 4px; }
  #content .section .meta .reserve { font-size: 12px; margin: 0 0 16px; }
  #content .section .meta .ec { font-size: 12px; }
  #content .section .meta .reserve_ec { display: block; font-size: 11px; }
  #content .section .meta .title > strong{ /*font-size: 18px;*/ line-height: 1.6; padding: 0 0 8px; letter-spacing: 0;}
  #content .section .meta .title > span{ font-size: 10px; line-height: 1.4; }
  #content .section .meta .title > strong > span,
  #content .section .meta .title > span > span { display: inline-block;  word-break:keep-all; font-size: inherit; }
  #content .section .meta .price{ font-size: 11px; line-height: 1.4; /*padding: 0 0 15px;*/; }
  #content .section .meta .price span { display: inline-block;}
  #content .section .meta .colors ul{ justify-content: center; }
  #content .section .more dt img{ max-height: 80px; max-width: 90px; }
  #content .section .more dd{ font-size: 11px; line-height: 1.6; }
  #content .section__footer { align-items: flex-end; flex-direction: column; margin: 40px 4% -30px; }
  #content .section__footer .limited { font-size: 11px; padding: 0 0 8px; }
  #content .section__footer .pagetop { font-size: 11px; }
}
/* .colors */
#content div[class^="colors"]{ margin: 56px 0 0; position: relative; }
#content div[class^="colors"].no-border{ border: 0; margin-top: 0; }
#content div[class^="colors"].no-border li { padding-top: 0; }
#content div[class^="colors"] h5{ font-size: 16px; line-height: 28px; padding: 0 0 40px; text-align: center; }
#content div[class^="colors"] ul{  /*display: flex; flex-wrap: wrap; justify-content:center; font-size: 0; margin-top: 0;*/ text-align: center;}
#content div[class^="colors"] li{ padding: 0 0 50px;width: 175px; }
#content div[class^="colors"] li  * { display: block; text-align: center; }
#content div[class^="colors"] li img { margin: 0 auto 12px; }
#content div[class^="colors"] li strong { display: block; font-family: 'Montserrat',Verdana,Arial,Helvetica,sans-serif; color: #000; font-size: 12px; padding: 8px 0; line-height: 180%; }
#content div[class^="colors"] li strong span{ display: block; font-size: 12px; font-weight: normal; padding:0; text-align: center; }
#content div[class^="colors"] li span{ font-size: 10px; line-height: 14px; letter-spacing: 0; color: #333; }
#content div[class^="colors"] li a > span > span { display: inline; }
#content div[class^="colors"] .limited{ bottom: -1em; font-size: 11px; margin: 0; padding: 0; position: absolute; right: 0; text-align: right; }
#content .section .colors-1col ul li { width: auto; }
/*#content .section .colors-3col ul { width: 487px; margin: 0 auto; }*/
#content .section .colors-2col ul { justify-content: center; }
#content .section .colors-2col ul li { width: 220px; }
#content .section .colors-3col ul li { width: 162px; }
#content .section .colors-4col ul li{ width: 162px; }
#content .section .colors-5col ul li{ width: 130px; }
#content .section .colors-6col ul li{ width: 107px; }




@media (max-width: 430px) {
  #content .section:before { margin: 0 0 40px; background-repeat: repeat-x; }
  #content .section .description { font-size: 12px; line-height: 1.8; letter-spacing: 0; margin: 0 5px;}
  #content .section .description br { }
  #content .section .description span {display: inline-block;}
  #content .section .description:before,
  #content .section .description:after{ background-size: contain; content: " "; display: block; left: 50%; position: absolute; }
  #content .section .description:before{ height: 17px; margin: 0 0 0 -25px; top: -20px; width: 50px; }
  #content .section .description:after{ bottom: -12px; height: 8px; margin: 0 0 0 -22px; width: 44px; }
  #content .section .img { padding: 30px 0; }
  #content .section .img img{ height: auto; max-height: 250px; max-width: 300px; }
  #content div[class^="colors"]{ position: relative; margin: 30px auto 50px; /*max-width: 320px;*/width: 100%; padding-top: 20px;}
  #content div[class^="colors"] h5{ font-size: 12px; line-height: 18px; }
  #content div[class^="colors"] .note { width: auto; }
  #content div[class^="colors"] li{ padding: 30px 0 0; width: 48%; }
  #content div[class^="colors"] li strong{ font-size: 12px; }
  #content div[class^="colors"] li span{ font-size: 10px; }
  #content div[class^="colors"] li img { margin-bottom: 5px; }
  #content div[class^="colors"] .limited{ text-align: left; }
  #content div[class^="colors"] {margin: 0 4px; width: auto;}
  #content div[class^="colors"] ul li {width: 100%; padding: 30px 0;}
  #content div[class^="colors"] ul li a > span > span { display: inline-block;  word-break:keep-all; font-size: inherit; width: auto !important; }
  #content .section .colors-1col ul { justify-content: center; }
  #content .section .colors-1col ul li { width: 70%; }
  #content .section .colors-2col ul { justify-content: center; }
  #content .section .colors-2col ul li { width: calc(50% - 6px); padding: 50px 3px 0;}
  #content .section .colors-4col ul { width: auto; justify-content: center; }
}

/*
 *
 * for this page
 *
 */
#content .clearfix{zoom:1;}
#content .clearfix:after{
  display:block;
  content:'';
  clear:both;
}
#content .view_pc {
  display: block!important;
  margin: 0 auto;
}
#content .view_sp {
  display: none!important;
}

#content #introduction .tab { display: table; margin: 70px 0 0; width: 100%; padding: 0;}
#content #introduction .tab li { border-left: 1px solid #fff; box-sizing: border-box; display: table-cell; vertical-align: top; width: 33.33%; }
#content #introduction .tab li a { background-color: #F5F0EF;  box-sizing: border-box; color: #B1AEAD; border-bottom: 1px solid #CFCFCF; display: table; height: 100%; width: 100%; text-align: center; padding: 25px 0; font-size: 20px; text-decoration: none;}
#content #introduction .tab li a img { height: 47px; opacity: 0.4;}
#content #introduction .tab li a.is-active { background-color: #fff; color: #333; border-top: 1px solid #CFCFCF; border-left: 1px solid #CFCFCF; border-right: 1px solid #CFCFCF; border-bottom: none; pointer-events: none; }
#content #introduction .tab li a.no-active { border-bottom: 1px solid #CFCFCF; }
#content #introduction .tab li a.is-active img { opacity: 1; }
#content #introduction .tab li a:hover { background-color: #F2E9E7; }
#content #introduction .tab li a:hover span { opacity: 1; }
#content #introduction .reception {
  border-bottom: solid 1px #CFCFCF;
  padding: 32px 0;
  margin: 24px auto;
}

#content #introduction .reception ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  list-style: none;
}
@media (max-width: 767px) {
  #content #introduction .reception ul {
    padding: 0;
  }
}
#content #introduction .reception li {
  width: calc(25% - 22px); 
}
#content #introduction .reception span {
  background: #FFF1CC;
}
#content #introduction .reception .memo {
  font-size: 10px;
  line-height: 150%;
}
#content #introduction .reception li:last-child .memo {
  margin: 2em -10% 0;
}
#content #introduction .note {
  margin-bottom: 40px;
}
#content #introduction .note p {
  text-align: center;
  color: #C10000;
  font-size: 14px;
  line-height: 180%;
}
#content #introduction .note p span {
  font-weight: bold;
  display: block;
  text-align: left;
}
#content #introduction .nav ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  list-style: none;
}
#content #introduction .nav li {
  position: relative;
  background-color: #F3E7E5;
  margin: 8px;
  font-size: 14px;
  width: calc(25% - 22px); 
}
#content #introduction .nav li:last-child {
  width: 220px;
}
#content #introduction .nav li a {
  color: #000;
  padding: 8px 0;
  display: block;
  text-decoration: none;
}
#content #introduction .nav li a :hover{
 opacity: 0.6; 
}
#content #introduction .nav li img {
  position: absolute;
  right: 8px;
  top: 0;
  bottom: 0;
  margin: auto;
}

@media (max-width: 767px) {
  ul {
    padding-inline: 0;
  }
}

@media (max-width: 430px) {
  #content .view_pc {
    display: none!important;
  }
  #content .view_sp {
    display: block!important;
    margin: 0 auto;
  }
  #content #introduction .tab { margin: 50px 0 0; }
  #content #introduction .tab li { height: 60px; }
  #content #introduction .tab li a { font-size: 16px; }
  #content #introduction .tab li a span { font-size: 11px; line-height: 16px; }
  #content #introduction .reception li {
    width: 42%;
    margin-bottom: 10px;
  }
  #content #introduction .reception li:nth-child(3) {
    width: 100%;
  }
  #content #introduction .nav ul {
    justify-content: space-between;
    padding: 0;
  }
  #content #introduction .nav li {
    width: 48%!important;
    margin: 8px 0;
    font-size: 12px;
  }
  #content #introduction .nav li:last-child {
    width: 100%!important;
  }
  #content #introduction .introduction_lead {
    text-align: justify;
  }
}


/*------------------------
Shop List
------------------------*/

@media screen and (min-width: 768px) {
  article .box,
  #online {
      width:100%;
      margin: 0 auto;
      padding: 26px 40px 40px;
      font-family: "shippori mincho" ,serif;
  }
}

@media screen and (max-width: 767px) {
  article .box,
  #online {
      width:87.2vw;
      margin: 0 auto;
      padding: 24vw 0 7.2vw
  }
}
article#content header h3 {
  font-size: 14px;
}
.shoplist {
  *zoom:1;
  padding-top:64px;
  margin-bottom: 0;
}
#content h3{
  margin-bottom: 6px;
  text-align: center;
  background: #f5f0ef;
  padding: 20px 0;
  font-weight: 600;
  font-size: 16px;
  font-weight: 400;
}
.shoplist h4 {
  font-size:16px!important;
  font-weight:bold;
  text-align:center;
}
.shoplist ul {*zoom:1; margin-top:0;
}
.shoplist ul li {
  padding: 32px 0;
  display:block;
  border-bottom: solid 1px #CCD2D6;
}
.shoplist ul li:last-child{
  margin-bottom: 0;
}
.shoplist ul li h5 {
  font-size:20px;
  font-weight:normal;
}
.shoplist ul li address {
  clear:both;
  font-size:12px;
  font-style:normal;
  line-height: 200%;
  margin: 20px 0;
}
.shoplist ul li address a {
  color: #000!important;
  text-decoration: none;
}
.shoplist ul li .reception {
  display: flex;
  flex-wrap: wrap;
}
.shoplist ul li .reception p {
  width: auto;
  border-radius: 10px;
  padding: 8px 30px;
  font-size: 13px!important;
  text-align: center!important;
  margin: 0 8px 8px 0!important;

}
.shoplist ul li .reception p.tel {
  background: #EEBECE;
}
.shoplist ul li .reception p.shop {
  background: #BDD4E8;
}
.shoplist ul li .reception p.web {
  background: #F4E6C2;
}
.shoplist ul li .reception p.web .icon_external {
  display: inline-block;
  vertical-align: middle;
  margin-right: 5px;
}
.shoplist ul li .reception a {
  color: #363636!important;
}
.shoplist ul li .reception p.none {
  background: #E4E7E9;
}

#content p.memo {
  font-size: 12px!important;
  }
#content .memo a {
    color: red;
    text-decoration: underline;}
#content p.red {
  color: red;
}
#content .online {
  padding: 80px 0 40px;
}
#content .online h4 {
  font-size: 16px;
}
#content .online h5 {
}
#content .online li {
  font-size: 20px;
  border-bottom: solid 1px #CCD2D6;
  padding: 36px 0;
  list-style: none;
  text-align: center;
  font-weight: 400;
}
#content .online li span {
  font-size: 14px;
  display: block;
  color: #939393;
}
#content .online li a {
  color: #363636;
  text-decoration: none;
  font-size: 20px;
}

#content .online .reception {
  background:#F4E6C2;
  width: 130px;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: 13px;
  display:flex;
  padding:10px 0px;
  height: 15.5px;

}

#content .online .reception p {
  font-size: 13px!important;
  color: #363636;
  text-align: center!important;
  margin: 0!important;
}
#content .online ul {
  margin-bottom: 40px;
}

@media (max-width: 430px) {
  article#content header h3 {
    font-size: 12px;
  }
  #content #introduction .nav li {
    width: 40%;
  }
  .shoplist ul li {
    text-align: left;
  }
  .shoplist ul li .reception {
    justify-content: left;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: flex-start;
  }
}