/* ---------------------------------------------------------------
start TOP CSS
--------------------------------------------------------------- */


/* --------------- top --------------- */

.col_mainimg {
	margin: 0;
	padding: 0;
}

.inner_mainimg {
	width: 100%;
	height: 100%;
	margin: 0 auto;
	padding: 0;
	position: relative;
	z-index: 0;
	overflow: hidden;
}

.img_main_people {
	width: 94%;
	margin: auto;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 0);
	transition: .2s;
}


.lead_main {
	margin: 0;
	padding: 0;
	color: #fff;
	font-size: 27px;
	font-weight: 500;
	text-align: center;
	line-height: 1.5;
	letter-spacing: 0.06em;
	text-indent: 0.06em;
	position: relative;
	z-index: 1;
}

.lead_main span {
	left: calc(50% - 1em);
	display: inline-block;
	transform-origin: center bottom;
}

dl.img_main {
	margin: 0;
	padding: 0;
	position: absolute;
	bottom: 0;
}

dl.img_main dt {
	margin: 0;
	padding: 0;
	position: absolute;
}

dl.img_main dd {
	margin: 0;
	padding: 0;
}

dl.img_main.cmt1 {
	left: 23%;
	transform: translate(-50%, 0);
	z-index: 0;
}

dl.img_main.cmt1 dt {
	width: 10.7vw;
	top: 1vw;
	left: -6.8vw;
}

dl.img_main.cmt1 dd {
	width: 28.5vw;
}

dl.img_main.cmt2 {
	left: 34%;
	transform: translate(-50%, 0);
	z-index: 2;
}

dl.img_main.cmt2 dt {
	width: 16.5vw;
	top: -6.5vw;
	left: 0.2vw;
}

dl.img_main.cmt2 dd {
	width: 30vw;
}

dl.img_main.cmt3 {
	left: 50%;
	transform: translate(-50%, 0);
	z-index: 3;
}

dl.img_main.cmt3 dt {
	width: 12.8vw;
	top: -2.5vw;
	left: -5.8vw;
}

dl.img_main.cmt3 dd {
	width: 23vw;
}

dl.img_main.cmt4 {
	left: 68.5%;
	transform: translate(-50%, 0);
	z-index: 2;
}

dl.img_main.cmt4 dt {
	width: 13.5vw;
	top: -5vw;
	left: 6.4vw;
}

dl.img_main.cmt4 dd {
	width: 25.5vw;
}

dl.img_main.cmt5 {
	left: 83%;
	transform: translate(-50%, 0);
	z-index: 0;
}

dl.img_main.cmt5 dt {
	width: 14.7vw;
	top: 5.8vw;
	left: 16.8vw;
}

dl.img_main.cmt5 dd {
	width: 29vw;
}

.slide_topMain {
	display: none;
}





.col_topLead {
	margin: 0;
	padding: 94px 0 100px;
	background-color: #f4f5f5;
}

.inner_topLead {
	width: 94%;
	margin: 0 auto;
	padding: 0;
}

.catch_topLead {
	margin: 0 0 45px;
	padding: 0;
	font-size: 22px;
	font-weight: 700;
	text-align: center;
	line-height: 1.2;
}

.catch_topLead .dot {
	display: inline-block;
	position: relative;
	z-index: 0;
}

.catch_topLead .dot::before {
	content: "\30FB\30FB\30FB";
	line-height: 1;
	position: absolute;
	top: -0.75em;
}

dl.txt_topLead {
	margin: 0;
	padding: 0;
	text-align: center;
}

dl.txt_topLead dt {
	max-width: 402px;
	margin: 0 auto 14px;
	padding: 0;
}

dl.txt_topLead dd {
	margin: 0;
	padding: 0;
	line-height: 2;
}

.col_topService {
	margin: 0;
	padding: 100px 0 60px;
}

.inner_topService {
	width: 94%;
	margin: 0 auto;
	padding: 0;
}

.col_topService .mds_top1 {
	margin-bottom: 40px;
}

dl.lead_topService {
	margin: 0 0 55px;
	padding: 0;
	text-align: center;
}

dl.lead_topService dt {
	margin: 0 0 25px;
	padding: 0;
	font-size: 22px;
	line-height: 1.2;
	font-weight: 700;
}

dl.lead_topService dd {
	margin: 0;
	padding: 0;
	line-height: 2;
}

.wrap_topService {
	width: 100%;
	max-width: 988px;
	margin: 0 auto;
	padding: 0;
	display: flex;
}

.wrap_topService .box {
	width: calc(100% / 4);
	margin: 0;
	padding: 30px 5px 38px;
	color: #000;
	text-align: center;
	text-decoration: none;
	border-right: solid 1px #808080;
	transition: .2s;
	position: relative;
	z-index: 0;
	box-shadow: 7px 7px 20px -10px rgb(0,0,0,0);
}

.wrap_topService .box:first-of-type {
	border-left: solid 1px #808080;
}

.wrap_topService .box .icon {
	height: 72px;
	margin: 0 auto 30px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.wrap_topService .box .icon img {
	margin: 0 auto;
	display: block;
}

.wrap_topService .box.store .icon img {
	width: 58px;
}

.wrap_topService .box.delivery .icon img {
	width: 66px;
}

.wrap_topService .box.event .icon img {
	width: 58px;
}

.wrap_topService .box.original .icon img {
	width: 99px;
}

.wrap_topService .box dl {
	margin: 0 0 58px;
	padding: 0;
}

.wrap_topService .box dl dt {
	margin: 0 0 32px;
	padding: 0;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
}

.wrap_topService .box dl dd {
	margin: 0;
	padding: 0;
	line-height: 1.9;
}

.wrap_topService .box .arrow {
	width: 43px;
	margin: 0 auto;
	position: absolute;
	bottom: 40px;
	left: 0;
	right: 0;
	z-index: 0;
}

.wrap_topService .box .arrow::after {
	content: "";
	width: 43px;
	height: 6px;
	margin: 0;
	padding: 0;
	border-right: solid 3px #d20011;
	border-bottom: solid 2px #d20011;
	transform: skewX(45deg);
	transition: width .3s;
	position: absolute;
	top: calc( 50% - 6px );
	left: calc( 100% - 43px );
}

.wrap_topService .box:hover .arrow::after {
	width: 48px;
}

.col_topAbout {
	margin: 0;
	padding: 65px 0 65px;
	background: linear-gradient(180deg,  rgba(255,118,0,0) 300px, rgba(255,118,0,1) 300px)
}

.inner_topAbout {
	width: 94%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
}

.col_topAbout .mds_top1 {
	margin-bottom: 40px;
}

.wrap_topAbout {
	width: 100%;
	max-width: 826px;
	margin: 0 auto;
	padding: 0;
	display: flex;
	justify-content: space-between;
}

.wrap_topAbout .link {
	width: 380px;
	margin: 0;
	padding: 0;
	color: #fff;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
}

.wrap_topAbout .link a {
	width: 100%;
	margin: 0 0 14px;
	display: block;
	position: relative;
	z-index: 0;
	transition: all .2s linear;
	box-shadow: 7px 7px 20px -10px rgb(0,0,0,0);
}

.col_topProducts {
	width: 94%;
	max-width: 825px;
	margin: 0 auto;
	padding: 70px 0 65px;
	display: flex;
	justify-content: space-between;
}

.bnr_topProducts {
	width: 380px;
	height: 240px;
	margin: 0;
	padding: 0 0 8px;
	color: #000;
	text-align: center;
	text-decoration: none;
	background-image: url(../img/top/bg_products.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	display: flex;
	align-items: center;
	position: relative;
	z-index: 0;
	transition: .2s;
	box-shadow: 7px 7px 20px -10px rgb(0,0,0,0);
}

.bnr_topProducts::before {
	content: "";
	width: 100%;
	height: 100%;
	border: solid 20px rgba(255,255,255,0.6);
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
	z-index: 1;
}

.bnr_topProducts .inner {
	width: 100%;
}

.mds_topProducts {
	margin: 0 0 18px;
	padding: 0;
	line-height: 1.2;
	text-align: center;
}

.mds_topProducts .en {
	margin: 0 0 5px;
	font-size: 12px;
	font-weight: 300;
	display: block;
}

.mds_topProducts .ja {
	font-size: 22px;
	font-weight: 700;
}

.bnr_topProducts p {
	margin: 0;
	padding: 0;
	line-height: 1.5;
}

.bnr_topMarket {
	width: 380px;
	height: 240px;
	margin: 0;
	padding: 0;
	color: #000;
	text-align: center;
	text-decoration: none;
	transition: .2s;
	box-shadow: 7px 7px 20px -10px rgb(0,0,0,0);
}

.col_topSNS {
	margin: 0;
	padding: 70px 0 110px;
	background-color: #ebebeb;
}

.inner_topSNS {
	width: 94%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
}

.mds_topSNS {
	margin: 0 0 38px;
	padding: 0;
	text-align: center;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.5;
}

.wrap_topSNS {
	width: 100%;
	max-width: 988px;
	margin: 0 auto;
	padding: 0;
}

.col_topInquiry {
	margin: 0;
	padding: 75px 0 80px;
}

.inner_topInquiry {
	width: 94%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
}

.col_topInquiry .mds_top1 {
	margin-bottom: 15px;
}

.txt_topInquiry {
	margin: 0 0 35px;
	padding: 0;
	text-align: center;
	line-height: 2;
}

.wrap_topInquiry {
	width: 100%;
	max-width: 664px;
	margin: 0 auto;
	padding: 0;
	display: flex;
	justify-content: space-between;
}

.wrap_topInquiry a {
	width: 308px;
	height: 60px;
	padding-bottom: 2px;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	line-height: 1.2;
	background-color: #d20011;
	border: solid 1px #d20011;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: .2s;
}

.wrap_topInquiry a.mail span {
	padding-left: 38px;
	font-size: 17px;
	background-image: url(../img/icon_mail.svg);
	background-repeat: no-repeat;
	background-size: 27px auto;
	background-position: left center;
}







/* ---------------------------------------------------------------
	start max 1260px
--------------------------------------------------------------- */

@media screen and ( max-width: 1260px ) {



}

/* ---------------------------------------------------------------
	end max 1260px
--------------------------------------------------------------- */


/* ---------------------------------------------------------------
	start max 1200px
--------------------------------------------------------------- */

@media screen and ( max-width: 1200px ) {



}

/* ---------------------------------------------------------------
	end max 1200px
--------------------------------------------------------------- */

/* ---------------------------------------------------------------
	start max 1033px
--------------------------------------------------------------- */

@media screen and ( max-width: 1033px ) {



	.wrap_topSNS {
		display: block;
	}

	.wrap_topSNS .box {
		margin: 0 auto 60px;
	}

	.wrap_topSNS .box:last-of-type {
		margin-bottom: 0;
	}


}

/* ---------------------------------------------------------------
	end max 1033px
--------------------------------------------------------------- */


/* ---------------------------------------------------------------
	start max 850px
--------------------------------------------------------------- */

@media screen and ( max-width: 850px ) {

	.wrap_topService {
		max-width: 620px;
		flex-wrap: wrap;
	}

	.wrap_topService .box {
		width: calc(100% / 2);
	}

	.wrap_topService .box:nth-of-type(1),
	.wrap_topService .box:nth-of-type(2) {
		margin-bottom: 35px;
	}

	.wrap_topService .box:nth-of-type(3),
	.wrap_topService .box:nth-of-type(4) {
		margin-bottom: 0;
	}

	.wrap_topService .box:nth-of-type(3) {
		border-left: solid 1px #808080;
	}

	.wrap_topAbout .link {
		width: 47.5%;
	}

	.bnr_topProducts,
	.bnr_topMarket {
		width: 47.5%;
		height: 28vw;
	}



}

/* ---------------------------------------------------------------
	end max 850px
--------------------------------------------------------------- */
/* ---------------------------------------------------------------
	start min 701px
--------------------------------------------------------------- */

@media print,screen and ( min-width: 701px ) {

	.wrap_topService .box:hover {
		box-shadow: 7px 7px 20px -10px rgb(0,0,0,1);
	}

	.wrap_topAbout .link a:hover {
		box-shadow: 7px 7px 20px -10px rgba(0,0,0,1);
	}

	.bnr_topProducts:hover,
	.bnr_topMarket:hover {
		box-shadow: 7px 7px 20px -10px rgb(0,0,0,1);
	}

	.wrap_topInquiry a:hover {
		background-color: #f50014;
	}





}

/* ---------------------------------------------------------------
	end min 701px
--------------------------------------------------------------- */
/* ---------------------------------------------------------------
	start max 700px
--------------------------------------------------------------- */

@media print,screen and ( max-width: 700px ) {

	.col_mainimg {
		min-height: auto;
		max-height: 100%;
		height: auto;
		padding-top: 0;
		background-image: url(../img/top/sp/bg_mainimg.jpg);
	}

	.inner_mainimg {
		width: 100%;
		padding: 0;
	}

	.img_main_people {
		display: none;
	}

	.lead_main {
		font-size: 5vw;
		position: absolute;
		top: calc(3.5vw + 74px);
		left: 0;
		right: 0;
	}

	.slide_topMain {
		width: 100%;
		height: 100%;
		display: block;
	}

	.slide_topMain.swiper-container {
		padding-top: calc(20vw + 74px);
	}

	.slide_topMain .swiper-slide {
		width: 100%;
		height: 100%;
		display: flex;
		align-items: flex-end;
	}

	.slide_topMain .swiper-slide .anim {
		height: 100%;
	}

	.slide_topMain .swiper-slide.swiper-slide-active .anim img {
		animation: mainAnim1 1.5s ease 0s alternate;
	}

	@keyframes mainAnim1 {
		0% {
			opacity: 0;
			transform: translate3d(80px,0,0);
		}
		30% {
			opacity: 0;
			transform: translate3d(80px,0,0);
		}
		100% {
			opacity: 1;
			transform: translate3d(0,0,0);
		}
	}

	dl.img_main {
		display: none;
	}

	.col_topLead {
		padding: 60px 0 50px;
	}

	.inner_topLead {
		width: 90%;
	}

	.catch_topLead {
		margin-bottom: 30px;
	}

	dl.txt_topLead dt {
		max-width: 240px;
		margin-bottom: 40px;
	}

	.col_topService {
		padding: 60px 0 60px;
	}

	.inner_topService {
		width: 90%;
	}

	dl.lead_topService {
		margin-bottom: 30px;
	}

	dl.lead_topService dt {
		margin-bottom: 20px;
	}

	.wrap_topService .box {
		padding: 20px 20px 20px;
	}

	.wrap_topService .box .icon {
		margin-bottom: 22px;
	}

	.wrap_topService .box dl {
		margin-bottom: 40px;
	}

	.wrap_topService .box dl dt {
		margin-bottom: 20px;
		font-size: 18px;
	}

	.wrap_topService .box dl dd {
		line-height: 1.6;
		text-align: left;
	}

	.wrap_topService .box .arrow {
		bottom: 30px;
	}

	.inner_topAbout {
		width: 90%;
	}

	.wrap_topAbout {
		display: block;
	}

	.wrap_topAbout .link {
		width: 100%;
		margin: 0 auto 40px;
	}

	.wrap_topAbout .link:last-of-type {
		margin-bottom: 0;
	}

	.col_topProducts {
		width: 90%;
		padding: 50px 0 50px;
		display: block;
	}

	.bnr_topProducts {
		width: 100%;
		height: 56.8vw;
		margin: 0 0 8vw;
		padding: 0;
	}

	.bnr_topProducts::before {
		border-width: 5vw;
	}

	.mds_topProducts {
		margin-bottom: 4vw;
	}

	.mds_topProducts .en {
		margin-bottom: 1.5vw;
		font-size: 3.7vw;
	}

	.mds_topProducts .ja {
		font-size: 5.5vw;
	}

	.bnr_topProducts p {
		font-size: 3.3vw;
	}

	.bnr_topMarket {
		width: 100%;
		height: auto;
	}

	.col_topSNS {
		padding: 70px 0 70px;
	}

	.inner_topSNS {
		width: 90%;
	}

	.mds_topSNS {
		margin-bottom: 30px;
	}

	.col_topInquiry {
		padding: 65px 0 65px;
	}

	.inner_topInquiry {
		width: 90%;
	}

	.wrap_topInquiry {
		display: block;
	}

	.wrap_topInquiry a {
		margin: 0 auto 20px;
	}

	.wrap_topInquiry a:last-of-type {
		margin-bottom: 0;
	}



}

/* ---------------------------------------------------------------
	end max 700px
--------------------------------------------------------------- */
/* ---------------------------------------------------------------
	start max 450px
--------------------------------------------------------------- */

@media screen and ( max-width: 450px ) {

	.mds_top1 {
		padding-bottom: 20px;
	}

	.mds_top1 .en {
		font-size: 26px;
	}


	.catch_topLead {
		font-size: 18px;
	}

	dl.txt_topLead dt {
		max-width: 210px;
		margin-bottom: 30px;
	}

	.col_topService {
		padding: 50px 0 40px;
	}

	dl.lead_topService dt {
		font-size: 18px;
	}

	.wrap_topService .box {
		padding: 20px 12px 20px;
	}

	.wrap_topService .box .icon {
		height: 48px;
	}

	.wrap_topService .box.store .icon img {
		width: 46px;
	}

	.wrap_topService .box.delivery .icon img {
		width: 52px;
	}

	.wrap_topService .box.event .icon img {
		width: 46px;
	}

	.wrap_topService .box.original .icon img {
		width: 79px;
	}

	.wrap_topService .box dl {
		margin-bottom: 20px;
	}

	.wrap_topService .box dl dt {
		margin-bottom: 16px;
		font-size: 16px;
	}

	.wrap_topService .box .arrow {
		width: 38px;
		bottom: 20px;
	}

	.wrap_topService .box .arrow::after {
		width: 38px;
		border-right-width: 2px;
		border-bottom-width: 1px;
	}

	.col_topAbout {
		padding: 45px 0 45px;
	}

	.col_topProducts {
		padding: 40px 0 40px;
	}

	.col_topSNS {
		padding: 50px 0 50px;
	}




}

/* ---------------------------------------------------------------
	end max 450px
--------------------------------------------------------------- */
