@charset "UTF-8";
/* ========================================
   日食ブランド紹介
======================================== */

.nisshoku-brand {
  position: relative;
  width: 100%;
  max-width: 1200px;
  height: clamp(300px, 29.166vw, 350px);
  margin: 40px auto;
  overflow: hidden;
  box-sizing: border-box;

  background-color: #f0e0d1;
  background-repeat: no-repeat;
  background-position: right;
  background-size: cover;

  border-radius: 16px;
}

.nisshoku-brand__content {
  position: relative;
  z-index: 1;
  width: 45%;
  padding: 35px 0 25px 42px;
  box-sizing: border-box;
  color: #302824;
}

.nisshoku-brand__title {
  margin: 0 0 15px;
  padding: 0;

  font-family:
    "Yu Mincho",
    YuMincho,
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    serif;

  font-size: clamp(30px, 3vw, 36px);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
.benbu-hero__years {
  color: #ac2207;
  font-size:105%;
}
.nisshoku-brand__text {
  margin: 0 0 18px;

  font-family:
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    YuGothic,
    Meiryo,
    sans-serif;

  font-size: clamp(14px, 1.4vw, 17px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.02em;
}

.nisshoku-brand__button {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 255px;
  height: 48px;
  box-sizing: border-box;

  color: #fff;
  background-color: #c72a10;

  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none !important;

  border-radius: 5px;
  transition:
    background-color 0.2s ease,
    transform 0.2s ease;
}



.nisshoku-brand__button:hover {
  color: #fff;
  background-color: #9e1e0b;
  transform: translateY(-2px);
}


/* ========================================
   モバイル
======================================== */

@media screen and (max-width: 767px) {

  .nisshoku-brand {
    height: auto;
    min-height: 500px;
    padding-top: 175px;

    /*
     * 横長画像の右側にある商品を上部へ表示
     */
    background-size: auto 190px;
    background-position: right 12px top 12px;

    border-radius: 12px;
  }

  .nisshoku-brand__content {
    width: 100%;
    padding: 24px 24px 30px;
  }

  .nisshoku-brand__title {
    margin-bottom: 14px;
    font-size: clamp(27px, 8vw, 34px);
    line-height: 1.4;
  }

  .nisshoku-brand__text {
    margin-bottom: 22px;
    font-size: 15px;
    line-height: 1.75;
  }

  .nisshoku-brand__button {
    width: 100%;
    max-width: 290px;
    height: 52px;
    margin: 0 auto;
    font-size: 16px;
  }

  .pc-only {
    display: none;
  }
}


.c-item-list{
   display:flex;
      justify-content: space-between;
    flex-wrap: wrap;
  list-style: none;
}
.c-item-list__ttl a{
font-weight:bold;
  font-size:125%;
  display:block;
  margin:20px auto;
}
.c-item-list__item{
 width:30%;
    margin-bottom:10px;
}
.c-item-list__img{
      margin-bottom:10px;
}
@media (max-width: 480px) {
  .c-item-list{
    width:95%;
margin:0px auto 30px !important;
}
  .c-item-list__item{
 width:47%;
margin: 0 0px 20px ;
}
.c-item-list__item img{
margin: 0 0px 10px ;
}
  .c-item-list__item .c-item-list__price{
margin: 10px 0px 10px ;
}
 
.c-item-list__item .c-item-list__ttl{
font-size:90%;
}
}
.wrap-top-cont{
  display:flex;
      justify-content: space-between;
    flex-wrap: wrap;
  margin-top:60px;
}
.wrap-top-conts{
  width:30%;
}
.wrap-top-conts h3{
  font-size:130% !important;
}
.wrap-top-conts img{
  width:100%;
}

@media (max-width: 480px) {
  .wrap-top-conts{
  width:90%;
    margin:0px auto;
}
}


/* ========================================
   日食だしの素 ヒーローエリア
======================================== */

.benbu-hero {
  position: relative;
  width: 100%;
  max-width: 1200px;
  aspect-ratio: 12 / 7;
  margin: 0 auto;
  overflow: hidden;
  background-color: #f4e8d8;
}

.benbu-hero__picture {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.benbu-hero__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.benbu-hero__content {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  width: 41%;
  height: 100%;
  padding: 5% 0 5% 6.2%;
  color: #111;

}

.benbu-hero__title {
  margin: 0;
  padding: 0;
  font-family:
    "Yu Mincho",
    YuMincho,
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    serif;
  font-size: clamp(34px, 4.9vw, 50px);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.01em;
    text-align:left;
}

.benbu-hero__title-sp {
  display: none;
}

.benbu-hero__text {
  width: 100%;
  max-width: 300px;
  margin-top: 27px;
  font-family:
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    YuGothic,
    Meiryo,
    sans-serif;
  font-size: clamp(15px, 1.55vw, 16px);
  font-weight: 700;
  line-height: 1.35;
}

.benbu-hero__text p {
  margin: 0 0 20px;
}

.benbu-hero__text p:last-child {
  margin-bottom: 0;
}

.benbu-hero__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 248px;
  height: 58px;
  box-sizing: border-box;
  margin-top: 35px;
  color: #fff;
  background-color: #bd250c;
  font-family:
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    YuGothic,
    Meiryo,
    sans-serif;
  font-size: 19px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition:
    background-color 0.2s ease,
    opacity 0.2s ease;
  text-decoration:none !important;
}

.benbu-hero__button:hover {
  color: #fff;
  background-color: #941b08;
  opacity: 1;
}

/* ========================================
   モバイル
======================================== */

@media screen and (max-width: 767px) {

  .benbu-hero {
    max-width: 640px;
    aspect-ratio: 2 / 3;
  }

  .benbu-hero__content {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
    padding: 0 9% 4.8%;
    color: #fff;
  }

  .benbu-hero__title {
    font-size: clamp(24px, 6.5vw, 43px);
    line-height: 1.4;
    letter-spacing: 0;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
  }

  .benbu-hero__title-pc {
    display: none;
  }

  .benbu-hero__title-sp {
    display: block;
    white-space: nowrap;
  }

  .benbu-hero__text {
    max-width: none;
    margin-top: 18px;
    font-size: clamp(14px, 3.05vw, 20px);
    line-height: 1.5;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
  }

  .benbu-hero__text p {
    display: inline;
    margin: 0;
  }

  .benbu-hero__text p::after {
    content: "";
  }

  .benbu-hero__button {
    width: 248px;
    max-width: 72%;
    height: 48px;
    margin: 25px auto 10px;
    font-size: clamp(16px, 3.2vw, 20px);
  }

  .pc-br {
    display: none;
  }
}



/* CSS Document */
.ban-limited{
text-align:center;
  margin:50px auto 50px;
  max-width: 640px;
}
.ban-limited img{
    border: 1px solid #aaa;
  width:100%;
}
#top-img{
  margin-bottom:20px;
   padding-bottom:0px;
    border: 1px solid #aaa;
   padding: 0px 0px 15px 0px;
   /* background-image: url(https://file001.shop-pro.jp/PA01189/515/images/bg-top-catch.jpg);
    background-repeat: no-repeat;
    background-position: bottom center;
  background-size: contain;*/
}
#top-img img{
  width:100%;

}
.top-catch{
font-size:150%;
    display: block;
  position: relative;
  width:80%;
  margin:20px auto 50px auto;
  font-weight:bold;
  text-align:center;
  line-height:150%;
  letter-spacing:0.1em;
}

.top-catch:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -30px; /*下線の上下位置調整*/
  display: inline-block;
  width: 25%; /*下線の幅*/
  height: 8px; /*下線の太さ*/
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%); /*位置調整*/
  background-color: #e52019; /*下線の色*/
}

.top-copy{
font-size:100%;
    width:55%;
    font-weight:bold;
  margin:40px auto;
    letter-spacing:0.1em;
}

.top-ban-first{
  width:90%;
  margin:0px auto;
  text-align: center;
}
.top-ban-first img{
border:solid 1px #aaa;
  width:100%;
max-width:500px;}

@media (max-width: 640px) {
  
  .top-catch{
font-size:110%;
      width:80%;
}
  .top-copy{
font-size:90%;
    width:80%;
  margin:20px auto;
      line-height:150%;
}
}



.linkthis{
  display:block;
text-align:center;
  margin:0px 0px 20px 0px;
}


.icn02{
		padding:10px 0px 10px 15px;
	
}
  .icn02 span{
	padding:0px 0px 0px 5px;

}
.rank-date span{
    border-bottom: 2px solid #E5201A;
  padding:0px 0px 10px 0px;
}
@media (max-width: 480px) {
.rank-date {
  text-align:center;
}

  

  .icn02{
		padding:10px 0px 10px 15px;
	text-align:center;	
}

  .icn02 span{
display:block;
    font-size:80%;
    line-height:115%;

}
 
}



.wrap-recom{
		margin:0px 0px 10px 0px;

	
}
.wrap-recom li{
		width:32%;
}
.wrap-price{
margin-top:5px;
}
@media (max-width: 980px) {
  .wrap-recom{

	
}
.wrap-recom li{

		width:45%;

	
}

}

@media (max-width: 480px) {
 .wrap-recom li{

line-height:115%;
font-size:90%;
	
}
}
.wrap-rank{

	
	
}
.wrap-rank02{
	margin:0px;
	padding:0px;
			    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-around;
    justify-content: space-around;
list-style-type:none;
	width: 96%;
    margin: 0px auto;
}

.wrap-rank02 li{

	 background-color: #fff;
	padding:0px 0px 0px 0px;
	width:17%;
  line-height:140%;
  height:260px !important;
  text-align:left;
}
.wrap-rank02 li img{
  margin:0px auto 10px auto;
  display:block;
  width:90%;
}



@media (max-width: 480px) {
  .wrap-sp div{
  width:100%;

}
 .wrap-rank02 li{

		width:30%;
   height:190px  !important;
   font-size: 90%;
	
}
  .wrap-rank02 li img{
max-width:210px;

}
}


.num{
	display: block;
	background-color: #d8aa00;
	font-weight: bold;
  font-size:60%;
  color:#fff;
	margin:10px 0px 10px 0px;
  width:20px;
  height:20px;
 border-radius: 50%; 
  text-align:center;
  	padding:5px;
}
.wrap-rank02 li:nth-child(-n+3) .num{
	background-color: #d80000;
}


@media (max-width: 480px) {
.num{
  width:16px;
  height:16px;
}
}
.h1-top{
  text-align:center;
font-size:100%;
}

.bx-pager a img {  
opacity: 0.5;  
filter: alpha(opacity=50);  
}  
.bx-pager a.active img {  
opacity: 1;  
filter: alpha(opacity=100);  
}  
#slider {
	position: relative;
	margin: 0 auto 0px auto;
	width:100%;

}

#slider img{
      border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
  width:100%;
}
#slider ul  {
	margin:0!important;
  list-style-type:none;
}

.bx-next {
	top: 38%;
	right: 10px;
	background-position: -456px -72px;
}

.bx-prev {
	top: 38%;
	left: 10px;
	background-position:-432px -72px;
}

.bx-prev, .bx-next {
	position: absolute;
  width: 14px;
  height: 14px;
  margin-top: 1px;
  *margin-right: .3em;
  line-height: 14px;
  vertical-align: text-top;
	background-image: url("../../bootstrap/img/glyphicons-halflings.png");
  background-repeat: no-repeat;	
	text-indent: -9999px;
}

.bg_img {
	margin: 0 auto 0;
}

.bx-pager {
	margin: 7px auto 0;
   text-align:center;
}

.bx-pager img {
	opacity: 0.5;
	filter: alpha(opacity=50);
}

.bx-pager a.active img {
	opacity: 1;
	filter: alpha(opacity=100);
}


.bx-pager {
  letter-spacing: -.40em;
 
}
.bx-pager a {
	display: inline-block;
	background: #000;
	width: 100px;
	margin-right: 5px;
	letter-spacing: normal;
	*display: inline;
	*zoom: 1;
}

html.lt-ie8 .bx-pager a {
	margin-right: 0;
}

.bx-pager a.thumb-edge {
	display: inline-block;
	background: #000;
	width: 100px;
	margin-right: 0;
	letter-spacing: normal;
	*display: inline;
	*zoom: 1;
}

ul.news-top{
  padding:10px 0px 0px 0px;
  font-size:100%;
  font-weight:bold;
}
ul.news-top li{
  margin-bottom:5px;
}
.news-top a{
display:inline-block;
}
@media (max-width: 480px) {
  ul.news-top{
  margin-bottom:10px;
  font-size:90%;
}
  .news-top a{
display:block;
}
  .bx-pager a {
	width: 50px;

}
  .bx-pager a.thumb-edge {
	width: 50px;

}
  


}

.bx-wrapper .bx-viewport {
text-shadow: initial;

  border: none !important;
  background: none !important;
  -moz-box-shadow: 0 0 5px #fff;
-webkit-box-shadow: 0 0 5px #fff;
 box-shadow: 0 0 5px #fff;
}



.wrap-free{
text-align:center;
  font-weight:bold;
  font-size:150%;
  margin:20px 0px;
  border:solid #000 1px;
  padding:10px;
}

#bx-wrapper{
   overflow:hidden; /* 画面幅からでないように */
   width:100%;　　　/* 幅100％の場合 */
   height:400px;　　/* 画像の高さと同じ */
}
#bx-viewport{
  overflow:visible!important; /* 両サイドに前後の画像を表示させる */
  width: 1000px;              /* 画像の幅（表示させる幅） */
  height:400px;               /* 画像の高さ（表示させる高さ） */
  margin: 0 auto;             /* 画面中央にする */
}
.bxslider li{
  width;1000px;  /* 画像サイズと同じ（画像をくっつけて表示させる場合） */
}