@charset "utf-8";

/* =============================================================================
   キーイメージ
   ========================================================================== */
@media screen and (min-width: 768px) {
	#keyimages {
		min-width: 1100px;
		height: 680px;
		overflow: hidden;
		position: relative;
	}
	#keyimages > img {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate3d(-50%, -50%, 0);
		-webkit-transform: translate(-50%, -50%); /* Safari用 */
		transform: translate(-50%, -50%);
		z-index: 1;
	}
	#keyimages .slide {
		position: relative;
		height: 680px;
	}
	#keyimages .slide li:before {
		content: "";
		width: 4000px;
		height: 4000px;
		display: block;
		background-color: rgba(255, 255, 255, 0.8);
		border-radius: 50%;
		background-size: cover;
		position: absolute;
		z-index: 5;
		bottom: -3920px;
		left: 50%;
		transform: translate3d(-50%, 0, 0);
			-webkit-transform: translate(-50%, 0); /* Safari用 */
			transform: translate(-50%, 0);
	}
	#keyimages .slide li {
		position: relative;
		height: 680px;
	}
	#keyimages .slide li img {
		width: 100%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate3d(-50%, -50%, 0);
		-webkit-transform: translate(-50%, -50%); /* Safari用 */
		transform: translate(-50%, -50%);
	}
	#keyimages .slide li p {
		line-height: 1.6;
		width: 800px;
		margin: 0 auto 20px;
		font-size: 16px;
		text-align: center;
		position: absolute;
		z-index: 10;
		bottom: 0;
		left: 50%;
		transform: translate3d(-50%, 0, 0);
		-webkit-transform: translate(-50%, 0); /* Safari用 */
		transform: translate(-50%, 0);
	}
	#keyimages .slide li p em {
		display: block;
		font-size: 18px;
		font-weight: bold;
	}
}

@media screen and (max-width: 767px) {
	#keyimages {
		position: relative;
		background: url(../images/global/bgBeige.jpg) repeat 0 0;
	}
	#keyimages > img {
		padding: 0 20px;
		max-width: 610px;
		width: 100%;
		height: auto;
		position: absolute;
		top: 40%;
		left: 50%;
		transform: translate3d(-50%, -50%, 0);
		-webkit-transform: translate(-50%, -50%); /* Safari用 */
		transform: translate(-50%, -50%);
		z-index: 1;
	}
	#keyimages .slide li {
		position: relative;
	}
	#keyimages .slide li p {
		margin: 0 auto;
		padding: 10px 20px;
		font-size: 12px;
		text-align: left;
	}
	#keyimages .slide li p em {
		display: block;
		font-size: 14px;
		font-weight: bold;
	}
	#keyimages .bx-wrapper img {
	}
}

/* =============================================================================
   スライダー #seasonSec 旬の情報
   ========================================================================== */
@media screen and (min-width: 768px) {
	#seasonSec .bx-viewport {
		margin-left: 5px;
	}
	#seasonSec .bx-prev,
	#seasonSec .bx-next {
		background-color: #7a6a54;
		border-radius: 5px;
		color: #fff;
	}
	#seasonSec .bx-wrapper .bx-prev {
	    left: -50px;
	    background: url(../images/top/controlsLeft.png) no-repeat 50% 50%;
	}
	#seasonSec .bx-wrapper .bx-prev:hover {
	    background-position: 50% 50%;
	}
	#seasonSec .bx-wrapper .bx-next {
	    right: -50px;
	    background: url(../images/top/controlRight.png) no-repeat 50% 50%;
	}
	#seasonSec .bx-wrapper .bx-next:hover {
	    background-position: 50% 50%;
	}
	#seasonSec .bx-wrapper .bx-controls-direction a {
		z-index: 1;
	}
}
@media screen and (max-width: 767px) {
	#seasonSec .bx-wrapper {
		margin-bottom: 20px !important;
	}
	#seasonSec .bx-prev,
	#seasonSec .bx-next {
		background-color: #7a6a54;
		border-radius: 5px;
		color: #fff;
	}
	#seasonSec .bx-wrapper .bx-prev {
	    left: -10px;
	    background: url(../images/top/controlsLeft.png) no-repeat 50% 50%;
	}
	#seasonSec .bx-wrapper .bx-prev:hover {
	    background-position: 50% 50%;
	}
	#seasonSec .bx-wrapper .bx-next {
	    right: -10px;
	    background: url(../images/top/controlRight.png) no-repeat 50% 50%;
	}
	#seasonSec .bx-wrapper .bx-next:hover {
	    background-position: 50% 50%;
	}
}
/* =============================================================================
   #seasonSec 旬の情報
   ========================================================================== */
@media screen and (min-width: 768px) {
	#seasonSec {
		padding-top: 100px;
		background: url(../images/top/bgSeason.png) no-repeat 50% 50px;
	}
	#seasonSec ul {
		margin-bottom: 50px;
		letter-spacing: -.4em;
		text-align: center;
	}

	#seasonSec li {
		width: 240px;
		max-width: 240px;
		margin: 0 10px 0 10px;
		padding: 10px;
		border: 1px solid #ccc;
		display: inline-block;
		letter-spacing: normal;
		text-align: left;
		overflow: hidden;
		vertical-align: top;

	}
	#seasonSec li img {
		margin-bottom: 15px;
	}
	#seasonSec li img.cover {
	    width: 220px;
	    height: 160px;
	    object-fit: cover;
	    object-position: center top;
	    font-family: 'object-fit: cover; object-position: center top;';
	}
	#seasonSec li p em {
		font-size: 16px;
		display: block;
		margin-bottom: 5px;
		font-weight: bold;
	}
	#seasonSec li p {
		position: relative;
		height: 145px;
		overflow: hidden;
		line-height: 20px;
	}
	#seasonSec li p:before, #seasonSec li p:after {
		position: absolute;
		background: #fff;
	}

	#seasonSec li p:before {
		content: "･･･";
		bottom: 0;
		right: 0;
	}

	#seasonSec li p:after {
		content: "";
		width: 100%;
		height: 100%;
	}
}
@media screen and (max-width: 767px) {
	#seasonSec {
		background: url(../images/top/bgSeason.png) no-repeat 50% 50px;
	}
	#seasonSec ul {
		width: 100%;
		letter-spacing: -.4em;
		text-align: center;
	}
	#seasonSec li {
		width: 48%;
		margin: 0 1% 20px;
		display: inline-block;
		letter-spacing: normal;
		text-align: left;
	}
	#seasonSec li a {
		padding: 10px;
		border: 1px solid #ccc;
	}
	#seasonSec li img {
		width: 100%;
		margin-bottom: 10px;
	}
	#seasonSec li img.cover {
	    width: 100%;
	    height: 140px;
	    object-fit: cover;
	    object-position: center top;
	    font-family: 'object-fit: cover; object-position: center top;';
	}
	#seasonSec li p em {
		font-size: 14px;
		margin-bottom: 5px;
		font-weight: bold;
		display: block;
	}
	#seasonSec li p {
		position: relative;
		height: 130px;
		overflow: hidden;
		line-height: 20px;
		font-size: 12px;
	}
	#seasonSec li p:before, #seasonSec li p:after {
		position: absolute;
		background: #fff;
	}

	#seasonSec li p:before {
		content: "･･･";
		bottom: 0;
		right: 0;
	}

	#seasonSec li p:after {
		content: "";
		width: 100%;
		height: 100%;
	}
}


/* =============================================================================
   #topixSec 最新tトピックス
   ========================================================================== */
@media screen and (min-width: 768px) {
	#contSec {
		padding-top: 20px;
	}

	#contSec > div {
		padding-top: 80px;
		overflow: hidden;
		background: url(../images/top/bgTopix.png) no-repeat 50% 0;
	}
	#topixSec {
		width: 670px;
		float: left;
	}
	#topixSec h2 span {
		width: 670px;
		position: relative;
	}
	#topixSec h2 span:after {
		content: "";
		width: 64px;
		height: 94px;
		display: block;
		background: url(../images/top/imgFlag.png) no-repeat 0 0;
		position: absolute;
		bottom: -10px;
		left: 20px;
	}
	#topixSec ul {
		margin-bottom: 30px;
	}
	#topixSec li {
		margin-bottom: 15px;
		position: relative;
	}
	#topixSec li > a > p {
		width: 13em;
		display: inline-block;
		position: absolute;
		top: 0;
		left: 0;
	}
	#topixSec p span.tag {
		width: 5em;
		margin-right: 10px;
		display: inline-block;
		border-radius: 5px;
		color: #fff;
		text-align: center;
		text-transform: uppercase;
		letter-spacing: 0.2em;
		text-indent: 0.2em;
	}
	#topixSec p span.event {
		background-color: #a3c6a5;
	}
	#topixSec p span.news {
		background-color: #c6a3c6;
	}
	#topixSec p span.info {
		background-color: #a3b9c4;
	}
	#topixSec p span.date {
		margin-right: 10px;
	}
	#topixSec h3 {
		padding-left: 12em;
		font-size: 14px;
		display: inline-block;
		position: relative;
	}
	
/*	#bnSec1 {
		width: 320px;
		float: right;
	}*/
	
/*2019.10.11　カートページ非公開
  2019.11.21　カートページ公開
*/	
	#bnSec1 {
		width: 320px;
		float: right;
	}	
/*==========================*/	
	
	#bnSec1 li {
		margin-bottom: 20px;
	}
	#bnSec1 li.sns > p {
		padding: 0 10px;
	}
	#bnSec1 li.sns ul {
		margin-top: -30px;
		padding: 40px 20px 20px;
		width: 100%;
		overflow: hidden;
		background-color: #eae6dc;
	}
	#bnSec1 li.sns ul li {
		width: 50%;
		margin-bottom: 0;
		float: left;
		font-size: 16px;
		line-height: 2;
	}
	#bnSec1 li.sns ul li i {
		font-size: 30px;
		margin-right: 10px;
	}
	#bnSec1 li.sns ul li i.fa-facebook-square {
		color: #3b5998;
	}
	#bnSec1 li.sns ul li i.fa-twitter-square {
		color: #1da1f2;
	}
	#bnSec1 li.sns ul li i.fa-instagram {
		color: #4c4c4c;
	}
	#bnSec1 li.sns ul li i.fa-youtube-square {
		color: #ff0000;
	}
}

@media screen and (max-width: 767px) {
	#contSec > div {
		overflow: hidden;
		background: url(../images/top/bgTopix.png) no-repeat 50% 0;
	}
	#topixSec {
		margin-bottom: 40px;
	}
	#topixSec h2 span {
		position: relative;
	}
	#topixSec h2 span:after {
		content: "";
		width: 64px;
		height: 94px;
		display: block;
		background: url(../images/top/imgFlag.png) no-repeat 0 0;
		position: absolute;
		bottom: -10px;
		left: 10px;
	}
	#topixSec ul {
		margin-bottom: 20px;
	}
	#topixSec li {
		margin-bottom: 15px;
	}
	#topixSec li > a > p {
		width: 12em;
		display: inline-block;
	}
	#topixSec p span.tag {
		width: 5em;
		margin-right: 10px;
		display: inline-block;
		border-radius: 5px;
		color: #fff;
		text-align: center;
		text-transform: uppercase;
		letter-spacing: 0.2em;
		text-indent: 0.2em;
	}
	#topixSec p span.event {
		background-color: #a3c6a5;
	}
	#topixSec p span.news {
		background-color: #c6a3c6;
	}
	#topixSec p span.info {
		background-color: #a3b9c4;
	}
	#topixSec p span.date {
		margin-right: 10px;
	}
	#topixSec h3 {
		font-size: 14px;
		display: inline-block;
	}
	#bnSec1 li {
		margin-bottom: 20px;
	}
	#bnSec1 li.sns {
		margin-bottom: 0;
	}
	#bnSec1 li.sns > p {
		padding: 0 10px;
	}
	#bnSec1 li.sns ul {
		margin-top: -30px;
		padding: 40px 20px 20px;
		width: 100%;
		overflow: hidden;
		background-color: #eae6dc;
	}
	#bnSec1 li.sns ul li {
		width: 50%;
		margin-bottom: 0;
		float: left;
		font-size: 16px;
		line-height: 2;
	}
	#bnSec1 li.sns ul li i {
		font-size: 30px;
		margin-right: 10px;
	}
	#bnSec1 li.sns ul li i.fa-facebook-square {
		color: #3b5998;
	}
	#bnSec1 li.sns ul li i.fa-twitter-square {
		color: #1da1f2;
	}
	#bnSec1 li.sns ul li i.fa-instagram {
		color: #4c4c4c;
	}
	#bnSec1 li.sns ul li i.fa-youtube-square {
		color: #ff0000;
	}
}
/* =============================================================================
   #bnSec2
   ========================================================================== */
@media screen and (min-width: 768px) {
	#bnSec2 ul {
		text-align: center;
		letter-spacing: -.4em;
	}

	#bnSec2 ul li {
		width: 470px;
		margin: 0 10px 50px;
		display: inline-block;
		letter-spacing: normal;
	}
}

@media screen and (max-width: 767px) {
	#bnSec2 ul {
		text-align: center;
	}
	#bnSec2 ul li {
		margin-bottom: 20px;
	}
}

/* =============================================================================
   #ybSec YouTube
   ========================================================================== */
@media screen and (min-width: 768px) {
	#ybSec {
		background: url(../images/global/bgBlue.jpg) repeat 0 0;
	}
	#ybSec > div {
		position: relative;
		min-height: 650px;
		background: url(../images/top/bgYouTube.png) no-repeat 0 0;
	}
	#ybSec > div:before {
		content: "";
		width: 131px;
		height: 79px;
		display: block;
		background: url(../images/top/imgIitokoro.png) no-repeat 0 0;
		position: absolute;
		top: -139px;
		right: 0;
	}

	#ybSec h2 img {
		width: 135px;
		height: auto;
	}
	#ybSec h2 + p {
		color: #fff;
		letter-spacing: 0.5em;
		text-indent: 0.5em;
		text-align: center;
		font-size: 18px;
	}
	#ybSec ul {
		margin-bottom: 40px;
		padding-top: 160px;
		text-align: center;
	}
	#ybSec ul li {
		/*width: 480px;*/
		width: 310px;
		margin: 0 10px;
		display: inline-block;
	}
}

@media screen and (max-width: 767px) {
	#ybSec {
		padding-bottom: 0;
		background: url(../images/global/bgBlue.jpg) repeat 0 0;
	}
	#ybSec > div {
		position: relative;
		background: url(../images/top/bgYouTube.png) no-repeat 50% 0;
	}
	#ybSec h2 img {
		width: 135px;
		height: auto;
	}
	#ybSec h2 + p {
		color: #fff;
		letter-spacing: 0.4em;
		text-indent: 0.4em;
		text-align: center;
		font-size: 16px;
	}
	#ybSec ul {
		width: 100%;
		margin-bottom: 20px;
		padding-top: 40px;
		text-align: center;
		letter-spacing: -.4em;
	}
	#ybSec ul li {
		width: 50%;
		padding: 4px;
		display: inline-block;
		letter-spacing: normal;
	}
}

/* =============================================================================
   #linkSec 関連リンク
   ========================================================================== */
@media screen and (min-width: 768px) {
	#linkSec > div {
		background: url(../images/top/bgLinks.png) no-repeat 50% 0;
	}

	#linkSec ul {
		text-align: center;
		letter-spacing: -.4em;
	}
		#linkSec li {
		width: 325px;
		margin: 10px;
		display: inline-block;
		letter-spacing: normal;
	}
}

@media screen and (max-width: 767px) {
	#linkSec {
		text-align: center;
	}
	#linkSec > div {
		background: url(../images/top/bgLinks.png) no-repeat 50% 0;
	}

	#linkSec ul {
		width: 100%;
		letter-spacing: -.4em;
		text-align: left;
	}
		#linkSec li {
		width: 50%;
		padding: 2px;
		display: inline-block;
		letter-spacing: normal;
	}
}