@charset "UTF-8";
/* CSS Document */

/*==============================
common
==============================*/
body,html {
	/*font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";*/
	font-size: 14px;
	color: #464b4b;
	-webkit-text-size-adjust:100%; /*iPhoneで崩れる場合*/

}
body {
	min-width: 1000px;
}
a {
	color: #464b4b;
	text-decoration: none;
}
.ff_oswald {
	/*font-family: 'Oswald', sans-serif;*/
}
img,iframe {
	vertical-align: bottom;
}
body.sp {
	min-width: 0;
}


/*==============================
article
==============================*/
main article {
	padding-top: 0;
	max-width: 100%;
	margin: 0 auto;
}



/*==============================
sec_header
==============================*/
main .sec_header {
	position: relative;
	padding-top: 110px;
	background-image: url('img/sec_header_bg05.png');
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 100% auto;
	padding-bottom: 20px;
}
main .sec_header.products {
	background-image: url('img/sec_header_bg01.png');
}
main .sec_header.search {
	background-image: url('img/sec_header_bg02.png');
}
main .sec_header.projects {
	background-image: url('img/sec_header_bg03.png');
}
main .sec_header.showroom {
	background-image: url('img/sec_header_bg04.png');
}
main .sec_header .ttl {
	color: #fff;
	max-width: 1000px;
	margin: 0 auto;
	font-size: 2.143rem;
	font-weight: bold;
	position: relative;
}



/*==============================
sec_cnts
==============================*/
main .sec_cnts {
	position: relative;
	padding-top: 45px;
}
main .breadcrumbs + .sec_cnts {
	margin-top: 15px;
}
main .sec_cnts > .more {
	background: #eceeee;
	margin-top: 50px;
	padding-top: 50px;
	padding-bottom: 100px;
}
main .sec_cnts > .more > section:first-child {
	margin-top: 0;
}



/*==============================
breadcrumbs
==============================*/
main .breadcrumbs {
	position: relative;
	max-width: 1000px;
	margin: 40px auto 0;
}
main .breadcrumbs ul li {
	float: left;
}
main .breadcrumbs ul li + li:before {
	content: "/";
	margin-right: 5px;
	margin-left: 5px;
}
main .breadcrumbs ul li a:hover {
	text-decoration: underline;
}



/*==============================
header
==============================*/
.logo img{
position:fixed;
  left:20px;top:20px;
  transiton:all 0.5s;
  opacity:1;
}
.page1._active .logo img{
opacity:0;
}
.page2._active .logo img{
opacity:1;
}









header {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	min-width: 640px;
	z-index:9999;
	transition: all .25s ease-out;
}
header .in {
	position: fixed;
	width: 100%;
	margin: 0 auto;
	height: 100px;
	transition: all .25s ease-out;
}
header .in .logo img {
	position: absolute;
	left: 0;
	top: 0;
}
header .in .logo img.before {
	display: inline-block;
}
header .in .logo img.after {
	display: none;
}
header .in .logo a {
	position: absolute;
	left: 10%;
	top: 0px;
	transition: top .25s ease-out;
}
header .in .logo_c img {
	position: absolute;
	left: 0;
	top: 0;
}
header .in .logo_c img.before {
	display: block;
}
header .in .logo_c img.after {
	display: none;
}
header .in .logo_c a {
	position: absolute;
	left: 0px;
	top: 38px;
}
header .in .ul_lang {
	position: absolute;
	right: 12%;
	top: 45px;
	font-size: 16px;
	color: #fff;
	font-family:Arial;
	line-height: 1;
	transition: top .25s ease-out;
}
header .in .ul_lang li {
	position: relative;
	display: inline-block;
}
header .in .ul_lang li + li {
	padding-left: .5em;
	margin-left: .5em;
}
header .in .ul_lang li + li:before {
	display: block;
	content: "/";
	position: absolute;
	left: -0.25em;
	top: 0;
}
header .in .ul_lang li a {
	display: inline-block;
	position: relative;
	color: #fff;
}
header .in .ul_lang li a:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 0%;
	height: 1px;
	background: #fff;
	transition: width .3s linear;
}
header .in .ul_lang li a:hover:after {
	width: 100%;
}
header .in .ul_lang li.active a:hover:after {
	width: 0%;
}
header .in .ul_lang li.active a {
	color: #8d8777;
	cursor: default;
}
header.bg {
	top: -100px;
	/*background: rgba(255,255,255,.95);*/
}
header.bg .in .logo img.before {
	display: none;
}
header.bg .in .logo img.after {
	display: block;
}
header.bg .in .ul_lang,
header.bg .in .ul_lang li a {
	color: #464b4b;
}
header.bg .in .ul_lang li a:after {
	background: #464b4b;
}
header.bg .in .ul_lang li.active a{
	color: #8d8777;
	cursor: default;
}
header.bg.comp {
	top: 0;
	height: 60px;
	background: rgba(255,255,255,.8);
	border-bottom: none;
}
header.bg.comp .in {
	height: 60px;
}
header.bg.comp .in .logo a {
	top: 0px;
}
header.bg.comp .in .ul_lang {
	top: 25px;
}
header.bg.comp .in #gnav_btn {
	top: 0;
}

header.lock {
	top:0 !important;
}
header.lock .in #gnav_btn {
	top: 20px !important;
}






/*sp*/
.sp header {
	min-width: 0;
	z-index: 100;
}
.sp header .in {
	height: 50px;
}
.sp header .in .logo a {
	left: 20px;
	top: 19px;
}
.sp header .in .logo a img {
	width: 169px;
}
.sp header .in .ul_lang {
	display: none;
}

/* 20170530 事業部概要、事業所一覧、101レプリアスマートナノ header2 */
header#header2 .in .ul_lang li + li:before{
	color: #8d8777;
}
header#header2 .in .ul_lang li a{
	color: #8d8777;
}


/*==============================
gnav_btn
==============================*/
#gnav_btn {
	position: absolute;
	right: 5%;
	top: 20px;
	width: 60px;
	height: 60px;
	cursor: pointer;
	z-index: 1000;
	background: #191817;
	transition: top .25s ease-out;
}
#gnav_btn span {
	position: absolute;
	display: block;
	background: #fff;
	height: 2px;
	left: 15px;
	width: 30px;
	transition: all .5s ease-in-out;
	-ms-transform-origin: center center;
	transform-origin: center center;
}
#gnav_btn span.span01 {
	top: 17px;
}
#gnav_btn span.span02 {
	top: 29px;
}
#gnav_btn span.span03 {
	width: 20px;
	top: 41px;
}
#gnav_btn:hover span.span03 {
	width: 30px;
}
#gnav_btn.close {
	background: #060605;
	transition: all .5s ease-in-out;
	-ms-transform: rotate(-180deg);
	-webkit-transform: rotate(-180deg);
	transform: rotate(-180deg);
}
#gnav_btn.close span {
	background: #fff;
}
#gnav_btn.close span.span01 {
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 28px;
}
#gnav_btn.close span.span02 {
	width: 0;
	left: 30px;
}
#gnav_btn.close span.span03 {
	width: 30px;
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	top: 28px;
}
#gnav_btn.close:hover {
	-ms-transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

/*sp*/
.sp #gnav_btn {
	right: 13px;
	top: 15px;
	width: 20px;
	height: 20px;
}
.sp #gnav_btn span {
	height: 1px;
	left: 0;
	width: 20px;
}
.sp #gnav_btn span.span01 {
	top: 4px;
}
.sp #gnav_btn span.span02 {
	top: 9px;
}
.sp #gnav_btn span.span03 {
	width: 15px;
	top: 15px;
}
.sp #gnav_btn:hover span.span03 {
	width: 15px;
}
.sp #gnav_btn.close span.span01 {
	top: 9px;
}
.sp #gnav_btn.close span.span02 {
	width: 0;
	left: 10px;
}
.sp #gnav_btn.close span.span03 {
	width: 20px;
	top: 9px;
}



/*==============================
gnav
==============================*/
#gnav {
	position: fixed;
	width: 100%;
	min-width: 1000px;
	height: 100%;
	right: 0;
	top: -100%;
	background: rgba(25,24,23,0.9);
	z-index: 100;
	display: none;
	overflow: hidden;
}
#gnav:after {
	content: "";
	display: block;
	position: absolute;
	width: 390px;
	height: 100%;
	right: 0;
	top: 0% !important;
	background: rgba(6,6,5,0.9);
}
#gnav a {
	color: #fff;
}
#gnav .gnav_main {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	padding-right: 450px; 
	padding-left: 50px;
	display: table;
}
#gnav .gnav_main > ul {
	display: table-cell;
	vertical-align: middle;
}
#gnav .gnav_main li.current + li.current {
	margin-top: 30px;
}
/* 20170530修正 */
#gnav .gnav_main li.current + li.current {
	margin-top: 5px;
}
#gnav .gnav_main li.current.mgn + li.current.mgn {
	margin-top: 35px;
}
/* ----------- */
#gnav .gnav_main li.current p {
	position: relative;
}
#gnav .gnav_main li.current p:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0%;
	height: 1px;
	background: #fff;
	transition: width .5s ease-out;
}
#gnav .gnav_main li.current p.active:after {
	width: 100%;
}
#gnav .gnav_main li.current p a {
	font-size: 0.857rem;
	color: #8d8777;
	display: inline-block;
	transition: color .5s linear;
}
#gnav .gnav_main li.current p.active a {
	color: #fff;
}
#gnav .gnav_main li.current p a span {
	font-size: 2.67rem;
	color: #fff;
	margin-right: 10px;
}
#gnav .gnav_main ul.child {
	margin-top: 15px;
	padding-left: 50px;
	visibility: hidden;
}
#gnav .gnav_main ul.child li {
	float: left;
	position: relative;
	padding-right: 25px;
	margin-right: 25px;
	margin-bottom: 5px;
}
#gnav .gnav_main ul.child li:after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	width: 1px;
	height: 1.5em;
	background: #464b4b;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#gnav .gnav_main ul.child li:last-child {
	padding-right: 0;
	margin-right: 0;
}
#gnav .gnav_main ul.child li:last-child:after {
	display: none;
}
#gnav .gnav_main ul.child li a {
	position: relative;
	display: inline-block;
}
#gnav .gnav_main ul.child li a:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 0%;
	height: 1px;
	background: #fff;
	transition: width .25s ease-out;
}
#gnav .gnav_main ul.child li a:hover:after {
	width: 100%;
}
#gnav ul.gnav_sub {
	position: absolute;
	right: 100px;
	top: 50%;
	margin-top: -200px;
	z-index: 1;
}
#gnav ul.gnav_sub p.txt01 a {
	font-size: 0.857rem;
	color: #8d8777;
	display: inline-block;
	line-height: 1.75;
}
#gnav ul.gnav_sub p.txt01 a span {
	font-size: 1.33rem;
	color: #fff;
}
#gnav ul.gnav_sub p.txt02 {
	display: none;
}
#gnav ul.gnav_sub ul {
	padding-top: 10px;
}
#gnav ul.gnav_sub ul li {
	margin-top: 30px;
}
#gnav ul.gnav_sub ul li a {
	position: relative;
	border: 1px solid #fff;
	display: inline-block;
	width: 190px;
	box-sizing: border-box;
	text-align: center;
	padding: 10px 10px;
	transition: all .2s linear .2s;
	color: #fff;
	font-family:Arial;
}
#gnav ul.gnav_sub ul li a span {
	position: relative;
	z-index: 1;
}
#gnav ul.gnav_sub ul li a:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	height: 0%;
	background: #fff;
	z-index: 0;
	transition: all .2s ease-out;
}
#gnav ul.gnav_sub ul li a:hover:after {
	top: 0%;
	height: 100%;
}
#gnav ul.gnav_sub ul li a:hover {
	color: #191817;
}
header.bg #gnav_btn span {
	background: #fff;
}
header.bg #gnav_btn.close span {
	background: #fff;
}
#gnav ul.gnav_sub .mail {
	margin-top: 10px;
}
/* 20170531 追加 */
#gnav .gnav_sub .gnav_sub_link_block .gnav_sub_link_item.first {
margin-top: 0px;
}
#gnav .gnav_sub .gnav_sub_link_block .gnav_sub_link_item {
margin-top: 30px;
}
#gnav .gnav_sub .gnav_sub_link_block .gnav_sub_link_item a span {
display: inline-block;
font-size: 12px;
color: #8d8777;
margin-left: 5px;
}
#gnav .gnav_sub .gnav_sub_link_block .gnav_sub_link_item a span.ff_oswald {
font-size: 1.33rem;
color: #fff;
margin-left: 0;
}
#gnav .gnav_sub .gnav_sub_link_block .gnav_sub_link_item .gnav_sub_link_list {
display: block;
margin-top: 10px;
padding-top: 10px;
border-top: 1px solid #FFF;
}
#gnav .gnav_sub .gnav_sub_link_block .gnav_sub_link_item .gnav_sub_link_list .gnav_sub_link_list_item {
position: relative;
display: inline-block;
font-size: 12px;
padding-left: 22px;
}
#gnav .gnav_sub .gnav_sub_link_block .gnav_sub_link_item .gnav_sub_link_list .gnav_sub_link_list_item:before {
position: absolute;
top: 1px;
left: 10px;
display: inline-block;
content: "";
width: 1px;
height: 1.5em;
background: #464b4b;
-ms-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
#gnav .gnav_sub .gnav_sub_link_block .gnav_sub_link_item .gnav_sub_link_list .gnav_sub_link_list_item:first-child {
padding-left: 0;
}
#gnav .gnav_sub .gnav_sub_link_block .gnav_sub_link_item .gnav_sub_link_list .gnav_sub_link_list_item:first-child:before {
content: none;
}
/*sp*/
.sp #gnav {
	min-width: 0;
	box-sizing: border-box;
}
.sp #gnav .gnav_in {
	height: 100%;
	overflow: scroll;
}
.sp #gnav:after {
	display: none;
}
.sp #gnav .gnav_main {
	position: static;
	width: auto;
	height: auto;
	padding: 65px 15px 35px;
	display: block;
}
.sp #gnav .gnav_main > ul {
	display: block;
}
.sp #gnav .gnav_main li.current + li.current {
	margin-top: 40px;
}
.sp #gnav .gnav_main li.current p {
	position: relative;
}
.sp #gnav .gnav_main li.current p:after {
	display: none;
}
.sp #gnav .gnav_main li.current p a {
	transition: none;
}
.sp #gnav .gnav_main li.current p a span {
	font-size: 1.714rem;
}
.sp #gnav .gnav_main ul.child {
	padding-left: 0;
	visibility: visible;
}
.sp #gnav .gnav_main ul.child li {
	padding-right: 15px;
	margin-right: 15px;
	margin-bottom: 5px;
}
.sp #gnav .gnav_main ul.child li a:after {
	display: none;
}
.sp #gnav ul.gnav_sub {
	position: static;
	right: auto;
	top: auto;
	margin-top: 0;
	padding: 0;
}
.sp #gnav ul.gnav_sub p.txt01 {
	margin: 0 15px;
	padding-bottom: 35px;
}
.sp #gnav ul.gnav_sub p.txt01 a span {
	font-size: 1.714rem;
	margin-right: 10px;
}
.sp #gnav ul.gnav_sub p.txt02 {
	display: block;
	background: #060605;
	padding: 35px 15px 25px;
}
.sp #gnav ul.gnav_sub p.txt02 a span {
	font-size: 1.286rem;
	margin-right: 10px;
}
.sp #gnav ul.gnav_sub ul {
	background: #060605;
	padding: 0 15px 35px;
}
.sp #gnav ul.gnav_sub ul li {
	margin-top: 0;
}
.sp #gnav ul.gnav_sub ul li + li {
	margin-top: 20px;
}
.sp #gnav ul.gnav_sub ul li a {
	display: block;
	width: auto;
	transition: none;
}
.sp #gnav ul.gnav_sub ul li a:after {
	transition: none;
}



/*==============================
localnav
==============================*/
#localnav {
	position: fixed;
	width: 100%;
	min-width: 1000px;
	height: 100%;
	right: 100%;
	box-sizing: border-box;
	padding-right: 100px;
	top: 0;
	z-index: 75;
}
#localnav .localnav_btn {
	position: fixed;
	left: 0;
	top: 50%;
	width: 50px;
	height: 60px;
	margin-top: -30px;
	cursor: pointer;
}
#localnav .localnav_btn span {
	position: absolute;
	display: block;
	transition: all .5s ease-in-out;
}
#localnav .localnav_btn span.span01 {
	right: 1em;
	bottom: 50%;
	margin-bottom: -30px;
	-ms-transform-origin: right bottom;
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
	-ms-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	font-size: 14px;
	line-height: 1;
	text-align: center;
	width: 60px;
	height: 1em;
	overflow: hidden;
}
#localnav .localnav_btn span.span02 {
	background: #464b4b;
	width: 29px;
	height: 2px;
	left: 0;
	top: 50%;
	margin-top: -6px;
}
#localnav .localnav_btn span.span03 {
	background: #464b4b;
	width: 19px;
	height: 2px;
	left: 0;
	top: 50%;
	margin-top: 3px;
}
#localnav .localnav_btn:hover span.span03 {
	width: 60px;
}
#localnav .localnav_btn:hover span.span01,
#localnav .localnav_btn:hover span.span04 {
	right: -1em;
	bottom: 100%;
	margin-bottom: -20px;
	-ms-transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}
#localnav .localnav_btn span.span04 {
	right: 1em;
	bottom: 50%;
	margin-bottom: -30px;
	-ms-transform-origin: right bottom;
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
	-ms-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	font-size: 14px;
	line-height: 1;
	text-align: center;
	width: 60px;
	height: 0em;
	overflow: hidden;
}
#localnav .localnav_btn span.span01,
#localnav .localnav_btn span.span04 {
	color: #464b4b;
}
#localnav .localnav_btn span.span02,
#localnav .localnav_btn span.span03 {
	background: #464b4b;
}
#localnav.active {
	margin-right: -100px;
	z-index: 1050;
}
#localnav.active .localnav_btn {
	display: none;
	right: 50px;
}
#localnav.active .localnav_btn span.span01 {
	height: 0em;
}
#localnav.active .localnav_btn span.span04 {
	height: 1em;
}
#localnav nav {
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	padding: 0 50px 0 100px;
	background: #191817;
	color: #8d8777;
	display: table;
}
#localnav nav .nav_in {
	display: table-cell;
	vertical-align: middle;
}
#localnav nav .ttl a{
	color: #8d8777;
}
#localnav nav .ttl span {
	font-size: 3rem;
	color: #fff;
	margin-right: 10px;
}
#localnav nav .sttl {
	font-size: 0.857rem;
	margin-top: 25px;
}
#localnav nav .sttl a{
	color: #8d8777;
}
#localnav nav .sttl span {
	color: #fff;
	font-size: 1.8rem;
	margin-right: 10px;
}
#localnav nav ul {
	margin-top: 25px;
}
#localnav nav ul li {
	float: left;
	width: 11%;
	max-width: 7rem;
	margin-bottom: 20px;
	text-align: center;
}
#localnav nav ul li + li {
	margin-left: 0;
}
#localnav nav ul li a {
	color: #fff;
	perspective:60;
}
#localnav nav ul li a figure {
	position: relative;
	height: 60px;
}
#localnav nav ul li a figure img {
	position: absolute;
	left: 50%;
	margin-left: -30px;
	top: 0px;
}
#localnav nav ul li a .txt01 {
	min-height: 1.5em;
	margin-top: 15px;
}
#localnav nav ul li a .txt02 {
	font-size: 0.857rem;
	margin-top: 5px;
	color: #8d8777;
	transition: all .5s linear;
}
#localnav nav ul li a:hover figure img {
	-webkit-animation: animation_localnav_img .25s linear 0s 1 forwards;
	animation: animation_localnav_img .25s linear 0s 1 forwards;
}
@-webkit-keyframes animation_localnav_img {
	from {top: 0px;}
	50% {top: -5px;}
	to {top: 0px;}
}
@keyframes animation_localnav_img {
	from {top: 0px;}
	50% {top: -5px;}
	to {top: 0px;}
}
#localnav nav ul li a:hover .txt02 {
	color: #fff;
}
#localnav nav .localnav_close {
	position: absolute;
	right: 150px;
	top: 30px;
	width: 40px;
	height: 40px;
	cursor: pointer;
	z-index: 1000;
	transition: all .5s ease-in-out;
}
#localnav nav .localnav_close span {
	position: absolute;
	display: block;
	background: #fff;
	height: 2px;
	left: 0;
	top: 18px;
	width: 40px;
	-ms-transform-origin: center center;
	transform-origin: center center;
}
#localnav nav .localnav_close span.span01 {
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#localnav nav .localnav_close span.span02 {
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	top: 18px;
}
#localnav nav .localnav_close:hover {
	-ms-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

/*sp*/
.sp #localnav {
	min-width: 0;
	padding-right: 0;
	background: #191817;
}
.sp #localnav.active {
	margin-right: 0;
}
.sp #localnav nav {
	display: block;
	width: auto;
	height: 100% !important;
	overflow: scroll;
	padding: 65px 20px;
}
.sp #localnav nav .nav_in {
	display: block;
}
.sp #localnav nav .ttl span {
	font-size: 1.714rem;
}
.sp #localnav nav .sttl {
	margin-top: 20px;
}
.sp #localnav nav .sttl span {
	font-size: 1.429rem;
}
.sp #localnav nav ul li {
	width: 33.33%;
	box-sizing: border-box;
	padding: 0 5px;
	max-width: 100%;
	margin-bottom: 20px;
}
.sp #localnav nav ul li + li {
	margin-left: 0;
}
.sp #localnav nav ul li:nth-child(3n+1) {
	clear: both;
}
.sp #localnav nav .localnav_close {
	right: 13px;
	top: 15px;
	width: 20px;
	height: 20px;
	transition: none;
}
.sp #localnav nav .localnav_close span {
	height: 1px;
	top: 9px;
	width: 20px;
}
.sp #localnav nav .localnav_close span.span02 {
	top: 9px;
}
.sp #localnav .localnav_btn {
	width: 20px;
}
.sp #localnav .localnav_btn span {
	right: 20px;
	transition: none;
	font-size: 12px;
}
.sp #localnav .localnav_btn span.span02 {
	width: 10px;
	height: 1px;
	top: auto;
	bottom: 0px;
	margin-top: 0;
}
.sp #localnav .localnav_btn span.span03 {
	width: 5px;
	height: 1px;
	left: 0;
	top: auto;
	bottom: -4px;
	margin-top: 0;
}



/*==============================
footernav
==============================*/
#footernav {
	position: relative;
	z-index: 10;
	background: #191817;
	color: #fff;
}
#footernav .in {
	position: relative;
	min-width: 1000px;
	margin: 0 auto;
	padding: 50px 100px 0;
	box-sizing: border-box;
}
#footernav .cnts_contact {
	float: left;
}
#footernav .cnts_contact a {
	color: #fff;
}
#footernav .cnts_contact .name_en {
	font-size: 1.143rem;
	margin-top: 25px;
}
#footernav .cnts_contact .name_jp {
	font-weight: bold;
	margin-top: 10px;
}
#footernav .cnts_contact .address {
	margin-top: 15px;
}
#footernav .cnts_contact .list {
	margin-top: 10px;
}
#footernav .cnts_contact .list a {
	position: relative;
	display: inline-block;
	background: url(img/footernav_ico01.png) no-repeat left center;
	padding-left: 20px;
}
#footernav .cnts_contact .list a:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 0%;
	height: 1px;
	background: #fff;
	transition: width .2s linear;
}
#footernav .cnts_contact .list a:hover:after {
	width: 100%;
}
#footernav .cnts_contact ul {
	margin-top: 35px;
	font-weight: bold;
	overflow: hidden;
}
#footernav .cnts_contact ul li {
	float: left;
}
#footernav .cnts_contact ul li:first-child {
	margin-right: 30px;
}
#footernav .cnts_contact ul li a {
	position: relative;
	border: 1px solid #fff;
	display: inline-block;
	padding: 8px 35px;
	transition: all .2s linear .2s;
	color: #fff;
}
#footernav .cnts_contact ul li a span {
	position: relative;
	z-index: 1;
	font-weight: normal;
}
#footernav .cnts_contact ul li a:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	height: 0%;
	background: #fff;
	z-index: 0;
	transition: all .2s ease-out;
}
#footernav .cnts_contact ul li a:hover:after {
	top: 0%;
	height: 100%;
}
#footernav .cnts_contact ul li a:hover {
	color: #191817;
}
#footernav .cnts_contact .mail {
	margin-top: 10px;
}
#footernav .cnts_contact .mail.mail_sp {
	display: none;
}

#footernav nav {
	float: right;
}
#footernav nav a {
	color: #b8bebe;
	transition: all .2s linear;
	display: inline-block;
}
#footernav nav a:hover {
	color: #fff;
}
#footernav nav > ul > li {
	float: left;
	margin-left: 120px;
}
@media screen and (max-width:1060px) {
	#footernav nav > ul > li {
		margin-left: 90px;
	}
}
#footernav nav > ul > li:first-child {
	margin-left: 0;
}
#footernav nav ul > li > p a {
	font-size: 0.857rem;
	color: #ff9900;
}
#footernav nav ul > li > p a span {
	color: #fff;
	font-size: 1.143rem;
}
#footernav nav ul li ul {
	margin-top: 10px;
}
#footernav nav ul li ul li a {
	font-size: 0.857rem;
}
#footernav nav > ul > li > ul + p {
	margin-top: 45px;
}
#footernav nav > ul > li:last-child > ul + p {
	margin-top: 22px;
}
#footernav nav > ul > li:last-child ul li ul.underlayer {
	margin-top: 0px;
	margin-left: 10px;
}
#footernav #btn_pagetop {
	display: none;
	position: fixed;
	right: 36px;
	bottom: 30px;
	z-index: 10;
	cursor: pointer;
}
#footernav #btn_pagetop span {
	display: block;
	width: 34px;
	height: 30px;
	background: url(img/footnav_btn_pagetop01_pc.png) no-repeat;
	transition: all .5s linear;
}
#footernav #btn_pagetop.absolute span {
	/*
	position: absolute;
	right: 36px;
	top: 20px;
	*/
	background-image: url(img/footnav_btn_pagetop02_pc.png);
}
#footernav #btn_pagetop:hover span {
	transform: rotateY(360deg);
}

.sp #footernav .in {
	min-width: 0;
	padding: 50px 20px;
}
.sp #footernav .cnts_contact {
	float: none;
}
.sp #footernav .cnts_contact ul li {
	float: none;
}
.sp #footernav .cnts_contact ul li:first-child {
	margin-right: 0;
	margin-bottom: 20px;
}
.sp #footernav .cnts_contact ul li a {
	display: block;
	transition: none;
	text-align: center;
}
.sp #footernav .cnts_contact ul li a:after {
	transition: none;
}
.sp #footernav .cnts_contact ul li a:hover:after {
	top: 0%;
	height: 100%;
}
.sp #footernav .cnts_contact ul li a:hover {
	color: #191817;
}
.sp #footernav .cnts_contact .mail.mail_pc {
	display: none;
}
.sp #footernav .cnts_contact .mail.mail_sp {
	display: block;
}

.sp #footernav nav {
	display: none;
}
.sp #footernav #btn_pagetop {
	right: 0;
	bottom: 10px;
	width: 26px;
	height: 23px;
	background: url(img/footnav_btn_pagetop01_sp.png) no-repeat;
	background-size: cover;
	transition: none;
}
.sp #footernav #btn_pagetop.absolute {
	background-image: url(img/footnav_btn_pagetop02_sp.png);
}



/*==============================
footer
==============================*/
footer {
	position: relative;
	background: #191817;
	color: #b8bebe;
}
footer a {
	color: #b8bebe;
}
footer .in {
	box-sizing: border-box;
	margin: 0 auto;
	padding: 40px 100px 50px;
}
footer ul {
	float: left;
}
footer ul li {
	display: inline-block;
}
footer ul li {
	margin-left: 40px;
}
footer ul li:first-child {
	margin-left: 0;
}
footer ul li a {
	color: #b8bebe;
	font-size: 0.857rem;
	transition: all .2s linear;
}
footer ul li a:hover {
	color: #fff;
}
footer p {
	float: right;
}

/*sp*/
.sp footer .in {
	padding: 0 20px 25px;
}
.sp footer ul {
	float: none;
}
.sp footer ul li {
	margin-left: 0;
	margin-right: 25px;
}
.sp footer ul li:last-child {
	margin-right: 25px;
}
.sp footer ul li a {
	transition: none;
}
.sp footer p {
	float: none;
	margin-top: 20px;
	text-align: center;
}






/*==============================
module
==============================*/
.clearfix {zoom:1;}
.clearfix:after {content:"";display:block;clear:both;}
.txt_n {position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;}
.dis_n {display:none;}

/*sp*/
.sp .pc {display: none;}