/* greeting. */
.greeting {
	margin-top: 0px;
	display: flex;
	flex-direction: column;
}

.greeting div {
	flex-basis: 50%;
}



.greeting h1 img {
	max-width: 110px;
	width: 100%;
	padding: 0 0 1em 0;
}

.greeting h2 {
	font-weight: normal;
	padding: 1em 0;
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
}

.greeting p {
	padding: .85em 0;
}

.greeting .en {
	display: none;
}

.resetWidth {
	margin: 50px auto 0;
	width: 80%;
}

@media (min-width: 992px) {
	.greeting {
		margin-top: 142px;
		flex-direction: row-reverse;
		align-items: flex-start;
	}

	.greeting .img img {
		width: 100%;
		/* max-width: 486px; */

	}

	.greeting h1 img {
		max-width: 122px;
		width: 100%;
		padding: 0 0 1em 0;
	}

	.greeting .text {
		margin-top: 0;
		padding-right: 6.5%;
		box-sizing: border-box;
	}

	.greeting .en {
		display: block;
	}

	.resetWidth {
		margin: 0 auto;
		width: 100%;
	}
}

/* .greeting */


/* products. */
.products {
	
	position: relative;
	margin-top: 73px;
	padding-top:50px;
	padding-bottom:80px;
	background: #f0ebe7;
}
.dflex1 {
	display: flex;
	flex-direction: column;
}
.dflex1 .desc {
	padding-bottom: 70px;
}
.dflex1 .desc h2 {
	padding: .5em 0;
	font-size: 2.3rem;
	font-weight: normal;
	text-align: center;

}
.dflex1 .desc p {
	font-size: 1.6rem;
	padding: 1.1em 0;
	text-align: center;
	
	margin: 0 auto;
}
.dNoneL a {
	text-decoration:none;
}
.dNoneL a:hover {
	text-decoration: underline;
}

.dflex2 li:nth-child(1) img {
	width:calc(476px * 0.5);
	height:inherit; /* calc by js */
}
.dflex2 li:nth-child(2) img {
	width:calc(476px * 0.5);
	height:inherit; /* calc by js */
}
.dflex2 li:nth-child(3) img {
	width:calc(476px * 0.5);
	height:inherit; /* calc by js */
}
.dflex2 li:nth-child(4) img {
	width:calc(476px * 0.5);
	height:inherit; /* calc by js */
}
.dflex2 li:nth-child(5) img {
	width: calc(694px * 0.5); /* calc by js */
	height: inherit; /* calc by js */
}
.dflex2 li:nth-child(6) img {
	width: calc(694px * 0.5); /* calc by js */
	height: inherit; /* calc by js */
}

.widthDesc {
	margin: 0 auto;
	width:80%;
}
.frame1 {
	overflow-x: scroll;
	-ms-overflow-style: none;
	scrollbar-width: none;
}
.frame2 {
	overflow-x: scroll;
	-ms-overflow-style: none;
	scrollbar-width: none;
	width:1165px; /* calc by js */
}
.dflex2 {
	display: flex;
	width:2000px; /* calc by js */
	justify-content: space-around;
}
.dflex2 li {
	flex-basis: 500px; /* calc by js */
}
.dflex2 li img {
	margin:0 auto;
}

.dflex2 li .name {
	display: flex;
	justify-content: center;
	margin-top: 10px;
	margin-bottom: 35px;
	text-align: center;
}
.dflex2 li .name p {
	font-size: 1.6rem;
	line-height: 1.6;
}
.animeborderbottom2 {
	padding:0;
	margin:0;
	position: relative;
	display: inline-block;
	height: 51px;
}
.animeborderbottom2 p::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	height: 51px;
	content: '';
	transition: all .3s;
	border-bottom: solid 1px #742c1a;
	transform: scale(0, 1);
	box-sizing: border-box;	
}
.animeborderbottom2:hover p::after {
	transform: scale(1);	
}
.animeborderbottom2 a {
	position: relative;
	z-index: 5;
}

.customUnder {
	text-decoration: none;
	border-bottom: 1px solid rgba(102,20,3,0);
	padding-bottom: 1px;
}
.customUnder:hover {
	text-decoration: none !important;
	border-bottom: 1px solid rgba(102,20,3,1);
}
@media (min-width:992px) {
	.products {
		position: relative;
		margin-top: 203px;
		background: none;
		
	}
	.frame1 {
		position: relative;
		width: 100%;
		z-index: 50;
		overflow-x: scroll;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
	.widthDesc {
		padding-left: 85px;
		width: 500px;
	}
	.dflex1 {
		flex-direction: row;
		align-items: flex-end;
	}
	.dflex1 .desc {
		margin-right:auto;
		margin-left:auto;
		padding-bottom:201px;
		box-sizing: content-box;
	}
	
	.dflex1 .desc p {
		width: 100%;
		text-align: left;
	}
	.dflex1 .desc h2 {
		font-size: 2.8rem;
		text-align: left;
	}
	.dNoneL {
		display: none;
	}
	.frame2 {
		padding-left: 0;
		padding-right: 0;
		width:100%;
		overflow-x: scroll;
	}
	.dflex2 li .name {
		margin-top: 124px;
		margin-bottom: 0;
	}
	
	.animeborderbottom2 p::before {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 2;
		height: 51px;
		content: '';
		transition: all .3s;
		border-bottom: solid 1px #742c1a;
		transform: scale(0, 1);
		box-sizing: border-box;
	}
}


.frame1::-webkit-scrollbar {
	/* Chrome, Safari 対応 */
	display:none;
}
.frame2::-webkit-scrollbar {
	/* Chrome, Safari 対応 */
	display:none;
}
/* .products */

.widthBar {
	position: absolute;
	left:10%;
	bottom: 60px;
	width:calc(100% - 20%);
}
@media (min-width:992px) {
	.widthBar {
		position: absolute;
		left:85px;
		bottom:192px;
		width:calc(100% - 170px);
	}
}
.bar {
	
	width: 100%;
	height: 1px;
	background: #ccc;
	z-index: 60;
}

.bar .barline {
	position: relative;
	left: 100px;
	width: 100px;
	height: 2px;
	background: #742c1a;

}
.arrowL {
	position: absolute;
	bottom: 255px;
	left: 55px;
	z-index: 99;

}
.arrowR {
	position: absolute;
	bottom: 255px;
	right: 55px;
	z-index: 99;
}
.arrow .btn {
	display: block;
	width: 38px;
	height: 38px;
	cursor: pointer;
}
.arrowL .btn {
	border-left: solid 2px #fff;
	border-bottom: solid 2px #fff;
	transform: rotate(45deg);
}
.arrowR .btn {
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	transform: rotate(45deg);
}
@media (min-width: 992px) {
	.arrowL {
		bottom: 375px;
	}
	.arrowR {
		bottom: 375px;
		
	}
}



/* aboutproducts. */
.aboutproducts {
	margin-top: 75px;
	display: flex;
	justify-content: space-between;
	flex-direction: column;
}

.aboutproducts div {
	flex-basis: 50%;

}

.aboutproducts .img img {
	width: 100%;
	margin-left: 0;
	margin-right: 0;
}

.aboutproducts div.desc {
	margin-top: 50px;
	box-sizing: border-box;
}

.aboutproducts .desc h2 {
	font-size: 2.3rem;
	font-weight: normal;
	padding-top: 0 !important;
	padding-bottom: 10px;
}

.aboutproducts .desc p {
	padding: .85em 0;


}

@media (min-width: 576px) {
	/* lightcyan; */

}

@media (min-width: 768px) {
	/* lightgoldenrodyellow; */

	.aboutproducts {

		flex-direction: row;
	}


	.aboutproducts div.desc {
		margin-top: 0;
		padding-left: 6%;

	}
}

@media (min-width: 992px) {

	/* lightpink */
	.aboutproducts {
		margin-top: 115px;
	}

	.aboutproducts .img img {
		margin-left: auto;
		max-width: 100%;
	}

	.aboutproducts .desc h2 {
		font-size: 2.8rem;
	}

	.aboutproducts .desc h2 {
		padding-bottom: 25px;
	}
}

@media (min-width: 1200px) {
	/* lightskyblue */


}

@media (min-width: 1920px) {
	/* lightsalmon */

}

/* .aboutproducts */


.animeborderbottom {
	padding:0;
	margin:0 auto;
	position: relative;
	display: block;
	height: 42px;
	
}
.animeborderbottom:first-child {
	max-width: 120px;
}
.animeborderbottom:last-child {
	max-width: 160px;
}

.animeborderbottom p::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	height: 44px;
	content: '';
	transition: all .3s;
	border-bottom: solid 1px #742c1a;
	transform: scale(0, 1);
	box-sizing: border-box;	
}
.animeborderbottom:hover p::after {
	transform: scale(1);	
}
.animeborderbottom a {
	position: relative;
	z-index: 5;
	
}
.animeborderbottom a:hover {
	text-decoration: none !important;
}
@media (min-width:992px) {
	.animeborderbottom {
		margin:0;
	}
	.animeborderbottom p::before {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 2;
		height: 33px;
		content: '';
		transition: all .3s;
		border-bottom: solid 1px #742c1a;
		transform: scale(0, 1);
		box-sizing: border-box;
	}
}

.coutriesblock {
	margin:20px auto 0;
	display: flex;
		justify-content:space-between;
	max-width: 320px;
	flex-direction: column;
}

@media (min-width:992px) {
	.coutriesblock {
		margin:20px auto 0 0;
		
		flex-direction: row;
	}
}

.products h2 {
	letter-spacing: .1em;
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
}

.aboutproducts h2 {
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;	    
}

