@charset "UTF-8";
/* ====================================================
　CSS 3@ Document 2016.02.16
==================================================== */
/* ######################################################################################

　基本設定

###################################################################################### */
@import url('https://fonts.googleapis.com/css?family=Playfair+Display');

/* ====================================================
  ベースフォントサイズ
==================================================== */

html{font-size:10px;}
@media screen and (min-width: 768px) {
html{font-size:10px;}
}
@media screen and (min-width: 992px) {
html{font-size:10px;}
}
@media screen and (min-width: 1200px) {
html{font-size:10px;}
}
body {
    color: #000000;
    font-family: 'Playfair Display',游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
    background: #ffffff;
}
body {font-size:1.6rem;}
@media screen and (min-width: 768px) {body {font-size:1.6rem;}}
@media screen and (min-width: 992px) {body {font-size:1.6rem;}}
@media screen and (min-width: 1200px) {body {font-size:1.6rem;}}


section,article,aside,div,span,p,ul,ol,li,dl,dt,dd,table,thead,tbody,tr,th,td {font-size:1.6rem;}

p {margin: 0 0 1em;}
p:last-of-type { margin-bottom: 0; }
a { color: #000000; text-decoration: none; }
.alignL { text-align: left !important; }
.alignC { text-align: center !important; }
.alignR { text-align: right !important; }

.m_t_30 { margin-top: 30px;}

.f_20 { font-size: 2.0rem}
.f_24 { font-size: 2.4rem;}

/* ######################################################################################

　枠設定

###################################################################################### */
/*ヘッダ*/
.header{
    width: 100%;
    position: absolute;
    top:0;
    left: 0;
    background: url(../img/header/sub_bg.jpg) no-repeat center bottom;
    height: 310px;
    z-index: 10001;
}
.header .fixMenu{position: fixed; width: 100%;}

.pageIndex .header,
.fixMenu{
    background: linear-gradient(180deg, #26211B 0%, #26211B 50px, #000000 50px, #000000 50px);
    max-height: 140px !important;
}

.header a,
.logo a { color: #ffffff; text-decoration: none;}
.logo {
    float: left;
    font-size: 2.0rem;
}

.fixMenu li {
    display: inline-block;
    vertical-align: middle;
    padding: 0 0.75em;
}
.fixMenu a,
.fixMenu .logo a {
    display: block;
    text-decoration: none;
    text-align: center;
    color: #ffffff;
}


@media print, screen and (min-width: 1120px) {
    .header .fixMenu .logo { display: none;}
    .header .gnav{padding-top: 15px; padding-bottom: 15px;}
    .header .gnav .h_logo{display:inline-block; float:left;}
    .header .gnav ul{float:right; margin-top: 8px;}
    .header .fixMenu .contents{
        max-width: 1230px;
        padding-left: 15px;
        padding-right: 15px;
    }
}


@media screen and (max-width: 1119px) {
    .header .fixMenu{
        background: #000000;
        height: 50px;
        padding: 0;
    }
    .header .logo {margin-top: 5px; padding: 10px;}
    .pageIndex .header { padding: 0 !important;} 
}


@media print{
    .header .fixMenu{position: relative;}
}


/*gnavSub*/
@media print, screen and (min-width: 1120px) {
    .header .gnavSub p,
    .header .gnavSub a{
        font-family: "游ゴシック Medium", "YuGothic Medium", "游ゴシック", YuGothic, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
        color: #D5CDC5;
    }
    .header .gnavSub{height: 50px; box-sizing: border-box;}
    .header .gnavSub p{padding-top: 13px; float:left; font-size:1.2rem;}
    
    .header .gnavSub ul{float:right; font-size: 0;}
    .header .gnavSub ul li{
    margin: 0;
    padding: 0;
    }
    .header .gnavSub ul li a{
    position: relative;
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
    margin: 0;
    padding: 1.25em 2.25em 1em;
    font-size: 1.3rem;
    min-height: 50px;
    height: 100%;
    }
    .header .gnavSub ul li a:before{
    content: "";
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.5em;
    width: 10px;
    height: 1px;
    background: #7B7066;
    }
}
@media screen and (max-width: 1119px) {
    .header .gnavSub{display: none;}
}




/*フッタ*/
.footer {
    background: url(../img/footer/bg.jpg) no-repeat bottom center;
    color: #ffffff;
    min-height: 420px;
}
.footer span,
.footer a { color: #ffffff; text-decoration: none;}
.footer span {color:#666666;}


.footer ul { width: 100%; padding-top: 70px; text-align: center;}
.footer li { display: inline-block; margin: 0 15px;}

.footer .add { text-align: center; margin-top: 70px;}
.footer .f_logo { max-width: 250px; height:auto; display: inline-block; margin: 0 20px; }
.footer .f_logo img { width: 100%; height: auto;}
.footer .address {
    text-align: left;
    display: inline-block;
    margin: 0 20px;
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Roboto Slab", Garamond, "Times New Roman",  serif;
}
.footer .copyright { margin-top: 50px; text-align: center;}

@media screen and (max-width: 767px) {
    .footer { min-height: inherit; padding-bottom: 20px;}
    .footer ul { padding-top: 0;}
    .footer li{
        display:block;
        margin: 0 0px;
        width: 49%;
        border-bottom: solid 1px #cccccc;
        text-align: left;
    }
    .footer li:nth-child(2n) {float:right;  margin-right:0.5%;}
    .footer li:nth-child(2n+1) {float:left; margin-left:0.5%;clear:both;}
    
    .footer li span,
    .footer li a {
        display: block;
        line-height:1;
        padding: 1em 0.5em;
        font-size: 1.4rem;
    }
    .footer li:nth-child(6) span,
    .footer li:nth-child(6) a {
        font-size:1.2rem;
        padding: 1.3em 0.5em;
     }
    .footer li span:before,
    .footer li a:before {
        content: "\f105";
        font-family: Fontawesome;
        color:#ffffff;
        margin-right: 8px;   
    }
    .footer li span,
    .footer li span:before {color:#999999;}
    

    .footer .add { margin-top: 15px;}
    .footer .f_logo { display: block; margin: auto;}
    .footer .add .address { display: block; font-size: 1.4rem; margin-top: 15px;}
    .footer .copyright { margin-top: 25px; font-size: 1.2rem;}
    .footer .f_logo img { margin-top: 10px;}
}


/* ######################################################################################

　コンテンツ

###################################################################################### */
.contents { max-width: 1000px; width: 100%; margin: auto;}
@media screen and (min-width: 768px) {
	.contents {}
	}

@media screen and (max-width: 767px) {
    .contents { padding: 0 15px;}
    .footer .contents { padding: 0;}
}

/* ######################################################################################

　グローバルナビゲーション

###################################################################################### */
.gnav {position: relative;}
.gnav li { color: #666666;}
.gnav li.nav06 {
    line-height: 1.2;
    margin-left: 1em;
    padding: 0!important;
}
.gnav li.nav06 a{
    display: block;
    line-height: 1.3;
    padding: 0.75em 1em;
border: solid 1px #FFF;
}
.gnav li.nav06 a:before {
    content: "\f054";
    font-family: Fontawesome;
    color: #ffffff;
    font-size: 0.8rem;
    margin-right: 5px;
}
.gnav li.nav06 a:hover{
    background: #fff;
    color: #000;
}
.gnav li.nav06 a:hover:before{
    color: #000;
}

.gnav li.nav08{display: none;}
.fixMenu li span,
.fixMenu li a {
  position: relative;
  display: inline-block;
  text-decoration: none;
    padding-bottom: 6px;
    margin-top: 10px;
	font-size:1.5rem;
	font-weight:bold;
}
.fixMenu li a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  background-color: #eeeeee;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}
.fixMenu li a:hover::after {
  -webkit-transform: scaleX(1);
  -ms-transform: scaleX(1);
  transform: scaleX(1);
}
.pageNews.term-staff-blog .fixMenu .gnavSub li:nth-of-type(1),
.pageNews.term-diary .fixMenu .gnavSub li:nth-of-type(2),
.pageNews.term-fascinate .fixMenu .gnavSub li:nth-of-type(3),
.fixMenu .gnavSub li.active,
.fixMenu .gnavSub li:hover {
  background-color:#45403b;
}
.fixMenu .gnavSub li a::after {
  display:none;
}
.fixMenu li.nav06 a::after { content: none;}
.fixMenu li.nav06 a { margin-top: 0 !important;}

.pageIndex .fixMenu li.nav01 a::after,
.pageOutline .fixMenu li.nav02 a::after,
.pageService .fixMenu li.nav03 a::after,
.pageWorks .fixMenu li.nav04 a::after,
.pageFaq .fixMenu li.nav05 a::after,
.pageRecruit .fixMenu li.nav07 a::after{
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  -webkit-transform: scaleX(1);
  -ms-transform: scaleX(1);
  transform: scaleX(1);
  background-color: #eeeeee;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}

@media screen and (max-width: 1119px) {
    .gnav { display: none;}
}


/* ######################################################################################

　スマホ用メニュー：meanMenu

###################################################################################### */
@media print, screen and (min-width: 1120px) {.meanMenu {display:none !important;}}
@media screen and (max-width: 1119px){
/* ====================================================
　3＠デフォルト
==================================================== */
.mean-container .mean-nav ul li span.mean-expand,
.mean-container .mean-nav ul li a.mean-expand {background:none !important; border:none !important;}
.mean-container .mean-bar {padding:0; min-height:0;}
.header {width:100%; height:0; background: #000000;}
.header,
.mean-container .mean-bar {/*position:fixed;*/ height:0;}
.mean-container .mean-nav ul li span,
.mean-container .mean-nav ul li a {
    display:block;
    -webkit-box-sizing:border-box;
       -moz-box-sizing:border-box;
        -ms-box-sizing:border-box;
         -o-box-sizing:border-box;
            box-sizing:border-box;
}
.mean-container .mean-nav ul li span:not(.mean-expand),
.mean-container .mean-nav ul li a:not(.mean-expand) {width:100% !important;}

/* 重なり順 DF
-------------------------------------*/
.header   {z-index: 10000;}
.mean-bar {z-index:9999;}

/* ＋・－　スタイル DF
-------------------------------------*/
.mean-container .mean-nav ul li a.mean-expand {
    -webkit-box-sizing:border-box;
       -moz-box-sizing:border-box;
        -ms-box-sizing:border-box;
         -o-box-sizing:border-box;
            box-sizing:border-box;
    padding: 0px !important;
}
.mean-container .mean-nav ul li span.mean-expand:before,
.mean-container .mean-nav ul li span.mean-expand:after,
.mean-container .mean-nav ul li a.mean-expand:before,
.mean-container .mean-nav ul li a.mean-expand:after {
    content:"";
    display:block;
    position:relative;
}
.mean-container .mean-nav ul li a.mean-expand:after {transform:rotate(90deg);}
.mean-container .mean-nav ul li a.mean-expand.mean-clicked:after {display:none;}

/* MENU・CLOSE　スタイル DF
-------------------------------------*/
.mean-container a.meanmenu-reveal em {
    display:block;
    position:absolute;
    width:100%;
    text-indent:0;
    text-align:center;
    font-weight:normal;
    font-style:normal;
    color:#000000;
    font-size:11px;
}

/* *********************************
　　　ここから設定：meanMenu
********************************* */
    .mean-container .mean-push{
        float: none;
    margin-top: 0!important;
    }

/* ====================================================
　ヘッダスタイル
==================================================== */
.header .contents {
    position:relative;
    background:#000000;
    height:50px;
}
.mean-container .mean-nav {margin-top:50px;} /* ヘッダ高さ　common.js で[meanNavPush]にヘッダの高さを設定 */

/* ====================================================
　≡ボタン
==================================================== */
.mean-container a.meanmenu-reveal {
	width: 50px;
	height: 50px;
	padding:13px 13px 11px 13px !important;
    background:#000000;
}

/* ====================================================
　≡スタイル
==================================================== */
.mean-container a.meanmenu-reveal span {
    position:relative;
    top:-5px;         /* ≡の位置調整 */
    width:100%;        /* ≡の長さ */
	background: #000; /* ≡の色 */
	height: 2px !important;      /* ≡の太さ */
	margin:3px auto !important;  /* ≡の間隔 */
}
.mean-container a.meanmenu-reveal em { text-align: center; left: 0;}
.mean-container .mean-bar {background: none !important;}
.mean-container a.meanmenu-reveal { width: 26px !important; height: 26px !important; top: -14px;}

/* ====================================================
　×スタイル
==================================================== */
.mean-container a.meanmenu-reveal.meanclose span:nth-of-type(1) {transform:rotate(45deg);}
.mean-container a.meanmenu-reveal.meanclose span:nth-of-type(2) {opacity:0;}
.mean-container a.meanmenu-reveal.meanclose span:nth-of-type(3) {transform:rotate(-45deg);}
.mean-container a.meanmenu-reveal.meanclose span {top: 14px !important; left: 14px !important;} /* 位置調整 */
.mean-container a.meanmenu-reveal.meanclose em { text-align: left; left:9px;}
    
/* ====================================================
　MENU・CLOSE　スタイル
==================================================== */
.mean-container a.meanmenu-reveal em {
    bottom:0;
    color:#ffffff;
    font-size:11px;
}

/* ====================================================
　メニュースタイル
==================================================== */
.mean-container .mean-nav {background:#fafafa; margin-top: 46px!important;}/* メニュー色 */
.mean-container .mean-nav ul li span,
.mean-container .mean-nav ul li a{
    border-top-color:#cccccc !important;      /* 区切り線上 */
    border-bottom-color:#cccccc !important;   /* 区切り線下 */
    padding:0.8em 55px 0.8em 10px !important; /* ボタン余白 */
    color:#333;                                 /* 文字色 */
}
.mean-container .mean-nav ul li span {color:#cccccc;}
.mean-container .mean-nav ul li.mean-last span,
.mean-container .mean-nav ul li.mean-last a {border-bottom: 1px solid #cccccc;}/* 下端の罫線 */

/* ====================================================
　＋・－　スタイル
==================================================== */
.mean-container .mean-nav ul li a.mean-expand {
    width: 50px;
    height: 46px;
    background:#eaeaea !important;
}
.mean-container .mean-nav ul li a.mean-expand:before,
.mean-container .mean-nav ul li a.mean-expand:after {
    background:#000;   /* ＋－の色 */
    width:30%;         /* ＋－の間隔 */
    height:3px;        /* ＋－の太さ */
    margin:5px auto;   /* ＋－の感覚 */
}
.mean-container .mean-nav ul li a.mean-expand:before {top:35%;} /* －の位置調整 */
.mean-container .mean-nav ul li a.mean-expand:after {top:17%;}  /* ｜の位置調整 */

}


/* ######################################################################################

　GoogleMap

###################################################################################### */
/*================================================
MAP
================================================*/
@media print, screen and (min-width: 768px) {
#Map.contents { width: 100%; max-width: 100% !important;}
}
@media screen and (max-width: 767px) {
    #Map.contents { width: 100%; max-width: 100% !important; padding-bottom: 15px;}
}
.g_maps {
    position: relative;
    height: 730px;
    overflow: hidden;
}
.g_maps iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}

/* ######################################################################################

　pagenation

###################################################################################### */
.pagenation ul{text-align: center;}
.pagenation li{
    display: inline-block;
    margin: 0 10px;
    vertical-align: middle;
}
.pagenation li a,
.pagenation li.page span{font-size: 16px;}
.pagenation li.page{position: relative; top: -3px;}
.pagenation li.page span,
.pagenation li.page a{font-size: 20px;}
.pagenation li a:hover{opacity: 0.6;}
.pagenation li.page span{opacity: 0.4;}

.pagenation li.current,
.pagenation li.last,
.pagenation li.first,
.pagenation li.disabled{display: none;}


.pagenation li.prev a:before,
.pagenation li.next a:after{
    display: inline-block;
    font-family: FontAwesome;
}
.pagenation li.prev a:before{content: "\f104"; margin-right: 0.5em;}
.pagenation li.next a:after{content: "\f105"; margin-left: 0.5em;}




/* ######################################################################################

　エラーページ

###################################################################################### */
.pageError{}
.pageError .contents.error {
    padding-top: 160px;
}
.pageError.error404 .titleBox{position: relative;}
.pageError.error404 .paper{margin-top: -235px;}
.pageError .contents.error h1 {
    font-size: 3.0rem;
}






/* ######################################################################################

　パンくず　※新着情報ページのみ

###################################################################################### */
@media print, screen and (min-width: 1120px) {
.topicsPatch.paper {
    background: url("../img/contents/bgC.png") no-repeat center;
    margin-top:310px;
}
    .topicsPatch .contents{max-width: 1230px; padding-left: 15px; padding-right: 15px;}
    .topicsPatch ul{
    padding-top:7px;
    padding-bottom:9px;
    }
.topicsPatch ul li{
    display: inline-block;
	margin-right:8px;
	font-size:1.2rem;
    line-height: 1.75;
	}
.topicsPatch ul li a{
	border-bottom:solid 1px #707070;
	}
.topicsPatch ul li a:hover{
	border-bottom:none;
	}

.topicsPatch ul li:after {
    content: "\f054";
	margin-left:8px;
    font-size: 0.8rem;
    font-family: Fontawesome;
    color: #000000;
    margin-right: px;
}
.topicsPatch ul li:last-child:after {
    display:none;
}
.topicsPatch ul li.homeIcn:before {
    content: "";
	display:inline-block;
	background:url(../img/ico_home.png) no-repeat center;
	width:1em;
	height:1em;
	padding-right: 25px;
	vertical-align:sub;
}
}
@media screen and (max-width: 1119px) {
	.topicsPatch {display:none;}
}





















/* end */
