@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;600&display=swap");
html            { width: 100%; height: 100% }
body   { width: 100%; height: 100%; min-width: 600px;
color: #676767; 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; 
background: url(../image/bg_main_01.jpg) repeat; margin: 0px; padding: 0px; width: 100%; height: 100%; overflow-x: hidden; url: text-align: center 
}

#imageContainer     { margin: 0px; width: 100%; overflow: hidden; visibility: visible; display: block }
#imageContainer img   { position: fixed; top: 0px; left: 0; width: 100%; display: none }
.fitimg  { min-height: 100vh; min-width: 1050px }
.overlay   { background: url(../image/icon/bg_all_2.png) repeat; position: fixed; z-index: 1; top: 0; left: 0; width: 100%; height: 100vh; }

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

.header           { background: url(../image/bg_top_01.jpg) repeat-x left top; text-align: center; margin: 0px auto; position: relative; z-index: 20; width: 100%; height: 300px }
.header_box_01                     { text-align: center; margin: 0px auto; position: relative; z-index: 10; top: 0px; left: 0px; width: 100%; height: 220px }
.header_01_1                           { text-align: center; margin: 0px auto; padding-top: 40px; position: relative; z-index: 20; width: 600px; height: 70px }
.header_01_2                          { text-align: center; margin: 0px auto; position: relative; z-index: 20; width: 600px; height: 130px }
.header_box_02                      { text-align: center; margin: 0px auto; position: absolute; z-index: 30; top: 0px; right: 0px; width: 100px; height: 100px }
.header_02_1                                  { display: none; }
.header_02_2                                   { padding-top: 20px; padding-right: 20px; position: fixed }
.header_box_03                     { text-align: center; margin: 0px auto; position: relative; top: 0px; left: 0px; width: 100%; }

.main_02                                  { text-align: center; float: left; margin: 0px auto; padding-top: 0px; position: relative; width: 100% }
.main_02_1                                    { text-align: center; margin: 30px auto 50px; padding: 0px 10px; position: relative; width: 100%; min-width: 600px }
.main_02_2                                     { text-align: left; clear: both; margin: 0px auto 100px; padding: 0px 10px; position: relative; width: 100%; min-width: 600px }

.table_width_01                       { border: solid 1px #C0C0C0; width: 100%; border-collapse: collapse }
.td_width_01                        { background-color: #F4F4F4; padding: 10px; border: solid 1px #c0c0c0; width: 30%; border-collapse: collapse  }
.td_width_02                        { padding: 10px; border: solid 1px #c0c0c0; width: 70%; border-collapse: collapse  }
.tb td                        { border: solid 1px #d7d7d7; border-collapse: collapse; }
.tb_sample                      { border:1px solid #d7d7d7; border-collapse: collapse; }
.tb td_sample                        { border: solid 1px #d7d7d7; border-collapse: collapse; display: block }

.footer                       { text-align: center; clear: both; margin-right: auto; margin-left: auto; position: relative; z-index: 10; width: 100% }
.foot_box_1                 { text-align: center; margin: 0 auto; padding-top: 50px; padding-bottom: 50px; position: relative; width: 100% }
.foot_box_2                  { background-color: #fc8b13; text-align: center; margin: 0 auto; padding-top: 15px; padding-bottom: 15px; position: relative; width: 100% }
.foot_01                      { text-align: center; position: relative; width: 1050px; height: 210px }
.foot_02                      { text-align: center; position: relative; width: 1050px; height: 40px }
.foot_01_2                         { text-align: center; position: relative; width: 550px; }

.bg_contents_01                { width: 1000px; height: 560px }


.img_size_title_01                              { width: 650px; height: 180px }
.img_size_title_02                              { width: 650px; height: 150px }
.img_size_top                              { width: 800px; height: 450px }
.img_size_00                              { width: 100%; height: auto; }



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

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