* {
	margin:0;
	padding:0;
	box-sizing:border-box;
	font-size:14px;
}

/* --------------------------
基本サイズ14px
表示したいサイズ	指定する値
10px	72%
11px	79%
12px	86%
13px	93%
14px	100%
15px	108%
16px	115%
17px	122%
18px	129%
19px	136%
20px	143%
21px	150%
22px	158%
23px	165%
24px	172%
25px	179%
26px	186%
--------------------*/
#wrap,
section,
.inner {
	width:100%;
	position:relative;
	overflow:hidden;
}

#wrap {
	opacity:0;
	transition:all 2s;
}

.display_on {
	opacity:1!important;
}

ul {
	list-style:none;
}

a {
	text-decoration:none;
	color:#000;
}

img {
	max-width:100%;
	vertical-align:bottom;
}

h1,h2,h3,h4,h5,dt,dd,li,p,a,span {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}

.vollkorn,
nav ul li a,
.lang_en {
	font-family: 'Vollkorn', serif;
	font-weight:400;
	letter-spacing:0.03em;
}

.lang_ja {
	/*font-family: 'Sawarabi Mincho', sans-serif;*/
	font-family: "Yu Mincho", "YuMincho", serif;
	font-weight:700;
}

.d_flex {
	display:flex;
	display:-webkit-flex;
  	display:-ms-flexbox;
}

.d_none,
.sp_none,
.snavbtn,
.sbanner,
.sh1 {
	display:none;
}


.gray {
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
	transition:all .5s;
}

.gray:hover,
.full_color {
	-webkit-filter: grayscale(0%);
	-moz-filter: grayscale(0%);
	-ms-filter: grayscale(0%);
	-o-filter: grayscale(0%);
	filter: grayscale(0%);
}

p {
	line-height:1.5em;
}

.tex_ce {
	text-align: center;
}

/* ---------  header ------------ */

header {
	width:100%;
	margin : 0 auto;
	position:fixed;
	top:0;
	left:0;
	z-index:99;
	padding-top:8px;
	transition:all .4s;
}

header .inner.d_flex {
	max-width:1048px;
	min-width:900px;
	width:100%;
	margin: 0 auto;
	align-items:flex-start;
	justify-content:flex-start;
	overflow:inherit;

}

h1#h_logo {
    margin: 0 20px;
	text-align:center;
}

.btn {
	width:240px;
/*	padding:1em; */
	text-align:center;
	margin:0 auto;
}
.btn a {
	display:block;
	width:240px;
	font-size:115%;
	padding:0.8em 1.5em;
	color:#000;
	border:1px solid #ddd;
	transition:all 0.3s;
	overflow:hidden;
	position:relative;
}

@media screen and (min-width:769px){

.btn a::before {
  position: absolute;
  top: -2px;
  left: 0;
  z-index: -1;
  content: '';
  background:#b8860b;
/*  background: #5d0c0c; */
/*  background: #f31717; */
  transform-origin: right top;
  transform: skewX(0deg) scale(0, 1);
  transition: transform .4s;
	width:130%;
	height:110%;
}

.btn a:hover {
	color:#fff;
/*	border:1px solid #f31717; */
	border:1px soild #b8860b;
}

.btn a:hover::before {
	transform-origin:left top;
	transform: skewX(0deg) scale(1,1);
}

}


/* ---------  Nav ------------ */

nav {
	width:100%;
	position:relative;
	margin-top:2%;
}

@media screen and (min-width:769px){
	nav {
		display:block!important;
	}
}


nav ul.d_flex {
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
	justify-content:space-around;
	padding: 8px 0;
}

nav ul li {
	text-align:center;
	line-height: 1.5em;
}

nav ul li.hover_ac {
	position:relative;
}

nav ul li a {
	color:#fff;
	font-size:115%;
	transition:all 0.6s;

}

nav ul:hover > li:not(:last-child) a {
	opacity:0.4;
}

nav ul:hover > li a:hover,
.opa1 {
	opacity:1!important;
}


nav span.lang_ja {
	/*font-size:72%;*/
	font-size:93%;
}

nav ul li#nav_list_last a {
	display:block;
	width:144px;
	padding:0.5em 1em;
	background:#f31717;
	margin-top:-0.5em;

}

ul#shop_list {
	display:none;
	width:180px;
	background:#000;
	padding:1em 1.5em;
	margin-top:1em;
	position:absolute;
	top:3em;
	left:0;
}

@media screen and (min-width:769px){

nav ul li a {
	cursor:url('../images/cursor_zou.cur'), pointer;
}
}

/* --------- shop list ------------ */


ul#shop_list li {
	padding-left:1.2em;
	position:relative;
	text-align:left;
}

ul#shop_list li::before {
    width: 1em;
    height: 1em;
    display: block;
    content: ">";
    position: absolute;
    top: 4px;
    left: 0;
    bottom: 60%;
    margin: auto;
	color:#fff;
	font-size:79%;
	transition:all 0.5s;

}

ul#shop_list li a {
    font-size: 100%;
    line-height: 2em;
	transition:all 0.5s;
	position:relative;
	opacity:1!important;

}
ul#shop_list li a::after {
    width: 0%;
    height: 1px;
    display: block;
    content: "";
    position: absolute;
    left: 0;
    bottom: 1%;
	background:#e6b00e;
	transition:all 0.5s;

}

ul#shop_list li a:hover,
ul#shop_list li:hover::before {
	color:#e6b00e;
}

ul#shop_list li a:hover::after {
	width:100%;
}


/* ---------  footer ------------ */

footer {
	width:100%;
	position:relative;
	overflow:hidden;
/*	background:#993c13; */
	background:#b8860b;
}

footer::after {
	display:block;
	content:"";
	width:30vw;
	height:30vw;
	max-width:480px;
	max-height:480px;
	background:url(../images/bg_footer01.png) no-repeat top center;
	background-size:cover;
	position:absolute;
	bottom:-4%;
	right:-2%;
	margin:auto;
	z-index:0;
}

footer .inner {
	max-width:960px;
	margin:0 auto;
	padding:40px 20px 0 20px;
}

#f_logo {
    width: 24%;
    max-width: 214px;
}

.f_block {
    width: 70%;
    padding-left: 4%;
	position:relative;
	z-index:3;
}

h2.f_btn_detail {
    width: 50%;

}

h2.f_btn_detail:nth-of-type(1) {
    margin-right: 2em;
}

h2.f_btn_detail a {
	display:block;
	width:100%;
    padding: 0.8em 0 0.8em 6em;
	line-height:1.2em;
	color:#993c13;
    background: #fff;
	position:relative;
	transition:all 0.5s;
}

h2.f_btn_detail a:hover {
	opacity:0.7;
}

h2.f_btn_detail a::after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 10%;
    bottom: 0;
    margin: auto;
	transition:all 0.5s;
}

h2.f_btn_detail:nth-of-type(1) a::after {
    width: 42px;
    height: 42px;
	background:url(../images/bg_fone.png) no-repeat;
	background-size:cover;
}

h2.f_btn_detail:nth-of-type(2) a::after {
    width: 44px;
    height: 26px;
	background:url(../images/bg_coupon.png) no-repeat;
	background-size:cover;
}

/* ---- footer Nav ---- */

ul.f_menu {
    margin: 20px auto 0 auto;
    padding: 0 0 0 2em;
    width: 100%;
	flex-wrap:wrap;
}

ul.f_menu:nth-of-type(2) {
	margin:0 auto;
	align-items:center;
	-webkit-align-items:center;
}

ul.f_menu li {
	margin-right:2em;
	margin-top:0.5em;
}

ul.f_menu li a{
    color: #fff;
    padding: 0 0 0 1em;
    position: relative;
	transition:all .4s;
}

ul.f_menu li a::before {
    width: 1em;
    height: 1em;
    display: block;
    content: ">";
    position: absolute;
    top: 0;
    left: 0%;
    bottom: 40%;
    margin: auto;
	transition:all 0.5s;
	color:#fff;
	font-size:79%;
}

ul.f_menu li a::after {
    width: 0px;
    height: 1px;
    display: block;
    content: "";
    position: absolute;
    left: 0%;
    bottom: -4%;
    margin: auto;
	transition:all 0.4s;
	background:#fff;
}

ul.f_menu li a:hover::after {
	width:100%;
}

ul.f_menu li a.line_btn::before,
ul.f_menu li a.line_btn::after {
	display:none;
}

ul.f_menu li a.youtube_btn img {
	width:120px;
}

ul.icon_list {
	align-items:center;
	-webkit-align-items:center;
	margin-bottom:2em;
}

ul.f_menu.icon_list li {
	margin-top:0;
}

ul.f_menu.icon_list li a {
	padding:0;
}


.f_block h3.lang_en {
    color: #fff;
    font-size: 115%;
	margin-top:1em;
}

.copyright {
    color: #fff;
    text-align: center;
    margin: 0 auto;
    padding: 20px;
}

.copyright small {
	font-size:86%;
}
/* ---------  footer ここまで ------------ */


/* ------------------- Pagetop --------------*/

#pagetop {
	position:fixed;
	bottom:20px;
	right:10px;
/*	background:#000; */
	z-index:999;
	text-align:center;
/*	color:#fff; */
	padding:0.5em 2em;
	transition:all .4s;
}

#pagetop p {
	transition:all 0.5s;
	border-top:1px solid #000;
	font-style:italic;
	padding-top:0.2em;
	font-size:129%;

}



@media screen and (min-width:769px){

#pagetop:hover {
 /*	cursor:default; */
	cursor:pointer;
	transform:translate(0px,-10px);
}

}

/* ---------  Scroll Fadein --------- */

@media screen and (min-width:769px){

.fadein {
    opacity : 0;
    transform : translate(-50px,0);
    transition : all 0.4s;
}
.rightin {
	opacity:0;
	transform:translate(50px,0);
	transition:all 0.4s;
}

.bottomin {
	opacity:0;
	transform:translate(0,50px);
	transition:all 0.4s;
}

.delay2 {
	transition-delay:0.3s;
}
.delay3 {
	transition-delay:0.6s;
}
.delay4 {
	transition-delay:0.9s;
}

.delay5 {
	transition-delay:1.2s;
}




.fadein.scrollin ,
.rightin.scrollin,
.bottomin.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}

}

/* ---------  ver.SmartPhone ------------ */

@media screen and (max-width:768px){

h2,h3,h4,h5,p,.video_list ul li {
	line-height:1.5em;
}

.lang_ja {
	font-family: 'Sawarabi Mincho', sans-serif;
	font-weight:400;
}



.sp_none {
	display:block;
}



/* --- Nav Botton --- */
.snavbtn {
	display:block;
	width:40px;
	height:40px;
	background:#b8860b;
	position:fixed;
	/*top:2%;*/
	top:8px;
	right:14px;
	z-index:99;
}

.snavbtn span {
	display:block;
	width:24px;
	height:1px;
	background:#fff;
	transition:all 0.7s;
	margin-left:auto;
	margin-right:auto;
}

.snavbtn span:first-child {
	margin-top:10px;
}

.snavbtn span:not(:last-child) {
	margin-bottom:8px;
}

.snavbtn span:last-child {
	margin-bottom:9px;
}

.snavbtn span.bnone {
	opacity:0;
}

.snavbtn span.lineup {
	transform:translate(0px, 8px) rotate(45deg);
}

.snavbtn span.linedown {
	transform:translate(0px, -10px) rotate(-45deg);
}


/* --- ここまで　Nav Botton --- */

/* --- header --- */

header {
	position:fixed;
	top:0;
	left:0;
	min-width:100%;
	background:#b8860b!important;
	padding:0;
	z-index:1000;
	height:54px!important;
}

header .inner.d_flex {
	display:block;
	min-width:100%;
}

header h1#h_logo {
	text-align:left;
	line-height:54px;
	margin-left:1em;
}

header h1#h_logo img {
	width:42px!important;
	min-width:42px!important;
	vertical-align: middle;
}

header h1#h_logo strong {
	display:inline;
	color:#fff;
	padding-left:1em;
	letter-spacing:-0.05em;
}

/* --- header fin --- */

/* --- nav --- */


.snavbtn {
	display:block!important;
}



nav {
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100vw;
	height:100vh;
	background:#b8860b;
	margin-top:0px!important;
}

nav ul.d_flex {
	display:block;
	padding:54px 0 0 0 ;
}

nav ul li {
	text-align:left;
	border-bottom:1px solid #fff;
}

nav ul li:first-of-type {
	border-top:1px solid #fff;
}


nav ul li a {
	line-height:2.5em;
	padding-left:2em;
	display:block;
}
/*
nav ul li:first-of-type a span {
	padding-right:1em;
	position:relative;
}

nav ul li:first-of-type a span::after {
	content:"";
	display:block;
	border-top: 6px solid #fff;
	border-right: 6px solid transparent;
	border-bottom:6px solid transparent;
	border-left: 6px solid transparent;
	position:absolute;
	top:30%;
	right:0;
	bottom:0;
	margin:auto;
}
*/

nav ul li br {
	display:none;
}

nav ul li span.lang_ja {
	margin-left:1em;
}

nav ul li#nav_list_last a {
    background: none;
    padding: 0;
    margin: 0;
    display: inline;
	padding-left:2em;
}

ul#shop_list {
	display: block;
	width:100%;
    position: relative;
    top: 0;
    left: 0;
    margin: 0;
    background: none;
	padding:0 0 1em 0;
}

ul#shop_list li {
	border:none;
}

ul#shop_list li a {
	line-height:2.5em;
}

.sbanner {
	display:block;
	width:60%;
	margin:20px auto;
	text-align:center;
}

.sbanner a img {
	border:1px solid #fff;
}

ul#shop_list li::before,
ul#shop_list li a::after {
	display:none;
}

@media screen and (max-width:500px){

.sbanner {
	width:80%;
}
}


/* --- nav fin --- */

/* --- footer --- */

footer .inner {
	flex-wrap:wrap;
	flex-direction: column-reverse;
}

#f_logo {
	width:100%;
	margin:20px auto;
}

.f_block {
	display:flex;
	display: -webkit-flex;
	flex-wrap:wrap;
	-webkit-flex-wrap: wrap;
	width:100%;
	padding:0;
}

.f_btn,
h2.f_btn_detail {
	width:100%;
}

.f_btn {
	display:flex;
	display: -webkit-flex;
	flex-wrap:wrap;
	-webkit-flex-wrap: wrap;
}

h2.f_btn_detail:nth-of-type(1) {
	margin:0px auto 20px auto;
}

h2.f_btn_detail a {
	/*padding:0.8em 20% 0.8em 38%;*/
	padding:0.8em 1em;
	text-align:center;
}

ul.f_menu li {
	margin-top:0.8em;
}

ul.f_menu.icon_list li  {
	margin-bottom:1.2em;
}


/* --- footer fin --- */

}

/* ---------  ver.SmartPhone fin ------------ */


