body {
	background-color: #fff;
}
html {
	scroll-behavior: smooth;
}
main, .serif {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
}
.sans-serif {
	font-family: YakuHanMP, "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
}

/* Animation settings */
.main-visual {
	transition: 2s;
}
.main-visual.anim {
	transform: scale(1.2);
	opacity: 0;
}
.main-visual .main {
	transition: 2s;
	transition-delay: 2s;
}
.main-visual .main.anim {
	opacity: 0;
}
.main-visual .sub {
	transition: 2s;
	transition-delay: 3s;
}
.main-visual .sub.anim {
	opacity: 0;
}
.main-visual .season {
	transition: 2s;
	transition-delay: 4s;
}
.main-visual .season.anim {
	opacity: 0;
}
.intro .bodytext {
	transition: 2s;
}
.intro .bodytext.anim {
	transform: translateY(-40px);
	opacity: 0;
}
.intro .around {
	transition: 2s;
	transition-delay: 1s;
}
@media screen and (max-width: 1023px) {
	.intro .around.anim {
		opacity: 0;
	}
}
@media screen and (min-width: 1024px) {
	.intro .around.anim {
		transform: scale(1.2);
		opacity: 0;
	}
}

#contents01 {
	transition: 2s;
}
#contents01.anim {
	opacity: 0;
}
#contents01 .contents-title {
	transition: 2s;
	transition-delay: 1s;
}
#contents01 .contents-title.anim {
	margin-top: -40px;
	opacity: 0;
}
#contents01 .col1wrap {
	transition: 2s;
	transition-delay: 2s;
}
#contents01 .col1wrap.anim {
	transform: scale(1.2);
	opacity: 0;
}
#contents01 .col2wrap {
	transition: 2s;
	transition-delay: 2s;
}
#contents01 .col2wrap.anim {
	transform: scale(1.2);
	opacity: 0;
}
#contents01 .content-navi {
	transition: 2s;
	transition-delay: 3s;
}
#contents01 .content-navi.anim {
	margin-top: -40px;
	opacity: 0;
}
#contents02 {
	transition: 2s;
}
#contents02.anim {
	opacity: 0;
}
#contents02 .contents-title {
	transition: 2s;
	transition-delay: 1s;
}
#contents02 .contents-title.anim {
	margin-top: -40px;
	opacity: 0;
}
#contents02 .col1 li:nth-child(1) {
	transition: 2s;
	transition-delay: 2s;
}
#contents02 .col1.anim li:nth-child(1) {
	opacity: 0;
}
#contents02 .col1 li:nth-child(2) {
	transition: 2s;
	transition-delay: 2.5s;
}
#contents02 .col1.anim li:nth-child(2) {
	opacity: 0;
}
#contents02 .col1 li:nth-child(3) {
	transition: 2s;
	transition-delay: 3s;
}
#contents02 .col1.anim li:nth-child(3) {
	opacity: 0;
}
#contents02 .col2 li:nth-child(1) {
	transition: 2s;
	transition-delay: 3.5s;
}
#contents02 .col2.anim li:nth-child(1) {
	opacity: 0;
}
#contents02 .col2 li:nth-child(2) {
	transition: 2s;
	transition-delay: 4s;
}
#contents02 .col2.anim li:nth-child(2) {
	opacity: 0;
}
#contents03 {
	transition: 2s;
}
#contents03.anim {
	opacity: 0;
}
#contents03 .contents-title {
	transition: 2s;
	transition-delay: 1s;
}
#contents03 .contents-title.anim {
	margin-top: -40px;
	opacity: 0;
}
#contents03 .content-body {
	transition: 2s;
	transition-delay: 2s;
}
#contents03 .content-body.anim {
	opacity: 0;
}
#contents03 .content-bottom {
	transition: 2s;
	transition-delay: 3s;
}
#contents03 .content-bottom.anim {
	opacity: 0;
}
#contents04 {
	transition: 2s;
}
#contents04.anim {
	opacity: 0;
}
#contents04 .contents-title {
	transition: 2s;
	transition-delay: 1s;
}
#contents04 .contents-title.anim {
	margin-top: -40px;
	opacity: 0;
}
#contents04 .content-body {
	transition: 2s;
	transition-delay: 2s;
}
#contents04 .content-body.anim {
	opacity: 0;
}
#contents04 .content-featured {
	transition: 2s;
	transition-delay: 3s;
}
#contents04 .content-featured.anim {
	opacity: 0;
}
#contents04 .content-bottom {
	transition: 2s;
	transition-delay: 4s;
}
#contents04 .content-bottom.anim {
	opacity: 0;
}
#contents05 {
	transition: 2s;
}
#contents05.anim {
	opacity: 0;
}
#contents05 .content-image {
	transition: 2s;
	transition-delay: 1s;
}
#contents05.anim .content-image {
	transform: scale(1.2);
	opacity: 0;
}
#contents05 .content-body {
	transition: 2s;
	transition-delay: 4s;
}
#contents05.anim .content-body {
	transform: translateY(-40px);
	opacity: 0;
}
#contents05 .contents-title, #contents05 .subtitle {
	transition: 2s;
	transition-delay: 3s;
}
#contents05 .contents-title.anim {
	margin-left: 40px;
	opacity: 0;
}



@media screen and (max-width: 1023px) {
	.pc-content {
		display: none;
	}
	iframe {
		width: 100%!important;
		overflow-y: hidden;
	}
	.header {
		width: min(100%, 768px);
		overflow: hidden;
		margin: 0 auto;
	}
	.main-visual {
		width: 120%;
		margin: 0 -10%;
		position: relative;
	}
	.header-title {
		position: absolute;
		width: 40%;
		bottom: 0;
		right: 12%;
	}
	.header-title .sub {
		position: absolute;
		width: 35%;
		top: 38%;
		right: 0;
	}
	.fancybox-slide--iframe {
		padding: 10px!important;
	}
	fancybox-content {
		height: 180vw!important;
		max-height: 180vw!important;
	}
}
@media screen and (min-width: 1024px) {
	.sp-content {
		display: none;
	}
	iframe {
		width: 640px!important;
		overflow-y: hidden;
	}
	.header {
		background: url('/img/bg00.svg') no-repeat;
		background-size: cover;
	}
	.main-visual {
		width: min(100%, 1320px);
		margin: 0 auto 48px auto;
		position: relative;
	}
	.main-visual img {
		width: 100%;
	}
	.header-title {
		position: absolute;
		width: 100%;
		top: 36%;
		left: 6%;
	}
	.header-title .main {
		position: absolute;
		width: 55%;
		top: min(72px, 6vw);
	}
	.header-title .sub {
		position: absolute;
		width: 30%;
		top: 0;
		left: 10%;
	}
	.header-title .season {
		position: absolute;
		width: 10%;
		top: 0;
		right: 20%;
	}
	.intro {
		position: relative;
		left: 50%;
		transform: translateX(-50%);
		width: min(1280px, 100vw);
	}
	.intro h2 {
		font-weight: 400;
		font-size: 2.6rem;
		line-height : 5.6rem;
		letter-spacing: 0.26rem;
		margin-bottom: 4.0rem;
	}
	.intro .pic1 {
		position: absolute;
		width: 24%;
		left: 0;
		top: 7.2rem;
	}
	.intro .pic2 {
		position: absolute;
		width: 18%;
		right: 0;
	}
	.intro .content {
		width: 640px;
		margin: 0 auto 12rem auto;
	}
	.intro .bodytext {
		width: 300px;
		margin: 6.4rem auto 9.6rem auto;
		font-size: 1.6rem;
		line-height: 3.8rem;
		letter-spacing: 0.24rem;
	}
	.intro .bodytext p {
		margin-bottom: 4.0rem;
	}
	#contents01 {
		position: relative;
		background: url('/img/bg_contents01.jpg') no-repeat;
		background-size: cover;
		padding: 0;
		margin-top: 19.6rem;
	}
	#contents01 .contents-title {
		position: absolute;
		width: 960px;
		top: -7.2rem;
		left: 50%;
		transform: translateX(-50%);
		text-align: center;
	}
	#contents01 .contents-title .num {
		width: 16rem;
	}
	#contents01 .content-body {
		width: 1024px;
		padding-top: 18rem;
		margin: 0 auto 8.0rem auto;;
	}
	#contents01 .content-body .cols {
		background: url('/img/frame_contents01.png') no-repeat;
		background-size: cover;
	}
	#contents01 .content-body .col1wrap, #contents01 .content-body .col2wrap {
		position: relative;
	}
	#contents01 .content-body .col2wrap {
		padding-bottom: 3.2rem;
	}
	#contents01 .content-body .col1wrap .coltitle {
		width: 4.8rem;
		position: absolute;
		top: 12rem;
		left: -3.2rem;
	}
	#contents01 .content-body .col2wrap .coltitle {
		width: 4.8rem;
		position: absolute;
		top: 1.2rem;
		left: -3.2rem;
	}
	#contents01 .content-body .col1 {
		width: 960px;
		padding: 12rem 0 6.4rem 0;
		margin: auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#contents01 .content-body .col1 li {
		position: relative;
		padding: 0.8rem 0 6rem 0;
		width: 32%;
		background: url('/img/frame_newshop.png') no-repeat;
		background-size: cover;
		margin-bottom: 1.6rem;
	}
	#contents01 .content-body .col1 li .date img {
		height: 4.0rem;
		margin-bottom: 1.6rem;
	}
	#contents01 .content-body .col1 li .logo {
		width: 70%;
		margin: 0 15%;
	}
	#contents01 .content-body .col1 li .shopname {
		width: 100%;
		position: absolute;
		bottom: 0.8rem;
		text-align: center;
	}
	#contents01 .content-body .col1 li h3 {
		margin: auto;
	}
	#contents01 .content-body .col2 {
		width: 960px;
		padding: 12rem 0 6.4rem 0;
		margin: auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		background: url('/img/frame_newshop.png') no-repeat;
		background-size: contain;
	}
	#contents01 .content-body .col2 li {
		position: relative;
		padding: 0.8rem 0 6rem 0;
		width: 24%;
		margin-bottom: 1.6rem;
		text-align: center;
	}
	#contents01 .content-body .col2 li .date img {
		height: 2.6rem;
		margin-bottom: 1.6rem;
	}
	#contents01 .content-navi {
		width: 1024px;
		padding-bottom: 8.0rem;
		margin: 0 auto;
	}
	#contents01 .content-navi ul {
		width: 960px;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#contents01 .content-navi ul li {
		width: 48%;
		margin-bottom: 3.2rem;
	}
	#contents01 .content-navi ul li img {
		margin: 0 8px 8px 0;
	}
	#contents01 .content-navi ul li a:hover {
		filter: drop-shadow(3px 3px 5px rgba(0,0,0,0.3));
	}
	#contents02 {
		position: relative;
		background: url('/img/bg_contents02.png') no-repeat;
		background-size: cover;
		padding: 0 0 6.4rem 0;
	}
	#contents02 .contents-title {
		position: relative;
		width: 1720px;
		display: flex;
		align-items: flex-start;
		margin: 0 auto 6.4rem auto;
	}
	#contents02 .contents-title .sidepic {
		width: 18%;
	}
	#contents02 .contents-title .titleblock {
		width: 28%;
		padding: 0 2%;
		margin-top: 3.6rem;
	}
	#contents02 .content-body {
		position: relative;
		width: 960px;
		margin: 0 auto;
	}
	#contents02 .content-body ul {
		display: flex;
		align-items: flex-start;
		justify-content: center;
		margin-bottom: 6.4rem;
	}
	#contents02 .content-body ul li {
		width: 30%;
		margin: 0 1.6%;
	}
	#contents02 .content-body .cell_title {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		margin-bottom: 1.2rem;
	}
	#contents02 .content-body .cell_title .num {
		width: 20%;
	}
	#contents02 .content-body .cell_title .num img {
		margin-right: 2.0rem;
	}
	#contents02 .content-body .cell_title .shop-catch {
		width: 80%;
		font-size: 1.8rem;
		line-height: 2.4rem;
		margin-top: -0.6rem;
	}
	#contents02 .content-body .shop-image {
		border-top: 2px solid #000;
		border-bottom: 2px solid #000;
	}
	#contents02 .content-body a {
		text-decoration: none;
	}
	#contents02 .content-body .shop-link {
		width: 50%;
		margin: 1.6rem auto 0 auto;
		padding: 0 8%;
		position: relative;
		overflow: hidden;
	}
	#contents02 .content-body .shop-link::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		background: url('/img/buttonshadow.png') no-repeat center bottom;
		background-size: 100% auto;
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 0.4s ease;
	}
	#contents02 .content-body .shop-name a:hover .shop-link::after {
		transform: scaleX(1);
	}
	#contents02 .content-body .shop-link img {
		margin-bottom: 0.8rem;
		position: relative;
		z-index: 2;
	}
	#contents02 .content-body .shop-name {
		text-align: center;
		margin-top: 1.2rem;
		font-size: 1.8em;
	}
	#contents02 .contents-title .num {
		height: 3.2rem;
		margin: 0 0 4.8rem -1.2rem;
	}
	#contents02 .contents-title h2 {
		font-weight: 400;
		font-size: 2.8rem;
		line-height: 4.6rem;
		letter-spacing: 0.26rem;
		margin-bottom: 4.0rem;
	}
	#contents02 .contents-title .description {
		font-size: 1.5rem;
		line-height: 3.4rem;
		letter-spacing: 0.22rem;
	}
	#contents03 {
		position: relative;
		margin-bottom: 16rem;
	}
	#contents03 .contents-title {
		width: 800px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin: 0 auto 48rem auto;
	}
	#contents03 .contents-title .sidepic {
		width: 45%;
	}
	#contents03 .contents-title .titleblock {
		width: 45%;
	}
	#contents03 .contents-title .num {
		height: 3.2rem;
		margin: 0 0 3.2rem -1.2rem;
	}
	#contents03 .contents-title h3 {
		font-weight: 400;
		font-size: 2.8rem;
		line-height: 4.6rem;
		letter-spacing: 0.26rem;
		margin-bottom: 4.0rem;
	}
	#contents03 .titleblock .description {
		font-size: 1.5rem;
		line-height: 3.4rem;
		letter-spacing: 0.22rem;
	}
	#contents03 .content-body {
		position: absolute;
		top: 40rem;
		left: 50%;
		transform: translateX(-50%);
		width: min(1280px, 100vw);
		z-index: 10;
	}
	#contents03 .content-body .pic2 {
		position: absolute;
		width: 26%;
		left: 0;
	}
	#contents03 .content-body .pic3 {
		position: absolute;
		width: 32%;
		right: 0;
		bottom: 0;
	}
	#contents03 .content-body .textblock {
		width: 30%;
		height: 64rem;
		margin: 0 auto;
		display: flex;
		align-items: center;
	}
	#contents03 .content-body .textblock h2 {
		width: 12%;
		margin-right: 8%;
	}
	#contents03 .content-body .textblock .description {
		width: 80%;
		font-size: 1.5rem;
		line-height: 3.4rem;
		letter-spacing: 0.22rem;
	}
	#contents03 .content-bottom {
		position: relative;
		width: 960px;
		margin: 0 auto;
	}
	#contents03 .content-bottom .textblock {
		width: 40%;
	}
	#contents03 .content-bottom .textblock img {
		margin-bottom: 2.4rem;
		padding-right: 8.0rem;
	}
	#contents03 .content-bottom .textblock .description {
		margin-left: 3.2rem;
		font-size: 1.1rem;
		line-height: 2.2rem;
		letter-spacing: 0.1rem;
	}
	#contents03 .content-bottom .pic5 {
		position: absolute;
		width: 28%;
		right: 14%;
		bottom: 0;
	}
	#contents04 {
		position: relative;
		background: url('/img/bg_contents02.png') no-repeat;
		background-size: cover;
		padding-bottom: 12rem;
	}
	#contents04 .contents-title {
		width: 800px;
		display: flex;
		align-items: top;
		justify-content: space-between;
		margin: 0 auto 48rem auto;
	}
	#contents04 .pic1 {
		position: absolute;
		width: 60rem;
		top: -6.0rem;
		z-index: 0;
		left: 50%;
		transform: translateX(-50%);
	}

	#contents04 .contents-title .titleblock {
		z-index: 10;
		width: 50%;
	}
	#contents04 .contents-title .textblock {
		width: 50%;
		margin-top: 6.8rem;
		z-index: 10;
	}
	#contents04 .contents-title .textblock .description {
		font-size: 1.5rem;
		line-height: 3.4rem;
		letter-spacing: 0.22rem;
	}
	#contents04 .contents-title .num {
		height: 3.2rem;
		margin: 0 0 3.2rem -1.2rem;
	}
	#contents04 .contents-title h2 {
		font-weight: 400;
		font-size: 2.8rem;
		line-height: 4.6rem;
		letter-spacing: 0.26rem;
		margin-bottom: 4.0rem;
	}
	#contents04 .contents-title .illust {
		width: 30%;
		margin: 0 0 0 60%;
	}
	#contents04 .content-body {
		width: min(1280px, 100vw);
		position: relative;
		margin: 0 auto 8rem auto;
		padding-bottom: 40rem;
		display: flex;
		align-items: top;
		justify-content: align-items;
	}
	#contents04 .content-body .pic2 {
		width: 20%;
	}
	#contents04 .content-body .pic3 {
		width: 30%;
	}
	#contents04 .content-body .pic4 {
		position: absolute;
		width: 18%;
		bottom: 6.4rem;
		left: 14%;
	}
	#contents04 .content-body .pic5 {
		position: absolute;
		width: 24%;
		bottom: 0;
		left: 42%;
	}
	#contents04 .content-body .textblock {
		width: 50%;
		padding: 0 6%;
	}
	#contents04 .content-body .textblock h3, #contents04 .content-featured .textblock h3 {
		font-weight: 400;
		font-size: 2.4rem;
		line-height: 4.2rem;
		letter-spacing: 0.24rem;
		margin-bottom: 4.0rem;
	}
	#contents04 .content-body .description, #contents04 .content-featured .description {
		font-size: 1.5rem;
		line-height: 3.4rem;
		letter-spacing: 0.22rem;
	}
	#contents04 .content-featured {
		width: min(1160px, 100vw);
		position: relative;
		margin: 0 auto 8rem auto;
		display: flex;
		align-items: top;
		justify-content: align-items;
	}
	#contents04 .content-featured .pic6, #contents04 .content-featured .pic7 {
		width: 24%;
		margin-right: 3.2rem;
	}
	#contents04 .content-featured .textblock {
		width: 40%;
		margin-left: 3.2rem;
	}
	#contents04 .content-bottom {
		width: 800px;
		margin: 0 auto;
	}
	#contents04 .content-bottom h3 {
		width: 100%;
		margin-bottom: 1.6rem;
		padding-bottom: 1.6rem;
		border-bottom: 2px solid #000;
	}
	#contents04 .content-bottom h3 img {
		height: 3.2rem;
	}
	#contents04 .content-bottom .description {
		font-size: 1.1rem;
		line-height: 2.2rem;
		letter-spacing: 0.1rem;
	}
	#contents03 .content-bottom .shop-link, #contents04 .content-bottom .shop-link {
		display: inline;
		font-size: 1.7rem;
		line-height: 3.4rem;
		letter-spacing: 0.32rem;
		position: relative;
		overflow: hidden;
	}
	#contents03 .content-bottom .shop-name, #contents04 .content-bottom .shop-name {
		text-decoration: none;
	}
	#contents03 .content-bottom .shop-link::after, #contents04 .content-bottom .shop-link::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		background: url('/img/buttonshadow.png') no-repeat center bottom;
		background-size: 100% auto;
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 0.4s ease;
	}
	#contents04 .content-bottom .shop-name:hover .shop-link::after, #contents03 .content-bottom .shop-name:hover .shop-link::after {
		transform: scaleX(1);
	}
	#contents05 {
		background: url('/img/bg_contents01.jpg') no-repeat;
		background-size: cover;
		padding: 0;
		position: relative;
	}
	#contents05 .content-head {
		padding: 4.8rem 0 6.4rem 0;
		text-align: center;
	}
	#contents05 .content-head img {
		height: 3.2rem;
	}
	#contents05 .content-image {
		width: 800px;
		margin: 0 auto;
	}
	#contents05 .contents-title {
		position: absolute;
		width: 880px;
		margin: 0 auto;
		top: 127rem;
		left: 0;
		right: 0;
	}
	#contents05 .contents-title .title {
		position: absolute;
		width: 75%;
		bottom: 16rem;
	}
	#contents05 .contents-title .sub {
		position: absolute;
		width: 60%;
		right: 3.2rem;
		bottom: 0;
	}
	#contents05 .content-text {
		width: 400px;
		margin: 8rem auto 0 auto;
		font-size: 1.4rem;
		line-height: 3.2rem;
	}
	#contents05 .content-text p {
		margin-bottom: 3.6rem;
	}
	#contents05 .content-body {
		width: 1024px;
		margin: 0 auto;
		position: relative;
	}
	#contents05 .content-text .linkbutton {
		text-align: center;
		width: 28rem;
		margin: 0 auto;
		margin-top: 9.6rem;
	}
	#contents05 .content-text .linkbutton a {
		height: 64px;
		display: block;
		position: relative;
		background: url('/img/btn_access.svg') no-repeat;
		background-size: contain;
		background-size: center center;
	}
	#contents05 .content-text .linkbutton a::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: url('/img/btn_access_on.svg') no-repeat;
		background-size: contain;
		opacity: 0;
		transition: opacity 0.5s ease;
		z-index: -1;
	}
	#contents05 .content-body .pagetopbutton {
		position: absolute;
		right: 0;
		bottom: 0;
	}
	#contents05 .content-body .pagetopbutton img {
		width: 2.4rem;
	}
	#contents05 .content-text .linkbutton img {
		height: 5.6rem;
	}
	#contents05 .footer {
		background: url('/img/bg_bottom.png') no-repeat;
		background-size: cover;
		background-position: top 0;
	}
	#contents05 .footer_logo {
		width: 12rem;
		margin: 0 auto;
		padding: 12rem 0 9.6rem 0;
	}
	#contents05 .footer-link {
		text-align: center;
		margin-bottom: 1.8rem;
	}
	#contents05 .footer-link  a {
		padding: 0 1.6rem;
		text-decoration: none;
	}
	#footer-copy {
		padding: 2.4rem 0;
		text-align: center;
	}







}
@media screen and (min-width: 1024px) and (max-width: 1279px) {
	html {
		font-size: 9px;
	}
}
@media screen and (min-width: 1280px) {
}