* {
margin:0;
outline:0;
padding:0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

html            { width: 100%; height: 100% }
body                  { width: 100%; height: 100%; font-family:"游明朝体", "Yu Mincho", YuMincho, 'Noto Serif JP', 'Hiragino Mincho ProN', "Helvetica Neue", serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; margin: 0px; padding: 0px; overflow-x: hidden; url: text-align: center; min-width: 960px;
	-webkit-text-size-adjust: 100%; /*Chrome,Safari*/
	-moz-text-size-adjust: 100%; /*firefox*/
	-ms-text-size-adjust: 100%; /*EgdeMobile*/
	-o-text-size-adjust:100%;
	text-size-adjust:100%;
 }

.hidden        { display: none; }
.main_visible          { }
.sp_visible        { display: none; }


.header                                { background: url(../image/bg_head.png) repeat-x; text-align: center; clear: both; position: relative; z-index: 20; width: 100%; height: 320px; }
.header_box                                { text-align: center; clear: both; margin: 0px auto 0px auto; padding-top: 20px; position: relative; z-index: 20; width: 100%; max-width: 1200px; }
.header_box2                                  { text-align: center; clear: both; margin: 80px auto 0px; padding: 80px 0px; position: relative; z-index: 20; width: 100%; max-width: 1200px; min-width: 900px }
.header_box2_bg_l                       { background: url(../image/icon/icon_0001.png) no-repeat; position: absolute; z-index: 1; top: 20px; left: -30px; width: 320px; height: 160px; background-size: cover }
.header_box2_bg_r                      { background: url(../image/icon/icon_0002.png) no-repeat; position: absolute; z-index: 1; bottom: 0px; right: -30px; width: 400px; height: 184px; background-size: cover; }
.header_box2_1                        { position: relative; z-index: 20; width: 100% }
.header_box2_2                    { color: #760303; font-style: normal; font-weight: bold; font-size: 40px; line-height: 60px; text-decoration: none; margin: 0px auto 30px ; }
.header_box3                       { clear: both; margin: 0px auto 50px; position: relative; width: 100%; max-width: 500px;}


.main_01                              { text-align: center; float: left; margin: 50px auto 200px; clear: both; position: relative; z-index: 30; width: 100% }
.main_01_box                             { text-align: center; margin: 0px auto; padding: 0px 20px; position: relative; width: 100% }
.main_01_1                             { text-align: center; margin: 0px auto; position: relative; width: 100%; max-width: 900px }
.main_01_2                                { font-size: 18px; line-height: 30px; text-align: left; margin: 0px auto; position: relative; width: 100%; max-width: 900px }
.contents_space_1                               { text-align: center; float: left; clear: both; margin: 0px auto; position: relative; width: 100%; height: 100px }

.main_title              { background: url(../image/icon/icon_underline.png) no-repeat 0 bottom; width: 450px; background-size: contain; margin: 0 auto 100px; color: #760303; font-style: normal; font-weight: bold; font-size: 50px; line-height: 60px; text-decoration: none; padding: 0 0 30px 0; }
.main_title_bg_1         { background: url(../image/icon/icon_0004.png) no-repeat; position: absolute; z-index: 1; top: -20px; right: 220px; width: 100px; height: 100px; background-size: contain; }                     




/* マップ部分 */
.main_map                              { text-align: center; margin: 0px auto; position: relative; width: 100%; }
.main_map_01                                    { text-align: left; margin: 0px auto 0px auto; position: relative; z-index: 20; width: 100%; height: 100%; max-width: 1400px;}
.taiken_link                                  { background-color: #f0f0f0; text-align: center; margin: 8px 15px; padding: 8px 15px 8px; cursor: pointer ; display: block }
.img_size_map                          { width: 100%; height: auto; }


.main_02_box                     { text-align: center; margin: 0px auto; position: relative; padding: 0px 15px; width: 100%; max-width: 960px; }
.main_02_1 a               { float: left; background-color: #126273; text-align: center; color: #fff; font-style: normal; font-size: 36px; margin: 0 5%; position: relative; width: 40%; padding: 20px; cursor: pointer; }
.main_02_1 a:hover         { background-color: #258CA2; text-align: center; color: #fff; font-style: normal; font-size: 36px; margin: 0 5%; position: relative; width: 40%; padding: 20px; }
.main_02_2 a               { float: left; background-color: #8C3747; text-align: center; color: #fff; font-style: normal; font-size: 36px; margin: 0 5%; position: relative; width: 40%; padding: 20px; cursor: pointer; }
.main_02_2 a:hover         { background-color: #CB6478; text-align: center; color: #fff; font-style: normal; font-size: 36px; margin: 0 5%; position: relative; width: 40%; padding: 20px; cursor: }
.main_02_3                { float: left; text-align: center; margin: 100px auto 0px; position: relative; width: 100%; }

.main_02_link_1                               { background-color: #d67d27; text-align: center; margin: 0px auto 30px; padding: 30px 10px; width: 100%; display: block }
.main_02_link_1:hover                              { background-color: #FFB975; text-align: center; margin: 0px auto 30px auto; padding: 30px 10px; width: 80%; display: block }



.footer                              { background: url(../image/bg_foot.png) repeat-x; text-align: center; float: left; clear: both; padding-top: 40px; padding-bottom: 40px; position: relative; width: 100% }
.foot_box_1                  { text-align: center; margin: 0 auto; width: 100%; }
.sns_box                               { text-align: right; padding-right: 20px; position: fixed; z-index: 100; right: 0px; bottom: 30px; width: 80px; }


/* サイズ関係 */
.img_size_auto         { }
.img_size_title          { }
.img_size_title2          { }
.img_size_icon_01          { width: 80px; height: auto; }
.img_size_00          { width: 100%; max-width: 1000px; }

.table_width_00                { width: 100%; border:1px solid #d7d7d7; border-collapse:collapse; }
.table_width_01                { width: 100%; border:1px solid #d7d7d7; border-collapse:collapse; max-width: 800px; }
.table_width_taiken                 { margin: 60px auto 0px auto; width: 100%; border-collapse: collapse; max-width: 1200px }
.td_width_00                    { padding: 15px 15px 10px; border: solid 1px #d7d7d7; width: 50%; border-collapse: collapse  }
.td_width_01                   { background-color: #f5f5f5; padding: 15px 15px 10px; border: solid 1px #d7d7d7; width: 300px; border-collapse: collapse  }
.td_width_02                   { background-color: #f5f5f5; padding: 15px 15px 10px; border: solid 1px #d7d7d7; border-collapse: collapse  }
.td_width_03                   { padding: 5px 0px; border-bottom: solid 1px #7E7E7E; width: 300px; border-collapse: collapse; }
.td_width_04                   { padding: 5px 0px; border-bottom: solid 1px #7E7E7E; border-collapse: collapse; }



/* マウスオーバーでアンダーライン */

.list-item::after{
   content: '';
        display:block;
        width:0;
        margin: 5px auto 0;
        border-bottom: 2px solid  #FF9D3E;
        transition: width 0.3s ease-in-out;
}

.list-item:hover::after{
  width: 100%;
}

.list-item2::after{
   content: '';
        display:block;
        width:0;
        margin: 0px auto 0;
        border-bottom: 2px solid  #FF9D3E;
        transition: width 0.3s ease-in-out;
}

.list-item2:hover::after{
  width: 100%;
}