@charset "utf-8";

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
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, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

body{
font:80%/1.5 "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
color:#252525;
-webkit-text-size-adjust: none;
background:#fff;
}
html *{
  box-sizing: border-box;
}

/* リンク設定
------------------------------------------------------------*/
a{
margin:0;
padding:0;
text-decoration:none;
outline:0;
vertical-align:baseline;
background:transparent;
font-size:100%;
color:#777;
}

a:hover, a:active{
-webkit-transition:opacity 1s;-moz-transition:opacity 1s;-o-transition:opacity 1s;
outline: none;
color:#222;
}


/**** Clearfix ****/
nav .panel:after, #mainNav:after, .newsTitle:after, .bg:after,.post:after,#footer:after{content:""; display: table;clear: both;}
nav .panel,#mainNav,.newsTitle,.bg, .post,#footer{zoom: 1;}


/* flex設定
------------------------------------------------------------*/
.flex_wrap{
  display: flex;
  justify-content: space-between;
}


/* フォーム
------------------------------------------------------------*/
input[type="text"], input[type="email"],textarea{
vertical-align:middle;
max-width:90%;
line-height:30px;
height:30px;
padding:1px 5px;
border:1px solid #d4d4d7;
border-radius:3px;
-webkit-border-radius:3px;
-moz-border-radius:3px;
font-size:100%;
color:#555;
background:#fcfcfc;
}

textarea{
height:auto;
line-height:1.5;
}

input[type="submit"],input[type="reset"],input[type="button"]{
padding:3px 10px;
background:#3a4464;
border:0;
border-radius:3px;
-webkit-border-radius:3px;
-moz-border-radius:3px;
line-height:1.5;
font-size:120%;
color:#fff;
}

input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover{
background:#101010;
cursor:pointer;
}

*:first-child+html input[type="submit"]{padding:3px;}


/* レイアウト
------------------------------------------------------------*/
#wrapper, .inner{
margin:0 auto;
width:960px;
}

#header{
overflow:hidden;
}

#content{
width:100%;
padding:30px 0;
}

#sidebar{
width:225px;
padding:30px 0;
}

#footer{
padding-top:20px;
padding-bottom: 20px;
border-top:1px solid #e2e2e2;
background:#f1f1f1;
}

.gradient_line{
  height: 20px;
  background-image: linear-gradient(0deg, rgba(12, 177, 240, 1), rgba(126, 215, 247, 1));
}
#copyright.gradient_line{
  height: 20px;
  background-image: linear-gradient(0deg, rgba(12, 177, 240, 1), rgba(126, 215, 247, 1));
}
#header .bg.gradient_line{
  height: 20px;
  background-image: linear-gradient(0deg, rgba(12, 177, 240, 1), rgba(126, 215, 247, 1));
}
/* ヘッダー
*****************************************************/
#header .bg{background:#101010;}


/* サイト説明文 + 住所
----------------------------------*/
#header h1,#header p{
float:left;
padding:3px 0;
color: #fff;
font-size:90%;
font-weight:normal;
}

#header p{
float:right;
}


/* ロゴ (サイトタイトル)
----------------------------------*/
#header h2{
color: #515151;
font-size:160%;
font-weight:bold;
}
#header h2 a{
  display: block;
  font-size: 0;
}

/* サブナビゲーション
----------------------------------*/
#header ul{
}

#header ul li{
display:inline;
margin-left:10px;
}

#header ul li a{
padding: 40px 20px;
color:#004f9e;
background:url(img/arrowSub.png) no-repeat;
background-color: transparent;
background-position: left 50%;
}

#header ul li a:hover{
  text-decoration: underline;
}
#header #mainNav .flex_wrap{
  align-items: center;
}
@media only screen and (max-width:1024px){
  #header #mainNav .flex_wrap{
    padding: 0;
    flex-direction: column;
  }
  #header #mainNav .flex_wrap .panel{
    background-color: #bfebfb;
  }
  #header #mainNav a.menu{
    color: #fff;
    font-weight: bold;
    background-color: #004f9e;
  }
  #header #mainNav  ul li{
    border-bottom: 1px dashed #004f9e;
  }
  #header #mainNav  ul li a{
    color: #004f9e;
    font-weight: bold;
  }
}


/* トップページ　メイン画像
----------------------------------*/
#mainImg{
line-height:0;
text-align:center;
z-index:0;
}
#mainImg img{
  width: 100%;
}

.postWrap{
margin:0 0 20px 0;
padding:3px;
border:1px solid #e2e2e2;
background:url(img/tp.png);
}

.post{
padding:10px;
border:1px solid #f1f1f1;
background: #fff;
}

article.archive span{padding-left:10px;}

/* スライド関係
----------------------------------*/
#mainImg .sp_slide{
  display: none;
}
.sliderArea {
  max-width: 100%;
  margin: 0 auto;
}
.sliderArea.w300 {
}
.slick-slide {
}
.slick-slide img {
  width: 100%;
  height: auto;
}
.slick-prev, .slick-next {
  z-index: 1;
}
.slick-prev:before, .slick-next:before {
  color: #000;
}
.slick-slide {
  transition: all ease-in-out .3s;
  opacity: .2;
}
.slick-active {
  opacity: 1;
}
.slick-current {
  opacity: 1;
}
.thumb {
  margin: 20px 0 0;
}
.thumb .slick-slide {
  cursor: pointer;
}
.thumb .slick-slide:hover {
  opacity: .7;
}
.full-screen .slick-list {
  overflow: visible;
}
.full-screen.slider {
  max-width: 2000px;
  margin: 0 auto;
  overflow: hidden;
}
.slick-dots{
  bottom: 0px;
  background-color: rgba(255,255,255,.6);
}
.slick-prev,
.slick-next{
  width: 25px;
  height: 50px;
  background-color: #004f9e;
}
.slick-prev{
  left: 0px;
}
.slick-next{
  right: 0px;
}
.slick-prev:hover,
.slick-next:hover{
  background-color: rgba(0,79,158,.6);
}
.slick-prev:focus,
.slick-next:focus{
  background-color: #004f9e;
}
.slick-prev::before,
.slick-next::before{
  opacity: 1;
  color: #fff;
  font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
}
.slick-prev::before{
  font: normal normal normal 14px/1 FontAwesome;
  content: "\f053";
}

.slick-next::before{
  font: normal normal normal 14px/1 FontAwesome;
  content: "\f054";
}
/* 幅644px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 644px){
  #mainImg .sp_slide{
    display: block;
  }
  #mainImg .pc_slide{
    display: none;
  }
}




/* タイポグラフィ
*****************************************************/
h2.title{
margin:30px 0 5px;
padding:5px 0;
font-size:130%;
background:url(img/border.png) repeat-x 0 100%;
}

h2.first{margin-top:0;}

.dateLabel{
margin:0 0 10px;
text-align:right;
font:italic 1em "Palatino Linotype", "Book Antiqua", Palatino, serif;
}

.post p{padding-bottom:15px;}

.post ul{margin: 0 0 10px 10px;}

.post ul li{
margin:5px 0 0 15px;
list-style:disc;
}

.post ol{margin: 0 0 10px 30px;}

.post ol li{list-style:decimal;}

.post h1, .post h2, .post h3, .post h4{clear:both;}

.post h1{
margin:20px 0;
padding:5px 10px;
font-size:150%;
color: #fff;
border-radius:4px;
background:#3a4464;
box-shadow:0 0 3px rgba(0,0,0,0.2); 
}

.post h2{
margin:10px 0;
padding:3px 5px;
font-size:130%;
font-weight:normal;
color: #3f0000;
border-left:5px solid #3f0000;
}

.post h3{
margin:10px 0;
font-size:120%;
font-weight:normal;
color:#3a4464;
border-bottom:1px solid #3a4464;
}

.post blockquote {
clear:both;
padding:10px 0 10px 15px;
margin:10px 0 25px 30px;
border-left:5px solid #ccc;
}
 
.post blockquote p{padding:5px 0;}

.post table{
border: 1px #3a4464 solid;
border-collapse: collapse;
border-spacing: 0;
margin:10px 0 20px;
}

.post table th{
padding:7px 10px 7px 5px;
border: #3a4464 solid;
border-width: 0 0 1px 1px;
font-weight:bold;
color:#fff;
background:#3a4464;
}

.post table td{
padding:7px 5px;
border: 1px #3a4464 solid;
border-width: 0 0 1px 1px;
background:#fff;
}

.post dt{font-weight:bold;}

.post dd{padding-bottom:10px;}

.post img{max-width:100%;height:auto;}

img.aligncenter {
display: block;
margin:5px auto;
}

img.alignright, img.alignleft{
padding:4px;
margin:0 0 2px 7px;
display:inline;
}

img.alignleft{margin: 0 7px 2px 0;}

.alignright{float:right;}
.alignleft{float: left;}



/* フッター
*****************************************************/
#footerWrapper{
width:990px;
margin-right:-30px;
}

#footer aside{
float:left;
width:300px;
margin-right:30px;
}
#footerWrapper .foot_logo a{
  display: block;
  font-size: 0;
}
#copyright{
clear:both;
padding:5px;
text-align:center;
font-size:90%;
zoom:1;
color:#fff;
background:#101010;
}
#copyright > img{
  display: none;
}
#footerWrapper .foot_addr{
  margin: 0 0 0 10px;
}
#footerWrapper .footnav a{
  display: block;
  margin: 0 2px 0;
  text-decoration: underline;
}
@media only screen and (max-width:959px){
  #footerWrapper .flex_wrap{
    flex-direction: column;
  }
  #footerWrapper .foot_logo{
    text-align: center;
  }
  #footerWrapper .flex_wrap.flex_right.footnav{
    flex-direction: row;
  }
}

/* page navigation
------------------------------------------------------------*/
.pagenav{
clear:both;
width: 100%;
height: 30px;
margin: 5px 0 20px;
}

.prev{float:left}

.next{float:right;}

#pageLinks{
clear:both;
text-align:center;
}

/* 中ページタイトル
------------------------------------------------------------*/
#inside_title{
  background-color: #004f9e;
}
#inside_title h2{
  max-width: 960px;
  width: 100%;
  margin: 0 auto;
  padding: 40px 0;
  color: #fff;
  font-size: 30px;
  font-weight: bold;
  line-height: 100%;
  text-shadow: 5px 5px #558abb;
}
#content.inseide_page h2{
  margin: 0 0 10px 0;
  padding: 0 0 5px;
  border-bottom: 1px solid #ccc;
  color: #004f9e;
  font-size: 24px;
  font-weight: bold;
  line-height: 100%;
  background: none;
}
@media only screen and (max-width:959px){
  #inside_title h2{
    padding: 40px 10px;
  }
}

/* トップページ 事業紹介
------------------------------------------------------------*/
#top_service{
  margin-bottom: 50px;
}
#top_service h2{
  margin: 0 0 10px 0;
  padding: 0 0 5px;
  border-bottom: 1px solid #ccc;
  color: #004f9e;
  font-size: 24px;
  font-weight: bold;
  line-height: 100%;
  background: none;
}
#top_service h2 + p{
  margin: 0 0 20px 10px;
  font-size: 16px;
}
#top_service .flex_wrap{
  justify-content: flex-start;
  margin-bottom: 40px;
}
#top_service .flex_wrap .flex_left{
  max-width: 300px;
  margin: 0 auto;
  font-size: 0;
}
#top_service .flex_wrap .flex_left img{
  width: 100%;
}
#top_service .flex_wrap .flex_right{
  width: 100%;
  margin: 0 0 0 20px;
  border: 1px solid #f0f0f0;
}
#top_service .flex_wrap .flex_right .service_title{
  padding: 10px;
  background-color: #bfebfb;
}
#top_service .flex_wrap .flex_right h3{
  padding: 3px 0 3px 15px;
  border-left: 5px solid #004f9e;
  font-size: 20px;
  font-weight: bold;
  line-height: 100%;
}
#top_service .flex_wrap .flex_right p{
  padding: 10px;
  font-size: 16px;
}
#top_service .flex_wrap .flex_right a{
  display: block;
  width: 260px;
  margin: 30px auto 0;
  padding: 10px;
  border-radius: 6px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  line-height: 100%;
  text-decoration: underline;
  background-color: #004f9e;
}
#top_service .flex_wrap .flex_right a:hover{
  text-decoration: none;
}
@media only screen and (max-width:959px){
  #top_service .flex_wrap{
    flex-direction: column;
  }
  #top_service .flex_wrap .flex_left{
    max-width: 600px;
    text-align: center;
  }
  #top_service .flex_wrap .flex_right{
    height: auto;
    margin: 0 0 35px;
  }
  #top_service .flex_wrap .flex_right a{
    margin: 20px auto 0;
  }
}

/* トップページ お知らせ
------------------------------------------------------------*/
#top_news h2{
  margin: 0 0 10px 0;
  padding: 0 0 5px;
  border-bottom: 1px solid #ccc;
  color: #004f9e;
  font-size: 24px;
  font-weight: bold;
  line-height: 100%;
  background: none;
}
#top_news .news_wrap ol{
  padding: 15px 25px;
  background-color: #f1f1f1;
}
#top_news .news_wrap ol li{
  padding: 15px 0 15px 14px;
  border-bottom: 1px dashed #333;
  font-size: 14px;
}
#top_news .news_wrap ol li:nth-last-of-type(1){
  border-bottom: none;
}
#top_news .news_wrap ol li i{
  padding: 0 5px 0 0;
  font-size: 6px;
}

/* 会社概要
------------------------------------------------------------*/
#ideology,
#about,
#history{
  margin: 0 0 50px;
}
#ideology .rinen_main{
  padding: 30px 15px 0;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  background-color: #c7f0ff;
}
#ideology .rinen_sub{
  padding: 0 15px 30px;
  font-size: 16px;
  text-align: center;
  background-color: #c7f0ff;
}
#about table{
  width: 100%;
  border: 2px solid #ddd;
  font-size: 14px;
  border-collapse: collapse;
}
#about td{
  padding: 5px 8px;
  border: 1px solid #ddd;
}
#about td:nth-of-type(1){
  width: 24%;
}
#history{
  font-size: 14px;
}
#history dl{
  margin: 0 0 15px;
}
#history dt{
  padding: 5px;
  font-weight: bold;
  background-color: #f1f1f1;
}
#history dd{
  padding: 5px;
}

/* 事業紹介
------------------------------------------------------------*/
#service{
  margin-bottom: 30px;
}
#service .service_nav{
  width: 100%;
}
#service p{
  margin: 0 0 10px;
  font-size: 18px;
}
#service .service_nav > div{
  width: 30%;
  padding: 10px;
}
#service .service_nav > div img{
  max-width: 600px;
  width: 100%;
}
#service .service_nav > div a{
  display: block;
}
#service .service_nav > div a.service_btn{
  display: block;
  width: 100%;
  margin: 0 auto 0;
  padding: 10px;
  border-radius: 6px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  line-height: 100%;
  text-decoration: underline;
  background-color: #004f9e;
}
.service_right{
  max-width: 300px;
  width: 100%;
}
.service_right span{
  display: block;
  font-size: 14px;
  text-align: center;
}
.service_right img{
  width: 100%;
  font-size: 0;
}
.service_left{
  width: 100%;
  margin: 0 20px 0 0;
}
.service_content{
  margin: 0 0 50px;
}
.service_content h3{
  margin: 0 0 10px 0;
  padding: 0 0 5px;
  border-bottom: 1px solid #ccc;
  color: #004f9e;
  font-size: 24px;
  font-weight: bold;
  line-height: 100%;
  background: none;
}
.service_content .service_txt1{
  padding: 8px 0 5px 10px;
  border-bottom: 5px solid #004f9e;
  font-size: 20px;
  font-weight: bold;
  line-height: 100%;
  background-color: #bfebfb;
}
.service_content .service_list{
  margin: 10px 0 0;
  padding: 10px;
  border-radius: 6px;
  background-color: #f7f7f7;
}
.service_content .service_txt2{
  margin: 10px 0 0;
  font-size: 16px;
}
.service_content .service_list ol{
  margin: 0 0 0 16px;
}
.service_content .service_list li{
  list-style-type: disc;
}
.service_content .service_flow{
  margin: 15px 0 0;
}
.service_content .service_flow_title{
  margin: 0 0 10px;
  padding: 0 5px;
  border-bottom: 1px dashed #004f9e;
  font-size: 18px;
  font-weight: bold;
}
.service_content .work_flow{
  padding: 5px 10px;
  border-radius: 10px;
  background-color: #e5f8ff;
}
.service_content .flow_arrow{
  font-size: 0;
  text-align: center;
}
.service_content .flow_arrow i{
  margin: -5px 0 -15px;
  color: #004f9e;
  font-size: 40px;
}

/* フォーム
------------------------------------------------------------*/
.teQAzf{
  width: 960px;
}
.DE3NNc{
  justify-content: center;
  flex-direction: column;
}

/* 幅959px以下から
------------------------------------------------------------*/
@media only screen and (max-width:959px){
  .service_content .flex_wrap{
    flex-direction: column;
  }
  .service_right{
    max-width: 600px;
    margin: 20px auto 0;
  }
  .service_left{
    margin: 0;
  }
}
/* 幅644px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 644px){
  #service .service_nav{
    flex-direction: column;
  }
  #service .service_nav > div{
    width: 100%;
    padding: 0;
  }
  #service .service_nav > div:nth-of-type(2){
    padding: 10px 0;
  }
}


/* メインメニュー　PC用
------------------------------------------------------------*/
@media only screen and (min-width: 1025px){
nav div.panel{
display:block !important;
}

a#menu{display:none;}
	
#mainNav{
position:relative;
z-index:200;
}

#mainNav li{
position: relative;
}

#mainNav li a{
display: block;
text-align: center;
color:#fff;
line-height:100%;
}

#mainNav li a span,#mainNav li a strong{
display:block;
font-size:90%;
line-height:1.4;
}

#mainNav li a span{
font-size:70%;
}

#mainNav li.current-menu-item, #mainNav li:hover, #mainNav li.current-menu-parent{
}

#mainNav ul ul{width:160px;}

#mainNav ul ul{display: none;}

#mainNav li:hover ul{
display: block;
position: absolute;
top:60px;
left:0;
z-index:500;
}

#mainNav li li{
padding:0 0 0 10px;
margin:0;
float: none;
height:40px;
line-height:40px;
width:160px;
border:0;
background:#3a4464 url(img/mainnavBg.png) repeat-x;
}

#mainNav li li:first-child{border-left:0;}

#mainNav li li a{
width:100%;
height:40px;
padding:0 0 0 ;
line-height:40px;
font-size:95%;
text-align:left;
}

#mainNav li li.current-menu-item a{font-weight:bold;}

#mainNav li li:hover{background:#3a4464 url(img/mainnavBg.png) repeat-x 0 100%;}

#mainNav li:hover li:last-child{border:0;}
}


/* メインメニュー iPadサイズ以下から
------------------------------------------------------------*/
@media only screen and (max-width:1024px){
#mainNav .inner{width:100%;}
	
#mainNav{
clear:both;
width:100%;
margin:0 auto;
padding:0;
}

#mainNav a.menu{
width:100%;
display:block;
height:35px;
line-height:35px;
text-align:left;
color:#004f9e;
background:url(img/menuOpen.png) no-repeat 5px 7px;
}

#mainNav a#menu span{padding-left:35px;}

#mainNav a#menu:hover{cursor:pointer;}

nav .panel{
display: none;
width:100%;
position: relative;
right:0;
top:0;
z-index:1;
}

#mainNav ul{margin:0 0 20px;padding:0;}

#mainNav ul li{
float: none;
clear:both;
width:100%;
height:auto;
line-height:1.2;
}

#mainNav ul li a,#mainNav ul li.current-menu-item li a{
display: block;
padding:15px;
text-align:left;
color:#fff;
}

#mainNav ul li a span{display:none;}
 
#mainNav ul li a:hover,#mainNav ul li.current-menu-item > a,#mainNav ul li a:active, #mainNav ul li li.current-menu-item a, #mainNav ul li.current-menu-item li a:hover, #mainNav ul li.current-menu-item li a:active{
background:#101010;
}

#mainNav ul li li{
float:left;
border:0;
}

#mainNav ul li li a, #mainNav ul li.current-menu-item li a, #mainNav ul li li.current-menu-item a{
padding-left:30px;
font-size:90%;
}

#mainNav ul li li a, #mainNav ul li.current-menu-item li a, #mainNav ul li li.current-menu-item a{
padding-left:40px;
background:url(img/sub1.png) no-repeat 20px 18px;
}

#mainNav ul li li.current-menu-item a,#mainNav ul li li a:hover, #mainNav ul li.current-menu-item li a:hover{
background:#101010 url(img/sub1.png) no-repeat 20px -62px;
}
	
#mainNav ul li li:last-child a{background:url(img/subLast.png) no-repeat 20px 20px;}
#mainNav ul li li:last-child.current-menu-item a,#mainNav ul li li:last-child a:hover,#mainNav ul li.current-menu-item li:last-child a:hover{background:#101010 url(img/subLast.png) no-repeat 20px -65px;}

nav div.panel{float:none;}

#mainImg{background:none;}

#header ul li a,#header ul li a:hover{background-position:0 50%;}

#wrapper, #header, .inner{width:100%;}

#header h1, #header p{padding:5px 10px;}
#header h2{padding:20px 10px;}
#header ul{padding:20px 10px 10px;}


#mainNav ul, .thumbWrap{margin:0 auto;}
#mainNav ul ul{padding:0;}

nav div.panel{float:none;}

#mainImg img{width:100%;height:auto;}

#content, #sidebar{
clear:both;
width:100%;
float:none;
margin:0 auto;
padding:20px 0 10px;
}

#banners{width:100%;margin:0 auto;text-align:center;}
#banners p{display:inline;margin:0 1% 0 0;}
#banners p img{width:31%;height:auto;}

.thumbWrap{width:100%;margin:10px auto 0;text-align:center;}
.thumbWrap ul.thumb li{width:30%; float:left;margin:0 1% 0 2%;}
.thumbWrap img{width:100%;height:auto;}

#footerWrapper{width:95%;margin:0 auto;}

#footer aside{float:none;width:100%;}

#calendar_wrap table{margin:0 auto;width:300px;}

}
/* 幅959px以下から 調節
------------------------------------------------------------*/
@media only screen and (max-width:959px){
  #wrapper #content{
    width: 95%;
    margin-left: auto;
    margin-right: auto;
  }
}
/* 幅644px以下から ヘッダー等微調節
------------------------------------------------------------*/
@media only screen and (max-width: 644px){
#header{text-align:center;}
#header h2,#header h1,#header p,#header ul{float:none;}
#headerInfo{width:250px;margin:0 auto;}
#footer ul{text-align:left;padding:15px;}
#footer ul ul{padding:0;}
}

/* 幅330px以下から ヘッダー等微調節
------------------------------------------------------------*/
@media only screen and (max-width: 330px){
#calendar_wrap table{width:100%;}
#banners p img{width:31%;height:auto;}
}