@charset "utf-8";

html {
	touch-action : manipulation;
}
body {
	background: linear-gradient(to bottom, #474747, #2a292d 50%, #23212a 75%, #100d20 100%);
	font-size : 62.5%;
	color : #fff;
	box-sizing : border-box;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
	font-feature-settings: "pwid";
	min-height : 100vh;
}
img {
	vertical-align : top;
}
a {
	text-decoration : none;
	color : #f7953a;
}
.clearfix {
	*zoom: 1;
}
.clearfix:before,
.clearfix:after {
	display: table;
	line-height: 0;
	content: "";
}
.clearfix:after {
	clear: both;
}
.here {
	font-weight : bold;
	color : #f7953a;
}
li>span {
	color : #fff;
}
sup {
	vertical-align : top;
	font-size : x-small;
}

/* ----- ----- ----- */
/* global navigation */
/* ----- ----- ----- */

#main-visual img, .logoimage img, .full-image img, .spec-image img {
	width : 100%;
}
#main-visual, .header_wrap {
	font-family: sans-serif;
}
#header-navi a, #category-navi a {
	color : #fff;
}
#header-navi a:hover, #category-navi a:hover {
	color : #f7953a;
}
#footer-navi a {
	color : #fff;
}
#footer-navi a:hover {
	color : #f7953a;
}
.button-box a {
	position : relative;
}
.button-box a span {
	position : relative;
	z-index: 10;
}
#top-headline .columns li .content a.more::before, #top-featured .banner-content a::before, .button-box a::before, .button-box button::before, #main-visual .catch a::before, #main-visual .list-cell.catch a::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	content: '';
	background: #331f87;
	transform-origin: left top;
	transform: scale(1, 0);
	transition: transform .2s;
}
#top-headline .columns li .content a {
	cursor : pointer;
}
#top-featured .banner-content a:hover, .button-box a:hover {
	color : #fff;
	z-index: 1;
}
.button-box a:hover span {
	color : #fff;
	z-index: 2;
}
#top-headline .columns li .content a:hover::before, #top-featured .banner-content a:hover::before, .button-box a:hover::before, .button-box button:hover::before, #main-visual .catch a:hover::before, #main-visual .list-cell.catch a:hover::before {
	transform-origin: right top;
	transform: scale(1, 1);
}
#top-topics .body {
	color : #c8c8c8;
}
#top-topics .body .note, #top-topics .body .note a {
	color : #c18a54;
}
#product-chart {
	background-color : #e6e6e6;
	color : #161616;
	overflow : hidden;
}
#product-feature {
	background-color : #b2b2b2;
	color : #161616;
}

/* ----- ----- ----- */
/* device-related    */
/* ----- ----- ----- */
@media screen and (max-width: 768px) {
	html {
		width : 100%;
		overflow-x: hidden;
	}
	.pc-content {
		display : none;
	}
	header {	
		display : flex;
		flex-direction : column;
	}
	.sp-menu {
		position : fixed;
		z-index : 10000;
		top : 18px;
		right : calc(8vw + 16px);
	}
	#sidebarMenu {
		height: 100%;
		position: fixed;
		top : 16vw;
		right: 0;
		width: 40vw;
		transform: translateX(40vw);
		transition: transform 250ms ease-in-out;
		background-color : rgba(0,0,0,0.75);
		z-index : 1001;
	}
	.slider-catch .list {
		overflow : hidden;
	}
	.fixed_sp {
		position : fixed;
		top : 16vw;
		left : 0;
		right : 0;
	}
	#menu-button {
		position : relative;
		cursor : pointer;
		text-align : right;
	}
	#menu-button i {
		display : block;
		float : right;
		color : #999;
		margin-left : 2vw;
	}
	#menu-button.active i {
		transition: all 0.3s;
		transform: rotate(180deg);
	}
	.main-navi {
		margin:0;
		padding:0;
		border-top: 1px solid rgba(255, 255, 255, 0.10);
	}
	.main-navi li {
		list-style: none;
		font-size : 1.1rem;
		font-weight: bold;
		padding: 20px;
		cursor: pointer;
		border-bottom: 1px solid rgba(255, 255, 255, 0.10);
	}
	.main-navi li span {
		display: block;
		font-size: 14px;
		color: rgba(255, 255, 255, 0.50);
	}
	.main-navi li a {
		color: #fff;
		font-weight: bold;
		cursor: pointer;
		text-decoration: none;
	}
	input[type="checkbox"]:checked ~ #sidebarMenu {
		transform: translateX(0);
	}
	input[type=checkbox] {
		transition: all 0.3s;
		box-sizing: border-box;
		display: none;
	}
	.sidebarIconToggle {
		transition: all 0.3s;
		box-sizing: border-box;
		cursor: pointer;
		position: absolute;
		z-index: 99;
		height: 100%;
		width: 100%;
		height: 8vw;
		width: 8vw;
	}
	.spinner {
		transition: all 0.3s;
		box-sizing: border-box;
		position: absolute;
		height: 1.0vw;
		width: 100%;
		background-color: #fff;
	}
	.horizontal {
		transition: all 0.3s;
		box-sizing: border-box;
		position: relative;
		float: left;
		margin-top: 2.2vw;
	}
	.diagonal.part-1 {
		position: relative;
		transition: all 0.3s;
		box-sizing: border-box;
		float: left;
	}
	.diagonal.part-2 {
		transition: all 0.3s;
		box-sizing: border-box;
		position: relative;
		float: left;
		margin-top: 2.2vw;
	}
	input[type=checkbox]:checked ~ .sp-menu .sidebarIconToggle > .horizontal {
		transition: all 0.3s;
		box-sizing: border-box;
		opacity: 0;
	}
	input[type=checkbox]:checked ~ .sp-menu .sidebarIconToggle > .diagonal.part-1 {
		transition: all 0.3s;
		box-sizing: border-box;
		transform: rotate(135deg);
		margin-top: 4vw;
	}
	input[type=checkbox]:checked ~ .sp-menu .sidebarIconToggle > .diagonal.part-2 {
		transition: all 0.3s;
		box-sizing: border-box;
		transform: rotate(-135deg);
		margin-top: -4vw;
	}
	.header_wrap {
		background-color : #1a1a1c;
		width : 100%;
		order : 1;
		position : fixed;
		z-index : 10000;
		height : 16vw;
	}
	#main-visual {
		width : 100%;
		margin-top : 16vw;
		order : 2;
		position : relative;
	}
	#main-visual .top-catch, #main-visual .cat-catch {
		width : 100%;
		margin : 0;
		padding : 8vw 0;
		background-color : #1a1a1c;
	}
	#main-visual .top-catch h2, #main-visual .cat-catch h2 {
		width : calc(100% - 24vw);
		font-size : 1.3rem;
		text-align : center;
		margin : 0 auto;
		padding : 0 0 2vw 0;
		border-bottom : 1px solid #fff;
	}
	#main-visual .top-catch .description, #main-visual .cat-catch .description {
		width : calc(100% - 24vw);
		font-size : 1.0rem;
		font-weight : normal;
		line-height : 1.4rem;
		padding : 2vw 0 8vw 0;
		margin : 0 auto;
		text-align: justify;
		text-justify: inter-character;
	}
	#main-visual .catch {
		position : absolute;
		right : 16px;
		top : 12px;
		text-align : right;
	}
	#main-visual .catch hr {
		display : inline-block;
		width : 20%;
		height : 1px;
		background-color : #fff;
		border : 0;
	}
	#main-visual .catch h4 {
		font-size : 0.8rem;
		font-weight : normal;
		margin-bottom : 0.4rem;
	}
	#main-visual .catch h3 {
		font-size : 0.8rem;
		font-weight : normal;
		margin : 0.4rem 0 0.4rem 0;
	}
	#main-visual .catch h2 {
		font-size : 2.0rem;
		margin-bottom : 0.7rem;
	}
	#main-visual .catch .description {
		font-size : 0.6rem;
		line-height : 0.9rem;
	}
	#main-visual .catch .glogo {
		margin-top : 1.2vw;
		text-align : right;
	}
	#main-visual .catch .glogo img {
		width : 20vw;
	}
	#main-visual .list {
		width : 100%;
		background-color: #1a1a1c;
	}
	#main-visual .list-cell.catch {
		position : relative;
		right : 0;
		top: 0;
		width: calc(100% - 24vw);
		margin : 0 auto;
		padding: 8vw 0;
		text-align : left;
	}
	#main-visual .list-cell.catch a {
		position : relative;
		display : block;
		float : right;
		padding : 12px;
		border : 2px solid #331f87;
		border-radius : 8px;
		color : #fff;
		font-weight : bold;
		font-size : 1.1rem;
	}
	#header-navi .main-logo {
		width : calc(100% - 32px);
		margin : 16px;
		display : table;
	}
	#header-navi .main-logo .logoimage {
		display : table-cell;
		width : 30%;
		padding : 0;
	}
	#header-navi .main-logo .description {
		display : table-cell;
		padding : 0 8px;
		vertical-align : middle;
	}
	#header-navi .main-logo .description h1 {
		display : none;
	}
	.sub-navi {
		background : #1a1a1c;
		padding : 16px 0 24px 0;
		z-index : 1000;
	}
	.sub-navi li {
		width : calc(100% - 9.6vw);
		text-align : left;
		font-size : 1.1rem;
		font-weight : bold;
		padding : 2.4vw;
		margin : 0 2.4vw;
	}
	.sub-navi li a {
		display : block;
		width : 100%;
	}
	#category-navi .shy-menu {
		display : none;
		width : calc(100% - 15.2vw);
		text-align : right;
	}
	#category-navi .shy-menu a {
		color : #aaa;
		margin-right : 7vw;
	}
	#top-headline {
	}
	#top-headline .columns {
		text-align: justify;
		text-justify: inter-character;
	}
	#top-headline .columns>li {
		margin-bottom : 12vw;
	}
	#top-headline .columns li h4 {
		font-size : 1.1rem;
		margin-bottom : 6vw;
	}
	#top-headline .columns li .content {
		padding-left : 16px;
		border-left : 2px solid #331f87;
	}
	#top-headline .columns li .description {
		font-size : 1.1rem;
		line-height : 1.76rem;
		text-align: justify;
		text-justify: inter-character;
	}
	#top-headline .columns li .content a.more {
		position : relative;
		display : block;
		float : right;
		padding : 12px;
		border : 2px solid #331f87;
		border-radius : 8px;
		color : #fff;
		font-weight : bold;
		font-size : 1.1rem;
	}
	#top-featured {
		width : 100%;
		background-color : #adadad;
	}
	#top-featured .banner-body {
		width : 100%;
	}
	#top-featured .banner-image {
		width : 100%;
	}
	#top-featured .banner-image img {
		width : 100%;
	}
	#top-featured .banner-content {
		text-align : left;
		padding : 6vw 12vw;
		position : relative;
	}
	#top-featured .banner-content h2 {
		font-size : 2.4rem;
		margin-bottom : 16px;
	}
	#top-featured .banner-content .description {
		font-size : 0.9rem;
		line-height : 1.44rem;
	}
	#top-featured .banner-content a {
		position: relative;
		float : right;
		display: block;
		padding: 2.4vw 4vw;
		border: 2px solid #331f87;
		border-radius: 8px;
		color: #331f87;
		font-weight: bold;
		font-size: 1.0rem;
	}
	#top-topics {
		width : calc(100% - 24vw);
		margin : 40px auto;
	}
	#top-topics h2 {
		width : 100%;
		font-size: 1.6rem;
		padding-bottom: 28px;
		margin : 0 auto;
	}
	#top-topics ul {
		width : 100%;
		margin : 0 auto;
	}
	#top-topics li {
		width : 100%;
		margin-bottom : 32px;
	}
	#top-topics li>div {
		width : 100%;
		font-size: 1.0rem;
		vertical-align : top;
	}
	#top-topics li img {
		width : 100%;
	}
	#top-topics .body {
		width : 100%;
	}
	#top-topics .body p {
		line-height : 1.72rem;
	}
	#top-topics h3 {
		color : #fff;
		margin-bottom: 8vw;
		font-size: 1.1rem;
		line-height : 1.72rem;
	}
	#top-topics .head, #top-topics .tail {
		display : none;
	}
	#top-topics .head .line {
		display : none;
	}
	#top-topics .topics-img {
		width : 50%;
		margin-bottom : 1.2rem;
	}
	#top-topics .topics-img img {
		width : 100%;
	}
	#product-hilite, #corporate-hilite {
		margin-top : 0!important;
	}
	.columns {
		width : calc(100% - 24vw);
		margin : 12vw;
	}
	.columns h3 {
		font-size : 1.2rem;
		margin-bottom : 8vw;
	}
	.columns h4 {
		font-size : 1.1rem;
		margin-bottom : 6vw;
	}
	#product-hilite .columns>li {
		margin-bottom : 12vw;
	}
	#product-hilite .columns .sub, #product-feature .column dd ul, #fs-feature .column dd ul {
		font-size : 1.1rem;
		list-style-type : disc; 
		list-style-position : outside;
		padding-left : 1.4rem;
		margin-bottom : 48px;
	}
	#product-hilite .columns .sub li, #product-feature .column dd ul li, #fs-feature .column dd ul li {
		font-size : 1.0rem;
		line-height : 1.4rem;
		margin-bottom : 8px;
		color : #aaa;
		text-align: justify;
		text-justify: inter-character;
	}
	#product-hilite .summary, #corporate-hilite .summary {
		width : calc(100% - 24vw);
		margin : 0 auto;
		padding-top : 12vw;
	}
	#product-hilite .summary h2, #corporate-hilite .summary h2 {
		font-size : 2.0rem;
		margin-bottom : 6.4vw;
	}
	#product-hilite .summary h3, #corporate-hilite .summary h3 {
		font-size : 1.1rem;
		line-height : 1.72rem;
		margin-bottom : 6.4vw;
	}
	#product-hilite .summary .description, #corporate-hilite .summary .description {
		font-size : 1.0rem;
		line-height : 1.4rem;
		text-align: justify;
		text-justify: inter-character;
	}
	#product-hilite .summary .figure, #corporate-hilite .summary .figure {
		width : calc(100% - 4vw);
		margin : 8vw auto;
	}
	#product-hilite .summary .figure img, #corporate-hilite .summary .figure img {
		width : 100%;
	}
	#product-hilite .inline-movie {
		width : calc(100% - 24vw);
		margin : 8vw auto 0 auto;
	}
	#product-hilite .inline-movie iframe {
		width : 100%;
		height : 42.75vw;
	}
	#product-spec {
		width : 100%;
		background-color : #cacaca;
		padding : 32px 0;
	}
	#product-spec .spec-image {
		width : calc(100% - 32px);
		margin : 0 auto 24px auto;
	}
	#product-spec .spec-content {
		width : calc(100% - 24vw);
		margin : 12vw;
		font-size : 1.1rem;
		color : #222;
	}
	#product-spec .spec-content h2 {
		font-size : 1.4rem;
		margin-bottom : 16px;
	}
	#product-spec .spec-content table {
		width : 100%;
	}
	#product-spec .spec-content th {
		width : 40%;
		padding : 8px 0;
		border-bottom : 1px solid #000;
	}
	#product-spec .spec-content td {
		width : 60%;
		padding : 8px 0;
		border-bottom : 1px solid #000;
	}
	#product-chart h2, #product-feature h2, #fs-feature h2, #product-feature .column dt, #fs-feature .column dt {
		font-size : 1.2rem;
		font-weight : bold;
		margin-bottom : 16px;
	}
	#company-profile-body {
		width : calc(100% - 24vw);
		margin : 0 auto;
		font-size : 1.1rem;
		padding : 48px 0;
	}
	#company-profile-body h2 {
		margin : 0 auto;
		font-size : 1.4rem;
		margin-bottom : 32px;
	}
	#company-profile-body h3 {
		margin-bottom : 24px;
	}
	#company-profile-body .sub {
		margin-bottom : 40px;
	}
	#company-profile-body .sub .cell {
		display : table;
		float : left;
		width : 50%;
		line-height : 1.72rem;
		white-space : nowrap;
	}
	#company-profile-body .chart-body {
		margin-bottom : 48px;
	}
	#company-profile-body .chart-body .chart-half, #company-profile-body .chart-body .chart-multi {
		margin-bottom : 48px;
	}
	#company-profile-body .chart-sub {
		clear : both;
		line-height : 1.72rem;
		width : 100%;
	}
	#company-profile-body .chart-half img, #company-profile-body .chart-multi img {
		width : 100%;
	}
	#company-profile-body .chart-body table {
		width : 100%;
		margin : 0 auto;
		font-size : 1.1rem;
	}
	#company-profile-body .chart-body table th, #company-profile-body .chart-body table td, #company-profile-body .chart-body dl dt, #company-profile-body .chart-body dl dd {
		padding : 6px 0;
		font-weight : normal;
		line-height : 1.4rem;
	}
	#company-profile-body .chart-body dl dd.form_chk {
		color : #aaa;
	}
	#company-profile-body .chart-body table th {
		width : 8rem;
	}
	#company-profile-body .company-history dl {
		font-size : 1.1rem;
	}
	#company-profile-body .company-history dt {
	}
	#company-profile-body .company-history dd {
		margin-bottom : 24px;
	}
	
	#fs-inquiry {
		width : 100%;
		position : relative;
		background-color : #efefef;
		overflow : hidden;
		padding : 24px 0;
		margin-bottom : 64px;
	}
	#fs-inquiry .content {
		width : calc(100% - 64px);
		margin : 0 auto;
		font-size : 1.1rem;
		color : #222;
	}
	#fs-inquiry .content h2 {
		font-size : 1.4rem;
		font-weight : bold;
		margin-bottom : 16px;
	}
	#fs-inquiry .content .description {
		margin-bottom : 64px;
	}
	#fs-inquiry .bar {
		position : absolute;
		bottom : 40px;
		width : 100%;
		border-top : 4px solid #331f87;
	}
	#fs-inquiry .button-box {
		position : absolute;
		width : calc(100% - 64px);
		left : 0;
		right : 0;
		margin: auto;
		bottom : 76px;
	}
	#fs-inquiry .button-box .wrap {
		position : absolute;
		width : 5000px;
		background-color : #efefef;
		left : calc(100% - 160px);
	}
	#fs-inquiry .button-box a {
		color : #331f87;
		display : block;
		text-align : center;
		width : 160px;
		border : 3px solid #331f87;
		padding : 12px 0;
		border-radius : 8px;
		font-size : 1.4rem;
		font-family : sans-serif;
	}
	#product-keyword {
		width : 100%;
		margin-bottom : 24vw;
	}
	#product-keyword .cell {
		width: 100%;
		display : flex;
		flex-direction : column;
		margin-bottom: 12vw;
	}
	#product-keyword .cell .main-image {
		order : 1;
		width: 100%;
		margin-bottom : 4vw;
	}
	#product-keyword .cell .main-image .image-box {
		width: 100%;
	}
	#product-keyword .cell .main-image img {
		width : 100%;
	}
	#product-keyword .cell .text-box {
		order : 2;
		width: calc(100% - 32px);
		margin : 0 auto;
		font-size : 1.0rem;
		vertical-align : middle;
	}
	#product-keyword .cell .text-box p {
		line-height : 1.2rem;
	}
	#product-chart {
		width : 100%;
		margin : 12vw 0 0 0;
		font-size : 1.0rem;
		padding : 12vw 0;
	}
	#product-chart h2, #product-feature h2, #fs-feature h2 {
		width : calc(100% - 24vw);
		margin : 0 auto;
		font-size : 1.3rem;
		margin-bottom : 6.4vw;
	}
	#product-chart .chart-body {
		overflow : auto;
		width : calc(100% - 12vw);
		margin : 0 0 0 12vw;
	}
	#company-profile-body .form_confirm {
		background-color : #404040;
		padding : 8vw;
		width : calc(100% - 12vw);
		margin-bottom : 12vw;
	}
	#product-chart table {
		width : 260%;
		margin : 0 12vw 0 0;
		font-size : 1.0rem;
	}
	#product-chart table.narrow {
		width : calc(100% - 12vw);
	}
	#product-chart table tr {
		position : relative;
	}
	#product-chart table thead tr th {
		padding-bottom : 3.2vw;
	}
	#product-chart table tbody th, #product-chart table tbody td {
		padding : 1vw 0;
		font-weight : normal;
		border-bottom : 1px solid #161616;
	}
	#product-chart .t_spec {
	}
	#product-chart .t_spetitle {
		width : 10rem;
	}
	#product-chart table.narrow .t_spetitle {
		width : 12rem;
	}
	#product-chart .t_specunit {
		width : 4rem;
		left : 10rem;
	}
	#product-chart .t_prod_n {
		width : 8rem;
	}
	#product-chart .t_prod_w {
		-webkit-text-size-adjust: 100%;
		font-size : 1.0rem;
	}
	#product-chart .chart-notice {
		margin : 4vw 0 4vw 12vw;
		font-size : 1.0rem;
	}
	#product-chart .chart-notice p {
	}
	
	#product-inquiry {
		width : 100%;
		margin : 0 auto;
		padding : 6.4vw 0 6.4vw 0;
		font-size : 1.0rem;
		line-height : 1.4rem;
		color : #fff;
		position : relative;
		background-color : #2f2f2f;
		overflow : hidden;
	}
	#product-inquiry .content {
		width : calc(100% - 24vw);
		margin : 0 auto;
	}
	#product-inquiry .content h2 {
		font-size : 1.4rem;
		font-weight : bold;
		margin-bottom : 16px;
	}
	#product-inquiry .content .description {
		margin-bottom : 64px;
		font-size : 1.0rem;
		line-height : 1.4rem;
	}
	#product-inquiry .bar {
		position : absolute;
		bottom : 40px;
		width : 100%;
		border-top : 4px solid #331f87;
	}
	#product-inquiry .button-box {
		position : absolute;
		width : calc(100% - 64px);
		left : 0;
		right : 0;
		margin: auto;
		bottom : 76px;
	}
	#product-inquiry .button-box .wrap {
		position : absolute;
		width : 5000px;
		background-color : #2f2f2f;
		left : calc(100% - 160px);
	}
	#product-inquiry .button-box a {
		color : #fff;
		display : block;
		text-align : center;
		width : 160px;
		border : 3px solid #331f87;
		padding : 12px 0;
		border-radius : 8px;
		font-size : 1.4rem;
		font-family : sans-serif;
	}
	
	#product-feature {
		width : 100%;
		margin : 0 0 8vw 0;
		font-size : 1.0rem;
		padding : 12vw 0;
	}
	#product-feature ul {
		width : calc(100% - 24vw);
		margin : 0 auto;
		text-align: justify;
		text-justify: inter-character;
	}
	#product-feature ul li {line-height: 1.72rem;
		padding: 4px 0;
		border-bottom: 1px solid #161616;
	}
	#product-gallery {
		width : calc(100% - 20px);
		margin : 0 auto;
		line-height: 0;
		-webkit-column-count : 2;
		-webkit-column-gap : 0px;
		-moz-column-count : 2;
		-moz-column-gap : 0px;
		column-count : 2;
		column-gap : 0px;
	}
	#product-gallery img {
		width : 100% !important;
		height : auto !important;
	}
	#product-gallery  .item {
		margin: 10px;
		width: calc(50% - 20px);
	}
	
	
	#footer-navi {
		display : none;
	}
	#footer-copyrights {
		width : 100%;
		background-color : #fff;
		color : #333;
		font-size : 0.8rem;
	}
	#footer-copyrights .content {
		width : calc(100% - 8vw);
		margin : 0 auto;
		padding : 12px 0 64px 0;
		text-align : center;
	}
	#footer-copyrights .copy-text {
		width : 100%;
		margin : 4vw 0;
	}
	#footer-copyrights .content .copy-iso {
		text-align : left;
		width : calc(100% - 14vw);
		margin : 4vw auto 0 auto;
	}
	#footer-copyrights .content .null {
		display : none;
	}
	#footer-copyrights .content .icon-jab {
		border-left : 1px solid #000;
		display : table-cell;
		width : 54%;
		text-align : center;
		vertical-align : middle;
		padding : 2vw 1% 2vw 3%;
		margin : 0 1%;
	}
	#footer-copyrights .content .icon-nkc {
		border-left : 1px solid #000;
		display : table-cell;
		width : 36%;
		text-align : center;
		vertical-align : middle;
		padding : 2vw 1%;
		margin : 0 1%;
	}
	#footer-copyrights .content .icon-jab img {
		width : 100%;
	}
	#footer-copyrights .content .icon-nkc img {
		width : 100%;
	}
	#anchor_top {
		position : fixed;
		bottom : 16px;
		right : 16px;
		font-size : 1.8rem;
		padding : 3.2vw;
		background-color : rgba(128,128,128,0.5);
		color : #331f87;
	}
	#company-profile-body .button-box {
		width : 100%;
		text-align : center;
		margin : 24px 0;
	}
	#company-profile-body input[type='text'] {
		color : #fff;
		font-size : 1.2rem;
		width : 100%;
		padding : 0.6rem;
		background : none;
		border : 1px solid #a0a0a0;
	}
	#company-profile-body select {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		color : #fff;
		font-size : 1.2rem;
		width : calc(100% + 18px);
		padding : 0.6rem;
		background : none;
		border : 1px solid #a0a0a0;
		border-radius : 0;
	}
	#company-profile-body textarea {
		color : #fff;
		width : 100%;
		padding : 0.6rem;
		height : 4.8rem;
		margin : 0;
		background : none;
		color : #fff;
		font-size : 1.2rem;
		border : 1px solid #a0a0a0;
	}	
	#company-profile-body button {
		position : relative;
		color : #fff;
		display : table-cell;
		text-align : center;
		width : 160px;
		border : 3px solid #331f87;
		padding : 8px 0;
		margin : 0 auto;
		border-radius : 8px;
		font-size : 1.4rem;
		font-family : sans-serif;
		cursor : pointer;
		background : none;
	}
	#company-profile-body button.back_button {
		color : #666;
		border : 3px solid #666;
	}
}
@media screen and (max-width: 480px) {
}
@media screen and (min-width: 769px) {
	.sp-content {
		display : none!important;
	}
	.fixed {
		position : fixed!important;
		top : 0;
	}
	.header_wrap {
		background-color : #1a1a1c;
		position : absolute;
		width : 100%;
		z-index : 10001;
	}
	#header-navi .main-logo .description h1 span {
		display: inline-block;
		white-space: nowrap;
	}
	#main-visual {
		width : 100%;
		position : relative;
	}
	#main-visual .language-select li {
		float : left;
		padding : 0 8px;
		border-right : 1px solid #fff;
	}
	#main-visual .language-select li a {
		color : #fff;
	}
	#main-visual .language-select.fs-only li a {
		color : #fff;
	}
	#main-visual .language-select li a:hover {
		color : #f7953a;
	}
	#main-visual .language-select li:last-child {
		border-right : 0;
	}
	#main-visual .catch {
		position : absolute;
		right : 10vw;
		top : 8vw;
		text-align : right;
	}
	#main-visual .catch hr {
		display : inline-block;
		width : 35%;
		height : 1px;
		background-color : #fff;
		border : 0;
	}
	#main-visual .catch h4 {
		font-size : 1.2vw;
		font-weight : normal;
		margin-bottom : 0.6vw;
	}
	#main-visual .catch h3 {
		font-size : 1.2vw;
		font-weight : normal;
		margin : 0.6vw 0 1.2vw 0;
	}
	#main-visual .catch h2 {
		font-size : 4.8vw;
		margin-bottom : 1.8vw;
	}
	#main-visual .catch .description {
		font-size : 0.8vw;
		line-height : 1.4vw;
	}
	#main-visual .catch a {
		position: relative;
		top : 24px;
		padding: 8px 16px;
		border: 2px solid #331f87;
		border-radius: 8px;
		color: #fff;
		font-weight: bold;
		font-size: 1.2rem;
	}
	#main-visual .catch .glogo {
		margin-top : 1.2vw;
		text-align : right;
	}
	#main-visual .catch .glogo img {
		width : 10vw;
	}
	#main-visual .slider-catch {
		width : 100%;
		position : absolute;
		left : 0;
		top : 0;
		bottom : 0;
	}
	#main-visual .slider-catch .list {
	}
	#main-visual .top-catch {
		position : absolute;
		left : 5%;
		top : 50%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		text-shadow : 0 0 3px #333;
	}
	#main-visual .cat-catch {
		position : absolute;
		left : 5%;
		top : 50%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		text-shadow : 0 0 3px #333;
	}
	#main-visual .top-catch, #main-visual .cat-catch {
		width : 38vw;
	}
	#main-visual .top-catch h2, #main-visual .cat-catch h2 {
		font-size : 2vw;
		margin-bottom : 1.2vw;
		padding : 0 1.2vw 0.8vw 1.2vw;
		border-bottom : 1px solid #fff;
	}
	#main-visual .top-catch .description, #main-visual .cat-catch .description {
		font-size : 1.1vw;
		font-weight : bold;
		line-height : 1.8vw;
		padding : 0 1.2vw 0 1.2vw;
	}
	#category-navi .sub-navi li.here {
		background : url("../img/subnavi_pointer_s.svg") no-repeat;
	}
	#product-spec .spec-content h2 {
		margin-bottom : 32px;
	}
	#product-hilite .summary .text {
		display : table-cell;
		vertical-align : bottom;
		text-align: justify;
		text-justify: inter-character;
	}
	#corporate-hilite .summary .text {
		display : table-cell;
		vertical-align : middle;
		text-align: justify;
		text-justify: inter-character;
	}
	#product-hilite .summary .figure {
		display : table-cell;
		vertical-align : middle;
		padding-left : 32px;
	}
	#corporate-hilite .summary .figure {
		display : table-cell;
		vertical-align : middle;
		width : 50%;
		padding-left : 32px;
	}
	#product-hilite .summary .figure img, #corporate-hilite .summary .figure img {
		width : 100%;
	}
	#company-profile-body .button-box {
		width : 100%;
		text-align : center;
		margin : 24px 0;
	}
	#company-profile-body input[type='text'] {
		color : #fff;
		font-size : 1.2rem;
		width : 50%;
		padding : 0.6rem;
		background : none;
		border : 1px solid #a0a0a0;
	}
	#company-profile-body select {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		color : #fff;
		font-size : 1.2rem;
		width : calc(50% + 18px);
		padding : 0.6rem;
		background : none;
		border : 1px solid #a0a0a0;
		border-radius : 0;
	}
	#company-profile-body textarea {
		color : #fff;
		width : 100%;
		padding : 0.6rem;
		height : 4.8rem;
		margin : 0;
		background : none;
		color : #fff;
		font-size : 1.2rem;
		border : 1px solid #a0a0a0;
	}	
	#company-profile-body button {
		position : relative;
		color : #fff;
		display : table-cell;
		text-align : center;
		width : 160px;
		border : 3px solid #331f87;
		padding : 8px 0;
		margin : 0 auto;
		border-radius : 8px;
		font-size : 1.4rem;
		font-family : sans-serif;
		cursor : pointer;
		background : none;
	}
	#company-profile-body button.back_button {
		color : #666;
		border : 3px solid #666;
	}
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
	sup {
		font-size : 0.7rem;
	}
	.sp-content {
		display : none!important;
	}
	#main-visual .language-select {
		position : absolute;
		right : 0;
		top : 16px;
		font-size: 1.2vw;
		font-weight: bold;
		background : rgba(0,0,0,0.8);
		padding : 1.0vw;
	}
	#header-navi {
		width : calc(100% - 32px);
		margin : 32px auto 32px auto;
	}
	#header-navi .main-logo {
		float : left;
		width : 50%;
		display : table;
	}
	#header-navi .main-logo .logoimage {
		display : table-cell;
		width : 30%;
		padding : 8px 0;
	}
	#header-navi .main-logo .description {
		display : table-cell;
		padding : 0 8px;
		vertical-align : middle;
	}
	#header-navi .main-navi {
		float : left;
		width : calc(50% - 1px);
		display : table;
		border-right : 1px solid #fff;
		margin : 0.8vw 0;
	}
	#header-navi .main-logo .description h1 {
		font-size : 1.1vw;
		line-height : 1.3rem;
	}
	#header-navi .main-navi li {
		display : table-cell;
		width : 20%;
		font-size : 1.32vw;
		text-align : center;
		vertical-align : middle;
		border-left : 1px solid #fff;
		padding : 1.6vw 0;
	}
	#header-navi .sub-navi {
		clear : both;
		width : 96%;
		font-size : 1.1rem;
		font-weight : bold;
		color : #8b8b8b;
		padding : 16px 0 8px 0;
		margin : 0 auto;
	}
	#header-navi .sub-navi li {
		float : left;
		width : 14.2857%;
		text-align : center;
	}
	#header-navi .sub-navi.navi-company li {
		width : 25%;
	}
	#header-navi .sub-navi li.here {
		background-size : 80%;
		background-position: center -.2vw;
	}
	#top-headline {
		width : 100%;
		margin : 40px 0;
		font-size : 1.2rem;
	}
	#product-hilite, #corporate-hilite {
		width : 100%;
		margin-bottom : 40px;
		font-size : 1.2rem;
	}
	#product-hilite {
		padding-top : 32px;
	}
	#corporate-hilite {
		padding-top : 96px;
	}
	#product-hilite .full-image {
		margin-bottom : 48px;
	}
	#product-hilite .columns {
		width : calc(100% - 32px);
		margin : 0 auto;
		text-align: justify;
		text-justify: inter-character;
	}
	#product-hilite .columns>li {
		display : block;
		float : left;
		width : calc(33.33% - 22px);
		margin-right : 32px;
	}
	#product-hilite .columns li h3 {
		font-size : 1.4rem;
		margin-bottom : 24px;
	}
	#product-hilite .columns li h4 {
		font-size : 1.3rem;
		margin-bottom : 24px;
	}
	#product-hilite .columns .sub {
		font-size : 1.1rem;
		list-style-type : disc; 
		list-style-position : outside;
		padding-left : 1.44rem;
	}
	#product-hilite .columns .sub li {
		line-height : 1.6rem;
		color : #aaa;
		margin-bottom : 12px;
	}
	#product-hilite .columns>li:last-child {
		margin-right : 0;
	}
	#product-hilite .summary {
		width : calc(100% - 32px);
		display : table;
		margin : 0 auto;
		padding-top : 40px;
	}
	#corporate-hilite .summary {	
		width : calc(100% - 24vw);
		display : table;
		margin : 0 auto;
		padding-top : 40px;
	}
	#product-hilite .summary .figure {
		width : 60%;
	}
	#corporate-hilite .summary .text-only {
		width : 100%;
	}
	#product-hilite .summary h2, #corporate-hilite .summary h2 {
		font-size : 2.4rem;
		margin-bottom : 16px;
	}
	#product-hilite .summary h3, #corporate-hilite .summary h3 {
		font-size : 1.2rem;
		line-height : 1.92rem;
		margin-bottom : 24px;
	}
	#product-hilite .summary .description, #corporate-hilite .summary .description {
		font-size : 1.1rem;
		line-height : 1.6rem;
		margin-bottom : 12px;
	}
	#product-hilite .inline-movie {
		width : 72vw;
		margin : 32px auto 0 auto;
	}
	#product-hilite .inline-movie iframe {
		width : 100%;
		height : 40.5vw;
	}
	#top-headline .columns {
		position : relative;
		width : calc(100% - 32px);
		margin : 0 auto;
		padding-top : 32px;
		text-align: justify;
		text-justify: inter-character;
	}
	#top-headline .columns>li {
		display : block;
		float : left;
		width : calc(33.33% - 22px);
		margin-right : 32px;
	}
	#top-headline .columns>li:last-child {
		margin-right : 0;
	}
	#top-headline .columns li h3 {
		font-size : 1.4rem;
		margin-bottom : 24px;
	}
	#top-headline .columns li h4 {
		font-size : 1.3rem;
		margin-bottom : 24px;
	}
	#top-headline .columns li .content {
		padding-left : 16px;
		border-left : 2px solid #331f87;
	}
	#top-headline .columns li .content a.more {
		position : absolute;
		bottom : 0;
		display : block;
		padding : 12px;
		border : 2px solid #331f87;
		border-radius : 8px;
		color : #fff;
		font-weight : bold;
		font-size : 1.1rem;
	}
	#top-headline .columns li .description {
		font-size : 1.2rem;
		line-height : 2.16rem;
		text-align: justify;
		text-justify: inter-character;
	}
	#top-featured {
		width : 100%;
		background-color : #adadad;
	}
	#top-featured .banner-body {
		width : calc(100% - 32px);
		margin : 0 auto;
		position : relative;
	}
	#top-featured .banner-image {
		float : left;
		overflow : hidden;
		width : 55%;
	}
	#top-featured .banner-content {
		text-align : right;
		padding : 16px 0 0 0;
	}
	#top-featured .banner-content h4 {
		font-size : 1.0rem;
		margin-bottom : 8px;
	}
	#top-featured .banner-content h3 {
		font-size : 1.0rem;
		margin-bottom : 8px;
	}
	#top-featured .banner-content h2 {
		font-size : 3.6rem;
		margin-bottom : 16px;
	}
	#top-featured .banner-content .description {
		float : right;
		font-size : 1.0rem;
		line-height : 1.6rem;
	}
	#top-featured .banner-content a {
		position: absolute;
		bottom: 16px;
		right : 0;
		display: block;
		padding: 8px;
		border: 2px solid #331f87;
		border-radius: 8px;
		color: #fff;
		font-weight: bold;
		font-size: 1.0rem;
	}
	#top-featured .banner-image img {
		width : 100%;
	}
	
	#top-topics {
		width : 100%;
		padding : 40px 0;
	}
	#top-topics h2 {
		width : calc(100% - 32px);
		font-size: 1.6rem;
		padding-bottom: 28px;
		margin : 0 auto;
	}
	#top-topics ul {
		width : calc(100% - 32px);
		margin : 0 auto;
	}
	#top-topics li {
		width : 100%;
		display : table;
		margin-bottom : 32px;
	}
	#top-topics li>div {
		display : table-cell;
		width : *;
		font-size: 1.0rem;
		vertical-align : top;
	}
	#top-topics .body {
		width : 100%;
	}
	#top-topics .body p {
		line-height : 1.72rem;
	}
	#top-topics h3 {
		color : #fff;
		margin-bottom: 28px;
		font-size: 1.0rem;
	}
	#top-topics .head, #top-topics .tail {
		display : none;
	}
	#top-topics .head .line {
		display : none;
	}
	#top-topics .topics-img {
		width : 24%;
		margin-bottom : 1.2rem;
	}
	#top-topics .topics-img img {
		width : 100%;
	}
	#product-spec {
		width : 100%;
		background-color : #cacaca;
		padding : 48px 0;
	}
	#product-spec .spec-body {
		width : calc(100% - 32px);
		margin : 0 auto;
		display : table;
	}
	#product-spec .spec-image {
		display : table-cell;
		width : 60%;
		padding : 0 10%;
		vertical-align : middle;
	}
	#product-spec .spec-content {
		display : table-cell;
		width : 40%;
		vertical-align : middle;
		font-size : 1.3rem;
		color : #222;
	}
	#product-spec .spec-content h2 {
		font-size :1.5rem;
		margin-bottom : 28px;
	}
	#product-spec .spec-content th {
		width : 40%;
		padding : 10px 0;
		border-bottom : 1px solid #000;
	}
	#product-spec .spec-content td {
		padding : 10px 0;
		border-bottom : 1px solid #000;
	}
	#product-feature, #fs-feature {
		width : 100%;
		margin : 0;
		font-size : 1.3rem;
		padding : 96px 0;
	}
	#product-feature .columns, #fs-feature .columns {
		width : calc(100% - 108px);
		margin : 0 auto;
		text-align: justify;
		text-justify: inter-character;
	}
	#product-feature .column, #fs-feature .column {
		float : left;
		width : calc(50% - 24px);
		margin-right : 48px;
	}
	#product-feature .column:last-child, #fs-feature .column:last-child {
		margin-right : 0;
	}
	#product-feature .column dt, #fs-feature .column dt {
		font-size : 1.4rem;
		font-weight : bold;
		margin-bottom : 20px;
	}
	#product-feature .column dd ul, #fs-feature .column dd ul {
		font-size : 1.1rem;
		list-style-type : disc; 
		list-style-position : outside;
		padding-left : 1.4rem;
		margin-bottom : 32px;
	}
	#product-feature .column dd ul li, #fs-feature .column dd ul li {
		line-height : 1.6rem;
		color : #aaa;
	}
	#product-gallery {
		width : calc(100% - 32px);
		margin : 48px auto;
		line-height: 0;
		-webkit-column-count : 3;
		-webkit-column-gap : 0px;
		-moz-column-count : 3;
		-moz-column-gap : 0px;
		column-count : 3;
		column-gap : 0px;
	}
	#product-gallery img {
		width : 100% !important;
		height : auto !important;
	}
	#product-gallery  .item {
		margin: 10px;
		width: calc(33.3% - 20px);
	}
	
	#company-profile-body {
		width: calc(100% - 24vw);
		margin : 0 auto;
		font-size : 1.2rem;
		padding : 48px 0;
	}
	#company-profile-body h2 {
		width : 100%;
		margin : 0 auto;
		font-size : 1.4rem;
		margin-bottom : 32px;
	}
	#company-profile-body .chart-body {
		margin-bottom : 48px;
	}
	#company-profile-body .form_confirm {
		background-color : #404040;
		padding : 16px;
		margin-bottom : 48px;
	}
	#company-profile-body .chart-half, #company-profile-body .chart-multi {
		margin-bottom : 48px;
	}
	#company-profile-body .chart-sub {
		clear : both;
		line-height : 1.72rem;
		width : 100%;
	}
	#company-profile-body .chart-half img, #company-profile-body .chart-multi img {
		width : 100%;
	}
	#company-profile-body h3 {
		margin-bottom : 24px;
	}
	#company-profile-body .sub {
		margin-bottom : 40px;
		text-align: justify;
		text-justify: inter-character;
	}
	#company-profile-body .sub span {
		white-space : nowrap;
	}
	#company-profile-body .chart-body table {
		width : 100%;
		margin : 0 auto;
		font-size : 1.1rem;
	}
	#company-profile-body .chart-body table th, #company-profile-body .chart-body table td, #company-profile-body .chart-body dl dt, #company-profile-body .chart-body dl dt {
		padding : 6px 0;
		font-weight : normal;
		line-height : 1.72rem;
	}
	#company-profile-body .chart-body table th {
		width : 20%;
	}
	#company-profile-body .company-history dl {
		display : table;
		font-size : 1.1rem;
		width : inherit;
	}
	#company-profile-body .company-history dt {
		display : table-cell;
		width : 14rem;
		padding : 6px 0;
		vertical-align : top;
	}
	#company-profile-body .company-history dd {
		display : table-cell;
		line-height : 1.72rem;
		padding : 6px 0;
		vertical-align : top;
		width : 80%;
	}
	#company-profile-body .chart-body dl dd.form_chk {
		color : #aaa;
	}
	#fs-inquiry {
		width : 100%;
		position : relative;
		background-color : #efefef;
		overflow : hidden;
		padding : 48px 0;
		margin-bottom : 96px;
	}
	#fs-inquiry .content {
		width : calc(100% - 108px);
		margin : 0 auto;
		font-size : 1.1rem;
		color : #222;
	}
	#fs-inquiry .content h2 {
		font-size : 1.4rem;
		font-weight : bold;
		margin-bottom : 16px;
	}
	#fs-inquiry .content .description {
		margin-bottom : 64px;
	}
	#fs-inquiry .bar {
		position : absolute;
		bottom : 60px;
		width : 100%;
		border-top : 4px solid #331f87;
	}
	#fs-inquiry .button-box {
		position : absolute;
		width : calc(100% - 108px);
		left : 0;
		right : 0;
		margin: auto;
		bottom : 96px;
	}
	#fs-inquiry .button-box .wrap {
		position : absolute;
		width : 5000px;
		background-color : #efefef;
		left : calc(100% - 160px);
	}
	#fs-inquiry .button-box a {
		color : #331f87;
		display : block;
		text-align : center;
		width : 160px;
		border : 3px solid #331f87;
		padding : 12px 0;
		border-radius : 8px;
		font-size : 1.4rem;
		font-family : sans-serif;
	}
	#product-keyword {
		width : 100%;
		margin : 0 auto;
	}
	#product-keyword .cell {
		width: 100%;
		display : table;
		margin-bottom: 72px;
	}
	#product-keyword .cell .main-image {
		display : table-cell;
		width: 50%;
	}
	#product-keyword .cell .main-image .image-box {
		height : 35vw;
		overflow : hidden;
		position : relative;
	}
	#product-keyword .cell .main-image img {
		width : 100%;
		height: auto;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	#product-keyword .cell .text-box {
		display : table-cell;
		width: 50%;
		padding : 0 5%;
		line-height : 1.5rem;
		vertical-align : middle;
		font-size :1.1rem;
	}
	#product-keyword .cell .text-box p {
		line-height : 1.5rem;
	}
	#product-chart {
		width : 100%;
		margin : 0;
		font-size : 1.1rem;
		padding : 96px 0;
	}
	#product-chart h2, #product-feature h2, #fs-feature h2 {
		width : calc(100% - 32px);
		margin : 0 auto;
		font-size : 1.4rem;
		margin-bottom : 20px;
	}
	#product-chart h2.narrow {
		width : 72vw;
	}
	#product-chart table {
		width : calc(100% - 32px);
		margin : 0 auto;
		font-size : 1.1rem;
	}
	#product-chart table.narrow {
		width : 72vw;
	}
	#product-chart table thead tr th {
		padding-bottom : 16px;
	}
	#product-chart table tbody th, #product-chart table tbody td {
		padding : 6px 0;
		font-weight : normal;
		border-bottom : 1px solid #161616;
	}
	#product-chart .t_spec {
		width : 30%;
	}
	#product-chart .t_spetitle {
		width : 22%;
	}
	#product-chart table.narrow .t_spetitle {
		width : 30%;
	}
	#product-chart .t_specunit {
		width : 8%;
	}
	#product-chart t_prod_n {
	}
	#product-chart .chart-notice {
		width : calc(100% - 32px);
		margin : 16px auto;
		font-size : 1.1rem;
	}
	#product-chart .chart-notice p {
		margin-left : 30%;
	}
	#product-inquiry {
		width : 100%;
		position : relative;
		background-color : #2f2f2f;
		overflow : hidden;
		padding : 48px 0;
	}
	#product-inquiry .content {
		width : calc(100% - 32px);
		margin : 0 auto;
	}
	#product-inquiry .content h2 {
		font-size : 1.4rem;
		font-weight : bold;
		margin-bottom : 16px;
	}
	#product-inquiry .content .description {
		font-size : 1.1rem;
		line-height : 1.6rem;
		margin-bottom : 64px;
	}
	#product-inquiry .bar {
		position : absolute;
		bottom : 60px;
		width : 100%;
		border-top : 4px solid #331f87;
	}
	#product-inquiry .button-box {
		position : absolute;
		width : calc(100% - 64px);
		left : 0;
		right : 0;
		margin: auto;
		bottom : 96px;
	}
	#product-inquiry .button-box .wrap {
		position : absolute;
		width : 5000px;
		background-color : #2f2f2f;
		left : calc(100% - 160px);
	}
	#product-inquiry .button-box a {
		color : #fff;
		display : block;
		text-align : center;
		width : 160px;
		border : 3px solid #331f87;
		padding : 12px 0;
		border-radius : 8px;
		font-size : 1.4rem;
		font-family : sans-serif;
	}
	
	#product-feature>ul {
		width : calc(100% - 32px);
		margin : 0 auto;
		font-size : 1.0rem;
		border-top : 1px solid #161616;
	}
	#product-feature>ul li, #fs-feature>ul li {
		float : left;
		width : 20%;
		line-height : 1.72rem;
		padding : 4px 0;
		border-bottom : 1px solid #161616;
	}
	#footer-navi {
		width: 100%;
		margin : 72px auto 144px auto;
		color : #fff;
		font-size : 1.0rem;
	}
	#footer-navi h4 {
		font-size : 1.1rem;
		margin-bottom : 20px;
	}
	#footer-navi .cell {
		float : left;
		width : 16%;
		margin-left : 4%;
		display : block;
	}
	#footer-navi .cell li {
		line-height : 1.5rem;
	}
	#footer-copyrights {
		width : 100%;
		background-color : #fff;
		color : #333;
		font-size : 0.8rem;
	}
	#footer-copyrights .content {
		width : calc(100% - 32px);
		margin : 0 auto;
		padding : 24px 0;
		text-align : center;
	}
	#footer-copyrights .copy-text {
		width : 100%;
		margin-bottom : 12px;
	}
	#footer-copyrights .content .copy-iso {
		display : table-cell;
		vertical-align : middle;
		text-align : left;
	}
	#footer-copyrights .content .null {
		display : table-cell;
		width : 10%;
	}
	#footer-copyrights .content .icon-nkc {
		display : table-cell;
		vertical-align : middle;
		width : 14%;
		padding : 0 1%;
		margin : 0 1%;
		border-left : 1px solid #000;
	}
	#footer-copyrights .content .icon-jab {
		display : table-cell;
		vertical-align : middle;
		width : 18%;
		padding : 0 1%;
		margin : 0 1%;
		border-left : 1px solid #000;
	}
	#footer-copyrights .content .icon-jab img {
		width : 100%;
	}
}
@media screen and (min-width: 1200px) {
	#main-visual .language-select {
		position : absolute;
		right : 0;
		top : 32px;
		padding : 12px 16px;
		font-size: 1.1rem;
		font-weight: bold;
		background : rgba(0,0,0,0.8);
	}
	sup {
		font-size : 0.7rem;
	}
	.sp-content {
		display : none;
	}
	#header-navi {
		width : calc(100% - 64px);
		margin : 0 auto;
		padding : 32px;
	}
	#header-navi .main-logo {
		float : left;
		width : 536px;
	}
	#header-navi .main-logo .logoimage {
		display : table-cell;
		width : 30%;
		padding : 12px 0;
	}
	#header-navi .main-logo .description {
		display : table-cell;
		padding : 0 8px;
		vertical-align : middle;
	}
	#header-navi .main-navi {
		float : right;
		width : 600px;
		display : table;
		border-right : 1px solid #fff;
		margin : 12px 0;
	}
	#header-navi .main-logo .description h1 {
		font-size : 0.9rem;
		line-height : 1.4rem;
	}
	#header-navi .main-navi li {
		display : table-cell;
		width : 20%;
		font-size : 1.2rem;
		text-align : center;
		vertical-align : middle;
		border-left : 1px solid #fff;
		padding : 20px 0;
	}
	#header-navi .sub-navi {
		float : right;
		clear : both;
		font-size : 1.1rem;
		font-weight : bold;
		color : #8b8b8b;
		padding-top : 24px;
		margin : 0 -4px 0 0;
	}
	#header-navi .sub-navi.navi-company {
		margin-right : 15px;
	}
	#header-navi .sub-navi li {
		float : left;
		padding : 0 38px;
		text-align : center;
	}
	#header-navi .sub-navi li:last-child {
		padding-right : 36px;
	}
	#header-navi .sub-navi li.here {
		background-size : 100%;
		background-position: center;
	}
	#top-headline {
		clear : both;
		width : 100%;
		font-size : 1.4rem;
		padding-top : 40px;
		margin-bottom : 40px;
	}
	#product-hilite, #corporate-hilite {
		clear : both;
		width : 100%;
		font-size : 1.4rem;
		margin-bottom : 100px;
	}
	#product-hilite {
		padding-top : 32px;
	}
	#corporate-hilite {
		padding-top : 96px;
	}
	#product-hilite .full-image {
		margin-bottom : 100px;
	}
	#top-headline .columns {
		width : 1200px;
		margin : 0 auto;
	}
	#product-hilite .columns {
		width : 1200px;
		margin : 0 auto;
	}
	#product-hilite .summary {
		width : 1200px;
		display : table;
		margin : 0 auto;
		padding-top : 40px;
	}
	#corporate-hilite .summary {
		width : 1060px;
		display : table;
		margin : 0 auto;
		padding-top : 40px;
	}
	#corporate-hilite .summary.wide, #company-profile-body .chart-body.wide {
		width : 1200px;
	}
	#product-hilite .summary .figure {
		width : 65%;
	}
	#corporate-hilite .summary .text-only {
		width : 100%;
	}
	#product-hilite .summary h2, #corporate-hilite .summary h2 {
		font-size : 2.4rem;
		margin-bottom : 16px;
	}
	#product-hilite .summary h3, #corporate-hilite .summary h3 {
		font-size : 1.2rem;
		line-height : 1.92rem;
		margin-bottom : 24px;
	}
	#product-hilite .summary .description, #corporate-hilite .summary .description {
		font-size : 1.2rem;
		line-height : 1.72rem;
		margin-bottom : 12px;
	}
	#product-hilite .columns>li {
		display : block;
		float : left;
		width : 350px;
		margin : 0 25px;
	}
	#product-hilite .columns li h3 {
		font-size : 1.6rem;
		margin-bottom : 28px;
	}
	#product-hilite .columns li h4 {
		font-size : 1.4rem;
		margin-bottom : 28px;
	}
	
	#top-headline .columns {
		position : relative;
	}
	#top-headline .columns>li {
		display : block;
		float : left;
		width : 350px;
		margin : 0 25px;
	}
	#top-headline .columns li h3 {
		font-size : 1.6rem;
		margin-bottom : 28px;
	}
	#top-headline .columns li h4 {
		font-size : 1.4rem;
		margin-bottom : 28px;
	}
	#top-headline .columns li .content {
		padding-left : 16px;
		border-left : 2px solid #331f87;
		min-height : 19rem;
	}
	#top-headline .columns li .content a.more {
		position : absolute;
		bottom : 0;
		display : block;
		padding : 12px;
		border : 2px solid #331f87;
		border-radius : 8px;
		color : #fff;
		font-weight : bold;
		font-size : 1.1rem;
	}
	#top-headline .columns li .description {
		font-size : 1.2rem;
		line-height : 2.16rem;
		text-align: justify;
		text-justify: inter-character;
	}
	#top-featured {
		width : 100%;
		background-color : #adadad;
	}
	#top-featured .banner-body {
		display : table;
		width : 1200px;
		margin : 0 auto;
	}
	#top-featured .banner-image {
		display : table-cell;
		vertical-align : middle;
		overflow : hidden;
		width : 600px;
	}
	#top-featured .banner-content {
		display : table-cell;
		vertical-align : middle;
		text-align : right;
		padding : 0 0 32px 0;
		position : relative;
	}
	#top-featured .banner-content h2 {
		font-size : 3.6rem;
		margin-bottom : 16px;
	}
	#top-featured .banner-content h3 {
		font-size : 1.0rem;
		margin-bottom : 4px;
	}
	#top-featured .banner-content h4 {
		font-size : 1.2rem;
		margin-bottom : 8px;
	}
	#top-featured .banner-content .description {
		font-size : 1.0rem;
		line-height : 1.6rem;
		margin-bottom : 3.2rem;
	}
	#top-featured .banner-content a {
		position: absolute;
		bottom: 36px;
		right : 0;
		display: block;
		padding: 8px 16px;
		border: 2px solid #331f87;
		border-radius: 8px;
		color: #fff;
		font-weight: bold;
		font-size: 1.2rem;
	}
	#top-featured .banner-image img {
		width : 100%;
	}
	#top-topics {
		width : 100%;
		padding : 40px 0;
	}
	#top-topics h2 {
		width : 1150px;
		font-size: 1.6rem;
		padding-bottom: 28px;
		margin : 0 auto;
	}
	#top-topics li {
		width : 100%;
		display : table;
		margin-bottom : 32px;
	}
	#top-topics li>div {
		display : table-cell;
		width : *;
		font-size: 1.0rem;
		vertical-align : top;
	}
	#top-topics .body {
		width : 1150px;
	}
	#top-topics .body p {
		line-height : 1.72rem;
	}
	#top-topics h3 {
		color : #fff;
		margin-bottom: 28px;
		font-size: 1.0rem;
	}
	#top-topics .head {
		padding-top : 0.4rem;
	}
	#top-topics .head .line {
		width : calc(100% - 12px);
		border-top : 1px solid #fff;
	}
	#top-topics .topics-img {
		width : 24%;
		margin-bottom : 1.2rem;
	}
	#top-topics .topics-img img {
		width : 100%;
	}
	#product-hilite .columns .sub {
		font-size : 1.2rem;
		list-style-type : disc; 
		list-style-position : outside;
		padding-left : 1.4rem;
	}
	#product-hilite .columns .sub li {
		line-height : 1.72rem;
		color : #aaa;
		text-align: justify;
		text-justify: inter-character;
		margin-bottom : 12px;
	}
	#product-hilite .columns .sub li span {
		line-height : 1.72rem;
		display : block;
		width : 100%;
	}
	#product-hilite .inline-movie {
		width : 720px;
		margin : 48px auto 0 auto;
	}
	#product-hilite .inline-movie iframe {
		width : 100%;
		height : 405px
	}
	#product-spec {
		width : 100%;
		background-color : #cacaca;
		padding : 64px 0;
	}
	#product-spec .spec-body {
		width : 1200px;
		margin : 0 auto;
		display : table;
	}
	#product-spec .spec-image {
		display : table-cell;
		width : 60%;
		padding : 0 10%;
	}
	#product-spec .spec-content {
		display : table-cell;
		vertical-align : middle;
		font-size : 1.4rem;
		color : #222;
	}
	#product-spec .spec-content table {
		width : 300px;
	}
	#product-spec .spec-content h2 {
		margin-bottom : 32px;
	}
	#product-spec .spec-content th {
		width : 40%;
		padding : 12px 0;
		border-bottom : 1px solid #000;
	}
	#product-spec .spec-content td {
		padding : 12px 0;
		border-bottom : 1px solid #000;
	}
	#product-chart {
		width : 100%;
		font-size : 1.2rem;
		padding : 96px 0;
	}
	#product-chart h2, #product-feature h2, #fs-feature h2 {
		width : 1200px;
		margin : 0 auto;
		font-size : 1.4rem;
		margin-bottom : 32px;
	}
	#product-chart table {
		width : 1200px;
		margin : 0 auto;
		font-size : 1.1rem;
	}
	#product-chart h2.narrow {
		width : 720px;
	}
	#product-chart table.narrow {
		width : 720px;
	}
	#product-chart table thead th {
		padding : 0 6px 16px 6px;
		border-right : 1px solid #161616;
	}
	#product-chart table tbody th, #product-chart table tbody td {
		padding : 6px;
		font-weight : normal;
		border-bottom : 1px solid #161616;
		border-right : 1px solid #161616;
	}
	#product-chart table thead th:last-child, #product-chart table tbody th:last-child, #product-chart table tbody td:last-child, .t_spetitle {
		border-right : none!important;
	}
	#product-chart .t_spec {
		width : 320px;
	}
	#product-chart .t_spetitle {
		width : 240px;
	}
	#product-chart .t_specunit {
		width : 80px;
	}
	#product-chart t_prod_n {
		padding-right : 32px;
	}
	#product-chart .chart-notice {
		width : 1200px;
		margin : 16px auto;
		font-size : 1.1rem;
	}
	#product-chart .chart-notice p {
		margin-left : 344px;
	}
	#product-inquiry {
		width : 100%;
		position : relative;
		overflow : hidden;
		padding : 48px 0;
		background-color : #2f2f2f;
	}
	#product-inquiry .content {
		width : 1200px;
		margin : 0 auto;
		font-size : 1.2rem;
		color : #fff;
	}
	#product-inquiry .content h2 {
		font-size : 1.6rem;
		font-weight : bold;
		margin-bottom : 16px;
	}
	#product-inquiry .content .description {
		margin-bottom : 64px;
		line-height : 1.72rem;
	}
	#product-inquiry .bar {
		position : absolute;
		bottom : 60px;
		width : 100%;
		border-top : 4px solid #331f87;
	}
	#product-inquiry .button-box {
		position : absolute;
		width : 1200px;
		left : 0;
		right : 0;
		margin: auto;
		bottom : 96px;
	}
	#product-inquiry .button-box .wrap {
		position : absolute;
		width : 5000px;
		background-color : #2f2f2f;
		left : 1032px;
	}
	#product-inquiry .button-box a {
		color : #fff;
		display : block;
		text-align : center;
		width : 160px;
		border : 3px solid #331f87;
		padding : 12px 0;
		border-radius : 8px;
		font-size : 1.4rem;
		font-family : sans-serif;
	}
	#product-feature, #fs-feature {
		width : 100%;
		font-size : 1.4rem;
		padding : 96px 0;
	}
	#product-feature .columns, #fs-feature .columns {
		width : 1060px;
		margin : 0 auto;
	}
	#product-feature .column, #fs-feature .column {
		float : left;
		width : 480px;
		margin : 0 25px;
		text-align: justify;
		text-justify: inter-character;
	}
	#product-feature .column:last-child, #fs-feature .column:last-child {
		margin-right : 0;
	}
	#product-feature .column dt, #fs-feature .column dt {
		font-size : 1.6rem;
		font-weight : bold;
		margin-bottom : 22px;
	}
	#product-feature .column dd ul, #fs-feature .column dd ul {
		font-size : 1.2rem;
		list-style-type : disc; 
		list-style-position : outside;
		padding-left : 1.4rem;
		margin-bottom : 32px;
	}
	#product-feature .column dd ul li, #fs-feature .column dd ul li {
		line-height : 1.72rem;
		color : #aaa;
	}
	#product-feature>ul, #fs-feature>ul {
		width : 1200px;
		margin : 0 auto;
		font-size : 1.2rem;
		border-top : 1px solid #161616;
	}
	#product-feature>ul li, #fs-feature>ul li {
		float : left;
		width : 240px;
		line-height : 2.16rem;
		border-bottom : 1px solid #161616;
	}
	#product-gallery {
		width : 1200px;
		margin : 64px auto;
		line-height: 0;
		-webkit-column-count : 3;
		-webkit-column-gap : 0px;
		-moz-column-count : 3;
		-moz-column-gap : 0px;
		column-count : 3;
		column-gap : 0px;
	}
	#product-gallery img {
		width : 100% !important;
		height : auto !important;
	}
	#product-gallery  .item {
		margin: 10px;
		width: calc(33.3% - 20px);
	}
	#company-profile-body {
		width : 100%;
		font-size : 1.2rem;
		padding : 48px 0;
	}
	#company-profile-body h2 {
		width : 1060px;
		margin : 0 auto;
		font-size : 1.4rem;
		margin-bottom : 32px;
	}
	#company-profile-body .chart-body {
		margin-bottom : 48px!important;
		width : 1060px;
		margin : 0 auto;
	}
	#company-profile-body .form_confirm {
		width : 1028px;
		margin : 0 auto;
		background-color : #404040;
		padding : 16px;
		margin-bottom : 48px;
	}
	#company-profile-body .chart-half {
		width : calc(50% - 32px);
		float : left;
		margin : 0 16px 64px 16px;
	}
	#company-profile-body .chart-multi {
		width : calc(33.3% - 32px);
		float : left;
		margin : 0 0 64px 16px;
	}
	#company-profile-body .chart-half img, #company-profile-body .chart-multi img {
		width : 100%;
	}
	#company-profile-body .chart-sub {
		clear : both;
		line-height : 1.72rem;
		width : 100%;
	}
	#company-profile-body .chart-multi:nth-child(1), #company-profile-body .chart-multi:nth-child(4), #company-profile-body .chart-half:nth-child(1) {
		margin : 0 16px 64px 0;
	}
	#company-profile-body .chart-multi:nth-child(3) {
		margin : 0 0 64px 16px;
	}
	#company-profile-body .chart-body h3 {
		font-size : 1.2rem;
		margin-bottom : 24px;
	}
	#company-profile-body .chart-body .sub {
		margin-bottom : 32px;
	}
	#company-profile-body .chart-body.force-justify {
		text-align: justify;
		text-justify: inter-character;
	}
	#company-profile-body .chart-body span {
		white-space : nowrap;
	}
	#company-profile-body .chart-body table {
		font-size : 1.1rem;
		margin-bottom : 96px;
	}
	#company-profile-body .chart-body table th, #company-profile-body .chart-body table td, #company-profile-body .chart-body dl dt, #company-profile-body .chart-body dl dd {
		padding : 6px 0;
		font-weight : normal;
		line-height : 1.4rem;
	}
	#company-profile-body .chart-body dl dd.form_chk {
		color : #aaa;
	}
	#company-profile-body .chart-body form dl dd {
		width : 900px;
	}
	#company-profile-body .chart-body table th {
		width : 20%;
	}
	#company-profile-body .company-history dl {
		display : table;
		font-size : 1.1rem;
		width : inherit;
		vertical-align : top;
	}
	#company-profile-body .company-history dt {
		display : table-cell;
		width : 200px;
		vertical-align : top;
	}
	#company-profile-body .chart-multi dt {
		width : 180px;
	}
	#company-profile-body .wide .chart-multi dt {
		width : 90px;
	}
	#company-profile-body .chart-multi img {
		width : 100%;
	}
	#company-profile-body .company-history dt {
		line-height : 1.92rem!important;
	}
	#company-profile-body .company-history dd {
		display : table-cell;
		line-height : 1.92rem!important;
		vertical-align : top;
	}
	
	#fs-inquiry {
		width : 100%;
		position : relative;
		background-color : #efefef;
		overflow : hidden;
		padding : 48px 0;
		margin-bottom : 96px;
	}
	#fs-inquiry .content {
		width : 1010px;
		margin : 0 auto;
		font-size : 1.2rem;
		color : #222;
	}
	#fs-inquiry .content h2 {
		font-size : 1.6rem;
		font-weight : bold;
		margin-bottom : 16px;
	}
	#fs-inquiry .content .description {
		margin-bottom : 64px;
	}
	#fs-inquiry .bar {
		position : absolute;
		bottom : 60px;
		width : 100%;
		border-top : 4px solid #331f87;
	}
	#fs-inquiry .button-box {
		position : absolute;
		width : 1010px;
		left : 0;
		right : 0;
		margin: auto;
		bottom : 96px;
	}
	#fs-inquiry .button-box .wrap {
		position : absolute;
		width : 5000px;
		background-color : #efefef;
		left : 850px;
	}
	#fs-inquiry .button-box a {
		color : #331f87;
		display : block;
		text-align : center;
		width : 160px;
		border : 3px solid #331f87;
		padding : 12px 0;
		border-radius : 8px;
		font-size : 1.4rem;
		font-family : sans-serif;
	}
	#product-keyword {
		width : 100%;
		margin : 0 auto;
		z-index : -1;
	}
	#product-keyword .cell {
		width: 100%;
		display : table;
		table-layout : fixed;
		margin-bottom: 96px;
	}
	#product-keyword .cell .main-image {
		display : table-cell;
		width: 90%;
	}
	#product-keyword .cell .main-image .image-box {
		height : 500px;
		overflow : hidden;
		position : relative;
	}
	#product-keyword .cell .main-image img {
		width : 100%;
		height: auto;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	#product-keyword .cell .text-box {
		display : table-cell;
		width: 510px;
		padding : 0 5%;
		line-height : 1.72rem;
		vertical-align : middle;
		font-size :1.2rem;
	}
	#product-keyword .cell .text-box p {
		line-height : 1.72rem;
	}
	#footer-navi {
		width : 100%;
		margin : 100px 100px 168px 180px;
		width : calc(100% - 280px);
		color : #fff;
		font-size : 1.1rem;
	}
	#footer-navi h4 {
		font-size : 1.2rem;
		margin-bottom : 24px;
	}
	#footer-navi .cell {
		float : left;
		width : calc(20% - 80px);
		margin-right : 80px;
		display : block;
	}
	#footer-navi .cell li {
		line-height : 1.5rem;
	}
	#footer-copyrights {
		width : 100%;
		background-color : #fff;
		color : #333;
		font-size : 0.8rem;
	}
	#footer-copyrights .content {
		width : 1200px;
		margin : 0 auto;
		padding : 32px 0;
		display : table;
	}
	#footer-copyrights .content>div {
		display : table-cell;
		vertical-align : middle;
	}
	#footer-copyrights .content .copy-text {
		width :26%;
	}
	#footer-copyrights .content .copy-iso {
		text-align : right;
	}
	#footer-copyrights .content .icon-nkc {
		border-left : 1px solid #ccc;
		width : 15%;
		padding : 0 1%;
		margin : 0 1%;
	}
	#footer-copyrights .content .icon-jab {
		border-left : 1px solid #ccc;
		width : 19%;
		padding : 0 1%;
		margin : 0 1%;
	}
	#footer-copyrights .content .icon-jab img {
		width : 100%;
	}
}