@charset "utf-8";

/* 
---------------------------------------------------------- */
html { overflow-y: scroll;}
body * {
  box-sizing: border-box;
}

@media print {
html,
html body {}
}

/*webfont*/
@import url('https://fonts.googleapis.com/css?family=Roboto:700');

/* body	 -------------------------------------------------------------- */
body{
	font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HiraKakuPro-W3","メイリオ",Meiryo,'Roboto',sans-serif;
	width:100%;
	-webkit-text-size-adjust: 100%;
	font-size: 14px;
	line-height: 1.6;
	color: #333;
	letter-spacing:0.02em;
}


/* fonts -------------------------------------------------------------- */
a {
	color: #248b9a;
	text-decoration: underline;
}
a:visited {}
a:hover,
a:active { text-decoration: none;}

sup   { font-size: 78%; vertical-align: top;}
sub   { font-size: 78%; vertical-align: baseline;}

.f11 { font-size: 72%;} /* base 14px -> 10px */
.f12 { font-size: 86%;} /* base 14px -> 12px */
.f13 { font-size: 93%;} /* base 14px -> 13px */
.f16 { font-size: 115%;} /* base 14px -> 16px */
.f18 { font-size: 129%;} /* base 14px -> 18px */
.f20 { font-size: 143%;} /* base 14px -> 20px */
.f22 { font-size: 157%;} /* base 14px -> 22px */
.f24 { font-size: 171%;} /* base 14px -> 24px */
.f26 { font-size: 185%;} /* base 14px -> 26px */
.f28 { font-size: 200%;} /* base 14px -> 28px */

/* inline align ------------------------------------------------------------ */
.taL {text-align: left   !important;}
.taC {text-align: center !important;}
.taR {text-align: right  !important;}
.vaT {vertical-align: top    !important;}
.vaM {vertical-align: middle !important;}
.vaB {vertical-align: bottom !important;}
@media screen and (max-width:768px){
.spTxtC { text-align:center; }
}

/*-- weight -- */
.bold{font-weight:bold !important;}
.normal{font-weight:normal !important;}

/*-- color -- */
.red {color: #e00100;}
.blue {color:#00479d;}
.yellow{color:#e39600;}


/*-- Tools ------------------------------------------------------------ */
.clear {clear: both;}
.block {display: block;}
.hide  {display: none;}
.bgN   {background: none !important;}
.tdU   {text-decoration: underline;}
.tdN   {text-decoration: none;}

.pc{display:block;}
.sp{display:none !important;}
@media screen and (max-width:768px){
.sp{display:block !important;}
.pc{display:none;}
}


/* float ------------------------------------------------------------------ */
.flL    { display: inline; float: left;}
.flR    { display: inline; float: right;}
.flImgL { display: inline; float: left; margin-right: 20px;}
.flImgR { display: inline; float: right; margin-left: 20px;}

/*-- floatWrap -- */
.leftWrap { float:left; }
.rightWrap { float:right; }
@media screen and (max-width:768px){
.leftWrap,
.rightWrap {
	float:none;
}
}


/* Img ------------------------------------------------------------------- */
img {
  max-width: 100%;
  height: auto;
  border: 0;
}
.img-rp {
  display: block;
  width: 100%;
  height: auto;
}
/* img hover */
a:hover img{
	filter: alpha(opacity=70);
	-moz-opacity:0.7;
	opacity:0.7;
}


/* wrapper
---------------------------------------------------------- */
#wrapper {
	width: 100%;
	overflow:hidden;
}

@media screen and (max-width:768px){
#wrapper {
	min-width: 100%;
}
}


/* header
---------------------------------------------------------- */
#header {
	width: 100%;
	padding:18px 0;
}
#siteId {
	width: 325px;
	float:left;
}
#swith{display:none;}
@media screen and (max-width:768px){
	#header{
		position: fixed;
		top: 0;
		padding:18px 0 18px 10px;
		z-index: 99999;
		background: #fff;
	}
	#siteId {
		float:none !important;
		width: 250px !important;
	}
	/*sp menu*/
	#swith{
		display: block !important;
		position:fixed;
		box-sizing:border-box;
		-webkit-box-sizing:border-box;
		z-index: 9999;
		top: 22px;
		right: 20px;
		width: 32px;
		height: 34px;
	}
	/*menuBtn*/
	.menu-trigger{
		position: relative;
		width: 32px;
		height: 26px;
		transition: all .4s;
		box-sizing: border-box;
	}
	.menu-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
		width: 100%;
		height: 2.2px;
		position: absolute;
	}
	.menu-trigger span:nth-of-type(1) {
		top: 0;
		background-color: #666;
	}
	.menu-trigger span:nth-of-type(2) {
		top: 12px;
		background-color: #666;
	}
	.menu-trigger span:nth-of-type(3) {
		bottom: 0;
		background-color: #12356d;
	}
	.menu-trigger.active{
		/*top: -12px;*/
		}
	.menu-trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(12px) rotate(-315deg);
		transform: translateY(12px) rotate(-315deg);
	}
	.menu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menu-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-12px) rotate(315deg);
		transform: translateY(-12px) rotate(315deg);
	}
}

/* gNav
---------------------------------------------------------- */
#gNav{
	width:60%;
	z-index:1;
	float:right;
	padding-top:10px;
	display: block !important;
}
#gNav > ul{
	width:100%;
}
#gNav > ul > li{
	text-align:left;
	font-size:107%;
	display:inline-block;
	vertical-align: middle;
	padding: 0 0 0 2em;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	position: relative;
}
#gNav > ul > li a{
	color:#000000;
	font-weight: bold;
	text-decoration:none;
	display:inline-block;
	-webkit-transition:all 0.2s;
	transition:all 0.2s;
}
#gNav > ul > li a:hover{
	color:#666;
}
#gNav > ul > li > ul{
	display: none;
	position: absolute;
	left:2em;
	top: 2em;
	z-index:2;
	text-align: left;
	/*width:160px;*/
	width:auto;
	white-space: nowrap;
	}
#gNav > ul > li > ul > li{
	border-bottom: solid 1px #666;
}
#gNav > ul > li > ul > li a {
  padding:5px 10px 4px 20px;
  display: block;
  background-color: rgba(0,0,0,0.7);
  color: #fff;
  font-weight:normal;
}
#gNav li i,
#close{display:none !important;}


@media screen and (max-width:768px){
	#gNav{
		padding:0;
		width:100%;
		background:none;
		position:relative;
		margin:auto;
		float: none;
	}
	#gNav > ul{
		display:none;
		width:100%;
		height:100%;
		position:fixed;
		z-index:100;
		background:#00316c;
		left:0;
		top:75px;
		padding:5px 0 0;
		text-align:center;
		margin: 0;
	}
	#gNav > ul > li{
		width: 100%;
		padding: 0;
	}
	#gNav > ul > li a:hover{
		color:#fff;
	}
	#gNav > ul > li a{
		display:block;
		text-align: left;
		margin:0 auto;
		padding:10px;
		border-bottom: solid 1px #3d628f;
		font-size: 115%;
		position: relative;
		color:#fff;
		font-weight: normal;
		background-color:none;
	}
	#gNav > ul > li a:after{
		content: "\f105";
		font-family:FontAwesome;
		right:10px;
		top:50%;
		position:absolute;
		line-height: 0.1;
	}
	#gNav > ul > li.product a:after{
		content: "\f107";
		font-family:FontAwesome;
		right:10px;
		top:50%;
		position:absolute;
		line-height: 0.1;
	}
	#gNav > ul > li.product a.open:after{
		content: "\f106";
		font-family:FontAwesome;
		right:10px;
		top:50%;
		position:absolute;
		line-height: 0.1;
	}
	#gNav > ul > li > ul.subNav > li a:after{
		content: "\f105";
		font-family:FontAwesome;
		right:10px;
		top:50%;
		position:absolute;
		line-height: 0.1;
	}
	#gNav > ul > li > ul{
		display: none;
		position:inherit;
		left:auto;
		top:auto;
		z-index:2;
		width:auto;
		background:none;
		padding:0;
	}
		#gNav > ul > li > ul > li{
		border-bottom:none;
	}
	#gNav > ul > li > ul > li a {
		padding:7px 5px 7px 15px;
		display: block;
		background-color: rgba(0,0,0,0.2);
		font-size:100%;
	}
	#close{
		display:block !important;
		color: #fff;
		padding-top: 20px;
		text-align:center;
		font-weight:normal;
	}
	#close span{
		border:1px solid #fff;
		padding:12px 20px;
		border-radius:20px;
		-webkit-border-radius: 20px;
		line-height: 1;
	}
}



/* breadcrumb
---------------------------------------------------------- */
#breadcrumbWrap {
	width: 100%;
	padding: 12px 0;
}
#breadcrumb {
	max-width: 980px;
	margin: 0 auto;
	overflow: hidden;
}
#breadcrumb li {
	float: left;
	white-space: nowrap;
	font-size: 86%;
	color: #333;
}
#breadcrumb li.home {
}
#breadcrumb li a {
	white-space: nowrap;
}
@media screen and (max-width:768px){
	#breadcrumbWrap {
		display: none;
	}
}


/* mainimg
---------------------------------------------------------- */
#mainimg {
	position: relative;
}


/* contents
---------------------------------------------------------- */
#contents {
	margin: 0 auto 90px;
	text-align: left;
	position: relative;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
@media screen and (max-width:768px){
	#contents {
		margin-bottom: 30px;
	}
}


/* layout
---------------------------------------------------------- */
.inner{
	max-width:1110px;
	margin:auto;
	position:relative;
}
.bgGry{
	background-color: #fafafa;
	padding-bottom: 50px;
}
#top .bgGry{
	padding-bottom:0;
}
.sec{
	display: block;
	margin-bottom: 50px;
}

@media screen and (max-width:768px){
	.inner{
		max-width: inherit;
		min-width: inherit;
		width: auto;
	}
	.sec{
		display: block;
		margin-bottom: 30px;
	}

}



/* effect
---------------------------------------------------------- */
.effectAnime {
	-webkit-animation-fill-mode:both;
	-ms-animation-fill-mode:both;
	animation-fill-mode:both;
	-webkit-animation-duration:1.5s;
	-ms-animation-duration:1.5s;
	animation-duration:1.5s;
	-webkit-animation-name: effectAnime;
	-ms-animation-name: effectAnime;
	animation-name: effectAnime;
	visibility: visible !important;
}
@-webkit-keyframes effectAnime {
	0% { opacity: 0; -webkit-transform: translateY(-20px); }
	100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes effectAnime {
	0% { opacity: 0; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); }
	100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}



/* ttl
---------------------------------------------------------- */
.ttlLine{
	display:block;
	font-size: 214%;
	font-weight: normal;
	text-align: center;
	padding-bottom: 20px;
	border-bottom: solid 1px #333;
	margin-bottom: 30px;
	color: #333;
}
.ttlLineL{
	display:block;
	font-size:171%;
	font-weight: normal;
	text-align: left;
	padding-bottom: 20px;
	border-bottom: solid 1px #333;
	margin-bottom: 30px;
	color: #333;
}
.ttlL{
	display:block;
	font-size:160%;
	font-weight: normal;
	text-align: left;
	color: #333;
  margin-bottom: 15px;
}

.ttlLineS{
	display:block;
	font-size:118%;
	font-weight: normal;
	text-align: left;
	padding-bottom:8px;
	border-bottom: solid 1px #ccc;
	margin-bottom: 10px;
}
.ttlLineNone{
	display:block;
	font-size:171%;
	font-weight: normal;
	text-align: left;
	margin-bottom:25px;
	color: #333;
}
.ttlC{
	text-align: center;
	font-weight: bold;
	font-size:171%;
	margin-bottom: 40px;
}
.ttlC span{
	display: block;
	font-weight: normal;
	font-size:66%;
	color:#666666;
}
.ttlEng{
	font-family: 'Roboto', sans-serif;
	font-weight: bold;
	text-align: center;
	font-size: 242%;
	letter-spacing: 0.1;
	margin-bottom: 50px;
}




/* footer
---------------------------------------------------------- */
#footer {
	width: 100%;
	background-color: #fafafa;
	position: relative;
}
#footerInner{
	max-width:1110px;
	margin:auto;
	padding: 40px 0;
	position:relative;
	display: flex;
	flex-direction: column;
}
a.footerBtn {
	background: #1C458F;
    display: block;
    color: white;
    max-width: 285px;
    padding: 20px 35px;
    padding-right: 40px;
    text-decoration: none;
    position: relative;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-top: 25px;
}
a.footerBtn::after {
    content: '';
    display: block;
    width: 9px;
    height: 9px;
    border-top: 3px solid white;
    border-right: 3px solid white;
    transform: rotate(45deg);
    position: absolute;
    top: 25px;
    right: 15px;
}
/* pageTop */
.pageTop {
	width: 100%;
	text-align: center;
}
.pageTop a{
	display: block;
	background: #000;
	padding:5px 0 8px;
	color: #fff;
	line-height: 1;
	text-decoration: none;
	font-size: 142%;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}
.pageTop a:hover{
	background-color: #444;
	opacity:1;
}

/**追従ページトップ*/
.pagetopS{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 15px;
  bottom: 10%;
  background: #000;
  opacity: 0.8;
  border-radius: 50%;
  z-index: 100;
}
.pagetopS a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
.pagetopS a::before{
  font-family: 'FontAwesome';
  font-weight: 900;
  content: '\f077';
  font-size:150%;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  line-height: 1;
  margin: auto;
  text-align: center;
}




#footAdr{
	width: 50%;
	float: left;
	font-size: 92%;
}
#footAdr #footLogo{
	display: block;
	margin-bottom: 15px;
}
#footNav {
	width: 50%;
	float: right;
	text-align: left;
}
#footNav > ul{
	float: left;
	width:50%;
}
#footNav ul li{
	display:block;
	font-size: 90%;
}
#footNav ul li a{
	text-decoration:none;
	color: #666;
}
#footNav ul li a:hover{
	text-decoration: underline;
}
#footNav ul > li{
	line-height: 2.4;
}
#footNav ul > li > ul > li{
	padding-left: 1em;
	line-height: 2.2;
}
#copyright {
	font-size: 86%;
	display: block;
	background: #fff;
	padding:20px 0 40px;
	text-align: center;
}
@media screen and (max-width:768px){
	#footerInner{
		display: block;
	}
	#footAdr{
		width: 90%;
		margin: auto;
		float: none;
		display: block;
	}
	#footNav{
		display: none;
	}
}


/* table
---------------------------------------------------------- */
.type01 {
	width: 100%;
	border-collapse: separate;
	border-top: 1px solid #ccc;
	/*border-left: 1px solid #ccc;*/
}
.type01 th,
.type01 td {
	/*border-right: 1px solid #ccc;*/
	border-bottom: 1px solid #ccc;
	padding: 13px 15px;
}
.type01 th {
	background-color: #f3f3f3;
	vertical-align: middle;
}
.type01 td {
}
/*type02*/
.type02 {
	width: 100%;
	vertical-align: middle;
	border-collapse: separate;
}
.type02 th,
.type02 td {
	padding: 5px;
}
.type02 th{
	width: 15%;
}
.type02 th span{
	background-color: #f3f3f3;
	padding: 5px;
	display: block;
	text-align: center;
}
.type02 td {
}
/*type03*/
.type03 {
	width: 100%;
	table-layout: fixed;     /* 固定レイアウト */
	border-collapse: separate;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
  background: #fff;
}
.type03 th,
.type03 td {
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 8px 10px;
  vertical-align: middle;
  line-height: 1.3
}
.type03 thead th {
	background-color: #f3f3f3;
  font-weight: bold;
  text-align: center;
}
.type03 th{
  font-weight: bold;
  text-align: left;
}
.type03 td {
  text-align: center;
}
/*type04*/
.type04 {
	width: 100%;
	vertical-align: middle;
	border-collapse: separate;
}
.type04 th,
.type04 td {
	padding: 5px 0;
  text-align: left;
  border-bottom: solid 1px #ccc;
}
.type04 th{
  white-space: nowrap;
  font-weight:normal;
}
.type04 td {
  padding-left: 1em;
}

@media screen and (max-width:768px){
.table_basic01 {
	width: 100%;
}
.table_basic01,
.table_basic01 thead,
.table_basic01 tbody,
.table_basic01 tr,
.table_basic01 th,
.table_basic01 td {
	width: 100%;
	display: block;
}
.table_basic01 th,
.table_basic01 td {
	border-top: none;
	border-left: none;
}
.table_basic01 th {
}
.table_basic01 td {
}
}

/* フォーム部品
---------------------------------------------------------- */
input, select {font-size:100%;}
.formBtn{
	padding:10px 30px;
	font-size: 107%;
	font-weight: bold;
	display: inline-block;
	border-radius:20px;
	background-color:#fff;
	border:solid 2px #ccc;
	margin:0 10px;
}
@media screen and (max-width:768px){
  .formBtn{
    padding:6px 15px;
    margin:0 5px;
  }
}
.formBtn:hover{
	background-color:#333;
	color:#fff;
}
.textarea,
textarea{
	padding:5px;
	margin: 2px 0;
}
.error_message {
        display: block;
        text-align: center;
        padding: 10px;
        color: #dd3300;
        margin: 0 0 20px;
        background-color: #FFE8E8;
}
.send{text-align:center;}
@media screen and (max-width:768px){
.textarea,
textarea{
	width:77%;
	display:inline-block;
	margin: 5px auto;

}
}


/* clearfix ------------------------------------------------------------------- */
.cf:after{
    content: "."; 
    display: block; 
    height: 0; 
    font-size:0;	
    clear: both; 
	visibility:hidden;
}
.cf{
	display: inline-block;
} 
/* Hides from IE Mac */
* html .cf{
	height: 1%;
}
.cf{
	display:block;
}


/* margin ------------------------------------------------------------------ */
.mt00 { margin-top: 0   !important;}
.mt05 { margin-top: 5px !important;}
.mt10 { margin-top:10px !important;}
.mt12 { margin-top:12px !important;}
.mt15 { margin-top:15px !important;}
.mt20 { margin-top:20px !important;}
.mt25 { margin-top:25px !important;}
.mt30 { margin-top:30px !important;}
.mt35 { margin-top:35px !important;}
.mt40 { margin-top:40px !important;}
.mt45 { margin-top:45px !important;}
.mt50 { margin-top:50px !important;}
.mr00 { margin-right: 0   !important;}
.mr05 { margin-right: 5px !important;}
.mr10 { margin-right:10px !important;}
.mr12 { margin-right:12px !important;}
.mr15 { margin-right:15px !important;}
.mr20 { margin-right:20px !important;}
.mr25 { margin-right:25px !important;}
.mr30 { margin-right:30px !important;}
.mr35 { margin-right:35px !important;}
.mr40 { margin-right:40px !important;}
.mr45 { margin-right:45px !important;}
.mr50 { margin-right:50px !important;}
.mb00 { margin-bottom: 0   !important;}
.mb05 { margin-bottom: 5px !important;}
.mb10 { margin-bottom:10px !important;}
.mb12 { margin-bottom:12px !important;}
.mb15 { margin-bottom:15px !important;}
.mb20 { margin-bottom:20px !important;}
.mb25 { margin-bottom:25px !important;}
.mb30 { margin-bottom:30px !important;}
.mb35 { margin-bottom:35px !important;}
.mb40 { margin-bottom:40px !important;}
.mb45 { margin-bottom:45px !important;}
.mb50 { margin-bottom:50px !important;}
.ml00 { margin-left: 0   !important;}
.ml05 { margin-left: 5px !important;}
.ml10 { margin-left:10px !important;}
.ml12 { margin-left:12px !important;}
.ml15 { margin-left:15px !important;}
.ml20 { margin-left:20px !important;}
.ml25 { margin-left:25px !important;}
.ml30 { margin-left:30px !important;}
.ml35 { margin-left:35px !important;}
.ml40 { margin-left:40px !important;}
.ml45 { margin-left:45px !important;}
.ml50 { margin-left:50px !important;}

/* padding  ---------------------------------------------------------------- */
.pt00 { padding-top: 0   !important;}
.pt05 { padding-top: 5px !important;}
.pt10 { padding-top:10px !important;}
.pt12 { padding-top:12px !important;}
.pt15 { padding-top:15px !important;}
.pt20 { padding-top:20px !important;}
.pt25 { padding-top:25px !important;}
.pt30 { padding-top:30px !important;}
.pt35 { padding-top:35px !important;}
.pt40 { padding-top:40px !important;}
.pt45 { padding-top:45px !important;}
.pt50 { padding-top:50px !important;}
.pt60 { padding-top:60px !important;}
.pt65 { padding-top:65px !important;}
.pr00 { padding-right: 0   !important;}
.pr05 { padding-right: 5px !important;}
.pr10 { padding-right:10px !important;}
.pr12 { padding-right:12px !important;}
.pr15 { padding-right:15px !important;}
.pr20 { padding-right:20px !important;}
.pr25 { padding-right:25px !important;}
.pr30 { padding-right:30px !important;}
.pr35 { padding-right:35px !important;}
.pr40 { padding-right:40px !important;}
.pr45 { padding-right:45px !important;}
.pr50 { padding-right:50px !important;}
.pb00 { padding-bottom: 0   !important;}
.pb05 { padding-bottom: 5px !important;}
.pb10 { padding-bottom:10px !important;}
.pb12 { padding-bottom:12px !important;}
.pb15 { padding-bottom:15px !important;}
.pb20 { padding-bottom:20px !important;}
.pb25 { padding-bottom:25px !important;}
.pb30 { padding-bottom:30px !important;}
.pb35 { padding-bottom:35px !important;}
.pb40 { padding-bottom:40px !important;}
.pb45 { padding-bottom:45px !important;}
.pb50 { padding-bottom:50px !important;}
.pb60 { padding-bottom:60px !important;}
.pb100 { padding-bottom:100px !important;}
.pb110 { padding-bottom:110px !important;}
.pb130 { padding-bottom:130px !important;}
.pl00 { padding-left: 0   !important;}
.pl03 { padding-left: 3px !important;}
.pl05 { padding-left: 5px !important;}
.pl10 { padding-left:10px !important;}
.pl12 { padding-left:12px !important;}
.pl15 { padding-left:15px !important;}
.pl20 { padding-left:20px !important;}
.pl25 { padding-left:25px !important;}
.pl30 { padding-left:30px !important;}
.pl35 { padding-left:35px !important;}
.pl40 { padding-left:40px !important;}
.pl45 { padding-left:45px !important;}
.pl50 { padding-left:50px !important;}


