﻿@charset "utf-8";

/* !Reseting
---------------------------------------------------------- */

html {
	height: 100%; 
	overflow: hidden;
}

body {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 500;
	font-size: 16px;
	color: #000;
	line-height: 1.5;
	background: #fff;
	overflow-y: scroll;
	overflow-x: hidden;                                                                                                             
	height: 100%; 
}


a {
	color: #000;
	text-decoration: underline;
}

a:hover {
	text-decoration: none;
}

/* !Clearfix
---------------------------------------------------------- */

.clearfix {
	zoom: 1;
}

.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

img {
	max-width: 100%;
	height: auto;
	border: none;
}

.clear {
	clear: both;
}


/* ########### 1000px以上 ########### */

@media screen and (min-width:1000px) {
	#header_bg, .wrap {
		width: 1000px;
		overflow: hidden;
		margin-left: auto;
		margin-right: auto;
	}
}

@media screen and (max-width: 768px) {
	
	.wrap {
		padding: 0 20px;
		font-size: 12px;
		line-height: 1.5;
	}
			
}

@media screen and (max-width: 320px) {
	
	.wrap {
		padding: 0 15px;
		font-size: 11px;
		line-height: 1.5;
	}
		
}

/* All
---------------------------------------------------------- */

.kakumaru {
	-moz-border-radius: 6px;    /* 角丸-Firefox */
    -webkit-border-radius: 6px; /* 角丸-Safari,Chrome */
    border-radius: 6px;            /* 角丸-CSS3 */
}

.centering {
	text-align: center;
}

.content h2 {
	font-size: 140%;
	margin: 3% 0 2% 0;
}

.jisage{
    padding-left:1em;
    text-indent:-1em;
}



/* パンくず
---------------------------------------------------------- */



/* パンくずリスト */
.bread	{
	background: #fbfbfb;
}

.bread ol	{
	margin: 0;
	padding: 2px 0;
	list-style: none;
}

.bread li a	{
	display: inline-block;
	padding: 2px;
	color: #000000;
	font-size: 12px;
	text-decoration: none;
}

.bread li a:hover	{
	background-color: #eeeeee;
}

.bread ol:after	{
	content: "";
	display: block;
	clear: both;
}

.bread li	{
	float: left;
	width: auto;
}

.bread_top:after	{
	content: '\003e';
	margin-left: 5px;
	margin-right: 5px;
	color: #888888;
}


/* トップへボタン
---------------------------------------------------------- */

#topbutton {
	/* 表示位置を画面の右下に固定 */
	position: fixed; /* ←表示場所を固定 */
	bottom: 20px;   /* ←下端からの距離 */
	right: 20px;    /* ←右端からの距離 */
	width: 7em;     /* ←横幅 */

	/* 最初は非表示 */
	display: none;
	z-index: 100000;
}

#topbutton a {
	/* リンクの装飾 */
	color: white;          /* ←文字色 */
	text-decoration: none; /* ←下線なし */
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
   }
   
@media screen and (max-width: 414px) {
	
	#topbutton {
		/* 表示位置を画面の右下に固定 */
		position: fixed; /* ←表示場所を固定 */
		bottom: 10px;   /* ←下端からの距離 */
		right: 1px;    /* ←右端からの距離 */
		width: 4em;     /* ←横幅 */

	/* 最初は非表示 */
		display: none;
		z-index: 100000;
	}
	
	#topbutton img {
		max-width: 60%;
		height: auto;
	}

}

/* KV
---------------------------------------------------------- */

.bx-wrapper {
    margin: 2% 0 4% 0;
}

/* #header
---------------------------------------------------------- */


#header {
	overflow: hidden;
	padding: 0 0 0 0;
	background: url("img/h_bg.jpg") no-repeat center top;
	box-shadow:0px 8px 8px -5px rgba(0,0,0,0.3);
}

.top_txt {
	color: #fff;
	font-size: 12px;
	background: #101160;
	padding: 2px 0;
}

.logo_area {
	float: left;
	padding: 1% 0 2% 2%;
}

.logo_area a {
	color: #fff;
	text-decoration: none;
	font-size: 12px;
}

#header a:hover {
	text-decoration: none;
	filter: alpha(opacity=90);
	-moz-opacity: 0.9;
	opacity: 0.9;
}

.head_tel {
	float: right;
	margin: 1% 2% 2% 0;
}

.head_menu {
	background: #fff;
	-moz-border-radius: 2px;    /* 角丸-Firefox */
	-webkit-border-radius: 2px; /* 角丸-Safari,Chrome */
	border-radius: 2px;            /* 角丸-CSS3 */
	font-size: 12px;
	margin: 0 10px 0 0;
	padding: 4px 6px;
}

.head_menu a {
	color: #00547d;
	text-decoration: none;
}

.head_tel {
	color: #fff;
	font-size: 12px;	
	float: right;
	margin: 1% 0.5%;
	line-height: 1.1;
}

.tel-link {
	font-size: 200% !important;
	font-weight: bold;
}

.tel-link a {
	color: #fff !important;
	text-decoration: none !important;
}

#tel i {
	font-size: 70% !important;
}

.mail-link_sp img {
	width: 12% !important;
}

.mail-link_sp a {
	display: block;
}

	
@media screen and (min-width: 769px) {
	
		.mail-link_sp {
			display: none;
		}
}

@media screen and (min-width: 769px) and (max-width: 1040px) {
	
	.logo_area {
		float: left;
		width: 65%;
		padding: 20px 0 10px 20px;
	}
}

@media screen and (max-width: 768px) {
	
	.logo_area img {
		float: left;
		width: 84%;
		padding: 10px 0 0 10px;
	}
			
	.head_tel img{
		clear: both;
		float: left;
		width: 30%;
		margin: 5px 0px 5px 35px;
	}
	
	.mail-link {
		display: none;
	}
	
}

@media screen and (max-width: 414px) {
	
	.head_tel  {
		float: left;
		width: 60%;
		margin: 0 0 0 20px;
	}
	
	.logo_area {
		padding: 0;
	}
	
	#header img {
		width: 80%;
		float: left;
	}

}



/* グローバルナビゲーション
---------------------------------------------------------- */

.fixed {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 1000;
}

#nav {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 1000;
}

.nav {
	height: 32px;
	padding: 1.2% 0;
	background: #2c3842;
	overflow: hidden;
	text-align: center;
	width: 100%;
}

.nav ul li {
	float: left;
	border-right: solid 1px #00aac3;
	background-color: transparent;
	text-align: center;
	margin: 0 0 0 -1px;
	width: 14%;
}


.nav_bg {
	background: #004986;
	overflow: hidden;
}


.nav ul li a {
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	display: block;
	padding: 5px 3px;
}

.nav ul li a:hover {
	color: #004986;
	background-color: rgba(255, 255, 255, 1);
	transition: all 1s;
	text-decoration: none;
	padding: 5px 3px;
}

.no_border {
	border-right: solid 1px #2c3842 !important;
}

.no_border1 {
	border-left: solid 1px #2c3842 !important;
}



/* 768px以下に適応のメニュー
---------------------------------------------------------- */


/* ########### 768px以下 ########### */
@media screen and (max-width: 768px) {
	
	.nav, .head_menu {
		display: none;
	}
	

	/* トグルボタン */
	#menubtn	{
		padding: 6px 12px;
		border: solid 1px #aaaaaa;
		border-radius: 5px;
		background-color: #ffffff;
		position: relative;
		top: 20px;
		right: -85px;
		cursor: pointer;
		z-index: 99;
	}
	
	#menubtn:hover	{
		background-color: #dddddd;
	}
	
	#menubtn:focus	{
		outline: none;
	}
	
	#menubtn i	{
		color: #888888;
		font-size: 18px;
	}
	
	#menubtn span	{
		display: inline-block;
		text-indent: -9999px;
	}
	
	/* ナビゲーションメニュー（縦並び） */
	.menu	{
		display: none;
	}
	
	
	.menu ul	{
		padding: 0;
		list-style: none;
		clear: both;
		margin: 0 0 0 0;
	}
	
	.menu ul li {
		padding: 3px;
	}
	
	.menu li a	{
		display: block;
		padding: 5px;
		color: #000000;
		border: solid 1px #9f9f9f;
		font-size: 14px;
		text-decoration: none;
		text-align: center;
		/*For Old WebKit*/
		background: -webkit-linear-gradient(
		top,
		#ffffff 0%,
		#f8f8f8 80%,
		#f2f2f2 90%,
		#e1e1e1 100%
		);
		/*For Modern Browser*/
		background: linear-gradient(
		to bottom,
		#ffffff 0%,
		#f8f8f8 80%,
		#f2f2f2 90%,
		#e1e1e1 100%
		);	
	}
	
	.menu li a:hover	{
		background-color: #eeeeee;
	}

}


/* ########### 769px以上 ########### */
@media screen and (min-width: 769px) {

	/* トグルボタン */
	#menubtn {
		display: none !important;
	}
	
	/* ナビゲーション */
	#menu {
		display: none;
	}
	
	.menu {
		clear: both;
		text-align: center;
	}
	
	.menu ul {
		margin: 0;
		padding: 0;
		list-style: none;
	}
	
	.menu li a	{
		display: block;
		float: left;
		padding: 10px 15px;
		color: #000000;
		font-size: 14px;
		text-decoration: none;
	}
	
	.menu li a:hover {
		background-color: #eeeeee;
	}
	
	.menu ul:after {
		content: "";
		display: block;
		clear: both;
	}
	
	.menu ul li {
		float: left;
		width: auto;
	}
	

}


/* 　コンテンツ　*top
---------------------------------------------------------- */

.content {
	width: 100%;
	clear: both;
	position: relative;
	z-index: 1;
	overflow: hidden;
	background: url("img/bg.jpg") center top no-repeat;
	background-size: cover;
}

/*
.side {
	width: 21%;
	float: left;
	padding: 0 0 0 2%;
	}
*/

.main {
	width: 100%;
	margin: 2% 0 6% 0;
	}

.main h1 {
	background: url("img/logo_icon.png")  no-repeat;
	font-size: 28px;
	font-weight: 600;
	color: #00aac3;
	letter-spacing: 3px;
	line-height: 25px;
	padding: 0 0 0 6% !important;
}

h1 span {
	font-size: 18px;
}

.txt-area {
	padding: 2%;
    overflow: hidden;
	}
	
.mini_midashi {
	color: #101160;
	font-size: 18px;
	font-weight: 600;
	padding: 2% 0 1% 0;
}

.miniicon {
	padding-left: 10px;
	border-left: solid 7px #0cafb4;
	color: #0cafb4;
	font-size: 20px;
	font-weight: 600;
	margin: 0 0 30px 0;
}

.left, .right {
	width: 50%;
	float: left;
}



/* ########### 768px以下 ########### */
@media screen and (max-width: 768px) {
	
	.content h1 {
		font-size: 16px;
	}
	
	h1 span {
		font-size: 12px;
		margin: 3% 0 1% 0;
	}
	
	.main {
		width: 100%;
		padding: 0;
		margin: 0;
		float: none;
	}
	
	.main h1 {
    	padding: 0 0 0 18% !important;
	}

}



/* 　サイドメニュー（PC）
---------------------------------------------------------- */

.side ul {
	border: solid 1px #101160;
	background: #fff;
	padding: 3%;
	filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.2));
}

.side ul li {
	border-bottom: solid 1px #bbbbbb;
}

.side ul li a {
	text-decoration: none;
	display:block;
	width: 98%;
	padding: 5% 0 5% 2%;
}

.side ul li a:hover {
	color: #fff;
	background-color: #101160;
	text-decoration: none;
	filter: alpha(opacity=90);
	-moz-opacity: 0.9;
	opacity: 0.9;
}

.side-con {
	margin: 3% 0 0 0;
}



/* 　メインコンテンツ共有タイトル部分余白
---------------------------------------------------------- */

.outline {
	padding: 4% 0;
}



/* 　メインコンテンツ共有テーブル
---------------------------------------------------------- */

.main table {
	width: 100%;
	background: #fff;
	margin: 1% 0;
}

.main table tr td {
	padding: 1% 2%;
	border: solid 1px #00aac3;
	text-align: left;
	line-height: 1.3;
}

.table_title {
	width: 30%;
	background: #00aac3;
	color: #fff;
}

.title_border {
	border-bottom: solid 1px #fff !important;
}

h2 {
    color: #00547d;
	background: url("img/line.jpg") no-repeat center bottom;
	margin: 0 0 2% 0;
}

.hajimeni h2, .privacypolicy h2 {
	background: none !important;
}

@media screen and (max-width: 768px) {
		
	.content h2 {
		margin: 6% 0 3% 0;
	}
	
	.con_bg {
		margin: 4% 0;
	}

}


/* 　TOP
---------------------------------------------------------- */


.hajimeni {
	padding: 4% 0 0 0;
	color: #00547d;
}

.sign {
	font-size: 15px;
	text-align: right;
	padding: 4% 3% 0 0;
}

@media screen and (max-width: 768px) {
	
	.hajimeni {
	    margin: 6% 0;
    }
	
	.hajimeni_title img {
	    width: 30% !important;
    }
	
	.sign {
		text-align: right !important;
		width: 100%;
	}

}


/* 　お知らせ
---------------------------------------------------------- */

.new {
	margin: 3% 0 6% 0;
}

.con_bg {
	padding: 5% 3%;
	background: rgba(255,255,255,0.7);
}

.new ul {
	border: solid 1px #fff;
}

.new ul li {
	padding: 2%;
	border-bottom: solid 1px #d5d5d5;
	line-height: 1;
	margin: 1%;
}

.new ul li p {
	padding-left: 5px;
	border-left: solid 4px #101160;
	color: #101160;
	font-size: 120%;
	font-weight: 600;
	margin: 0 0 4px 0;
}

@media screen and (max-width: 768px) {



}


/* 　下部のバナー
---------------------------------------------------------- */


.bottom_bnn {
	margin: 4% 3.8%;
	overflow: hidden;
}

.bottom_bnn div {
	text-align: center;
	float: left;
	width: 48%;
	margin: 0 0.5%;
}

.bottom_bnn div {
  position: relative;
  overflow: hidden;
}

.bottom_bnn div img{
  vertical-align: bottom;
}

.bottom_bnn div:after {
  position: absolute;
  z-index: 9999;
  content: "";
  top: 50%;
  left: 50%;
  width: 0%;
  height: 0%;
  transition: 0.2s;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.bottom_bnn div:hover:after {
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
  border: 10px solid rgba(255,255,255,.4);
}


@media screen and (max-width: 768px) {

	.bottom_bnn div {
		text-align: center;
		width: 100%;
		margin: 2% 0;
	}

}



/* 　機器設備
---------------------------------------------------------- */

.equipment ul li {
	float: left;
	width: 50%;
}

.equipment ul {
	overflow: hidden;
}

.jodouzanzouki {
	width: 100%!important;
	text-align: center;
}


/* 　製版・サービス
---------------------------------------------------------- */

.service .table_title {
	font-size: 120%;
	text-align: center;
	vertical-align: middle;
}

.service table tr td {
	text-align: center;
}

.size {
	background: #9bdde4;
}

.redver tr td {
	padding: 2% !important;
	border: solid 1px #ff5c75 !important;
}

.redver .table_title {
	background: #ff5c75;
	color: #fff;
	text-align: center;
	vertical-align: middle;
}

.txt_left {
	text-align: left !important;
}

/* 　データ入稿
---------------------------------------------------------- */

.contact {
	border: solid 1px #00aac3;
	background: #fff;
	padding: 4% 10%;
	margin: 3%;
}

.data ol {
	padding: 0.5% 0;	
	overflow: hidden;
	font-weight: 600;
}

.data ol li {
	float: left;
	width: 50%;
	font-size: 120%;
}

.txt_right {
	text-align: right !important;
	margin: 3% 0;
}

@media screen and (max-width: 768px) {

	.data ol {
		padding: 2% 0;
		overflow: hidden;
		font-weight: 600;
	}
	
	.data ol li {
		float: left;
		width: 100%;
		font-size: 120%;
	}

}



/* 　組織図
---------------------------------------------------------- */

.chartbox {
	text-align: center;
}


/* 　現場写真
---------------------------------------------------------- */

.album ul {
	display: flex;
	justify-content: center;	
	 margin: 0 0 15px 0;
}

.album ul li {
	float: left;
	margin: 0 15px 0 0;
}

.album ul li img {
	border: solid 1px #ccc;
}

.no-margin {
	margin: 0 !important;
}

.phot_title {
	width: 100%;
	font-size: 80%;
	text-align: center;
	border: solid 1px #ccc;
	padding: 2% 0;
	margin: 1% 0 0 0;
}


/* 採用情報
---------------------------------------------------------- */

.recruitbox {
	margin: 0 0 5% 0;
}


/* 地図
---------------------------------------------------------- */

.map_box {
	margin: 0 0 5% 0;
}

.map_box iframe {
	border: solid 1px #ccc;
}

.map_box p {
	text-align: right;
}

.map h2 {
	font-size: 18px;
	font-weight: 500;
	margin: 0 0 1% 0;
}


/* お問い合わせ
---------------------------------------------------------- */

.mailfoambox {
	width: 100%;
}

.table_line {
	background: #ffffff;
	border: solid 1px #92a2b3;
	margin: 4% 0;
	padding: 1% 0 5% 0;
}

.mailfoambox table {
	width: 90%;
	margin: 0 auto;
}

.mailfoambox table tr td {
	border: none !important;
	padding: 1% 0 2% 0;
}


.midasi_mail {
	width: 24%;
	text-align: left;
	font-size: 16px;
	padding: 0 0 0 4%;
}

.midasi_mail2 {
	width: 150px !important;
	text-align: left;
	font-size: 16px;
	padding: 2% 0 2% 2%;
}

.input_area {
	font-size: 12px;
	color: #999;
	padding: 2% 1%;
}

input {
	height: 35px;
	width: 80%;
	border:solid 1px #92a2b3;
	background-color: #fff;
	padding: 0 0 0 2%;
}

textarea {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	border:solid 1px #92a2b3;
	background-color: #fff;
	width: 95%;
	padding: 2% 0 0 2%;
}

.hissukoumoku {
	border-bottom:solid 1px #92a2b3;
	color: #000;
	font-size: 15px;
	text-align: left;
	padding: 4% 0 2% 0;
	margin: 0 0 3% 0;
}

.hissu {
	background: #ed8c83;
	color: #fff;
	font-size: 11px;
	padding: 2px 3px;
	margin: 0 3px 0 3px;
}

.button_area {
	text-align: center;
	padding: 4% 0 1% 0;
}

.button {
	width: 80%;
	background: none;
	border: none;
	outline:none;
	padding: 1% 0;
}

.contact_btn {
	background: #2c90cc !important;
	color: #ffffff;
}

.contact_btn:hover {
	background: #4aa5dc !important;
	color: #ffffff;
    top: 2px;
}

input::placeholder, textarea::placeholder {
  color: #92a2b3;
}

/* IE */
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #92a2b3;
}

/* Edge */
input::-ms-input-placeholder, textarea::-ms-input-placeholder {
  color: #92a2b3;
}

@media screen and (max-width: 768px) {
	
	.midasi_mail {
		width: 30%;
		text-align: left;
		font-size: 12px;
		font-weight: bold;
		padding: 0 0 0 5px;
	}
	
}


/* 　footer
---------------------------------------------------------- */

.add {
	padding: 0 0 0 6%;
}

.corp {
	clear: both;
	background: url("img/f_bg.jpg");
	padding: 2% 0;
}

.corp ul {
	display: flex;
	justify-content: center;	
}

.corp ul li {
	float: left;
	width: 50%;
	text-align: left;
	padding: 2% 6%;
}

.f_menu {
	text-align: center;
	font-size: 13px !important;
	padding: 0 0 2% 0;
}

.footer_menu a {
	color: #000;
	font-size: 13px !important;
}

.footer_btm {
	font-size: 12px;
	text-align: center;
	padding: 2% 0 1% 0;
}


@media screen and (max-width: 768px) {

}


@media screen and (max-width: 415px) {

	.footer_menu a {
		font-size: 10px;
	}

	footer {
		padding: 0 0 5px 0 !important;
	}

}

/* 　プライバシーポリシー
---------------------------------------------------------- */

.privacypolicy ul li {
	margin: 2% 0;
}

.pp_midashi {
	font-weight: 600;
	font-size: 110%;
}

.pp_box {
	margin: 2% 0 2% 2%;
}

.box {
	border: solid 1px #000;
	padding: 1%;
	margin: 0 0 2% 0;
	display: inline-block;
}

/* 　プライバシーポリシーマーク
---------------------------------------------------------- */


.ps {
	overflow: hidden;
	margin: 4% 0;
}

.psimg {
	width: 10%;
	float: left;
	border-right: solid 1px #999;
	padding: 0 1% 0 0;
}

.pstxt {
	width: 87%;
	padding: 2% 0 0 1%;
	float: left;
}


.privacypolicy .ps {
	border-bottom: solid 2px #ccc;
	padding: 1% 0 3% 0;
}

.privacypolicy .psimg {
	width: 13%;
	float: left;
	border-right: solid 0px #fff;
	padding: 0 0 0 0;
}

.privacypolicy .pstxt {
	width: 83%;
	padding: 3% 2% 0 0;
	float: left;
}
