@charset "UTF-8";

/* -----------------------------------
■上書き
----------------------------------- */

#section1 {
	height: auto;
	min-height: 180px;
}

@media (max-width: 767px) {
	#section1 {
		height: auto;
		min-height: auto;
		padding-bottom: 0px;
	}
}

#section2 {
	padding: 0 0 60px 0;
}


/* スマホ時の幅が狭くなる対策 */

@media (max-width: 767px) {
	#section2 .container-fluid {
		padding-left: 0;
		padding-right: 0;
	}
}

/* -----------------------------------
■中面設定
----------------------------------- */

.mainImageArea {
	width: 100%;
	text-align: center;
	margin-bottom: 60px;
}
.mainImageAreaNest {
	width: 84%;
	max-width: 1290px;
	margin: 0 auto;
	text-align: left;
}
.mainImageAreaNest img {
	display: block;
	max-width: 100%;
	height: auto;
}

.bgCompany {
	background: #0081CF url(../images/bg_company.jpg) no-repeat right top;
	background-size: contain;
}
.bgOutline {
	background: #666666 url(../images/bg_outline.jpg) no-repeat right top;
	background-size: contain;
}
.bgProduct {
	background: #666666 url(../images/bg_product.jpg) no-repeat right top;
	background-size: contain;
}

.bgPrint {
	background: #E0E0E0 url(../images/bg_print.jpg) no-repeat right top;
	background-size: contain;
}
.bgColortip {
	background: url(../images/bg_colortip.png) no-repeat left top;
	background-size: contain;
}

.bgEtc {
	background: #666666;
	padding: 50px 0;
}

.contentsWhiteArea {
	background: #FFF;
	width: 100%;
	margin: 0 auto;
	padding: 50px 0;
	text-align: center;
}
.contentsGrayArea {
	background: #DBE1E6;
	width: 100%;
	margin: 0 auto;
	padding: 50px 0;
	text-align: center;
}
.contentsWhiteArea *:last-child {
	margin-bottom: 0;
}
.contentsGrayArea *:last-child {
	margin-bottom: 0;
}

.contentsArea {
	width: 84%;
	max-width: 1290px;
	margin: 0 auto;
	text-align: center;
}
.contentsArea hr {
	width: 116%;
	margin-left: -8%;
	margin-right: -8%;
	margin-top: 60px;
	margin-bottom: 60px;
	border: 0;
	border-top: 1px solid #666;
}

.contentsArea .img-responsive {
	margin: 0 auto 30px auto;
}


h1, h2, h3, h4, h5, h6, p {
	margin-top: 0;
}

h1 {
	margin: 0;
	padding: 0;
}
h2 {
	text-align: center;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	letter-spacing: 0.125em;
	font-weight: normal;
	font-size: 180%;
}
h2 br { letter-spacing: 0; }
h3 {
	text-align: left;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-weight: normal;
	background-color: #EEEEE7;
	padding: 0.25em 0.5em;
}
h4 {
	text-align: left;
	font-weight: normal;
	padding: 0.25em 0.5em;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #666;
}

h3 + h4 {
	margin-top: -1em;
}

p {
	margin-top: 0;
}

#section2 p {
	text-align: left;
	line-height: 2em;
}

#section2 p.lead {
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	text-align: center;
	font-size: 110%;
	line-height: 1.5em;
}
h2 + p.lead {
	margin-top: -1.25em;
}

@media (max-width: 767px) {
	#section2 p.lead {
		text-align: left;
	}
}


/* 業務ページの特殊デザイン */
.outline h2 {
	font-size: 240%;
	font-weight: normal;
	color: #00A1D3;
	font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	letter-spacing: 0.125em;
	margin: 0 0 0.25em 0;
}
.outline h3 {
	font-size: 300%;
	text-align: left;
	font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: normal;
	background-color: transparent !important;
	margin: 0 0 0.375em 0;
	padding: 0;
	line-height: 1.25em;
}
.outline h4 {
	font-size: 115%;
	text-align: left;
	font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: bold;
	margin: 0 0 0.25em 0;
	padding: 0;
	border: none !important;
}
#section2 p.outlineLeadA {
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	text-align: center;
	line-height: 1.5em;
}
.outlineLeadB {
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-size: 110%;
	text-align: left;
	margin: 0 0 0.25em 0;
}

@media (max-width: 767px) {
	#section2 p.outlineLeadA {
		text-align: left;
	}
	.outlineLeadB {
		line-height: 1.25em;
	}
}

.letterSpaceA {
	letter-spacing: 0.5em;
}

.textLeft {
	width: 100%;
	text-align: left !important;
}
.textRight {
	width: 100%;
	text-align: right !important;
}
.textCenter {
	width: 100%;
	text-align: center !important;
}

/* -----------------------------------
■リンクエリア
----------------------------------- */

.linkArea {
	margin: 40px auto 30px auto;
}

.linkArea p {
	text-align: right !important;
	margin-bottom: 0;
}

.linkArea p a {
	text-decoration: none;
	border: 1px solid #0089D5;
	margin-left: 1em;
	padding: 0.5em 1em;
	border-radius: 5px;
	background-color: transparent;
	color: #0089D5;
}

.linkArea p a:hover {
	background-color: #0089D5;
	color: #FFF;
}

/* -----------------------------------
■フレックス
----------------------------------- */
.flexBoxArea {
	margin: 0 auto 30px auto;
}
.flexBoxArea ul {
	margin: 0;
	padding: 0;
	list-style: none;
	-js-display: flex;
    display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}

/* 先に表示 */

li.flexPre {
    order: -1;
}

/* 縦揃え */

.flexAlignCenter {
    align-items: center;
}

.flexAlignBottom img {
   margin-bottom: 30px;
}

.flexAlignBottom {
    align-items: flex-end;
}

.flexBoxArea > ul > li {
	margin: 0;
	padding: 0;
}
.flexBoxArea > ul > li h2 {
	margin-top: 0.5em;
	white-space: nowrap;
}

/* フレックスボックス特殊処理 */

.face {
    margin-right: 30px;
	margin-bottom: 1em;
}

@media (max-width: 767px) {
	.flexMessage ul {
		display: block;
	}
	.face {
 	   margin-right: 0;
	   margin-bottom: 30px;
	}
}

@media (max-width: 1125px) {
	.flexAccess ul {
		display: block;
	}
}

.flexOutline ul li img {
	margin: 0 0 30px 50px;
}
.flexOutline ul li.flexPre img {
	margin: 0 50px 30px 0;
}

@media (max-width: 1125px) {
	.flexOutline ul {
		display: block;
	}

	.flexOutline ul li img {
		display: block;
		max-width: 100%;
		height: auto;
		margin: 30px auto 30px auto;
	}
	.flexOutline ul li.flexPre img {
		margin: 30px auto 30px auto;
	}

}


/* -----------------------------------
■共通を上書き
----------------------------------- */


figcaption {
	font-size: 75%;
}

/* -----------------------------------
■ページTOP
----------------------------------- */

#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
	z-index: 99999;
}
#page-top a {
    background: rgba(0,0,0,0.6);
    text-decoration: none;
    color: #fff;
    width: 100px;
    padding: 20px 0;
    text-align: center;
    display: block;
    border-radius: 5px;
}
#page-top a:hover {
    text-decoration: none;
    background: rgba(0,0,0,0.3);
}


/* -----------------------------------
■テーブル
----------------------------------- */
/* 表組：A（通常） */
table.tableDesignA {
	font-size: 84%;
	margin: 0px auto 30px auto; /* 上・右・下・左 */
	padding: 0px;
	border: 1px #FFF solid;
	border-collapse: collapse;
}
table.tableDesignA th {
	font-weight: normal;
	text-align: left;
	white-space: nowrap;
	background-color: #EEEEE7;
	padding: 0.5em 0.75em;
	border: 1px #FFF solid;
	border-collapse: collapse;
}
table.tableDesignA th a {
	color: #FFFFFF; 
}
table.tableDesignA td {
	text-align: left;
	background-color: #FFFFFF;
	padding: 0.5em 0.75em;
	border: 1px #FFF solid;
	border-collapse: collapse;
}
table.tableDesignA caption {
	font-size: 0.78em;
	text-align: left;
}

/* 表組：B（通常） */
table.tableDesignB {
	font-size: 84%;
	margin: 0px auto 30px auto; /* 上・右・下・左 */
	padding: 0px;
	border: 1px #FFF solid;
	border-collapse: collapse;
}
table.tableDesignB th {
	font-weight: normal;
	text-align: left;
	white-space: nowrap;
	background-color: #EEEEE7;
	padding: 0.5em 0.75em;
	border: 1px #FFF solid;
	border-collapse: collapse;
}
table.tableDesignB th a {
	color: #FFFFFF; 
}
table.tableDesignB td {
	text-align: left;
	background-color: #FFFFFF;
	padding: 0.5em 1.75em;
	border: 1px #FFF solid;
	border-collapse: collapse;
}
table.tableDesignB caption {
	font-size: 1.25em;
	margin-bottom: 0.25em;
	text-align: left;
}

/* 表組：C（メールフォーム） */
table.tableDesignC {
	margin: 0px auto 0px auto; /* 上・右・下・左 */
	padding: 0px;
	border: 1px #FFF solid;
	border-collapse: collapse;
}
table.tableDesignC th {
	text-align: left;
	font-weight: normal;
	white-space: nowrap;
	background-color: #FFF;
	padding: 0.5em 0.75em;
	border: 1px #FFF solid;
	border-collapse: collapse;
}
table.tableDesignC th a {
	color: #FFFFFF; 
}
table.tableDesignC td {
	background-color: #FFFFFF;
	padding: 0.5em 0.75em;
	border: 1px #FFF solid;
	border-collapse: collapse;
}
table.tableDesignC caption {
	font-size: 1.25em;
	margin-bottom: 0.25em;
	text-align: left;
}
@media (max-width: 767px) {
	table.tableDesignC th {
		display: block;
	}
	table.tableDesignC td {
		display: block;
	}
	table.tableDesignC td.tdLost {
		display: none;
	}
}

input.wideMax {
	width: 100%;
}
textarea.wideMax {
	width: 100%;
}

td *:last-child {
	margin-bottom: 0;
}

/* ボックスA */
.squareBoxA {
	background: #FFF;
	margin: 0 auto 40px auto;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	border-radius: 8px;
	padding: 1em;
	-webkit-box-shadow: 0px 0px 8px 0 #CCC;
	-moz-box-shadow: 0px 0px 8px 0 #CCC;
	box-shadow: 0px 0px 8px 0 #CCC;
}
.squareBoxA *:last-child {
	margin-top: 0;
	margin-bottom: 0;
}

/* ボックスB */
.squareBoxB{
	background: #FFF;
	margin: 0 auto 40px auto;
	padding: 1em;
}
.squareBoxB *:last-child {
	margin-top: 0;
	margin-bottom: 0;
}

/* -----------------------------------
■個別
----------------------------------- */

/* 業務 */
.numArea01 {
	background: url(../images/num01.png) no-repeat left top;
	padding-left: 80px;
	margin-bottom: 1em;
}
.numArea02 {
	background: url(../images/num02.png) no-repeat left top;
	padding-left: 80px;
	margin-bottom: 1em;
}
.numArea03 {
	background: url(../images/num03.png) no-repeat left top;
	padding-left: 80px;
	margin-bottom: 1em;
}
.numArea04 {
	background: url(../images/num04.png) no-repeat left top;
	padding-left: 80px;
	margin-bottom: 1em;
}

/* お問い合わせ */
.inquiryFormArea {
	max-width: 800px;
	background: #FFF;
	margin: 0 auto 30px auto;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	border-radius: 8px;
	padding: 1em;
	-webkit-box-shadow: 0px 0px 8px 0 #CCC;
	-moz-box-shadow: 0px 0px 8px 0 #CCC;
	box-shadow: 0px 0px 8px 0 #CCC;
}

/* アクセスマップ */

.accessMapArea {
	width: 630px;
	height: 360px;
	margin-left: 2em;
}

.accessMapArea .gMap {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}
 
.gMap iframe,
.gMap object,
.gMap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media (max-width: 1125px) {
	.accessMapArea {
		width: 100%;
		height: auto;
		margin-left: 0;
		margin-top: 30px;
	}
}


/* サイトマップ */
.siteList {
	margin: 1em 0;
	text-align: left;
}

.siteList li {
	margin: 1em 0;
}

