@charset "utf-8";

/* Clearfix --------------------------------------------------------- */
/*clearfix*/
.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
    }
.clearfix {
    display: inline-table;
    min-height: 1%;
    }
/*Hides from MacIE \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/*Hides from MacIE */

/* ##### custom reset ##### */
@font-face {font-family: "YuGothic M";src: local(Yu Gothic Medium)}
:root {
	font-size:16px;
	font-family:'Lato',"游ゴシック体", YuGothic, "游ゴシック Medium", "YuGothic M", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	font-feature-settings : "palt" 1;
	line-height:1.5;
	color:#333333;
}
.weaktext {
	font-family:'Lato', sans-serif;
	font-weight:300;
	letter-spacing:0px;
}
ul, li {
	list-style:none;
}
a img {
	border:0;
}
a {
	text-decoration:none;
	color:#333333;
	transition:opacity 0.2s ease-out;
}
a:hover {
	text-decoration:underline;
	filter:alpha(opacity=60);
	-moz-opacity: 0.6;
	opacity: 0.6;
}
article, footer {
	width:100%;
	min-width: 1000px;
	overflow:hidden;
}
header {
	width:100%;
}

/* ##### common ##### */
.com_note {
	font-size:12px;
  display: inline-block;
  padding-left: 1em;
  text-indent: -1em;
}
.com_imgbtn {
	display:inline-block;
	border-radius:16px;
	line-height:32px;
	padding:0 32px;
	background:rgba(0,0,0,0.8);
	color:#ffffff;
	text-align:center;
}
.com_imgbtn_small {
	line-height:24px;
	padding:0 12px;
	font-size:14px;
}
.com_imgbtn_big {
	font-size:24px;
	line-height:48px;
	padding:0 48px;
	border-radius:24px;
}
.com_contgroup {
	padding-top:50px;
	padding-bottom:50px;
}
.com_contgroup-pt0 {
  padding-top: 0;
}
.com_box {
	width:100%;
	min-width: 1000px;
}
.com_box_gray {
	background:#e0e0e0;
}
.com_box_gradient {
  background: linear-gradient(to bottom, #eeeeee 0%, #ffffff 80%) no-repeat center top;
}
.com_box_inner {
	width:1000px;
	margin:0 auto;
	position:relative;
}
.com_accordingto {
	font-family:'Lato', sans-serif;
	font-size:14px;
	line-height:14px;
}
.com_secttl {
	font-size:40px;
}
#com_main_txt {
	padding-top:60px;
}
#com_main_txt h1 {
	text-align:center;
	font-size:60px;
}
#com_pager {
	text-align:center;
	font-size:0;
}
#com_pager a, #com_pager span {
	font-size:16px;
	display:inline-block;
	width:30px;
	height:30px;
	line-height:30px;
	border:1px solid rgba(0,0,0,0.8);
	margin:0px 5px;
}
#com_pager a {
	background:rgba(0,0,0,0.8);
	color:#ffffff;
}

/* ## com_breadcrumb ## */
#com_breadcrumb {
  background:#333333;
  color: #ffffff;
  font-size: 83%;
  line-height: 2.5;
}
#com_breadcrumb a {
  color: #ffffff;
  text-decoration: underline;
}

/* ## header ## */
#com_header_contact {
	background:#d9dde3;
	line-height:30px;
	height:30px;
	text-align:right;
	font-size:14px;
}
dl#com_header_contactList dt, dl#com_header_contactList dd {
	display:inline-block;
	margin-left:5px;
	position:relative;
	line-height:20px;
}
dl#com_header_contactList dt {
	padding-right:16px;
}
dl#com_header_contactList dt:after {
	content:"";
	display:block;
	position:absolute;
	width:10px;
	height:6px;
	border:transparent 3px solid;
	border-left:#333333 6px solid;
	top:0;
	bottom:0;
	right:0;
	margin:auto;
}
dl#com_header_contactList dd {
	background:#dc0063;
	padding:0 10px 0 25px;
	border-radius:10px;
}
dl#com_header_contactList dd:before {
	content:url(../img/icon_mail.svg);
	position:absolute;
	display:block;
	top:-1px;
	left:8px;
	margin:auto;
}
dl#com_header_contactList dd a {
	color:#ffffff;
}
#com_header_main {
	height:60px;
	line-height:60px;
	font-size:18px;
}
#com_header_main nav {
	float:right;
}
#com_header_main nav a {
	display:inline-block;
	margin-left:10px;
	padding:0 10px;
	position:relative;
}

#page_products #com_header_main nav a#com_header_products,
#page_technology #com_header_main nav a#com_header_technology,
#page_about #com_header_main nav a#com_header_about,
#page_support #com_header_main nav a#com_header_support,
#page_news #com_header_main nav a#com_header_news
 { background:#333333; color:#FFFFFF; }

#com_floatheader {
	width:100%;
	background:rgba(0,40,102,0.95);
	position:fixed;
	left:0;
	top:-50px;
	z-index:10000;
}
#com_floatheader .com_box_inner {
	color:#ffffff;
	line-height:40px;
}
#com_flaotheader_logo img {
	width:180px;
	padding-bottom:2px;
}
#com_floatheader_nav {
	float:right;
}
#com_floatheader_nav a {
	display:inline-block;
	margin-left:20px;
	font-size:14px;
	color:#ffffff;
}
#com_floatheader_nav a.com_float_mail {
	background:#dc0063;
	padding:0 10px 0 25px;
	border-radius:12px;
	line-height:24px;
	margin-top:8px;
	position:relative;
	margin-left:10px;
}
#com_floatheader_nav a.com_float_mail:before {
	content:url(../img/icon_mail.svg);
	position:absolute;
	display:block;
	top:-1px;
	left:8px;
	margin:auto;
}
.com_subheader_float {
	z-index:9999;
	width:100%;
	height:25px;
	left:0;
	top:-50px;
	position:fixed;
	background:rgba(204,204,204,0.9);
	text-align:right;
}
.com_subheader_float a {
	display:inline-block;
	margin:0 0 0 20px;
	padding:0;
	font-size:14px;
	color:#444444;
	line-height:20px;
}
/* com_subheader */
#com_subheader {
	background:#555555;
	height:30px;
	line-height:30px;
	color:#ffffff;
	font-size:0;
}
#com_subheader span, #com_subheader a {
	display:inline-block;
	margin:0;
	padding:2px 8px 0 8px;
	font-size:12px;
	line-height:28px;
	color:#ffffff;
	position:relative;
}
#com_subheader a { border-right:1px solid #444444; }
#com_subheader a.com_subheader_active { background:#444444; }
#com_subheader span { background:#393939; margin-left:15px; }
#com_subheader span:first-child { margin-left:0; }

/* com_subheader_big */
#com_subheader_big {
	background:#dddddd;
	height:40px;
	line-height:40px;
	font-size:0;
}
#com_subheader_big a {
	border-right:1px solid #999999;
	display:inline-block;
	padding:0 15px;
	height:40px;
	line-height:40px;
	color:#444444;
	font-size:18px;
}
#com_subheader_big a.com_subheader_active_big { background:#555555; color:#ffffff; }
#com_subheader_big a:first-child {
	border-left:1px solid #999999;
}
.texta_c{
    text-align: center;
}
/* ## footer ## */
footer {
	background:#002866;
	color:#ffffff;
	margin-top:50px;
}
footer a {
	color:#ffffff;
	display:block;
	font-weight:300;
}
div.com_footer_linkbox {
	width:250px;
	float:left;
}

div.com_footer_linkbox a.com_footer_parent {
	font-family:'Montserrat', sans-serif;
	letter-spacing:-1px;
	font-size:20px;
}
div.com_footer_linkbox a + a.com_footer_parent {
	margin-top:30px;
}
div#com_footer_contactbox.com_footer_contactbox_show {
	bottom:0;
}
div#com_footer_contactbox.com_footer_contactbox_show strong:before {
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
}
div#com_footer_contactbox {
	background:#dc0063;
	text-align:left;
	position:fixed;
	padding:0 0 10px 0;
	right:10px;
	bottom:-70px;
	transition:all 0.2s ease-out;
}
div#com_footer_contactbox strong {
	font-family:'Montserrat', sans-serif;
	display:block;
	height:40px;
	letter-spacing:-1px;
	font-size:16px;
	line-height:40px;
	padding-left:40px;
	padding-right:40px;
	font-weight:300;
	position:relative;
	cursor:pointer;
}
div#com_footer_contactbox strong:hover {
	text-decoration:underline;
}
div#com_footer_contactbox strong:before {
	content:"";
	display:block;
	width:3px;
	height:15px;
	background:#ffffff;
	position:absolute;
	top:13px;
	left:19px;
	transition:all 0.2s ease-out;
}
div#com_footer_contactbox strong:after {
	content:"";
	display:block;
	width:15px;
	height:3px;
	background:#ffffff;
	position:absolute;
	top:19px;
	left:13px;
}
div#com_footer_contactbox a {
	color:#ffffff;
	display:block;
	height:30px;
	line-height:30px;
	font-weight:300;
	margin:0;
	padding:0 20px 0 40px;
	position:relative;
}
div#com_footer_contactbox a:before {
	content:url(../img/icon_mail.svg);
	position:absolute;
	top:-1px;
	bottom:0;
	left:18px;
	margin:auto;
}
div#com_footer_copyright {
	background:#000000;
	line-height:60px;
	text-align:center;
}
div#com_footer_menu{
    padding-top: 15px;
}
div#com_footer_menu a{
    font-size: 14px;
}
/* ## com_breadcrumb ## */
#breadcrumb {
	background:#333333;
	font-weight:300;
	color:#ffffff;
	font-size:12px;
	line-height:20px;
}
#breadcrumb a, #breadcrumb span {
	display:inline-block;
	margin-right:6px;
	padding-right:16px;
	font-weight:300;
	color:#ffffff;
	position:relative;
}
#breadcrumb a:after {
	content:"";
	display:block;
	width:0px;
	height:0px;
	border:2px solid transparent;
	border-left:4px solid #ffffff;
	position:absolute;
	right:0px;
	top:8px;
}
/* ## table / form ## */
table {
	width:100%;
}
h1 + table, table + table {
	margin-top:20px;
}
table th, table td {
	text-align:center;
	padding:10px;
	border:1px solid #cccccc;
	hyphens:none;
	background:#ffffff;
}
table .com_table_txt { text-align:left; }
table th {
	background:#f9f9f9;
}

table.suplementintext {
	margin-top:10px;
}
table.suplementintext th, table.suplementintext td {
	vertical-align:top;
	text-align:left;
}
table.infotext th, table.infotext td {
	text-align:left;
	vertical-align:top;
	border-left:none;
	border-right:none;
	padding:20px;
}
table.infotext th {
	white-space:nowrap;
}
input[type="text"], textarea {
	border: #d4d4d4 1px solid;
	background: #f3f3f3;
	border-radius: 4px;
	width: 650px;
	padding:0 4px;
}
select {
	border: #d4d4d4 1px solid;
	border-radius: 4px;
	padding-left:4px;
	padding-right:24px;
	background:#f3f3f3 url(../img/com_form_selectmark.png) right center no-repeat;
	background-size:auto 100%;
}
div.com_form_btnarea {
	padding:30px 0;
	text-align:center;
	font-size:0;
}
div.com_form_btnarea input[type="submit"], div.com_form_btnarea a {
	display:inline-block;
	height:40px;
	line-height:40px;
	font-size:24px;
	border-radius:20px;
	color:#ffffff;
	padding:0 40px;
	margin:0 10px;
}
div.com_form_btnarea input[type="submit"] {
	background-color:#dc0063;
}
div.com_form_btnarea a {
	background:#999999;
}

/* ## subpage title ## */
#sub_com_main {
	width:100%;
	height:200px;
	overflow:hidden;
	background:#002866;
}
#sub_com_main div.com_box_inner {
	height:200px;
}
#sub_com_main_img {
	display:block;
	position:absolute;
	margin:auto;
	top:-1000px;
	left:-1000px;
	right:-1000px;
	bottom:-1000px;
}
#sub_com_main div.com_box_inner h1 {
	color:#ffffff;
	font-size:48px;
	position:absolute;
	top:-1000px;
	bottom:-1000px;
	left:0;
	margin:auto;
	width:500px;
	height:48px;
	line-height:48px;
	display:block;
}

/* ##### responsive ##### */
@media (min-width: 481px) {
	.forSP{
		display:none;
	}
	#com_sp_drawerbtn {
		display:none;
	}
}
@media (max-width: 480px) {
	:root {
		font-size:4vw;
	}
	.forPC{
		display:none;
	}
	html, body {
		width:100%;
		overflow:hidden;
	}
	header {
		position:fixed;
		background:rgba(255,255,255,0.9);
		z-index:9998;
	}
	article {
		padding-top:40px;
	}
	article, footer {
		min-width: 100%;
	}
	/* ##### common ##### */
	.com_box {
		min-width: 100%;
	}
	.com_box_inner {
		width:96%;
	}
	.com_secttl {
		font-size:30px;
		text-align:center;
	}
	.com_fullImg {
		width:100%;
	}
	.com_imgbtn_small {
		line-height:18px;
		padding:0 8px;
		font-size:10px;
	}
	#com_main_txt {
		padding-top:40px;
	}
	#com_main_txt h1 {
		font-size:32px;
	}
  #com_breadcrumb {
    display: none;
  }
	/* ## header ## */
	#com_header_contact {
		display:none;
	}
	#com_header_main {
		height:40px;
		line-height:35px;
	}
	#com_header_main nav {
		display:none;
	}
	#com_header_logo {
		width:150px;
	}
	#com_header_logo img {
		width:150px;
	}
	#com_floatheader {
		width:100%;
		height:100%;
		top:0;
		display:none;
	}
	#com_flaotheader_logo {
		display:none;
	}
	#com_floatheader_nav {
		width:100%;
		float:none;
		margin-top:48px;
		border-top:1px solid #2b579b;
	}
	#com_floatheader_nav a, #com_floatheader_nav a.com_float_mail {
		display:block;
		margin:0 auto;
		padding:4px 0;
		text-align:center;
		font-size:20px;
		line-height:40px;
		border-bottom:1px solid #2b579b;
		background:none;
	}
	#com_floatheader_nav a.com_float_mail:before {
		content:none;
	}
	.com_subheader_float {
		width:100%;
		height:100%;
		top:0;
		left:100%;
		position:fixed;
		z-index:15000;
		background:rgba(0,40,102,0.95);
		margin-top:48px;
	}
	.com_subheader_float a, .com_subheader_float a:first-child, .com_subheader_float a.com_subheader_active_big{
		display:block;
		height:auto;
		margin:0 auto;
		padding:4px 0;
		text-align:center;
		font-size:20px;
		line-height:40px;
		border:none;
		border-bottom:1px solid #2b579b;
		color:#ffffff;
		background:transparent;
	}
	.com_subheader_float a.sub_btnBack {
		display:block;
		position:absolute;
		z-index:15001;
		width:40px;
		height:40px;
		top:-48px;
		left:0px;
		margin:0;
		padding:0;
		border:none;
	}
	.com_subheader_float a.sub_btnBack span {
		display:block;
		position:absolute;
		width:15px;
		height:4px;
		background:#ffffff;
		left:7px;
	}
	.com_subheader_float a.sub_btnBack span:first-child {
		-webkit-transform:rotate(45deg);
		-moz-transform:rotate(45deg);
		transform:rotate(45deg);
		top:16px;
	}
	.com_subheader_float a.sub_btnBack span:last-child {
		-webkit-transform:rotate(-45deg);
		-moz-transform:rotate(-45deg);
		transform:rotate(-45deg);
		top:24px;
	}
	#com_sp_drawerbtn {
		display:block;
		position:fixed;
		z-index:10001;
		width:40px;
		height:40px;
		top:0;
		right:0;
	}
	#com_sp_drawerbtn span {
		display:block;
		position:absolute;
		width:26px;
		height:4px;
		background:#2b579b;
		left:7px;
		-webkit-transition: .3s ease-in-out;
		-moz-transition: .3s ease-in-out;
		transition: .3s ease-in-out;
	}
	#com_sp_drawerbtn span:nth-child(1) { top:8px; }
	#com_sp_drawerbtn span:nth-child(2) { top:18px; }
	#com_sp_drawerbtn span:nth-child(3) { top:28px; }
	
	#com_sp_drawerbtn.com_sp_drawerbtn_on span:nth-child(1) {
		-webkit-transform:rotate(-45deg);
		-moz-transform:rotate(-45deg);
		transform:rotate(-45deg);
		top:20px;
		background:#ffffff;
	}
	#com_sp_drawerbtn.com_sp_drawerbtn_on span:nth-child(2) {
		background:none;
	}
	#com_sp_drawerbtn.com_sp_drawerbtn_on span:nth-child(3) {
		-webkit-transform:rotate(45deg);
		-moz-transform:rotate(45deg);
		transform:rotate(45deg);
		top:20px;
		background:#ffffff;
	}
	
	/* ## footer ## */
	footer .com_box_inner {
		padding:20px;
	}
	div.com_footer_linkbox {
		width:100%;
		float:none;
		text-align:center;
		line-height:20px;
	}
	div.com_footer_linkbox a {
		display:none;
	}
	div.com_footer_linkbox a.com_footer_parent {
		display:inline-block;
		font-size:14px;
		margin:0 1em!important;
		padding:0;
		font-family:'Lato', sans-serif;
		letter-spacing:0;
	}
	div#com_footer_contactbox {
		right:0;
	}
	div#com_footer_contactbox strong {
		font-size:14px;
		display:block;
	}
	div#com_footer_contactbox a {
		font-size:12px;
	}
	div#com_footer_copyright {
		font-size:12px;
		line-height:40px;
		padding-bottom:35px;
	}
	/* ## table / form ## */
	table th, table td {
		font-size:10px;
		padding:1.5% 0.8%;
		letter-spacing:-0.2px;
		font-weight:normal;
		hyphens:auto;
	}
	table th:first-child, table td:first-child {
		border-left:none;
	}
	table th:last-child, table td:last-child {
		border-right:none;
	}
	table.suplementintext th, table.suplementintext td {
		border:1px solid #cccccc;
		padding:1.5%;
	}
	table.infotext th, table.infotext td {
		padding:2%;
	}
	table.infotext th {
		white-space:normal;
	}
	/* form table */
	form table.infotext th, form table.infotext td {
		display:block;
		font-size:12px;
		padding-top:10px;
		padding-bottom:10px;
	}
	form table.infotext th {
		border-bottom:none;
		background:none;
	}
	form table.infotext td {
		border:none;
		padding-top:0;
	}
	input[type="text"], textarea {
		width:100%;
	}
	select {
		max-width:100%;
	}
	div.com_form_btnarea {
		padding:10px 0;
	}
	div.com_form_btnarea input[type="submit"], div.com_form_btnarea a {
		font-size:18px;
		height:25px;
		line-height:25px;
		border-radius:13px;
		padding:0 20px;
	}
	/* ## subpage title ## */
	#sub_com_main, #sub_com_main div.com_box_inner {
		height:100px;
	}
	#sub_com_main div.com_box_inner h1 {
		width:100%;
		text-align:center;
		font-size:28px;
		height:28px;
		line-height:28px;
	}
	#sub_com_main_img {
		height:100px;
	}
}

