@charset "utf-8";
html {
	min-width: 1100px; /* viewport */
}
/*=============================================
 * body
 *=============================================*/
@font-face {
	font-family: "Noto Sans JP";
	src: url(../font/NotoSansCJKjp-Medium.otf);
}
@font-face {
	font-family: "AGaramondPro";
	src: url(../font/AGaramondPro-Bold.otf);
}
@font-face {
	font-family: "TrajanPro";
	src: url(../font/TrajanPro-Bold.otf);
}
body {
	min-width: inherit;
	max-height: 100%;
	color: #000;
	font-family: "Noto Sans JP";
	font-size: 15px;
	line-height: 31px;
	cursor: auto;
	letter-spacing: 0;
	word-spacing: normal;
	background: #000;
}
.navOpen {
	overflow-y: hidden;
	height: 100vh;
	-webkit-overflow-scrolling: touch;
}
body.navOpen, body.navOpen *, body.navOpen *:hover, body.navOpen *:focus, body.navOpen *:active {
	/* cursor: none !important; */
	touch-action: none !important;
	pointer-events: none !important;
}
body.navOpen .hamburger, body.navOpen #menu_toggle, body.navOpen #menu_toggle * {
	touch-action: auto !important;
	pointer-events: visible !important;
}
main {
	clear: both;
	width: 100%;
	position: relative;
	overflow: hidden;
}
/*=============================================
 * font-custom
 *=============================================*/

/*=============================================
 * header
 *=============================================*/
header {
	position: relative;
}
header #hd_top {
	z-index: 99;
	position: relative;
}
header h1 {
	font-size: 13px;
	line-height: 20px;
	color: #6a6a6a;
	position: absolute;
	top: 24px;
	left: 0;
}
header #logo {
	position: absolute;
	z-index: 999991;
	top: 28px;
	right: 0;
}
#header #belt {
	background: #000;
	z-index: 999;
}
header .nav-fixed {
	position: relative;
	z-index: 100;
	padding: 21px 0 19px;
	transition: all 0.5s ease;
	text-align: center;
}
header .nav-fixed.fixed {
	pointer-events: auto;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	opacity:1;
}
header .nav-fixed > * {
	display: inline-block;
	vertical-align: top;
}
header .nav-fixed p {
	padding-right: 60px;
}
header .nav-fixed nav a {
	display: inline-block;
}
header .nav-fixed nav a + a {
	margin-left: 22px;
	padding-left: 25px;
	background: url(../img/shared/nav-line.png) repeat-y left top;
}
/*====================== nav ====================== */

header .topnavi {
	position: absolute;
	top: 30px;
	right: 86px;
	height: 56px;
}
header .menu_toggle {
	background: rgba(0,0,0,0.85);
	display: none;
}
header .menu_toggle li a:hover {
	text-decoration: none;
}
header .menu_toggle li a[class^="icon-"]:before {
	display: block;
	width: 100%;
	padding-bottom: 3px;
	font-size: 20px;
	font-weight: normal;
}
header .menu_toggle dl dd a::before {
	content: '\f101';
	font-family: "fontello";
	font-style: normal;
	font-weight: normal;
	position: absolute;
	line-height: 16px;
	top: 50%;
	left: 10px;
	margin-top: -10px;
	padding: 0 3px;
	color: #FFF;
	font-size: 13px;
	background: #e28d08;
}
header .menu_toggle .toggle.active .toggle-link:after {
	color: #FFF;
}
header .menu_toggle .toggle-link {
	padding-bottom: 10px;
}
header .menu_toggle .toggle .toggle-link:after {
	color: #FFF;
	right: 48%;
}
.hamburger {
	z-index: 999;
	position: absolute;
	top: 0;
	right: 2.5%;
	display: none !important;
}
.hamburger:after {
	font-size: 11px;
	content: 'MENU';
	position: absolute;
	bottom: -5px;
	left: 0;
	right: 0;
	text-align: center;
	color: #ffdea5;
	font-family: "AGaramondPro";
}
header .menu_toggle .box {
	background:url(../img/shared/sp-bnr-bg.png) no-repeat center top;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	padding:5% 3%;	
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}
header .menu_toggle .box h3 {
	width: 40%;
	margin:0 auto;	
}
header .menu_toggle .box ul {
	padding:0;	
}
header .menu_toggle .box ul li {
	float: left;
	width: 16.6%;
}
.viewsp {
	display: none;
}
.nav-right {
	position: fixed;
	top: 80px;
	right: 19px;
	z-index:100;
}
.nav-right  li {
	margin-bottom: 11px;	
}
/*====================== end nav ====================== */

/*====================== header key ====================== */

header #key {
}
/*====================== end key ====================== */

/*====================== bxSlider ====================== */
.bx-wrapper {
	position: relative;
}
.bx-controls.bx-has-pager.bx-has-controls-direction {
	position: absolute;
	bottom: -51px;
	right: 0;
	left: 0;
	text-align: center;
}
.bx-wrapper .bx-pager {
	color: #000;
	font-family: Arial;
	font-size: 0.85em;
	font-weight: bold;
	text-align: center;
}
.bx-wrapper .bx-pager, .bx-wrapper .bx-controls-auto {
	line-height: 10px;
	padding-top: 10px;
	width: 100%;
	z-index: 999;
}
.bx-controls-direction {
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	top: 0;
	width: 160px;
	z-index: 999;
}
.bx-wrapper .bx-controls-direction a {
	color: #825222;
	font-family: "fontello";
	font-size: 35px;
	line-height: 35px;
	width: 35px;
	outline: 0 none;
	position: absolute;
	text-indent: -9999px;
	top: 0%;
	text-align: center;
	z-index: 99;
	display: block;
}
.bx-prev::after {
	content: "";
	left: 10px;
	position: absolute;
	text-indent: 0;
	top: -1px;
	z-index: 9999;
}
.bx-next::after {
	content: "";
	left: 13px;
	position: absolute;
	text-indent: 0;
	top: -1px;
}
.bx-prev {
	position: absolute;
	top: 0;
	left: 0;
}
.bx-next {
	position: absolute;
	top: 0;
	right: 0;
}
.bx-wrapper .bx-pager .bx-pager-item, .bx-wrapper .bx-controls-auto .bx-controls-auto-item {
	display: inline-block;
}
.bx-wrapper .bx-pager.bx-default-pager a {
	border: 1px solid #825222;
	display: block;
	height: 15px;
	margin: 0 5px;
	outline: 0 none;
	text-indent: -9999px;
	width: 15px;
	box-sizing: border-box;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover, .bx-wrapper .bx-pager.bx-default-pager a.active {
	background-color: #825222;
}
/*====================== end bxSlider ====================== */

/*=============================================*/
/*                   　footer　　　　　          */
/*=============================================*/


footer {
	position: relative;
	z-index: 10;
	color: #fff;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 1.4px;
	background: #000;
	text-align: center;
}
footer * {
	transition: all 0.3s ease;
}
footer .logo {
	padding: 21px 0 25px;
}
footer nav a {
	display: inline-block;
	position: relative;
}
footer nav a + a {
	padding-left: 23px;
	margin-left: 24px;
}
footer nav a + a:before {
	position: absolute;
	left: 0;
	top: 0;
	content: '|';
}
footer address {
	line-height: 18px;
	padding: 26px 0 45px;
}
footer .bnr {
	position: absolute;
	bottom: 1px;
	right: -98px;
}
footer .bnr:after {
	content: url(../img/shared/footer-icon.png);
	padding-left: 7px;
}
footer #pagetop {
	position: absolute;
	top: 0;
	right: -100px;
}
/*=============================================*/
/*                   　custom　　　　　          */
/*=============================================*/
.fl {
	float: left;
}
.fr {
	float: right;
}
.slick-list, .slick-slider, .slick-track {
	position: relative;
	display: block
}
.slick-loading .slick-slide, .slick-loading .slick-track {
	visibility: hidden
}
.slick-slider {
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent
}
.slick-list {
	overflow: hidden;
	margin: 0;
	padding: 0
}
.slick-list:focus {
	outline: 0
}
.slick-list.dragging {
	cursor: pointer;
	cursor: hand
}
.slick-slider .slick-list, .slick-slider .slick-track {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0)
}
.slick-track {
	top: 0;
	left: 0;
	margin-left: auto;
	margin-right: auto
}
.slick-track:after, .slick-track:before {
	display: table;
	content: ''
}
.slick-track:after {
	clear: both
}
.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px
}
[dir=rtl] .slick-slide {
	float: right
}
.slick-slide img {
	display: block
}
.slick-slide.slick-loading img {
	display: none
}
.slick-slide.dragging img {
	pointer-events: none
}
.slick-initialized .slick-slide {
	display: block
}
.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent
}
.slick-arrow.slick-hidden {
	display: none
}
/* Arrows */
.slick-prev, .slick-next {
	font-size: 0;
	line-height: 0;
	position: absolute;
	top: 50%;
	display: block;
	width: 65px;
	height: 65px;
	padding: 0;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
	cursor: pointer;
	color: transparent;
	border: none;
	outline: none;
	background: transparent;
	z-index: 99;
}
.slick-prev {
	left: -30px;
	background: url(../img/index/sec3-bnr1.png) no-repeat center top;
}
.slick-next {
	background: url(../img/index/sec3-bnr2.png) no-repeat center top;
	right: -30px;
}
.text_c {
	text-align:center;	
}
.animatedModal {
	background: rgba(0,0,0,.8)!important
}
.close-animatedModal {
	text-align: right;
	margin: 10px 2% 10px 0
}

@media screen and (max-width: 1400px) {
header #belt {
	padding: 0 2.5%;
	transition: all 0.5s ease;
	position: fixed;
}
header #belt img {
	max-width: 100%;
	height: auto;
}
header .nav-fixed p {
	padding: 20px 0;
}
header .nav-fixed nav {
	padding: 20px 0 20px 20px;
}
header .nav-fixed nav a + a {
	margin-left: 20px;
	padding-left: 23px;
}
}

@media screen and (max-width: 1320px) {
header .nav-fixed p {
	padding: 15px 0;
}
header .nav-fixed nav {
	padding: 0 0 15px 0;
}
footer .bnr, footer #pagetop {
	right: 0;
}
}

@media screen and (max-width: 767px) {
body {
	font-size: 14px;
	line-height: 26px;
}
.navOpen #header #belt {
	opacity: 1 !important;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
}
header .nav-fixed nav {
	display: none;
}
header .nav-fixed {
	text-align: left;
	opacity:0;
}
header .nav-fixed p {
	width: 45%;
}
.hamburger {
	display: block !important;
}
.viewsp {
	display: block;
}
.viewpc {
	display: none;
}
html {
	min-width: auto;
}
.wrap {
	width: auto;
}
.fl, .fr {
	float: none;
}
header h1 {
	font-size: 10px;
	left: 2.5%;
	top: 15px;
}
body.navOpen header .menu_toggle {
	display: block !important;
}
footer {
	padding-top: 5%;
}
footer .logo {
	float: none;
	width: 50%;
	padding: 0 0 5%;
}
footer .bnr {
	bottom: inherit;
	top: 33%;
	right: 7.5%;
}
footer #pagetop {
    top: -11%;
    right: 2.5%;
    width: 45px;
}
footer nav a {
	padding: 0 0 3% 0;
}
footer nav a + a {
	padding-left: 5%;
	margin-left: 4%;
}
footer nav a:nth-child(4) {
	padding: 0;
	margin: 0;
}
footer nav a:nth-child(4):before {
	display: none;
}
footer address {
	padding: 5% 0;
	font-size: 10px;
	letter-spacing: 0.5px;
}
.slick-prev, .slick-next {
	width: 20px;
	height: 50px;
	-webkit-background-size: 100% auto !important;
	background-size: 100% auto !important;
}
.slick-next {
	right: 10px;
}
.slick-prev {
	left: 10px;
}
.nav-right {
	display:none;	
}
.mb3 {
	display:block;	
}
}
@media screen and (max-width: 320px) {
body {
	font-size: 13px;
	line-height: 22px;
}
}




.hamburger:after {
	bottom: -3px;
}
.hamburger-box {
	top: -5px;
}