@charset "Shift_JIS";

/* 要素リセット */
body{
    margin: 0;
    padding: 0;
    text-align: center;
    font-size: 75%;
    font-family: 'メイリオ' ,Meiryo, 'ヒラギノ角ゴ Pro W3' , 'Hiragino Kaku Gothic Pro' , 'ＭＳ Ｐゴシック' , 'Osaka' ,sans-serif;
    color: #000000; /* 標準文字色 */
    min-width: 960px;
}
/* Safari用ハック 文字サイズ調整 */
/*\*/
html:first-child body{
    font-size: 70%;
}
/* end */

img{
    border-top: 0;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
}

/*--------------------------------------------------------
  レイアウト設定
--------------------------------------------------------*/
#hpb-container{
    position: relative;
}

.hpb-layoutset-01 #hpb-header{
    width: 960px;
    height: 75px;
    padding-top: 6px;
    margin-top: -1px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}

.hpb-layoutset-02 #hpb-header{
    width: 960px;
    height: 47px;
    margin-top: -1px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 0;
    text-align: left;
    position: relative;
}

#hpb-header::after{
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

*:first-child + html .hpb-layoutset-02 #hpb-header{
    /*for IE7*/
    padding-bottom: 15px;
}

.hpb-layoutset-01 #hpb-headerMain{
    width: 940px;
    padding-top: 2px;
}

.hpb-layoutset-02 #hpb-headerMain{
    width: 940px;
    padding-left: 10px;
    line-height: 16px;
    height: 16px;
}

.hpb-layoutset-01 #hpb-headerLogo{
    width: 480px;
    float: left;
}

.hpb-layoutset-02 #hpb-headerLogo{
    width: 470px;
    float: left;
    padding-left: 10px;
    margin-bottom: 5px;
}

*:first-child + html #hpb-headerLogo{
    /*for IE7*/
    margin-bottom: 4px;
}

.hpb-layoutset-01 #hpb-headerExtra1{
    width: 480px;
    float: right;
    text-align: right;
    margin-top: -10px;
}

.hpb-layoutset-02 #hpb-headerExtra1{
    width: 480px;
    float: right;
    text-align: right;
    margin-top: -12px;
}

.hpb-layoutset-01 #hpb-wrapper{
    clear: both;
    width: 961px;
    margin-left: auto;
    margin-right: auto;
/*  background-image : url(../img/icons/icon1_png/top_mainimg_1Q_01.png); */
    background-image : url(../img/icons/icon1_png/tpig_mt01_01.png);	// ★



    background-position: top left;
    background-repeat: no-repeat;
}

.hpb-layoutset-01 #hpb-wrapper::after{
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
.hpb-layoutset-01 #hpb-inner
{
}
.hpb-layoutset-02 #hpb-inner{
    position: relative;
    clear: both;
    width: 960px;
    margin-left: auto;
    margin-right: auto;
}

#hpb-inner::after{
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.hpb-layoutset-02 #hpb-wrapper{
    width: 960px;
    padding-top: 40px;
}

*:first-child + html .hpb-layoutset-02 #hpb-wrapper{
    /*for IE7*/
    margin-top: 20px;
}

.hpb-layoutset-02 #hpb-title{
    margin-top: 15px;
    background-color: #fff;
}

.hpb-layoutset-01 #hpb-main{
    width: 514px;
    float: right;
    text-align: left;
}

.hpb-layoutset-02 #hpb-main{
    width: 697px;
    padding-left: 13px;
    padding-top: 10px;
    float: left;
    text-align: left;
    background-color: #fff;
}

.hpb-layoutset-01 #pagetop{
    position: absolute;
    bottom: 5px;
    right: 10px;
}

.hpb-layoutset-01 #hpb-aside{
    width: 960px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
    text-align: left;
}

.hpb-layoutset-02 #pagetop{
    padding-bottom: 10px;
}

.hpb-layoutset-02 #hpb-aside{
    width: 250px;
    float: left;
    background-color: #fff;
    padding-top: 7px;
    text-align: left;
}

*:first-child + html .hpb-layoutset-02 #hpb-aside{
    /*for IE7*/
    position: absolute;
    top: 124px;
    right: 0;
}

#hpb-aside::after{
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

#hpb-nav{
    overflow: hidden;
}

.hpb-layoutset-01 #hpb-nav{
    width: 100%;
    margin-bottom: 10px;
    height: 63px;
    background-image : url(../img/icons/icon1_png/navBg_1Q.png);
    background-position: bottom left;
    background-repeat: repeat-x;
}

.hpb-layoutset-02 #hpb-nav{
    width: 960px;
    position: absolute;
    left: 0;
    top: 0px;
    height: 39px;
}

/*--------------------------------------------------------
  デザイン設定
--------------------------------------------------------*/

/* 背景設定 */

.hpb-layoutset-01{
    background-image : url(../img/icons/icon1_png/pageBg_1Q_01.png);
    background-position: top left;
    background-repeat: repeat-x;
}

.hpb-layoutset-02{
    background-image : url(../img/icons/icon1_png/pageBg_1Q_02.png);
    background-position: top left;
    background-repeat: repeat-x;
}

/* ヘッダー領域 */

#hpb-headerLogo{
    width: 299px;
    float: left;
}

* html #hpb-headerLogo{
    /* for IE6 */
    padding-bottom: 0;
}

#hpb-headerLogo a{
    display: block;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
    text-indent: -9999px;
    overflow: hidden;
    height: 34px;
/*  background-image : url(../img/icons/icon1_png/logo_1Q.png);  */
    background-image : url(../img/icons/icon1_png/lghd_ms01_01.png);  // ★
    background-position: top left;
    background-repeat: no-repeat;
}

* html .hpb-layoutset-01 #hpb-headerLogo a{
    /* for IE6 */
    margin-top: 0;
}

.hpb-layoutset-01 #hpb-title{
    width: 514px;
    float: right;
    margin-bottom: 10px;
}

.hpb-layoutset-01 #hpb-title h2{
    margin: 0;
    overflow: hidden;
    text-indent: -9999px;
    height: 52px;
    background-image : url(../img/icons/icon1_png/top_maintxt_1Q.png);
    background-position: top left;
    background-repeat: no-repeat;
}

/* コンテンツ配置領域 */

/* ナビゲーション */
.hpb-layoutset-01 #hpb-nav ul{
    width: 959px;
    margin-top: 10px;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto;
    padding-top: 0;
    padding-right: 0;
    padding-left: 1px;
    padding-bottom: 0;
    list-style-type: none;
    text-align: center;
    background-image : url(../img/icons/icon1_png/mainmenuItem_1Q_01.png);
    background-position: bottom left;
    background-repeat: no-repeat;
    height: 46px;
    z-index: 1;
}

.hpb-layoutset-01 #hpb-nav ul::after{
    content: ".";
    display: block;
    height: 0;
    clear: both;
    height: 46px;
    visibility: hidden;
}

.hpb-layoutset-01 #hpb-nav li{
    float: left;
    font-size: 12px;
    line-height: 36px;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding-right: 1px;
    padding-left: 0;
    padding-bottom: 0;
    text-align: center;
}

.hpb-layoutset-01 #hpb-nav li a{
    width: 136px;
    display: block;
    height: 46px;
    padding-top: 10px;
    overflow: hidden;
}

#hpb-nav li span.en{
    display: none;
}

.hpb-layoutset-01 #hpb-nav a:link{
    background-image : url(../img/icons/icon1_png/mainmenu_1Q_01.png);
    background-position: top right;
    background-repeat: no-repeat;
}
.hpb-layoutset-01 #hpb-nav a:visited{
    background-image : url(../img/icons/icon1_png/mainmenu_1Q_01.png);
    background-position: top right;
    background-repeat: no-repeat;
}
.hpb-layoutset-01 #hpb-nav a:hover{
    background-image : url(../img/icons/icon1_png/mainmenu_1Q_01_on.png);
    background-position: top right;
    background-repeat: no-repeat;
}
.hpb-layoutset-01 #hpb-nav a:active{
    background-image : url(../img/icons/icon1_png/mainmenu_1Q_01_on.png);
    background-position: top right;
    background-repeat: no-repeat;
}

.hpb-layoutset-02 #hpb-nav ul{
    width: 959px;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding-top: 0;
    padding-right: 0;
    padding-left: 1px;
    padding-bottom: 0;
    list-style-type: none;
    text-align: center;
    background-image : url(../img/icons/icon1_png/mainmenuItem_1Q_02.png);
    background-position: bottom left;
    background-repeat: no-repeat;
    height: 39px;
}

.hpb-layoutset-02 #hpb-nav ul::after{
    content: ".";
    display: block;
    height: 0;
    clear: both;
    height: 39px;
    visibility: hidden;
}

.hpb-layoutset-02 #hpb-nav li{
    float: left;
    font-size: 12px;
    line-height: 39px;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding-right: 1px;
    padding-left: 0;
    padding-bottom: 0;
    text-align: center;
}

.hpb-layoutset-02 #hpb-nav li a{
    width: 136px;
    display: block;
    height: 39px;
    overflow: hidden;
}

* html .hpb-layoutset-02 #hpb-nav li a{
    /* ie6用ハック */
    font-size: 12px;
}

.hpb-layoutset-02 #hpb-nav a:link{
    background-image : url(../img/icons/icon1_png/mainmenu_1Q_02.png);
    background-position: top right;
    background-repeat: no-repeat;
}
.hpb-layoutset-02 #hpb-nav a:visited{
    background-image : url(../img/icons/icon1_png/mainmenu_1Q_02.png);
    background-position: top right;
    background-repeat: no-repeat;
}
.hpb-layoutset-02 #hpb-nav a:hover{
    background-image : url(../img/icons/icon1_png/mainmenu_1Q_02_on.png);
    background-position: top right;
    background-repeat: no-repeat;
}
.hpb-layoutset-02 #hpb-nav a:active{
    background-image : url(../img/icons/icon1_png/mainmenu_1Q_02_on.png);
    background-position: top right;
    background-repeat: no-repeat;
}
/* サイドブロック内パーツ */
.hpb-layoutset-01 #banner{
    width: 750px;
    float: left;
}

#banner ul{
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
    list-style-type: none;
}

#banner li{
    width: 241px;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
}

.hpb-layoutset-01 #banner li{
    float: left;
    margin-right: 4px;
}

.hpb-layoutset-02 #banner li{
    margin-bottom: 4px;
}

#banner li a{
    display: block;
    height: 46px;
    margin-right: 0;
    text-indent: -9999px;
    overflow: hidden;
}

#banner a#banner-service{
    /* 製品一覧バナー */
    background-image : url(../img/icons/icon1_png/banner_1Q_01_01.png);
    background-position: top left;
    background-repeat: no-repeat;
}

#banner a#banner-recruit{
    /* 採用情報バナー */
    background-image : url(../img/icons/icon1_png/banner_1Q_01_02.png);
    background-position: top left;
    background-repeat: no-repeat;
}

#banner a#banner-access{
    /* アクセスバナー */
    background-image : url(../img/icons/icon1_png/banner_1Q_01_03.png);
    background-position: top left;
    background-repeat: no-repeat;
}

.hpb-layoutset-01 #hpb-inner #companyinfo{
    width: 190px;
    float: left;
}

.hpb-layoutset-01 #hpb-inner #companyinfo::after{
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.hpb-layoutset-01 #hpb-inner #companyinfo h3{
    font-weight: normal;
    font-size: 1em;
    text-align: left;
    font-weight: bold;
    padding-top: 0;
    margin-top: 0;
    margin-bottom: 0.5em;
}

.hpb-layoutset-01 #hpb-inner #companyinfo p{
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 3px;
}

.hpb-layoutset-02 #hpb-inner #companyinfo{
    width: 239px;
    margin-top: 10px;
    border-width: 1px;
    border-style: solid;
    border-color: #d2d2d2;
}

.hpb-layoutset-02 #hpb-inner #companyinfo h3{
    font-weight: normal;
    font-size: 1em;
    text-align: left;
    font-weight: bold;
    padding-top: 0;
    margin-top: 0;
    margin-bottom: 10px;
    text-align: center;
    background-image : url(../img/icons/icon1_png/companyBg_1Q.png);
    background-position: top left;
    background-repeat: no-repeat;
    height: 37px;
    line-height: 37px;
}

.hpb-layoutset-02 #hpb-inner #companyinfo p{
    padding-top: 0;
    padding-right: 10px;
    padding-bottom: 0;
    padding-left: 10px;
}

/* トップページ デザイン定義 */

#hpb-main #toppage p{
    margin-left: 3px;
    padding-left: 0;
}

#toppage h3{
    border-top-color: #f1f1f1;
    border-top-width: 3px;
    border-top-style: solid;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0;
    overflow: hidden;
    background-image : url(../img/icons/icon1_png/indexBg_1Q_01.png);
    background-position: 5px center;
    background-repeat: no-repeat;
    padding-top: 3px;
    padding-left: 19px;
    text-align: left;
    color: #333;
    font-size: 1.4em;
    font-weight: normal;
    letter-spacing: 0.1em;
}

#toppage h3 span.ja{
    display: none;
}

#toppage-topics{
    width: 512px;
    border-width: 1px;
    border-color: #d2d2d2;
    border-style: solid;
    background-color: #fff;
    height: 152px;
    overflow: scroll;
    margin-bottom: 10px;
    overflow: auto;
    overflow-y: scroll;
}

#toppage-news{
    width: 512px;
    border-width: 1px;
    border-color: #d2d2d2;
    border-style: solid;
    background-color: #fff;
    height: 152px;
    margin-bottom: 10px;
    overflow: auto;
    overflow-y: scroll;
}

/* =======================================================
  レスポンシブル設定
======================================================= */
@media screen and (max-width: 568px) {

	body{
		min-width: 100%;
	}

	/*--------------------------------------------------------
	  レイアウト設定
	--------------------------------------------------------*/
	.hpb-layoutset-01 #hpb-header{
		width: 100%;
		height: auto;
		padding-top: 0;
		padding-bottom: 10px;
	}
	.hpb-layoutset-02 #hpb-header{
		width: 100%;
		height: auto;
		padding-bottom: 10px;
	}
	.hpb-layoutset-01 #hpb-headerMain{
		width: 100%;
		padding-top: 0;
	}
	.hpb-layoutset-02 #hpb-headerMain{
		width: 100%;
		padding-left: 0;
		line-height: 1.4;
		height: auto;
	}
	.hpb-layoutset-01 #hpb-headerLogo{
		width: 98%;
		float: none;
		margin-left: auto;
		margin-right: auto;
	}
	.hpb-layoutset-02 #hpb-headerLogo{
		width: 98%;
		float: none;
		padding-left: 0;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 0;
	}
	.hpb-layoutset-01 #hpb-headerExtra1{
		width: 98%;
		float: none;
		margin-top: 0;
		margin-left: auto;
		margin-right: auto;
		padding-top: 10px;
	}
	.hpb-layoutset-02 #hpb-headerExtra1{
		width: 98%;
		float: none;
		margin-top: 0;
		margin-left: auto;
		margin-right: auto;
		padding-top: 10px;
	}
	.hpb-layoutset-01 #hpb-wrapper{
		width: 100%;
		background-size: contain;
		padding: 100% 0 0;
	}
	.hpb-layoutset-02 #hpb-inner{
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.hpb-layoutset-02 #hpb-wrapper{
		width: 100%;
		padding-top: 0;
	}
	.hpb-layoutset-02 #hpb-title{
		margin-top: 0;
	}
	.hpb-layoutset-01 #hpb-main{
		width: 96%;
		float: none;
		margin-left: auto;
		margin-right: auto;
		padding-bottom: 20px;
	}
	.hpb-layoutset-02 #hpb-main{
		width: 96%;
		padding-left: 0;
		float: none;
		margin-left: auto;
		margin-right: auto;
		padding-bottom: 20px;
	}
	.hpb-layoutset-01 #pagetop{
		position: relative;
		bottom: 0;
		right: 0;
	}
	.hpb-layoutset-01 #hpb-aside{
		width: 96%;
		margin-bottom: 0;
		text-align: left;
		padding-bottom: 20px;
	}
	.hpb-layoutset-02 #pagetop{
		padding-bottom: 0;
	}
	.hpb-layoutset-02 #hpb-aside{
		max-width: 100%;
		float: none;
		padding-top: 0;
		margin-left: auto;
		margin-right: auto;
		padding-bottom: 20px;
	}
	.hpb-layoutset-01 #hpb-nav{
		width: 100%;
		margin-bottom: 0;
		height: auto;
		background-image : none;
		border-top-width: 1px;
		border-top-color: #cccccc;
		border-top-style: solid;
		border-bottom-width: 6px;
		border-bottom-color: #50903a;
		border-bottom-style: solid;
		background-color: #f6f6f6;
	}
	.hpb-layoutset-02 #hpb-nav{
		width: 100%;
		position: relative;
		left: 0;
		top: 0;
		height: auto;
		border-top-width: 1px;
		border-top-color: #cccccc;
		border-top-style: solid;
		border-bottom-width: 6px;
		border-bottom-color: #50903a;
		border-bottom-style: solid;
		background-color: #f6f6f6;
	}

	/*--------------------------------------------------------
	  デザイン設定
	--------------------------------------------------------*/
	/* 背景設定 */
	.hpb-layoutset-01{
		background-image : none;
	}
	.hpb-layoutset-02{
		background-image : none;
	}

	/* ヘッダー領域 */
	#hpb-headerLogo{
		width: 98%;
		float: none;
		margin-left: auto;
		margin-right: auto;
	}
	#hpb-headerLogo a{
	  display: block;
		max-width: 100%;
		background-size: contain;
		background-position: top center;
		margin-top: 10px;
		margin-bottom: 10px;
		margin-left: auto;
		margin-right: auto;
	}
	.hpb-layoutset-01 #hpb-title{
		width: 100%;
		float: none;
		margin-bottom: 0;
	}
	.hpb-layoutset-01 #hpb-title h2{
		height: 52px;
		background-size: contain;
	}

	/* コンテンツ配置領域 */
	/* ナビゲーション */
	.hpb-layoutset-01 #hpb-nav ul{
		display: none;
		width: 100%;
		margin-top: 0;
		margin-right: auto;
		margin-left: auto;
		padding-left: 0;
		text-align: left;
		background-image : none;
		height: auto;
	}
	.hpb-layoutset-01 #hpb-nav ul::after{
		height: 0;
	}
	.hpb-layoutset-01 #hpb-nav ul.toggled-on{
		display: block;
	}
	.hpb-layoutset-01 #hpb-nav li{
		float: none;
		line-height: 1.4;
		padding-right: 0;
		text-align: left;
		border-top-width: 1px;
		border-top-color: #cccccc;
		border-top-style: solid;
	}
	.hpb-layoutset-01 #hpb-nav li a{
		width: auto;
		display: block;
		height: auto;
		padding-top: 10px;
		padding-right: 10px;
		padding-bottom: 10px;
		padding-left: 10px;
	}
	.hpb-layoutset-01 #hpb-nav a:link,
	.hpb-layoutset-01 #hpb-nav a:visited,
	.hpb-layoutset-01 #hpb-nav a:hover,
	.hpb-layoutset-01 #hpb-nav a:active{
		background-image : none;
	}
	.hpb-layoutset-01 #hpb-nav a:hover{
		background-color: #ebebeb;
	}
	.hpb-layoutset-02 #hpb-nav ul{
		display: none;
		width: 100%;
		padding-left: 0;
		text-align: left;
		background-image : none;
		height: auto;
	}
	.hpb-layoutset-02 #hpb-nav ul::after{
		height: 0;
	}
	.hpb-layoutset-02 #hpb-nav ul.toggled-on{
		display: block;
	}
	.hpb-layoutset-02 #hpb-nav li{
		float: none;
		line-height: 1.4;
		padding-right: 0;
		text-align: left;
		border-top-width: 1px;
		border-top-color: #cccccc;
		border-top-style: solid;
	}
	.hpb-layoutset-02 #hpb-nav li a{
		width: auto;
		display: block;
		height: auto;
		padding-top: 10px;
		padding-right: 10px;
		padding-bottom: 10px;
		padding-left: 10px;
	}
	.hpb-layoutset-02 #hpb-nav a:link,
	.hpb-layoutset-02 #hpb-nav a:visited,
	.hpb-layoutset-02 #hpb-nav a:hover,
	.hpb-layoutset-02 #hpb-nav a:active{
		background-image : none;
	}
	.hpb-layoutset-02 #hpb-nav a:hover{
		background-color: #ebebeb;
	}

	/* サイドブロック内パーツ */
	.hpb-layoutset-01 #banner{
		width: 100%;
		float: none;
	}
	#banner li{
		max-width: 100%;
		margin-right: auto;
		margin-left: auto;
	}
	.hpb-layoutset-01 #banner li{
		float: none;
		margin-right: auto;
		margin-bottom: 4px;
		margin-left: auto;
	}
	.hpb-layoutset-02 #banner li{
		margin-bottom: 0;
		margin-bottom: 4px;
	}
	#banner a#banner-service,
	#banner a#banner-recruit,
	#banner a#banner-access{
		background-position: top center;
		background-size: contain;
	}
	.hpb-layoutset-01 #hpb-inner #companyinfo{
		max-width: 100%;
		float: none;
		margin-right: auto;
		margin-left: auto;
	}
	.hpb-layoutset-02 #hpb-inner #companyinfo{
		max-width: 100%;
		margin-top: 0;
		margin-right: auto;
		margin-left: auto;
		box-sizing: border-box;
	}

	/* トップページ デザイン定義 */
	#hpb-main #toppage p{
		margin-left: 0;
	}
	#toppage-topics{
		width: 100%;
		height: auto;
		margin-bottom: 10px;
		overflow: visible;
		box-sizing: border-box;
	}
	#toppage-news{
		width: 100%;
		height: auto;
		margin-bottom: 10px;
		overflow: visible;
		box-sizing: border-box;
	}



}