@charset "utf-8";
/* CSS Document */

body {
	max-width: 100vw;
	overflow-x: none;
}

.body::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 24px;
	width: 100%;
	/*background: url(../images/upper.png) top center repeat-x;*/
}

img {
	max-width: 100%;
	height: auto;
}

/* floating bn
--------------------------------*/
#fixbn {
	width: 120px;
	top: 170px;
	right: 0;
	z-index: 9999;
	position: fixed;
	margin: 0;
	padding: 0;
}

#fixbn ul li {
	/* margin-bottom: 0px; */
}

#fixbn_left_out {
	top: 170px;
	left: -240px;
	z-index: 9999;
	position: fixed;
	margin: 0;
	padding: 0;
}

#fixbn_left_out:hover {
	left: 0 !important;
	-webkit-transition: 0.8s ease;
	-moz-transition: 0.8s ease;
	-o-transition: 0.8s ease;
	transition: 0.8s ease;
}

header img, h1 img, h2 img, h3 img {
	display: block;
	margin: 0 auto;
}


/* sticky menu
--------------------------------*/

#sticky{
	width: 100%;
	position: relative;
}
#sticky_bg{
	width: 100%;
	max-height: 322px;
}
.body {
	position: relative;
	overflow-x: hidden;
}
#sec1 {
	position: relative;
	/* padding-top: 92px; */
}
#sec1 p,#sec3 p,#sec4 p{
	color: #541300!important
}
#sec1 .btn,#sec3 .btn,#sec4 .btn{
	color: #ffffff!important
}

/*========================*/
/*    サイト全体背景       */
/*========================*/
.bkimg {
	background-image: url("../images/bkg.jpg");
	background-position: top;
	background-size: contain;
	background-repeat: repeat;
}

/*========================*/
/*    メインビジュアル     */
/*========================*/
.mv_img img {
	max-width: 100%;
	width: 100%;
	margin: 0 auto;
}

.mv_img {
	width: 100%;
	background-size: cover;
	background: #386e9c;
}



/*========================*/
/*       sticky nav       */
/*========================*/

.navi_list{
	max-width: 850px;
	width: 90%;
	margin: 50px auto;
	display: flex;
	justify-content: space-between;
	padding: 20px 0 20px;
}
.navi_list img{
	width: 100%;
}
.navi_list .on{
	position: absolute;
	opacity: 0;
	transition: all 0.5s ease;
}
.navi_list .on:hover{
	opacity: 1;
}
.navi_list li{
	width: calc((90% - (10px * 4)) / 4);
	max-width: 100%;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 10px;
	box-sizing: border-box;
	text-align: center;
}
.navi_list li:hover {
    box-shadow: none!important;
}
.navi_list li a{
	display: block;
	width: 100%;
}
.navi_list li a img{
	width: 100%;
}
#sticky_bg[data-stickynow="on"]{
	position: fixed;
	top: 0px;
	z-index: 100;
	background: #dbb6e2;
}
#sticky_bg[data-stickynow="on"] + .sticky_space{
	padding: 17.3vw 0 0 0;
}	
#sticky_bg[data-stickynow="off"]{
	position: absolute;
	top: 0;
	z-index: 100;
}
#sticky_bg[data-stickynow="off"] + .sticky_space{
	padding:148px 0 0 0;
}

@keyframes updown {
	0%{transform:translate(0,0)}
	10%{transform:translate(0,-1px)}
	20%{transform:translate(0,-2px)}
	30%{transform:translate(0,-3px)}
	40%{transform:translate(0,-4px)}
	50%{transform:translate(0,-5px)}
	60%{transform:translate(0,-6px)}
	70%{transform:translate(0,-4px)}
	80%{transform:translate(0,-3px)}
	90%{transform:translate(0,-2px)}
	100%{transform:translate(0,0)}
	}
	@-webkit-keyframes updown {
	0%{transform:translate(0,0)}
	10%{transform:translate(0,-1px)}
	20%{transform:translate(0,-2px)}
	30%{transform:translate(0,-3px)}
	40%{transform:translate(0,-4px)}
	50%{transform:translate(0,-5px)}
	60%{transform:translate(0,-6px)}
	70%{transform:translate(0,-4px)}
	80%{transform:translate(0,-3px)}
	90%{transform:translate(0,-2px)}
	100%{transform:translate(0,0)}
	}


@media screen and (max-width: 1200px){
	.navi_list li {
		width: calc((100% - (16px * 4)) / 4);
		position: relative;
	}
}
@media screen and (max-width:1200px){
	#sticky_bg {
		background-size: contain;
	}
	#sticky::before{
		width: 20px;
	}
	#sticky::after{
		width: 20px;
	}
	#sticky_bg[data-stickynow="off"] + .sticky_space {
		padding: 16.7vw 0 0 0;
	}
	#sticky_bg[data-stickynow="on"] + .sticky_space {
		padding: 16.7vw 0 0 0;
	}
	}
	@media screen and (max-width:1000px){
	#sticky_bg[data-stickynow="off"] + .sticky_space {
		padding:18.4vw 0 0 0
	}
	}
	@media screen and (max-width:920px){
	#sticky_bg[data-stickynow="on"] .navi_list{
		background: #dbb6e2;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		padding: 0px 0 20px;
		transition: 0.2s ease;
	}
}
@media screen and (max-width:870px){
	.navi_list{
		width: calc(100% - 20px);
	}
}

@media screen and (max-width: 768px){
	.navi_list li {
		width: calc((100% - (12px * 4)) / 4);
	}
}
@media screen and (max-width:768px){
	.sticky{
		position: fixed;
		top: 0;
		z-index: 10;
		background-color: rgb(84, 19, 0);
	}
	#sticky::before{
		width: 10px;
	}
	#sticky::after{
		width: 10px;
	}
	#sticky_bg {
		background-size: contain;
	}
	.sticky .navi_list{
		margin: 5px auto;
	}
	.navi_list{
		display: flex;
		justify-content: space-between;
		margin-bottom: 40px;
	}
	#sticky_bg[data-stickynow="off"] + .sticky_space {
		padding: 24.5vw 0 0 0
	}
	#sticky_bg[data-stickynow="on"] + .sticky_space {
		padding: 24.5vw 0 0 0
	}
	#sticky_bg[data-stickynow="on"] .navi_list{
		padding: 14px 0 16px;
	}
}
@media screen and (max-width:456px){

	.navi_list {
		width: calc(100% - 30px);
		padding: 16px 0 24px;
	}

	#sticky_bg[data-stickynow="off"] + .sticky_space {
		padding: 28vw 0 0 0;
	}
	#sticky_bg[data-stickynow="on"] + .sticky_space {
		padding: 17vw 0 0 0;
	}
	#sticky_bg[data-stickynow="on"] .navi_list{
		width: calc(100% - 30px);
		/* padding: 6px 15px 12px; */
	}
}




/*========================*/
/*        イントロ        */
/*========================*/

#intro {
	margin: 4% 4% 0;
}

#intro p.txt {
	font-size: 16px;
    font-family: "Meiryo";
    color: #ffffff;
    font-weight: bold;
    line-height: 1.714;
    text-align: center;
}

#intro p.txt span.txt-ttl {
	color:#88263b;
	font-size: 1.4em;
	display: inline-block;
	margin: 1em 0;
}

#intro img {
    margin: 140px auto 25px;
	display: block;
}
@media screen and (max-width: 768px){
#intro img {
    margin: 60px auto 25px;
	display: block;
}
}
@media screen and (max-width: 768px){
	#intro p.txt {
		font-size: 14px;
		font-family: "Meiryo";
		color: rgb(255, 255, 255);
		font-weight: bold;
		line-height: 1.714;
		text-align: center;
		/* padding: 24px 0 0; */
	}

	#intro img {
		width: 100%;
	}
}

/*========================*/
/*    メインコンテンツ   */
/*========================*/

#section2 {
    width: 100%;
    margin: 0 auto;
}

#section2 .annotation {
	margin: 2% 0 3% 0;
	color: #541300;
	text-align: center;
}

.mv_img {
	width: 100%;
	max-height: 543px;
	background: url("../images/mv_bg.jpg");
	/*background-size: contain;*/
	background-position: 30%;
  background-size: cover;
}
.mv_img img{
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
}
.mv_img_area {
	text-align: center;
}
.mv_img_area > img {
	width: 100%;
	height: auto;
	max-width: 1100px;
	max-height: 543px;
	margin: 0 auto;
}

.annotation {
	margin: 62px 0 14px 0;
	font-size: 13px;
}

.sp {
	display: none;
}

#sec3 #casual-bnr{
	margin: 40px auto 40px;
}
#sec3 #casual-bnr .spesial-bnr{
	margin: 0 auto 40px;
}
#sec3 #casual-bnr .spesial-bnr a:hover{
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	background-color: #ffffff;
}

@media screen and (max-width:1200px) {

	.mv_img img {
		max-width: 100%;
		/* margin: 2% auto; */
	}

}

@media screen and (max-width:1000px) {
	#sec1 p:first-child {
		padding: 5% 0 3%;
	}

	#sec1 {
		padding: 10% 3% 2%;
	}

	#sec1 img {
		max-width: 100%;
	}

	#sec3.wrapper, #sec4.wrapper {
		max-width: 850px;
		width: calc(100% - 2vw);
	}

	#sec3 {
		width: 100%;
		overflow-x: hidden;
	}

	#sec4 {
		width: 100%;
		overflow-x: hidden;
	}

	.canto_link {
		padding: 0 0 6%;
	}
}

@media screen and (max-width:920px) {

}

@media screen and (max-width:768px) {


	.object {
		display: none !important;
	}

	#sec1 h2 img {
		width: 90%;
	}

	.annotation {
		font-size: 13px;
	}

	.sp {
		display: block;
	}
}


@media screen and (max-width:768px) {
	#sec3 div.wrapper {
		position: relative;
		margin: 45px auto 30px;
		background-color: #fff;
		width: 90%;
		padding: 5% 5%;
		box-sizing: border-box;
	}

	#sec4 div.wrapper {
		position: relative;
		margin: 45px auto 30px;
		background-color: #fff;
		width: 90%;
		padding: 5% 5%;
		box-sizing: border-box;
	}


	.navi_list {
		padding: 28px 0 34px;
		width: calc(100% - 2vw);
	}


	.navi_list li {
		width: calc((100% - (4px * 4)) / 4);
	}

}

@media screen and (max-width:456px) {

	.annotation {
		font-size: 13px;
	}

	#sec3 #casual-bnr{
		margin: 10% auto 10%;
	}
	#sec3 #casual-bnr .spesial-bnr{
		margin: 0 auto 10%;
	}
	#sec3 #casual-bnr .spesial-bnr a:hover{
		opacity: 0.7;
		filter: alpha(opacity=70);
		-ms-filter: "alpha(opacity=70)";
		background-color: #ffffff;
	}

}





/*=======================
    　季節商品
========================*/

#seasongift .item_list li {
	width: 48%;/*44.6%*/
	padding: 0;
	display: flex;
}

#seasongift .item_list li::before{
	position: absolute;
  content: '';
  top: 5px;
  left:0;
  display: block;
  width: 100%;
  background-image: url(../images/item_top.png);
  background-size: contain;
  /*background-repeat: no-repeat;*/
	transform: translateY(5px);
	aspect-ratio: 1.29 / 0.15;
}

#seasongift .item_list li::after{
	position: absolute;
  content: '';
  bottom: 4px;
  left:0;
  display: block;
  width: 100%;
  background-image: url(../images/item_bottom.png);
  background-size: contain;
  /*background-repeat: no-repeat;*/
	aspect-ratio: 1 / 0.14 ;
}

#seasongift .item_description {
	width: 100%;
}

#seasongift .item_list p.item_icon{
	width: auto;
	position: absolute;
	top: 50px;
	right: 20px;
}

#seasongift .item_list .item_wrap{
	background-color: #ffffff;
	margin: 14% 0;
	display: flex;
	flex-wrap: wrap;
	align-content: space-around;
}


#seasongift .item_list p.content span {
	background-color: #ffaf25;
	padding: 2px 10px;
	color: #080404;
	margin-right: 10px;
	font-size: 1em;
}

#seasongift p {
	color: #080404;
	margin: 0px auto 0px;
	text-align: center;
	width: 96%;
}

/*ボタン*/
#seasongift p.btn a {
	display: block;
	color: #fff;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	box-sizing: border-box;
	color: #fff;
	background-color: rgb(109, 70, 133);
	width: 96%;
	max-width: 260px;
	height: 46px;
	line-height: 42px;
	border-radius: 23px;
	margin: 0 auto 20px;
	border: 3px solid rgb(109, 70, 133);
}

#seasongift p.btn a:hover {
	color: rgb(109, 70, 133);
	background-color: #fff;
}


#seasongift p.btn2 a {
	color: #fff;
	background-color: rgb(234, 78, 129);
	width: 96%;
	max-width: 260px;
	height: 46px;
	line-height: 42px;
	border-radius: 23px;
	margin: 0 auto;
	border: 3px solid rgb(234, 78, 129);
	font-size: 18px;
	font-weight: bold;
	box-sizing: border-box;
}

#seasongift p.btn2:hover a {
	color: rgb(234, 78, 129);
	background-color: #fff;
}

#seasongift p.name {
	font-size: 23px;
	font-weight: bold;
	vertical-align: text-bottom;
}


#seasongift p.price {
	font-size: 20px;
	font-weight: bold;
	margin: 0px auto 12px;
}

#seasongift p span {
	font-size: 14px;
}

#seasongift p.content {
	font-size: 16px;
	margin: 0px auto 20px;
}

#seasongift p.content span {
	background-color: #d36c6c;
	padding: 2px 10px;
	color: #ffffff;
	margin-right: 10px;
	font-size: 1em;
}


@media screen and (max-width: 768px) {


	#seasongift .item_list li::before{
	position: absolute;
  content: '';
  top: 10px;
  left:0;
  display: block;
  width: 100%;
  background-image: url(../images/item_top.png);
  background-size: contain;
  /*background-repeat: no-repeat;*/
	transform: translateY(5px);
	aspect-ratio: 1.31 / 0.15;;
}
}

@media screen and (max-width: 750px) {

	#seasongift .item_list li {
		max-width: none;
		width: 100%;
		margin: 0 0 1rem;
	}

	#seasongift .item_list li {
		margin: 0 auto 1rem;
	}
}

@media screen and (max-width: 480px) {

	#seasongift p.name {
		font-size: 20px;
		font-weight: bold;
	}

	#seasongift p.content {
		margin: 0px auto 10px;
	}

	#seasongift p.price {
		margin: 0px auto 8px;
	}
}
