/*
Theme Name: NPC

*/

@charset "UTF-8";
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
body {
	line-height:1;
}

article, aside, dialog, figure, footer, header,
hgroup, nav, section {
	display:block;
}

nav ul {
	list-style:none;
}

blockquote, q {
	quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}

a {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}

mark {
	background-color:#ff9;
	color:#000;
	font-style:italic;
	font-weight:bold;
}

del {
	text-decoration: line-through;
}

abbr[title], dfn[title] {
	border-bottom:1px dotted #000;
	cursor:help;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}

hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
	vertical-align:middle;
}




/* リセット */
body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, caption, th, td, img, form {
    margin: 0;
    padding: 0;
    border: none;
    font-style: normal;
    font-weight: normal;
    font-size: 100%;
    text-align: left;
	list-style-type: none;
	letter-spacing: 0;
}

/* テキストエリア内文字サイズのブラウザ間での差異をなくす */
textarea { font-size: 100%; }

/* 画像の下にできる隙間をなくす */
img { vertical-align: bottom; }

/* hr 要素は不可視で使う */
hr { display: none; }

/* CLEARFIX */

.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
	}

.clearfix { display: inline-block; }
.clearfix { display: block; }


/*It is a code in which clear is done as for the main browser
--------------------*/

div:after {/*for modern browser*/
    display: block;
    height:0px;
    clear:both;
    visibility:hidden;
	}

a{
	color: #505050;
	text-decoration: none;
}

a:hover{
	text-decoration: underline;
}


/*--------------------フォント指定-----------------*/
html
{
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Meiryo,"メイリオ",Osaka,sans-serif;
}


/*--------------------Pagination--------------------*/
.pagination {
	margin: 20px auto;
	width: 100%;
	text-align: center;
	font-size: 14px;
}
.pagination:after, .pagination ul:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}
.pagination ul {
    margin: 0 auto;
    display: inline-block;
	padding: 0;
	
}

.pagination li {
    float: left;
    list-style: none outside none;
    margin-left: 3px;
}
.pagination li:first-child {
    margin-left: 0;
}
.pagination li.active {
    background-color: #611111;
    color: #FFFFFF;
    padding: 5px 10px;
}
.pagination li a {
    background: none repeat scroll 0 0 #fff;
    color: #555;
    display: block;
    padding: 5px 10px;
    text-decoration: none;
}
.pagination li a:hover {
    background-color: #611111;
    color: #FFFFFF;
    opacity: 0.8;
    transition-duration: 500ms;
    transition-property: all;
    transition-timing-function: ease;
}

.paginavi {
	text-align: center;
}


.paginavi a{
	text-align: center;
	margin: 0 15px;
	line-height: 1.5;
}

.mini{
	font-size: 0.8em;
}

#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
}
#page-top a {
    background: #3f7cbf;
    text-decoration: none;
    color: #fff;
    width: 100px;
    padding: 30px 0;
    text-align: center;
    display: block;
    border-radius: 10px;
    font-family: Century Gothic;
    letter-spacing: 1px;
    font-weight: bold;
}
#page-top a:hover {
    text-decoration: none;
    background: #999;
}

/*ヘッダ*/

header{
	height:90px;
	min-width: 1100px;
	position: relative;
}

header h1{
	position: absolute;
	top:30px;
	left:30px;
	background-color: #fff;
}

header nav{
	padding-top:30px;
	margin-left:320px;
}

header nav ul li{
	display: inline-block;
	vertical-align: middle;
	margin-right:5%;
	text-align: center;
	max-width: 15%;
}

header nav ul li a{
	font-size: 13px;
}

header .tel_number{
	position: absolute;
	right:15px;
	top:18px;
	padding: 20px 20px 20px 40px;
	background-image: url(./img/telmark.png);
	background-position: 20px center;
	background-repeat: no-repeat;
	background-color: #f2f2f2;
	color: #3f7cbf;
	font-weight: bold;
	border-radius: 8px;
	line-height: 1.0;
	letter-spacing: 1px;
	font-size: 16px;
	font-family: Century Gothic;
}

#slides{
	width: 100%;
	height: 600px;
	min-width: 1100px;
}

#slides div{
	height: 600px;
	width: 100%;
	min-width: 1100px;
	text-align: center;
}

#slides #main01{
	background-image: url(img/main01.jpg);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

#slides #main02{
	background-image: url(img/main02.jpg);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

#slides #main03{
	background-image: url(img/main03.jpg);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

#slides #main04{
	background-image: url(img/main04.jpg);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

#slides #main05{
	background-image: url(img/main05.jpg);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

#main_image{
	position: relative;
}

#slides img{
	margin-top: 100px;
}


#trim_image{
	position: relative;
	background: url(./img/trim_main_image.png) center top repeat-x;
	width: 100%;
	height: 71px;
	top:-71px;
	z-index: 1000;
	min-width: 1100px;
}

.slidesjs-previous,
.slidesjs-next{
	display: none;	
}

ul.slidesjs-pagination{
	position: absolute;
	width: 100%;
	bottom:200px;
	text-align: center;
	z-index: 10000;
	min-width: 1100px;
}

ul.slidesjs-pagination li{
	display: inline-block;
	text-align: -9999px;
	width: 10px;
	height: 10px;
	margin: 0 3px;
}

#slides li.slidesjs-pagination-item a{
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
	background: url(./img/slide_pagination.png) left center no-repeat;
	display: block;
	width: 10px;
	height: 10px;
}

#slides li.slidesjs-pagination-item a:hover{
	background-position: left bottom;
}

#slides li.slidesjs-pagination-item a.active{
	background-position: left top;
}


#news{
	width: 100%;
	min-width: 1100px;
	padding-bottom: 70px;
}

.inner800{
	width: 800px;
	margin: 0 auto;
}

#news .left_box{
	float: left;
	width: 525px;
}

#news .left_box h3{
	font-size: 30px;
	letter-spacing: 6px;
	color: #333;
	background: url(./img/icon_news.png) left top no-repeat;
	padding-left: 55px;
	padding-bottom: 10px;
	font-weight: normal;
}

#news .left_box h3 span{
	font-size: 15px;
	font-weight: bold;
	color: #999999;
	letter-spacing: 1px;
}

#news .left_box ul{
	margin-top: 5px;
}

#news .left_box ul li{
	border-bottom: 1px dotted #ccc;
	padding: 10px 0;
	position: relative;
	line-height: 1.4;
}

#news .left_box ul li .date{
	font-size: 13px;
	position: absolute;
	left:0;
	top:12px;
	color: #333;
	letter-spacing: 1px;
}

#news .left_box ul li .title{
	padding-left: 100px;
	padding-right: 100px;
}

#news .left_box ul li .title a{
	color: #3f7cbf;
	font-size: 14px;
}

#news .left_box ul li .category{
	position: absolute;
	right:0;
	top:13px;
	font-size: 10px;
	padding: 2px;
	width: 70px;
	background-color: #ddd;
	text-align: center;
	color: #fff;
}

#news .left_box ul li .category.info{
	background-color: #ff3333;
}

#news .left_box ul li .category.media{
	background-color: #33a999;
}

#news .left_box ul li .category.ir{
	background-color: #ff6600;
}

#news .left_box ul li .category.pr{
	background-color: #3f7cbf;
}

#news .right_box{
	float: right;
}

#about{
	background: url(./img/about_image.png) right center no-repeat #f2f2f2;
	width: 100%;
	text-align: center;
	padding-bottom: 80px;
	min-width: 1100px;
}

#about .arrow{
	background: url(./img/about_arrow.png) center top no-repeat;
	height: 30px;
	width: 100%;
}

#about .icon{
	margin-top: 60px;
	text-align: center;
}


#about h3{
	text-align: center;
	margin-top: 30px;
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 1px;
	color: #333;
}

#about p{
	margin-top: 20px;
	text-align: center;
	font-size: 15px;
	letter-spacing: 1px;
	line-height: 1.8;
	margin-bottom: 40px;
	color: #333;
}

#about .link{
	padding: 10px 20px;
	background-color: #3f7cbf;
	border-radius: 30px;
	color: #fff;	
	letter-spacing: 2px;
	font-family: Century Gothic;
}

#about .link:hover{
	text-decoration: none;
	background-color: #999;
}

#pipeline{
	background: url(./img/bg_pipeline.jpg) right bottom no-repeat #fff;
	width: 100%;
	text-align: center;
	height: 680px;
	position: relative;
	min-width: 1100px;
}

#pipeline .arrow{
	background: url(./img/pipeline_arrow.png) center top no-repeat;
	height: 30px;
	width: 100%;
}

#pipeline h3{
	font-size: 30px;
	text-align: center;
	color: #333;
	margin-top: 60px;
	min-width: 1100px;
}

#pipeline h3 strong{
	font-size: 55px;
	color: #ad0e16;
}

#pipeline .image{
	position: absolute;
	text-align: center;
	height: 680px;
	min-width: 1100px;
	width: 100%;
	top:0;
	z-index: 0;
}

#pipeline ul {
	margin-top: 60px;
	min-width: 1100px;
}

#pipeline ul li{
	padding: 10px 10px 10px 100px;
	background: url(./img/exclamation.png) 25px center no-repeat #f2f2f2;
	border-radius: 10px;
	font-size: 27px;
	color: #333;
	width: 240px;
	margin: 10px auto;
	letter-spacing: 1px;
}

#pipeline a.link{
	margin-top: 220px;
	display: inline-block;
	padding: 10px 20px;
	background-color: #3f7cbf;
	border-radius: 30px;
	color: #fff;	
	letter-spacing: 2px;
	z-index: 1;
	position: relative;
	font-family: Century Gothic;
}

#pipeline a.link:hover{
	background-color: #999;
	text-decoration: none;
}

footer{
	border-top: 4px solid #3f7cbf;
	min-width: 1100px;
}

#footer_link{
	padding: 40px 0 30px;
	background-color: #f2f2f2;
	text-align: center;
}

#footer_link ul{
	display: inline-block;
	padding: 0 30px;
	vertical-align: top;
}

#footer_link ul li{
	font-size: 13px;
	color: #333;
	font-weight: bold;
	margin-bottom: 10px;
	letter-spacing: 1px;
}

#footer_link ul li.child{
	font-size: 13px;
	color: #333;
	font-weight: normal;
	margin-bottom: 10px;
	letter-spacing: 1px;
}

#footer_link ul li a:hover{
	text-decoration: none;
	color: #999;
}

footer #footer_info{
	background-color: #3f7cbf;
	padding: 20px 0;
}

footer .inner1000{
	width: 1000px;
	margin: 0 auto;
}

footer .inner1000 .left_box{
	float: left;
	padding-top: 5px;
}

footer .inner1000 .right_box{
	float: right;
	text-align: right;
	color: #fff;
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 1px;
}

/*下層ページ*/

.inner1000{
	width: 1000px;
	margin: 0 auto;
}

#container01{
	background: url(./img/bg_container01.jpg) left bottom repeat-x #f9f9f9;
	width: 100%;
}

#container02{
	background: url(./img/bg_container02.png) right top no-repeat;
	min-width: 1100px;
}

#container03{
	background: url(./img/bg_container03.png) left bottom no-repeat;
	text-align: center;
	padding-bottom: 70px;
	min-width: 1100px;
}

h2.title{
	font-size: 32px;
	letter-spacing: 2px;
	display: inline-block;
	border-bottom: 5px solid #3f7cbf;
	padding-bottom: 10px;
	font-weight: bold;
	margin-top: 70px;
}

nav.in_page{
	margin: 45px 0 60px;
	text-align: center;
	width: 100%;
}

nav.in_page ul{
	text-align: center;
}

nav.in_page ul li{
	display: inline-block;
	margin: 0 5px;
}
nav.in_page ul li a{
	background: url(./img/icon_link.png) 10px center no-repeat #eee;
	padding: 12px 20px 10px 30px;
	color: #3f7cbf;
	font-weight: bold;
	font-size:16px;
	border-radius: 10px;
	letter-spacing: 1px;
}

nav.in_page ul li a:hover{
	background-color: #3f7cbf;
	color: #fff;
	text-decoration: none;

}

.content{	
	padding: 0px 0 70px;	
	text-align: center;
}

.content.last{
	margin-bottom: 0;
}

.content.bg>div{
	background-image: url(./img/bg_content.png);
	background-position: center center;
	background-repeat: no-repeat;
}

#business p,
#npbrapid p{
	font-size: 20px;
	line-height: 1.8;
	letter-spacing: 1px;
	color: #333;
	text-align: center;
	margin-bottom: 70px;
}

.content h3{
	background: #3f7cbf;
	padding: 10px 20px;
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 2px;
	color: #fff;
	text-align:center;
	margin: 40px 0;

}

#overview table,
#history table{
	width: 800px;
	margin: 0 auto;
}

#business ul{
	margin: 0 auto;
	width: 800px;
}

#business ul li{
	font-size: 20px;
	margin-bottom: 15px;
	margin-left: 35px;
	list-style-type: decimal;
}

table{
	width: 100%;
}

table th,
table td{
	border-bottom: 1px dashed #ccc;
	padding: 15px 0;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: 1px;
	vertical-align: top;
}

table th{
	width: 18%;
}

table td span{
	font-weight: normal;
	font-size: 0.9em;
}


#organization table{
	width: 800px;
	margin: 0 auto;
	border-top:1px solid #bbb;
	border-left:1px solid #bbb;
	background-color: rgba(255,255,255,0.5);
}

#organization table thead td{
	text-align: center;
	font-size: 13px;
	padding: 8px;
	font-weight: bold;
}

#organization table td,
#organization table th{
	border-right: 1px solid #bbb;
	border-bottom: 1px solid #bbb;
	font-size: 14px;
	padding: 10px 15px;
}

#organization table td{
	font-weight: normal;
	vertical-align:top;
	
}

#organization table .col01{
	width: 25%;
}

#organization table .col02{
	
}

#organization table .col03{
	width: 25%;
}

#organization table .col04{
	width: 15%;
}

#organization table .col06{
	width: 28%;
}

#organization table td a{
	color: #3f7cbf;
}

#organization table td.info{
	padding: 7px 15px 5px;
	border-bottom: dashed 1px #bbb;
}

#organization table td.info_fax{
	padding: 7px 15px 5px;
	border-bottom: solid 1px #bbb;
}

#organization table td.info.tel{
	white-space: nowrap;
}


#organization table td.info_hp{
	padding: 7px 15px 5px;
	border-bottom: 1px solid #bbb;
	word-break: break-all;
}

#page{
	padding: 50px 0;
}

#news_post{
	padding: 10px 0 50px;
}

#page p,
#news_post p{
	margin: 20px 0;
	font-size: 15px;
	line-height: 1.8;
}
table.contact th{
	width: 25%;
	vertical-align: middle;
}

table input,
table textarea{
	width: 95%;
	padding:10px 10px;
	font-size: 15px;
}

.red{
	color: red;
}

.submit{
	padding: 15px 0;
	text-align: center;
}

.submit input{
	width: 200px;
	padding: 10px;
	font-size: 15px;
	font-weight: bold;
	background-color: #3f7cbf;
	color: #fff;
	border: none;
}

.submit input:hover{
	background-color: #999;
}

h3.title{
	border-bottom:2px solid #3f7cbf;
	font-size: 24px;
	text-align: left;
	background: none;
	color: #3f7cbf;
	margin: 0 0 15px;
	padding: 15px 15px 15px 0px;
}

article {
	padding-bottom: 70px;
}

article .date{
	text-align: left;
}

.content h4{
	text-align: center;
	padding: 10px 0;
	display: inline-block;
	border-bottom: 2px solid #3f7cbf;
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 1px;
	color: #333;
	margin-bottom: 40px;
}

#npbrapid img{
	margin-bottom: 30px;
}

.rapid_image{
	margin: 50px 0;
}

#npbrapid ul.rapid_feature{
	width: 800px;
	margin: 0 auto 50px;
}

#npbrapid ul.rapid_feature li{
	font-size: 20px;
	margin-bottom: 15px;
	margin-left: 35px;
	list-style-type: decimal; 
}

.rapid_flow{
	width: 800px;
	height: 604px;
	background: url(img/pipeline03.png) left top no-repeat;
	margin: 0 auto;
	position:relative;
}

.rapid_flow ul{
	position: absolute;
	left:0;
	top:0;
}

.rapid_flow ul li{
	text-align: center;
	width: 217px;
	height:26px;
	padding-top: 10px;
	margin-bottom: 8px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.0;
}

.rapid_flow ul li.t1{
	padding-top: 9px;
}

#npbrapid .rapid_flow p{
	position: absolute;
	text-align: center;
	width: 145px;
	font-size:14px;
	color: #333;
	letter-spacing: 0;
}

.rapid_flow p.p1{
	left:320px;
	top:105px;
}

.rapid_flow p.p2{
	left:478px;
	top:105px;
}

#npbrapid .rapid_flow p.p3{
	left:636px;
	top:10px;
	text-align: left;
}

.rapid_flow p.p4{
	left:320px;
	top:262px;
}

.rapid_flow p.p5{
	left:478px;
	top:262px;
}

#npbrapid .rapid_flow p.p6{
	left:636px;
	top:167px;
	text-align: left;
}


.rapid_flow p.p7{
	left:320px;
	top:420px;
}

.rapid_flow p.p8{
	left:478px;
	top:420px;
}

.rapid_flow p.p9{
	left:636px;
	top:420px;
}

.rapid_flow p.p10{
	left:320px;
	top:574px;
}

.rapid_flow p.p11{
	left:478px;
	top:574px;
}

.rapid_flow p.p12{
	left:636px;
	top:574px;
}

#npb2 ul.npb2_feature{
	width: 800px;
	margin: 0 auto 50px;
}

#npb2 ul.npb2_feature li{
	font-size: 20px;
	margin-bottom: 15px;
	margin-left: 35px;
	list-style-type: decimal; 
}

#npb2_flow{
	background: url(img/npb202.png) left top no-repeat;
	position: relative;
	width: 800px;
	height: 351px;
	margin: 0 auto;
}

#npb2_flow p{
	position: absolute;	
	width: 150px;
	font-size:14px;
	color: #333;
	letter-spacing: 0;
}

#npb2_flow p.p1{
	left:235px;
	top:50px;
	line-height: 1.5;
}

#npb2_flow p.p2{
	left:650px;
	top:50px;
	line-height: 1.5;
}

#npb2_flow p.p3{
	left:235px;
	top:240px;
	line-height: 1.5;
}

#npb2_flow p.p4{
	left:650px;
	top:240px;
	line-height: 1.5;
}

#npl3 ul.npl3_feature{
	width: 800px;
	margin: 0 auto 50px;
}

#npl3 ul.npl3_feature li{
	font-size: 20px;
	margin-bottom: 15px;
	margin-left: 35px;
	list-style-type: decimal; 
	line-height: 1.3;
}

#npl3_flow{
	position: relative;
	width: 800px;
	height:420px;
	background: url(img/npl302.png) left top no-repeat;
	margin: 0 auto;
}

#npl3_flow p{
	position: absolute;		
	font-size:14px;
	color: #333;
	letter-spacing: 0;
}

#npl3_flow p.p1{
	left:0;
	top:168px;
}

#npl3_flow p.p2{
	left:278px;
	top:168px;
}

#npl3_flow p.p3{
	left:547px;
	top:168px;
}

#npl3_flow p.p4{
	left:0;
	top:379px;
}

#npl3_flow p.p5{
	left:278px;
	top:379px;
}

#npc ul.npc_feature{
	width: 500px;
	margin: 0 auto 50px;
}

#npc ul.npc_feature li{
	font-size: 20px;
	margin-bottom: 15px;
	margin-left: 35px;
	list-style-type: decimal; 
	line-height: 1.3;
}

#npc_dsc{
	border: 1px solid #3f7cbf;
	padding: 25px;
	width: 800px;
	margin: 0 auto;
}

#npc_dsc p{
	font-size: 16px;
	line-height: 1.5;
}
