@charset "UTF-8";

/*-----------------------------------

	common

-----------------------------------*/
@media screen and (max-width: 640px) {
}
/*-----------------------------------

	mainvisual

-----------------------------------*/
#mainvisual {
	width: 93.75%;
	margin: 0 auto;
	position: relative;
}
#mainvisual::before {
	content: "";
	width: 50%;
	height: 100%;
	background: url(../img/index/mv_logo.svg) no-repeat center 70%/contain;
	position: absolute;
	top: 0;
	left: 1%;
	z-index: 5;
	opacity: 0.2;
}
#mainvisual .swiper {
	width: 100%;
	height: auto;
	border-radius: 5px;
	overflow: hidden;
	position: relative;
}
#mainvisual .swiper::before {
	content: "";
	width: 100%;
	height: 100%;
	background: #111111;
	background: linear-gradient(90deg, rgba(17, 17, 17, 0.45) 0%, rgba(17, 17, 17, 0.25) 50%, rgba(17, 17, 17, 0) 100%);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	mix-blend-mode: multiply;
}
.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction {
    bottom: 30px !important;
    left: 6.67% !important;
    width: fit-content !important;
}
.swiper-pagination-bullet {
    width: 7px !important;
    height: 7px !important;
    background: none !important;
    opacity: 1 !important;
	border: 1px solid var(--sClr3) !important;
	position: relative;
}
.swiper-pagination-bullet-active {
    opacity: 1 !important;
    background: none !important;
}
.swiper-pagination-bullet-active::before {
	content: "";
	width: 15px;
	height: 15px;
	border: 2px solid #BCBCBC;
	border-radius: 50%;
	position: absolute;
	top: calc(50% - 7.5px);
	left: calc(50% - 7.5px);
}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 8px !important;
}
#mainvisual .copy {
	position: absolute;
	top: 50%;
    left: 6.67%;
	transform: translateY(-50%);
	color: var(--sClr3);
	z-index: 10;
	font-size: 3.375vw;
	line-height: 1.39;
	letter-spacing: 0.1em;
	filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.6));
}
#mainvisual .copy span {
	display: block;
	font-size: 1vw;
	margin-top: 1.25vw;
}
.scrolldown{
	height: 9.4vw;
	position:absolute;
	bottom:6.875vw;
	right: 2.5vw;
	z-index: 10;
}
.scrolldown span{
	position: absolute;
	left:0.625vw;
	top: 0;
	color: var(--sClr3);
	font-size: 0.94vw;
	letter-spacing: 0.08em;
    writing-mode: vertical-rl;
}
.scrolldown:before {
    content: "";
    position: absolute;
    bottom:0;
    left:-2px;
	width:5px;
	height:5px;
	border-radius: 50%;
	background:var(--sClr3);
	animation:
		circlemove 1.6s ease-in-out infinite,
		cirlemovehide 1.6s ease-out infinite;
}
@keyframes circlemove{
      0%{bottom:9.06vw;}
     100%{bottom:-0.31vw;}
 }
@keyframes cirlemovehide{
      0%{opacity:0}
     50%{opacity:1;}
    80%{opacity:0.9;}
	100%{opacity:0;}
 }
.scrolldown:after{
	content:"";
	position: absolute;
	bottom:0;
	left:0;
	width:1px;
	height: 9.4vw;
	background:var(--sClr3);
}
#mainvisual .news {
	width: 50%;
	background: var(--sClr3);
	position: absolute;
	bottom: 0;
	right: 0;
	border-radius: 5px 0 0 0;
	z-index: 10;
}
#mainvisual .news article {
	display: flex;
	align-items: center;
	gap: 0 6.1%;
	padding: 0.94vw 0;
}
#mainvisual .news article time {
	width: 16.22%;
	border-right: 1px solid var(--sClr4);
	color: var(--mClr3);
	text-align: center;
	font-size: 0.875vw;
	line-height: 1.6;
}
#mainvisual .news article time span {
	display: block;
}
#mainvisual .news article p {
	width: 77.68%;
	font-size: 0.94vw;
	line-height: 1.6;
	font-weight: 500;
	font-family: var(--fGothic);
	color: var(--sClr1);
	background: url(../img/index/icon_arrow01.svg) no-repeat calc(100% - 1.5vw) center/2.06vw;
}
/*#mainvisual .news article p .fc_purple{
	display: inline-block;
	color: var(--mClr1);
	text-decoration: underline;
}*/
@media screen and (max-width: 840px) {
	#mainvisual::before {
		width: 65%;
		background: url(../img/index/mv_logo.svg) no-repeat center 95%/contain;
	}
	.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction {
		bottom: 3.57vw !important;
	}
	.swiper-pagination-bullet {
		width: 0.83vw !important;
		height: 0.83vw !important;
	}
	.swiper-pagination-bullet-active::before {
		width: 1.78vw;
		height: 1.78vw;
		border: 0.24vw solid #BCBCBC;
		top: calc(50% - 0.89vw);
		left: calc(50% - 0.89vw);
	}
	.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		margin: 0 0.95vw !important;
	}
	#mainvisual .copy {
		font-size: 4.6vw;
	}
	#mainvisual .copy span {
		font-size: 1.4vw;
	}
	.scrolldown{
		bottom:8.33vw;
		right: 3vw;
	}
	.scrolldown span{
		font-size: 1.43vw;
	}
	#mainvisual .news {
		width: 75%;
		padding: 1.19vw 0;
	}
	#mainvisual .news article time {
		font-size: 1.43vw;
	}
	#mainvisual .news article p {
		font-size: 1.67vw;
		background: url(../img/index/icon_arrow01.svg) no-repeat calc(100% - 2.5vw) center/3.93vw;
	}
}
@media screen and (max-width: 640px) {
	#mainvisual::before {
		width: 75%;
		background: url(../img/index/mv_logo.svg) no-repeat center 43%/contain;
	}
	#mainvisual .swiper {
		width: 100%;
		height: 96vw;
	}
	#mainvisual .swiper img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction {
		bottom: 22vw !important;
		left: 3% !important;
	}
	.swiper-pagination-bullet {
		width: 7px !important;
		height: 7px !important;
	}
	.swiper-pagination-bullet-active::before {
		width: 15px;
		height: 15px;
		border: 2px solid #BCBCBC;
		top: calc(50% - 7.5px);
		left: calc(50% - 7.5px);
	}
	.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		margin: 0 8px !important;
	}
	#mainvisual .copy {
		top: 40%;
		left: 3%;
		font-size: 8vw;
	}
	#mainvisual .copy span {
		font-size: 2.67vw;
	}
	.scrolldown{
		height: 26.4vw;
		bottom:22vw;
		right: 6vw;
	}
	.scrolldown span{
		left:1.33vw;
		font-size: 2.67vw;
	}
	@keyframes circlemove{
		0%{bottom:25.6vw;}
		100%{bottom:-1.33vw;}
	}
	.scrolldown:after{
		height: 26.4vw;
	}
	#mainvisual .news {
		width: 90%;
		padding: 1.33vw 2.67vw;
	}
	#mainvisual .news article {
		flex-direction: column;
		gap: 0;
	}
	#mainvisual .news article time {
		width: 100%;
		border-right: none;
		border-bottom: 1px solid var(--sClr4);
		text-align: left;
		font-size: 3.2vw;
		padding-bottom: 1.33vw;
		margin-bottom: 1.33vw;
	}
	#mainvisual .news article time span {
		display: inline-block;
		margin-right: 1.33vw;
	}
	#mainvisual .news article p {
		width: 100%;
		font-size: 3.46vw;
		background: url(../img/index/icon_arrow01.svg) no-repeat right center/4.8vw;
	}
}
/*-----------------------------------

	about_block

-----------------------------------*/
#about_block {
	/*padding: 0 0 9.37vw;*/
	position: relative;
	z-index: 0;
}
#about_block::before {
	content: "";
	width: 133.12%;
	height: auto;
	aspect-ratio: 1065 / 563;
	background: url(../img/index/about_bg.svg) no-repeat center/contain;
	position: absolute;
	top: -8.75vw;
	left: -80.94%;
}
#about_block::after {
	content: "";
	width: 50.8%;
	height: 54.7%;
	background: #FAF9FB;
	position: absolute;
	bottom: -10%;
	right: 0;
	z-index: -1;
}
#about_block .contents_inner {
	padding-top: 17.5vw;
	position: relative;
	z-index: 2;
	background: url(../img/index/about_deco.svg) no-repeat right bottom/6vw;
}
#about_block .textArea {
	position: absolute;
	top: 0;
	right: calc(50% - 50vw);
	z-index: 5;
	width: calc(56.667% + (50vw - 50%));
	background: var(--sClr3);
	padding: 10vw calc(50vw - 50%) 3.75vw 3.75vw;
	border-radius: 0 0 0 5px;
}
#about_block .textArea h2 {
	font-size: 2.63vw;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.08em;
	color: var(--mClr1);
	margin-bottom: 2.19vw;
}
#about_block .textArea h2::before {
	content: "About";
	display: block;
	font-size: 1.25vw;
	line-height: 1;
	letter-spacing: 0.05em;
	color: var(--mClr3);
	margin-bottom: 1.875vw;
}
#about_block .textArea h2::after {
	content: "";
	width: calc(100% - 2em);
	height: 1px;
	background: var(--mClr4);
	position: absolute;
	top: 0.75vw;
	right: 0;
}
#about_block .textArea p {
	font-size: 1vw;
	line-height: 2.18;
	letter-spacing: 0.05em;
}
#about_block .textArea p:first-of-type {
	margin-bottom: 1.87vw;
}
#about_block .imageArea {
	position: relative;
	z-index: 1;
	width: calc(66.5% + (25vw - 25%));
	margin: 0 auto 0 calc(25% - 25vw);
	border-radius: 5px;
	overflow: hidden;
}
@media screen and (max-width: 840px) {
	#about_block .contents_inner {
		padding-top: 460px;
		background: url(../img/index/about_deco.svg) no-repeat right bottom/10vw;
	}
	#about_block .textArea {
		width: calc(90% + (50vw - 50%));
		padding: 40px calc(50vw - 50%) 40px 40px;
	}
	#about_block .textArea h2 {
		font-size: 28px;
		margin-bottom: 20px;
	}
	#about_block .textArea h2::before {
		font-size: 18px;
		margin-bottom: 15px;
	}
	#about_block .textArea h2::after {
		width: calc(100% - 3em);
		top: 10px;
	}
	#about_block .textArea p {
		font-size: 14px;
	}
	#about_block .textArea p:first-of-type {
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 640px) {
	#about_block {
		/*padding: 0 0 70px;*/
	}
	#about_block::before {
        width: 200%;
        top: auto;
        bottom: 20%;
        left: auto;
		right: 0;
	}
	#about_block::after {
		height: 30%;
		bottom: -15%;
	}
	#about_block .contents_inner {
		padding-top: 0;
		background: none;
	}
	#about_block .textArea {
		position: relative;
		width: 95vw;
		padding: 60px 30px 30px;
		right: auto;
		left: -5vw;
		border-radius: 5px;
	}
	#about_block .textArea h2 {
		font-size: 24px;
		margin-bottom: 20px;
	}
	#about_block .imageArea {
		width: 80vw;
		margin: -10vw -5vw 0 auto;
	}
}
/*-----------------------------------

	info_block

-----------------------------------*/
#info_block {
	padding: 9.37vw 0 0;
	position: relative;
}
#info_block .contents_inner {
	display: flex;
	justify-content: space-between;
}
#info_block h2 {
	font-size: 34px;
	font-weight: 500;
	letter-spacing: 0.1em;
	writing-mode: vertical-rl;
}
#info_block h2::before {
	content: "Info";
	display: block;
	font-size: 20px;
	letter-spacing: 0.05em;
	color: var(--mClr3);
	margin-left: 20px;
}
#info_block h2::after {
	content: "";
	width: 1px;
	height: calc(100% - 5em);
	background: var(--mClr3);
	position: absolute;
	bottom: 0;
	left: 15px;
}
#info_block .list {
	width: calc(100% - 165px);
	background: var(--sClr3);
	border-top: 1px solid var(--sClr4);
}
#info_block .list article {
	border-bottom: 1px solid var(--sClr4);
	padding: 20px 0;
	display: flex;
	align-items: center;
}
#info_block .list article time {
	width: 120px;
	padding: 30px 0;
	text-align: center;
	border-right: 1px solid var(--sClr4);
}
#info_block .list article time span {
	display: block;
	font-size: 15px;
	line-height: 1.6;
	color: var(--mClr3);
}
#info_block .list article p {
	width: calc(100% - 120px);
	padding: 0 100px 0 40px;
	font-family: var(--fGothic);
	line-height: 1.6;
	background: url(../img/index/icon_arrow01.svg) no-repeat calc(100% - 50px) center/33px;
}
/*#info_block .list article .fc_purple{
	display: inline;
	color: var(--mClr1);
	text-decoration: underline;
}*/
@media screen and (max-width: 840px) {
	#info_block .list {
		width: calc(100% - 135px);
	}
	#info_block .list article time {
		width: 100px;
		padding: 20px 0;
	}
	#info_block .list article p {
		width: calc(100% - 100px);
		padding: 0 30px;
		padding: 0 70px 0 30px;
		background: url(../img/index/icon_arrow01.svg) no-repeat calc(100% - 30px) center/24px;
	}
}
@media screen and (max-width: 640px) {
	#info_block {
		padding: 70px 0 0;
	}
	#info_block .contents_inner {
		flex-direction: column;
	}
	#info_block h2 {
		font-size: 24px;
		writing-mode: horizontal-tb;
		margin: 0 0 15px 0;
	}
	#info_block h2::before {
		font-size: 14px;
		margin: 0 0 10px 0;
	}
	#info_block h2::after {
		width: calc(100% - 5em);
		height: 1px;
		bottom: 10px;
		left: auto;
		right: 0;
	}
	#info_block .list {
		width: 100%;
	}
	#info_block .list article {
		padding: 0;
		flex-direction: column;
	}
	#info_block .list article time {
		width: 100%;
		padding: 0 10px;
		margin-top: 15px;
		text-align: left;
		border-right: none;
	}
	#info_block .list article time span {
		display: inline-block;
		font-size: 12px;
		line-height: 1;
		margin-right: 10px;
	}
	#info_block .list article p {
		width: 100%;
		padding: 0 50px 0 10px;
		margin-bottom: 15px;
		background: url(../img/index/icon_arrow01.svg) no-repeat calc(100% - 15px) center/20px;
	}
}
/*-----------------------------------

	photo_block

-----------------------------------*/
#photo_block {
	position: relative;
	z-index: -1;
	display: flex;
	justify-content: space-between;
	margin-bottom: 70px;
}
#photo_block::before {
	content: "";
	width: 39.5vw;
	height: 50%;
	background: var(--mClr4);
	position: absolute;
	top: -12vw;
	left: 0;
	z-index: -1;
}
#photo_block::after {
	content: "";
	width: 23.25vw;
	height: 4.23vw;
	background: url(../img/index/photo_deco.svg) no-repeat center/contain;
	position: absolute;
	top: 6.56vw;
	right: 5.62vw;
	z-index: 5;
}
#photo_block .photo01 {
	width: 52.25%;
	border-radius: 0 5px 5px 0;
	overflow: hidden;
}
#photo_block .photo02 {
	margin-top: 18.93vw;
	width: 40.94%;
	border-radius: 5px 0 0 5px;
	overflow: hidden;
}
@media screen and (max-width: 640px) {
	#photo_block .photo01 {
		width: 80%;
		position: relative;
	}
	#photo_block .photo02 {
		width: 65%;
		position: relative;
		z-index: -1;
		margin: 45vw 0 0 -45%;
	}
	#photo_block::after {
		width: 44vw;
		height: 8vw;
	}
}
/*-----------------------------------

	particularity_block

-----------------------------------*/
#particularity_block {
	/*padding: 0 0 9.37vw;*/
}
#particularity_block .ttlArea {
	display: flex;
	gap: 0 90px;
	margin-bottom: 60px;
}
#particularity_block .ttlArea h2 {
	font-size: 34px;
	font-weight: 500;
	letter-spacing: 0.1em;
	writing-mode: vertical-rl;
	position: relative;
	margin-top: -140px;
}
#particularity_block .ttlArea h2::before {
	content: "Particularity";
	display: block;
	font-size: 20px;
	letter-spacing: 0.05em;
	color: var(--mClr3);
	margin-left: 20px;
}
#particularity_block .ttlArea h2::after {
	content: "";
	width: 1px;
	height: calc(100% - 8em);
	background: var(--mClr3);
	position: absolute;
	bottom: 0;
	left: 15px;
}
#particularity_block .ttlArea .copy {
	font-size: 42px;
	line-height: 1.9;
	letter-spacing: 0.08em;
	color: var(--mClr1);
	margin-bottom: 90px;
}
#particularity_block .box {
	position: relative;
	overflow: hidden;
	border-radius: 5px;
	display: flex;
	align-items: center;
	gap: 0 3%;
	padding: 50px 70px;
}
#particularity_block .box.b01 {
	margin-bottom: 60px;
}
#particularity_block .box::before,
#particularity_block .box::after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
#particularity_block .box::before {
	z-index: -1;
	filter:blur(10px);
}
#particularity_block .box.b01::before {
	background: url(../img/index/particularity_bg01.jpg) no-repeat center/cover;
}
#particularity_block .box.b02::before {
	background: url(../img/index/particularity_bg02.jpg) no-repeat center/cover;
}
#particularity_block .box::after {
	background: #333333;
	background: linear-gradient(90deg,rgba(51, 51, 51, 1) 0%, rgba(51, 51, 51, 1) 45%, rgba(51, 51, 51, 0) 100%);
	mix-blend-mode: multiply;
	z-index: 0;
	opacity: 0.65;
}
#particularity_block .box .text,
#particularity_block .box .image {
	position: relative;
	z-index: 1;
}
#particularity_block .box .text {
	color: var(--sClr3);
	width: 53%;
}
#particularity_block .box .text .ttl {
	width: calc(100% + 20px);
	position: relative;
	margin: 0 auto 35px -20px;
}
#particularity_block .box .text .ttl::after {
	content: "";
	width: calc(100% - 110px);
	height: 1px;
	background: var(--mClr4);
	position: absolute;
	bottom: 35px;
	right: 0;
}
#particularity_block .box .text .ttl .circle {
	display: grid;
	place-content: center;
	place-items: center;
	gap: 5px 0;
	width: 96px;
	height: 96px;
	background: url(../img/index/particularity_ttl_bg.svg) no-repeat center/contain;
	font-size: 15px;
	letter-spacing: 0.08em;
	text-align: center;
}
#particularity_block .box .text .ttl .circle span {
	display: block;
	font-size: 27px;
}
#particularity_block .box .text .copy {
	font-size: 38px;
	font-weight: 700;
	letter-spacing: 0.08em;
	filter: drop-shadow(0px 0px 6px rgba(0,0,0,0.5));
	margin-bottom: 20px;
}
#particularity_block .box .text p {
	line-height: 1.875;
	filter: drop-shadow(0px 0px 6px rgba(0,0,0,0.5));
}
#particularity_block .box .text p:not(:last-child) {
	margin-bottom: 1em;
}
#particularity_block .box .image {
	width: 44%;
}
@media screen and (max-width: 1500px) {
#particularity_block .ttlArea .copy {
		font-size: 34px;
	}
}
@media screen and (max-width: 1335px) {
	#particularity_block .box {
		padding: 3.74vw 5.24vw;
	}
	#particularity_block .box.b01 {
		margin-bottom: 4.49vw;
	}
	#particularity_block .box .text .ttl {
		width: calc(100% + 1.5vw);
		margin: 0 auto 2.62vw -1.5vw;
	}
	#particularity_block .box .text .ttl::after {
		width: calc(100% - 8.24vw);
		bottom: 2.62vw;
	}
	#particularity_block .box .text .ttl .circle {
		gap: 0.37vw 0;
		width: 7.19vw;
		height: 7.19vw;
		font-size: 1.12vw;
	}
	#particularity_block .box .text .ttl .circle span {
		font-size: 2.02vw;
	}
	#particularity_block .box .text .copy {
		font-size: 2.85vw;
		margin-bottom: 1.5vw;
	}
	#particularity_block .box .text p {
		font-size: 1.2vw;
	}
}
@media screen and (max-width: 840px) {
	#particularity_block .ttlArea {
		gap: 0 50px;
	}
	#particularity_block .ttlArea .copy {
		font-size: 26px;
	}
	#particularity_block .box .text p {
		font-size: 1.6vw;
	}
}
@media screen and (max-width: 640px) {
	#particularity_block {
		/*padding: 0 0 70px;*/
	}
	#particularity_block .ttlArea {
		flex-direction: column;
		gap: 20px 0;
		margin-bottom: 40px;
	}
	#particularity_block .ttlArea h2 {
		font-size: 24px;
		writing-mode: horizontal-tb;
		margin: 0 0 15px 0;
	}
	#particularity_block .ttlArea h2::before {
		font-size: 14px;
		margin: 0 0 10px 0;
	}
	#particularity_block .ttlArea h2::after {
		width: calc(100% - 8em);
		height: 1px;
		bottom: 10px;
		left: auto;
		right: 0;
	}
	#particularity_block .ttlArea .copy {
		font-size: 18px;
		margin-bottom: 0;
	}
	#particularity_block .box {
		flex-direction: column;
		gap: 20px 0;
		padding: 20px;
	}
	#particularity_block .box.b01 {
		margin-bottom: 30px;
	}
	#particularity_block .box .text {
		width: 100%;
	}
	#particularity_block .box .text .ttl {
		width: calc(100% + 10px);
		margin: 0 auto 15px -10px;
	}
	#particularity_block .box .text .ttl::after {
		width: calc(100% - 80px);
		bottom: 25px;
	}
	#particularity_block .box .text .ttl .circle {
		gap: 2px 0;
		width: 67px;
		height: 67px;
		font-size: 10px;
	}
	#particularity_block .box .text .ttl .circle span {
		font-size: 19px;
	}
	#particularity_block .box .text .copy {
		font-size: 25px;
		letter-spacing: 0;
		line-height: 1.4;
		margin-bottom: 15px;
	}
	#particularity_block .box .text p {
		font-size: 12px;
	}
	#particularity_block .box .image {
		width: 100%;
	}
}
/*-----------------------------------

	products_block

-----------------------------------*/
#products_block {
	padding: 9.37vw 0 0;
}
#products_block h2 {
	font-size: 34px;
	font-weight: 500;
	color: var(--sClr1);
	text-align: center;
	margin-bottom: 60px;
}
#products_block h2::before {
	content: "Products";
	display: block;
	font-size: 20px;
	color: var(--mClr3);
	margin-bottom: 10px;
}
#products_block .products_wrap {
	width: min(1100px, 100%);
	margin: 0 auto 60px;
	display: flex;
	flex-wrap: wrap;
	gap: 60px 6%;
}
#products_block .products_wrap .box {
	width: 29.33%;
}
#products_block .products_wrap .box:nth-child(-n+2) {
	width: 47%;
}
#products_block .products_wrap .box .image {
	border-radius: 5px;
	overflow: hidden;
	margin-bottom: 30px;
}
#products_block .products_wrap .box h3 {
	font-size: 26px;
	font-weight: 500;
	margin-bottom: 20px;
}
#products_block .products_wrap .box ul li {
	font-size: 14px;
	font-weight: 700;
	font-family: var(--fGothic);
	line-height: 1.4;
	padding-left: 22px;
	position: relative;
	margin-bottom: 10px;
}
#products_block .products_wrap .box ul li::before {
	content: "";
	width: 18px;
	height: 18px;
	background: var(--mClr1);
	border-radius: 50%;
	position: absolute;
	top: 1px;
	left: 0;
}
#products_block .products_link {
	display: flex;
	justify-content: center;
	gap: 0 50px;
}
#products_block .products_link .text {
	width: 400px;
	height: 90px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.46;
	color: var(--mClr1);
	display: grid;
	place-content: center;
	text-align: center;
	border-top: 1px solid var(--mClr1);
	border-bottom: 1px solid var(--mClr1);
}
#products_block .products_link .link {
	width: 360px;
	height: 90px;
	background: var(--mClr1);
	border-radius: 5px;
	color: #FFF;
	font-size: 20px;
	font-family: var(--fGothic);
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 10px;
}
#products_block .products_link .link::after {
	content: "";
	width: 27px;
	height: 27px;
	background: url(../img/index/icon_link.svg) no-repeat center/contain;
	display: inline-block;
}
@media screen and (max-width: 840px) {
	#products_block .products_wrap {
		gap: 40px 3%;
	}
	#products_block .products_wrap .box {
		width: 31.33%;
	}
	#products_block .products_wrap .box:nth-child(-n+2) {
		width: 48.5%;
	}
	#products_block .products_wrap .box .image {
		margin-bottom: 15px;
	}
	#products_block .products_wrap .box h3 {
		font-size: 18px;
		margin-bottom: 10px;
	}
	#products_block .products_wrap .box ul li {
		font-size: 11px;
		padding-left: 18px;
		margin-bottom: 5px;
	}
	#products_block .products_wrap .box ul li::before {
		width: 14px;
		height: 14px;
		top: 1px;
	}
	#products_block .products_link {
		flex-direction: column;
		align-items: center;
		gap: 20px 0;
	}
	#products_block .products_link .text {
		width: 360px;
	}
	#products_block .products_link .link {
		width: 360px;
	}

}
@media screen and (max-width: 640px) {
	#products_block {
		padding: 70px 0 0;
	}
	#products_block h2 {
		font-size: 24px;
		margin-bottom: 30px;
	}
	#products_block h2::before {
		font-size: 14px;
		margin-bottom: 5px;
	}
	#products_block .products_wrap {
		gap: 30px 0;
		margin-bottom: 30px;
	}
	#products_block .products_wrap .box {
		width: 100%;
	}
	#products_block .products_wrap .box:nth-child(-n+2) {
		width: 100%;
	}
	#products_block .products_link {
		gap: 10px 0;
	}
	#products_block .products_link .text {
		width: 300px;
		height: 70px;
		font-size: 18px;
	}
	#products_block .products_link .link {
		width: 300px;
		height: 70px;
		font-size: 15px;
	}
	#products_block .products_link .link::after {
		width: 22px;
		height: 22px;
	}
}
/*-----------------------------------

	operations_block

-----------------------------------*/
#operations_block {
	padding: 0 0 9.37vw;
	background: url(../img/index/operations_bg.svg) no-repeat right top/49%;
}
#operations_block h2 {
	width: min(770px, 80%);
	margin: 0 auto 20px;
}
#operations_block .box01 {
	background: #44286C;
	border-radius: 5px;
	overflow: hidden;
	margin-bottom: 100px;
	padding: 12px;
	position: relative;
}
#operations_block .box01::after {
	content: "";
	width: calc(100% - 24px);
	height: 1px;
	background: var(--sClr3);
	position: absolute;
	bottom: 12px;
	left: 12px;
}
#operations_block .box01 .text01 {
	border-top: 1px solid var(--sClr3);
	border-bottom: 1px solid var(--sClr3);
	padding: 15px 0;
	margin-bottom: 30px;
}
#operations_block .box01 .text01 img {
	display: block;
	width: 368px;
	margin: 0 auto;
}
#operations_block .box01 .text02 {
	display: block;
	width: min(665px, 90%);
	margin: 0 auto 30px;
}
#operations_block .box01 .image {
	display: block;
	width: min(700px, 94%);
	margin: 0 auto 20px;
}
#operations_block .box01 .link {
	display: block;
	width: 333px;
	text-align: center;
	margin: 0 auto 30px;
	padding: 25px 0;
	font-size: 20px;
	background: var(--sClr3) url(../img/index/icon_arrow02.svg) no-repeat calc(100% - 16px) center/33px;
	border-radius: 5px;
}
#operations_block .box02 {
	background: var(--mClr1);
	color: var(--sClr3);
	border-radius: 5px;
	overflow: hidden;
	padding: 60px 0;
	position: relative;
	text-align: center;
	font-weight: 700;
	margin-bottom: 50px;
}
#operations_block .box02::before,
#operations_block .box02::after {
	content: "";
	width: calc(100% - 40px);
	height: 52px;
	background: 
		url(../img/index/operations_deco01.svg) no-repeat left center/52px,
		url(../img/index/operations_deco02.svg) no-repeat right center/52px;
	position: absolute;
	left: 20px;
}
#operations_block .box02::before {
	top: 20px;
}
#operations_block .box02::after {
	bottom: 20px;
	transform: rotate(180deg);
}
#operations_block .box02 .text01 {
	font-size: 33px;
	letter-spacing: 0.15em;
	line-height: 2.21;
	margin-bottom: 20px;
}
#operations_block .box02 .text01 br {
	display: none;
}
#operations_block .box02 .text01 span {
	background: var(--sClr3);
	color: var(--sClr2);
	padding: 12px;
	margin: 0 10px;
}
#operations_block .box02 .text02 {
	font-size: 34px;
	letter-spacing: 0.08em;
	line-height: 2;
	margin-bottom: 20px;
}
#operations_block .box02 .text03 {
	font-size: 18px;
	letter-spacing: 0.15em;
}
#operations_block .box03 {
	text-align: center;
	background: var(--mClr4);
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid var(--mClr3);
	padding: 60px 30px;
}
#operations_block .box03 .text {
	font-size: 28px;
	line-height: 2;
	border-bottom: 4px solid var(--mClr3);
	width: fit-content;
	margin: 0 auto 30px;
}
#operations_block .box03 .text br {
	display: none;
}
#operations_block .box03 ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0 25px;
}
#operations_block .box03 ul li {
	width: 220px;
}
#operations_block .box03 ul li a {
	font-size: 20px;
	font-weight: 700;
	padding: 20px 0;
	background: var(--sClr2);
	color: var(--sClr3);
	border-radius: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 10px;
}
#operations_block .box03 ul li a::before {
	content: "";
	width: 23px;
	height: 23px;
	display: block;
}
#operations_block .box03 ul li.tel a::before {
	background: url(../img/index/icon_tel.svg) no-repeat center/contain;
}
#operations_block .box03 ul li.fax a::before {
	background: url(../img/index/icon_fax.svg) no-repeat center/contain;
}
#operations_block .box03 ul li.mail a::before {
	background: url(../img/index/icon_mail.svg) no-repeat center/contain;
}
#operations_block .box03 ul li.fax a {
	pointer-events: none;
	cursor: default;
}
#operations_block .box03 ul li.mail a {
	font-size: 16px;
}
@media screen and (max-width: 1150px) {
	#operations_block .box02 {
		padding: 5.22vw 0;
	}
	#operations_block .box02::before,
	#operations_block .box02::after {
		width: calc(100% - 3.48vw);
		height: 4.52vw;
		background: 
			url(../img/index/operations_deco01.svg) no-repeat left center/4.52vw,
			url(../img/index/operations_deco02.svg) no-repeat right center/4.52vw;
		left: 1.74vw;
	}
	#operations_block .box02::before {
		top: 1.74vw;
	}
	#operations_block .box02::after {
		bottom: 1.74vw;
	}
	#operations_block .box02 .text01 {
		font-size: 2.87vw;
	}
	#operations_block .box02 .text01 span {
		padding: 1.04vw;
		margin: 0 0.87vw;
	}
	#operations_block .box02 .text02 {
		font-size: 2.96vw;
	}
	#operations_block .box02 .text03 {
		font-size: 1.56vw;
	}
	#operations_block .box02 .text03 br {
		display: none;
	}
	#operations_block .box03 ul {
		gap: 10px 15px;
	}
}
@media screen and (max-width: 840px) {
	#operations_block .box02 {
		padding: 60px 0;
	}
	#operations_block .box02::before,
	#operations_block .box02::after {
		width: calc(100% - 40px);
		height: 52px;
		background: 
			url(../img/index/operations_deco01.svg) no-repeat left center/52px,
			url(../img/index/operations_deco02.svg) no-repeat right center/52px;
		left: 20px;
	}
	#operations_block .box02::before {
		top: 20px;
	}
	#operations_block .box02::after {
		bottom: 20px;
	}
	#operations_block .box02 .text01 {
		font-size: 29px;
		margin-bottom: 20px;
	}
	#operations_block .box02 .text01 br {
		display: inline;
	}
	#operations_block .box02 .text01 span {
		padding: 10px;
		margin: 0 5px;
	}
	#operations_block .box02 .text02 {
		font-size: 30px;
		margin-bottom: 20px;
	}
	#operations_block .box02 .text03 {
		font-size: 16px;
		line-height: 1.6;
	}
	#operations_block .box02 .text03 br {
		display: inline;
	}
	#operations_block .box03 .text {
		font-size: 24px;
	}
}
@media screen and (max-width: 640px) {
	#operations_block {
		padding: 0 0 70px;
		background: url(../img/index/operations_bg.svg) no-repeat right top/80%;
	}
	#operations_block h2 {
		width: min(770px, 96%);
		margin: 0 auto 10px 0;
	}
	#operations_block .box01 {
		margin-bottom: 50px;
		padding: 10px;
	}
	#operations_block .box01::after {
		width: calc(100% - 20px);
		bottom: 10px;
		left: 10px;
	}
	#operations_block .box01 .text01 {
		padding: 10px 0;
		margin-bottom: 20px;
	}
	#operations_block .box01 .text01 img {
		width: min(360px, 60%);
	}
	#operations_block .box01 .text02 {
		margin: 0 auto 20px;
	}
	#operations_block .box01 .image {
		margin: 0 auto 15px;
	}
	#operations_block .box01 .link {
		width: 240px;
		margin: 0 auto 20px;
		padding: 18px 0;
		font-size: 15px;
		background: var(--sClr3) url(../img/index/icon_arrow02.svg) no-repeat calc(100% - 16px) center/20px;
	}
	#operations_block .box02 {
		padding: 30px 0;
		margin-bottom: 25px;
	}
	#operations_block .box02::before,
	#operations_block .box02::after {
		width: calc(100% - 20px);
		height: 26px;
		background: 
			url(../img/index/operations_deco01.svg) no-repeat left center/26px,
			url(../img/index/operations_deco02.svg) no-repeat right center/26px;
		left: 10px;
	}
	#operations_block .box02::before {
		top: 10px;
	}
	#operations_block .box02::after {
		bottom: 10px;
	}
	#operations_block .box02 .text01 {
		font-size: 17px;
		margin-bottom: 10px;
	}
	#operations_block .box02 .text01 span {
		padding: 5px;
		margin: 0 3px;
	}
	#operations_block .box02 .text02 {
		font-size: 18px;
		margin-bottom: 10px;
	}
	#operations_block .box02 .text03 {
		font-size: 12px;
	}
	#operations_block .box03 {
		padding: 30px 15px;
	}
	#operations_block .box03 .text {
		font-size: 20px;
		line-height: 1.4;
		border-bottom: 3px solid var(--mClr3);
		padding-bottom: 10px;
		margin: 0 auto 20px;
	}
	#operations_block .box03 .text br {
		display: inline;
	}
	#operations_block .box03 ul li {
		width: 200px;
	}
	#operations_block .box03 ul li a {
		font-size: 16px;
		padding: 15px 0;
		gap: 0 5px;
	}
	#operations_block .box03 ul li a::before {
		width: 17px;
		height: 17px;
	}
	#operations_block .box03 ul li.mail a {
		font-size: 14px;
	}
}
/*-----------------------------------

	slide_block

-----------------------------------*/
#slide_block {
	/*padding: 0 0 9.37vw;*/
}
#slide_block .swiper-wrapper {
	transition-timing-function: linear!important;
}
#slide_block .swiper-wrapper .swiper-slide {
	border-radius: 5px;
	overflow: hidden;
	/*width: 635px;*/
	flex-shrink: 0;
}
@media screen and (max-width: 640px) {
	#slide_block {
		/*padding: 0 0 70px;*/
	}
}
/*-----------------------------------

	pattern

-----------------------------------*/
.pattern {
	margin-bottom: 65px;
}
.pattern .contents_inner {
	display: flex;
	justify-content: space-between;
	padding-bottom: 65px;
	border-bottom: 1px solid var(--sClr4);
}
.pattern .textArea {
	width: 43%;
}
.pattern .textArea h2 {
	font-size: 42px;
	font-weight: 500;
	letter-spacing: 0.08em;
	color: var(--mClr1);
	margin-bottom: 30px;
}
.pattern .textArea h2::before {
	font-size: 20px;
	letter-spacing: 0;
	color: var(--mClr3);
	display: block;
	margin-bottom: 10px;
}
.pattern .textArea .copy {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-bottom: 20px;
}
.pattern .textArea p {
	line-height: 2.19;
}
.pattern .textArea p:not(:last-child) {
	margin-bottom: 1em;
}
.pattern .imageArea {
	width: 50%;
}
@media screen and (max-width: 1335px) {
	.pattern .textArea {
		width: 45%;
	}
	.pattern .textArea h2 {
		font-size: 3.15vw;
	}
	.pattern .textArea h2::before {
		font-size: 1.5vw;
	}
	.pattern .textArea .copy {
		font-size: 1.5vw;
	}
}
@media screen and (max-width: 840px) {
	.pattern .contents_inner {
		flex-direction: column;
		gap: 30px 0;
	}
	.pattern .textArea {
		width: 100%;
	}
	.pattern .textArea .copy {
		font-size: 20px;
	}
	.pattern .imageArea {
		width: 100%;
	}
	.pattern .textArea h2 {
		font-size: 42px;
	}
	.pattern .textArea h2::before {
		font-size: 20px;
	}
}
@media screen and (max-width: 640px) {
	.pattern {
		margin-bottom: 30px;
	}
	.pattern .contents_inner {
		gap: 20px 0;
		padding-bottom: 30px;
	}
	.pattern .textArea h2 {
		font-size: 28px;
	}
	.pattern .textArea h2::before {
		font-size: 16px;
	}
	.pattern .textArea .copy {
		font-size: 14px;
	}
}
/*-- efforts_block --*/
#efforts_block{
	padding: 9.37vw 0 0;
}
#efforts_block .textArea h2::before {
	content: "Efforts";
}
/*-- eruboshi_block --*/
#eruboshi_block .textArea h2::before {
	content: "Eruboshi";
}
/*-- ecology_block --*/
#ecology_block .textArea h2 {
	font-size: 34px;
	letter-spacing: 0;
	color: var(--sClr1);
}
#ecology_block .textArea h2::before {
	content: "Ecology";
}
#ecology_block .textArea .copy span {
	font-size: 42px;
	font-weight: 500;
	color: var(--mClr1);
}
#ecology_block .textArea .note {
	font-size: 14px;
	font-weight: 700;
	font-family: var(--fGothic);
	margin-bottom: 30px;
}
#ecology_block .textArea ul {
	border: 2px solid #DCDCDC;
	border-radius: 5px;
	padding: 15px 20px;
	margin-bottom: 20px;
}
#ecology_block .textArea ul li {
	line-height: 26px;
	letter-spacing: 0.03em;
	position: relative;
	padding-left: 36px;
	margin-bottom: 10px;
}
#ecology_block .textArea ul li::before {
	content: "";
	width: 29px;
	height: 22px;
	background: url(../img/index/ecology_arrow.svg) no-repeat center/contain;
	position: absolute;
	top: 6px;
	left: 0;
}
#ecology_block .textArea ul li span {
	display: inline-block;
	font-size: 26px;
	font-weight: 700;
	color: var(--mClr2);
	margin: 0 5px;
}
#ecology_block .textArea img {
	display: block;
	width: min(250px, 100%);
}
@media screen and (max-width: 1335px) {
	#ecology_block .textArea h2 {
		font-size: 2.55vw;
	}
	#ecology_block .textArea .copy span {
		font-size: 3.15vw;
	}
}
@media screen and (max-width: 840px) {
	#ecology_block .textArea h2 {
		font-size: 34px;
	}
	#ecology_block .textArea .copy span {
		font-size: 42px;
	}
}
@media screen and (max-width: 840px) {
	#ecology_block .textArea h2 {
		font-size: 22px;
	}
	#ecology_block .textArea .copy span {
		font-size: 28px;
	}
	#ecology_block .textArea .note {
		font-size: 12px;
	}
	#ecology_block .textArea ul {
		padding: 10px 15px;
		margin-top: 20px;
	}
	#ecology_block .textArea ul li {
		line-height: 22px;
		padding-left: 30px;
		margin-bottom: 5px;
	}
	#ecology_block .textArea ul li::before {
		width: 24px;
		height: 19px;
		top: 5px;
	}
	#ecology_block .textArea ul li span {
		font-size: 22px;
		margin: 0 3px;
	}
}
@media screen and (max-width: 640px){
	#efforts_block{
		padding: 70px 0 0;
	}
}
/*-----------------------------------

	factory_block

-----------------------------------*/
#factory_block {
	padding: 0 0 9.37vw;
}
#factory_block h2 {
	text-align: center;
	font-size: 34px;
	font-weight: 500;
	color: var(--sClr1);
	margin-bottom: 60px;
}
#factory_block h2::before {
	content: "Marusyou's Factory";
	font-size: 20px;
	color: var(--mClr3);
	display: block;
	margin-bottom: 20px;
}
#factory_block .factory_wrap {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 40px 3.33%;
}
#factory_block .factory_wrap .box {
	width: 48.33%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#factory_block .factory_wrap .box .image {
	width: 48.3%;
	border-radius: 5px;
	overflow: hidden;
}
#factory_block .factory_wrap .box .text {
	width: 47.1%;
	font-family: var(--fGothic);
}
#factory_block .factory_wrap .box .text h3 {
	font-size: 16px;
	font-weight: 500;
	color: var(--mClr1);
	margin-bottom: 15px;
}
#factory_block .factory_wrap .box .text .address {
	font-size: 13px;
	line-height: 1.69;
	margin-bottom: 20px;
}
#factory_block .factory_wrap .box .text .details {
	display: flex;
	align-items: center;
	gap: 0 10px;
	font-family: var(--fSerif);
	font-size: 13px;
}
#factory_block .factory_wrap .box .text .details .maplink {
	width: 118px;
	background: var(--sClr2);
	color: var(--sClr3);
	padding: 15px 0;
	border-radius: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
}
#factory_block .factory_wrap .box .text .details .maplink::before {
	content: "";
	width: 12px;
	height: 15px;
	background: url(../img/index/icon_map.svg) no-repeat center/contain;
	display: block;
}
#factory_block .factory_wrap .box .text .details ul li {
	line-height: 1.6;
}
#factory_block .factory_wrap .box .text .details ul li span {
	font-size: 10px;
}
@media screen and (max-width: 1150px) {
	#factory_block .factory_wrap .box .text h3 {
		font-size: 1.39vw;
	}
	#factory_block .factory_wrap .box .text .address {
		font-size: 1.13vw;
	}
	#factory_block .factory_wrap .box .text .details {
		gap: 0 0.87vw;
		font-size: 1.13vw;
	}
	#factory_block .factory_wrap .box .text .details .maplink {
		width: 10.26vw;
		gap: 0.43vw;
	}
	#factory_block .factory_wrap .box .text .details .maplink::before {
		width: 1.04vw;
		height: 1.3vw;
	}
	#factory_block .factory_wrap .box .text .details ul li span {
		font-size: 0.87vw;
	}
}
@media screen and (max-width: 840px) {
	#factory_block .factory_wrap .box {
		width: max(500px,70%);
	}
	#factory_block .factory_wrap .box .text h3 {
		font-size: 16px;
	}
	#factory_block .factory_wrap .box .text .address {
		font-size: 13px;
	}
	#factory_block .factory_wrap .box .text .details {
		gap: 0 10px;
		font-size: 13px;
	}
	#factory_block .factory_wrap .box .text .details .maplink {
		width: 118px;
		gap: 5px;
	}
	#factory_block .factory_wrap .box .text .details .maplink::before {
		width: 12px;
		height: 15px;
	}
	#factory_block .factory_wrap .box .text .details ul li span {
		font-size: 10px;
	}
}
@media screen and (max-width: 640px) {
	#factory_block {
		padding: 0 0 70px;
	}
	#factory_block h2 {
		font-size: 22px;
		margin-bottom: 30px;
	}
	#factory_block h2::before {
		font-size: 16px;
		margin-bottom: 10px;
	}
	#factory_block .factory_wrap {
		gap: 20px 0;
	}
	#factory_block .factory_wrap .box .text h3 {
		font-size: 13px;
		margin-bottom: 5px;
	}
	#factory_block .factory_wrap .box .text .address {
		font-size: 10px;
		margin-bottom: 10px;
	}
	#factory_block .factory_wrap .box .text .details {
		font-size: 10px;
		flex-direction: column;
		align-items: normal;
		gap: 5px 0;
	}
	#factory_block .factory_wrap .box .text .details .maplink {
		width: 120px;
		padding: 8px 0;
		gap: 5px;
	}
	#factory_block .factory_wrap .box .text .details .maplink::before {
		width: 12px;
		height: 15px;
	}
}
/*-----------------------------------

	store_block

-----------------------------------*/
#store_block {
	padding: 0 0 9.37vw;
}
#store_block h2 {
	text-align: center;
	font-size: 34px;
	font-weight: 500;
	color: var(--sClr1);
	margin-bottom: 60px;
}
#store_block h2::before {
	content: "Company-Operated Store";
	font-size: 20px;
	color: var(--mClr3);
	display: block;
	margin-bottom: 20px;
}
#store_block .store_wrap {
	display: flex;
	justify-content: space-between;
}
#store_block .store_wrap .box {
	width: 30.83%;
	border-radius: 5px;
	overflow: hidden;
	font-family: var(--fGothic);
}
#store_block .store_wrap .box h3 {
	font-size: 16px;
	font-weight: 500;
	color: var(--mClr1);
	margin-bottom: 15px;
}
#store_block .store_wrap .box .address {
	font-size: 13px;
	line-height: 1.69;
	margin-bottom: 20px;
}
#store_block .store_wrap .box .details {
	display: flex;
	align-items: center;
	gap: 0 10px;
	font-family: var(--fSerif);
	font-size: 13px;
	margin-bottom: 20px;
}
#store_block .store_wrap .box .details .maplink {
	width: 118px;
	background: var(--sClr2);
	color: var(--sClr3);
	padding: 15px 0;
	border-radius: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
}
#store_block .store_wrap .box .details .maplink::before {
	content: "";
	width: 12px;
	height: 15px;
	background: url(../img/index/icon_map.svg) no-repeat center/contain;
	display: block;
}
#store_block .store_wrap .box .details ul li {
	line-height: 1.6;
}
#store_block .store_wrap .box .details ul li span {
	font-size: 10px;
}
#store_block .store_wrap .box .sns {
	display: flex;
	align-items: center;
	gap: 0 10px;
	font-size: 13px;
	font-weight: 700;
}
#store_block .store_wrap .box .sns img {
	width: 46px;
}
@media screen and (max-width: 1150px) {
	#store_block .store_wrap .box h3 {
		font-size: 1.39vw;
	}
	#store_block .store_wrap .box .address {
		font-size: 1.13vw;
	}
	#store_block .store_wrap .box .details {
		gap: 0 0.87vw;
		font-size: 1.13vw;
	}
	#store_block .store_wrap .box .details .maplink {
		width: 10.26vw;
		gap: 0.43vw;
	}
	#store_block .store_wrap .box .details .maplink::before {
		width: 1.04vw;
		height: 1.3vw;
	}
	#store_block .store_wrap .box .details ul li span {
		font-size: 0.87vw;
	}
	#store_block .store_wrap .box .sns {
		gap: 0 0.87vw;
		font-size: 1.13vw;
	}
	#store_block .store_wrap .box .sns img {
		width: 4vw;
	}
}
@media screen and (max-width: 840px) {
	#store_block .store_wrap {
		flex-wrap: wrap;
		justify-content: center;
		gap: 40px 4%;
	}
	#store_block .store_wrap .box {
		width: 48%;
	}
	#store_block .store_wrap .box h3 {
		font-size: 16px;
	}
	#store_block .store_wrap .box .address {
		font-size: 13px;
	}
	#store_block .store_wrap .box .details {
		gap: 0 10px;
		font-size: 13px;
	}
	#store_block .store_wrap .box .details .maplink {
		width: 118px;
		gap: 5px;
	}
	#store_block .store_wrap .box .details .maplink::before {
		width: 12px;
		height: 15px;
	}
	#store_block .store_wrap .box .details ul li span {
		font-size: 10px;
	}
	#store_block .store_wrap .box .sns {
		gap: 0 10px;
		font-size: 13px;
	}
	#store_block .store_wrap .box .sns img {
		width: 46px;
	}
}
@media screen and (max-width: 640px) {
	#store_block {
		padding: 0 0 70px;
	}
	#store_block h2 {
		font-size: 22px;
		margin-bottom: 30px;
	}
	#store_block h2::before {
		font-size: 16px;
		margin-bottom: 10px;
	}
	#store_block .store_wrap {
		gap: 20px 0;
	}
	#store_block .store_wrap .box {
		width: min(370px,100%);
		margin: 0 auto;
	}
	#store_block .store_wrap .box h3 {
		font-size: 13px;
		margin-bottom: 5px;
	}
	#store_block .store_wrap .box .address {
		font-size: 10px;
		margin-bottom: 10px;
	}
	#store_block .store_wrap .box .details {
		font-size: 10px;
		margin-bottom: 15px;
	}
	#store_block .store_wrap .box .details .maplink {
		width: 120px;
		padding: 8px 0;
		gap: 5px;
	}
	#store_block .store_wrap .box .details .maplink::before {
		width: 12px;
		height: 15px;
	}
	#store_block .store_wrap .box .sns {
		gap: 0 5px;
		font-size: 11px;
	}
	#store_block .store_wrap .box .sns img {
		width: 38px;
	}
}
