* {
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; text-decoration: none; margin: 0px; padding: 0px; overflow-x: hidden; url: text-align: center; min-width: 600px; 
	-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        { display: none; }
.sp_visible        { }

.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%; }
.header_box2                                 { text-align: left; clear: both; margin: 0px auto; padding-top: 60px; padding-right: 20px; padding-left: 20px; position: relative; z-index: 20; width: 100%; max-width: 600px; }
.header_box2_1                        { }
.header_box2_2                    { color: #760303; widht: 100%; text-align: center; font-style: normal; font-weight: bold; font-size: 40px; line-height: 60px; text-decoration: none; margin: 0px auto 30px ; }
.header_box3                       { clear: both; margin: 30px auto 80px; position: relative; width: 500px; }


.main_01                              { text-align: center; float: left; margin: 50px auto 200px; position: relative; z-index: 10; width: 100%; max-width: 600px; }
.main_01_box                            { text-align: center; padding-right: 20px; padding-left: 20px; margin: 0px auto; position: relative; width: 100% }
.main_01_1                              { text-align: center; position: relative; width: 100% }
.main_01_2                             { text-align: left; position: relative; width: 100% }
.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; }
.main_title_bg_1         { background: url(../image/icon/icon_0004.png) no-repeat; position: absolute; z-index: 1; top: -20px; right: 50px; width: 100px; height: 100px; background-size: contain; }                     




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


.main_02_box                   { text-align: center; padding-right: 20px; padding-left: 20px; margin: 0px auto; position: relative; width: 100% }
.main_02_1 a               { float: left; background-color: #126273; text-align: center; color: #fff; font-style: normal; font-size: 36px; margin: 0 3%; position: relative; width: 44%; padding: 20px; cursor: pointer; }
.main_02_1 a:hover         { background-color: #258ca2; text-align: center; color: #fff; font-style: normal; font-size: 36px; text-decoration: none; position: relative; padding: 20px; }
.main_02_2 a               { float: left; background-color: #8C3747; text-align: center; color: #fff; font-style: normal; font-size: 36px; margin: 0 3%; position: relative; width: 44%; padding: 20px; cursor: pointer; }
.main_02_2 a:hover         { background-color: #CB6478; text-align: center; color: #fff; font-style: normal; font-size: 36px; text-decoration: none; position: relative; padding: 20px; cursor: }
.main_02_3                { float: left; text-align: center; margin: 100px auto 0px; position: relative; width: 100%; }



.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; padding-right: 20px; padding-left: 20px; width: 100% }
.sns_box                               { text-align: right; padding-right: 20px; position: fixed; z-index: 100; right: 0px; bottom: 30px; width: 80px; }



/* サイズ関係 */
.img_size_auto         { width: 100%; height: auto }
.img_size_title         { width: 400px; heigth: auto; }
.img_size_title2        { width: 400px; heigth: auto; }
.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: 560px; border-collapse: collapse }
.table_width_taiken                 { margin: 50px auto 0px auto; width: 100%; border-collapse: collapse; }
.td_width_00                    { padding: 15px 15px 10px; border: solid 1px #d7d7d7; width: 50%; border-collapse: collapse  }
.td_width_01                    { background-color: #d5d5d5; padding: 15px 20px 8px; width: 560px; border-collapse: collapse; display: block }
.td_width_02                   { padding: 20px 20px 40px; width: 560px; border-collapse: collapse; display: block }
.td_width_03                   { padding: 5px 0px; width: 100%; border-collapse: collapse; display: block; }
.td_width_04                   { padding: 5px 0px; border-bottom: solid 1px #7E7E7E; width: 100%; border-collapse: collapse; display: block; }



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

.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%;
}