@charset "UTF-8";
html{color:#000;background:#FFF}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td,figure,figcaption{margin:0;padding:0}
table{border-collapse:collapse;border-spacing:0}
fieldset,img{border:0}
caption,th{text-align:left}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}
article,aside,details,figcaption,figure,footer,header,hgroup,nav,section { display: block }
caption { text-align: left; }
img { vertical-align: top; }
html {font-size: 100%;-webkit-text-size-adjust: 100%;-ms-text-size-adjust: 100%;}
main {display: block;/* for IE */}
abbr,acronym{border:0;font-variant:normal}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}
input,textarea,select{font-size:100%}
input,button,textarea,select {font-size: 100%;font-family: inherit;color: inherit;}
input[type="checkbox"],input[type="radio"] {box-sizing: border-box;padding: 0;}
input[type="button"],input[type="submit"] {border-radius: 0;-webkit-appearance: none;}
textarea {overflow: auto;vertical-align: top;}
li { list-style: none; }

/*==================================================
Body_Bace
==================================================*/
html { overflow:auto; -webkit-overflow-scrolling: touch;}
body {
	width: 100%;
	font-size: 14px;
	color: #333;
	/* min-width: 1050px; */
	letter-spacing: 0.04em;
	background: #fff;
	font-family: 'Noto Sans',"ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, sans-serif;
	word-wrap: break-word;
	-webkit-overflow-scrolling: touch;
}
#wrapper { position: relative; }
img { border: none; outline: none;}
.viewSp { display: none; }
.viewPc { display: inline-block; }

.inner {
	width: 1000px;
	margin: 0 auto;
}

/* link
---------------------------------*/
.header a,
#footer a {
	text-decoration: none;
	transition: all .3s;
}

@media screen and (max-width: 768px) {
	body {
		min-width: 0; -webkit-text-size-adjust: none; overflow-x: hidden;
	}
	img {
		max-width: 100%; width : auto; height: auto;
	}
	.viewSp {display: block; }
	.viewPc { display: none; }
	
	.inner {
		width: 100%;
		margin: 0 auto;
		box-sizing: border-box;
	}
}
@media screen and (max-width: 360px) {
	body {
		font-size: 13px;
	}
}


/* txtBase --- small */
 @media screen and (max-width: 640px) {
	.home #news .txt,
	.home #cont01 p {
		font-size: 13px;
	}
}
@media screen and (max-width: 480px) {
	.home #news .txt,
	.home #cont01 p {
		font-size: 12px;
	}
}
@media screen and (max-width: 415px) {
	.home #news .txt,
	.home #cont01 p {
		font-size: 11px;
	}
}


/*==================================================
#Header
==================================================*/
#header {
	overflow: hidden;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100px;
	z-index: 5000;
	background: #1d1e20;
}
.header {
	height: 100%;
	padding: 0 25px;
}
.header a {
	color: #fff;
}
.header h1 {
	padding: 25px 0;
	float: left;
}
.header h1 a {
	overflow: hidden;
	display:block;
	position: relative;
	width: 259px;
	height: 46px;
	white-space: nowrap;
	text-indent: 100%;
	background: url(../img/logo.png) no-repeat;
	background-size: contain;
}
.header h1 a:hover {
	opacity: 0.7;
}

	@media screen and (max-width: 1050px) {
		.header {
			position: relative;
		}
	}
	@media screen and (max-width: 768px) {
		#header {
			height: 60px;
		}
		.header {
			padding: 0 4.6875%;
		}
		.header h1 {
			padding: 17px 0;
		}
		.header h1 a {
			width: 150px;
			height: 46px;
			background: url(../img/logo_sp.png) no-repeat;
			background-size: contain;
		}
	}
	
	
/*gnav
---------------------------------------------------- */
.header .btn_menu {
	display: none;
	overflow: hidden;
	position: absolute;
	top: 50%;
	right: 25px;
	width: 39px;
	height: 27px;
	white-space: nowrap;
	text-indent: 100%;
	background: url(../img/btn_menu.png) no-repeat;
	background-size: contain;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
#gnav {
	float: right;
}
.gnav li {
	float: left;
	padding: 0 0 0 35px;
	line-height: 120%;
}
.gnav li a {
	display: block;
	padding: 35px 0;
	font-size: 11px;
}
.gnav li a:hover,
.gnav li a.current {
	color: #5eb445;
}
.gnav li a span {
	display: block;
	font-size: 14px;
	font-family: 'AvenirNextLTPro-Demi',sans-serif;
	letter-spacing: 0.2em;
}
.gnav li:last-child a span {
	letter-spacing: 0.1em;
}
.gnav li:last-child {
	margin: 0 0 0 35px;
	border-left: 1px solid #454545;
}
.gnav li:last-child a {
	position: relative;
	padding-left: 37px;
}
.gnav li:last-child a:before {
	position: absolute;
	top: 50%;
	left: 0;
	overflow: hidden;
	display:block;
	width: 28px;
	height: 28px;
	content: "";
	background: url(../img/icn_bag.png) no-repeat;
	background-size: contain;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

	@media screen and (max-width: 1050px) {
		.header .btn_menu {
			display: block;
		}
		#gnav {
			display: none;
		}
	}
	@media screen and (max-width: 768px) {
		.header .btn_menu {
			width: 27px;
			height: 20px;
			background: url(../img/btn_menu_sp.png) no-repeat;
			background-size: contain;
		}
	}


/*==================================================
#breadcrumb
==================================================*/
.breadcrumb {
	padding: 10px 25px;
	border-top: 1px solid #454545;
	background: #1d1e20;
}
.breadcrumb li {
	display: inline-block;
	color: #5eb445;
	font-size: 10px;
}
.breadcrumb li {
	position: relative;
	padding: 0 22px 0 0;
	margin: 0 15px 0 0;
}
.breadcrumb li a {
	text-decoration: none;
	color: #fff;
}
.breadcrumb li:before {
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	width: 7px;
	height: 13px;
	content:"";
	background: url(../img/icn_breadcrumb_arrow.png) no-repeat 0 0;
	-webkit-transform: translate(0, -50%);
   	transform: translate(0, -50%);
}
.breadcrumb li:last-child:before {
	display: none;
}
	@media screen and (max-width: 768px) {
		.breadcrumb {
			padding: 10px 4.6875%;
		}
	}
	@media screen and (max-width: 480px) {
		.breadcrumb {
			padding: 8px 4.6875%;
		}
	}


/*==================================================
#main
==================================================*/
#main {
	position: relative;
	margin-top: 100px;
}
	@media screen and (max-width: 768px) {
		#main {
			margin-top: 60px;
		}
	}

/* pageHeader */
.pageHeader {
	height: 337px;
}
.pageHeader .inner {
	display: table;
	height: 100%;
}
.pageHeader h1 {
	display: table-cell;
	vertical-align: middle;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
}
.pageHeader h1 .en {
	display: block;
	font-size: 60px;
	font-family: 'AvenirNextLTPro-Demi',sans-serif;
	letter-spacing: 0.15em;
	font-weight: 300;
}
.about .pageHeader {
	background: url(../img/bg_about_main.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.information .pageHeader {
	background: url(../img/bg_information_main.jpg) no-repeat 50% 50%;
	background-size: cover;
}

	@media screen and (max-width: 768px) {
		.pageHeader {
			position: relative;
			height: auto;
			padding: 88.75% 0 0;
		}
		.pageHeader h1 {
			position: absolute;
			top: 50%;
			left: 4.6875%;
			 -webkit-transform: translate(0, -50%);
   			transform: translate(0, -50%);
		}
		.about .pageHeader {
			background: url(../img/bg_about_main_sp.jpg) no-repeat 50% 50%;
			background-size: cover;
		}
		.information .pageHeader {
			background: url(../img/bg_information_main_sp.jpg) no-repeat 50% 50%;
			background-size: cover;
		}
	}
	@media screen and (max-width: 640px) {
		.pageHeader h1,
		#main .categoryttl {
			font-size: 16px;
		}
		.pageHeader h1 .en,
		#main .categoryttl .en {
			font-size: 48px;
		}
	}
	@media screen and (max-width: 480px) {
		.pageHeader h1,
		#main .categoryttl {
			font-size: 14px;
		}
		.pageHeader h1 .en,
		#main .categoryttl .en {
			font-size: 42px;
		}
	}
	@media screen and (max-width: 415px) {
		.pageHeader h1,
		#main .categoryttl {
			font-size: 13px;
		}
		.pageHeader h1 .en,
		#main .categoryttl .en {
			font-size: 37px;
		}
	}
	@media screen and (max-width: 360px) {
		.pageHeader h1,
		#main .categoryttl {
			font-size: 12px;
		}
		.pageHeader h1 .en,
		#main .categoryttl .en {
			font-size: 30px;
		}
	}

/*==================================================
#footer
==================================================*/
/* btn_side
------------------------------------ */
#btn_side {
	overflow: hidden;
	display:block;
	position: relative;
	width: 204px;
	height: 204px;
	white-space: nowrap;
	text-indent: 100%;
	background: url(../img/btn_side.png) no-repeat;
	background-size: contain;
	z-index: 4000;
}
	@media screen and (max-width: 768px) {
		#btn_side {
			background: url(../img/btn_side_sp.png) no-repeat;
			background-size: contain;
		}
	}
	@media screen and (max-width: 640px) {
		#btn_side {
			width: 33%;
			height: auto;
			padding: 33% 0 0;
		}
	}

/* pagetop
------------------------------------ */
#pagetop a {
	position: relative;
	display: block;
	padding: 60px 0 30px;
	color: #333;
	font-size: 12px;
	letter-spacing: 0.1em;
	font-family: 'AvenirNextLTPro-Medium',sans-serif;
	text-align: center;
	text-decoration: none;
	background: #fff;
}
#pagetop a:before {
	position: absolute;
	top: 30px;
	left: 50%;
	overflow: hidden;
	display:block;
	width: 21px;
	height: 11px;
	content: "";
	background: url(../img/icn_pagetop.png) no-repeat 0 0;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}
	@media screen and (max-width: 640px) {
		#pagetop a {
			padding: 50px 0 25px;
		}
	}

/* #footer
------------------------------------ */
#footer {
	padding: 50px 0 0;
	background: #1d1e20;
}
#footer h1 {
	padding: 0 0 40px;
}
#footer h1 a {
	position: relative;
	overflow: hidden;
	display:block;
	width: 142px;
	height: 67px;
	margin: 0 auto;
	content: "";
	white-space: nowrap;
	text-indent: 100%;
	background: url(../img/logo_footer.png) no-repeat 0 0;
	background: contain;
	transition: all .3s;
}
#footer h1 a:hover {
	opacity: 0.7;
}
	@media screen and (max-width: 768px) {
		.footer {
			width: 90.625%;
			padding: 0 4.6875%;
		}
		#footer h1 a {
			position: relative;
			overflow: hidden;
			display:block;
			max-width: 250px;
			width: 70%;
			height: auto;
			padding: 8% 0 0;
			margin: 0;
			content: "";
			white-space: nowrap;
			text-indent: 100%;
			background: url(../img/logo_footer_sp.png) no-repeat 0 0;
			background-size: contain;
		}
	}

/* footnav */
.footnav ul {
	padding: 0 0 40px;
	text-align: center;
}
.footnav li {
	display: inline-block;
	padding: 0 20px;
}
.footnav li a {
	display: inline-block;
	font-size: 12px;
	color: #6b6b6b;
	font-weight: 700;
	transition: all .3s;
}
.footnav li a .en {
	display: block;
	font-size: 14px;
	color: #fff;
	font-family: 'AvenirNextLTPro-Medium',sans-serif;
	letter-spacing: 0.2em;
	transition: all .3s;
}
.footnav li a:hover .en {
	color: #5eb445;
}
	@media screen and (max-width: 768px) {
		.footnav ul {
			text-align: left;
		}
		.footnav li {
			display: block;
			padding: 0 0 40px;
		}
		.footnav li a {
			display: block;
		}
	}
	@media screen and (max-width: 480px) {
		.footnav ul {
			padding: 0 0 5%;
		}
		.footnav li {
			padding: 0  0 11.3%;
		}
	}
	
/* btn_site */
#footer .btn_site {
	margin: 0 0 60px;
}
#footer .btn_site a {
	position: relative;
	display: block;
	width: 225px;
	line-height: 55px;
	height: 55px;
	padding: 0 0 0 112px;
	margin: 0 auto;
	color: #fff;
	font-size: 16px;
	font-family: 'AvenirNextLTPro-Medium',sans-serif;
	letter-spacing: 0.1em;
	border: 1px solid #6b6b6b;
	box-sizing: border-box;
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	transition: all .3s;
}
#footer .btn_site a:before {
	position: absolute;
	top: 50%;
	left: 34px;
	overflow: hidden;
	display:block;
	width: 64px;
	height: 30px;
	content: "";
	background: url(../img/logo_footer_site.png) no-repeat 0 0;
	background-size: contain;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	transition: all .3s;
}
	@media(min-width:769px) and (max-width: 9999px) { 
		#footer .btn_site a:hover {
			color: #333;
			background: #fff;
		}
		#footer .btn_site a:hover:before {
			background: url(../img/logo_footer_site_hover.png) no-repeat 0 0;
		}
	}
	@media screen and (max-width: 768px) {
		#footer .btn_site a {
			width: 225px;
			line-height: 55px;
			height: 55px;
			padding: 0 0 0 112px;
			margin: 0;
		}
		#footer .btn_site a:before {
			background: url(../img/logo_footer_site_sp.png) no-repeat 0 0;
			background-size: contain;
		}
	}

/* footsubnav */
.footsubnav {
	padding: 0 0 35px;
	text-align: center;
}
.footsubnav li {
	display: inline-block;
	padding: 0 10px;
	line-height: 100%;
	border-left: 1px solid #6b6b6b;
}
.footsubnav li:first-child {
	border-left: none;
}
.footsubnav li a {
	font-size: 12px;
	color: #6b6b6b;
	transition: all .3s;
}
.footsubnav li a:hover {
	color: #53af32;
}
	@media screen and (max-width: 768px) {
		.footsubnav {
			padding: 0 0 35px;
			text-align: left;
		}
		.footsubnav li {
			display: block;
			padding: 0 0 20px;
			border-left: none;
		}
	}
	@media screen and (max-width: 480px) {
		.footsubnav {
			padding: 0 0 15%;
		}
	}

/* copy */
#copy {
	padding: 25px 0;
	text-align: center;
	color: #6b6b6b;
	border-top: 1px solid #6b6b6b;
}
	@media screen and (max-width: 480px) {
		#copy {
			padding: 5.47% 0;
		}
	}

/*==================================================
menu
==================================================*/
#menu {
	display: none;
	overflow-y: auto;
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	background: #1d1e20;
	box-sizing: border-box;
	z-index: 1999;
	-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;/*--ap--*/
}
#menu a {
	text-decoration: none;
}

/* menuHeader */
.menuHeader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100px;
	border-bottom: 1px solid #4d4d4d;
	box-sizing: border-box;
	background: #1d1e20;
	z-index:7000;
}
.menuHeader .logo {
	padding: 25px 0 25px 25px;
	float: left;
}
.menuHeader .logo a {
	overflow: hidden;
	display:block;
	position: relative;
	width: 259px;
	height: 46px;
	white-space: nowrap;
	text-indent: 100%;
	background: url(../img/logo.png) no-repeat;
	background-size: contain;
	transition: all .3s;
}
.menuHeader .btn_close {
	overflow: hidden;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 31px;
	height: 31px;
	white-space: nowrap;
	text-indent: 100%;
	background: url(../img/btn_menu_close.png) no-repeat;
	background-size: contain;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	transition: all .3s;
}
.menuHeader .logo a:hover,
.menuHeader .btn_close:hover {
	opacity: 0.7;
}
	@media screen and (max-width: 768px) {
		.menuHeader {
			height: 60px;
		}
		.menuHeader .logo {
			padding: 17px 0 17px 4.6875%;
		}
		.menuHeader .logo a {
			width: 150px;
			height: 46px;
			background: url(../img/logo_sp.png) no-repeat;
			background-size: contain;
		}
		.menuHeader .btn_close {
			width: 25px;
			height: 25px;
			background: url(../img/btn_menu_close_sp.png) no-repeat;
			background-size: contain;
		}
	}

/* menuCont */
.menuCont {
	width: 100%;
	height: 100%;
	text-align: left;
}
.menuContinner {
	width: 300px;
	margin: 0 auto;
}
.menunav {
	padding: 200px 0 20px;
}
.menunav li {
	padding: 25px 0;
}
.menunav li a {
	display: block;
	font-size: 16px;
	color: #6b6b6b;
	font-weight: 700;
}
.menunav li a:hover .en {
	color: #5eb445;
}
.menunav li .en {
	display: block;
	line-height: 200%;
	font-family: 'AvenirNextLTPro-Medium',sans-serif;
	font-size: 22px;
	color: #fff;
	transition: all .3s;
}
.menunav li a {
	font-weight: 400;
}
.menunav li:last-child .en {
	line-height: 120%;
}
.menunav li:last-child a {
	position: relative;
	padding: 0 0 0 50px;
}
.menunav li:last-child a:before {
	position: absolute;
	top: 50%;
	left: 0;
	overflow: hidden;
	display:block;
	width: 43px;
	height: 44px;
	content: "";
	background: url(../img/icn_bag_menu.png) no-repeat;
	background-size: contain;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
	@media screen and (max-width: 768px) {
		.menunav {
			padding-top: 140px;
		}
		.menunav li:last-child a:before {
			width: 43px;
			height: 44px;
			background: url(../img/icn_bag_menu_sp.png) no-repeat;
			background-size: contain;
		}
		.menuContinner {
			width: 90.625%;
			padding: 0 4.6875%;
		}
		.menunav li a {
			font-size: 14px;
		}
		.menunav li a .en {
			font-size: 20px;
		}
	}
	@media screen and (max-width: 480px) {
		.menunav {
			padding-top: 120px;
		}
		.menunav li {
			padding: 20px 0;
		}
		.menunav li a {
			font-size: 13px;
		}
		.menunav li a .en {
			font-size: 18px;
		}
		.menunav li:last-child a:before {
			width: 35px;
			height: 36px;
		}
	}


/* btn_site */
#menu .btn_site {
	margin: 0 0 60px;
}
#menu .btn_site a {
	position: relative;
	display: block;
	width: 300px;
	line-height: 75px;
	height: 75px;
	padding: 0 0 0 150px;
	margin: 0 auto;
	color: #fff;
	font-size: 22px;
	font-family: 'AvenirNextLTPro-Medium',sans-serif;
	letter-spacing: 0.1em;
	border: 1px solid #6b6b6b;
	box-sizing: border-box;
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	transition: all .3s;
}
#menu .btn_site a:before {
	position: absolute;
	top: 50%;
	left: 34px;
	overflow: hidden;
	display:block;
	width: 87px;
	height: 41px;
	content: "";
	background: url(../img/logo_menu_site.png) no-repeat 0 0;
	background-size: contain;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	transition: all .3s;
}
#menu .btn_site a:hover {
	color: #333;
	background: #fff;
}
#menu .btn_site a:hover:before {
	background: url(../img/logo_menu_site_hover.png) no-repeat 0 0;
	background-size: contain;
}
	@media screen and (max-width: 768px) {
		#menu .btn_site a {
			margin: 0;
			font-size: 20px;
		}
	}
	@media screen and (max-width: 480px) {
		#menu .btn_site a {
			width: 250px;
			height: 60px;
			line-height: 60px;
			padding: 0 0 0 130px;
			font-size: 16px;
		}
		#menu .btn_site a:before {
			width: 60px;
			height: 30px;
		}
	}
	

/


/*==================================================
Clearfix
==================================================*/
.clearfix:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}