@charset "utf-8";


html, body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }


@media screen and (min-width:481px) {
	

	
.pagetop{
	border: solid min(2px,0.104166vw) #fcc92c;
	background:#fff;
	cursor:pointer;
	opacity:0;
	visibility:hidden;
	transition:opacity 0.4s ease;
}
	
.pagetop.is-visible{
	opacity:1;
	visibility:visible;
}
	
.pagetop__arrow{
	width:110%;
	height:110%;
	border-style:none;
	border-right:none;
	border-left:none;
	border-bottom:none;
	background:url("../image/cheese_is/totop.png") no-repeat center center / 60%;
	animation: pagetopFloat 1.4s ease-in-out infinite;
}

.pagetop:hover .pagetop__arrow{
	animation-duration:0.7s;
}

@keyframes pagetopFloat{
	0%,100%{
		transform:translateY(0);
	}
	50%{
		transform:translateY(-2px);
	}
}	
	
	
	
	
	nav{background:transparent;}
	body{
		background-color:#fff!important;
	}

	#global-navi-pc{background-color: transparent; position:fixed!important; height:min(100px,5.208333vw)!important;}
	.R-fixed-ecbtn-pc div{border:solid min(1px,0.052083vw) #ccc;}
	.ft-2a{display:none;}
	.menu-fixed{
        background-color: #fcc92c !important;
	}
	#main-logo,.gnp .logo-sns{
	filter: brightness(0) saturate(100%)
	}
	.menu-pc a,.menu-pc .modalOpen,.menu-pc .modal2Open{color:#000;}
	.pc-menu-now a {
        color: #83511B;
    }		
	.gnp .menu-pc{
		position:relative!important;
		top:min(20px,1.041666vw)!important;
	}
	
	h1{font-size:min(30px,1.5625vw); color:#fff; margin: 0px auto min(25px,1.302083vw); display:none;}
	h2{font-size:min(30px,1.5625vw); color:#000; margin: min(80px,4.166666vw) auto min(65px,3.385416vw) auto;
}
	h3{font-size:min(19px,0.989583vw); color:#000; margin-bottom:min(30px,1.5625vw); line-height:1.4em;}
	h4{font-size:min(19px,0.989583vw); line-height:min(32px,1.666666vw); color:#000; margin-bottom:min(70px,3.645833vw);}
	h5{font-size:min(19px,0.989583vw); color:#000;}
	
	
	
	
/* =========================================================
   Cheese is... FV（PC用土台）
========================================================= */
.fv {
	position: relative;
	width: 100%;
	max-width: 1920px;
	height: min(900px,46.875vw);
	margin: 0 auto;
	background: #ffffff;
	overflow: hidden;
}

.fv-inner {
	position: relative;
	width: 100%;
	height: 100%;
	background: #ffffff;
	overflow: hidden;
}

/* 1920px以上で左右にブランドカラーを見せるための外側背景想定 */
body {
	background: #fff;
}


/* =========================
   スライダー本体
========================= */
.fv-slider {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
}

.fv-slide {
	width: 100%;
	height: 100%;
}



.fv-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
	
	
/* slick未初期化時のFVフォールバック */
.fv-slider.fv-fallback-active .fv-slide {
	display: none;
}

.fv-slider.fv-fallback-active .fv-slide:first-child {
	display: block;
}


/* =========================
   白背景オーバーレイ
========================= */
.fv-white-cover {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: #ffffff;
}


/* =========================
   SVGマスク
========================= */
.fv-mask-svg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	width: 100%;
	height: 100%;
	pointer-events: none;
	overflow: visible;
}

.fv-mask-rect {
	transform-origin: center center;
}


/* =========================
   動画
========================= */
.fv-video-wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 3;
	transform: translate(-50%, -50%);
	width: min(450px,23.4375vw);
	max-width: 100%;
	pointer-events: none;
	opacity: 1;
}

.fv-video {
	display: block;
	width: 100%;
	height: auto;
}


	
.fv-mask-svg,
.fv-video-wrap,
.fv-financier-move,
.fv-slider {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.fv-mask-svg{
	contain: paint;
}	
	
/* =========================
   移動用フィナンシェ
========================= */
.fv-financier-move {
	position: absolute;
	top: 48.15%;
	left: 50.4%;
	z-index: 4;
	width: min(189px,9.84375vw);
	opacity: 0;
	transform: translate(-50%, -50%);
	pointer-events: none;
	will-change: transform, top, left, opacity;
}

.fv-financier-move img {
	display: block;
	width: 100%;
	height: auto;
}


/* =========================
   フィナンシェ着地点アンカー
   ※いったんPC絵コンテ基準の仮位置
========================= */
.fv-financier-anchor {
	position: absolute;
	left: min(556px,28.958333vw);
	top: min(764px,39.791666vw);
	z-index: 0;
	width: min(190px,9.895833vw);
	height: min(168px,8.75vw);
	transform: translate(-50%, -50%);
	opacity: 0;
	pointer-events: none;
}


/* =========================
   ドットインジケーター
========================= */
.fv-indicator {
	position: absolute;
	left: 50%;
	bottom: min(26px,1.354166vw);
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: min(10px,0.520833vw);
	transform: translateX(-50%);
	opacity:0;
	visibility:hidden;
	transition:opacity 0.3s ease;
}
	
.fv-indicator.is-visible {
	opacity: 1;
	visibility: visible;
}

.fv-indicator-item {
	display: block;
	width: min(18px,0.9375vw);
	height: min(16px,0.833333vw);
	background: url("../image/cheese_is/fv_slider_item.png") no-repeat center center / contain;
	opacity: 0.3;
}

.fv-indicator-item.is-active {
	opacity: 1;
}

.fv-indicator-item img {
	display: none;
}


/* =========================================================
   Brand Message（PC）
========================================================= */
.brand-message{
	position: relative;
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	padding: 0 0 min(200px,10.416666vw);
	background: #75c7d3;
	overflow: hidden;
}

.brand-message__bg{
	position: relative;
	width: 100%;
	min-height: min(610px,31.7708vw);
}

.brand-message__inner{
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: min(700px,36.4583vw);
	margin: 0 auto;
	text-align: center;
	top:min(275px,14.322916vw);
}

.brand-message h2{
	font-size:280%!important;
	margin: 0 0 min(55px,2.8645vw);
	color: #000;
}

.brand-message p{
	font-size: 110%;
	line-height: 2em;
	letter-spacing: 0.08em;
	color: #000;
}

/* -------------------------
   水玉共通
------------------------- */
.brand-message__dot{
	position: absolute;
	z-index: 1;
	border-radius: 50%;
	background: #fff;
	opacity: 0;
	transform: scale(0);
	transform-origin: center center;
	transition:
		opacity 0.55s ease,
		transform 0.55s ease;
	will-change: opacity, transform;
}

.brand-message__bg.is-visible .brand-message__dot{
	opacity: 1;
	transform: scale(1);
}

/* -------------------------
   水玉 個別位置・サイズ
   ※位置は仮置き
------------------------- */
.brand-message__dot--01{
        top: min(30px,1.5625vw);
        left: min(516px,26.875vw);
        width: min(150px,7.8125vw);
        height: min(150px,7.8125vw);
        transition-delay: 1.08s;
}

.brand-message__dot--02{
        top: min(237px,12.34375vw);
        left: min(305px,15.885416vw);
        width: min(90px,4.6875vw);
        height: min(90px,4.6875vw);
        transition-delay: 1.28s;
}

.brand-message__dot--03{
        top: min(205px,10.677083vw);
        right: min(679px,35.364583vw);
        width: min(70px,3.645833vw);
        height: min(70px,3.645833vw);
        transition-delay: 1.48s;
}

.brand-message__dot--04{
        top: max(-65px,-3.385416vw);
        right: min(400px,20.833333vw);
        width: min(180px,9.375vw);
        height: min(180px,9.375vw);
        transition-delay: 1.68s;
}

.brand-message__dot--05{
		bottom: max(-289px,-15.052083vw);
        left: min(483px,25.15625vw);
        width: min(270px,14.0625vw);
        height: min(270px,14.0625vw);
        transition-delay: 1.88s;
}

.brand-message__dot--06{
		top: min(353px,18.385416vw);
        right: min(480px,25vw);
        width: min(180px,9.375vw);
        height: min(180px,9.375vw);
        transition-delay: 2.08s;
}

.brand-message__dot--07{
        top: min(422px,21.979166vw);
        left: max(-3px,-0.15625vw);
        width: min(200px,10.416666vw);
        height: min(200px,10.416666vw);
        transition-delay: 2.68s;
}

.brand-message__dot--08{
        bottom: max(-456px,-23.75vw);
        left: min(1310px,68.229166vw);
        width: min(450px,23.4375vw);
        height: min(450px,23.4375vw);
        transform: translateX(-50%) scale(0);
        transition-delay: 2.78s;
}

.brand-message__bg.is-visible .brand-message__dot--08{
	transform: translateX(-50%) scale(1);
}

.brand-message__dot--09{
        bottom: min(75px,3.90625vw);
        right: max(-44px,-2.291666vw);
        width: min(140px,7.291666vw);
        height: min(140px,7.291666vw);
        transition-delay: 3.00s;
}

	
	
	

	
	
/* =========================================================
   Find your cheese（PC）
========================================================= */
.find-your-cheese{
	position: relative;
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	overflow: hidden;
}

.find-your-cheese__inner{
	position: relative;
	width: 100%;
	aspect-ratio: 2048 / 991;
}

/* 背景画像本体 */
.find-your-cheese__bg{
	position: absolute;
	inset: 0;
	z-index: 0;
}

.find-your-cheese__bg img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* 既存要素は背景より前面に */


.find-your-cheese__lead{
	position: absolute;
	top: min(190px, 9.895833vw);
	right: min(140px,7.291666vw);
	z-index: 2;
}

.find-your-cheese__title{
	display: flex;
	align-items: flex-start;
	gap: min(4px,0.208333vw);
}

.find-your-cheese__char{
	display: inline-flex;
	align-items: flex-start;
	justify-content: center;
	animation: fycWave 2.8s ease-in-out infinite;
	will-change: transform;
}

.find-your-cheese__char img{
	display: block;
	width: auto;
	height: min(45px,2.34375vw);
}

.find-your-cheese__char:nth-child(1){animation-delay: 0s;}
.find-your-cheese__char:nth-child(2){animation-delay: 0.10s;}
.find-your-cheese__char:nth-child(3){animation-delay: 0.20s;}
.find-your-cheese__char:nth-child(4){animation-delay: 0.30s;}
.find-your-cheese__char:nth-child(5){animation-delay: 0.40s;}
.find-your-cheese__char:nth-child(6){animation-delay: 0.50s;}
.find-your-cheese__char:nth-child(7){animation-delay: 0.60s;}
.find-your-cheese__char:nth-child(8){animation-delay: 0.70s;}
.find-your-cheese__char:nth-child(9){animation-delay: 0.80s;}
.find-your-cheese__char:nth-child(10){animation-delay: 0.90s;}
.find-your-cheese__char:nth-child(11){animation-delay: 1.00s;}
.find-your-cheese__char:nth-child(12){animation-delay: 1.10s;}
.find-your-cheese__char:nth-child(13){animation-delay: 1.20s;}
.find-your-cheese__char:nth-child(14){animation-delay: 1.30s;}

.find-your-cheese__text{
	margin-top: min(64px,3.333333vw);
	width: min(625px,32.552083vw);
	text-align:left;
}

.find-your-cheese__text p{
	margin: 0 0 min(45px,2.34375vw);
	font-size: min(23px,1.197916vw);
	line-height: 2.0;
	letter-spacing: 0.08em;
	color: #1f1a17;
	font-weight: 400;
}
	
.cheese-ellipsis{
	display: inline-block;
	vertical-align: bottom;
	position: relative;
	top: 0.23em;
}

.find-your-cheese__illust {
position: absolute;
        top: min(130px, 6.770833vw);
        right: min(200px, 10.416666vw);
        z-index: 2;
        width: min(85px, 4.427083vw);
        transform-origin: 5% 19%;
        animation: fycSwing 4.8s ease-in-out infinite;
        will-change: transform;
}

.find-your-cheese__illust img{
	display: block;
	width: 100%;
	height: auto;
}

@keyframes fycWave{
	0%, 100%{
		transform: translateY(0);
	}
	20%{
		transform: translateY(-5px);
	}
	40%{
		transform: translateY(0);
	}
}

@keyframes fycSwing{
	0%, 100%{
		transform: translateX(-10px) rotate(-4deg);
	}
	50%{
		transform: translateX(10px) rotate(4deg);
	}
}
	
	

.find-your-cheese__dot{
	position: absolute;
	z-index: 1;
	border-radius: 50%;
	background: #fbc92c;
}

.find-your-cheese__dot--01{
        top: min(110px, 5.729166vw);
        left: min(29px, 1.510416vw);
        width: min(120px, 6.25vw);
        height: min(120px, 6.25vw);
}


.find-your-cheese__dot--02{
        top: min(35px, 1.822916vw);
        right: 0px;
        width: min(140px, 7.291666vw);
        height: min(140px, 7.291666vw);
}


.find-your-cheese__dot--03{
        right: min(770px, 40.104166vw);
        bottom: min(348px,18.125vw);
        width: min(50px, 2.604166vw);
        height: min(50px, 2.604166vw);
}


.find-your-cheese__dot--04{
        right: max(-50px, -2.604166vw);
        bottom: max(-125px, -6.510416vw);
        width: min(400px, 20.833333vw);
        height: min(400px, 20.833333vw);
}
	
	
	

	
	
/* =========================================================
   Product（PC）
========================================================= */
.product{
	position: relative;
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	padding: min(95px,4.947916vw) 0 min(78px, 4.0625vw);
	background: #fcc92c;
	overflow: hidden;
}

.product__inner{
	width: min(1120px, 58.333333vw);
	margin: 0 auto;
}

.product__title{
	margin: 0 0 min(85px,4.427083vw);
	text-align: center;
	font-size: 280%!important;
	line-height: 1;
}

.product__list{
display: grid;
        grid-template-columns: repeat(3, min(375px, 19.53125vw));
        justify-content: center;
        column-gap: min(95px, 4.947916vw);
        row-gap: min(85px, 4.427083vw);
}



.product__item{
	display: block;
	width: 100%;
	text-decoration: none;
	color: #000;
}

.product__image{
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #fff;
}

/* 白っぽさ調整用 */
.product__image::after{
	content: "";
	position: absolute;
	inset: 0;
	background: #ffffff;
	opacity: 0;
	transition: opacity 0.35s ease;
	pointer-events: none;
}

.product__item:hover .product__image::after{
	opacity: 0.18;
}

.product__image img{
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	max-width: none;
	object-fit: cover;
	transform: translate(-50%, -50%) scale(1);
	transform-origin: center center;
	transition: transform 0.35s ease;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	will-change: transform;
}

.product__item:hover .product__image img{
	transform: translate(-50%, -50%) scale(1.02);
}

.product__name{
        margin-top: min(22px, 1.145833vw);
        text-align: center;
        font-size: min(17px, 0.885416vw);
        line-height: 1.7;
        letter-spacing: 0.02em;
        color: #000;
}
	
	
	.product__swipe-guide{display:none!important;}
	
	
	
	
	
	
/* =========================================================
   Instagram（PC）
========================================================= */
.instagram{
	position: relative;
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	padding: 0 0 min(130px,6.770833vw);
	background: #fff;
	overflow: hidden;
}

.instagram__main{
	position: relative;
	width: 100%;
	margin: 0;
}

.instagram__main-viewport{
	position: relative;
	width: 100%;
	height: min(640px,33.333333vw);
	overflow: hidden;
	background: #fcc92c;
}

.instagram__main-image{
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 100%;
	height: auto;
	max-width: none;
	transform: translate(-50%, -50%) scale(1.08);
	transform-origin: center center;
	will-change: transform;
	pointer-events: none;
}

.instagram__inner{
	position: relative;
	width: min(1920px,100%);
	margin: 0 auto;
	padding-top: min(95px,4.947916vw);
	z-index: 1;
}

.instagram__content{
	position: relative;
	z-index: 2;
	width: min(760px,39.583333vw);
	margin: 0 auto;
	text-align: center;
}

.instagram__title{
	margin: 0 0 min(34px,1.770833vw);
	text-align: center;
	font-size: 280% !important;
	line-height: 1;
	color: #000;
}

.instagram__qr{
	display: block;
	width: min(120px,6.25vw);
	margin: 0 auto min(24px,1.25vw);
	transition: opacity 0.3s ease;
}

.instagram__qr:hover{
	cursor: pointer;
	opacity: 0.5;
}

.instagram__qr img{
	display: block;
	width: 100%;
	height: auto;
}

.instagram__message{
	margin: 0 0 min(75px,3.90625vw);
	font-size: min(14px,0.729166vw);
	line-height: 1.9;
	letter-spacing: 0.03em;
	color: #000;
}

.instagram-feed{
	display: grid;
	grid-template-columns: repeat(3, min(210px,10.9375vw));
	justify-content: center;
	column-gap: min(10px,0.520833vw);
	row-gap: min(10px,0.520833vw);
}

.instagram-feed__tile{
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 210 / 230;
	background: #fcc92c;
	overflow: hidden;
	text-decoration: none;
}

.instagram-feed__tile:not(.is-empty){
	cursor: pointer;
}

.instagram-feed__tile.is-empty{
	pointer-events: none;
}

.instagram-feed__media{
	position: absolute;
	inset: 0;
	display: block;
}

.instagram-feed__media img{
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	max-width: none;
	object-fit: cover;
	transform: translate(-50%, -50%) scale(1);
	transition: transform 0.35s ease, opacity 0.35s ease;
	opacity: 0;
}

.instagram-feed__tile:not(.is-empty):hover .instagram-feed__media img{
	transform: translate(-50%, -50%) scale(1.03);
}

.instagram-feed__tile.is-ready .instagram-feed__media img{
	opacity: 1;
}

.instagram__button-wrap{
	margin-top: min(28px,1.458333vw);
	text-align: center;
}

.instagram__button{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: min(222px, 11.5625vw);
        height: min(40px, 2.083333vw);
        border: solid min(1px, 0.052083vw) #000;
        background: #fff;
        color: #000;
        text-decoration: none;
        font-size: min(16px, 0.833333vw);
        letter-spacing: 0.08em;
        transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.instagram__button:hover{
	cursor: pointer;
	background: #fcc92c;
	border-color: #fcc92c;
	color: #000;
}

.instagram__dot{
	position: absolute;
	z-index: 0;
	border-radius: 50%;
	background: #fcc92c;
}

.instagram__dot--01{
        top: min(50px, 2.604166vw);
        left: min(460px, 23.958333vw);
        width: min(130px, 6.770833vw);
        height: min(130px, 6.770833vw);
}

.instagram__dot--02{
        top: min(360px, 18.75vw);
        left: min(140px, 7.291666vw);
        width: min(80px, 4.166666vw);
        height: min(80px, 4.166666vw);
}

.instagram__dot--03{
		top: min(150px, 7.8125vw);
        right: min(220px, 11.458333vw);
        width: min(230px, 11.979166vw);
        height: min(230px, 11.979166vw);
}

.instagram__dot--04{
		top: min(675px, 35.15625vw);
        left: max(-130px, -6.770833vw);
        width: min(400px, 20.833333vw);
        height: min(400px, 20.833333vw);
}

.instagram__dot--05 {
        top: min(830px, 43.229166vw);
        right: max(-170px, -8.854166vw);
        width: min(500px, 26.041666vw);
        height: min(500px, 26.041666vw);
}
	
	
	
	
	
/* =========================================================
   Event（PC）
========================================================= */
.event{
	position: relative;
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	padding: min(78px,4.0625vw) 0 min(450px,23.4375vw);
	background: #f2f2f2;
	overflow: hidden;
}

.event::before{
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: min(610px,31.770833vw);
	z-index: 0;
	background: #fcc92c;
}

.event__cheese{
	position: absolute!important;
	left: 50%;
	bottom:min(57px,2.96875vw);
	transform: translateX(-50%);
	z-index: 1;
	width: 100%;
	max-width: 1920px;
	line-height: 0;
	pointer-events: none;
}

.event__cheese-base{
	display: block;
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
}

.event__cheese-flow{
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 2;
	width: 100%;
	height: auto;
	opacity: 0;
	transform: translateY(min(-80px,-4.166666vw));
	will-change: transform, opacity;
}
	
.event__cheese-base img,
.event__cheese-flow img{
	display: block;
	width: 100%;
	height: auto;
}

.event.is-visible .event__cheese-flow{
	opacity: 1;
	transform: translateY(0);
	transition:
		transform 6s cubic-bezier(0.22, 1, 0.36, 1) 1s,
		opacity 0.1s linear 0.1s;
}

.event__inner{
	position: relative;
	z-index: 2;
	width: min(980px,51.041666vw);
	margin: 0 auto;
}

.event__title{
	margin: 0 0 min(52px,2.708333vw);
	text-align: center;
	font-size: min(58px,3.020833vw) !important;
	line-height: 1.1;
	font-weight: 500;
	color: #231815;
	opacity: 1;
	transform: none;
}

.event__grid{
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: min(150px,7.8125vw);
	align-items: start;
	justify-items: start;
}

.event__column{
	width: 100%;
	max-width: none;
	min-width: 0;
	padding: 0;
	border: none;
	background: none;
	backdrop-filter: none;
	opacity: 1;
	transform: none;
	text-align: left;
}

.event__heading{
	display: inline-block;
	margin: 0 0 min(22px,1.145833vw);
	padding: min(8px, 0.416666vw) min(40px, 2.083333vw);
	border: solid 1px #7f6921;
	background: rgba(255, 209, 61, 0.58);
	font-size: min(22px,1.145833vw);
	line-height: 1.2;
	font-weight: 500;
	color: #231815;
	text-align: center;
}

.event__list{
	display: flex;
	flex-direction: column;
	row-gap: min(34px,1.770833vw);
}

.event__item{
	padding: 0;
	border: none;
	text-align: left;
}

.event__shop{
	position: relative;
	margin: 0 0 min(12px,0.625vw);
	padding-left: min(14px,0.729166vw);
	font-size: min(22px,1.145833vw);
	line-height: 1.45;
	font-weight: 700;
	color: #231815;
	text-align: left;
}

.event__shop::before{
	content: "";
	position: absolute;
	left: 0;
	top: 0.32em;
	width: min(9px,0.46875vw);
	height: 0.95em;
	background: #231815;
}

.event__meta{
	display: flex;
	align-items: flex-start;
	gap: 0;
	margin: 0 0 min(5px,0.260416vw);
	font-size: min(18px,0.9375vw);
	line-height: 1.8;
	color: #231815;
	text-align: left;
}

.event__label{
	flex: 0 0 auto;
	display: inline-block;
	width: 5.5em;
	font-weight: 700;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.event__value{
	flex: 1 1 auto;
	display: inline-block;
	max-width: 100%;
	min-width: 0;
	white-space: nowrap;
}

.event.is-visible .event__title,
.event.is-visible .event__column{
	opacity: 1;
	transform: none;
}
	
	

	
	

@keyframes eventDripFloat{
	0%, 100%{
		transform: translateY(0);
	}
	50%{
		transform: translateY(min(6px,0.3125vw));
	}
}

	
	
/* -------------------------
   Event終了表示
------------------------- */
.event-end-note {
  display: inline-block;
  font-size: 65%;
  
}
.event-end{
	margin:0 0 min(2px,0.104166vw);
}
	
	
	

	
	
	
	
	


	
/*一括指定用css記述ここから*/

/*一括指定用css記述ここまで*/
	

	

	
	
	/*footer*/
	
	
	footer{
		height:100%;
        width: min(1920px,100vw);
        padding-top: min(53px,2.760416vw);
		padding-bottom:0;
        border-top: none;
        background-color: #f2f2f2;
        position: relative;
        margin: 0px auto 0px;
        z-index: 7;
        color: #000;
	}
	.ft-bd{
        width: min(1760px,91.666666vw);
        height: min(10px,0.520833vw);
        position: relative;
        top: 0px;
        left: 0px;
        margin: min(40px,2.083333vw) auto 0px;
        border-bottom: solid min(2px,0.104166vw) #000;
        z-index: 2;
	}
	.ft-b-link1,.ft-b-link2,.ft-b-copy,.ft-b-2 div div,.ft-b-2 div div a{
		display:inline-block;
		color:#000;
	}
	.ft-b-manu-now,.ft-b-manu-now a{
		color:#000!important;
	}

	.ft-b-3{display:none;} 
	.ft-b-cnt{
		width:100%;
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-pack:justify;
		-ms-flex-pack:justify;
		justify-content:space-between;
		font-size:min(19px,0.989583vw);
	}
	.ft-b-1{width:min(450px,23.4375vw); margin-left:min(270px,14.0625vw); text-align:left; position:relative;}
	.ft-b-1 img{
        width: min(300px,15.625vw);
        margin-bottom: 0px;
        position: relative;
        top: max(-36px,-1.875vw);
        left: max(-39px,-2.03125vw);
	}
	.ft-b-1 div{
		display:flex;
		flex-flow: column;
	}
	.ft-b-2{
		text-align:right;
		font-size:min(20px,1.041666vw);
		line-height:2.3em;
		margin-right:min(565px,29.427083vw);
				display:flex;
		-webkit-box-pack:justify;
		-ms-flex-pack:justify;
	}

	.ft-b-link1,.ft-b-link2{
		text-align:left;
		display:flex;
		flex-flow: column;
		line-height: 1.7em;
	}
	.ft-b-link2{margin-left:min(55px,2.864583vw);}
	.ft-b-2 div div a{width:100%; height:100%;}
	.ft-b-sns{width:72%; text-align:right; margin: 0px auto min(39px,2.03125vw);}
	.ft-b-sns div{display:inline-block; width:min(41px,2.135416vw); height:min(41px,2.135416vw); margin-left:min(20px,1.041666vw);}
	.ft-b-sns div a{display:inline-block;}
	.ft-b-sns div a img{
		width:100%;
		filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(157deg) brightness(104%) contrast(105%);
	}
	.ft-b-copy{width:70%; text-align:center; margin:min(110px,5.729166vw) auto 0; position:relative; top:max(-34px,-1.770833vw);}
	
	footer .ft-2{display:none;}
	
	/*footer*/
	
	

	
/*モーダルウィンドウ-fv*/

.modal-fv {
  display: none;
  position: fixed;
  z-index: 9900;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  overflow:hidden;
  background-color: rgba(0,0,0,0.5);
  animation-name: modalopen;
  animation-duration: 1s;
}

.modal-fv-content {
  background-color: #000;
  border:solid min(1px,0.052vw) #977f42;
  margin: 17% auto 20%;
  width: 50%;
  box-shadow: 0 min(5px,0.2604vw) 8px 0 rgba(0,0,0,0.2),0 min(7px,0.3645vw) min(20px,1.0416vw) 0 rgba(0,0,0,0.17);
  max-width: min(900px,46.875vw);

}



.modal-fv-header .modal-fv-title {
  margin: min(50px,2.604166vw) auto min(20px,1.041666vw);
}

.modal-fv-header {
  padding: min(3px,0.1562vw) min(15px,0.7812vw) min(1px,0.052vw);
  display: block;
  text-align:center;
  position:relative;
  font-size:min(20px,1.0416vw);
  color:#fff;
}

.modal-fvClose {
  font-size: min(32px,1.666666vw);
  position:absolute;
  top:min(10px,0.5208vw);
  right:min(10px,0.5208vw);
  color:#977f42;
}

.modal-fvClose:hover,.modal-fvOpen:hover {
  cursor: pointer;
}

.modal-fv-body {
  padding: 0px min(20px,1.0416vw) min(10px,0.5208vw);
  color:#fff;
}
.modal-fv-body p:first-of-type {
    font-size:min(20px,1.0416vw) !important;
    margin-bottom: min(15px,0.7812vw);
	text-align:center;
}
.modal-fv-setumei{
	font-size:min(13px,0.677vw);
	text-align:center!important;
	margin-bottom:min(50px,2.604166vw);
}
.mordal-fv-hr1,.mordal-hr2{
	width:70%;
	height:min(1px,0.052vw);
	display:inline-block;
	background-color:#977f42;
}
.mordal-fv-hr1{margin:min(10px,0.5208vw) auto min(30px,1.5625vw);}
.mordal-fv-hr2{margin:min(10px,0.5208vw) auto min(10px,0.5208vw);}
	
	
.modal-fv-ec{
	width:90%;
	margin:0px auto;
	padding-top:0px;
	padding-bottom:min(40px,2.0833vw);
	text-align:center;
}

	
.modal-fv-ec-button a{
	cursor:pointer;
	display:flex;
	align-items: center;
}
.modal-fv-ec-button a img{
		width: min(135px,7.0312vw);
        padding: min(7px,0.3645vw);
	    display:inline-block;
}
	.modal-fv-ec-button:first-of-type a img{
		position:relative;
		left:0px;
	}	
	.modal-fv-ec-button:last-of-type a img{
		position:relative;
		left:0px;
	}	
	
.modal-fv-ec-button{
	display:inline-block;
	width:min(235px,12.2395vw);
	height:min(70px,3.6458vw);
	text-align:center;
}

.modal-fv-ec-button span{
	display:inline-block;
	font-size:min(17px,0.8854vw);
	position:relative;
	left:0px;
	color:#fff;
}
	
.modal-fv-sns{
	width:70%;
	margin:min(30px,1.5625vw) auto 0px min(149px,7.7604vw);
	padding-top:0px;
	padding-bottom:min(12px,0.625vw);
	text-align:center;
}
.modal-fv-sns-button a{
	cursor:pointer;
	display:flex;
	align-items: center;
}
.modal-fv-sns-button a img{
	width:min(57px,2.9687vw);
	padding-right:min(5px,0.2604vw);
	filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(157deg) brightness(104%) contrast(105%);
}
.modal-fv-sns-button{
	display:inline-block;
	width:min(235px,12.2395vw);
	height:min(70px,3.6458vw);
	text-align:left;
	margin-left:min(50px,2.6041vw);
}
.modal-fv-sns-button span{
	display:inline-block;
	font-size:min(30px,1.5625vw);
	position:relative;
	color:#fff;
}

/*モーダルウィンドウ-fv*/
	
	
	


}/*幅481px以上の時ここまで*/






/*幅481px以上の時のkeyframesここから*/






/*幅481px以上の時のkeyframesここまで*/





/*スクリーンサイズが横幅480px以下の場合(スマートフォン)のCSSここから*/
@media screen and (max-width: 480px) {
	.pagetop{
		border: solid 0.1vw #fcc92c;
		background:#fff;
	} 
.pagetop__arrow{
    width: 110%;
    height: 110%;
    border: none;
    background: url("../image/cheese_is/totop.png") no-repeat center center / 60%;
    animation: pagetopFloat 1.4s ease-in-out infinite;
}
	
	
	
.pagetop:hover .pagetop__arrow{
	animation-duration:0.7s;
}

@keyframes pagetopFloat{
	0%,100%{
		transform:translateY(0);
	}
	50%{
		transform:translateY(-0.2vw);
	}
}	
	
	
		body{background-color:#fff!important;}
	/*nav{background:#fff;}*/

	.R-fixed-ecbtn-pc div{border:solid 1px #ccc;}

	.ft-2a{display:block;}
	.menu-fixed{
        background-color: #333 !important;
	}
	.logo-main{
		filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(157deg) brightness(104%) contrast(105%);
	}
	.wrap{
        background-color: #fff;
        overflow: hidden;
        width: 100vw;
        position: relative;
        top: 0vw;
        left: 0vw;
        z-index: 1;
	}
	h1{font-size: clamp(19px, 5vw, 24px); color:#fff;
	margin:5vw auto; display:none;}
	h2{font-size: clamp(19px, 5vw, 24px); color:#000; margin:10vw auto; display:inline-block;}
	h3{font-size: clamp(14px, 3vw, 19px); color:#000; margin-bottom:16vw; line-height:1.5em;}
	h4{font-size: clamp(14px, 3vw, 19px); line-height:1.8em; color:#000; margin-bottom:6.2vw;}
	h5{font-size: clamp(14px, 3vw, 19px); color:#000;}
	
	



/* =========================================================
   Cheese is... FV（SP）
========================================================= */
.fv {
	position: relative;
	width: 100%;
	height: 170.666666vw;
	margin: 0 auto;
	background: #ffffff;
	overflow: hidden;
}

.fv-inner {
	position: relative;
	width: 100%;
	height: 100%;
	background: #ffffff;
	overflow: hidden;
}

.fv-slider {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
}

.fv-slide {
	width: 100%;
	height: 100%;
}

.fv-slide picture,
.fv-slide img {
	display: block;
	width: 100%;
	height: 100%;
}

.fv-slide img {
	object-fit: cover;
}

.fv-white-cover {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: #ffffff;
}

.fv-mask-svg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	width: 100%;
	height: 100%;
	pointer-events: none;
	overflow: visible;
}

.fv-video-wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 3;
	transform: translate(-50%, -50%);
	width: 65vw;
	max-width: 100%;
	pointer-events: none;
	opacity: 1;
}

.fv-video {
	display: block;
	width: 100%;
	height: auto;
}

.fv-mask-svg,
.fv-video-wrap,
.fv-financier-move,
.fv-slider {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
	
	
/* slick未初期化時のFVフォールバック */
.fv-slider.fv-fallback-active .fv-slide {
	display: none;
}

.fv-slider.fv-fallback-active .fv-slide:first-child {
	display: block;
}

.fv-mask-svg {
	contain: paint;
}

.fv-financier-move {
	position: absolute;
	top: 48.9%;
	left: 51.4%;
	z-index: 4;
	width: 26.3vw;
	opacity: 0;
	transform: translate(-50%, -50%);
	pointer-events: none;
	will-change: transform, top, left, opacity;
}

.fv-financier-move img {
	display: block;
	width: 100%;
	height: auto;
}

.fv-financier-anchor {
	position: absolute;
	left: 28.0vw;
	top: 82.2%;
	z-index: 0;
	width: 26.3vw;
	height: 23.62vw;
	transform: translate(-50%, -50%);
	opacity: 0;
	pointer-events: none;
}

.fv-indicator {
	position: absolute;
	left: 50%;
	bottom: 4.2vw;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.8vw;
	transform: translateX(-50%);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease;
}

.fv-indicator.is-visible {
	opacity: 1;
	visibility: visible;
}

.fv-indicator-item {
	display: block;
	width: 4vw;
	height: 3.6vw;
	background: url("../image/cheese_is/fv_slider_item.png") no-repeat center center / contain;
	opacity: 0.3;
}

.fv-indicator-item.is-active {
	opacity: 1;
}

.fv-indicator-item img {
	display: none;
}

	
	
	
	
	
	
	
	
/* =========================================================
   Brand Message（SP）
========================================================= */
.brand-message{
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 37vw 0 58vw;
	background: #75c7d3;
	overflow: hidden;
}

.brand-message__bg{
	position: relative;
	width: 100%;
	min-height: 74vw;
}

.brand-message__inner{
	position: relative;
	z-index: 2;
	width: 78vw;
	margin: 0 auto;
	padding-top: 22vw;
	text-align: center;
}

.brand-message h2{
	display: block;
	margin: 0 0 8vw;
	font-size: 8.3vw;
	line-height: 1.2;
	color: #231815;
}

.brand-message p{
	font-size: 3.3vw;
	line-height: 2.9;
	letter-spacing: 0.05em;
	color: #231815;
}

.brand-message__dot{
	position: absolute;
	z-index: 1;
	border-radius: 50%;
	background: #fff;
	opacity: 0;
	transform: scale(0);
	transform-origin: center center;
	transition:
		opacity 0.55s ease,
		transform 0.55s ease;
	will-change: opacity, transform;
}

.brand-message__bg.is-visible .brand-message__dot{
	opacity: 1;
	transform: scale(1);
}

.brand-message__dot--01{
        top: -21.5vw;
        left: -8vw;
        width: 32vw;
        height: 32vw;
        transition-delay: 0.3s;
}

.brand-message__dot--02{
        top: -10vw;
        right: 7vw;
        width: 20vw;
        height: 20vw;
        transition-delay: 0.5s;
}

.brand-message__dot--03{
        top: 25vw;
        right: -3vw;
        width: 15vw;
        height: 15vw;
        transition-delay: 0.7s;
}

.brand-message__dot--04{
        top: 74vw;
        left: -8vw;
        width: 20vw;
        height: 20vw;
        transition-delay: 0.9s;
}

.brand-message__dot--05{
        top: 98vw;
        left: 26vw;
        width: 14vw;
        height: 14vw;
        transition-delay: 1.1s;
}

.brand-message__dot--06{
        bottom: -70vw;
        right: -10vw;
        width: 45vw;
        height: 45vw;
        transition-delay: 1.3s;
}

.brand-message__dot--07{
	display: none;
}

.brand-message__dot--08{
	display: none;
}

.brand-message__dot--09{
	display: none;
}


	
	
	
	
	
/* =========================================================
   Find your cheese（SP）
========================================================= */
.find-your-cheese{
	position: relative;
	width: 100%;
	margin: 0 auto;
	background: #fff;
	overflow: hidden;
}

.find-your-cheese__inner{
	position: relative;
	width: 100%;
	padding-bottom: 0;
}

.find-your-cheese__bg{
	position: relative;
	width: 100%;
	z-index: 0;
}
	
.find-your-cheese__bg picture{
	display:block;
}

.find-your-cheese__bg img{
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.find-your-cheese__lead{
	position: absolute;
	top: 21vw;
	left: 10vw;
	right: 5vw;
	z-index: 2;
}

.find-your-cheese__title{
	display: flex;
	align-items: flex-start;
	gap: 0.4vw;
	flex-wrap: nowrap;
}

.find-your-cheese__char{
	display: inline-flex;
	align-items: flex-start;
	justify-content: center;
	animation: fycWave 2.8s ease-in-out infinite;
	will-change: transform;
}

.find-your-cheese__char img{
	display: block;
	width: auto;
	height: 6.4vw;
}
	
.find-your-cheese__char:nth-child(1){animation-delay: 0s;}
.find-your-cheese__char:nth-child(2){animation-delay: 0.10s;}
.find-your-cheese__char:nth-child(3){animation-delay: 0.20s;}
.find-your-cheese__char:nth-child(4){animation-delay: 0.30s;}
.find-your-cheese__char:nth-child(5){animation-delay: 0.40s;}
.find-your-cheese__char:nth-child(6){animation-delay: 0.50s;}
.find-your-cheese__char:nth-child(7){animation-delay: 0.60s;}
.find-your-cheese__char:nth-child(8){animation-delay: 0.70s;}
.find-your-cheese__char:nth-child(9){animation-delay: 0.80s;}
.find-your-cheese__char:nth-child(10){animation-delay: 0.90s;}
.find-your-cheese__char:nth-child(11){animation-delay: 1.00s;}
.find-your-cheese__char:nth-child(12){animation-delay: 1.10s;}
.find-your-cheese__char:nth-child(13){animation-delay: 1.20s;}
.find-your-cheese__char:nth-child(14){animation-delay: 1.30s;}

.find-your-cheese__text{
        margin-top: 7vw;
        width: 86vw;
        text-align: left;
}

.find-your-cheese__text p{
		margin: 0 0 8.5vw;
		font-size: 3.2vw;
		line-height: 2.3;
		letter-spacing: 0.0em;
		color: #1f1a17;
		font-weight: 400;
}
	
.cheese-ellipsis{
	display: inline-block;
	vertical-align: bottom;
	position: relative;
	top: 0.23em;
}

.find-your-cheese__illust{
        position: absolute;
        top: 16vw;
        right: 12vw;
        z-index: 2;
        width: 10vw;
        transform-origin: 43% 41%;
        animation: fycSwing 4.8s ease-in-out infinite;
        will-change: transform;
}

.find-your-cheese__illust img{
	display: block;
	width: 100%;
	height: auto;
}
	
@keyframes fycWave{
	0%, 100%{
		transform: translateY(0);
	}
	20%{
		transform: translateY(-1vw);
	}
	40%{
		transform: translateY(0);
	}
}

@keyframes fycSwing{
	0%, 100%{
		transform: translateX(-2vw) rotate(-4deg);
	}
	50%{
		transform: translateX(2vw) rotate(4deg);
	}
}
	

.find-your-cheese__dot{
	position: absolute;
	z-index: 1;
	border-radius: 50%;
	background: #fbc92c;
}

.find-your-cheese__dot--01{
        top: 6vw;
        left: -5vw;
        width: 17vw;
        height: 17vw;
}

.find-your-cheese__dot--02{
        top: 71vw;
        right: 13vw;
        width: 7vw;
        height: 7vw;
}

.find-your-cheese__dot--03{
        top: 81vw;
        right: -10vw;
        width: 24vw;
        height: 24vw;
}

.find-your-cheese__dot--04{
	display:none;
}
	
	
	
	
	
	
/* =========================================================
   Product（SP）
========================================================= */
.product{
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 45vw 0 45vw;
	background: #fcc92c;
	overflow: hidden;
}

.product__inner{
	position: relative;
	z-index: 2;
	width: 100%;
}

.product__title{
	display: block;
	margin: 0 0 8vw;
	font-size: 8.3vw;
	line-height: 1.2;
	color: #231815;
}

.product__list{
	position: relative;
	z-index: 2;
	display: flex;
	gap: 4.26vw;
	padding: 0 10.6vw;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.product__list::-webkit-scrollbar{
	display: none;
}

.product__item{
	flex: 0 0 77.3vw;
	display: block;
	color: #000;
	text-decoration: none;
	scroll-snap-align: center;
	pointer-events: auto;
}

.product.is-swipe-locked .product__item{
	pointer-events: none;
}

.product__image{
	position: relative;
	width: 100%;
	aspect-ratio: 290 / 238;
	overflow: hidden;
	background: #fff;
}

.product__image picture{
	display: block;
	width: 100%;
	height: 100%;
}

.product__image img{
	display: block;
	position: static;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: none;
	transition: none;
}

.product__image::after{
	display: none;
}

.product__name{
	margin-top: 7.2vw;
	text-align: center;
	font-size: 3.3vw;
	line-height: 1.65;
	letter-spacing: 0.04em;
	color: #000;
}

/* 白丸4つ */
.product__bg-dot{
	position: absolute;
	z-index: 1;
	border-radius: 50%;
	background: #fff;
	pointer-events: none;
}

.product__bg-dot--01{
        top: 15.4vw;
        left: 8.2vw;
        width: 23.2vw;
        height: 23.2vw;
}

.product__bg-dot--02{
        top: -11vw;
        right: -14vw;
        width: 45vw;
        height: 45vw;
}

.product__bg-dot--03{
        left: -14vw;
        bottom: 13vw;
        width: 40vw;
        height: 40vw;
}

.product__bg-dot--04{
        right: -11.3vw;
        bottom: -3.7vw;
        width: 25vw;
        height: 25vw;
}

/* スワイプ案内 */
.product__swipe-guide{
	position: absolute;
	inset: 0;
	z-index: 3;
	background: rgba(0, 0, 0, 0.16);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.35s ease, visibility 0.35s ease;
}

.product.is-swipe-locked .product__swipe-guide{
	opacity: 1;
	visibility: visible;
}

.product__swipe-guide-inner{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 26.6vw;
	transform: translate(-50%, -50%);
	animation: productSwipeGuideMove 1.8s ease-in-out infinite;
}

.product__swipe-guide-inner img{
	display: block;
	width: 100%;
	height: auto;
	filter: brightness(0) invert(1);
	opacity: 0.95;
}

@keyframes productSwipeGuideMove{
	0%{
		transform: translate(-15vw, -50%);
		opacity: 0;
	}
	18%{
		opacity: 1;
	}
	82%{
		opacity: 1;
	}
	100%{
		transform: translate(-50vw, -50%);
		opacity: 0;
	}
}
	
	
	
	
	
	
/* =========================================================
   Instagram（SP）
========================================================= */
.instagram{
	position: relative;
	padding: 0;
	background: #fff;
	overflow: hidden;
}

.instagram__main{
	position: relative;
	width: 100%;
	overflow: hidden;
}

.instagram__main-viewport{
	position: relative;
	width: 100%;
	height: 47.5vw;
	overflow: hidden;
	background: #fcc92c;
}

.instagram__main-image{
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center center;
	transform: translate(-50%, -50%) scale(1.16);
	transform-origin: center center;
	pointer-events: none;
	will-change:transform;
}

.instagram__inner{
	width: 100%;
	height:100%;
	padding: 27.5vw 0 35vw;
	overflow:hidden;
	position:relative;
}

.instagram__content{
	width: 100%;
	padding: 0 8.3vw;
	box-sizing: border-box;
	position:relative;
	z-index:2;
}

.instagram__title{
	margin: 0 0 7.2vw;
	font-size: 8.8vw !important;
	line-height: 1;
	letter-spacing: 0.01em;
}

.instagram__qr{
	display:block;
	width: 24.5vw;
	margin: 0 auto 7vw;
}

.instagram__qr img{
	width:100%;
}

.instagram__message{
	margin: 0 0 8.8vw;
	font-size: 2.95vw;
	line-height: 1.9;
	letter-spacing: 0.03em;
	color:#000;
}

.instagram-feed{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	width: 100%;
	max-width: 83.5vw;
	margin: 0 auto;
	gap: 1.6vw;
}

.instagram-feed__tile{
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1.2;
	background: #fcc92c;
	overflow: hidden;
}

.instagram-feed__media{
	position: absolute;
	inset: 0;
	display: block;
	background: #fcc92c;
}

.instagram__button-wrap{
	margin-top: 8vw;
}

.instagram__button{
	border: solid 1px #000;
	font-size: 3.5vw;
	letter-spacing: 0.04em;
	color:#000;
	display:inline-block;
	margin:0 auto;
	padding:1.5vw 5vw;
}

/* 円装飾 */
.instagram__dot{	
	position: absolute;
	z-index: 1;
	border-radius: 50%;
	background: #fbc92c;	
}
	
.instagram__dot--01{
        top: 13.8vw;
        left: 13.5vw;
        width: 14.2vw;
        height: 14.2vw;
}

.instagram__dot--02{
        top: -10.5vw;
        right: -8.5vw;
        width: 40vw;
        height: 40vw;
}

.instagram__dot--03{
        top: 55.5vw;
        left: -5.5vw;
        width: 17vw;
        height: 17vw;
}

.instagram__dot--04{
        bottom: -9.5vw;
        left: -12.5vw;
        width: 47vw;
        height: 47vw;
}

.instagram__dot--05{
        bottom: 37vw;
        right: 2.8vw;
        width: 20.5vw;
        height: 20.5vw;
}
	
	
	.instagram-feed__media img{height:100%;}	
	
	
	
	
	
	
/* =========================================================
   Event（SP）
========================================================= */
.event{
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 0 0 32vw;
	background: #f2f2f2;
	overflow: hidden;
}

.event::before{
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 31vw;
	z-index: 0;
	background: #fcc92c;
}

.event__cheese{
	position: absolute!important;
	left: 50%;
	bottom: -5.5vw;
	transform: translateX(-50%);
	z-index: 1;
	width: 100%;
	line-height: 0;
	pointer-events: none;
}

.event__cheese-base,
.event__cheese-flow{
	display: block;
	width: 100%;
}

.event__cheese-base img,
.event__cheese-flow img{
	display: block;
	width: 100%;
	height: auto;
}

.event__cheese-base{
	position: relative;
	z-index: 1;
}

.event__cheese-flow{
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 2;
	opacity: 0;
	transform: translateY(-9vw);
	will-change: transform, opacity;
}

.event.is-visible .event__cheese-flow{
	opacity: 1;
	transform: translateY(0);
	transition:
		transform 2s cubic-bezier(0.22, 1, 0.36, 1) 1s,
		opacity 0.1s linear 0.1s;
}

.event__inner{
	position: relative;
	z-index: 2;
	width: 100%;
	padding: 30.5vw 8.3vw 0;
	box-sizing: border-box;
}

.event__title{
	margin: 0 0 8.8vw;
	text-align: center;
	font-size: 8.8vw !important;
	line-height: 1.1;
	font-weight: 500;
	color: #231815;
	opacity: 1;
	transform: none;
}

.event__grid{
	display: block;
}

.event__column{
	width: 100%;
	max-width: none;
	padding: 0;
	border: none;
	background: none;
	opacity: 1;
	transform: none;
	text-align: left;
}

.event__column + .event__column{
	margin-top: 11.5vw;
}

.event__heading{
	display: table;
	margin: 0 auto 6.8vw;
	padding: 1.6vw 4.6vw 1.7vw;
	border: solid 1px #7f6921;
	background: rgba(255, 209, 61, 0.58);
	font-size: 5vw;
	line-height: 1.2;
	font-weight: 500;
	color: #231815;
	text-align: center;
}

.event__list{
	display: flex;
	flex-direction: column;
	row-gap: 7.8vw;
}

.event__item{
	padding: 0;
	border: none;
	text-align: left;
}

.event__shop{
	position: relative;
	margin: 0 0 2.8vw;
	padding-left: 3.3vw;
	font-size: 4.8vw;
	line-height: 1.45;
	font-weight: 500;
	color: #231815;
	text-align: left;
}

.event__shop::before{
	content: "";
	position: absolute;
	left: 0;
	top: 0.32em;
	width: 1.9vw;
	height: 0.95em;
	background: #231815;
}

.event__meta{
	display: flex;
	align-items: flex-start;
	margin: 0 0 1vw;
	font-size: 3.4vw;
	line-height: 1.85;
	color: #231815;
	text-align: left;
}

.event__label{
	flex: 0 0 auto;
	display: inline-block;
	width: 5.2em;
	font-weight: 500;
	letter-spacing: 0.02em;
	white-space: nowrap;
	padding-left:4vw;
}

.event__value{
	flex: 1 1 auto;
	display: inline-block;
	min-width: 0;
}

.event.is-visible .event__title,
.event.is-visible .event__column{
	opacity: 1;
	transform: none;
}
	
	
	
/* -------------------------
   Event終了表示
------------------------- */
.event-end-note {
  display: inline-block;
  font-size: 65%;
}
.event-end {
  margin:0 0 0.8vw!important;
}
		
	
	
	


/*一括指定用css記述ここから*/
	.bg{
		display:inline-block;
		position:absolute;
	}
	.bg img{width:100%;}
/*一括指定用css記述ここまで*/
	
	
	

	
	
	
	
	
	
	
	


	
/*footer*/	
	


	footer{
		border-top:none;
		width:100%;
		padding-top:1vw;
		border-top:none;
		background-color:#f2f2f2;
		position:relative;
		padding-top:12vw;
		z-index:2;

	} 

	
	
	.ft-b-cnt{
		width:100%;
		font-size: 3vw;
	}
	.ft-b-1{display:none;}
	

	.ft-b-2{
        text-align: right;
        font-size: 6.5vw;
        line-height: 1.3em;
        margin: 0vw auto;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        width: 84vw;
        position: relative;
	}
	.ft-b-2 div{width:40vw;}
	.ft-b-link1,.ft-b-link2,.ft-b-copy,.ft-b-2 div div,.ft-b-2 div div a{
		display:inline-block;
		color:#000;
	}
	.ft-b-link1,.ft-b-link2{
		text-align:left;
		display:flex;
		flex-flow: column;
		line-height: 1.3em;
	}
	.ft-b-link2{margin-left:0vw;}
	.ft-b-2 div div a{width:100%; height:100%;}
	
	.ft-b-3{
        width: 84vw;
        text-align: left;
        margin: 0vw auto 0vw;
        color: #000 !important;
        position: relative;
	}
	.ft-b-3 img{
        width: 70.4vw;
        margin-bottom: 2vw;
        position: relative;
        top: 6vw;
        left: -5vw;
        filter: brightness(0) saturate(100%);
	}
	
	.ft-b-sns{       
		width: 72%;
        text-align: right;
        margin: 20vw auto 0vw;}
	.ft-b-sns div{display:inline-block; width:8.1vw; margin-left:3vw;}
	.ft-b-sns div a{display:inline-block;}
	.ft-b-sns div a img{
		width:100%;
		filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(157deg) brightness(104%) contrast(105%);
	}
	.ft-b-copy{
        width: 70%;
        text-align: center;
        margin: 13vw auto 0;
        padding-bottom: 0vw;
        color: #000!important;
	}
	

	
/*footer*/	
	
	


	
	
/*モーダルウィンドウ-fv*/

.modal-fv {
  display: none;
  position: fixed;
  z-index: 10;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  overflow:hidden;
  background-color: rgba(0,0,0,0.5);
  animation-name: modalopen;
  animation-duration: 1s;
  font-size: 2vw;
}

.modal-fv-content {
  background-color: #000;
  border:solid 0.1vw #977f42;
  margin: 17% auto 20%;
  width: 84%;
  box-shadow: 0 5px 8px 0 rgba(0,0,0,0.2),0 7px 20px 0 rgba(0,0,0,0.17);
}



.modal-fv-header .modal-fv-title {
        margin: 9vw 0 4vw;
        border-bottom: solid 0.1vw #977f42;
        padding-bottom: 5vw;
    }
	
	.modal-fv-title span{
		font-size:70%;
		letter-spacing:-0.05vw;
	}


.modal-fv-header {
        padding: 0.3vw 1.5vw;
        display: block;
        text-align: center;
        position: relative;
        font-size: 2.5vw;
        color: #fff;
}

.modal-fvClose {
  font-size: 2rem;
  position:absolute;
  top:1vw;
  left:1vw;
  color:#977f42;
}

.modal-fvClose:hover,.modal-fvOpen:hover {
  cursor: pointer;
}

.modal-fv-body {
  padding: 0px 5vw 10vw;
  color:#fff;
}
.modal-fv-body p:first-of-type {
    font-size:  2.5vw !important;
    margin-bottom: 4vw;
	text-align:center!important;
}
.modal-fv-setumei{
  font-size: 1.8vw;
  line-height:1.5em;
	text-align:center!important;
}
.mordal-fv-hr1,.mordal-hr2{
	width:80%;
	height:0.1vw;
	display:inline-block;
	background-color:#fff;
}
.mordal-fv-hr1{margin:0vw auto; display:none;}
.mordal-fv-hr2{margin:0vw auto 0vw;}
	
.modal-fv-ec{
        width: 100%;
        margin: 0vw auto;
        padding-top: 0vw;
        padding-bottom: 0.5vw;
        text-align: center;
}

	
.modal-fv-ec-button a{
	display:inline-block;
	cursor:pointer;
}
.modal-fv-ec-button a img{
		width: 85%;
        padding: 0vw;
	    display:inline-block;
}
	.modal-fv-ec-button:first-of-type a img{
		position:relative;
		top:-0.2vw;
		left:-1vw;
	}	
	.modal-fv-ec-button:last-of-type a img{
		position:relative;
		top:-0.1vw;
		left:1vw;
	}	
	
.modal-fv-ec-button{
	display:inline-block;
	width:31%;
	text-align:center;
}

.modal-fv-ec-button span{
	display:none;
	font-size:1.7vw;
	position:relative;
	top:-1.7vw;
	left:0vw;
	color:#fff;
}	
	
	
.modal-fv-sns{
	width:100%;
	margin:1vw auto 0;
	text-align:center;
}
.modal-fv-sns-button{
        display: inline-block;
        text-align: center;
}
	.modal-fv-sns-button:first-of-type{
		padding:0 5vw 0vw 10vw;
	}
.modal-fv-sns-button a{
	display: flex;
	justify-content: center;
	width:100%;
	cursor:pointer;
}
.modal-fv-sns-button a img{
	width:8vw;
	padding-right:1vw;
	display:inline-block;
	filter: brightness(0) saturate(100%)
}

.modal-fv-sns-button span{
display: inline-block;
        font-size: 1.5vw;
        position: relative;
        top: 0.5vw;
        color: #fff;
}
	.modal-fv-sns-button:last-child span::after{
		content:'';
		width:12vw;
		display:inline-block;
	}	
	
	

/*モーダルウィンドウ-fv*/
	
	
	
	
	
	
	
	
}/*スクリーンサイズが横幅480px以下の場合(スマートフォン)のCSSここまで*/
