@charset "utf-8";


@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500&display=swap');


/*======================================

	common 
	
========================================*/

html{
	padding: 0 0 0 0;
	margin: 0 0 0 0;
}

body{
	padding: 0 0 0 0;
	margin: 0 0 0 0;
}



	


/*======================================

	common text
	
========================================*/



p {
	color: #555555;
	font-size: 15px;
	line-height: 30px;
}

a{
	color:#555555;
	text-decoration: underline;	
}




a img{
border:none;
padding:0 0 0 0;
margin:0 0 0 0;
transition: all  0.5s ease;
}
a img:hover{
opacity: 0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha(opacity=70)";
}


figure{
	width:100%;
	margin: 0 0 0 0;
	padding:0 0 0 0;
}
figure img{
	width:100%;
	height:auto;
	margin: 0 0 0 0;
	padding:0 0 0 0;
}

section{
	text-align: left;
}

*{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}



.clear{
	clear:both;
	height: 0px;
	overflow: hidden;
}







@media only screen and (max-width: 480px) {



.main{
min-width: 100%;
padding: 0 0px 0 0px;
position:relative;
width:100%;
overflow:hidden;
margin: 0 0 0px 0;
height:100vh;
z-index: 10;
}

.main-bg{
	width: 100%;
	height: 100vh;
	object-fit:cover;
	position: absolute;
	bottom: 0;
}


.main-inner{
	width:100%;
	height:auto;
	position:absolute;
	top:45%;
	left: 50%;
	transform: translate(-50%,-50%);
	margin:auto;
	z-index: 30;
	text-align: center;
}

.main-logo{
	width:240px;
	padding: 30px 12px 24px 12px;
	height:auto;
	margin:auto;
	z-index: 30;
	text-align: center;
	background-color: rgba(255, 255, 255, 0.9);
	border: 2px solid #000;
}


.main-logo h1{
	width: auto;
	height: auto;
	margin: 0 auto 0px auto;
	padding: 0 0 0 0;
	line-height: 1;
}
.main-logo span.store-name{
	display: block;
	line-height: 1;
	font-size: 14px;
	font-family: serif;
	color: #444;
	margin: 0 auto 0px auto;
	padding: 0 0 0 0;
}
.main-logo span.store-name-english{
	display: block;
	line-height: 1.5;
	font-size: 12px;
	color: #444;
	margin: 24px auto 0px auto;
	padding: 0 0 0 0;
}

.main-logo h1 img{
	display: block;
	width: 100%;
	height:100vh;
	object-fit:cover;
	height: auto;
	line-height: 1;
	margin: 0 auto 0px auto;
	padding: 0 0 0 0;
}






.scroll-text{
	color:#fff;
	font-size:13px;
	font-weight: 500;
	letter-spacing:.1em;
	opacity: 1;
	z-index: 200;
	position:absolute;
	bottom: 120px;
	left: 50%;
	transform: translate(-50%,0);

	}

	.scrolldrop-wrapper{
	position:absolute;
	width:150px;
	height:120px;
	left: 50%;
	bottom:0px;
	transform: translate(-50%,0);
	background: transparent;
	z-index: 50;
	}
	.scrolldrop{
	display:block;
	position:absolute;
	top:0px;
	left:67px;
	animation:scroll 1.5s linear infinite;
	}

@keyframes scroll{
	0%{top:0;left:67px;opacity:1}
	50%{top:50%;left:67px;opacity:1}
	100%{top:100%;left:67px;opacity:0}
}





.top-navi{
	width:100%;
	padding: 0px;
	height:auto;
	margin: 60px auto 30px auto;
	z-index: 30;
	display: block;
	justify-content: center;
}

.top-navi a{
	width: 240px;
	display: block;
	margin: 0 auto 18px auto;
	padding: 12px;
	color:#fff;
	background: #bd2d2f;
	font-size: 21px;
	font-family: 'Noto Serif JP', serif;
	text-decoration: none;
	border: 1px solid #bd2d2f
}

.top-navi a:hover{
	color:#bd2d2f;
	background: #fff;
	border: 1px solid #bd2d2f;
}





/*======================================

	h2 
	
========================================*/

h2.h2-top{
	text-align: center;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	font-size:18px;
	line-height: 1;
	border-bottom:0px solid #ccc;
	padding: 0 0 15px 0;
	margin: 0px auto 18px auto;
	display: flex;
	align-items: center;
	width: 85%;
}

.h2-top:before,
.h2-top:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #000;
}

.h2-top:before {
    margin-right: 21px;
}

.h2-top:after {
    margin-left: 21px;
}

h2.h2-top a{
	text-decoration: none;
}


/*======================================

	top-news
	
========================================*/

.top-blog-wrapper{
	width: 95%;
	margin: 60px auto 60px auto;
	display: block;
	justify-content: space-between;
}

.top-blog-left{
	width: 100%;
	margin-bottom: 45px;
}
.top-blog-right{
	width: 100%;
}


.top-blog{
	width: 100%;
	margin: 0 auto 0 auto;
	border-top: 1px solid #ddd;
}

.top-blog-box{
	display: block;
	width: 100%;
	border-bottom: 1px solid #ddd;
	text-decoration: none;
	color: #444;
	padding: 12px 9px 9px 9px;
}

.top-blog-box:hover{
	background: #efefef;
}

.top-blog-head{
	width: 100%;
	margin: 0 auto 0 auto;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.top-blog-date {
	display: inline-block;
	font-size:12px;
	line-height: 11px;
	margin:0 12px 0px 0;
	overflow: hidden;
	color: #bd2d2f;
}

.top-blog-cat {
	text-align: left;
	display: inline-block;
	background: #fff;
	color:#999;
	font-size:10px;
	line-height: 11px;
	padding:4px 8px 4px 8px;
	margin:0 0 0px 0;
	overflow: hidden;
	border-radius: 6px;		/* CSS3草案 */
	-webkit-border-radius: 6px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 6px;	/* Firefox用 */
	border: 1px solid #ddd;
}


.top-blog-box-h3{
	font-size: 14px;
	font-weight: normal;
	line-height: 1.8;
	padding:  0 0 0 0;
	margin: 9px 0 0 0;
}

a.to-blog{
	display: block;
	width:240px;
	font-size:14px;
	color: #000;
	background: #fff;
	border: 1px solid #666;
	padding:10px 0px 9px 0px;
	margin: 21px auto 0 auto;
	text-decoration: none;
	text-align: center;
}

a.to-blog:hover{
	color:#fff;
	background: #bd2d2f;
}




/*======================================

	top-access
	
========================================*/

#top-access{
	margin: 60px auto 60px auto;
}

.access{
	width: 90%;
	margin: 45px auto 60px auto;
	display: block;
	justify-content: space-between;
}

.access-left{
	width: 100%;
	margin-bottom: 45px;
}
.access-right{
	width: 100%;
}


/*======================================

	top-footer
	
========================================*/
#top-footer{
	margin: 60px auto 0px auto;
	padding: 60px 0 36px 0;
	background: #bd2d2f;
}


.footer-navi{
	width:100%;
	padding: 0px;
	height:auto;
	margin: 0px auto 54px auto;
	padding: 0px 0 0px 0;
	z-index: 30;
	display: block;
	justify-content: center;
}

.footer-navi a{
	width: 240px;
	display: block;
	margin: 0 auto 21px auto;
	padding: 12px;
	color:#bd2d2f;
	background: #fff;
	font-size: 21px;
	font-family: 'Noto Serif JP', serif;
	text-decoration: none;
	border: 1px solid #fff;
	text-align: center;
}

.footer-navi a:hover{
	color:#fff;
	background: #bd2d2f;
	border: 1px solid #fff
}


.copyright{
	font-size:11px;
	color: #fff;
	text-align: center;
}





}/*//end  min-width: 481px ///////////////////////*/











@media only screen and (min-width: 481px) {




.main{
min-width: 1040px;
padding: 0 0px 0 0px;
position:relative;
width:100%;
overflow:hidden;
margin: 0 0 0px 0;
height:100vh;
z-index: 10;
}

.main-bg{
	width: 100%;
	height: 100vh;
	object-fit:cover;
	position: absolute;
	bottom: 0;
}


.main-inner{
	width:100%;
	height:auto;
	position:absolute;
	top:45%;
	left: 50%;
	transform: translate(-50%,-50%);
	margin:auto;
	z-index: 30;
	text-align: center;
}

.main-logo{
	width:480px;
	padding: 30px 24px 24px 45px;
	height:auto;
	margin:auto;
	z-index: 30;
	text-align: center;
	background-color: rgba(255, 255, 255, 0.9);
	border: 2px solid #000;
}


.main-logo h1{
	width: auto;
	height: auto;
	margin: 0 auto 0px auto;
	padding: 0 0 0 0;
	line-height: 1;
}
.main-logo span.store-name{
	display: block;
	line-height: 1;
	font-size: 16px;
	font-family: serif;
	color: #444;
	margin: 0 auto 0px auto;
	padding: 0 0 0 0;
}
.main-logo span.store-name-english{
	display: block;
	line-height: 1.5;
	font-size: 14px;
	color: #444;
	margin: 24px auto 0px auto;
	padding: 0 0 0 0;
}

.main-logo h1 img{
	display: block;
	width: 100%;
	height:100vh;
	object-fit:cover;
	height: auto;
	line-height: 1;
	margin: 0 auto 0px auto;
	padding: 0 0 0 0;
}






.scroll-text{
	color:#fff;
	font-size:13px;
	font-weight: 500;
	letter-spacing:.1em;
	opacity: 1;
	z-index: 200;
	position:absolute;
	bottom: 120px;
	left: 50%;
	transform: translate(-50%,0);

	}

	.scrolldrop-wrapper{
	position:absolute;
	width:150px;
	height:120px;
	left: 50%;
	bottom:0px;
	transform: translate(-50%,0);
	background: transparent;
	z-index: 50;
	}
	.scrolldrop{
	display:block;
	position:absolute;
	top:0px;
	left:67px;
	animation:scroll 1.5s linear infinite;
	}

@keyframes scroll{
	0%{top:0;left:67px;opacity:1}
	50%{top:50%;left:67px;opacity:1}
	100%{top:100%;left:67px;opacity:0}
}





.top-navi{
	width:100%;
	padding: 0px;
	height:auto;
	margin: 90px auto 30px auto;
	z-index: 30;
	display: flex;
	justify-content: center;
}

.top-navi a{
	width: 300px;
	display: block;
	margin: 0 24px 0 24px;
	padding: 18px;
	color:#fff;
	background: #bd2d2f;
	font-size: 24px;
	font-family: 'Noto Serif JP', serif;
	text-decoration: none;
	border: 1px solid #bd2d2f
}

.top-navi a:hover{
	color:#bd2d2f;
	background: #fff;
	border: 1px solid #bd2d2f;
}





/*======================================

	h2 
	
========================================*/

h2.h2-top{
	text-align: center;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	font-size:21px;
	line-height: 1;
	border-bottom:0px solid #ccc;
	padding: 0 0 15px 0;
	margin: 0px auto 24px auto;
	display: flex;
	align-items: center;
	width: 85%;
}

.h2-top:before,
.h2-top:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #000;
}

.h2-top:before {
    margin-right: 21px;
}

.h2-top:after {
    margin-left: 21px;
}

h2.h2-top a{
	text-decoration: none;
}


/*======================================

	top-news
	
========================================*/

.top-blog-wrapper{
	width: 1080px;
	margin: 60px auto 60px auto;
	display: flex;
	justify-content: space-between;
}

.top-blog-left{
	width: 48%;
}
.top-blog-right{
	width: 48%;
}


.top-blog{
	width: 100%;
	margin: 0 auto 0 auto;
	border-top: 1px solid #ddd;
}

.top-blog-box{
	display: block;
	width: 100%;
	border-bottom: 1px solid #ddd;
	text-decoration: none;
	color: #444;
	padding: 12px 9px 9px 9px;
}

.top-blog-box:hover{
	background: #efefef;
}

.top-blog-head{
	width: 100%;
	margin: 0 auto 0 auto;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.top-blog-date {
	display: inline-block;
	font-size:12px;
	line-height: 11px;
	margin:0 12px 0px 0;
	overflow: hidden;
	color: #bd2d2f;
}

.top-blog-cat {
	text-align: left;
	display: inline-block;
	background: #fff;
	color:#999;
	font-size:10px;
	line-height: 11px;
	padding:4px 8px 4px 8px;
	margin:0 0 0px 0;
	overflow: hidden;
	border-radius: 6px;		/* CSS3草案 */
	-webkit-border-radius: 6px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 6px;	/* Firefox用 */
	border: 1px solid #ddd;
}


.top-blog-box-h3{
	font-size: 14px;
	font-weight: normal;
	line-height: 1.8;
	padding:  0 0 0 0;
	margin: 9px 0 0 0;
}

a.to-blog{
	display: block;
	width:240px;
	font-size:14px;
	color: #000;
	background: #fff;
	border: 1px solid #666;
	padding:10px 0px 9px 0px;
	margin: 40px auto 0 auto;
	text-decoration: none;
	text-align: center;
}

a.to-blog:hover{
	color:#fff;
	background: #bd2d2f;
}




/*======================================

	top-access
	
========================================*/

#top-access{
	margin: 60px auto 60px auto;
}

.access{
	width: 1080px;
	margin: 45px auto 60px auto;
	display: flex;
	justify-content: space-between;
}
.access-left{
	width: 48%;
}
.access-right{
	width: 48%;

}




/*======================================

	top-footer
	
========================================*/
#top-footer{
	margin: 60px auto 0px auto;
	padding: 60px 0 36px 0;
	background: #bd2d2f;
}


.footer-navi{
	width:100%;
	padding: 0px;
	height:auto;
	margin: 0px auto 54px auto;
	padding: 0px 0 0px 0;
	z-index: 30;
	display: flex;
	justify-content: center;
}

.footer-navi a{
	width: 300px;
	display: block;
	margin: 0 24px 0 24px;
	padding: 18px;
	color:#bd2d2f;
	background: #fff;
	font-size: 24px;
	font-family: 'Noto Serif JP', serif;
	text-decoration: none;
	border: 1px solid #fff;
	text-align: center;
}

.footer-navi a:hover{
	color:#fff;
	background: #bd2d2f;
	border: 1px solid #fff
}


.copyright{
	font-size:14px;
	color: #fff;
	text-align: center;
}

/*//end  min-width: 769px ///////////////////////*/




