@charset "UTF-8";
/* CSS Document */
@import "reset.css";
@import "hack.css";
html {
	/* 2017.5.8
    font-size: 16px;
	*/
    font-size: 14px;
    height: 100%;
}
body {
    text-align: left;
    color: #000;
    font-family: "游ゴシック", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	/* 2017.5.8
    line-height: 1.6;
	*/
    line-height: 1.4;
    margin: 0;
	/* 2017.5.8
    padding: 0;
	*/
    padding: 0 20px;
    background-color: #fff;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
}
strong {
    font-weight: bold;
}
a {
    color: #000000;
    text-decoration: none;
}
a:hover {
    color: #d41322;
    text-decoration: underline;
}
.fl {
    float: left;
}
.fr {
    float: right;
}

/*h*/
h1 {
    /*header記述部分でで指定*/
}
h2 {
    width: 960px;
    font-size: 30px;
    line-height: 1.2;
    text-align: center;
    background: url(../../images/bg_h2.png) no-repeat center bottom;
    padding: 0 0 20px 0;
    margin: 0 auto 50px;
}
h2.no_sub_nav {
    padding: 40px 0 20px 0;
}
h3 {
    font-size:16px;
    margin: 0 0 10px 0;
}
/*
h3.midasdhi_red {
    font-size:24px;
    font-weight: bold;
    color: #d41322;
    margin: 0 0 20px 0;
}
*/
/*色強いため修正　2017.4.11*/
h3.midasdhi_red {
    font-size:24px;
    font-weight: normal;
    line-height: 1.2;
    color: #333;
    border-left: solid 5px #d41322;
    margin: 0 0 20px 0;
    padding: 0 0 0 8px;
}
h4 {
    /*小見出し　写真送り先　ウィジェットタイトル*/
}
h5 {
	}

/*##############################################*/
/*汎用クラス*/
/*##############################################*/
hr.sikiri {
    border: solid #0b3966;
    border-width: 1px 0 0 0;
    margin: 0 0 5px;
    height: 1px;
    /* for IE6 */
    clear: both;
    /* for IE6 */
}
hr.sikiri_gray {
    border: solid #ddd;
    border-width: 1px 0 0 0;
    margin: 0 0 5px;
    height: 1px;
    /* for IE6 */
    clear: both;
    /* for IE6 */
}
hr.shikiri_dashed {
    border: dashed #0b3966;
    border-width: 1px 0 0 0;
    margin: 0 0 5px;
    height: 1px;
    /* for IE6 */
    clear: both;
    /* for IE6 */
}
hr.shikiri_dotted {
    border: dotted #0b3966;
    border-width: 1px 0 0 0;
    margin: 0 0 5px;
    height: 1px;
    /* for IE6 */
    clear: both;
    /* for IE6 */
}
.nodisp {
    position: absolute;
    left: -9999px;
}

/*文字強調用色変更*/
.red {
    color: #d41322;
}
.blue {
    color: #99ccff;
}
.red_strong {
    color: #f00;
    font-weight: bold;
}
.btm_mgn {
    margin-bottom: 30px;
}
.r3 {
    border-radius: 3px;
    /* CSS3草案 */
    -webkit-border-radius: 3px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 3px;
    /* Firefox用 */
    zoom: 1;
    position: relative;
}
.r6 {
    border-radius: 6px;
    /* CSS3草案 */
    -webkit-border-radius: 6px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 6px;
    /* Firefox用 */
    zoom: 1;
    position: relative;
}
.r10 {
    border-radius: 10px;
    /* CSS3草案 */
    -webkit-border-radius: 10px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 10px;
    /* Firefox用 */
    zoom: 1;
    position: relative;
}
.r20 {
    border-radius: 20px;
    /* CSS3草案 */
    -webkit-border-radius: 20px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 20px;
    /* Firefox用 */
    zoom: 1;
    position: relative;
}
.btn {}
.btn:hover {
    opacity: 0.65;
    filter: alpha(opacity=65);
    -ms-filter: "alpha(opacity=65)";
}
.boxshadow {
    box-shadow: 1px 1px 2px #ccc;
    -moz-box-shadow: 1px 1px 2px #ccc;
    -o-box-shadow: 1px 1px 2px #ccc;
    -ms-box-shadow: 1px 1px 2px #ccc;
    -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(color=#cccccc,direction=135,strength=3,enabled=true)";
    filter: progid: DXImageTransform.Microsoft.Shadow(color=#cccccc, direction=135, strength=3, enabled=true);
    /* IE5.5+ */
}
ul.list_disc {
    list-style: disc;
    margin: 1em 0 1em 1.5em;
}
ul.list_disc li {
    margin: 0 0 0.5em 0;
}
/*日付見出しリスト汎用1　yyyy年m月d日想定*/
dl.list_date {}
dl.list_date dt {
    clear: left;
    float: left;
    color: #00479d;
    margin: 0 0 0.5em 0;
}
dl.list_date dd {
    margin: 0 0 0.5em 9em;
}

/*日付見出しリスト汎用2　yyyy/mm/dd想定*/
dl.list_date_narrow {}
dl.list_date_narrow dt {
    clear: left;
    float: left;
    color: #0068b5;
    margin: 0 0 0.5em 0;
    padding: 0.5em 0;
    font-weight: bold;
}
dl.list_date_narrow dd {
    margin: 0 0 0.5em 7em;
    padding: 0.5em 0;
}

/*※つきリスト*/
dl.list_asta {}
dl.list_asta dt {
    clear: left;
    float: left;
    width: 1.5em;
    margin: 0 0 0.2em 0;
}
dl.list_asta dd {
    margin: 0 0 0.2em 1.5em;
}

/*汎用テーブル線なし*/
table.normal_tbl {
    border-collapse: collapse;
    margin: 0 0 30px 0;
}
table.normal_tbl tr {}
table.normal_tbl th {
    padding: 0.35em 0.6em 0.35em 0;
    vertical-align: top;
    white-space: nowrap;
}
table.normal_tbl td {
    padding: 0.35em 0.6em;
    vertical-align: top;
}

/*右下のページトップに戻るボタン*/
a#scroller {
    display: block;
    position: fixed;
    width: 78px;
    height: 78px;
    right: 10px;
    bottom: 20px;
    z-index: 9500;
    background: url(../../images/icon_scrollup.png) 0px 0px no-repeat;
    background-size: contain;
    opacity: 0.75;
    filter: alpha(opacity=75);
    -ms-filter: "alpha(opacity=75)";
}

/*コンテンツ中のページトップに戻るテキストリンク*/
a.go_pagetop_textlink {
    float: right;
    margin: 20px 0;
}
/*画像関連*/
img.center_img {
    display: block;
    margin: 20px auto;
}


a.link_arrow_red {
    display: block;
    float: right;
    text-decoration: none;
    color: #000;
    font-size: 15px;
    font-weight: bold;
    line-height: 45px;
    border: solid 1px #bfbfbf;
    width: 360px;
    margin: 0 0 45px;
    padding: 0 10px;
    box-shadow: 0px 3px 0px #e9e9e9;
    -moz-box-shadow: 0px 3px 0px #e9e9e9;
    -o-box-shadow: 0px 3px 0px #e9e9e9;
    -ms-box-shadow: 0px 3px 0px #e9e9e9;
    -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(color=#e9e9e9,direction=90,strength=3,enabled=true)";
    filter: progid: DXImageTransform.Microsoft.Shadow(color=#e9e9e9, direction=90, strength=3, enabled=true);
    /* IE5.5+ */
    background: url(../../images/arrow_sp_nav.png) right 50% no-repeat;
    background-size: 18px 10px;
}
.nopc {
    /*    pc時にdisplay:none*/
    display: none;
}
.nosp {
    /*    sp時にdisplay:none*/
    display: block;
}

/*####################*/
/*基本構造、よく使うパーツ*/
/*####################*/
.inner_wrap {
    width: 960px;
    margin: 0 auto;
}
.cont_box{
    margin: 0 0 60px 0;
}
/*####################*/
/*ヘッダ　hedaer*/
/*####################*/
body.page_index header {
    padding: 40px 0 0;
}
body.page_sub header {
    padding: 50px 0 0;
    border-bottom: solid 1px #d2d2d2;
}
header #header_inner {
    position: relative;
    height: 128px;
}
header #header_inner h1 {
    width: 458px;
    height: 103px;
    margin: 0 auto 0;
    background: url(../../images/logo_h1.png) no-repeat;
}
header #header_inner .btn_twitter {
    position: absolute;
    width: 40px;
    height: 40px;
    right: 94px;
    top: 43px;
    background: url(../../images/icon_twitter.png) no-repeat;
    background-size: contain;
}
header #header_inner .btn_facebook {
    position: absolute;
    width: 40px;
    height: 40px;
    right: 48px;
    top: 43px;
    background: url(../../images/icon_facebook.png) no-repeat;
    background-size: contain;
}
header #header_inner .btn_search {
    position: absolute;
    width: 40px;
    height: 40px;
    right: 1px;
    top: 43px;
    background: url(../../images/icon_search.png) no-repeat;
    background-size: contain;
    cursor: pointer;
}
header #header_inner #search_box{
    position: absolute;
    font-size:12px;
    text-align: right;
    width:240px;
    height: 30px;
    right: 1px;
    top: 95px;
}
/*####################*/
/*ナビ　nav*/
/*####################*/
nav#nav_main{}
nav#nav_main ul#nav_common {
    display: table;
    width: 960px;
    margin: 0 auto;
}
nav#nav_main ul#nav_common li {
    display: table-cell;
    text-align: center;
    box-sizing: border-box;
	/* 2017.5.8 */
	width: 160px;
}
nav#nav_main ul#nav_common li:hover {
    border-bottom: solid 3px #d41322;
}
nav#nav_main ul#nav_common li a {
    display: block;
    text-decoration: none;
    color: #000;
    font-size: 16px;
    line-height: 56px;
}
body#page_index ul#nav_common li#nav_item_home,
body#page_about ul#nav_common li#nav_item_about,
body#page_news ul#nav_common li#nav_item_news,
body#page_business ul#nav_common li#nav_item_business,
body#page_knowledge ul#nav_common li#nav_item_knowledge,
body#page_eco ul#nav_common li#nav_item_eco{
    border-bottom: solid 3px #d41322;
}
/*####################*/
/*フッタ　footer*/
/*####################*/
footer {}
footer #sns_btn {
    position: relative;
    height: 70px;
}
footer #sns_btn .btn_twitter {
    position: absolute;
    width: 40px;
    height: 40px;
    right: 435px;
    top: 0px;
    background: url(../../images/icon_twitter.png) no-repeat;
    background-size: contain;
}
footer #sns_btn .btn_facebook {
    position: absolute;
    width: 40px;
    height: 40px;
    right: 490px;
    top: 0px;
    background: url(../../images/icon_facebook.png) no-repeat;
    background-size: contain;
}
footer #footer_inner {
    width: auto;
    background-color: #f1f1f1;
    padding: 40px 20px;
}
footer #footer_inner h1 {
    width: 58px;
    height: 49px;
    background: url(../../images/logo_h1_footer.png) no-repeat;
    margin: 0 auto 30px;
}

footer #footer_inner ul {
    display: table;
    margin: 0 auto 75px;
}
footer #footer_inner li {
    display: table-cell;
}
footer #footer_inner dl {}
footer #footer_inner dt {
    font-size: 16px;
    margin: 0 0 45px 0;
}
footer #footer_inner dd {
    font-size: 13px;
}
footer #footer_inner dd a {
    text-decoration: none;
    color: #000;
}
footer #footer_inner .copyright {
    text-align: center;
    margin: 0 auto;
    font-size: 11px;
    color: #686868;
}

/*##############################################*/
/*##############################################*/
/*##############################################*/
/*スマートフォン想定*/
/*##############################################*/
/*##############################################*/
/*##############################################*/

@media screen and (max-width: 768px) {
html {
	/*
    font-size: 10px;
	*/
    height: 100%;
}
body {
	padding: 0;
}
/*h*/
h1 {
    /*header記述部分でで指定*/
}
h2 {
    width: calc(100% - 20px);
    font-size: 18px;
    line-height: 1.6;
    text-align: center;
    background: url(../../images/bg_h2.png) no-repeat center bottom;
    background-size: contain;
    padding: 0 0 10px 0;
    margin: 20px auto;
}
h2.no_sub_nav {
    padding: 0 0 20px 0;
}
h3 {
    font-size:16px;
    margin: 0 0 10px 0;
}
h3.midasdhi_red {
    font-size:20px;
    font-weight: bold;
    color: #d41322;
    margin: 0 0 10px 0;
}
h4 {
    /*小見出し　写真送り先　ウィジェットタイトル*/
}
h5 {}

a.link_arrow_red {
    display: block;
    float: none;
    text-decoration: none;
    color: #000;
    font-size: 15px;
    font-weight: bold;
    line-height: 45px;
    border: solid 1px #bfbfbf;
    width: calc(100% - 40px);
    margin: 0 auto 20px;
    padding: 0 10px;
    box-shadow: 0px 3px 0px #e9e9e9;
    -moz-box-shadow: 0px 3px 0px #e9e9e9;
    -o-box-shadow: 0px 3px 0px #e9e9e9;
    -ms-box-shadow: 0px 3px 0px #e9e9e9;
    -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(color=#e9e9e9,direction=90,strength=3,enabled=true)";
    filter: progid: DXImageTransform.Microsoft.Shadow(color=#e9e9e9, direction=90, strength=3, enabled=true);
    /* IE5.5+ */
    background: url(../../images/arrow_sp_nav.png) right 50% no-repeat;
    background-size: 18px 10px;
}
.nopc {
    /*    pc時にdisplay:none*/
    display: block;
}
.nosp {
    /*    sp時にdisplay:none*/
    display: none;
}
/*####################*/
/*基本構造、よく使うパーツ*/
/*####################*/
.inner_wrap {
    width: calc(100% - 20px);
    margin: 0 10px;
}
/*####################*/
/*ヘッダ　hedaer*/
/*####################*/
body.page_index header {
    position: relative;
    height: 65px;
    padding: 0px 0 0;
}
body.page_sub header {
    position: relative;
    height: 71px;
    padding: 0px 0 0;
    background: url(../../images/bg_sp.png) center bottom repeat-x;
    border-bottom: none;
}
header #header_inner {
    position: relative;
    height: 46px;
    width: calc(100% - 55px);
    margin-left: -10px;
}
header #header_inner h1 {
    width: 208px;
    height: 57px;
    margin: 0 auto 0;
    background: url(../../images/logo_h1.png) center 10px no-repeat;
    background-size: contain;
}
header #header_inner .btn_twitter {
    position: absolute;
    width: 40px;
    height: 40px;
    right: 94px;
    top: 43px;
    background: url(../../images/icon_twitter.png) no-repeat;
    background-size: contain;
}
header #header_inner .btn_facebook {
    position: absolute;
    width: 40px;
    height: 40px;
    right: 48px;
    top: 43px;
    background: url(../../images/icon_facebook.png) no-repeat;
    background-size: contain;
}
header #header_inner .btn_search {
    position: absolute;
    width: 40px;
    height: 40px;
    right: 1px;
    top: 43px;
    background: url(../../images/icon_search.png) no-repeat;
    background-size: contain;
    cursor: pointer;
}
    
header #menu_openner{
    position: absolute;
    width: 65px;
    height: 65px;
    right: 0px;
    top: 0px;
    cursor: pointer;
    background: url(../../images/btn_menu_open.png) no-repeat;
    background-size: contain;
}
header #menu_openner.opened {
    background: url(../../images/btn_menu_close.png) no-repeat;
    background-size: contain;
}
/*####################*/
/*ナビ　nav*/
/*####################*/
nav#nav_main {
    position: absolute;
    left: 0px;
    top: 65px;
    z-index: 10;
    width: 100%;
    border-top: solid 3px #d41322;
    border-bottom: solid 3px #e0e0e0;
    background-color: #fff;
}
nav#nav_main ul#nav_common {
    display: block;
    width: 100%;
    margin: 20px auto 0;
}
nav#nav_main ul#nav_common li {
    display: block;
    text-align: left;
    box-sizing: border-box;
	width: auto;
}
nav#nav_main ul#nav_common li:hover {
    border-bottom: none;
}
nav#nav_main ul#nav_common li a {
    display: block;
    text-decoration: none;
    color: #000;
    font-size: 15px;
    font-weight: bold;
    line-height: 45px;
    border: solid 1px #bfbfbf;
    width: calc(100% - 40px);
    margin: 0 auto 12px;
    padding: 0 10px;
    box-shadow: 0px 3px 0px #e9e9e9;
    -moz-box-shadow: 0px 3px 0px #e9e9e9;
    -o-box-shadow: 0px 3px 0px #e9e9e9;
    -ms-box-shadow: 0px 3px 0px #e9e9e9;
    -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(color=#e9e9e9,direction=90,strength=3,enabled=true)";
    filter: progid: DXImageTransform.Microsoft.Shadow(color=#e9e9e9, direction=90, strength=3, enabled=true);
    /* IE5.5+ */
    background: url(../../images/arrow_sp_nav.png) right 50% no-repeat;
    background-size: 18px 10px;
}
nav#nav_main ul#nav_main_sp {
    margin: 32px 0 0;
    border-top: solid 1px #bfbfbf;
    border-bottom: solid 3px #e9e9e9;
}
nav#nav_main ul#nav_main_sp li {
    text-align: left;
    box-sizing: border-box;
}
nav#nav_main ul#nav_main_sp li a {
    text-align: left;
    box-sizing: border-box;
    display: block;
    text-decoration: none;
    color: #000;
    font-size: 15px;
    font-weight: bold;
    line-height: 45px;
    border-bottom: solid 1px #bfbfbf;
    width: 100%;
    margin: 0 auto 0;
    padding: 0 10px;
    background: url(../../images/arrow_sp_nav.png) right 50% no-repeat;
    background-size: 18px 10px;
}
nav#nav_main #menu_sns_btn {
    padding: 25px 20px;
    text-align: center;
}
nav#nav_main #menu_sns_btn {}
nav#nav_main #menu_sns_btn .btn_twitter {
    display: inline-block;
    width: 44px;
    height: 44px;
    margin: 0 5px;
    background: url(../../images/icon_twitter.png) no-repeat;
    background-size: contain;
}
nav#nav_main #menu_sns_btn .btn_facebook {
    display: inline-block;
    width: 44px;
    height: 44px;
    margin: 0 5px;
    background: url(../../images/icon_facebook.png) no-repeat;
    background-size: contain;
}
nav#nav_main #menu_close{
    font-size: 15px;
    font-weight: bold;
    line-height: 40px;
    text-align: center;
    background: url(../../images/bg_spmenu_close.png) right 50% no-repeat #000;
    color: #fff;
    cursor: pointer;
}
/*ナビのアクティブ表示設定*/
body#page_index ul#nav_common li#nav_item_home,
body#page_about ul#nav_common li#nav_item_about,
body#page_news ul#nav_common li#nav_item_news,
body#page_business ul#nav_common li#nav_item_business,
body#page_knowledge ul#nav_common li#nav_item_knowledge,
body#page_eco ul#nav_common li#nav_item_eco{
    border-bottom: none;
}
/*####################*/
/*フッタ　footer*/
/*####################*/
footer {}
footer #sns_btn {
    position: relative;
    height: 70px;
    text-align: center;
}
footer #sns_btn .btn_twitter {
    display: inline-block;
    position: relative;
    width: 44px;
    height: 44px;
    right: auto;
    top: auto;
    background: url(../../images/icon_twitter.png) no-repeat;
    background-size: contain;
}
footer #sns_btn .btn_facebook {
    display: inline-block;
    position: relative;
    width: 44px;
    height: 44px;
    right: auto;
    top: auto;
    background: url(../../images/icon_facebook.png) no-repeat;
    background-size: contain;
}
footer #footer_inner {
    width: auto;
    background-color: #fff;
    padding: 40px 20px;
}
footer #footer_inner h1 {
    display: none;
}

footer #footer_inner ul {
    display: none;
}

footer #footer_inner .copyright {
    text-align: center;
    margin: 0 auto;
    font-size: 11px;
    color: #686868;
}
}

/*スマホ想定ここまで*/

/*aoyama　追加*/

h5 {
	font-size: 1.1em;
	}

h5.red {
	font-size: 1.1em;
    color: #d41322;
	}

p.repo{
	margin:0 0 15px 0
}

p.chishiki{
	margin:0 0 15px 0
}

.cont_box02{
	border: 1px solid #666;
	padding: 15px;
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 60px;
	margin-left: 0;
	font-size: 0.9em;
	background-color: #f5f5f5;
}

table.type02 {
	border-collapse: collapse;
	text-align: left;
	border: 1px solid #CCC;
}
table.type02 th {
	padding: 10px;
	font-weight: bold;
	vertical-align: top;
	border: 1px solid #CCC;
}
table.type02 td {
	padding: 10px;
	vertical-align: top;
	border: 1px solid #CCC;
}

table.type03 {
	border-collapse: collapse;
	text-align: left;
	line-height: 1.5;
	border-top-width: 1px;
	border-left-width: 3px;
	border-top-style: solid;
	border-left-style: solid;
	border-top-color: #ccc;
	border-left-color: #999;
}
table.type03 th {
	padding: 10px;
	font-weight: bold;
	vertical-align: top;
	color: #153d73;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;

}
table.type03 td {
	padding: 10px;
	vertical-align: top;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

table.type04 {
	border-collapse: collapse;
	text-align: left;
	line-height: 1.5;
}
table.type04 th {
	padding: 10px;
	font-weight: bold;
	vertical-align: top;
}
table.type04 td {
	padding: 10px;
	vertical-align: top;
}
dl.kitei{}

dl.kitei dt{
	margin-left: 1em;
/*    color: #d41322;
*/}

dl.kitei dd{
	margin-left:2em}

dl.kegawa{}

dl.kegawa dt{
/*    color: #d41322;
*/}

dl.kegawa dd{
	margin-left:1em}
	
.contbox_dl{
	background-color: #f5f5f5;
	margin: 20px;
	padding: 20px;
	border: 1px solid #666;
	}
	
