@charset "utf-8";

/* COMMON
-------------------------------------------------------------- */
html {
    font-size: 62.5%;
}
body {
	position: relative;
	color: #333;
	background: #f2f2f2;
	overflow-x: hidden;
	line-height: 1.75;
    font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}
main {
	position: relative;
	z-index: 1;
	margin-top: 105px;
}
.wrapper {
	overflow: hidden;
}
a, a:visited, a:focus {
	color: #333;
	text-decoration: none;
}
a:hover {
	color: #333;
	text-decoration: underline;
}
a.hover-none:hover{
  text-decoration: none;
}
img {
	max-width: 100%;
	height: auto;
}
.imgbase{
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
table {
	border-collapse: separate;
}
.glay{
    filter: grayscale(1);
}
.brightness{
    filter: brightness(50%);
}
@media (min-width: 1200px) {
	.container {
		width: 1200px;
		padding: 0;
	}
}
@media (min-width:768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}
@media (max-width: 1199px) {
	main {
		margin-top: 85px;
	}
}
@media (max-width: 915px) {
	main {
		margin-top: 66px;
	}
}
@media (max-width: 767px) {
	main {
		margin-top: 80px;
	}
}

/* HEADER
-------------------------------------------------------------- */
header {
	position: relative;
	z-index: 9999;
}
header .navbar-default {
	background: #000;
	margin-bottom: 0;
	border: none;
}
header .navbar-brand {
	padding: 20px 15px;
	display: block;
	height: auto;
}
header .navbar-nav {
	margin:0;
}
header .navbar-default .navbar-nav > li > a {
	color: #959595;
	text-align: center;
	font-size: 1.3rem;
	padding: 30px 25px;
	text-align: center;
	position: relative;
}
header .navbar-default .navbar-nav > li > a > span {
	display: block;
	margin-top: 5px;
}
header .navbar-default .navbar-nav > li.contact > a {
	color: #fff;
	padding: 30px 35px;
	text-transform: uppercase;
	transition: 0.5s;
	background-image: linear-gradient(to right, #FF512F 0%, #F09819 51%, #FF512F 100%);
	background-size: 200% auto;
}
header .navbar-default .navbar-nav > li > a:hover,
header .navbar-default .navbar-nav > li > a:active {
	color: #fd6d0d;
}
header .navbar-default .navbar-nav > li.contact > a:hover,
header .navbar-default .navbar-nav > li.contact > a:active {
	background-position: right center;
	color: #fff;
}
@media (max-width: 1304px) {
	header .navbar-default .navbar-nav > li > a {
		padding: 30px 15px;
	}
	header .navbar-default .navbar-nav > li.contact > a {
		padding: 30px 25px;
	}
}
@media (max-width: 1199px) {
	header .navbar-brand {
		padding: 25px 15px;
	}
	header .navbar-brand > img {
		width: auto;
		height: 35px;
	}
	header .navbar-default .navbar-nav > li > a {
		font-size: 1.2rem;
		padding: 20px 10px;
	}
	header .navbar-default .navbar-nav > li.contact > a {
		padding: 20px 15px;
	}
}
@media (max-width: 999px) {
	header .navbar-default .navbar-nav > li > a {
		font-size: 1.2rem;
		padding: 20px 10px;
	}
	header .navbar-default .navbar-nav > li.contact > a {
		padding: 20px 15px;
	}
	.nav > li > a > img {
		max-height: 13px;
		width: auto;
	}
}
@media (max-width: 915px) {
	header .navbar-brand {
		padding: 15px 0px;
	}
	header .navbar-brand > img {
		height: 30px;
	}
	header .navbar-default .navbar-nav > li > a {
		font-size: 1rem;
		padding: 13px 10px;
	}
	header .navbar-default .navbar-nav > li.contact > a {
		padding: 13px 15px;
	}
	.nav > li > a > img {
		max-height: 10px;
		width: auto;
	}
	header .navbar-default .navbar-nav > li > a > span {
		margin-top: 0;
	}
}
@media (max-width: 786px) {
	header .navbar-brand > img {
		height: 25px;
	}
	header .navbar-default .navbar-nav > li > a {
		font-size: 1rem;
		padding: 13px 10px;
	}
	header .navbar-default .navbar-nav > li.contact > a {
		padding: 13px 15px;
	}
	.nav > li > a > img {
		max-height: 10px;
		width: auto;
	}
}
@media (max-width: 767px) {
	header .navbar-default {
		margin-bottom: 0;
	}
	.navbar-toggle {
		padding: 12px 10px;
		margin: 20px 10px;
		background: #fff;
	}
	header .navbar-brand {
		padding: 0;
		margin: 18px 10px;
		float: left;
	}
	header .navbar-brand > img {
		height: 42px;
	}
	header .navbar-nav {
		float: none;
		overflow: auto;
		padding-bottom: 20px;
		max-width: 100%;
	}
	header .navbar-default .navbar-nav > li {
		width: 100%!important;
		border-bottom: 1px solid #ececec;
	}
	header .navbar-default .navbar-nav > li:nth-child(7),
	header .navbar-default .navbar-nav > li.contact {
		border-bottom: none;
	}
	header .navbar-default .navbar-nav > li > a {
		color: #fff;
		text-align: left;
		font-size: 1.3rem;
		line-height: 1.4;
		padding: 20px 12px;
	}
	header .navbar-default .navbar-nav > li.contact > a {
		text-align: center;
		padding: 20px;
	}
	header .navbar-default .navbar-nav > li > a > span {
		display: inline-block;
		padding-left: 10px;
	}
	header .navbar-default .navbar-nav > li > a:hover,
	header .navbar-default .navbar-nav > li > a:active {
		color: #333;
	}
	.navbar-default .navbar-collapse {
		background: #000;
	}
	.navbar-fixed-bottom .navbar-collapse, .navbar-fixed-top .navbar-collapse {
		min-height: 500px;
	}

}

@media (max-width: 750px) and (orientation: landscape) {
	header .navbar-nav {
		height: 100vh;
		padding-bottom: 100px;
	}
}
/* MV
-------------------------------------------------------------- */
#mv img {
	width: 100%;
}

@media (max-width: 767px) {

}

/* TOP -message-
-------------------------------------------------------------- */
#message {
	background: url(../../images/3d/index/bg01.png) no-repeat top center;
	background-size: cover;
	text-align: center;
	padding: 10% 15px;
	color: #fff;
	font-size: 1.6rem;
	line-height: 2.4;
}
#message h2 {
	margin-bottom: 50px;
}
@media (max-width: 767px) {
	#message {
		padding: 15% 15px;
		font-size: 1.3rem;
		line-height: 2rem;
	}
	#message h2 {
		margin-bottom: 30px;
	}
	#message h2 img {
		width: 120px;
	}
	#message p {
		text-align: left;
	}
}

/* TOP -menu-
-------------------------------------------------------------- */
#menu {
	text-align: center;
	color: #fff;
}
#menu li {
	padding: 0;
	position: relative;
}
#menu li a {
	display: block;
	height: 500px;
}
#menu li:first-child {
    background: url(../../images/3d/index/menu01_off.png) no-repeat;
    background-size: cover;
}
#menu li:first-child a {
    background: url(../../images/3d/index/menu01_off.png) no-repeat;
    background-size: cover;
}
#menu li:first-child a:hover {
    background-image: url(../../images/3d/index/menu01_on.png);
    background-size: cover;
}
#menu li:nth-child(2) {
    background: url(../../images/3d/index/menu02_off.png) no-repeat;
    background-size: cover;
}
#menu li:nth-child(2) a {
    background: url(../../images/3d/index/menu02_off.png) no-repeat;
    background-size: cover;
}
#menu li:nth-child(2) a:hover {
    background-image: url(../../images/3d/index/menu02_on.png);
    background-size: cover;
}
#menu li:nth-child(3) {
    background: url(../../images/3d/index/menu03_off.png) no-repeat;
    background-size: cover;
}
#menu li:nth-child(3) a {
    background: url(../../images/3d/index/menu03_off.png) no-repeat;
    background-size: cover;
}
#menu li:nth-child(3) a:hover {
    background-image: url(../../images/3d/index/menu03_on.png);
    background-size: cover;
}
#menu li:nth-child(4) {
    background: url(../../images/3d/index/menu04_off.png) no-repeat;
    background-size: cover;
}
#menu li:nth-child(4) a {
    background: url(../../images/3d/index/menu04_off.png) no-repeat;
    background-size: cover;
}
#menu li:nth-child(4) a:hover {
    background-image: url(../../images/3d/index/menu04_on.png);
    background-size: cover;
}
#menu li:nth-child(5) {
    background: url(../../images/3d/index/menu05_off.png) no-repeat;
    background-size: cover;
}
#menu li:nth-child(5) a {
    background: url(../../images/3d/index/menu05_off.png) no-repeat;
    background-size: cover;
}
#menu li:nth-child(5) a:hover {
    background-image: url(../../images/3d/index/menu05_on.png);
    background-size: cover;
}
#menu li:nth-child(6) {
    background: url(../../images/3d/index/menu06_off.png) no-repeat;
    background-size: cover;
}
#menu li:nth-child(6) a {
    background: url(../../images/3d/index/menu06_off.png) no-repeat;
    background-size: cover;
}
#menu li:nth-child(6) a:hover {
    background-image: url(../../images/3d/index/menu06_on.png);
    background-size: cover;
}
#menu li .icon {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 343px;
	max-width: 70%;
   -webkit-transform: translate(-50%, -50%);
   transform: translate(-50%, -50%);
	z-index: 1;
}
@media (max-width: 1199px) {
	#menu li a {
		height: 350px;
	}
}
@media (max-width: 767px) {
	#menu li a {
		height: 180px;
	}
	#menu li .icon {
		width: 80%;
	}
}
@media (max-width: 850px) and (orientation: landscape) {
	#menu li a {
		height: 300px;
	}
}

/* TOP -works-
-------------------------------------------------------------- */
#works {
	text-align: center;
	padding: 6% 15px;
	color: #fff;
	background: #000;
}
#works h2 {
	font-size: 3rem;
	font-weight: 700;
	margin-bottom: 30px;
}
#works p {
	font-size: 1.6rem;
	margin-bottom: 30px;
}
#works .more {
	margin: 50px 0 0;
}
#works .more a {
	position:relative;
	z-index:2;
	overflow:hidden;
	transition-delay:0;
	border: 1px solid #fff;
	font-size: 1.5rem;
	color: #fff;
	text-align: left;
	line-height: 68px;
	padding: 0 50px;
	display: inline-block;
	width: 217px;
}
#works .more a::before {
	content: "→";
	font-size: 3rem;
	position: absolute;
	right: 15px;
	top: -2px;
}
#works .more a::after {
	display:block;
	content:"";
	position:absolute;
	z-index:-1;
	top:0;
	left:-100%;
	width:100%;
	height:100%;
	margin:0;
	background:#fff;
	transition:.3s;
	transition-delay:.4s
}
#works .more a:hover {
	color:#555;
	transition-delay:.4s;
	text-decoration: none;
}
#works .more a:hover::after {
	left:0;
	transition-delay:0
}
/* slick */
.slick-slide {
	overflow: hidden;
	border-left: 1px solid #000;
}
.slick-slide img {
	width: 100%;
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}
.slick-slide:hover img {
  -webkit-transform: scale(1.3);
  transform: scale(1.3);
}
/* Arrows */
.slick-prev,
.slick-next {
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: 50%;

    display: block;
    z-index: 99;

    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;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    opacity: 0.8;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
    opacity: 1;
}


.slick-prev:before,
.slick-next:before {
}

.slick-prev {
    left: 10px;
}
[dir='rtl'] .slick-prev {
    right: 10px;
    left: auto;
}
.slick-prev:before {
	content: url(../../images/3d/index/prev.png);
}
[dir='rtl'] .slick-prev:before {
	content: url(../../images/3d/index/prev.png);
}

.slick-next {
    right: 10px;
}
[dir='rtl'] .slick-next {
    right: auto;
    left: 10px;
}
.slick-next:before {
	content: url(../../images/3d/index/next.png);
}
[dir='rtl'] .slick-next:before {
	content: url(../../images/3d/index/next.png);
}

@media (max-width: 767px) {
	#works {
		padding: 15% 15px;
		font-size: 1.3rem;
		line-height: 2rem;
	}
	#works h2 {
		font-size: 2.4rem;
	}
	#works p {
		font-size: 1.3rem;
	}
	#works .more a {
		line-height: 50px;
	}
	#works .more a::before {
		top: 0;
	}

}

/* TOP -factory-
-------------------------------------------------------------- */
#ft {
	background: url(../../images/3d/index/bg02.png) no-repeat top center;
	background-size: cover;
	text-align: center;
	padding: 10% 15px;
	color: #fff;
	font-size: 1.6rem;
	line-height: 2.4;
}
#ft h2 {
	font-size: 2.5rem;
	font-weight: 700;
	margin-bottom: 30px;
}
#ft p {
	font-size: 1.6rem;
	margin-bottom: 30px;
}
#ft .more {
	margin: 50px 0 0;
}
#ft .more a {
	position:relative;
	z-index:2;
	overflow:hidden;
	transition-delay:0;
	border: 1px solid #fff;
	font-size: 1.5rem;
	color: #fff;
	text-align: left;
	line-height: 68px;
	padding: 0 50px;
	display: inline-block;
	width: 217px;
}
#ft .more a::before {
	content: "→";
	font-size: 3rem;
	position: absolute;
	right: 15px;
	top: -2px;
}
#ft .more a::after {
	display:block;
	content:"";
	position:absolute;
	z-index:-1;
	top:0;
	left:-100%;
	width:100%;
	height:100%;
	margin:0;
	background:#fff;
	transition:.3s;
	transition-delay:.4s
}
#ft .more a:hover {
	color:#555;
	transition-delay:.4s;
	text-decoration: none;
}
#ft .more a:hover::after {
	left:0;
	transition-delay:0
}

@media (max-width: 767px) {
	#ft {
		padding: 15% 15px;
		font-size: 1.3rem;
		line-height: 2rem;
	}
	#ft h2 {
		font-size: 2rem;
	}
	#ft p {
		font-size: 1.3rem;
		text-align: left;
	}
	#ft .more a {
		line-height: 50px;
	}
	#ft .more a::before {
		top: 0;
	}
}

/* SV
-------------------------------------------------------------- */
#sv {
	position: relative;
	text-align: center;
	padding: 80px 10px;
	text-align: center;
}
#sv h2 {
	font-size: 2.8rem;
	color: #fff;
}
#sv h2 span {
	display: block;
}
#sv img {
	width: 75px;
}
@media (max-width: 767px) {
	#sv {
		padding: 40px 10px;
	}
	#sv h2 {
		font-size: 2.1rem;
	}
	#sv h2 img {
		max-width: 50%;
	}
}

/* パンくず
-------------------------------------------------------------- */
.breadcrumb {
	background-color: #f2f2f2;
	font-size: 1.3rem;
	padding: 20px 0;
	margin-bottom: 60px;
}
.breadcrumb i {
	padding: 0 10px;
}
.breadcrumb a {
	font-size: 1.3rem;
	color: #6b6b6b;
	text-decoration: underline;
}
.breadcrumb a:hover {
	text-decoration: none;
}
@media (max-width: 767px) {
	.breadcrumb {
		padding: 20px 10px;
		margin-bottom: 10px;
	}
}

/* concept
-------------------------------------------------------------- */
#concept {
	margin-bottom: 50px;
}
#concept #sv {
	background: url(../../images/3d/concept/sv.jpg) no-repeat top center;
	background-size: cover;
}
#concept section {
	font-size: 1.8rem;
	margin-bottom: 80px;
}
#concept h3 {
	font-size: 2.5rem;
	font-weight: 700;
	background: #fff;
	border-left: 5px solid #f88804;
	padding: 20px;
	margin-bottom: 40px;
}
#concept .svg {
	margin: 50px 25% 0;
}
#concept section ul {
	margin: 30px 0 0;
}
#concept section ul li {
	margin-left: 1.6em;
}
#concept section ul li:before {
	content: "・";
	padding-right: 10px;
	float: left;
	margin-left: -1.6em;
}
#concept ol {
	overflow: hidden;
}
#concept ol li {
	position: relative;
	padding-bottom: 20px;
	margin-left: 5.5em;
	clear: both;
}
#concept ol li h4 {
	font-size: 2.0rem;
	font-weight: 700;
	padding-top: 25px;
	margin-bottom: 20px;
}
#concept ol li::before {
	content: "1";
	/* background: #ffc600 url(../../images/3d/concept/w1.png) no-repeat center; */
	/* background-size: 65%; */
	display: block;
	position: absolute;
	top: 0;
  left: -3em;
width: 62px;
height: 62px;
line-height: 62px;
font-size: 3rem;
font-weight: 700;
margin-right: 10px;
text-align: center;
border-radius: 50%;
background: #ffc600;
z-index: 10;
}
#concept ol li:nth-child(2)::before {
  content: "2";
	/* background: #ffc600 url(../../images/3d/concept/w2.png) no-repeat center;
	background-size: 65%; */
}
#concept ol li:nth-child(3)::before {
  content: "3";
	/* background: #ffc600 url(../../images/3d/concept/w3.png) no-repeat center;
	background-size: 65%; */
}
#concept ol li:nth-child(4)::before {
  content: "4";
	/* background: #ffc600 url(../../images/3d/concept/w4.png) no-repeat center;
	background-size: 65%; */
}
#concept ol li:nth-child(5)::before {
  content: "5";
	/* background: #ffc600 url(../../images/3d/concept/w5.png) no-repeat center;
	background-size: 65%; */
}
#concept ol li:nth-child(6)::before {
  content: "6";
	/* background: #ffc600 url(../../images/3d/concept/w6.png) no-repeat center;
	background-size: 65%; */
}
#concept ol li::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: -3.3em;
	display: block;
	width: 3px;
	height: 100vh;
	background:#ffc600;
	z-index: 1;
}
#concept ol li:last-child::after {
	height: 0;
}
#concept .tbl table {
	font-size: 1.6rem;
}
#concept .tbl h4 {
	font-size: 1.8rem;
	font-weight: 700;
	margin: 80px 0 20px;
}
#concept .tbl h4::before {
	content: "■";
	color: #ff7900;
	padding-right: 5px;
}
#concept .tbl th {
	background: #707070;
	color: #fff;
	text-align: center;
	font-weight: 700;
	padding: 10px 20px;
	border: 1px solid #bfbfbf;
}
#concept .tbl td {
	background: #fff;
	padding: 10px 20px;
}
#concept .tbl .gray {
	background: #d9d9d9;
	border: 1px solid #bfbfbf;
}
#concept .tbl .yellow {
	background: #fff2cc;
	border: 1px solid #bfbfbf;
}
#concept .tbl .yellow.left {
	border-top: 2px solid #ffc000;
	border-bottom: 2px solid #ffc000;
	border-left: 2px solid #ffc000;
}
#concept .tbl .yellow.right {
	border-top: 2px solid #ffc000;
	border-bottom: 2px solid #ffc000;
	border-right: 2px solid #ffc000;
}
#concept .tbl .yellow.center_top {
	border-top: 2px solid #ffc000;
}
#concept .tbl .yellow.center_bottom {
	border-bottom: 2px solid #ffc000;
}
#concept .tbl .blue {
	background: #ddebf7;
	border: 1px solid #bfbfbf;
}
#concept .tbl .blue.left {
	border-top: 2px solid #5b9bd5;
	border-bottom: 2px solid #5b9bd5;
	border-left: 2px solid #5b9bd5;
}
#concept .tbl .blue.right {
	border-top: 2px solid #5b9bd5;
	border-bottom: 2px solid #5b9bd5;
	border-right: 2px solid #5b9bd5;
}
#concept .tbl .blue.center_top {
	border-top: 2px solid #5b9bd5;
}
#concept .tbl .blue.center_bottom {
	border-bottom: 2px solid #5b9bd5;
}
#concept .tbl .white {
	border-right: 1px solid #bfbfbf;
}
#concept .tbl .white.last {
	border-bottom: 1px solid #bfbfbf;
}
#concept .tbl .white2 {
	border: 1px solid #bfbfbf;
}
#concept .tbl .orange.bg {
	background: #f48834;
	border: 2px solid #f48834;
}
#concept .tbl .orange {
	border: 1px solid #bfbfbf;
	border-top: 2px solid #f48834;
	border-bottom: 2px solid #f48834;
}
#concept .tbl .orange.right {
	border-top: 2px solid #f48834;
	border-bottom: 2px solid #f48834;
	border-right: 2px solid #f48834;
}
#concept .tbl .orange span {
	color: #f37f35;
	font-weight: 700;
}
#concept .tbl .tbl01 th {
	width: 250px;
}
#concept .tbl .tbl02 th:nth-child(2) {
	width: 33%;
}
#concept .tbl .tbl02 th {
	width: 25%;
}
#concept .more {
	overflow: hidden;
}
#concept .more li {
	position: relative;
	margin-bottom: 20px;
}
#concept .more a {
	display: block;
	height: 145px;
}
#concept .more p {
	color: #fff;
	font-size: 2.5rem;
	font-weight: 700;
	text-align: center;
	width: 90%;
	position: absolute;
	top: 50%;
	left: 50%;
	text-shadow:0px 0px 15px #000000;
   -webkit-transform: translate(-50%, -50%);
   transform: translate(-50%, -50%);
	z-index: 1;
}
#concept .more li:first-child a {
    background: url(../../images/3d/concept/banner01.jpg) no-repeat;
    background-size: cover;
}
#concept .more li:first-child a:hover {
    background-image: url(../../images/3d/concept/banner01_on.jpg);
    background-size: cover;
}
#concept .more li:first-child p::before {
	content: "";
	background: url(../../images/3d/concept/icon_01.png) no-repeat;
	background-size: contain;
	width: 80px;
	height: 77px;
	margin-right: 15px;
	display: inline-block;
	vertical-align: middle;
}
#concept .more li:last-child a {
    background: url(../../images/3d/concept/banner02.jpg) no-repeat;
    background-size: cover;
}
#concept .more li:last-child a:hover {
    background-image: url(../../images/3d/concept/banner02_on.jpg);
    background-size: cover;
}
#concept .more li:last-child p::before {
	content: "";
	background: url(../../images/3d/concept/icon_02.png) no-repeat;
	background-size: contain;
	width: 60px;
	height: 77px;
	margin-right: 15px;
	display: inline-block;
	vertical-align: middle;
}

@media (max-width: 767px) {
	#concept {
		margin-bottom: 50px;
	}
	#concept section {
		font-size: 1.4rem;
		margin-bottom: 30px;
	}
	#concept h3 {
		font-size: 2rem;
		padding: 15px;
		margin-bottom: 20px;
	}
	#concept .svg {
		margin: 20px 5% 10px;
	}
	#concept ol li {
		padding-bottom: 20px;
		margin-left: 5em;
	}
	#concept ol li h4 {
		font-size: 1.6rem;
		line-height: 1.4;
		padding-top: 10px;
		margin-bottom: 10px;
	}
	#concept ol li::before {
    left: -3em;
width: 42px;
height: 42px;
line-height: 42px;
font-size: 2rem;
	}
	#concept ol li::after {
		    left: -2.9em;
	}
	#concept .tbl table {
		font-size: 1.5rem;
	}
	#concept .tbl th,
	#concept .tbl td {
		white-space: nowrap;
	}
	.scroll-hint-icon {
		height: 100px!important;
		top: calc(50% - 60px)!important;
	}
	#concept .more p {
		font-size: 1.6rem;
	}
	#concept .more li:first-child p::before {
		width: 53px;
		height: 51px;
		margin-right: 5px;
	}
	#concept .more li:last-child p::before {
		width: 40px;
		height: 51px;
		margin-right: 10px;
	}
	#concept .more a {
		height: 90px;
	}
}

/* service
-------------------------------------------------------------- */
#service {
	margin-bottom: 50px;
}
#service #sv {
	background: url(../../images/3d/service/sv.jpg) no-repeat top center;
	background-size: cover;
}
#service .btnarea.fixed {
	position: fixed;
	top: 120px;
	z-index: 999;
	width: 1200px;
}
#service .btnarea {
	padding-bottom: 30px;
	margin-bottom: 30px;
}
#service .btnarea li {
	margin-bottom: 10px;
}
#service .btnarea li a {
	border: 1px solid #333;
	display: block;
	padding: 20px 40px 20px 30px;
	background: #fff;
	line-height: 1.5;
	font-size: 1.8rem;
	font-weight: 700;
	position: relative;
}
#service .btnarea li a::after {
	content: "＞";
	font-weight: 700;
	display: inline-block;
	position: absolute;
	top: 30%;
	right: 20px;
	transform: scale( 1.5 , 1) rotate(90deg);
}
#service .btnarea li a:hover {
	background: #333;
	color: #fff;
	text-decoration: none;
}
#service section {
	font-size: 1.8rem;
	margin-bottom: 50px;
}
#service section img {
	width: 100%;
}
#service h3 {
	font-size: 2.5rem;
	font-weight: 700;
	background: #fff;
	border-left: 5px solid #f88804;
	padding: 20px;
	margin-bottom: 40px;
}
#service h4 {
	font-size: 2.5rem;
	font-weight: 700;
	border-bottom: 1px solid #bfbfbf;
	padding: 12px 15px;
	margin-bottom: 40px;
	position: relative;
}
#service h4::before {
	content: "";
	background: #f88804;
	width: 5px;
	height: 30px;
	display: inline-block;
	position: absolute;
	top: 10px;
	left: 0;
}
#service .svg {
	margin: 20px 8% 70px;
}
#service .tbl h5 {
	font-size: 1.8rem;
	font-weight: 700;
	margin-bottom: 20px;
}
#service .tbl h5::before {
	content: "■";
	color: #ff7900;
	padding-right: 5px;
}
#service .tbl table {
	font-size: 1.6rem;
}
#service .tbl th {
	background: #707070;
	color: #fff;
	text-align: center;
	font-weight: 700;
	padding: 10px 20px;
	border: 1px solid #bfbfbf;
}
#service .tbl td {
	background: #fff;
	padding: 10px 20px;
}
#service .tbl .gray {
	background: #d9d9d9;
	border: 1px solid #bfbfbf;
}
#service .tbl .lgray {
	background: #f9f9f9;
}
#service .tbl .yellow {
	background: #fff2cc;
	border: 1px solid #bfbfbf;
}
#service .tbl .yellow.left {
	border-top: 2px solid #ffc000;
	border-bottom: 2px solid #ffc000;
	border-left: 2px solid #ffc000;
}
#service .tbl .yellow.right {
	border-top: 2px solid #ffc000;
	border-bottom: 2px solid #ffc000;
	border-right: 2px solid #ffc000;
}
#service .tbl .yellow.center_top {
	border-top: 2px solid #ffc000;
}
#service .tbl .yellow.center_bottom {
	border-bottom: 2px solid #ffc000;
}
#service .tbl .blue {
	background: #ddebf7;
	border: 1px solid #bfbfbf;
}
#service .tbl .blue.left {
	border-top: 2px solid #5b9bd5;
	border-bottom: 2px solid #5b9bd5;
	border-left: 2px solid #5b9bd5;
}
#service .tbl .blue.right {
	border-top: 2px solid #5b9bd5;
	border-bottom: 2px solid #5b9bd5;
	border-right: 2px solid #5b9bd5;
}
#service .tbl .blue.center_top {
	border-top: 2px solid #5b9bd5;
}
#service .tbl .blue.center_bottom {
	border-bottom: 2px solid #5b9bd5;
}
#service .tbl .white {
	border-right: 1px solid #bfbfbf;
}
#service .tbl .white.last {
	border-bottom: 1px solid #bfbfbf;
}
#service .tbl .white2 {
	border: 1px solid #bfbfbf;
}
#service .tbl .orange.bg {
	background: #f48834;
	border: 2px solid #f48834;
}
#service .tbl .orange {
	border-top: 2px solid #f48834;
	border-bottom: 2px solid #f48834;
}
#service .tbl .orange.right {
	border-top: 2px solid #f48834;
	border-bottom: 2px solid #f48834;
	border-right: 2px solid #f48834;
}
#service .tbl .orange.lr {
	border-bottom: 1px solid #bfbfbf;
	border-left: 2px solid #f48834;
	border-right: 2px solid #f48834;
}
#service .tbl .orange.bottom {
	border-left: 2px solid #f48834;
	border-right: 2px solid #f48834;
	border-bottom: 2px solid #f48834;
}
#service .tbl .orange.all {
	border: 2px solid #f48834;
}
#service .tbl .orange span {
	color: #f37f35;
	font-weight: 700;
}
#service .tbl .tbl01 {
	margin-bottom: 70px;
	width: 100%;
}
#service .tbl .tbl01 td {
	border: 1px solid #e7e7e7;
	font-size: 1.4rem;
	padding: 10px;
}
#service .tbl .tbl01 .line_orange {
	border: 4px solid #ffa200;
}
#service .tbl .tbl01 .line_orange_btm {
	border-left: 4px solid #ffa200;
	border-right: 4px solid #ffa200;
	border-bottom: 4px solid #ffa200;
}
#service .tbl .tbl02 {
	margin-bottom: 100px;
}
#service .tbl .tbl02 td {
	min-width: 300px;
	padding: 20px;
}
#service .tbl .tbl03 {
	margin-bottom: 80px;
}
#service .tbl .tbl03 th {
	width: 25%;
}
#service .tbl .tbl03 .orange {
	border-right: 1px solid #bfbfbf;
}
#service .tbl .tbl03 .orange.right {
    border-right: 2px solid #f48834;
}
#service .tbl .tbl04 {
	margin-bottom: 80px;
}
#service .tbl .tbl04 .orange {
	border-top: none;
}
#service .tbl .tbl05 {
	width: 100%;
}
#service .tbl .tbl06 {
	width: 900px;
	max-width: 100%;
}
#service .listarea {
	background: #e5e5e5;
	padding: 30px 40px 5px;
	margin-bottom: 50px;
}
#service .listarea dt {
	font-weight: 700;
	margin-left: 1.3rem;
	margin-bottom: 10px;
}
#service .listarea dt::before {
	content: "■";
	color: #ff7900;
	padding-right: 5px;
	float: left;
	margin-left: -1.3rem;
}
#service .listarea dd {
	margin-bottom: 40px;
}
#service .svg01 {
	padding-right: 50px;
}
#service .img01 {
	width: auto;
	float: right;
}
#service .att {
	font-size: 1.5rem;
	margin-top: 20px;
}
#service .att02 {
	font-size: 1.5rem;
	margin: 20px 0 60px;
}
#service .cap {
	font-size: 1.6rem;
	font-weight: 700;
	padding: 8px 15px;
	margin-bottom: 20px;
	position: relative;
}
#service .cap::before {
	content: "";
	background: #f88804;
	width: 5px;
	height: 20px;
	display: inline-block;
	position: absolute;
	top: 11px;
	left: 0;
}
#service .cap02 {
	font-size: 1.6rem;
}

#service .more_b {
	text-align: center;
}
#service .more_b a {
	position:relative;
	z-index:2;
	overflow:hidden;
	background: #333;
	border: 2px solid #333;
	font-size: 1.5rem;
	color: #fff;
	text-align: left;
	line-height: 58px;
	padding: 0 50px;
	display: inline-block;
	width: 217px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
#service .more_b a::before {
	content: "→";
	font-size: 3rem;
	position: absolute;
	right: 15px;
	top: -2px;
}
#service .more_b a:hover {
	color:#333;
	background: #fff;
	border: 2px solid #333;
	text-decoration: none;
}
#service .more_b a:hover::after {
	left:0;
	transition-delay:0
}
#service .more {
	overflow: hidden;
}
#service .more li {
	position: relative;
	margin-bottom: 20px;
}
#service .more a {
	display: block;
	height: 145px;
}
#service .more p {
	color: #fff;
	font-size: 2.5rem;
	font-weight: 700;
	text-align: center;
	width: 90%;
	position: absolute;
	top: 50%;
	left: 50%;
	text-shadow:0px 0px 15px #000000;
   -webkit-transform: translate(-50%, -50%);
   transform: translate(-50%, -50%);
	z-index: 1;
}
#service .more li:first-child a {
    background: url(../../images/3d/service/banner01.jpg) no-repeat;
    background-size: cover;
}
#service .more li:first-child a:hover {
    background-image: url(../../images/3d/service/banner01_on.jpg);
    background-size: cover;
}
#service .more li:first-child p::before {
	content: "";
	background: url(../../images/3d/service/icon_01.png) no-repeat;
	background-size: contain;
	width: 101px;
	height: 80px;
	margin-right: 5px;
	display: inline-block;
	vertical-align: middle;
}
#service .more li:last-child a {
    background: url(../../images/3d/service/banner02.jpg) no-repeat;
    background-size: cover;
}
#service .more li:last-child a:hover {
    background-image: url(../../images/3d/service/banner02_on.jpg);
    background-size: cover;
}
#service .more li:last-child p::before {
	content: "";
	background: url(../../images/3d/service/icon_02.png) no-repeat;
	background-size: contain;
	width: 68px;
	height: 85px;
	display: inline-block;
	vertical-align: middle;
}

@media (max-width: 1199px) {
	#service .btnarea.fixed {
		width: 970px;
		top: 100px;
	}
	#service .btnarea li a {
		font-size: 1.5rem;
	}
}
@media (max-width: 991px) {
	#service .btnarea.fixed {
		width: 750px;
		top: 80px;
	}
	#service .btnarea li a {
		padding: 15px 40px 15px 20px;
	}
}
@media (max-width: 767px) {
	#service {
		margin-bottom: 50px;
	}
	#service .btnarea.fixed {
		width: 100%;
		top: 90px;
	}
	#service section {
		font-size: 1.4rem;
		margin-bottom: 30px;
	}
	#service h3 {
		font-size: 2rem;
		padding: 15px;
		margin-bottom: 20px;
	}
	#service h4 {
		font-size: 1.8rem;
		margin-bottom: 20px;
		padding: 15px;
		position: relative;
	}
	#service .tbl h5 {
		font-size: 1.6rem;
	}
	#service .svg {
		margin: 0 5% 30px;
	}
	#service .tbl th, #service .tbl td {
		white-space: nowrap;
	}
	#service .tbl .mb-100 {
		margin-bottom: 50px;
	}
	#service .mb-50 {
		margin-bottom: 25px;
	}
	#service .tbl table {
		font-size: 1.5rem;
	}
	#service .tbl .tbl01 td {
		white-space: nowrap;
	}
	#service .tbl .tbl02 {
		margin-bottom: 50px;
	}
	#service .tbl .tbl02 td {
		min-width: 250px
	}
	#service .tbl .tbl03 {
		margin-bottom: 30px;
	}
	#service .tbl .tbl04 {
		margin-bottom: 40px;
	}
	#service .tbl .tbl05 {
		margin-bottom: 50px;
	}
	#service .tbl .tbl05 th, #service .tbl .tbl05 td {
		white-space: normal;
	}
	#service .att {
		margin-top: -30px;
		font-size: 1.3rem;
	}
	#service .att02 {
		font-size: 1.3rem;
	}
	#service .img01 {
		margin-bottom: 40px;
	}
	#service .listarea {
		padding: 20px 25px 5px;
		margin-bottom: 30px;
	}
	#service .listarea dt {
		font-size: 1.6rem;
	}
	#service .listarea dt::before {
		content: "■";
		color: #ff7900;
		padding-right: 5px;
	}
	#service .listarea dd {
		margin-bottom: 30px;
	}
	#service .svg01 {
		padding-right: 15px;
	}
	#service .img01 {
		width: auto;
		float: none;
	}
	#service .more a {
		height: 90px;
	}
	#service .more p {
		font-size: 1.6rem;
	}
	#service .more li:first-child p::before {
		width: 63px;
		height: 50px;
	}
	#service .more li:last-child p::before {
		width: 48px;
		height: 60px;
	}
}

/* price-flow
-------------------------------------------------------------- */
#price-flow {
	margin-bottom: 50px;
}
#price-flow #sv {
	background: url(../../images/3d/price-flow/sv.jpg) no-repeat top center;
	background-size: cover;
}
#price-flow #sv img {
	width: 102px;
}
#price-flow .btnarea.fixed {
	position: fixed;
	top: 120px;
	z-index: 999;
	width: 1200px;
}
#price-flow .btnarea {
	padding-bottom: 30px;
	margin-bottom: 30px;
}
#price-flow .btnarea li {
	margin-bottom: 10px;
}
#price-flow .btnarea li a {
	border: 1px solid #333;
	display: block;
	padding: 20px 40px 20px 30px;
	background: #fff;
	line-height: 1.5;
	font-size: 1.8rem;
	font-weight: 700;
	position: relative;
}
#price-flow .btnarea li a::after {
	content: "＞";
	font-weight: 700;
	display: inline-block;
	position: absolute;
	top: 30%;
	right: 20px;
	transform: scale( 1.5 , 1) rotate(90deg);
}
#price-flow .btnarea li a:hover {
	background: #333;
	color: #fff;
	text-decoration: none;
}
#price-flow section {
	font-size: 1.8rem;
	margin-bottom: 80px;
}
#price-flow section img {
	width: 100%;
}
#price-flow h3 {
	font-size: 2.5rem;
	font-weight: 700;
	background: #fff;
	border-left: 5px solid #f88804;
	padding: 20px;
	margin-bottom: 40px;
}
#price-flow h4 {
	font-size: 2.5rem;
	font-weight: 700;
	border-bottom: 1px solid #bfbfbf;
	padding: 12px 15px;
	position: relative;
}
#price-flow h4::before {
	content: "";
	background: #f88804;
	width: 5px;
	height: 30px;
	display: inline-block;
	position: absolute;
	top: 10px;
	left: 0;
}
#price-flow .tbl h5 {
	font-size: 1.8rem;
	font-weight: 700;
	margin-bottom: 10px;
	margin-left: 1.3em;
}
#price-flow .tbl h5::before {
	content: "■";
	color: #ff7900;
	padding-right: 5px;
	float: left;
	margin-left: -1.3em;
}
#price-flow .tbl table {
	font-size: 1.6rem;
}
#price-flow .tbl th {
	background: #707070;
	color: #fff;
	text-align: center;
	font-weight: 700;
	padding: 10px 20px;
	border: 1px solid #bfbfbf;
}
#price-flow .tbl td {
	background: #fff;
	padding: 10px 20px;
}
#price-flow .tbl .gray {
	background: #d9d9d9;
	border: 1px solid #bfbfbf;
}
#price-flow .tbl .lgray {
	background: #f9f9f9;
}
#price-flow .tbl .yellow {
	background: #fff2cc;
	border: 1px solid #bfbfbf;
}
#price-flow .tbl .yellow.left {
	border-top: 2px solid #ffc000;
	border-bottom: 2px solid #ffc000;
	border-left: 2px solid #ffc000;
}
#price-flow .tbl .yellow.right {
	border-top: 2px solid #ffc000;
	border-bottom: 2px solid #ffc000;
	border-right: 2px solid #ffc000;
}
#price-flow .tbl .yellow.center_top {
	border-top: 2px solid #ffc000;
}
#price-flow .tbl .yellow.center_bottom {
	border-bottom: 2px solid #ffc000;
}
#price-flow .tbl .blue {
	background: #ddebf7;
	border: 1px solid #bfbfbf;
}
#price-flow .tbl .blue.left {
	border-top: 2px solid #5b9bd5;
	border-bottom: 2px solid #5b9bd5;
	border-left: 2px solid #5b9bd5;
}
#price-flow .tbl .blue.right {
	border-top: 2px solid #5b9bd5;
	border-bottom: 2px solid #5b9bd5;
	border-right: 2px solid #5b9bd5;
}
#price-flow .tbl .blue.center_top {
	border-top: 2px solid #5b9bd5;
}
#price-flow .tbl .blue.center_bottom {
	border-bottom: 2px solid #5b9bd5;
}
#price-flow .tbl .white {
	border-right: 1px solid #bfbfbf;
}
#price-flow .tbl .white.last {
	border-bottom: 1px solid #bfbfbf;
}
#price-flow .tbl .white2 {
	border: 1px solid #bfbfbf;
}
#price-flow .tbl .orange.bg {
	background: #f48834;
	border: 2px solid #f48834;
}
#price-flow .tbl .orange {
	border-top: 2px solid #f48834;
	border-bottom: 2px solid #f48834;
}
#price-flow .tbl .orange.right {
	border-top: 2px solid #f48834;
	border-bottom: 2px solid #f48834;
	border-right: 2px solid #f48834;
}
#price-flow .tbl .orange.lr {
	border-bottom: 1px solid #bfbfbf;
	border-left: 2px solid #f48834;
	border-right: 2px solid #f48834;
}
#price-flow .tbl .orange.bottom {
	border-left: 2px solid #f48834;
	border-right: 2px solid #f48834;
	border-bottom: 2px solid #f48834;
}
#price-flow .tbl .orange.all {
	border: 2px solid #f48834;
}
#price-flow .tbl .orange span {
	color: #f37f35;
	font-weight: 700;
}
#price-flow .tbl .tbl01 {
	width: 100%;
}
#price-flow .tbl .tbl02 {
	margin: 20px 0 70px;
	width: 100%;
}
#price-flow .tbl .tbl02 td {
	border: 1px solid #e7e7e7;
	font-size: 1.4rem;
	padding: 10px;
}
#price-flow .tbl .tbl02 .line_orange {
	border: 4px solid #ffa200;
}
#price-flow .tbl .tbl02 .line_orange_btm {
	border-left: 4px solid #ffa200;
	border-right: 4px solid #ffa200;
	border-bottom: 4px solid #ffa200;
}
#price-flow .grayarea {
	background: #e5e5e5;
	padding: 30px;
	margin: 30px 0 40px;
}
#price-flow .grayarea dt {
	font-weight: 700;
	font-size: 2rem;
	margin-bottom: 20px;
}
#price-flow .grayarea .red {
	color: red;
	font-size: 1.5rem;
}
#price-flow .att {
	font-size: 1.6rem;
}
#price-flow .svg01 {
	margin: 0 10% 100px;
}
#price-flow .svg02 {
	margin: 0 18% 60px;
}
#price-flow .more {
	overflow: hidden;
}
#price-flow .more li {
	position: relative;
	margin-bottom: 20px;
}
#price-flow .more a {
	display: block;
	height: 145px;
}
#price-flow .more p {
	color: #fff;
	font-size: 2.5rem;
	font-weight: 700;
	text-align: center;
	width: 90%;
	position: absolute;
	top: 50%;
	left: 50%;
	text-shadow:0px 0px 15px #000000;
   -webkit-transform: translate(-50%, -50%);
   transform: translate(-50%, -50%);
	z-index: 1;
}
#price-flow .more li:first-child a {
    background: url(../../images/3d/price-flow/banner01.jpg) no-repeat;
    background-size: cover;
}
#price-flow .more li:first-child a:hover {
    background-image: url(../../images/3d/price-flow/banner01_on.jpg);
    background-size: cover;
}
#price-flow .more li:first-child p::before {
	content: "";
	background: url(../../images/3d/price-flow/icon_01.png) no-repeat;
	background-size: contain;
	width: 83px;
	height: 80px;
	margin: -5px 10px 0 0;
	display: inline-block;
	vertical-align: middle;
}
#price-flow .more li:last-child a {
    background: url(../../images/3d/price-flow/banner02.jpg) no-repeat;
    background-size: cover;
}
#price-flow .more li:last-child a:hover {
    background-image: url(../../images/3d/price-flow/banner02_on.jpg);
    background-size: cover;
}
#price-flow .more li:last-child p::before {
	content: "";
	background: url(../../images/3d/price-flow/icon_02.png) no-repeat;
	background-size: contain;
	width: 68px;
	height: 85px;
	margin-top: -10px;
	display: inline-block;
	vertical-align: middle;
}

@media (max-width: 1199px) {
	#price-flow .btnarea.fixed {
		width: 970px;
		top: 100px;
	}
	#price-flow .btnarea li a {
		font-size: 1.5rem;
	}
}
@media (max-width: 991px) {
	#price-flow .btnarea.fixed {
		width: 750px;
		top: 80px;
	}
	#price-flow .btnarea li a {
		padding: 15px 40px 15px 20px;
	}
}
@media (max-width: 767px) {
	#price-flow {
		margin-bottom: 50px;
	}
	#price-flow .btnarea.fixed {
		width: 100%;
		top: 90px;
	}
	#price-flow section {
		font-size: 1.4rem;
		margin-bottom: 30px;
	}
	#price-flow h3 {
		font-size: 2rem;
		padding: 15px;
		margin-bottom: 20px;
	}
	#price-flow h4 {
		font-size: 1.8rem;
		margin-bottom: 20px;
		padding: 15px;
		position: relative;
	}
	#price-flow .tbl h5 {
		font-size: 1.6rem;
	}
	#price-flow .svg01, #price-flow .svg02 {
		margin: 0 5% 30px;
	}
	#price-flow .tbl .tbl02 {
		margin: 0 auto 40px;
	}
	#price-flow .tbl02 td {
		white-space: nowrap;
	}
	#price-flow .tbl .mb-100 {
		margin-bottom: 50px;
	}
	#price-flow .mb-50 {
		margin-bottom: 25px;
	}
	#price-flow .tbl table {
		font-size: 1.5rem;
	}
	#price-flow .grayarea {
		padding: 20px 25px;
		margin: 30px 0 40px;
		font-size: 1.4rem;
	}
	#price-flow .grayarea dt {
		font-size: 1.6rem;
	}
	#price-flow .grayarea .red {
		font-size: 1.3rem;
	}
	#price-flow .more a {
		height: 90px;
	}
	#price-flow .more p {
		font-size: 1.6rem;
	}
	#price-flow .more li:first-child p::before {
		width: 52px;
		height: 50px;
		margin: -5px 5px 0 0;
	}
	#price-flow .more li:last-child p::before {
		width: 48px;
		height: 60px;
	}
}
/* knowledge
-------------------------------------------------------------- */
#knowledge {
	margin-bottom: 50px;
}
#knowledge #sv {
	background: url(../../images/3d/knowledge/sv.jpg) no-repeat top center;
	background-size: cover;
}
#knowledge #sv img {
	width: 101px;
}
#knowledge .btnarea.fixed {
	position: fixed;
	top: 120px;
	z-index: 999;
	width: 1200px;
}
#knowledge .btnarea {
	padding-bottom: 30px;
	margin-bottom: 30px;
}
#knowledge .btnarea li {
	margin-bottom: 10px;
}
#knowledge .btnarea li a {
	border: 1px solid #333;
	display: block;
	padding: 20px 40px 20px 30px;
	background: #fff;
	line-height: 1.5;
	font-size: 1.8rem;
	font-weight: 700;
	position: relative;
}
#knowledge .btnarea li a::after {
	content: "＞";
	font-weight: 700;
	display: inline-block;
	position: absolute;
	top: 30%;
	right: 20px;
	transform: scale( 1.5 , 1) rotate(90deg);
}
#knowledge .btnarea li a:hover {
	background: #333;
	color: #fff;
	text-decoration: none;
}
#knowledge section {
	font-size: 1.8rem;
	margin-bottom: 80px;
}
#knowledge section img {
	width: 100%;
}
#knowledge h3 {
	font-size: 2.5rem;
	font-weight: 700;
	background: #fff;
	border-left: 5px solid #f88804;
	padding: 20px;
	margin-bottom: 40px;
}
#knowledge h4 {
	font-size: 2.5rem;
	font-weight: 700;
	border-bottom: 1px solid #bfbfbf;
	padding: 12px 15px;
	position: relative;
}
#knowledge h4::before {
	content: "";
	background: #f88804;
	width: 5px;
	height: 30px;
	display: inline-block;
	position: absolute;
	top: 10px;
	left: 0;
}
#knowledge .tbl h5 {
	font-size: 1.8rem;
	font-weight: 700;
	margin-bottom: 10px;
	margin-left: 1.3em;
}
#knowledge .tbl h5::before {
	content: "■";
	color: #ff7900;
	padding-right: 5px;
	float: left;
	margin-left: -1.3em;
}
#knowledge .tbl table {
	font-size: 1.6rem;
}
#knowledge .tbl th {
	background: #707070;
	color: #fff;
	text-align: center;
	font-weight: 700;
	padding: 10px 20px;
	border: 1px solid #bfbfbf;
}
#knowledge .tbl td {
	background: #fff;
	padding: 10px 20px;
}
#knowledge .tbl .gray {
	background: #d9d9d9;
	border: 1px solid #bfbfbf;
}
#knowledge .tbl .lgray {
	background: #f9f9f9;
}
#knowledge .tbl .yellow {
	background: #fff2cc;
	border: 1px solid #bfbfbf;
}
#knowledge .tbl .yellow.left {
	border-top: 2px solid #ffc000;
	border-bottom: 2px solid #ffc000;
	border-left: 2px solid #ffc000;
}
#knowledge .tbl .yellow.right {
	border-top: 2px solid #ffc000;
	border-bottom: 2px solid #ffc000;
	border-right: 2px solid #ffc000;
}
#knowledge .tbl .yellow.center_top {
	border-top: 2px solid #ffc000;
}
#knowledge .tbl .yellow.center_bottom {
	border-bottom: 2px solid #ffc000;
}
#knowledge .tbl .blue {
	background: #ddebf7;
	border: 1px solid #bfbfbf;
}
#knowledge .tbl .blue.left {
	border-top: 2px solid #5b9bd5;
	border-bottom: 2px solid #5b9bd5;
	border-left: 2px solid #5b9bd5;
}
#knowledge .tbl .blue.right {
	border-top: 2px solid #5b9bd5;
	border-bottom: 2px solid #5b9bd5;
	border-right: 2px solid #5b9bd5;
}
#knowledge .tbl .blue.center_top {
	border-top: 2px solid #5b9bd5;
}
#knowledge .tbl .blue.center_bottom {
	border-bottom: 2px solid #5b9bd5;
}
#knowledge .tbl .white {
	border-right: 1px solid #bfbfbf;
}
#knowledge .tbl .white.last {
	border-bottom: 1px solid #bfbfbf;
}
#knowledge .tbl .white2 {
	border: 1px solid #bfbfbf;
}
#knowledge .tbl .orange.bg {
	background: #f48834;
	border: 2px solid #f48834;
}
#knowledge .tbl .orange {
	border-top: 2px solid #f48834;
	border-bottom: 2px solid #f48834;
}
#knowledge .tbl .orange.right {
	border-top: 2px solid #f48834;
	border-bottom: 2px solid #f48834;
	border-right: 2px solid #f48834;
}
#knowledge .tbl .orange.lr {
	border-bottom: 1px solid #bfbfbf;
	border-left: 2px solid #f48834;
	border-right: 2px solid #f48834;
}
#knowledge .tbl .orange.bottom {
	border-left: 2px solid #f48834;
	border-right: 2px solid #f48834;
	border-bottom: 2px solid #f48834;
}
#knowledge .tbl .orange.all {
	border: 2px solid #f48834;
}
#knowledge .tbl .orange span {
	color: #f37f35;
	font-weight: 700;
}
#knowledge .tbl .tbl01 {
	margin-bottom: 60px;
}
#knowledge .tbl .tbl01 th {
	width: 250px;
}
#knowledge .tbl .tbl02 {
	width: 100%;
}
#knowledge .tbl h6 {
	background: #f68824;
	color: #fff;
	text-align: center;
	padding: 15px;
	font-size: 1.8rem;
	font-weight: 700;
	border: 1px solid #d9dee3;
}

#knowledge .grayarea {
	background: #e5e5e5;
	padding: 30px;
	margin: 30px 0 40px;
}
#knowledge .grayarea dt {
	font-weight: 700;
	font-size: 2rem;
	display: inline-block;
	padding-bottom: 5px;
	margin-bottom: 40px;
	border-bottom: 3px solid #ffba16;
}
#knowledge .grayarea dd {
	margin-bottom: 30px;
}
#knowledge .grayarea dd p {
	margin-left: 1.3em;
}
#knowledge .grayarea dd a {
	color: #096bf0;
	text-decoration: underline;
}
#knowledge .grayarea dd a:hover {
	text-decoration: none;
}
#knowledge .grayarea .red {
	color: red;
	font-size: 1.5rem;
}
#knowledge .svg01 {
	margin: 0 15% 100px;
}
#knowledge .svg02 {
	width: 60%;
	margin: 30px 0;
}
#knowledge .svg03 {
	margin: 0 10% 50px;
}
#knowledge .cap {
	font-size: 1.6rem;
	line-height: 3;
}
#knowledge .more {
	overflow: hidden;
}
#knowledge .more li {
	position: relative;
	margin-bottom: 20px;
}
#knowledge .more a {
	display: block;
	height: 145px;
}
#knowledge .more p {
	color: #fff;
	font-size: 2.5rem;
	font-weight: 700;
	text-align: center;
	width: 90%;
	position: absolute;
	top: 50%;
	left: 50%;
	text-shadow:0px 0px 15px #000000;
   -webkit-transform: translate(-50%, -50%);
   transform: translate(-50%, -50%);
	z-index: 1;
}
#knowledge .more li:first-child a {
    background: url(../../images/3d/knowledge/banner01.jpg) no-repeat;
    background-size: cover;
}
#knowledge .more li:first-child a:hover {
    background-image: url(../../images/3d/knowledge/banner01_on.jpg);
    background-size: cover;
}
#knowledge .more li:first-child p::before {
	content: "";
	background: url(../../images/3d/knowledge/icon_01.png) no-repeat;
	background-size: contain;
	width: 80px;
	height: 77px;
	margin-right: 15px;
	display: inline-block;
	vertical-align: middle;
}
#knowledge .more li:last-child a {
    background: url(../../images/3d/knowledge/banner02.jpg) no-repeat;
    background-size: cover;
}
#knowledge .more li:last-child a:hover {
    background-image: url(../../images/3d/knowledge/banner02_on.jpg);
    background-size: cover;
}
#knowledge .more li:last-child p::before {
	content: "";
	background: url(../../images/3d/knowledge/icon_02.png) no-repeat;
	background-size: contain;
	width: 68px;
	height: 85px;
	margin-top: -10px;
	display: inline-block;
	vertical-align: middle;
}
@media (max-width: 767px) {
	#knowledge {
		margin-bottom: 50px;
	}
	#knowledge .btnarea.fixed {
		width: 100%;
		top: 90px;
	}
	#knowledge section {
		font-size: 1.4rem;
		margin-bottom: 30px;
	}
	#knowledge h3 {
		font-size: 2rem;
		padding: 15px;
		margin-bottom: 20px;
	}
	#knowledge h4 {
		font-size: 1.8rem;
		margin-bottom: 20px;
		padding: 15px;
		position: relative;
	}
	#knowledge .tbl h5 {
		font-size: 1.6rem;
	}
	#knowledge .svg01,
	#knowledge .svg03 {
		margin: 0 5% 30px;
	}
	#knowledge .svg02 {
		width: auto;
		margin: 20px 5%;
	}
	#knowledge .tbl01 th,
	#knowledge .tbl01 td {
		white-space: nowrap;
	}
	#knowledge .tbl .mb-100 {
		margin-bottom: 50px;
	}
	#knowledge .mb-50 {
		margin-bottom: 25px;
	}
	#knowledge .tbl table {
		font-size: 1.5rem;
	}
	#knowledge .cap {
		font-size: 1.2rem;
	}
	#knowledge .grayarea {
		padding: 20px 25px;
		margin: 30px 0 40px;
		font-size: 1.4rem;
	}
	#knowledge .grayarea dt {
		font-size: 1.6rem;
	}
	#knowledge .grayarea .red {
		font-size: 1.3rem;
	}
	#knowledge .more a {
		height: 90px;
	}
	#knowledge .more p {
		font-size: 1.6rem;
	}
	#knowledge .more li:first-child p::before {
		width: 53px;
		height: 51px;
		margin-right: 5px;
	}
	#knowledge .more li:last-child p::before {
		width: 48px;
		height: 60px;
	}
}

/* factory
-------------------------------------------------------------- */
#factory {
	padding-bottom: 60px;
}
#factory #sv {
	background: url(../../images/3d/factory/sv.jpg) no-repeat top center;
	background-size: cover;
}
#factory .ChangeElem_Panel {
	 display: none;
}
#factory .ChangeElem_Btn_Content {
  text-align: center;
  margin-bottom: 30px;
}
#factory .ChangeElem_Btn {
  border: 1px solid #333;
  background-color: #fff;
  color: #333;
  cursor: pointer;
  display: inline-block;
  font-size: 2rem;
  font-weight: 700;
  padding: 15px 25px;
  margin: 0 5px;
  position: relative;
  transition: all .3s ease-in-out;
  vertical-align: middle;
}
#factory .ChangeElem_Btn:hover,
#factory .ChangeElem_Btn.is-active {
  background: #000;
  box-sizing: border-box;
  color: #fff;
  outline: none;
}
#factory .ChangeElem_Panel {
	max-width: 100%;
	margin: 0 auto;
}
#factory .ChangeElem_Panel.f01 {
	width: 1008px;
}
#factory .ChangeElem_Panel.f02 {
	width: 1005px;
}
#factory .att {
	font-size: 1.6rem;
	margin-bottom: 10px;
}
#factory .att::before {
	content: "■";
	color: #ff8a00;
	margin-right: 5px;
}
.clickablemap area {
	border:none;
	outline:none;
}
img[usemap]{
	width:100%;
	height:auto;
}
#factory .more a {
	position: relative;
	display: block;
	margin: 90px auto 30px;
	width: 430px;
	max-width: 100%;
	height: 116px;
    background: url(../../images/3d/factory/bannar01.jpg) no-repeat;
    background-size: cover;
}
#factory .more p {
	color: #fff;
	font-size: 2.5rem;
	font-weight: 700;
	text-align: center;
	width: 90%;
	letter-spacing: 2px;
	position: absolute;
	top: 50%;
	left: 50%;
	text-shadow:0px 0px 15px #000000;
   -webkit-transform: translate(-50%, -50%);
   transform: translate(-50%, -50%);
	z-index: 1;
}
#factory .more a:hover {
    background-image: url(../../images/3d/factory/bannar02.jpg);
    background-size: cover;
}
#factory .more p::before {
	content: "";
	background: url(../../images/3d/factory/icon_01.png) no-repeat;
	background-size: contain;
	width: 90px;
	height: 84px;
	margin-right: 5px;
	display: inline-block;
	vertical-align: middle;
}
@media (max-width: 767px) {
	#factory li {
		margin-bottom: 20px;
	}
	#factory .ChangeElem_Btn {
		font-size: 1.5rem;
		padding: 10px 20px;
	}
	#factory .att {
		font-size: 1.3rem;
	}
	#cboxContent {
		margin: 15px;
		padding: 15px 15px 5px;
		border-radius: 10px;
	}
	#cboxTitle {
		bottom: 6px;
		font-size: 1.4rem;
	}
	#cboxClose {
		position: absolute;
		top: -15px;
		right: -15px;
		display: block;
		background: url(../../images/3d/colorbox/close.png) no-repeat top center;
		background-size: contain;
		width: 40px;
		height: 40px;
		text-indent: -9999px;
	}
	#cboxPrevious {
		left:15px;
		margin-top:-21px;
		background:url(../../images/3d/colorbox/prev.png) no-repeat top left;
		background-size: contain;
		width:46px;
		height:43px;
	}
	#cboxNext {
		right:15px;
		margin-top:-21px;
		background:url(../../images/3d/colorbox/next.png) no-repeat top right;
		background-size: contain;
		width:46px;
		height:43px;
	}
	#factory .more p {
		font-size: 1.6rem;
	}
	#factory .more p::before {
		width: 65px;
		height: 60px;
	}
	#factory .more a {
		height: 90px;
		margin: 40px auto 0;
	}
}

/* sample
-------------------------------------------------------------- */
#sample {
	background: #000;
	padding-bottom: 120px;
}
#sample .breadcrumb {
	color: #fff;
	background: #000;
}
#sample .breadcrumb a {
	color: #fff;
}
#sample #sv {
	background: url(../../images/3d/sample/sv.jpg) no-repeat top center;
	background-size: cover;
}
#sample #sv img {
	width: 66px;
}
#sample li {
	margin-bottom: 50px;
}
#sample li a {
	display: block;
	overflow: hidden;
}
#sample li a img {
	width: 100%;
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}
#sample li a:hover img {
  -webkit-transform: scale(1.3);
  transform: scale(1.3);
}
#sample li a h3 {
	border-left: 4px solid #f68825;
	color: #fff;
	margin: 25px 0;
	font-size: 1.6rem;
	padding-left: 10px;
}
@media (max-width: 767px) {
	#sample {
		padding-bottom: 50px;
	}
	#sample li {
		margin-bottom: 20px;
	}
	#sample li a {
		pointer-events: none;
	}
}
/* factory-tour
-------------------------------------------------------------- */
#factory-tour {
	margin-bottom: 100px;
}
#factory-tour #sv {
	background: url(../../images/3d/factory-tour/sv.jpg) no-repeat top center;
	background-size: cover;
}
#factory-tour #sv img {
	width: 120px;
}
#factory-tour h3 {
	font-size: 2.5rem;
	font-weight: 700;
	background: #fff;
	border-left: 5px solid #f88804;
	padding: 20px;
	margin-bottom: 40px;
}
#factory-tour #about {
	font-size: 1.8rem;
	margin-bottom: 50px;
}
#factory-tour #about strong {
	font-size: 2.4rem;
	padding-bottom: 10px;
	margin-bottom: 20px;
	display: inline-block;
	border-bottom: 2px dotted #b5b5b5;
}
#factory-tour #flow {
	font-size: 1.8rem;
	margin-bottom: 50px;
}
#factory-tour #flow ol {
	overflow: hidden;
}
#factory-tour #flow li {
	position: relative;
	padding-bottom: 80px;
	margin-left: 5.5em;
	clear: both;
}
#factory-tour #flow a {
	color: #096bf0;
	text-decoration: underline;
}
#factory-tour #flow a:hover {
	text-decoration: none;
}
#factory-tour #flow li p {
	padding-top: 20px;
}
#factory-tour #flow li:first-child p {
	padding-top: 5px;
}
#factory-tour #flow li::before {
	content: "1";
	display: block;
	position: absolute;
	top: 0;
	left: -3em;
	width: 72px;
	height: 72px;
	line-height: 72px;
	font-size: 3rem;
	font-weight: 700;
	margin-right: 10px;
	text-align: center;
	border-radius: 50%;
	background: #ffc600;
	z-index: 10;
}
#factory-tour #flow li:nth-child(2)::before {
	content: "2";
}
#factory-tour #flow li:nth-child(3)::before {
	content: "3";
}
#factory-tour #flow li:nth-child(4)::before {
	content: "4";
}
#factory-tour #flow li::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: -3em;
	display: block;
	width: 3px;
	height: 100vh;
	background:#ffc600;
	z-index: 1;
}
#factory-tour #flow li:nth-child(4)::after {
	height: 0;
}
#factory-tour #att {
	font-size: 1.8rem;
	margin-bottom: 50px;
}
#factory-tour .more {
	text-align: center;
}
#factory-tour .more a {
	text-transform: uppercase;
	transition: 0.5s;
	background-image: linear-gradient(to right, #FF512F 0%, #F09819 51%, #FF512F 100%);
	background-size: 200% auto;
	font-size: 1.7rem;
	font-weight: 700;
	color: #fff;
	text-align: left;
	padding: 0 50px;
	line-height: 67px;
	width: 295px;
	position: relative;
	display: inline-block;
}
#factory-tour .more a::after {
	content: "→";
	font-size: 3rem;
	position: absolute;
	right: 15px;
	top: -2px;
}
#factory-tour .more a:hover {
	text-decoration: none;
	background-position: right center;
}
@media (max-width: 767px) {
	#factory-tour {
		margin-bottom: 50px;
	}
	#factory-tour h3 {
		font-size: 2rem;
		padding: 15px;
		margin-bottom: 20px;
	}
	#factory-tour #about {
		font-size: 1.4rem;
		margin-bottom: 40px;
	}
	#factory-tour #about strong {
		font-size: 2rem;
		line-height: 1.5;
	}
	#factory-tour #flow {
		font-size: 1.4rem;
		margin-bottom: 0px;
	}
	#factory-tour #flow li {
		padding-bottom: 40px;
		margin-left: 5em;
	}
	#factory-tour #flow li p {
		padding-top: 10px;
	}
	#factory-tour #flow li::before {
		left: -3em;
		width: 42px;
		height: 42px;
		line-height: 42px;
		font-size: 2rem;
	}
	#factory-tour #flow li::after {
		left: -2.9em;
	}
	#factory-tour #att {
		font-size: 1.4rem;
		margin-bottom: 30px;
	}
	#factory-tour .more {
		text-align: center;
	}
	#factory-tour .more a {
		font-size: 1.5rem;
		padding: 0 30px;
		line-height: 60px;
		width: 250px;
	}
}
@media (max-width: 375px) {
	#factory-tour #flow li p {
		padding-top: 5px;
	}
}


/* contact
--------------------------------------------------------------
せやBootstrapなんて無視したろ！
*/
#contact_3d #sv {
    background: url(../../images/3d/contact/sv.jpg) no-repeat top center;
    background-size: cover;
}
#contact_3d h3{font-size: 2.4rem;
padding-bottom: 10px;
font-weight: bold;
margin-bottom: 20px;}
#contact_3d h4{font-size: 2rem;
padding-bottom: 10px;
font-weight: bold;
margin-bottom: 20px;}
#contact_3d .red{color: #ff002a;}
#contact_3d .fs-15{font-size: 1.5rem;}
#contact_3d .bdr-gray{border-bottom: 2px dotted #b5b5b5;}
#contact_3d .mb3e{margin-bottom: 3em;}
#contact_3d .pb1e{padding-bottom: 1em;}
#contact_3d .pb2e{padding-bottom: 2em;}

#contact_3d .flex-container-12{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#contact_3d .flex-grid-05{
  width: 41.6%;
}
#contact_3d .flex-grid-04{
  width: 33.3%;
}
@media (max-width: 767px) {
  #contact_3d .flex-grid-05{
    width: 100%;
  }
  #contact_3d .flex-grid-04{
    width: 60%;
  }
}
@media (max-width: 320px) {
  #contact_3d .flex-grid-04{
    width: 100%;
  }
}

#contact_3d .container p{
  font-size: 1.6rem;
  margin-bottom: 2em;
}
#contact_3d .container p a{
  color: #7c7c7c;
  text-decoration: underline;
}
@media (min-width: 1200px){
#contact_3d .w-70{
  width: 70%;
}}
section.inquiry-form {
  padding-top: 1em;
  font-size: 1.6rem;

}

section.inquiry-form input, section.inquiry-form textarea {
  display: inline-block;
  border: #c5c5c5 1px solid;
  background: #fff;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  color: #333;
  -webkit-box-shadow: rgba(255, 255, 255, 0.4) 0 0px 0, inset rgba(0, 0, 0, 0.7) 0 0px 0px;
  -moz-box-shadow: rgba(255, 255, 255, 0.4) 0 0px 0, inset rgba(0, 0, 0, 0.7) 0 0px 0px;
  box-shadow: rgba(255, 255, 255, 0.4) 0 0px 0, inset rgba(0, 0, 0, 0.7) 0 0px 0px;
  padding: 8px;
  width: 100%;
}

section.inquiry-form input:focus, section.inquiry-form textarea:focus {
  outline: 0;
  background: #fff;
  color: #333;
}

section.inquiry-form textarea {
  resize: vertical;
}

section.inquiry-form dl {
  margin-bottom: 1em;
  line-height: 2;
}

section.inquiry-form dt {
  font-weight: bold;
  width: 25%;
  display: inline-block;
  vertical-align: top;
}

section.inquiry-form dt em {
  color: #ff002a;
  padding-left: 0.5em;
  font-style: normal;
}

@media screen and (max-width: 768px) {
  section.inquiry-form dt {
    width: 100%;
  }
}

section.inquiry-form dd {
  display: inline-block;
  width: 70%;
  line-height: 1.75;
}
section.inquiry-form dd.p35 {
  width: 35%;
}
@media screen and (max-width: 768px) {
  section.inquiry-form dd.p35 {
    width: 100%;
  }
}
section.inquiry-form dd.p10 {
  width: 10%;
}
@media screen and (max-width: 768px) {
  section.inquiry-form dd.p10 {
    width: 100%;
  }
}
section.inquiry-form dd p{
  margin-bottom: 0!important;
}
section.inquiry-form dd ul {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: flex-start;
  width: 100%;
  flex-wrap: wrap;
}

section.inquiry-form dd ul li {
  width: 17%;
}
section.inquiry-form dd ul.p35 li {
  width: 35%;
}
section.inquiry-form dd ul.p30 li {
  width: 32%;
}
@media screen and (max-width: 768px) {
  section.inquiry-form dd ul.p30 li, section.inquiry-form dd ul.p35 li{
    width: 100%;
  }
}

section.inquiry-form dd ul li input {
  width: auto;
}

@media screen and (max-width: 768px) {
  section.inquiry-form dd ul li {
    width: 49%;
  }
}

@media screen and (max-width: 768px) {
  section.inquiry-form dd {
    width: 100%;
  }
}

section.inquiry-form h3 {
  margin: 48px 0;
}

section.inquiry-form .inquiry-btn {
  margin-top: 60px;
  text-align: center;
  margin-bottom: 4em!important;
}
section.inquiry-form .inquiry-btn input{
  border: none;
  text-transform: uppercase;
  transition: 0.5s;
  background-image: linear-gradient(to right, #FF512F 0%, #F09819 51%, #FF512F 100%);
  background-size: 200% auto;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  text-align: left;
  padding: 0 60px;
  line-height: 68px;
  width: auto;
  position: relative;
  display: inline-block;
}
section.inquiry-form .inquiry-btn input:hover{
  text-decoration: none;
  background-position: right center;
}

section.inquiry-form p.captcha {
  text-align: center;
  padding-top: 1em;
}
section.inquiry-form p.captcha span.red{
  color: #ff002a;
}
section.inquiry-form p.captcha input{
  width: 20%;
}
@media screen and (max-width: 768px) {
  section.inquiry-form p.captcha input{
    width: 50%;
  }
}

/* footer
-------------------------------------------------------------- */
footer #contact {
	background: url(../../images/3d/common/bg_form.png) no-repeat top center;
	background-size: cover;
	text-align: center;
	padding: 5% 15px;
	color: #fff;
	font-size: 1.6rem;
	line-height: 2.4;
}
footer #contact h2 {
	font-size: 2.5rem;
	font-weight: 700;
	margin-bottom: 30px;
}
footer #contact p {
	font-size: 1.6rem;
	margin-bottom: 30px;
}
footer #contact .contactbox {
	width: 600px;
	margin: 0 auto;
}
footer #contact .contactbox li:first-child a {
	color: #fff;
	padding-top: 6px;
	display: block;
	font-size: 1.3rem;
}
footer #contact .contactbox li:first-child img {
	display: block;
}

footer #contact .contactbox li:last-child a {
	text-transform: uppercase;
	transition: 0.5s;
	background-image: linear-gradient(to right, #FF512F 0%, #F09819 51%, #FF512F 100%);
	background-size: 200% auto;
	font-size: 1.6rem;
	font-weight: 700;
	color: #fff;
	text-align: left;
	padding: 0 60px;
	line-height: 68px;
	width: 300px;
	position: relative;
	display: inline-block;
}
footer #contact .contactbox li:last-child a::before{
	content: "";
	background: url(../../images/3d/common/icon_mail.png) no-repeat;
	background-size: contain;
	position: absolute;
	display: block;
	left: 26px;
	top: 25px;
	width: 25px;
	height: 19px;
}
footer #contact .contactbox li:last-child a::after {
	content: "→";
	font-size: 3rem;
	position: absolute;
	right: 15px;
	top: -2px;
}
footer #contact .contactbox li:last-child a:hover {
	text-decoration: none;
	background-position: right center;
}
footer .fnav {
	background: #1e1e1e;
	position: relative;
	z-index: 1;
}
footer .inner {
	width: 1000px;
	margin: 0 auto;
	overflow: hidden;
}
footer .fnav a {
	color: #fff;
	font-size: 1.3rem;
}
footer .fnav ul {
	float: left;
	margin: 2% 0;
	padding: 0 20px;
}
footer .fnav ul > li {
	margin-bottom: 3px;
}
footer .fnav ul > li.fb {
	font-weight: 700;
	margin-top: 15px;
}
footer .fnav ul > li.fb img {
	padding-right: 5px;
	vertical-align: top;
	width: 25px;
}
footer .fnav ul > li > ul {
	float: none;
}
footer .fnav ul > li > ul > li {
	margin-left: -1.2em;
}
footer .fnav ul > li > ul > li:before {
	content: "-";
	padding-right: 5px;
	color: #fff;
	float: left;
	margin-left: 1.2em;
}
footer .finfo {
	background: #000;
	color: #bdbdbd;
	font-size: 1.3rem;
	position: relative;
	z-index: 10;
}

footer .finfo .txt {
	margin: 30px 0;
}
footer .finfo .flogo {
	margin-bottom: 20px;
}
footer .finfo .txt strong {
	color: #fff;
	display: block;
}
footer .fimg {
	width: 1000px;
	margin: -190px auto 0;
	position: relative;
	z-index: 999;
	text-align: right;
}
footer .copy {
	font-size: 1.1rem;
	background: #191919;
	color: #868686;
	padding: 5px;
}
@media (max-width: 1199px) {
	footer .inner {
		width: auto;
		padding: 0 15px;
		margin: 0 auto;
		overflow: hidden;
	}
	footer .fnav ul {
		width: 50%;
	}
	footer .fnav ul:nth-child(3) {
		clear: both;
	}
	footer .fnav ul > li > ul {
		width: 100%;
	}
	footer .finfo .txt {
		width: 65%;
	}
	footer .fimg {
		width: auto;
		margin: -190px auto 0;
		position: relative;
		z-index: 999;
		text-align: right;
	}
}
@media (max-width: 767px) {
	footer #contact  {
		background: url(../../images/3d/common/bg_form.png) no-repeat 70% 0;
		background-size: cover;
		padding: 15% 15px;
		font-size: 1.3rem;
		line-height: 2rem;
	}
	footer #contact  h2 {
		font-size: 2.4rem;
	}
	footer #contact  p {
		font-size: 1.3rem;
	}
	footer #contact .contactbox {
		width: 80%;
	}
	footer #contact .contactbox li:first-child a img {
		margin-bottom: 10px;
		display: inline-block;
	}
	footer #contact .contactbox li:last-child {
		margin-top: 20px;
	}
	footer #contact .contactbox li:last-child a {
		width: 100%;
		font-size: 1.5rem;
	}
	footer .inner {
		padding: 5% 0;
	}
	footer .fnav ul {
		width: 100%;
		float: none;
	}
	footer .finfo {
		padding: 0 20px;
	}
	footer .flogo {
		text-align: center;
	}
	footer .finfo .txt {
		width: 100%;
		margin-bottom: 0;
	}
	footer .fimg {
		margin: 0 auto;
		padding-bottom: 10px;
		text-align: center;
		bottom: 0;
		right: 0;
		background: #000;
	}
	footer .fimg img {
		width: 150px;
	}
}
@media (max-width: 320px) {
	footer #contact .contactbox {
		width: 95%;
	}
}

/*page-top*/
#Pagetop {
  position:fixed;
  bottom: 110px;
  right:3%;
  cursor:pointer;
  width: 58px;
  height: 58px;
  z-index: 9999;
  opacity: 0.8;
  display: none;
}

#Pagetop p {
  background-color: #333333;
  color: #fff;
  font-size: 2.5rem;
  text-align: center;
  border-radius: 50%;
  line-height: 75px;
  height: 70px;
  width: 70px;
  padding: 0;
  margin: 0;
  /* box-shadow: 1px 1px 2px rgba(255,255,255,.5), -1px -1px 2px rgba(255,255,255,.5); */
}

@media (max-width: 767px) {
	#Pagetop {
		bottom: 10px;
		right: 10px;
		width: 40px;
		height: 40px;
	}
	#Pagetop p {
		width: 40px;
		height: 40px;
		line-height: 40px;
		font-size: 2rem;
	}
}

/*追加CSSです - Takeda*/
/*工場紹介・屋外*/
.factory-appearance h4 {
  font-size: 1.3em;
  text-align: center;
  padding: 1rem 0; }
  @media screen and (max-width: 767px) {
    .factory-appearance h4 {
      font-size: 1.0833333333em; } }

.factory-appearance .col1, .factory-appearance .col2 {
  margin-bottom: 5rem; }
  @media screen and (max-width: 767px) {
    .factory-appearance .col1, .factory-appearance .col2 {
      margin-bottom: 2.5rem; } }

.factory-appearance .col1 {
  width: 100%; }

.factory-appearance .col2 ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: space-between;
  justify-content: space-between; }
  .factory-appearance .col2 ul li {
    width: 48%;
    text-align: center; }

.factory-appearance .movie-area {
  text-align: center; }
  .factory-appearance .movie-area .movie-ratio {
    width: 100%;
    padding-bottom: 56.25%;
    height: 0px;
    position: relative; }
  .factory-appearance .movie-area iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    @media screen and (max-width: 767px) {
      .factory-appearance .movie-area iframe {
        width: 100%; } }

@media screen and (min-width: 769px){
	#mw_wp_form_mw-wp-form-794 section.inquiry-form dd ul.p35 li,
	#mw_wp_form_mw-wp-form-794 section.inquiry-form dd ul.p30 li{
		width: 50%;
	}
}