@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 */


.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%;
	}
	header nav ul::-webkit-scrollbar {
		/* Chrome, Safari 対応 */
		display:none;
	}
	header nav ul li {
		padding: 1em 0;
	}
	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 */

	/* close 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%;
	}
	/* .close btn */

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

	@media (min-width: 768px) {
		
		/* lightgoldenrodyellow; */
		
		header li {
			font-size: 1.5rem;
			
		}
	}

	@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;
		}

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

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


	/* .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 */