
.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 {
	--noto: "Noto Sans JP", sans-serif;
	--color_main: #2e2e2e;
	--shadow: drop-shadow(.2em .2em 2em rgba(222,227,229,.7));
	--width: 1200px;
}
@media screen and (max-width: 1380px) {
	:root {
		--width: 92%;
	}
}

.pc_only {
	display: block;
}
@media screen and (max-width: 768px) {
	.pc_only {
		display: none;
	}
}

.sp_only {
	display: none;
}
@media screen and (max-width: 768px) {
	.sp_only {
		display: block;
	}
}

.lp_wrap {
	margin: 0 auto;
	font-weight: 400;
	font-family: var(--noto);
}
.lp_wrap img {
	width: 100%;
	display: block;
}
.lp_wrap a{
	text-decoration: none;
}
@media screen and (max-width: 1380px) {
}
@media screen and (max-width: 768px) {
}
.lp_wrap * {
	line-height: 1em;
	font-feature-settings: "palt";
	font-family: var(--font);
	color: var(--color_main);
	font-size: 62.5%;
	line-height: 2;
}


/*共通*/
.content_wrap{
	max-width: 990px;
	width: 100%;
	margin: auto;
	padding: 60px 0;
}
.content_wrap article{
	padding: 0 20px;
}

.content_ttl,
.content_ttl span{
  position: relative;
  font-size: 30px;
  font-weight: bold;
  padding-bottom: 12px;
  margin-bottom: 40px;
}
.content_ttl::before,
.content_ttl::after{
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
}
.content_ttl::before{
  bottom: 4px;
  border-bottom: 5px solid #333;
}
.content_ttl::after{
  bottom: 0;
  border-bottom: 1px solid #333333;
}
.content_subttl{
  display: inline-block;
	background-color: #000;
	font-size:24px;
	font-weight: bold;
	color: #FFF;
	margin-bottom: 20px;
	padding: 0 5px;
}
.content_text{
	font-size: 16px;
	text-align: left;
}
.content_text span{
	font-size: 16px;
	text-align: left;
	font-weight: bold;
}
.content_img{
	width: 100%;
	margin-bottom: 50px;
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.content_img.is-show{
  opacity: 1;
  transform: translateY(0);
}
.content_img img{
	width: auto;
	margin: auto;
}
@media screen and (max-width:768px){
	.content_wrap article{
		padding: 0;
	}
	.content_wrap{
		padding: 40px 20px;
	}
	.content_ttl,
	.content_ttl span{
		font-size: 22px;
	}
	.content_subttl{
		font-size: 18px;
	}
}

.product{
	max-width: 740px;
	width: 100%;
	display: block;
	gap: 50px;
	margin: auto;
}
.product_img{
	max-width: 640px;
	width: 100%;
	margin: 0 auto 60px;
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.product_img.is-show{
  opacity: 1;
  transform: translateY(0);
}
.product_name{
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px;
	text-align: center;
}
.product_price{
	font-size: 20px;
	margin-bottom: 40px;
	text-align: center;
}
.product_price span{
	font-size: 16px;
}
.product_btn{
	max-width: 370px;
	width: 100%;
	font-size: 20px;
	font-weight: bold;
	color: #FFF;
	text-align: center;
	background-color: #000;
	border: 1px solid #000;
	border-radius: 999px;
	padding: 20px 0;
	margin: 0 auto;
	transition: all 0.3s;
}
.product_btn:hover{
	background-color: #FFF;
	color: #000;
}
@media screen and (max-width:768px) {
	.product_img{
		margin: 0 auto 30px;
	}
	.product_name,
	.product_price
	.product_btn{
		font-size: 18px;
	}
	.product_name{
		margin-bottom: 10px;
	}
	.product_price{
		margin-bottom: 30px;
	}
	.product_price span{
		font-size: 14px;
	}
	.product_btn{
		padding: 10px 0;
	}

}

.mb20{
	margin-bottom: 20px;
}
.mb40{
	margin-bottom: 40px;
}
.mb60{
	margin-bottom: 60px;
}
.mb80{
	margin-bottom: 80px;
}


.lead_text{
	font-size: 20px;
	font-weight: bold;
	line-height: 4;
}
.lead_text span{
	/* color: #DE0510; */
	font-size: 20px;
	font-weight: bold;
}

.box_ttl{
	font-size: 16px;
	font-weight: bold;
	text-align: left;
}
.means_box{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	border: 1px solid #000;
	gap: 30px;
	padding: 40px;
	margin-bottom: 60px;
}
.means_box_img{
	max-width: 407px;
	width: 100%;
	margin: 0 auto;
}
.means_box_info{
	width: 100%;
}
.means_box_info .means_box_info_name{
	font-size: 24px;
	font-weight: bold;
}
.means_box_info .means_box_info_name span{
	font-size: 18px;
	font-weight: bold;
}
.means_flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 30px;
}
.means_flex li{
	width: 100%;
}
.means_flex li:nth-child(2){
	max-width: 417px;
	width: 100%;
	margin: 0 auto;
}


@media screen and (max-width:768px){
	.lead_text,
	.lead_text span{
		font-size: 18px;
	}
	.lead_text{
		line-height: 3.5;
	}
	.means_box{
		gap: 20px;
		padding: 20px;
	}
	.means_box_img{
		max-width: 100%;
	}
	.box_ttl{
		font-size: 18px;
	}
}
@media screen and (max-width:520px){
	.lead_text,
	.lead_text span{
		font-size: 16px;
	}

}


.highsocks_lead{
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	padding: 30px 20px;
	margin-bottom: 40px;
}
.highsocks_lead .content_text{
	font-weight: bold;
}

.highsocks_img{
	position: relative;

  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.highsocks_img.is-show{
  opacity: 1;
  transform: translateY(0);
}

/* 黒背景（左→右へ伸びる） */
.highsocks_img::before{
	position: absolute;
	content: "";
	background-color: #000;
	aspect-ratio: 744 / 373;
	max-width: 744px;
	width: 100%;
	top: 0;
	left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
}

/* 画像コンテナ */
.highsocks_img .highsocks_img_flex{
	position: relative;
	max-width: 610px;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	gap: 30px;
	margin: 0 auto;
	padding-top: 60px;
	z-index: 2;
}


/* 画像本体 */
.highsocks_img .highsocks_img_flex img{
	display: block;
	width: 100%;
	height: auto;
}

/* 左：上から */
.highsocks_img .highsocks_img_flex li:first-child{
	max-width: 270px;
	width: 100%;
}

/* 右：下から */
.highsocks_img .highsocks_img_flex li:nth-child(2){
	max-width: 300px;
	width: 100%;
}


.content_tag{
	margin: 0 auto 60px;
}
.content_tag_main{
	max-width: 640px;
	width: 100%;
	margin: 0 auto 30px;
}
.content_tag_list{
	max-width: 410px;
	width: 100%;
	display: flex;
	justify-content: space-between;
	gap: 20px;
	margin: 0 auto;
}
.content_tag_list li{
  position: relative;
  cursor: pointer;
	width: calc(100% / 3 - 10px);
}
.content_tag_list li::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  opacity: 0;
  transition: opacity 0.2s ease;
}

.content_tag_list li.is-active::after {
  opacity: 1;
}
.content_tag_main img {
  opacity: 1;
  transition: opacity 0.3s ease;
}

.content_tag_main img.is-fade {
  opacity: 0;
}


.interview .content_wrap{
	max-width: 950px;
	width: 100%;
	margin: 0 auto;
}
.interview_box{
	border: 1px solid #000;
	padding: 40px 100px;
	margin-bottom: 80px;
}
.interview_text{
	display: flex;
	justify-content: flex-start;
	gap:20px;
	margin-bottom: 30px;
}
.interview_text:last-child{
	margin-bottom: 0;
}
.interview_name{
	max-width: 80px;
	width: 100%;
	height: 30px;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	color: #FFF;
}
.interview_comment{
	font-size: 16px;
}
.interview_comment span{
	font-size: 16px;
	font-weight: bold;
}
.interview_name.staff{
	background-color: #333333;
	padding: 0 5px;
}
.interview_name.kimura{
	background-color: #DE0510;
	padding: 0 5px;
}

.interview_img{
	margin-bottom: 80px;
}
.interview_img img{
	width: auto;
	margin: auto;
}
.interview_btn{
	max-width: 600px;
	width: 100%;
	font-size: 20px;
	font-weight: bold;
	color: #FFF;
	text-align: center;
	background-color: #000;
	border-radius: 999px;
	padding: 20px 0;
	margin: 0 auto;
	transition: all 0.3s;
}
.interview_btn:hover{
	background-color: #DE0510;
}
@media screen and (max-width:768px) {
	.interview_btn{
		font-size: 18px;
	}
}

.store{
	padding: 100px 0;
}
.store_wrap{
	max-width: 960px;
	width: 100%;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	padding: 30px 0;
	margin: 0 auto;
}
.store_ttl{
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 30px;
}
.store_subttl{
	font-size: 20px;
	font-weight: bold;
}
.store_list{
	padding: 0 30px;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.store_list li{
	width: calc(100% / 2);
	font-size: 16px;
	margin-bottom: 30px;
}


@media screen and (max-width:768px) {
	.store_wrap{
		padding: 30px 20px;
	}
	.store_ttl{
		font-size: 20px;
	}
	.store_subttl{
		font-size: 18px;
	}
	.store_list{
		padding: 0 15px;
	}
	.store_list li{
		font-size: 14px;
		margin-bottom: 15px;
	}
}