@charset "utf-8";

/**********************************************
バナーエリア
**********************************************/
div#topBannerBox {
  width:100%;
  height:auto;
  margin:0 0 50px 0;
  padding:0 0 0 0;
}
.swiper-slide img {
  max-width:100%;
}
div#topBannerBox div.topSpecialTopics{
  margin: 20px 0 0 0;
  padding: 0;
  text-align: center;
}
div#topBannerBox div.topSpecialTopics p {
  font-weight: bold;
}

/**********************************************
コンテンツ共通
**********************************************/
section {
  widrh:100%;
  margin:0 0 80px 0;
  padding:0 0 0 0;
}
section h2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 50px 0;
  text-align: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-size:200%;
}
section h2::before,
section h2::after {
  display: inline;
  width: auto;
  height: 1px;
  content: "";
  border-top: 1px solid #333;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}
section h2::before {
  margin-right: 50px;
}
section h2::after {
  margin-left:50px;
}

@media screen and (max-width: 899px) {
  section {
    margin:0 0 40px 0;
  }
  section h2 {
    font-size:140%;
    margin: 0 0 20px 0;
  }
  section h2::before {
    margin-right: 20px;
  }
  section h2::after {
    margin-left:20px;
  }
}
  
.btnBlue {
  padding:15px 20px 15px 20px;
  width:50%;
  margin-right:auto;
  margin-left:auto;
  font-size:160%;
}
@media screen and (max-width: 899px) {
.btnBlue {
  width:100%;
  font-size:120%;
  }
}


/**********************************************
キャンペーン
**********************************************/
div.topCampaign {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 0 0 0 0; 
    -webkit-flex-flow: wrap; 
    -ms-flex-flow: wrap; 
    flex-flow: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
/*2列用*/
div.topCampaign div  {
  width:calc( (100% - 20px) / 2 );
  margin: 0 20px 0 0;
  padding: 0 0 0 0;
}
@media screen and (max-width: 899px) {
  div.topCampaign div  {
    width:100%;
    margin: 0 0 10px 0;
    padding: 0 0 0 0;
  }
}
/*3列用*/
div.topCampaign div.clm3  {
  width:calc( (100% - 40px) / 3 );
  margin: 0 20px 0 0;
  padding: 0 0 0 0;
}
@media screen and (max-width: 899px) {
  div.topCampaign div.clm3  {
    width:100%;
    margin: 0 0 10px 0;
    padding: 0 0 0 0;
  }
}
div.topCampaign div:last-child {
  margin-right:auto;
}
div.topCampaign div img{
  display: block;
  max-width: 100%;
  height: auto;
  margin:0 auto 0 auto;
}

/**********************************************
定番アイテム
**********************************************/
ul.topFavorite {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 0 0 10px; 
    -webkit-flex-flow: wrap; 
    -ms-flex-flow: wrap; 
    flex-flow: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
ul.topFavorite li  {
  width:calc( (100% - 75px) / 4 );
  margin: 0 25px 25px 0;
  position: relative;
}
ul.topFavorite li:nth-child(4n) {
  margin-right:0;
}
ul.topFavorite li:last-child {
  margin-right:auto;
}
ul.topFavorite li a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-indent:-9999px;
}
ul.topFavorite li:hover {
  -webkit-transition: opacity .3s;
  -o-transition: opacity .3s;
  transition: opacity .3s;
	background-color:#FFF;
	opacity:0.7;
	filter: alpha(opacity=70);        /* ie lt 8 */
	-ms-filter: "alpha(opacity=70)";  /* ie 8 */
	-moz-opacity:0.7;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: 0.7;              /* Safari 1.x */
	zoom:1;
}
ul.topFavorite li figure {
  width:100%;
  margin:0 0 10px 0;
  padding:0 0 0 0;
}
ul.topFavorite li figure img {
  display: block;
  max-width: 100%;
  height: auto;
  margin:0 auto 0 auto;
}
ul.topFavorite li h3 {
  width:100%;
  margin:0 0 6px 0;
  padding:0 0 0 0;
  text-align:center;
}
ul.topFavorite li p {
  width:100%;
  margin:0 0 0 0;
  padding:0 0 0 0;
  text-align:center;
}
ul.topFavorite li p span.yen {
  width:80%;
}

@media screen and (max-width: 599px) {
  ul.topFavorite li  {
    width:calc( (100% - 20px) / 2 );
    margin: 0 20px 20px 0;
  }
  ul.topFavorite li:nth-child(2n) {
    margin-right:0;
  }
  ul.topFavorite li h3,
  ul.topFavorite li p {
    font-size:90%;
    margin:0;
  }
}

/**********************************************
OP説明
**********************************************/
section h2.bar-none{
  margin:0 0 50px 0;
}
section h2.bar-none:before,
section h2.bar-none:after{
  border:none;
}
@media screen and (max-width: 899px) {
  section h2.bar-none{
    line-height:1.4em;
  }
}
div.opExplain {
  width:100%;
  margin:0 0 80px 0;
  padding:0 0 0 0;
}
div.opExplain p{
  line-height:2.0em;
  margin:0 0 20px 0;
  padding:0 0 0 0;
  text-align:center;
  font-size:120%;
}
@media screen and (max-width: 599px) {
  div.opExplain p{
    font-size:100%;
  }
}

ul.linkBanner01,
ul.linkBanner02 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 20px 0; 
  -webkit-flex-flow: wrap; 
  -ms-flex-flow: wrap; 
  flex-flow: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
ul.linkBanner01 li  {
  width:calc( (100% - 0px) / 5 );
  margin: 0 auto 0 auto;
  position: relative;
}
ul.linkBanner02 li  {
  width:calc( (100% - 0px) / 3 );
  margin: 0 auto 20px auto;
  position: relative;
}
@media screen and (max-width: 899px) {
  ul.linkBanner02 li  {
    width:calc( (100% - 0px) / 3 );
    margin: 0 auto 0 auto;
    position: relative;
  }
}  
ul.linkBanner01 li a,
ul.linkBanner02 li a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-indent:-9999px;
}
ul.linkBanner01 li:hover,
ul.linkBanner02 li:hover {
  -webkit-transition: opacity .3s;
  -o-transition: opacity .3s;
  transition: opacity .3s;
	background-color:#FFF;
	opacity:0.7;
	filter: alpha(opacity=70);        /* ie lt 8 */
	-ms-filter: "alpha(opacity=70)";  /* ie 8 */
	-moz-opacity:0.7;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: 0.7;              /* Safari 1.x */
	zoom:1;
}
ul.linkBanner01 li figure,
ul.linkBanner02 li figure {
  width:100%;
  margin:0 0 10px 0;
  padding:0 0 0 0;
}
ul.linkBanner01 li figure img,
ul.linkBanner02 li figure img {
  display: block;
  max-width: 100%;
  height: auto;
  margin:0 auto 0 auto;
}


@media screen and (max-width: 899px) {
  ul.linkBanner01 li figure,
  ul.linkBanner02 li figure {
    padding:0 5px 0 5px;
  }
}
@media screen and (max-width: 599px) {
  ul.linkBanner01 li  {
    width:calc( (100% - 0px) / 2 );
    margin: 0 auto 10px auto;
    position: relative;
  }
  ul.linkBanner02 li  {
    width:calc( (100% - 0px) / 1 );
    margin: 0 auto 10px auto;
    position: relative;
  }
}

/**********************************************
おすすめテンプレート
**********************************************/
div.topRecommend {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 40px 0; 
  -webkit-flex-flow: wrap; 
  -ms-flex-flow: wrap; 
  flex-flow: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
div.recLab {
  width:100%;
  margin:0 0 30px 0;
  padding:0 0 0 0;
}
div.recLab img{
  max-width:100%;
}

div.recHalf {
  width:50%;
  margin:0 0 0 0;
  padding:0 0 0 0;
}
div.recFull {
  width:100%;
  margin:0 0 0 0;
  padding:0 0 0 0;
}
@media screen and (max-width: 899px) {
  div.recSp {
    width:100%;
    margin:0 0 0 0;
    padding:0 0 0 0;
  }
}

div.recDetail {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 0 0; 
  -webkit-flex-flow: wrap; 
  -ms-flex-flow: wrap; 
  flex-flow: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position:relative;
}
div.recDetail a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-indent:-9999px;
}
div.recDetail:hover {
  -webkit-transition: opacity .3s;
  -o-transition: opacity .3s;
  transition: opacity .3s;
	background-color:#FFF;
	opacity:0.7;
	filter: alpha(opacity=70);        /* ie lt 8 */
	-ms-filter: "alpha(opacity=70)";  /* ie 8 */
	-moz-opacity:0.7;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: 0.7;              /* Safari 1.x */
	zoom:1;
}
div.recDetail div.title {
  width:50%;
  margin:0 0 0 0;
  padding:5px 0 5px 10px;
  display: flex;
  /*justify-content: center;*/
  align-items: center;
}
div.recDetail div.title div.exp {

}
div.recDetail div.title div.exp p.lead {
  margin:0 0 10px 0;
  padding:0 0 0 0;
}
div.recDetail div.title div.exp h3 {
  margin:0 0 20px 0;
  padding:0 0 0 0;
  font-size:240%;
}
div.recDetail div.title div.exp h3.sml {
  font-size:200%;
}

@media screen and (max-width: 899px) {
  div.recDetail div.title div.exp p.lead {
    margin:0 0 6px 0;
    padding:0 0 0 0;
    font-size:90%;
    line-height:1.2em
  }
  div.recDetail div.title div.exp h3,
  div.recDetail div.title div.exp h3.sml {
    margin:0 0 10px 0;
    font-size:140%;
  }
}


div.recDetail div.title div.exp p.design {
  margin:0 0 0 0;
  padding:0 0 0 0;
}
div.recDetail figure {
  width:50%;
  margin:0 0 0 0;
  padding:0 0 0 0;
}
div.recDetail figure img {
  max-width:100%;
}

@media screen and (max-width: 899px) {
  div.recDetail figure img {
    width:100%;
    max-height:130px;
    object-fit: cover;
  }
}

/**********************************************
注目アイテム
**********************************************/
ul#checkItems {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 40px 0; 
  -webkit-flex-flow: wrap; 
  -ms-flex-flow: wrap; 
  flex-flow: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
ul#checkItems li{
  width:calc((100% - 80px)/5);
  margin:0 20px 20px 0;
  padding:10px;
  border:1px solid #e9e9e9;
  position:relative;
}
ul#checkItems li:nth-child(5n) {
  margin-right:0;
}
ul#checkItems li:last-child {
  margin-right:auto;
}
ul#checkItems li a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-indent:-9999px;
}
ul#checkItems li:hover {
  -webkit-transition: opacity .3s;
  -o-transition: opacity .3s;
  transition: opacity .3s;
	background-color:#FFF;
	opacity:0.7;
	filter: alpha(opacity=70);        /* ie lt 8 */
	-ms-filter: "alpha(opacity=70)";  /* ie 8 */
	-moz-opacity:0.7;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: 0.7;              /* Safari 1.x */
	zoom:1;
}
ul#checkItems li figure {
  width:100%;
  margin:0 0 10px 0;
  padding:0 0 0 0;
}
ul#checkItems li figure img {
  display: block;
  max-width: 100%;
  height: auto;
  margin:0 auto 0 auto;
}
ul#checkItems li h3 {
  width:100%;
  margin:0 0 6px 0;
  padding:0 0 0 0;
  text-align:center;
  font-weight:normal;
  color: #1badcf;
  font-size:100%;
}
ul#checkItems li p {
  width:100%;
  margin:0 0 0 0;
  padding:0 0 0 0;
  text-align:center;
}
ul#checkItems li p span.yen {
  width:80%;
}

@media screen and (max-width: 599px) {
  ul#checkItems li{
    width:calc( (100% - 10px) / 2 );
    margin: 0 10px 10px 0;
  }
  ul#checkItems li:nth-child(2n) {
    margin-right:0;
  }
  ul#checkItems li h3,
  ul#checkItems li p {
    font-size:90%;
    margin:0;
  }
}

/**********************************************
ニュース
**********************************************/
section.topNews {
  border:1px solid #e9e9e9;
  padding:40px;
}
@media screen and (max-width: 599px) {
  section.topNews {
    border:1px solid #e9e9e9;
    padding:20px;
  }
}

section.topNews dl{
  overflow: hidden;
  margin: 0;
}


section.topNews dl dt {
  float: left;
  width: 110px;
  margin: 0 0 8px;
}
section.topNews dl dd {
  overflow: hidden;
  margin: 0 0 8px;
}

@media screen and (max-width: 599px) {
  section.topNews dl dt {
    float: left;
    min-width: 6em;
    margin: 0 0 14px;
    padding: 0 15px 0 0;
  }
  section.topNews dl dd {
    overflow: hidden;
    margin: 0 0 15px;
  }
}
  