@charset "utf-8";
/* =======================================

parts.css（共通使用パーツ）
・ボックス
・見出しバー
・テーブル
・記事関連（一覧・詳細）
・ローカルナビ
・制作用ダミー

========================================== */

/* =============================================================================
ボックス
========================================================================== */
/* メインエリア 基本BOX
---------------------------------------------- */
.box_basic {
	margin-bottom: 40px;
}

.box_basic:after {
	content: ".";
	display:block;
	clear:both;
	height:0px;
	visibility:hidden;
	font-size:0;
}

.box_basic p {
	text-align: left;
}
/*インデント用*/
.box_inner {
	padding-left: 10px;
}
/*行くくり用*/
.my_row {
	margin-bottom: 40px;
}

.my_row:after {
	content: ".";
	display:block;
	clear:both;
	height:0px;
	visibility:hidden;
	font-size:0;
}

.line_btm{
	border-bottom: 1px solid #ccc;
	padding-bottom: 30px;
	margin-bottom: 30px;
}


/* =============================================================================
見出しバー
========================================================================== */
/*基本見出しバー*/
.ttl_basic {
	font-family: 'M PLUS 1p', sans-serif;
	font-size: 40px;
	font-weight: bold;
	line-height: 0.8;
	margin-bottom: 30px;
	padding-bottom: 20px;
	border-bottom: 1px solid #000;
}
.ttl_basic span {
	font-size: 16px;
	font-weight: normal;
}

.ttl_basic2 {
	position: relative;
	font-family: 'M PLUS 1p', sans-serif;
	font-size: 32px;
	font-weight: bold;
	line-height: 140%;
	padding: 15px 0;
	margin-bottom: 60px;
	border-top: 1px solid #000;
}
.ttl_basic2:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -10px; /*下線の上下位置調整*/
  display: inline-block;
  width: 80%; /*下線の幅*/
  height: 1px; /*下線の太さ*/
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%); /*位置調整*/
  background-color: #000; /*下線の色*/
}
.ttl_basic2.white {
	color: #fff;
	border-top: 1px solid #fff;
}
.ttl_basic2.white:before {
  background-color: #fff; 
}

.ttl_basic2 span {
	font-size: 16px;
	font-weight: normal;
}

/*見出しバーサブ*/
h3.ttl_sub {
	display: flex;
  	align-items: center; /* 垂直中心 */
	font-family: 'M PLUS 1p', sans-serif;
	font-size: 26px;
	font-weight: bold;
	line-height: 52px;
	padding-left: 10px;
	margin-bottom: 30px;
}
h3.ttl_sub::after {
	border-top: 1px solid #3C78BC;
	content: "";
	flex-grow: 1;
}
h3.ttl_sub::after {
	margin-left: 1em;
}

/* =============================================================================
テーブル
========================================================================== */
/* ------------------------------
基本テーブル
------------------------------ */
.tbl_basic {
	border-collapse:collapse;
	margin-bottom: 40px;
}
table.tbl_basic th,
table.tbl_basic td {
	padding:1%;
	border-bottom: 1px solid #ccc;
	vertical-align: middle;
}
table.tbl_basic th {
	font-weight: bold;
	background-color: #f0f0f0;
}
table.tbl_basic td {
	background-color: #fff;
}

/*最後行 bdr-none*/
table.tbl_basic tr:last-child th,
table.tbl_basic tr:last-child td{
	border-bottom: none;
}

/* ------------------------------
テーブル四辺ボーダーあり
------------------------------ */
table.tbl_bdr{
	border-collapse:collapse;
}

table.tbl_bdr tr{
}

table.tbl_bdr th,
table.tbl_bdr td {
	background:none;
	border:1px solid #ccc;
	padding:6px;
}
table.tbl_bdr th {
	font-weight: normal;
	text-indent:0;
}
table.tbl_bdr td {
	text-indent:0;
}

/* ------------------------------
テーブル四辺ボーダーなし
------------------------------ */
table.tbl_bdr_none{
	border-collapse:collapse;
}

table.tbl_bdr_none tr{
}

table.tbl_bdr_none th,
table.tbl_bdr_none td {
	background:none;
	border:none;
	padding:6px;
}
table.tbl_bdr_none th {
	font-weight: normal;
}
table.tbl_bdr_none td {
}

/* =============================================================================
その他パーツ
========================================================================== */
/* ページイメージ
---------------------------------------------- */
.page_img {
	position: relative;
	height: 400px;
	margin-bottom: 20px;
	background-color:#f5f5f5;
}
.page_img .inner {
	width: 960px;
	margin-right: auto;
	margin-left: auto;
}

#company.page_img {
	width: 100%;
	background: url(../images/company/bg_company.png?ver1) center center;
	background-size: cover;
}
#wut.page_img,
#dp.page_img,
#sakkou.page_img {
	background: url(../images/wut/bg_graut.png?ver1) center center;
	background-size: cover;
}
#mfl.page_img {
	width: 100%;
	background: url(../images/mfl/bg_mfl.png?ver1) center center;
	background-size: cover;
}
#ouryoku.page_img {
	width: 100%;
	background: url(../images/ouryoku/bg_ouryoku.png?ver1) center center;
	background-size: cover;
}
#privacy.page_img {
	width: 100%;
	background: url(../images/company/bg_company.png?ver1) center center;
	background-size: cover;
}

.page_img h1.ttl_page{
	position: absolute;
	top: 180px;
	color: #fff;
	font-size: 46px;
	font-weight: bold;
	text-shadow: 0 0 5px #333;
}

/* ボタン
---------------------------------------------- */
.btn_basic {
	width: 45%;
	font-size: 20px;
	color: #fff;
    background-color: #3C78BC;
	padding: 25px;
	margin-right: 20px;
	margin-top: 20px;
}
.btn_basic:hover {
	opacity: .8;
}

/* パンくずエリア
---------------------------------------------- */
.breadcrumb {
    background-color: #fff;
    border-bottom: 1px solid #00499C;
    border-radius: 0;
}
.breadcrumb-item + .breadcrumb-item::before {
    content: ">";
}

/* ページ送り（ページネーション)
---------------------------------------------- */
.page-item.active .page-link {
    background-color: #00499C;
    border-color: #00499C;
}


/* お問い合わせ関連
---------------------------------------------- */
/*必須※マーク*/
.txtEssential {
	font-weight: bold;
	color: #FF0000;
}
.formBtnArea {
	text-align: center;
}
.formBtnArea input {
	padding: 3px;
}

/* ページ上へ jquery版
---------------------------------------------- */
/*
Back to top button
印刷時には非表示 @media not print
*/
@media not print{
#back-top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 20px;
  bottom: 0;
  background: #3fefee;
  opacity: 0.6;
  border-radius: 50%;
  }
#back-top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#back-top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f062';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
