.fs-l-main,
.fs-l-main,
.fs-l-pageMain {
	max-width: inherit !important;
	margin: 0 auto;
}

#fs_CustomPage .fs-l-main {
	padding: 0;
}

.fs-c-breadcrumb__listItem {
	display: inline;
}

/* css */
:root{
	--mainFont: "Noto Sans JP", sans-serif;
}
.lp_wrap{
	font-size: 10px;
	font-weight: 500;
}
.lp_wrap *{
	font-size: 10px;
	line-height: 1em;
	font-feature-settings: "palt";
	font-family: var(--mainFont);
}
.lp_wrap img{
	width: 100%;
	display: block;
}
.pc_only{
	display: block;
}
.sp_only{
	display: none;
}
.fv{
	margin: 0 0 9em;
}
.about{
	width: 82em;
	padding: 8em 10em 4em;
	gap: 5em;
	margin: 0 auto 12em;
	border: 5px solid #cf1e26;
	display: flex;
	justify-content: center;
	align-items: center;
	background: url(../images/shop_bg.png) repeat-x 0 0/contain;
}
.about h2{
	width: 14.4em;
}
.about p{
	font-size: 2em;
	line-height: 1.8em;
	font-weight: 500;
	color: #363636;
}
.lineup h2{
	width: 108em;
	margin: 0 auto 6em;
	position: relative;
}
.lineup h2::before,.lineup h2::after{
	content: '';
	width: 38.8em;
	height: .5em;
	background: #282828;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.lineup h2::before{
	left: 0;
}
.lineup h2::after{
	right: 0;
}
.lineup h2 img{
	width: 22em;
	margin: auto;
}
.lineup > ul{
	width: 108em;
	margin: 0 auto 18em;
	display: flex;
	justify-content: space-between;
}
.lineup > ul li{
	width: 48%;
}
.lineup > ul a{
	display: flex;
	align-items: center;
	padding: 2.5em;
	border-radius: 9.6em;
	gap: 1.5em;
	text-decoration: none;
}
.lineup > ul li:nth-child(1) a{
	background: #cf1e26;
}
.lineup > ul li:nth-child(2) a{
	background: #009844;
}
.lineup > ul a span{
	width: 14em;
	aspect-ratio: 1/1;
	border-radius: 50%;
	background: #fff;
	overflow: hidden;
}
.lineup > ul a img{
	width: 14em;
}
.lineup > ul a:hover img{
	animation: icon .4s;
}
@keyframes icon{
	0%{
		transform: translateX(0em);
	}
	33%{
		transform: translateX(.6em);
	}
	66%{
		transform: translateX(-.6em);
	}
	100%{
		transform: translateX(0em);
	}
}
.lineup > ul a div strong{
	font-size: 2.6em;
	color: #fff;
	font-weight: bold;
	letter-spacing: .1em;
	margin: 0 0 .6em;
	display: block;
}
.lineup > ul a div p{
	font-size: 1.7em;
	line-height: 1.5em;
	color: #ffd713;
	letter-spacing: .1em;
}
.info{
	font-size: .52vw;
	display: flex;
	align-items: flex-start;
	position: relative;
}
.info *{
	font-size: .52vw;
}
.info > img{
	width: 42.8125vw;
}
.info > div{
	width: 58vw;
}
.info h3{
	width: 53.6em;
	position: absolute;
	top: -3em;
	left: 50%;
	transform: translateX(-50%);
}
.info div img:first-child{
	width: 15em;
	position: absolute;
	top: 7em;
	right: calc(50% - 60em);
}
.info div p{
	font-size: 2em;
	padding: 11em 0 5em 5em;
	line-height: 1.8em;
	letter-spacing: .1em;
	color: #363636;
}
.info div img:last-child{
	width: 61.04vw;
	position: absolute;
	right: 0;
	bottom: -34.4em;
}

.item{
	margin: 51em 0 0;
	padding: 0 0 30em;
	background: url(../images/pattern.jpg) repeat center;
}
.item > li{
	padding: 9em calc(50% - 60em);
	position: relative;
}
.item > li h2{
	display: flex;
	align-items: center;
	gap: 4em;
	padding: 1.7em;
	width: 64.7em;
	aspect-ratio: 647/138;
	border-radius: 7em;
	margin: 0 auto;
}
.item > li h2 img{
	width: 10em;
}
.item > li h2 span{
	font-size: 4.2em;
	font-weight: bold;
	color: #fff;
	letter-spacing: .1em;
}
.item > li:nth-child(1) h2{
	background: #cf1e26;
}
.item > li:nth-child(2) h2{
	background: #009844;
}
.list h3{
	font-size: 3.8em;
	margin: 0 0 0 .15em;
	padding: 1em 1.6em;
	font-weight: 800;
	letter-spacing: .1em;
	color: #282828;
	background: url(../images/tit_bg.jpg) repeat center;
	display: inline-block;
	transform: rotate(-3deg);
	position: relative;
	z-index: 25;
}
.list > li{
	padding: 9em 0;
}
.item > li:nth-child(1) .list > li + li{
	border-top: .5em solid #cf1e26;
}
.item > li:nth-child(2) .list > li + li{
	border-top: .5em solid #009844;
}
.list > li:nth-child(2n) h3{
	transform: rotate(3deg);
	margin: 0 0 0 auto;
}
.list > li:nth-child(2n){
	text-align: right;
}
.list > li:nth-child(2n) *{
	text-align: left;
}
.list > li:nth-child(2n) .contents{
	flex-direction: row-reverse;
}
.list .contents{
	display: flex;
}
.list .contents > img{
	width: 50.8%;
	position: relative;
	z-index: 20;
}
.list > li:nth-child(2n+1) .contents > div::after{
	content: '';
	width: 2em;
	height: 100%;
	background: #fff;
	position: absolute;
	top: 0;
	left: -2em;
}
.list > li:nth-child(2n) .contents > div::after{
	content: '';
	width: 2em;
	height: 100%;
	background: #fff;
	position: absolute;
	top: 0;
	right: -2em;
}
.list .contents > div{
	width: 49.2%;
	padding: 0 0 7em 6em;
	background: #fff;
	position: relative;
	top: 2.5em;
}
.list .contents div img{
	padding: 0 6em 0 0;
}
.list .contents h4{
	display: flex;
	margin: 6em 0 2em;
	flex-direction: column;
	gap: 1em;
}
.list .contents h4 span{
	width: 14.14em;
	font-size: 2.8em;
	padding: .5em 0;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-weight: bold;
	letter-spacing: .05em;
}
.list .item08 .contents h4 span{
	width: 17.5em;
}
.item > li:nth-child(1) .list .contents h4 span{
	background: #cf1e26;
}
.item > li:nth-child(2) .list .contents h4 span{
	background: #009844;
}
.item01 .contents h4{
	margin: 0;
	position: relative;
	top: -2.5em;
}
.list .contents h4 + p{
	font-size: 1.8em;
	line-height: 1.8em;
	color: #282828;
}
.list .contents h4 + p small{
	font-size: .83333em;
	line-height: 1.8em;
	display: block;
}
.list .contents .num{
	font-size: 2em;
	padding: 2em 3em 0 0;
	text-align: center;
	display: block;
}
.list .item08 .contents .num{
	padding: 0 3em 0 0;
}
.item01 .contents div img{
	width: 100%;
	margin: 10em auto 0;
}
.item02 .contents div img{
	width: 23.7em;
	margin: 5.6em auto 0;
}
.item02 .contents div img.domdom{
	width: 8.8em;
	position: absolute;
	margin: 0;
	padding: 0;
	right: 5em;
	bottom: 2em;
}
.item03 .contents div img{
	width: 26.6em;
	margin: 5em auto 0;
}
.item04 .contents div img{
	width: 26em;
	margin: 5em auto 0;
}
.item05 .contents div img{
	width: 23.4em;
	margin: 7.7em 0 0 4em;
	padding: 0;
}
.item05 .contents div img.hukidashi{
	width: 31.5em;
	position: absolute;
	top: 20em;
	right: 6em;
	pointer-events: none;
}
.item06 .contents div img{
	width: 54em;
	margin: 5em auto 0;
}
.item07 .contents div img{
	width: 44.3em;
	margin: 4em auto 0;
}
.item08 .contents div img{
	width: 45.9em;
	margin: 3em auto 0;
}
a.more{
	font-size: 2.8em;
	width: 17.8571em;
	aspect-ratio: 500/100;
	margin: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-weight: bold;
	letter-spacing: .1em;
	position: relative;
	border-radius: 5px;
}
a.more::after{
	content: '';
	width: .3em;
	aspect-ratio: 7/22;
	background: #fff;
	clip-path: polygon(0 0,100% 50%,0 100%);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: .5em;
}
.item > li:nth-child(1) a.more{
	background: #cf1e26;
}
.item > li:nth-child(2) a.more{
	background: #009844;
}
.item > li + li::before{
	content: '';
	width: 120em;
	height: .5em;
	background: #cf1e26;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.item > li + li::after{
	content: '';
	width: 120em;
	height: .5em;
	background: #009844;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.totop{
	width: 15em;
	position: fixed;
	bottom: 10em;
	left: calc(50% + 60em);
	z-index: 30;
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s;
}
.totop.active{
	opacity: 1;
	pointer-events: all;
}

@media screen and (max-width:1380px) {
	.lp_wrap{
		font-size: .7vw;
	}
	.lp_wrap *{
		font-size: .7vw;
	}
	.info{
		font-size: .6vw;
	}
	.info *{
		font-size: .6vw;
	}
}

@media screen and (max-width:768px){
	.lp_wrap{
		font-size: 1.3333vw;
	}
	.lp_wrap *{
		font-size: 1.3333vw;
	}
	.pc_only{
		display: none;
	}
	.sp_only{
		display: block;
	}
	.fv{
		margin: 0 0 10em;
	}
	.about{
		width: 60em;
		border: .4em solid #cf1e26;
		flex-direction: column;
		align-items: center;
		padding: 8em 0 5em;
		margin: 0 auto 10em;
		gap: 4em;
	}
	.about h2{
		width: 16em;
	}
	.about p{
		font-size: 2.4em;
	}
	.lineup h2{
		width: 92%;
	}
	.lineup h2::before, .lineup h2::after{
		width: 22em;
	}
	.lineup h2 img{
		width: 18em;
	}
	.lineup > ul{
		width: 92%;
		flex-direction: column;
		gap: 4em;
		margin: 0 auto 10em;
	}
	.lineup > ul li{
		width: 100%;
	}
	.lineup > ul a{
		padding: 3em;
		gap: 3em;
		border-radius: 11em;
	}
	.lineup > ul a img{
		width: 16em;
	}
	.lineup > ul a div strong{
		font-size: 3.4em;
	}
	.lineup > ul a div p{
		font-size: 2.6em;
		letter-spacing: 0;
	}
	.info{
		display: block;
	}
	.info{
		font-size: 1.3333vw;
	}
	.info *{
		font-size: 1.3333vw;
	}
	.info h3{
		width: 55em;
		transform: none;
		margin: auto;
		position: relative;
		top: auto;
		left: auto;
		z-index: 10;
	}
	.info > img{
		width: 96%;
		margin: -8em 0 0;
	}
	.info div img:first-child{
		display: none;
	}
	.info div p{
		width: 92%;
		margin: auto;
		font-size: 3em;
		padding: 1.6666em 0;
		letter-spacing: .06em;
	}
	.info > div{
		width: 100%;
		margin: 0 0 0 auto;
	}
	.info div img:last-child{
		width: 96%;
		position: static;
		margin: 0 0 0 auto;
	}
	.item{
		margin: 12em 0 0;
	}
	.item > li{
		padding: 10em 0;
	}
	.list > li{
		padding: 7em 0;
		position: relative;
	}
	.list > li:nth-child(n){
		text-align: center;
	}
	.list > li:nth-child(n) *{
		text-align: left;
	}
	.list h3{
		padding: 1em 1.2em;
	}
	.list > li:nth-child(n) .contents{
		flex-direction: column;
	}
	.list .contents > img{
		width: 70em;
	}
	.list .contents h4{
		margin-bottom: 3em;
	}
	.item01 .contents h4{
		margin-bottom: .5em;
	}
	.list .contents h4
	.list .contents h4 span{
		font-size: 3.3em;
	}
	.list .contents > div{
		width: 70em;
		margin: -6em 0 0 auto;
		position: relative;
		z-index: 20;
	}
	.list .item01 .contents > div{
		margin: -6em 0 0 auto;
	}
	.list > li:nth-child(2n+1) .contents > div::after{
		display: none;
	}
	.list > li:nth-child(2n) .contents > div::after{
		display: none;
	}
	.list .contents h4 + p{
		font-size: 2.4em;
	}
	.item01 .contents div img{
		margin: 9em auto 0;
	}
	.list .contents .num{
		font-size: 2.2em;
	}
	.item > li:nth-child(1) .list > li + li{
		border: none;
	}
	.item > li:nth-child(1) .list > li + li::before{
		content: '';
		width: calc(140em - 100%);
		height: .4em;
		background: #cf1e26;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	.item > li:nth-child(2) .list > li + li{
		border: none;
	}
	.item > li:nth-child(2) .list > li + li::before{
		content: '';
		width: calc(140em - 100%);
		height: .4em;
		background: #009844;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	.list > li:nth-child(2n) .contents > img{
		margin: 0 0 0 auto;
	}
	.list > li:nth-child(2n) .contents > div{
		margin: -6em 0 0 0;
	}
	.item > li + li::before{
		width: calc(140em - 100%);
	}
	.item > li + li::after{
		width: calc(140em - 100%);
	}
	.item02 .contents div img{
		width: 27.3em;
	}
	.item02 .contents div img.domdom{
		width: 12.6em;
		bottom: 4em;
	}
	.item03 .contents div img{
		width: 34em;
	}
	.item04 .contents div img{
		width: 34em;
	}
	.item05 .contents div img{
		width: 27.4em;
	}
	.item05 .contents div img.hukidashi{
		width: 35.5em;
		top: 22em;
	}
	.item06 .contents div img{
		width: 58em;
	}
	.item07 .contents div img{
		width: 48.3em;
	}
	.item08 .contents div img{
		width: 49.9em;
	}
	a.more{
		width: 23.2em;
	}
	a.more::after{
		width: .4em;
		right: .8em;
	}
	.totop{
		bottom: 5em;
		right: 2em;
		left: auto;
	}
}