* {
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: 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; }


.main_box                               { text-align: center; float: left; margin: 100px auto 0px; padding-right: 20px; padding-left: 20px; position: relative; width: 100% }
.main_01                              { text-align: center; clear: both; margin: 0px auto; position: relative; z-index: 10; width: 100%; max-width: 600px; }
.main_01_namebox                                { text-align: center; margin: 20px auto 120px; position: relative; width: 100% }
.shop_name_1                            { color: #BA2F4A; font-size: 52px; }
.shop_name_2                          { color: #4F4F4F; font-size: 18px; margin-top: 30px; }

.main_01_1_left                               { text-align: left; float: left; margin: 0px auto 80px; position: relative; width: 100% }
.main_01_1_left_2                               { color: #BA2F4A; float: left; font-size: 18px; text-align: left; margin-top: 10px; position: relative; width: 100% }
.main_01_1_right                              { text-align: left; clear: both; margin: 0px auto; position: relative; width: 100%; }
.main_01_1_right_1             { margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid #e3e3e3 }
.main_01_1_right_2             { margin-top: 20px; }

.main_box_2                               { background-color: #F4F4F4; text-align: center; float: left; margin: 100px auto 0px; padding-right: 20px; padding-left: 20px; position: relative; width: 100% }
.space_1                               { clear: both; position: relative; width: 100%; height: 300px; }



.main_02                               { text-align: center; margin: 0px auto; position: relative; width: 100%; max-width: 600px; }
.main_02_1             { color: #956c43; font-style: normal; font-weight: bold; font-size: 40px; line-height: 32px; text-decoration: none; margin-bottom: 60px }
.main_02_1_tag                     { text-align: center; clear: both; color: #BA2F4A; margin: 0px auto 80px; position: relative; width: 100%; }
.main_02_1_gazou                     { float: left; text-align: left; clear: both; margin: 0px auto 60px; position: relative; width: 100%; }
.main_02_1_comment                     { float: left; text-align: left; clear: both; margin: 0px auto 150px; position: relative; width: 100%; }

.main_title_2             { color: #760303; font-style: normal; font-weight: bold; font-size: 40px; line-height: 60px; text-decoration: none; }


.main_03                       { text-align: center; float: left; clear: both; margin: 120px auto 0px; position: relative; width: 100%; max-width: 600px; }
.main_03_1_syousai                     { text-align: center; clear: both; margin: 0px auto 150px; position: relative; width: 100%; }
.main_03_2_taiken                     { text-align: center; clear: both; margin: 0px auto 120px; position: relative; width: 100%; }
.main_03_3             { color: #956c43; font-style: normal; font-weight: bold; font-size: 40px; line-height: 32px; text-decoration: none; margin-bottom: 60px }

.main_04_map                        { text-align: center; float: left; clear: both; margin: 100px auto 0px; position: relative; width: 100% }
.main_04_map_2                       { text-align: center; float: left; clear: both; margin: 0px auto; position: relative; width: 100% }
.main_04_1                     { text-align: left; clear: both; margin: 0px auto; position: relative; width: 100%; }


/* 一覧表示レスポンシブ */

*, *:before, *:after {
	box-sizing: border-box;
}


.col_4{
	width: 100%;
	display: flex;
	margin-left: auto;
	margin-right: auto;
	flex-wrap: wrap;
}
.col_4 > .col_4_box{
	width: 220px;
	margin-right: 30px; margin-left: 30px;
	margin-bottom: 100px;
	position: relative;
	text-align: left;
	overflow: hidden;
}

.col_kanren   { width: 100%; display: flex; margin-left: auto; margin-right: auto; flex-wrap: wrap; }
.col_kanren > div  { width: 200px; margin-right: 40px; margin-left: 40px; margin-bottom: 100px; position: relative; text-align: center; overflow: hidden; }


.ichiran_img_box             { text-align: left; width: 100%; max-width: 220px; }
.ichiran_img_1              { position: relative; z-index: 5; width: 100%; max-width: 220px; }



.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_shadow_img                           { width: 100%; }
.footer_shadow_1                        { position: absolute; top: 0px; width: 100%; z-index: 7; }
.footer_shadow_2                          { background: url(../image/icon/icon_shadow_01.png) repeat; position: absolute; z-index: 5; top: 0px; width: 100%; height: 400px }
.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         { width: 100%; height: auto }
.img_size_title        { width: 400px; heigth: auto; }
.img_size_title2       { width: 400px; heigth: auto; }
.img_size_00                              { width: 100%; max-width: 1000px; }
.img_size_01                              { width: 100%; height: auto; }

.table_width_01                { width: 100%; border:1px solid #d7d7d7; border-collapse:collapse; max-width: 800px; }
.table_width_02                { width: 100%; border:1px solid #d7d7d7; border-collapse:collapse; max-width: 800px; }
.td_width_01                   { background-color: #f5f5f5; padding: 15px 15px 10px; border: solid 1px #d7d7d7; width: 30%; border-collapse: collapse  }
.td_width_02                   { padding: 15px 15px 10px; border: solid 1px #d7d7d7; border-collapse: collapse  }
.td_width_03                   { background-color: #f5f5f5; padding: 15px 15px 10px; border: solid 1px #d7d7d7; width: 30%; border-collapse: collapse  }
.td_width_04                   { padding: 15px 15px 10px; border: solid 1px #d7d7d7; border-collapse: collapse  }

.osusume_td_01                  { text-align: left; float: left; margin-right: 35px; margin-left: 35px; width: 220px }



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

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



/* 画像 */

.mainimage img                  { margin: 0px 0px 20px; width: 98%; }
.thumbnails                 { text-align: left; margin: 0 auto; width: 100% }
.thumbnails img                     { float: left; margin-right: 2%; width: 23%; height: auto; cursor: pointer  }

.mainimage_2 img                  { margin: 0px 0px 50px; width: 98%; }
.thumbnails_2                 { text-align: left; margin: 0 auto; width: 100%; flex-wrap: wrap;}
.thumbnails_2 img                      { float: left; margin-right: 2%; margin-bottom: 20px; width: 23%; height: auto; cursor: pointer  }
