@charset "utf-8";



/* --------------------------------------------------------------------------------
reset
-------------------------------------------------------------------------------- */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, main, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}



/* --------------------------------------------------------------------------------
essential
-------------------------------------------------------------------------------- */

body {
	position: relative;
	text-align: left;
	font-family: YuMincho, "Yu Mincho", "游明朝", "Yu Mincho Pr6 M", "Hiragino Mincho ProN", "MS PMincho", serif;
	font-size: 18px;
	line-height: 32px;
	color: #000000;
	letter-spacing: 0.05em;
	-webkit-text-size-adjust: none;
}
a {
	text-decoration: none;
	color: #000000;
}
h1 {
	font-size: 30px;
}
h2 {
	font-size: 26px;
}
h3 {
	font-size: 22px;
}
h4 {
	font-size: 18px;
}
p.note {
	font-size: 14px;
}
p.indent {
	text-indent: -1em;
	padding-left: 1em;
}
sup {
	font-size: 80%;
	vertical-align: 12.5%;
}



/* --------------------------------------------------------------------------------
misc
-------------------------------------------------------------------------------- */

img {
	display: block;
	max-width: 100%;
	height: auto;
}
hr {
	height: 1px;
	border-width: 1px 0px 0px 0px;
	border-style: solid;
	border-color: #000000;
	margin: 20px 0px;
}
*.clearfix {
	zoom: 1;
}
*.clearfix:before,
*.clearfix:after {
	content: "";
	display: table;
}
*.clearfix:after {
	clear: both;
}
*.margin-bottom {
	margin-bottom: 20px;
}



/* --------------------------------------------------------------------------------
header
-------------------------------------------------------------------------------- */

header#header {
	position: fixed;
	width: 100%;
	left: 0px;
	top: 0px;
	z-index: 10;
	background-color: #ffffff;
}
header#header div.inner-header {
	width: 1100px;
	margin: auto;
}
header#header div.inner-header h1#logo {
	float: left;
	padding-top: 15px;
}
header#header div.inner-header h1#logo img {
	width: auto;
	height: 43px;
}
header#header div.inner-header p.tel {
	float: right;
	padding-top: 10px;
}
header#header div.inner-header p.tel span {
	display: block;
}
header#header div.inner-header p.tel span.num {
	font-size: 26px;
	letter-spacing: 0.075em;
}
header#header div.inner-header p.tel span.num i {
	display: inline-block;
	width: 20px;
	height: 32px;
	vertical-align: -6px;
	background: url(../../images/icon-tel.png) no-repeat left center;
	background-size: auto 21px;
}
header#header div.inner-header p.tel span.note {
	font-size: 11px;
	line-height: 20px;
	letter-spacing: 0.025em;
}
header#header div.inner-header nav#navi {
	position: relative;
	float: right;
	width: 300px;
	height: 70px;
	line-height: 70px;
	margin-right: 20px;
}
header#header div.inner-header nav#navi ul li {
	float: left;
	width: 100px;
	text-align: center;
	font-size: 20px;
}
header#header div.inner-header nav#navi ul li a {
	display: block;
}
header#header div.inner-header nav#navi hr {
	position: absolute;
	width: 100px;
	height: 0px;
	left: 0px;
	bottom: 0px;
	border-top-width: 2px;
	margin: 0px;
}



/* --------------------------------------------------------------------------------
content
-------------------------------------------------------------------------------- */

div#content section div.inner-section {
	padding-bottom: 240px;
}
div#content section#menu {
	background: url(../../images/menu-background.jpg) no-repeat center;
	background-size: cover;
}
div#content section#menu div.inner-section {
	position: relative;
	height: 100%;
	padding-bottom: 0px;
}
div#content section#menu div.column {
	position: absolute;
	width: 1020px;
	left: 50%;
	top: 50%;
	margin: -295px 0px 0px -510px;
}
div#content section#menu div.column div.row {
	float: left;
	width: 240px;
	margin: 0px 47px;
	padding: 2px;
	border: 1px solid #ffffff;
}
div#content section#menu div.column div.row div.inner-row {
	padding: 30px 0px 20px 0px;
	background-color: rgba(255, 255, 255, 0.2);
}
div#content section#menu div.column div.row h2,
div#content section#menu div.column div.row p.image {
	margin-bottom: 20px;
}
div#content section#menu div.column div.row h2 {
	padding-left: 10px;
}
div#content section#menu div.column div.row h2 img,
div#content section#menu div.column div.row p.image img {
	width: auto;
	margin: auto;
}
div#content section#menu div.column div.row h2 img {
	height: 182px;
}
div#content section#menu div.column div.row p.image img {
	height: 330px;
}
div#content section#menu div.column div.row p.button-detail a {
	display: block;
	width: 178px;
	height: 48px;
	text-align: center;
	text-indent: 0.75em;
	line-height: 48px;
	color: #ffffff;
	border: 1px solid #ffffff;
	background-color: #6db7c8;
	margin: auto;
	padding-left: 0.05em;
	transition: color, background-color 0.25s;
}
div#content section#menu div.column div.row p.button-detail a:hover {
	color: #6db7c8;
	background-color: #ffffff;
}
div#content section#menu div.column div.row p.button-detail a span {
	display: block;
	background: url(../../images/bullet-01.png) no-repeat 15px center;
	background-size: auto 15px;
}
div#content section#menu div.column div.row p.button-detail a:hover span {
	background-image: url(../../images/bullet-01-active.png);
}
div#content section div.cover {
	position: relative;
	height: 980px;
	margin-bottom: 200px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
div#content section#shinbi div.cover {
	background-image: url(../../images/shinbi-image-main.jpg);
}
div#content section#tensho div.cover {
	background-image: url(../../images/tensho-image-main.jpg);
}
div#content section#towa div.cover {
	background-image: url(../../images/towa-image-main.jpg);
}
div#content section div.cover h2,
div#content section div.cover p.catch,
div#content section div.cover p.description {
	position: absolute;
	left: 50%;
}
div#content section div.cover h2 {
	top: 70px;
	margin-left: 315px;
}
div#content section div.cover h2 img {
	width: auto;
	height: 291px;
}
div#content section div.cover p.catch {
	bottom: 262px;
	margin-left: -500px;
}
div#content section div.cover p.catch img {
	width: 100px;
	height: auto;
}
div#content section div.cover p.description {
	width: 560px;
	bottom: 50px;
	letter-spacing: 0em;
	margin-left: -500px;
}
div#content section div.block {
	margin-bottom: 200px;
}
div#content section div.block header {
	text-align: center;
	margin-bottom: 120px;
}
div#content section div.block header h3 {
	font-size: 40px;
	line-height: 1em;
	letter-spacing: 0.15em;
	margin-bottom: 40px;
	padding-left: 0.15em;
}
div#content section div.block header hr {
	width: 20px;
	border-top-width: 2px;
	margin: auto;
}
div#content section div.block-feature div.content {
	position: relative;
	padding-left: 50%;
}
div#content section div.block-feature div.content div.image {
	position: absolute;
	width: 490px;
	height: 340px;
	left: 50%;
	top: 50%;
	margin: -170px 0px 0px -590px;
}
div#content section div.block-feature div.content div.image p.row {
	position: absolute;
}
div#content section div.block-feature div.content div.text div.row {
	width: 460px;
	margin-bottom: 120px;
}
div#content section div.block-feature div.content div.text div.row:last-child {
	margin-bottom: 0px;
}
div#content section div.block-feature div.content div.text div.row h4 {
	font-size: 30px;
	margin-bottom: 30px;
}
div#content section div.block-use div.content p.description {
	text-align: center;
	margin-bottom: 80px;
}
div#content section div.block-use div.content div.column {
	width: 810px;
	margin: auto;
}
div#content section div.block-use div.content div.column div.row {
	float: left;
	margin: 0px 40px;
}
div#content section div.block-use div.content div.column div.row p.image img {
	width: auto;
	height: 370px;
}
div#content section div.block-spec div.content div.column {
	width: 1000px;
	margin: auto;
}
div#content section div.block-spec div.content div.column div.row {
	float: left;
	width: 340px;
	text-align: center;
	margin: 0px 80px;
}
div#content section div.block-spec div.content div.column div.row div.headline {
	display: table;
	width: 100%;
	height: 100px;
	color: #ffffff;
	margin-bottom: 20px;
	background-color: #000000;
}
div#content section div.block-spec div.content div.column div.row div.headline h4 {
	display: table-cell;
	vertical-align: middle;
	font-size: 30px;
	line-height: 40px;
	padding-top: 5px;
}
div#content section div.block-spec div.content div.column div.row div.headline h4 span {
	display: block;
}
div#content section div.block-spec div.content div.column div.row p.size {
	letter-spacing: 0em;
	margin: 0px -20px 40px -20px;
}
div#content section div.block-spec div.content div.column div.row div.color p.image {
	float: left;
	width: 50%;
	font-size: 16px;
}
div#content section div.block-spec div.content div.column div.row div.color p.image img {
	margin: 0px auto 10px auto;
}
div#content section div.block-spec div.content div.column-type {
	margin-bottom: 100px;
}
div#content section div.block-spec div.content div.detail {
	width: 480px;
	margin: 0px auto 100px auto;
	padding: 40px;
	background-color: #fafafa;
}
div#content section div.block-spec div.content div.detail table {
	width: 100%;
	margin-bottom: 20px;
}
div#content section div.block-spec div.content div.detail table th,
div#content section div.block-spec div.content div.detail table td {
	font-size: 16px;
	padding-bottom: 10px;
}
div#content section div.block-spec div.content div.detail table tr:last-child th,
div#content section div.block-spec div.content div.detail table tr:last-child td {
	padding-bottom: 0px;
}
div#content section div.block-spec div.content div.detail table th {
	width: 90px;
}
div#content section div.block-spec div.content div.detail p.note {
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0em;
	margin-right: -20px;
}
div#content section div.block-spec div.content div.detail p.patent {
	text-align: center;
	font-size: 14px;
	line-height: 1em;
}
div#content section div.block-spec div.content div.detail p.patent span {
	display: inline-block;
	border: 1px solid #000000;
	padding: 3px;
}
div#content section div.block-spec div.content div.column-option div.row p.image {
	text-align: left;
}
div#content section div.block-spec div.content div.column-option div.row p.image img {
	margin-bottom: 10px;
}
div#content section p.button-contact a {
	display: block;
	width: 396px;
	height: 76px;
	text-align: center;
	text-indent: 0.5em;
	font-size: 26px;
	line-height: 76px;
	color: #000000;
	border: 2px solid #000000;
	background-color: #ffffff;
	margin: auto;
	padding-left: 0.05em;
	transition: color, background-color 0.25s;
}
div#content section p.button-contact a:hover {
	color: #ffffff;
	background-color: #000000;
}
div#content section p.button-contact a span {
	display: block;
	background: url(../../images/bullet-02.png) no-repeat 15px center;
	background-size: auto 20px;
}
div#content section p.button-contact a:hover span {
	background-image: url(../../images/bullet-02-active.png);
}
div#content section#shinbi div.block-spec div.content div.column div.row div.headline h4 {
	line-height: 30px;
}
div#content section#shinbi div.block-spec div.content div.column div.row div.headline h4 span {
	font-size: 18px;
}
div#content section#tensho div.block-spec div.content div.column {
	width: 1020px;
}
div#content section#tensho div.block-spec div.content div.column div.row {
	width: 280px;
	margin: 0px 30px;
}
div#content section#tensho div.block-spec div.content div.column div.row p.image img {
	margin: auto;
}
div#content section#tensho div.block-oem div.content {
	text-align: center;
}
div#content section#tensho div.block-oem div.content p.image {
	height: 260px;
	margin-bottom: 20px;
	background: url(../../images/tensho-image-oem-01.jpg) repeat-x 0px 0px;
	animation: scroll-oem 80s linear infinite normal backwards;
}
@keyframes scroll-oem {
	from {
		background-position: 0px 0px;
	}
	to {
		background-position: -2556px 0px;
	}
}
div#content section#towa div.block-feature div.content div.image {
	height: 592px;
	margin-top: -296px;
}
div#content section#towa div.block-feature div.content div.text ul li {
	text-indent: -1em;
	padding-left: 1em;
}
div#content section#towa div.block-flow {
	width: 778px;
	border: 1px solid #000000;
	margin-left: auto;
	margin-right: auto;
	padding: 60px;
}
div#content section#towa div.block-flow header {
	margin-bottom: 60px;
}
div#content section#towa div.block-flow header h3 {
	font-size: 30px;
	letter-spacing: 0.025em;
	margin-bottom: 0px;
}
div#content section#towa div.block-flow div.content div.row {
	display: table;
	width: 100%;
	margin-bottom: 60px;
}
div#content section#towa div.block-flow div.content div.row-04 {
	margin-top: -6px;
}
div#content section#towa div.block-flow div.content div.row p.num,
div#content section#towa div.block-flow div.content div.row p.description,
div#content section#towa div.block-flow div.content div.row p.image {
	display: table-cell;
	vertical-align: middle;
	letter-spacing: 0em;
}
div#content section#towa div.block-flow div.content div.row p.num {
	width: 80px;
	font-family: "Avenir Next LT W02SC Ult Light", Helvetica, Arial, sans-serif;
	font-size: 110px;
	line-height: 1em;
	padding-bottom: 15px;
}
div#content section#towa div.block-flow div.content div.row p.description {
	width: 418px;
	padding-right: 40px;
}
div#content section#towa div.block-flow div.content div.row p.image {
	width: 240px;
}
div#content section#towa div.block-flow div.content p.image-completion img {
	margin: auto;
}
div#content section#towa div.block-spec div.content p.image {
	position: relative;
	width: 890px;
	margin: 0px auto 80px auto;
	padding-top: 85px;
}
div#content section#towa div.block-spec div.content p.image img {
	margin: auto;
}
div#content section#towa div.block-spec div.content p.image span {
	position: absolute;
	width: 70px;
	height: 50px;
	text-align: center;
	font-size: 30px;
	line-height: 50px;
	color: #ffffff;
	background-color: #000000;
}
div#content section#towa div.block-spec div.content p.image span.ss {
	left: 25px;
	top: 170px;
}
div#content section#towa div.block-spec div.content p.image span.s {
	left: 200px;
	top: 120px;
}
div#content section#towa div.block-spec div.content p.image span.m {
	left: 420px;
	top: 75px;
}
div#content section#towa div.block-spec div.content p.image span.l {
	left: 705px;
	top: 0px;
}
div#content section#towa div.block-spec div.content div.size {
	margin-bottom: 100px;
}
div#content section#towa div.block-spec div.content div.size table {
	width: 900px;
	margin: auto;
}
div#content section#towa div.block-spec div.content div.size table th,
div#content section#towa div.block-spec div.content div.size table td {
	width: 180px;
	text-align: center;
	line-height: 35px;
	border-bottom: 1px solid #000000;
	padding: 10px 0px;
}
div#content section#towa div.block-spec div.content div.size table thead th {
	font-size: 26px;
}
div#content section#towa div.block-spec div.content div.size table tbody td.label {
	text-align: left;
	text-indent: 20px;
}



/* --------------------------------------------------------------------------------
footer
-------------------------------------------------------------------------------- */

footer#footer {
	text-align: center;
	padding: 30px 0px;
	background-color: #fafafa;
}
footer#footer p.contact {
	font-size: 22px;
	border-bottom: 1px solid #000000;
	margin-bottom: 30px;
	padding-bottom: 30px;
}
footer#footer div.information {
	margin-bottom: 50px;
}
footer#footer div.information div.headline,
footer#footer div.information div.address-tel {
	display: inline-block;
}
footer#footer div.information div.headline {
	letter-spacing: 0em;
	margin-right: 40px;
}
footer#footer div.information div.headline h3 {
	font-size: 11px;
	margin-bottom: 5px;
}
footer#footer div.information div.headline h3 img {
	display: inline-block;
	width: auto;
	height: 38px;
	vertical-align: -14px;
	margin-right: 10px;
}
footer#footer div.information div.headline p.note {
	font-size: 14px;
	letter-spacing: 0em;
}
footer#footer div.information div.address-tel {
	text-align: left;
}
footer#footer div.information div.address-tel p.address {
	font-size: 16px;
	margin-bottom: 5px;
}
footer#footer div.information div.address-tel p.tel span.num {
	display: inline-block;
	font-size: 40px;
	line-height: 1em;
	letter-spacing: 0.075em;
	margin-right: 10px;
}
footer#footer div.information div.address-tel p.tel span.num i {
	display: inline-block;
	width: 27px;
	height: 40px;
	vertical-align: -5px;
	background: url(../../images/icon-tel.png) no-repeat left center;
	background-size: auto 32px;
}
footer#footer div.information div.address-tel p.tel span.note {
	font-size: 14px;
	vertical-align: 10px;
	letter-spacing: 0.025em;
}
footer#footer p.copyright {
	font-size: 14px;
}
