@charset "utf-8";

/*Google Fonts: Noto Sans Japanese: Regular 400*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap');

/*みんなのフォント*/
/*
@font-face {
  font-family: minmoji;
  src: url('https://minmoji.ucda.jp/fontseot/https%3A__www.f-com.co.jp_');
  src: local('minmoji'), url('https://minmoji.ucda.jp/fontswoff/https%3A__www.f-com.co.jp_') format('woff'), url('https://minmoji.ucda.jp/fonts/https%3A__www.f-com.co.jp_') format('opentype');
}
*/

/*Google Fonts: Noto Sans Japanese: Regular 400*/
/*みんなのフォント*/
body{
	font-family: /*minmoji,*/ 'Noto Sans JP', sans-serif, Roboto, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
}

/* ---------------------------------------------------------------------------------------- 
	ヘッダー
---------------------------------------------------------------------------------------- */

/* -------------------------------------
 * 写真背景ヘッダー（フリーパーツ）
 * ---------------------------------- */
#header .container_fluid .bg_header_image {
	position:relative;
	text-align:center;
	width: 100%;
	background: none;
}
#header .container_fluid .bg_header_image img {
	width: 100%;
}
#header .container_fluid div.bg_header_content {
	position:absolute;
	bottom: 10%;
	width:100%;
	padding: 30px auto;
	text-align:center;
	background-color: rgba(0,0,0,0.7);
}
#header .container_fluid div.bg_header_content h1 {

	clear: both;
	width: 100%;
	max-width: 1140px;
	margin: 0 auto;
	padding: 15px;

	text-align: right;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-size:35px;
	color: #fff; }
  
	#header .container_fluid div.bg_header_content h1::after {
		background: none;
		height: 0;
		margin: 0;
		padding: 0;
	}

/* D. デスクトップ */
@media (max-width: 1199px) {
	/* -------------------------------------
	 * ヘッダーロゴ・説明
	 * ---------------------------------- */
	#header #logo, #header #siteDesc {
		margin-left: 15px;
	}
}

/* S. スマートフォン */
@media (max-width: 767px) {
	
	/* -------------------------------------
	 * ヘッダーロゴ・説明
	 * ---------------------------------- */
	#header #logo, #header #siteDesc {
		margin-left: 5%;
		margin-right: 5%;
	}

	/* -------------------------------------
	 * 写真背景ヘッダー（フリーパーツ）
	 * ---------------------------------- */
	#header .container_fluid div.bg_header_content{
		top:auto;
		position:relative;
		background: #fff;
	}
	#header .container_fluid div.bg_header_content h1 {
		font-size: 25px;
		margin: 0;
		padding: 3%;
		text-align: center;
		color: #000;
	}
}

/* ---------------------------------------------------------------------------------------- 
	ナビゲーション
---------------------------------------------------------------------------------------- */
.collapse.navbar-collapse {
	width: 100%;
	margin: 0;
}

#header nav{
	border: none;
	font-weight:normal;
	margin: 0;
}

#header nav ul {
	margin-top: 10px;
	margin-bottom: 10px;
}
#header nav ul li {
	border-left: 1px dotted #cecece;}

	#header nav ul li:first-child {
		border-left: 1px solid #cecece;
	}
	#header nav ul li:last-child {
		border-right: 1px solid #cecece;
	}
#header nav ul li a {
    display: block;
    font-size: 15px;
    font-weight: normal;
    margin: 0 24px;
    padding: 5px 0 5px;
    position: relative;
    z-index: 99;

	border-bottom: 3px solid transparent;
	white-space: nowrap;
}

/* S. スマートフォン */
@media (max-width: 767px) {
	#header nav ul li a {
    	padding: 12px 0 12px;
	}
}


/* -------------------------------------
 * メニュー
 * ---------------------------------- */
#upper .naviBox .box,
#bottom .naviBox .box,
#opt .naviBox .box {
	float: left;
	padding:15px 0 0 !important;
}
#upper .naviBox ul,
#bottom .naviBox ul{
	box-sizing: border-box;
	float: left;
	display: block;
	padding: 0 0 30px !important;
	list-style-type: none;
}
#upper .naviBox .boxBottom > ul > li,
#bottom .naviBox .boxBottom > ul > li{
	box-sizing: border-box;
	float: left;
	width: auto;
	padding: 0 30px 15px 0;
}
#upper .naviBox .boxBottom > ul > li a,
#bottom .naviBox .boxBottom > ul > li a,
#opt .naviBox .boxBottom > ul > li a{
	box-sizing: border-box;
	display: list-item;
	padding: 0 0 15px 0;

	font-size: 135.7%;
	color: #454545;
	line-height: 1em;
	list-style: url(../images/common/side_navi.png) disc inside;
	}
	#upper .naviBox .boxBottom > ul > li a:hover,
	#bottom .naviBox .boxBottom > ul > li a:hover,
	#opt .naviBox .boxBottom > ul > li a:hover{
		text-decoration: none;
	}
	#upper .naviBox .boxBottom > ul > li a.menu-selected,
	#bottom .naviBox .boxBottom > ul > li a.menu-selected,
	#opt .naviBox .boxBottom > ul > li a.menu-selected{
		text-decoration: none;
	}

#opt .naviBox ul{
	clear: left;
	display: inline;
	padding:0px !important;
	list-style-type: none;
}
#opt .naviBox .boxBottom > ul > li{
	clear: left;
	width: 100%;
	padding: 0 0 15px 0;
}
#opt .naviBox .boxBottom > ul > li:last-child{
	border-bottom:0px;
}
#opt .naviBox .boxBottom > ul > li a{
	padding: 0 0 15px 0;
}
#opt .naviBox .boxBottom > ul > li > ul li{
	padding: 15px 0 0 15px;
}
#opt .naviBox .boxBottom > ul > li > ul li a{
	box-sizing: border-box;
	display: list-item;

	font-size: 107%;
	color: #454545;
	line-height: 1em;
	list-style: url(../images/common/slink_c.png) disc inside;
	}
	#opt .naviBox .boxBottom > ul > li > ul li a:hover{
		text-decoration: none;
	}


/* 画像メニュー */
#upper .naviBox .boxBottom > ul > li a.imgNavi,
#bottom .naviBox .boxBottom > ul > li a.imgNavi,
#opt .naviBox .boxBottom > ul > li a.imgNavi{
	list-style: none;
	margin: 0;
	padding: 0;
}
#opt .naviBox .boxBottom > ul > li > ul > li a.imgNavi{
	list-style: none;
	margin: -15px 0 0 -15px;
	padding: 0;
}
#opt .naviBox .boxBottom > ul > li > ul > li > ul > li a.imgNavi {
	list-style: none;
	margin: -15px 0 0 -30px;
	padding: 0;
}



/* T. タブレット */
@media (max-width: 991px) {
	#upper .naviBox .boxBottom > ul > li,
	#bottom .naviBox .boxBottom > ul > li{
		width: 33.3333%;
	}
	#opt .naviBox .boxBottom > ul > li{
		width: 100%;
	}
}
/* S. スマートフォン */
@media (max-width: 767px) {
	#upper .naviBox .boxBottom > ul > li,
	#bottom .naviBox .boxBottom > ul > li{
		width: 50%;
	}
	#opt .naviBox .boxBottom > ul > li{
		width: 100%;
	}
	#upper .naviBox .boxBottom > ul > li a.imgNavi img,
	#bottom .naviBox .boxBottom > ul > li a.imgNavi img,
	#opt .naviBox .boxBottom > ul > li a.imgNavi img{
		width: 100%;
	}
}




/* ---------------------------------------------------------------------------------------- 
	見出し
---------------------------------------------------------------------------------------- */
h1 {
	clear: both;
	width: 100%;
	text-align:center;
	font-size:200%;
	margin: 15px 0 30px;
	padding: 0; }
  /*
	h1::after {
		background: #000000 none repeat scroll 0 0;
		clear: both;
		content: "";
		display: block;
		height: 5px;
		left: 0;
		width: 120px;
		margin: 15px auto 0;
	}
	*/
h2 {
	clear: both;
	width: 100%;
	text-align:center;
	font-size:24px;
	margin-bottom:30px;
	margin-top: 30px; }
  /*
	h2::after {
		background: #454545 none repeat scroll 0 0;
		clear: both;
		content: "";
		display: block;
		height: 5px;
		left: 0;
		width: 120px;
		margin: 15px auto 0;
	}
	*/
h3 {
	text-align:center;
	margin-top: 0;
	padding: 0 5px 15px;
	font-size:20px;
	font-weight:bold; }
/*
	h3::after {
		background: #454545 none repeat scroll 0 0;
		clear: both;
		content: "";
		display: block;
		height: 3px;
		left: 0;
		width: 70px;
		margin: 15px auto 0;
	}
*/
h4 {
	font-size: 130%;
	font-weight: bold; }
/*	
	h4::after {
		background: #454545 none repeat scroll 0 0;
		clear: both;
		content: "";
		display: block;
		height: 1px;
		left: 0;
		width: 120px;
		margin: 10px 0 0;
	}
*/
	.parts_img_type01_img + div > h4,
	.parts_img_type02_img + div > h4 {
		padding-bottom: 10px;
	}
	.parts_img_type01_img + div > h4::after,
	.parts_img_type02_img + div > h4::after {
		display: none;
	}


h5 {
	font-size: 100%;
	font-weight: bold;
}
h6 {
	font-size: 92.6%;
	font-weight: bold;
}


/* ---------------------------------------------------------------------------------------- 
	ナビゲーション
---------------------------------------------------------------------------------------- */

/* ～T. タブレット */
@media ( min-width: 768px ) { 
    .navbar  {
        text-align: center;
    }
    .navbar-header,.navbar-brand,.navbar .navbar-nav,.navbar .navbar-nav > li {
        float: none;
        display: inline-block;
    }
    .collapse.navbar-collapse {
        width: auto;
        clear: none;
    }
	
	/* 追加記述 */
	.navbar-collapse > .navbar-nav > li {
		position: relative;
	}
	
	.navbar-collapse > .navbar-nav > li > div {
		margin: 0 24px;
		padding: 5px 0;
		white-space: nowrap;
	}
	
	/* 第2階層 */
	#header .menu-level-0 > ul {
		position: absolute;
		top: 100%;
		left: 0;
		z-index: 10000;
		display: block;
		float: none;
		width: auto;
		margin: 0;
		padding: 0;
		text-align: left;
		box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.2);
		border-radius: 6px;
	}
	
	#header .menu-level-0:last-child > ul {
		left: auto;
		right: 0;
	}

	#header .navbar-collapse .menu-level-0 > ul > li {
		display: block;
		height: 0;
		border: none;
		visibility: hidden;
		opacity: 0;
		-webkit-transition: all .5s;
		transition: all .5s;
	}

	#header .menu-level-0:hover > ul > li {
		height: 42px;
		visibility: visible;
		opacity: 1;
	}

	#header .menu-level-0 > ul li a,
	#header .menu-level-0 > ul li div {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin: 0;
		padding: 0 15px;
		border: none;
		line-height: 42px;
		-webkit-transition: all .5s;
		transition: all .5s;
		white-space: nowrap;
	}
	
	#header .menu-level-0 > ul li a:before,
	#header .menu-level-0 > ul li div:before {
		display: none;
	}
	
	#header .menu-level-0 > ul li a:hover {
		border: none;
	}

	/* 第3階層*/
	#header .menu-level-1 > ul {
		display: none;
	}

}
/* S. スマートフォン */
@media (max-width: 767px) {
	/* メニュー上部固定 */
	#header{
		padding-top:50px;
	}
	#header nav{
		top:0;
		left:0;
		position:fixed;
		width:100%;
		z-index:9999;
	}
	
	/* 追加記述 */
	#header div.navbar-collapse > .navbar-nav {
		margin: 0;
		padding: 0 0 60px;
	}
	
	#header .navbar-collapse > .navbar-nav > li {
		border: none;
	}
	
	#header .navbar-collapse > .navbar-nav > li > div {
		position: relative;
		z-index: 99;
		display: block;
		margin: 0 24px;
		padding: 5px 0 5px;
		border-bottom: 3px solid transparent;
	}
	
	/* 第2階層 */
	#header .menu-level-0 > ul {
		float: none;
		margin: 8px 24px;
		padding: 0;
	}

	#header .navbar-collapse .menu-level-0 > ul > li {
		display: block;
		border: none !important;
	}

	#header .menu-level-0 > ul li a,
	#header .menu-level-0 > ul li div {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin: 0;
		padding: 10px 16px;
		border: none;
		white-space: normal;
	}
	
	#header .menu-level-0 > ul li a:hover,
	#header .menu-level-0 > ul li div:hover {
		border: none;
	}

	/* 第3階層*/
	#header .menu-level-1 > ul {
		margin: 0;
	}
	
	#header .menu-level-1 > ul li {
		border: none !important;
	}
	
	#header .menu-level-1 > ul li a,
	#header .menu-level-1 > ul li div {
		padding-left: 64px;
	}
	
}


/* ---------------------------------------------------------------------------------------- 
	フッター
---------------------------------------------------------------------------------------- */
#footer dl dt{
	width:80px;
	margin-bottom:2px;
}
#footer dl dd{
	margin-left:85px;
	padding:2px 5px;
}

#footer a{
	color:#fff;
	text-decoration:underline;
}

/* S. スマートフォン */
@media (max-width: 767px) {
	#footer dl dt{
		background:#eee;
		color:#333;
		padding:2px 5px;
		text-align:left;
	}
	#footer dl dd{
		padding:5px 5px 15px 5px;
	}
}


/* ---------------------------------------------------------------------------------------- 
	ページトップへ
---------------------------------------------------------------------------------------- */
.pageTop{
	margin-top:50px;
	margin-bottom: 15px;
}
.pageTop a{
	display:inline-block;
	text-align:center;
	font-size:13px;
	color:#555;
}
.pageTop a img{
	margin-bottom:10px;
}


/* ---------------------------------------------------------------------------------------- 
	ブログ・トピックス
---------------------------------------------------------------------------------------- */
.blogEntryBox h2{
	margin-top:15px;
}
.topicDate{
	border-bottom:0px;
}
.topicDate+h2{
	margin-top:2px;
}


/* ---------------------------------------------------------------------------------------- 
	コンテンツパーツ
---------------------------------------------------------------------------------------- */

/* 商品・サービス情報パーツ */
.parts_img_type11_img{
	padding-bottom:0px !important;
}

.parts_h_type11_box,
.parts_h_type12_box {
	margin: 0 !important;
	padding: 0 !important;
	min-height: 100% !important;
}
.parts_h_type11_box h4,
.parts_h_type12_box h4 {
	padding: 30px 30px 10px;
	color: #fff;
}
.parts_h_type11_box > div > a,
.parts_h_type12_box > div > a {
	margin: 0;
	padding: 0;
}

.parts_h_type11_box > div > p,
.parts_h_type12_box > div > p {
	margin: 0;
	padding: 0 30px 30px;
	color: #fff;
	}
	
	.parts_h_type11_box > div > p > a,
	.parts_h_type11_box > div > p > a:hover,
	.parts_h_type11_box > div > p > a:focus,
	.parts_h_type12_box > div > p > a,
	.parts_h_type12_box > div > p > a:hover,
	.parts_h_type12_box > div > p > a:focus {
		color: #fff;
	}
	.parts_h_type11_box > div > p > a::after,
	.parts_h_type12_box > div > p > a::after {
		content: "\00bb";
	}

.parts_h_type11_box h4::after,
.parts_h_type12_box h4::after {
	background: #fff;
}
.parts_h_type11_box div img,
.parts_h_type12_box div img {
	margin: 0 !important;
	padding: 0 !important;
}

.parts_img_type11_box > div,
.parts_img_type12_box > div {
	padding-top: 15px;
}

/* D. デスクトップ */
@media (max-width: 1199px) {
}
/* T. タブレット */
@media (max-width: 991px) {
}
/* S. スマートフォン */
@media (max-width: 767px) {
}
