@charset "utf-8";

/* --------------------------------------------------
	基本
-------------------------------------------------- */
html{
	font-size: 62.5%;/*62.5%=10px、font-size:1.6rem=16px;*/
}
body{
	font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.6rem;
	color: #333;
}
a{
	color: #008cd6;
	text-decoration: none;
}
a:hover{
	opacity: 0.6;
}
.ulList{
	margin-bottom: 24px;
}
.ulList li{
	font-size: 1.4rem;
	line-height: 1.5;
	margin-bottom: 4px;
}
@media screen and (max-width: 480px) {
	.brSpNone{
		display: none;
	}
}
.txtC{
	text-align: center;
}
.txtL{
	text-align: left;
}
.txtR{
	text-align: right;
}
.floatR{
	float: right;
}
.floatL{
	float: left;
}
.imgR{
	float: right;
	margin: 0 0 0 30px;
}
.imgL{
	float: left;
	margin: 0 30px 0 0;
}
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}
#wrap{
	border-top: 3px solid #008cd6;
}
.contentsArea{
	margin: 0 auto;
	max-width: 960px;
	position: relative;
}
.contents p{
	font-size: 1.4rem;
  line-height: 1.5;
}
.article p{
	font-size: 1.6rem;
	line-height: 1.75;
	margin-bottom: 24px;
}
.ttlBg{
	background: #008cd6;
	margin-bottom: 12px;
	padding: 32px;
}
@media screen and (max-width: 959px) {
	.contentsArea{
		margin: 0 16px;
	}
}
@media screen and (max-width: 480px) {
	.imgR{
		float: none;
		margin: 0;
		width: 100%;
		text-align: center;
	}
	.imgL{
		float: none;
		margin: 0;
		width: 100%;
		text-align: center;
	}
}

/*余白*/
.marB0{
	margin-bottom: 0 !important;
}
.marB10{
	margin-bottom: 10px !important;
}
.marB20{
	margin-bottom: 20px !important;
}
.marB24{
	margin-bottom: 24px !important;
}
.marB30{
	margin-bottom: 30px !important;
}
.marB40{
	margin-bottom: 40px !important;
}
.marB50{
	margin-bottom: 50px !important;
}
.marB60{
	margin-bottom: 60px !important;
}

/*見出し*/
h1{
	font-size: 28px;
	font-weight: bold;
	line-height: 1.3;
	color: #fff;
}
.subTtl{
	color: #fff;
	display: inline-block;
	font-size: 1.2rem;
	margin-bottom: 4px;
}
h2.ttl01{
	background: #f5f5f5;
	margin-bottom: 24px;
	padding: 16px 10px;
	border-top: #008cd6 2px solid;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.5;
}
h2.ttl02{
	margin-bottom: 32px;
	padding-bottom: 4px;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.5;
	border-bottom: solid 3px #ccc;
	position: relative;
}
h2.ttl02:after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 3px #008cd6;
	bottom: -3px;
	width: 20%;
}
@media screen and (max-width: 959px) {
	h2.ttl01{
		margin-bottom: 12px;
		padding: 12px 10px;
		font-size: 1.8rem;
		font-weight: bold;
		line-height: 1.5;
	}
}

/*パンくず*/
.breadcrumb{
	font-size: 1.3rem;
	line-height: 1.3;
	margin-bottom: 40px;
}
.breadcrumb i{
	color: #008cd6;
	margin-right: 4px;
}

/*テーブル*/
.table{
	width: 100%;
	margin-bottom: 30px;
}
.table th, .table td{
	padding: 16px;
	border: 1px solid #ccc;
	line-height: 1.5;
	text-align: left;
}
.table th{
	background: #f5f5f5;
	width: 24%;
}
.table tr ul li{
	margin-bottom: 12px;
}
.table tr ul li:last-child{
	margin-bottom: 0;
}
.table th p, .table td p{
	font-size: 1.6rem;
	line-height: 1.5;
	margin-bottom: 24px;
}
.table th p:last-child, .table td p:last-child{
	margin-bottom: 0;
}

/*お問い合わせボックス*/
.inquiryBox{
	margin: 40px 0;
	padding: 20px;
	border: #008cd6 1px solid;
}
.inquiryBoxTxt{
	margin-bottom: 20px;
	font-size: 1.6rem;
	line-height: 1.5;
	text-align: center;
}
.inquiryBoxAddress{
	font-size: 1.4rem;
	line-height: 1.5;
	text-align: center;
}
.inquiryBoxAddressTel{
	margin-right: 16px;
}
@media screen and (max-width: 959px) {
	.inquiryBoxTxt{
		text-align: left;
	}
	.inquiryBoxAddress{
		font-size: 1.6rem;
		line-height: 1.5;
	}
}

/*----------------header----------------*/
header{
	margin: 20px 0;
}
header p.logo,p.logo2{
	float: left;
}
header p.logo img{
	width: 300px;
	height: auto;
}
header p.logo2 img{
	width: auto;
	height: 40px;
}
.logoTxt{
	color: #333;
	font-size: 2.4rem;
	line-height: 1.2;
	font-weight: bold;
	position: relative;
	top: 5px;
}
header nav ul{
	text-align: right;
	padding-top: 10px;
}
header nav ul li{
	display: inline-block;
	padding-right: 16px;
	line-height: 1.5;
}
header nav ul li a{
	color: #333;
}
@media screen and (max-width: 959px) {
	header p.logo{
		float: clear;
		text-align: center;
	}
	header p.logo img{
		width: 190px;
		height: auto;
	}
	header p.logo2 img{
		width: auto;
		height: 30px;
	}
	header nav{
		display: none;
	}
}

/*----------------footer----------------*/
.footer01{
	background: #f5f5f5;
	padding: 20px 0;
}
.footer01 ul li{
	display: inline-block;
	padding-right: 16px;
	font-size: 1.4rem;
	line-height: 2;
}
.footer01 ul li a {
	color: #333;
}
.footer02{
	background: #008cd6;
	padding: 15px 0;
	color: #fff;
}
.footer02 p{
	font-size: 1.2rem;
	line-height: 1.4;
	text-align: center;
}
/* --------------------------------------------------
	/基本
-------------------------------------------------- */




/* --------------------------------------------------
	トップページ
-------------------------------------------------- */
#slider {
	width:	100%;
	height:	500px;
	margin-bottom: 54px;
}
.mainVisual01{
	background: url(../images/top/main_v01.jpg) no-repeat;
}
.mainVisual02{
	background: url(../images/top/main_v02.jpg) no-repeat;
}
.mainVisual03{
	background: url(../images/top/main_v03.jpg) no-repeat;
}
.mainVisualTxt{
	padding: 0 50px;
	font-size: 3.0rem;
	font-weight: bold;
	line-height: 1.3;
	color: #fff;
	text-shadow: 10px 10px 50px rgba(0,0,0,0.6), 10px -10px 50px rgba(0,0,0,0.6), -10px 10px 50px rgba(0,0,0,0.6), -10px -10px 50px rgba(0,0,0,0.6), 0px 10px 50px rgba(0,0,0,0.6);
	display: table-cell;
	vertical-align: middle;
	height: 500px;
}
.mainVisualSubTxt{
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.3;
	position: relative;
	top: 24px;
}
.pr{
	margin-bottom: 48px; 
	position: relative; 
  overflow: hidden;
}
.prList{
	position: relative;
  left: 50%; /* リスト全体であるul要素を右に50%移動。つまり先頭を中央に持ってくる感じです。 */
  float: left;
}
.prList li{
	position: relative;
  left: -50%; /* 各リスト項目になるli要素を左に50%移動。 */
  float: left;
	width: 260px;
	text-align: center;
	margin: 0 20px;
}
.prListTtl:first-letter{
	font-size: 2em;
	color: #008cd6;
}
.prListTtl{
	font-size: 2.2rem;
	line-height: 1.3;
	font-weight: bold;
	margin-bottom: 12px;
}
.prListTtlSub{
	display: block;
	font-size: 1.8rem;
}
.prListTxt{
	font-size: 1.4rem;
	line-height: 1.75;
	margin-bottom: 28px;
}
.news{
	margin-bottom: 80px;
}
.news ul li{
	padding: 18px 0 18px 6px;
	border-bottom: 1px solid #eee;
	line-height: 1.5;
}
.news p.simpletext {
	line-height: 140%;
}

/*スマホ、タブレット表示*/
@media screen and (max-width: 959px) {
	.prList{
		position: static;
	}
.prList li{
		position: static;
		width: 100%;
		margin: 0;
	}
}
@media screen and (max-width: 480px) {
	.mainVisualTxt{
		font-size: 2.4rem;
		line-height: 1.3;
		text-shadow: 8px 8px 30px rgba(0,0,0,0.6), 8px -8px 30px rgba(0,0,0,0.6), -8px 8px 30px rgba(0,0,0,0.6), -8px -8px 30px rgba(0,0,0,0.6), 0px 8px 30px rgba(0,0,0,0.6);
	}
	.mainVisualSubTxt{
		font-size: 1.2rem;
	}
	.news{
		margin-bottom: 40px;
	}
}

/* --------------------------------------------------
	/トップページ
-------------------------------------------------- */




/* --------------------------------------------------
	サイトマップ
-------------------------------------------------- */
.sitemapList li{
	margin-bottom: 40px;
	padding-bottom: 8px;
	border-bottom: dotted 1px #008cd6;
	font-size: 1.8rem;
	line-height: 1.3;
}
.sitemapList li i{
	color: #008cd6;
}
/* --------------------------------------------------
	/サイトマップ
-------------------------------------------------- */




/* --------------------------------------------------
	プライバシーポリシー
-------------------------------------------------- */
.privacySection{
	margin-bottom: 64px;
}
.privacyTtl{
	margin-bottom: 16px;
	padding: 16px 12px;
	border-top: solid 2px #008cd6;
	border-bottom: 1px solid #e5e5e5;
	font-size: 1.8rem;
	font-weight: bold;
}
.privacySection .privacyTxt{
	font-size: 1.5rem;
	line-height: 1.5;
}
.privacyList{
	margin-bottom: 24px;
}
.privacyList li{
	font-size: 1.5rem;
	line-height: 1.5;
	margin-bottom: 4px;
}
/* --------------------------------------------------
	プライバシーポリシー
-------------------------------------------------- */




/* --------------------------------------------------
	お問い合わせ
-------------------------------------------------- */
form {
  /* フォームをページの中央に置く */
  margin: 0 auto;
  width: 100%;
}	

label {
  display: block;
	margin-bottom: 0.3em;
}

input, textarea {
  /* すべてのテキストフィールドのフォント設定を一致させる
     デフォルトで、textarea は等幅フォントが設定されている */
  font: 1em sans-serif;
	margin-bottom: 16px;
	padding: 4px 8px;

  /* すべてのテキストフィールドを同じサイズにする */
  width: 100%;
  box-sizing: border-box;

  /* テキストフィールドのボーダーの外見を同一にする */
  border: 1px solid #999;
}

input:focus, textarea:focus {
  /* アクティブな要素を少し強調する */
  border-color: #000;
}

textarea {
  /* 複数行のテキストフィールドをラベルにきちんと揃える */
  vertical-align: top;

  /* テキスト入力に十分な領域を与える */
  height: 5em;
}

.button {
  text-align: center;
}

button {
	/* margin: 40px 0; */
	margin: 40px 0.5rem; 
	padding: 8px 16px;
	width: 10rem;
	border: none;
	background: #333;
	font-size: 1.4rem;
	color: #fff;
}

button:hover{
	background: #008cd6;
	color: #fff;
	cursor: pointer;
}

.attentionTxt{
	margin-top: 24px;
}
.red{
	color: #ff0000;
}
input#check{
	text-align: left;
	width: auto;
}

#inquiry input,
#inquiry textarea {
	margin-bottom: 0;
}
#inquiry form > div {
	margin-bottom: 16px;
}
#inquiry .errline {
	color: red;
	padding-top: 4px;
}
#inquiry span.errline {
	display: inline-block;
}
#inquiry p.errline {
	margin: 0 0 1.5rem;
	font-size: 110%;
}
#inquiry dl {
	margin: 2rem 0 4rem;
}
#inquiry dt {
	margin: 0.5rem 0;
}
#inquiry dd {
	padding: 0.5rem;
	border: solid 1px #999;
	margin: 0.5rem 0 1.5rem;
}
/* --------------------------------------------------
	/お問い合わせ
-------------------------------------------------- */




/* --------------------------------------------------
	事業紹介
-------------------------------------------------- */
.photoList{
	text-align: center;
}
.photoListDetaile{
	display: inline-block;
}
.photoList img{
	max-width: 400px;
	height: auto;
	margin: 0 20px 2px;
}
.photoList figcaption{
	font-size: 1.3rem;
	line-height: 1.4;
	text-align: center;
	margin-bottom: 20px;
}
@media screen and (max-width: 480px) {
	.photoList img{
		max-width: auto;
		width: 100%;
		margin: 0;
	}
}
/* --------------------------------------------------
	/事業紹介
-------------------------------------------------- */




/* --------------------------------------------------
	採用情報
-------------------------------------------------- */
.recruitTtl{
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.25;
	color: #009370;
	margin-bottom: 16px;
	float: left;
}
.recruitMainTtlV{
	width: 300px;
	height: auto;
	float: right;
}
.recruitPhoto{
	text-align: center;
	margin-top: 36px;
}
.recruitPhoto p{
	display: inline-block;
	margin: 0 20px;
}
.recruitMainV{
	width: 300px;
	height: auto;
}
.contactMittchikun{
	width: 480px;
	height: auto;
}
.aboutNippo{
	margin-bottom: 60px;
}
p.aboutNippoTxt{
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.25;
	margin-bottom: 40px;
}
.dropBox{
	margin-bottom: 30px;
}
.nippoTtl01{
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 24px;
	color: #709c12;
}
.nippoTtl02{
	background: #009370;
	margin-bottom: 24px;
	padding: 12px 16px;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.5;
	color: #fff;
}
.nippoGroupList{
	margin-bottom: 20px;
}
.nippoGroupL{
	float: left;
	width: 720px;
}
.nippoGroupR{
	float: right;
}
.nippoGroupR figcaption{
	text-align: right;
	font-size: 1.2rem;
	line-height: 1.3;
	margin-bottom: 20px;
}
.nippoList{
	margin-bottom: 20px;
}
.nippoList li{
	font-size: 1.5rem;
	line-height: 1.5;
	margin-bottom: 12px;
	padding-left: 2em;
  text-indent: -2em;
}
.nippoNumber{
	background: #009370;
	margin-right: 0.5em;
	padding: 0.25em 0.5em;
	color: #fff;
	font-weight: bold;
}
.nippoRed{
	color: #b71254;
}
.nippoPointMittchikun{
	width: 600px;
	height: auto;
}
.nippoGroupTable{
	margin-bottom: 20px;
}
.nippoGroupTable th, .nippoGroupTable td{
	padding: 8px 10px;
	text-align: left;
	font-size: 1.5rem;
	line-height: 1.5;
}
.dropButton{
	text-align:center;
	padding:12px;
	color:#fff;
	background:#008cd6;
	width: 160px;
	cursor: pointer;
	margin: 0 auto;
}
.dropClose{
	background:#666;
}
.recruitFooter{
	height: 0;
	/* 表示画像の高さ ÷ 表示画像の幅 × 100 */
	padding-top: 31.8%;
	background: url(../images/recruit/recruit_footer.jpg) 0 0 no-repeat;
	background-size: contain;
}
@media screen and (max-width: 959px) {
	.recruitMainTtlV{
		width: 100%;
	}
	.recruitPhoto p{
		margin: 20px 20px;
	}
	.nippoGroupL{
		width: 100%;
	}
	.nippoGroupR{
		width: 100%;
	}
	.nippoGroupR figure{
		text-align: center;
	}
	.nippoGroupR figcaption{
		text-align: center;
	}
	.nippoPointMittchikun{
		width: 100%;
	}
}
@media screen and (max-width: 480px) {
	.recruitPhoto img{
		width: 100%;
	}
}
/* --------------------------------------------------
	/採用情報
-------------------------------------------------- */




/* --------------------------------------------------
	会社概要
-------------------------------------------------- */
.companyPhoto{
	text-align: center;
}
.companyPhoto p{
	display: inline-block;
	margin: 0 24px 12px;
}
.companyPhoto img{
	width: 400px;
	height: auto;
}
@media screen and (max-width: 480px) {
	.companyPhoto img { 
		width: 100%;
	}
}
/* --------------------------------------------------
	/会社概要
-------------------------------------------------- */




/* --------------------------------------------------
	詳細ページ
-------------------------------------------------- */
.section01{
	margin-bottom: 60px;
}
.section01 .table{
	margin-bottom: 8px;
}
.section01 p{
	font-size: 1.4rem;
	line-height: 1.5;
	margin-bottom: 24px;
}
.section01 p:last-child{
	margin-bottom: 0;
}
.photo{
	text-align: center;
}
.photo p{
	display: inline-block;
	margin: 8px 8px;
}
.photo p img{
	width: 100%;
	max-width: 400px;
}
.projectDl{
	margin-bottom: 24px;
}
.projectDl dt{
	font-size: 1.4rem;
	line-height: 1.5;
}
.projectDl dd{
	font-size: 1.4rem;
	line-height: 1.5;
}
/* --------------------------------------------------
	/詳細ページ
-------------------------------------------------- */




/* --------------------------------------------------
	アクセス
-------------------------------------------------- */
.gMap {
  margin: 0 auto;
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.gMap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
/* --------------------------------------------------
	/アクセス
-------------------------------------------------- */