@charset "UTF-8";
/* default. */
@font-face {
	font-family: 'Hannari';
	font-style: normal;
	font-weight: 400;
	src: url(/fonts/Hannari.otf);
	src: url(//fonts.gstatic.com/ea/hannari/v1/Hannari-Regular.eot);
	src: url(//fonts.gstatic.com/ea/hannari/v1/Hannari-Regular.eot?#iefix) format('embedded-opentype'),
		url(//fonts.gstatic.com/ea/hannari/v1/Hannari-Regular.woff2) format('woff2'),
		url(//fonts.gstatic.com/ea/hannari/v1/Hannari-Regular.woff) format('woff'),
		url(//fonts.gstatic.com/ea/hannari/v1/Hannari-Regular.ttf) format('truetype');
}
html {
	font-size: 62.5%;
}
body {
	overflow-y:scroll;
	font-family: minerva-modern, "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", san-serif;
	width: 100%;
	background:#661E04;
	color: #000;
	font-size: 1.6em;
	line-height: 1.7;
	letter-spacing: 0.08em;
	/* color: red; */
	
}
@media (min-width: 576px) {
	/* lightcyan; */
	body {
		font-size: 1.5rem;
		line-height: 1.7;
	}
}

@media (min-width: 768px) {
	/* lightgoldenrodyellow; */
	body {
		font-size: 1.4rem;
		line-height: 1.7;
	}
}

@media (min-width: 992px) {
	/* lightpink */
	/* body {
		font-size: 1.5rem;
		line-height: 1.7;
	} */
}

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

a,
a:visited {
	text-decoration: none;
	color: #000;
}

a:hover,
a:active,
a:focus {
	color: #661403;

}

.selected {
	color: #661403;
}

p.en {
	font-size: 1.5rem !important;
	
	
}
.fontgotu {
	font-family: 'Gotu', sans-serif;
	font-size: 85%;
}
/* .bgLgray {
	background-color: #e5ded6;
	rgba(229,222,214,1); lightgray
	rgba(167,126,109,1)
	rgba(102,30,4); darkgray
} */
/* 
english
MinervaModern Bold
font-family: minerva-modern, sans-serif;
font-weight: 700;
font-style: normal;

MinervaModern BoldItalic
font-family: minerva-modern, sans-serif;
font-weight: 700;
font-style: italic;

MinervaModern Italic
font-family: minerva-modern, sans-serif;
font-weight: 400;
font-style: italic;

MinervaModern Regular
font-family: minerva-modern, sans-serif;
font-weight: 400;
font-style: normal;
*/
/* .default */

#headercart {
	border:0;
	background: none;
	padding-right:0;
}

.widthFullFull {
	position: relative;
	margin: 0 auto;
	width: 100%;
	z-index: 10;
}
@media (min-width:992px) {
	.widthFullFull {
		padding-left: 85px;
		padding-right: 85px;
		width: 100%;
		box-sizing: border-box !important;

	}
}


.width1680Full {
	margin: 0 auto;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

@media (min-width:992px) {
	.width1680Full {
		margin: 0 auto;
		padding-left: 85px;
		padding-right: 85px;
		width: 100%;
		max-width: 1680px;
		box-sizing: border-box;
	}
}

.width1680 {
	margin: 0 auto;
	padding-left: 0;
	padding-right: 0;
	width: 80%;
}

@media (min-width:992px) {
	.width1680 {
		margin: 0 auto;
		padding-left: 85px;
		padding-right: 85px;
		width: 100%;
		max-width: 1680px;
		box-sizing: border-box;
	}
}

.widthAll {
	position: relative;
	width:100%;
}
.widthFull {
	position: relative;
	margin: 0 auto;
	width: 80%;
	z-index: 10;
}

@media (min-width:992px) {
	.widthFull {
		padding-left: 85px;
		padding-right: 85px;
		width: 100%;
		box-sizing: border-box !important;

	}
}
.widthP85 {
	position: relative;
	margin: 0 auto;
	width: 80%;
	z-index: 10;
}

@media (min-width:992px) {
	.widthP85 {
		padding-left: 85px;
		padding-right: 85px;
		width: 100%;
		box-sizing: border-box !important;

	}
}
/* header. */

.header {
	position: relative;
	z-index: 500;
	
}
header {
	position:relative;	
	top:0;
	left: 0;
	width:100%;
}
header h1 {
	position: relative;
	padding:48px 0;
	z-index: 40;
	
}
header h1 a {
	display: block;
	max-width: 45px;
	margin:0 auto;
	height: 57.5px;
}
.st0{fill:#661403;}
header nav {
	position: fixed;
	top: 0;
	left: -100%;
	width:100%;
	z-index: 50;
	box-sizing: border-box;
}
header nav div {
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(229,222,214,0.8);
	width:60%;
	z-index: 50;
	box-sizing: border-box;
}
header nav ul {
	position: relative;
	top:0;
	left: 0;
	padding-left: 15%;
	list-style: none;
	margin-left: auto;
	width: 100%;
}
@media (max-width:991px) {
	header nav ul ul {
		padding-left: 0;
	}
}


header nav ul::-webkit-scrollbar {
	/* Chrome, Safari 対応 */
	display:none;
}
header nav ul li {
	padding: 1em 0;
	
}
@media (max-width:991px) {
	header nav ul li {
		font-weight: bold;
	}
	header nav ul li li {
		padding: .5em 0 .3em;
		font-weight:normal;
		
	}
}


header .subnavi {
	position: absolute;
	top:50px;
	right:10%;
	z-index: 45;
}
header .subnavi ul {
	list-style: none;
	padding:0;
	margin:0;
}
header .subnavi ul li {
	font-size: 1.1rem;
	text-align: right;
	
}


/* burger. */
#burger {
	position: absolute;
	top: 55px;
	left: 10%;
	display: block;
	padding:5px 0;
	width:30px;	
	box-sizing: border-box;
	z-index: 500;
	
}
#burger::before, #burger::after {
	content: "";
	display: block;
	margin: 0 auto;
	width:100%;
	height: 12px;
	border-top:solid 1px #000;
	border-bottom:solid 1px #000;
}
#burger::after {
	border-top: 0;
}
/* #burger */

/* closemsg btn. */
#batsu {
		display: block;
		width: 30px;/*枠の大きさ*/
		height: 30px;/*枠の大きさ*/
		/* background: #CCC; */
		position: relative;
	margin-left:auto;
	margin-top:1.5em;
	margin-right:1.5em;
}

#batsu::before, #batsu::after{
		content: "";
		display: block;
		width: 100%;/*バツ線の長さ*/
		height: 1px;/*バツ線の太さ*/
		background: #000;
		transform: rotate(45deg);
		transform-origin:0% 50%;
		position: absolute;
		top: calc(14%);
		left: 14%;
}

#batsu::after{
		transform: rotate(-45deg);
		transform-origin:100% 50%;
		left: auto;
		right: 14%;
}
/* .closemsg btn */

.more992  {
	display:none;
}
.less992 {
	display: block;
}
@media (min-width: 576px) {
	/* lightcyan; */
	
}

@media (min-width: 768px) {
	
	/* lightgoldenrodyellow; */
	
	header li {
		font-size: 1.5rem;
		
	}
}
header div.subnavi .shopping ul li {
	padding-right:1px;     
	
}
header div.subnavi .shopping ul li button {
	letter-spacing: .1em !important;
	
}
@media (min-width: 992px) {
	/* lightpink */
	.more992  {
		display:block;
	}
	.less992  {
		display:none;
	}
	#burger {
		display: none;
	}
	#batsu {
		display: none;
	}
	
	header nav {
		position: unset;
		width: auto;
	}
	header nav div {
		position: unset;
		width: auto;
		background:none;
	}
	header nav ul li {
		padding: .2em 0;
	}
	header .subnavi {
		position: unset;
	}
	header .subnavi ul li {
		font-size: 1.4rem;
		text-align: right;
	}
	/* ここまで */
	.header {
		margin:  0 auto;
		max-width: 2560px;
		padding: 77px 85px 0;
		box-sizing: border-box;
	}
	header {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;	
	}
	header h1 {
		position: unset;
		padding:0;
		margin-top: 8px;
		order: 2;
		flex-basis: 30%;
	}
	header h1 a {
		max-width: 70px;
		height:89.5px
	}
	
	

	header nav {
		order: 1;
		flex-basis: 30%;
	}

	header nav ul {
		margin-top: 0;
		margin-bottom: 0;
		list-style: none;
		padding-left: 0;
	}

	header nav a:hover {
		color: black;
		opacity: .4;
	}

	header li {
		font-size: 1.6rem;
		padding: .2em 0;
	}
	header li {
		font-size: 1.4rem;
		
	}
	header div.subnavi {
		order: 3;
		flex-basis: 30%;
	}

	header div.subnavi ul {
		list-style: none;
		padding-left: 0;
	}

	header div.subnavi .langs ul {
		display: flex;
		justify-content: flex-end;
		margin-top: 0;
		margin-bottom: 0;
		margin-left: auto;
		margin-right: 0;
		max-width: 142px;
		width: 100%;
	}

	header div.subnavi .langs ul li {
		flex-basis: 50%;
		text-align: right;
	}

	header div.subnavi .langs ul li a {
		display: block;
	}

	header div.subnavi .langs ul li a:hover {
		
	}

	header div.subnavi .shopping {
		display: flex;
		justify-content: flex-end;
		margin-top: 20px;
	}

	header div.subnavi .shopping ul {
		margin-top: 0;
		margin-bottom: 0;
	}

	header div.subnavi .shopping ul li {
		text-align: right;
		padding-right: 10px;
	}

	header div.subnavi .shopping a:hover {
		color: black;
		opacity: .4;
	}
}

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

@media (min-width:992px) {
	
	.haschild {
		position: relative;
	}
	.haschild ul {
		display: none;
		position: absolute;
		
	}
	.aboutusenus ul {
		left:80px;
	}
	.onlineenus ul {
		left:100px;
	}
	.aboutusjajp ul {
		left:100px;
	}
	.onlinejajp ul {
		left:130px;
	}
	.haschild ul li {
		padding-left: 10px;
	}
	.haschild ul li a:hover {
		opacity: 1;
		color: #661403;
	}
	
	.haschild:hover ul {
		display: flex;

	}
}


	/* .header */


/* incsub. */
.width992 {
	margin:0 auto;
	max-width: 1680px;
	width:80%;
}
@media (min-width:992px) {
	.width992 {
		width:calc(100% - 170px);
	}
}

.incsub {
	margin-top: 3em;
	display: flex;
	flex-direction: column;
}
.incsub nav {
	flex-basis: 50%;
	display: none;
}
.incsub .contents {
	flex-basis: 50%;
}
.incsub nav ul {
	margin-top:0;
	padding-left: 0;
	list-style: none;
	
}
.incsub nav li {
	padding:0 0 3em 0;
	
	
}
.incsub nav li a {
	
	color:rgba(0,0,0,0.4);
	
}
.incsub nav li a:hover {
	color:rgba(0,0,0,1);
}
.incsub nav li a.selected {
	color: rgba(0,0,0,1);
}

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

}

@media (min-width: 992px) {
	.incsub {
		margin-top: 8.5em;
		display: flex;
		flex-direction: column;
	}
	/* lightgoldenrodyellow; */
	.incsub {
		flex-direction:row;
	}
	.incsub nav {
		display:block;
	}
	/* .incsub nav {
		position: relative;
	}
	.incsub nav ul {
		position: fixed;
	} */
}

@media (min-width: 992px) {
	/* lightpink */
}

@media (min-width: 1200px) {
	/* lightskyblue */
}
.contents h1 {				
	font-size: 2.2rem;
	padding:1em 0;	
}
/* .incsub */


/* footer. */

		
.footer {
	margin-top: 65px;
	padding-top: 65px;
	padding-bottom: 30px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	
}
.footer ul {
	list-style: none;
	padding-left: 0;
	margin:0;
}
.footer ul li {
	font-size: 1.1rem;
	
	padding:5px 0;
}
.footer div.langs {
	flex-basis: 30%;
	
	margin:0;
	padding:0;
	
}
.footer div.navs {
	flex-basis: 70%;
	
	
}
.footer div.navs ul li {
	text-align: right;
}
.footer div.navs ul li a:hover {
	color: black;
	opacity: .4;
}
@media (min-width: 576px) {
	.footer .langs ul {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		
		width: 142px;
	}
}
@media (min-width: 768px) {
	
	.footer .navs ul {
		display: flex;
		justify-content: flex-end;
		flex-wrap: wrap;
		max-width: 500px;
		/* padding-left: 0; */
		margin-left: auto;
		margin-right: 0;
		/* flex-direction: column; */
		
	}
	.footer .navs ul li {
		flex-basis: 50%;
		
	}
}

@media (min-width: 992px) {
	.footer ul li {
		font-size: 1.4rem;
	}
}
@media (min-width: 1200px) {

}

/* .footer */
/* backtotop. */
.backtotop {
	overflow: hidden;
	position: relative;
	

	padding-top: 10px;	
}
.backtotop .svg {
	position: relative;
	margin-left: calc(100% - 500px);
	
	width: 600px;
	height: 54px;
	
}

.backtotop p.linkbacktotop {
	position: absolute;
	bottom: 20px;
	display:  block;
	color: #fff;
	margin: 0 auto;
	width: 100%;
	text-align: center;
}
.backtotop p a {
	color: #fff;
	font-size: 1.2rem;
}
.backtotop svg {
	transform: translateY(12px) scaleY(0);
}
.st4{
	fill:#661403;
}					
@media (min-width: 576px) {
	.backtotop .svg {
		margin-left: 0%;		
	}
}

@media (min-width: 768px) {
	.backtotop .svg {
		position: relative;
		margin-left: 10%;
		width: 600px;
		height: 54px;	
	}
	.backtotop svg {
		transform: translateY(24px) scaleY(0);
	}
	.backtotop p.linkbacktotop {
		bottom: 10px;
	}
}

@media (min-width: 992px) {
	
}

@media (min-width: 1200px) {
	
}
/* .backtotop */

.bodybox {
	font-family: minerva-modern, "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", san-serif;
	width: 100%;
	color: #000;
	font-size: 1.6rem;
	line-height: 1.44;
	letter-spacing: 0.04em;
	/* color: red; */
	
}
@media (min-width: 576px) {
	/* lightcyan; */
	.bodybox {
		font-size: 1.6rem;
		line-height: 1.44;
	}
}

@media (min-width: 768px) {
	/* lightgoldenrodyellow; */
	.bodybox {
		font-size: 1.6rem;
		line-height: 1.44;
		letter-spacing: 0.04em;
	}
}

@media (min-width: 992px) {
	/* lightpink */
	/* .bodybox {
		font-size: 1.5rem;
		line-height: 1.7;
	} */
}

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

.popupbox {
	display: none;
}



.headermsgbar {
	display: none;
}
.headermsgbar.showmsg {
	position: relative;
	padding:10px 5px 10px 10%;
	/* padding-left: 10%; */
	display:flex;
	background:rgba(93,27,12,1);
	color:#E4DED7;
	justify-content: space-between;
	align-items: center;
	z-index: 999;
}
.headermsgbar .dflex {
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.headermsgbar .msg {
	padding-right:5px;
	font-size: 1.4rem;
}
.headermsgbar .link {
	padding-left:5px;
	font-size: 1rem;
}
@media (min-width:576px) {
	.headermsgbar::before {
		content: '';
		width:40px;
	}
	.headermsgbar.showmsg {
		padding:10px 5px 10px 0;
		/* padding-left: 0; */
	}
	.headermsgbar .msg {
		font-size: 1.4rem;
		padding-right: 10px;
	}
	.headermsgbar .link {
		font-size: 1.2rem;
		padding-left:10px;
	}
	.headermsgbar .dflex{
		min-width:310px;
	}	
}


.headermsgbar .dflex p {
	
	box-sizing: border-box;

}
.headermsgbar a {
	text-align: right;
	color: #E4DED7;
	border-bottom: solid 1px #E4DED7;
}
.msgexitbox {
	padding: 5px;
	cursor: pointer;
}
.msgexit {
	display: block;
	width: 30px;
	height: 30px;
	position: relative;
	margin-left: auto;
	margin-top:0;
	margin-right: 0;
	
}
.msgexit::before {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #E4DED7;
	transform: rotate(315deg);
	transform-origin:   0% 50%;
	position: absolute;
	top: 24px;
	left:3px;
	
}
.msgexit::after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #E4DED7;
	transform: rotate(-315deg);
	transform-origin: 100% 50%;
	position: absolute;
	top: 24px;
	left: -5px;
	
}