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

#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; }
#vegas   { width: 100%; height: 640px; }


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


.header                              { text-align: center; clear: both; position: relative; z-index: 20; width: 100%;  height: auto; }
.header_bg                        { text-align: center; margin: 0px auto; position: relative; width: 100%; height: auto; }
.header_box                        { width: 100%; position: absolute; top: 50%; left: 50%; transform: translateY(-60%) translateX(-50%); -webkit- transform: translateY(-60%) translateX(-50%); }

.header_box_1                          { text-align: center; margin: 0px auto 10px; position: relative; width: 100%; }
.header_box_2                          { text-align: center; margin: 0px auto; margin-top: 0px; position: relative; width: 100%; }

.title_image_size                         { width: 400px; height: auto }

.main_copy             { text-align: center; margin: 0px auto 10px; padding-bottom: 80px; position: relative; max-width: 600px }
 

/* リード部 */
.main_01                                  { text-align: center; float: left; clear: both; margin: 100px auto 0px; position: relative; z-index: 10; width: 100% }
.main_01_box                                   { text-align: center; margin: 0px auto; padding: 0px 20px; position: relative; width: 100%; max-width: 1100px }
.topics_flame                          { text-align: center; position: rerative; width: 100%; height: auto; }

/* 紹介 */
.main_01_1_l                                  { text-align: left; clear: both; position: relative; z-index: 10; width: 100% }
.main_01_1_r                                 { text-align: left; clear: both; position: relative; z-index: 10; width: 100% }



/* 申請・問い合わせ */
.main_02                                 { background-color: #FAF0D2; text-align: center; float: left; clear: both; margin: 100px auto 0px; padding: 80px 0px; position: relative; z-index: 10; width: 100% }
.main_03_box                                   { text-align: center; margin: 0px auto; padding: 0px 20px; position: relative; width: 100%; max-width: 1100px }


/* プライバシー */
.main_02_box                              { text-align: center; margin: 0px auto 100px; padding: 0px 20px; position: relative; width: 100% }
.main_01_2                               { text-align: left; margin-bottom: 120px; width: 100%; }


/* 紹介 */
.main_05_img_top                    { text-align: left; padding: 0px 20px; position: absolute; top: 50%; left: 50%; transform: translateY(-50%) translateX(-50%); -webkit- transform: translateY(-50%) translateX(-50%); width: 100%; max-width: 1100px;　}
.main_05_text1              { color: #3a3a3a; font-size: 24px; line-height: 50px; text-decoration: none; margin: 50px auto 10px; }
.main_05_text2              { color: #39854C; font-style: normal; font-weight: bold; font-size: 56px; line-height: 80px; text-decoration: none; margin: 0px auto; }
.main_05_box                 { background-color: #FAF0D2; text-align: center; float: left; clear: both; padding: 80px 0px; position: relative; z-index: 10; width: 100%; }
.main_05_1                 { text-align: center; clear: both; margin: 0px auto; padding: 30px 20px; position: relative; z-index: 10; width: 100%; max-width: 1100px; }
.main_05_1_l                 { text-align: left; float: left; position: relative; width: 100%; }
.main_05_1_r                { float: right; position: relative; width: 100%; }
.main_05_1_1               { float: left; text-align: left; position: relative; width: 100%; margin-bottom: 40px; }
.main_05_2_l                 { float: left; position: relative; width: 100%; }
.main_05_2_r                { text-align: left; float: right; position: relative; width: 100%; }


.footer_bgbox             { text-align: center; clear: both; position: relative; z-index: 20; width: 100%;  height: auto; }
.footer_bg                  { text-align: center; margin: 0px auto; position: absolute; bottom: -5px; width: 100%; height: auto; }
.footer                    { background: url(../image/bg_footer_02.png) repeat; text-align: center; clear: both; position: relative; width: 100%; z-index: 10; }
.foot_box_1                     { text-align: center; margin: 0 auto; padding: 120px 0px 0px; z-index: 10; width: 100% }
.foot_box_2                    { background-color: #146627; text-align: center; margin: 0 auto; padding: 10px 0px; width: 100% }
.foot_box_3                   { text-align: center; margin: 0 auto; padding: 20px 0px 120px; position: relative; width: 100% }
.foot_box_3_1                   { margin: 0 auto; padding: 0px 15px; position: relative; width: 80px }
.foot_box_3_2                   { margin: 0 auto; padding: 0px 15px; position: relative; width: 150px }

.sns_box                               { text-align: right; position: fixed; z-index: 100; right: 0px; bottom: 0px; width: 80px; height: 160px }
#pageTop     { position: fixed; right: 30px; bottom: 60px }


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

.img_size_01                              { width: 100%; height: auto; }
.img_size_02_topicon                              { width: 90px; height: auto; }
.img_size_03_news                              { width: 90px; height: auto; margin-right: 15px; }
.img_size_05_pagetop                             { max-width: 70px; height: auto; }

.table_width_01                { width: 780px; }
.td_width_01                { width: 280px; }
.osusume_td_01                  { text-align: left; float: left; margin-right: 40px; margin-left: 40px; width: 220px }



/* masonry用 */

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

.grid{
	width: 1160px;
	display: flex;
	margin-left: auto;
	margin-right: auto;
	flex-wrap: wrap;
	text-align: center;
}

.grid__item{
	width: 220px;
	margin-right: 35px; margin-left: 35px;
	margin-bottom: 80px;
	position: relative;
	text-align: left;
	overflow: hidden;
}

@media screen and (max-width: 1000px) {
	.grid{
		width: 870px;
	}
}
@media screen and (max-width: 600px) {
	.grid{
		width: 580px;
	}
}


.photo-item__image {
	max-width: 100%;
}

.empty{
	border-width: 0;
	background-color: #fff;
}

.page-load-status {
	margin: auto;
	letter-spacing: .1em;
	text-align: center;
	font-size: 18px;
	color: #999999;
}

.page-load-status i {
	display: block;
	margin-bottom: 10px;
	font-size: 1.8rem;
	color: #4A3C37;
}

.infinite-scroll-request,
.infinite-scroll-last,
.infinite-scroll-error {
	display: none;
}

.pagination {
	position: absolute;
	bottom: -20px;
	margin: auto;
	text-align: center;
}

.pagination a {
	display: block;
	line-height: 34px;
	margin: auto;
	text-align: center;
	text-decoration: none;
	font-size: 1.4rem;
	font-weight: bold;
	color: #4A3C37;
	background: #70d8c3;
	border-radius: 4px;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.pagination a:hover {
	background: #30B298;
}







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

.list-item::after{}
.list-item:hover::after{}

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

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

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



/* 商品画像の切り替え表示 */

.mainimage img                 { text-align: left; margin: 0px 0px 20px }
.thumbnails                { text-align:left; width: 100%; margin: 0 auto; }
.thumbnails img                   { margin: 0px 10px 0px 0px; width: 80px; height: auto }
