@charset "utf-8";

/* 
1.リセットCSS
2.初期設定
3.ページの枠組み
4.ヘッダ
5.ナビゲーション
6.サイドバー
7.フッタ
*/


/* リセットCSS */
/* http://meyerweb.com/eric/tools/css/reset/ 
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, s
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
display: block;/* セクション要素を古いブラウザに対応させます */
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}

/* 初期設定
=========================================*/
body {
margin: 0px;
padding: 0px;
color: #000;
/*font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;*/
font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
font-size: 14px;
line-height: 1.7em;
letter-spacing: 0.1em;
background:#f5f5f5;
min-width: 700px;
-webkit-text-size-adjust: 100%;
}
a{
color: #000;
-webkit-transition: 0.4s;
transition: 0.4s;			
}
a:hover {
color: #083994;
text-decoration: underline;
}
a img:hover{
opacity: 0.5;
transition: 0.5s;	
}
figure{
text-align: center;
margin: 0;
}
figure figcaption{
font-size: 80%;
margin-top: -5px;
}
.fixed-header{
position:fixed;
top:0;left:0;
z-index:10000;
width: 100%;
}


/* ページの枠組み
=========================================*/
header {
width: 100%;
}
header .inner {
position: relative;
width: 100%;
height: 90px;
margin: 0 auto;
overflow: hidden;
background-color: #fff;
}
#top header .inner {
height: 470px;
background: url(../images/mv.jpg) no-repeat;/*背景画面100％表示にしています*/
}
#contents {
clear: both;
overflow: hidden;
padding-top: 40px;
}
#contents .inner {
width: 1000px;
margin: 0 auto;
}
main {
float: right;
width: 740px;
padding-bottom: 30px;
padding-right: 3px;
overflow: hidden;
}
#sub {
float: left;
width: 220px;
padding-left: 3px;
}
footer {
clear: both;
background: #083994;
color: #fff;
font-size: 90%;
margin-top:40px;
}
#copyright {
clear: both;
text-align: center;
background: #000;
}

/*ヘッダ
=========================================*/

/*ナビゲーション
=========================================*/
#header-box {
width: 100%;
height: 85px;
padding: 0;
background-color: #fff;
border-bottom: 3px solid #a0c1e2;
-webkit-box-shadow: 1px 1px 2px rgba(0,0,0,0.2);
box-shadow: 1px 1px 2px rgba(0,0,0,0.2);
position: fixed;
z-index: 999;
}
#header-box #inner {
width: 1000px;
margin: 0 auto;
padding-top: 20px;

overflow: hidden;
}

#logo-box{
float: left;
width: 278px;
background-color: #fff;
overflow: hidden;
vertical-align: middle;
position: relative;
}
/*ロゴ画像*/

/*ホールディングス*/
/*header #logo{
position:absolute;
left: 0; top: 0;
width: 45px;
}*/

#header-navi {
float: right;
width: 600px;
overflow: hidden;/*li float解除*/
margin: 0 auto;
}
#header-navi li{
float: left;
width:24.85%;
border-right: 1px solid #ddd;
}
#header-navi li:last-child {
border: none;
}
#header-navi li a{
display: block;
padding: 1em 1em 0.75em 1em;
text-align: center;
text-decoration: none;
color: #083994;
font-size: 16px;
font-weight: 800;
/*background: -webkit-linear-gradient(top, #fff 0%, #f0f0f0 100%);
background: linear-gradient(to bottom, #fff 0%, #f0f0f0 100%);*/
}
/*マウスオーバー、現在のページ*/
#header-navi li a:hover ,
#header-navi li.current a {
background: #e25f03;
opacity: 0.8;
color: #fff;
}
#header-navi a:hover span {
color: #fff;
}
/*背景画像上のメッセージ*/
#top #message {
position: absolute;
top: 50%;
left: 30%;
-webkit-transform: translate(-50%,-30%);
-ms-transform: translate(-50%,-30%);
transform: translate(-50%,-30%);
width: 210px;	
height: 210px;
padding: 40px;
color: #083994;
text-align: center;
font-size: 14px;
font-weight: 600;
letter-spacing: 0em;
background-color: #fff;
-webkit-backdrop-filter: blur(50px);
backdrop-filter: blur(50px);
border-radius: 50%;
border: 4px #083994 solid;
z-index:2;
box-shadow:0px 0px 0px 5px #fff;
}
#message span {
display: block;
font-size: 16px;
letter-spacing: 0em;
}


/*メインコンテンツ
-------------------------*/
main h2,
main h3 {
clear: both;
margin-bottom: 20px;
}
main h2 {
font-size: 110%;
color: #fff;
padding: 0.7em 1em;
background: #083994;
border: 3px double #ccc;
border-radius: 4px;
}
main h3 {	
padding: .25em 0 .5em .75em;
border-left: 6px solid #a0c1e2;
border-bottom: 1px solid #a0c1e2;
}
main p {
text-indent: 1em;
line-height: 1.9em;
padding: 0.5em 0 1em;	
}
main p + p {
padding-top: 0em;	
}
main h2 + p,
main h3 + p {
padding-top: 0px;
}
main table,
main ol,
main ul,
main figure{
margin-bottom: 20px;
}


/*紹介*/
#pickup{
clear: both;
overflow: hidden;
margin-bottom: 20px;
}
/*紹介3項目*/
.pickup {
width: 240px;
background: #fff;
border-radius: 5px;
box-shadow: 0 2px 5px #ccc;
float: left;
margin-right:10px;
}
.pickup:last-child {
margin-right: 0;
}
.pickup-img {
border-radius: 5px 5px 0 0;
max-width: 100%;
height: auto;
}
.pickup-content {
padding: 10px;
}
.pickup-title {
font-size: 14px;
margin-bottom: 10px;
text-align: center;
}
.pickup-text {
font-size: 14px;
line-height: 1.5;
}

/*workページ内　コンテンツ*/
#area img{
width:240px;
}

/*activityページ内　コンテンツ*/
#service figure,
#communication figure{
margin-right:20px;
float: left;
width: 360px;
}
#service figure + figure,
#communication figure + figure{
margin-right: 0px;
}
#voice img{
float: right;
width:150px;
height:150px;
border: #ccc 1px solid;
padding: 6px;
background-color: #fff;
}


/*aboutusページ内　コンテンツ*/

#map .iframe{
float:left;
}
#map h2 + .iframe{
margin-right: 40px;
}
table.info {
width: 100%;
border-collapse: collapse;
}
table.info th {
border-top: #e3e3e3 1px solid;
border-bottom: #e3e3e3 1px solid;
border-left: #e3e3e3 1px solid;
text-align: center;
vertical-align: middle;
background: #fff1d6;
font-weight: normal;
width: 20%;
}
table.info td {
border-top: #e3e3e3 1px solid;
border-bottom: #e3e3e3 1px solid;
border-right: #e3e3e3 1px solid;
text-align: left;
background: #fff;
padding: 10px;
width: 80%;
}

table.companyhistory {
width: 100%;
border-collapse: collapse;
}
table.companyhistory th {
border-top: #e3e3e3 1px solid;
border-bottom: #e3e3e3 1px solid;
border-left: #e3e3e3 1px solid;	
text-align: center;
vertical-align: middle;
background: #faf0e6;
font-weight: normal;
width: 20%;
}
table.companyhistory td {
border-top: #e3e3e3 1px solid;
border-bottom: #e3e3e3 1px solid;
border-right: #e3e3e3 1px solid;
text-align: left;
background: #fff;
padding: 10px;
width: 80%;
}

.b01 { 
margin: 10px 0 0 0;
border-radius: 5px;
background: #d6eff6;
padding: 15px;
}
.h01-1 {
position: relative;
padding: .75em 1em .75em 1.5em;
font-weight: bold;
}
.h01-1::after {
position: absolute;
top: .5em;
left: .5em;
content: '';
width: 4px;
height: -webkit-calc(100% - 1em);
height: calc(100% - 1em);
background-color: #43c2c9;
border-radius: 4px;
}

/*specialページ内　コンテンツ*/


/*サイドバー
=========================================*/
/*サイドバーh2共通スタイル*/
#sub h2 {
position: relative;
color: #083994;
margin-bottom: 10px;
padding-left: 2em;
font-size: 110%;
}

#sub h2::after {
position: absolute;
top: 0.2em;
left: .6em;
z-index: 2;
content: '';
width: 10px;
height: 10px;
border: 2px solid #083994;
border-radius: 100%
}
/*サイドバーul共通スタイル*/
#sub ul {
margin-bottom: 15px;
border-top: dashed 1px #e4e4e4;
position: relative;
}
#sub ul li {
border-bottom: dashed 1px #e4e4e4;
}
#sub ul li a {
text-decoration: none;
display: block;
padding: 2px 0;
}
/*ナビゲーション*/
#sub .sub-navi {
padding: 15px;
margin-bottom: 15px;
background: #fff;
border: 1px dashed #ccc;
box-shadow: 0 7px 10px -5px rgba(0, 0, 0, .1) inset;
border-radius: 4px;
}
/*採用情報*/
#recruit{
padding: 15px;
border: 3px solid #CA0000;
background: #fff;
margin-bottom: 15px;
}
#recruit h2{color: #CA0000;}
#recruit h2::after {border-color: #CA0000;}
/*補足記事*/
#sub aside {
padding: 15px;
border: 1px solid #ccc;
border-top: 3px solid #a0c1e2;
background: -webkit-linear-gradient(top, #fff 0%, #f0f0f0 100%);
background: linear-gradient(to bottom, #fff 0%, #f0f0f0 100%);
box-shadow: 0 -1px 0 rgba(255, 255, 255, 1) inset;
}
#sub aside a {
color: #083994;
}
#sub aside a:hover {
text-decoration:underline;
}


/*フッタ
-------------------------*/

footer a {
color: #fff;
text-decoration: none;
}
footer a:hover {
color: #fff;
text-decoration: underline;
}
#footer-inner {
width: 1000px;
margin: 0 auto;
overflow: hidden;
padding: 20px 0px;
}
#footer-inner ul {
float: left;
width: 230px;	
}
#footer-inner ul:first-child{
width: 120px;	
}
#footer-inner ul:last-child{
float: right;
width: 250px;
}

#copyright a {
text-decoration: none;
}

/*page-top
-------------------------*/
#page-top {
position: fixed;
bottom: 20px;
right: 20px;
font-size: 80%;
}
#page-top a {
display: block;
background-color: #a0c1e2;
color: #fff;
width: 100px;
padding: 25px 0;
text-align: center;
text-decoration: none;
border-radius: 10px;
}
#page-top a:hover {
background: #999;
text-decoration: none;
}


/*凡庸css
-------------------------*/
.red{color:#F00}

/* 蛍光ペン*/
.under {background: linear-gradient(transparent 50%, #a8eaff 50%);}

/* Align*/
.aR {text-align: right !important;}
.aC {text-align: center !important;}
.aL {text-align: left !important;}
.vT {vertical-align:top !important;}
.vM {vertical-align:middle !important;}
.vB {vertical-align:bottom !important;}

.mt0{margin-top: 0;}
.mt5{margin-top: 5px;}
.mt15{margin-top: 15px;}

.fl{float: left;}

.numberList01 li {padding-left: 2em; text-indent: -2em;}
/* 外部リンク*/
.externallink{position: relative; margin: 0px; padding-left: 10px;}
.externallink a{color: #083994; text-decoration: none;}
.externallink a:hover{text-decoration: underline;}
.externallink::after {
  position: absolute;
  top: 0.5em;
  left: .6em;
  z-index: 2;
  content: '';
  width: 10px;
  height: 10px;
  border-right: 1px solid #083994;
  border-bottom: 1px solid #083994;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/* PDFアイコン*/
.pdfIcon{margin: 0 3px 2px 3px; vertical-align: middle;}
:target:before {
   content:"";
   display:block;
   height:70px;/* ヘッダの高さ */
   margin:-70px 0 0;/* ヘッダの高さ */
}
p.s01 {
  position: relative;
  text-align: center;
}
p.s01 span {
  position: relative;
  z-index: 2;
  display: inline-block;
  margin: 0 2.5em;
  padding: 0 1em;
  background-color: #f5f5f5;
  text-align: left;
}
p.s01::before {
  position: absolute;
  top: 50%;
  z-index: 1;
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-color: #ccc;
}

/* ずれを直す */
:target:before {
   content:"";
   display:block;
   height:100px;/* ヘッダの高さ = 50px */
   margin:-100px 0 0;/* ヘッダの高さ = 50px */
}

