html,body { margin:0; padding:0; font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif; }
img { vertical-align:middle; }
body * { box-sizing: border-box; }

.flexBox { width:100%; display:flex; justify-content: space-between; }
header { position:fixed; top:0; left:0; background-color:rgba(255,255,255,1.0); box-shadow: 0px 10px 10px -5px rgba(0,0,0,0.5); border-bottom:1px solid #EEE; width:100%; z-index:99; display: flex; justify-content: space-between; align-items: center; }
header#page { display:block; }
  h1 { margin:0; padding:0 1%; }
  ul#menu { margin:0 1% 0 0; padding:0;  display:flex; list-style-type:none; align-items: center;  }
    ul#menu li { margin: 0 0 0 24px; }
      ul#menu a { color:#000; text-decoration:none; }

  .hamburger-menu { display:none; }
/* */
section { padding:36px 0; }

/* TOP */
section#top { padding:0; width:100%; overflow:hidden; }
#tpMvBox { height:100vh; text-align:center; overflow:hidden; }
/*
#tpMvBox video { width:auto; height:100vh; margin: 0 auto; }
*/
#tpMainBox { width:100%; height:100vh; text-align:center; background:url("images/tp_main_bk.jpg") no-repeat 0 0; background-size:auto 100%; }
#tpMainBox img { margin:0; height:100%; }
#tpMainBox div { height:100vh; width:auto; background-color:rgba(255,255,255,0.6); position:absolute; right:0; padding:0 48px; }
#tpMainBox video { height:100vh; width:auto; border:0; }

/* aboutus */
#aboutus .flexBox { width:90%; max-width:1000px; margin:0 auto; }
#abImg { margin:0 24px 0 0; }
#aboutus h2 { margin:0; padding:0; }

#aboutus ul { padding:24px 0; list-style-type:none; }
#aboutus li { width:32%; margin:0; padding:0; }
#aboutus li img { width:100%; height:auto; }

/* menu */
section#sanpei_menu { text-align:center; }
section#sanpei_menu img { width:90%; max-width:1100px; height:auto;}


/* shop info */
#shopInfo { width:90%; max-width:1000px; margin:0 auto; }
#shopInfo > div { width:40%; }
#shopInfo h3 { margin:0 0 16px 0 ; padding:0; background-color:#f5f1df; color:#673b1b; border-left:12px solid #673b1b; text-align:left; padding-left:12px; }
#shopInfo dl { display:flex; justify-content: space-between; flex-wrap:wrap; margin:0; padding:0; font-size:14px; }
#shopInfo dt { margin:0; padding:0; width:20%; }
#shopInfo dd { margin:0; padding:0; width:80%; }
#shopInfo iframe { width:58%; }

/* information */
#information { background-color:#f5f1df; }
#information h3 { width:90%; max-width:1000px; margin:0 auto; padding:0; background-color:#f5f1df; color:#673b1b; border-left:12px solid #673b1b; text-align:left; padding-left:12px; }
#information ul { width:90%; max-width:1000px; list-style-type:none; display:flex; justify-content: space-between; flex-wrap:wrap; margin:0 auto; padding:0; }
#information ul::before{
  content:"";
  display: block;
  width:23%;
  order:1;
}
#information ul::after{
  content:"";
  display: block;
  width:23%;
}

#information li { width:24%; margin:16px 0; padding:0 0 16px 0; }
#information li a { color:#000; text-decoration:none; }
.infoThumb { width:100%; height:140px; overflow:hidden; }
.infoThumb img { width:100%; height:auto; }
.infoTitle   { font-size:14px; height:2em; margin-top:8px; font-weight:bold; }




/* */
footer { background-color:#de5718; color:#FFF; text-align:center; padding:16px 0; }
footer a { color:#FFF; text-decoration:none; }
footer ul { display:flex; justify-content: center; list-style-type:none; margin:0 0 16px 0; padding:0; }
footer li { margin:0; padding:0 12px; border-right:1px solid #FFF; }
footer li:first-child { border-left:1px solid #FFF; }
footer img { margin-bottom:16px; }


@media screen and (max-width: 548px) {
	ul#menu { display:none; }
	.hamburger-menu { display:block; }

	footer ul { display:block;  }

/* */
	.hamburger-menu { display:block; }
	.menu-btn {
	    position: fixed;
	    top: 10px;
	    right: 10px;
	    display: flex;
	    height: 26px;
	    width: 26px;
	    justify-content: center;
	    align-items: center;
	    z-index: 90;
	    background-color: #000;
	}
	.menu-btn span,
	.menu-btn span:before,
	.menu-btn span:after {
	    content: '';
	    display: block;
	    height: 3px;
	    width: 22px;
	    border-radius: 3px;
	    background-color: #ffffff;
	    position: absolute;
	}
	.menu-btn span:before {
	    bottom: 8px;
	}
	.menu-btn span:after {
	    top: 8px;
	}

	#menu-btn-check:checked ~ .menu-btn span {
	    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
	}
	#menu-btn-check:checked ~ .menu-btn span::before {
	    bottom: 0;
	    transform: rotate(45deg);
	}
	#menu-btn-check:checked ~ .menu-btn span::after {
	    top: 0;
	    transform: rotate(-45deg);
	}
	#menu-btn-check {
	    display: none;
	}


	.menu-content ul {
	    padding: 40px 10px 0;
	}
	.menu-content ul li {
	    border-bottom: solid 1px #999;
	    list-style: none;
	}
	.menu-content ul li a {
	    display: block;
	    width: 100%;
	    font-size: 15px;
	    box-sizing: border-box;
	    color:#000;
	    text-decoration: none;
	    padding: 9px 15px 10px 0;
	    position: relative;
	}
	.menu-content ul li a::before {
	    content: "";
	    width: 7px;
	    height: 7px;
	    border-top: solid 2px #999;
	    border-right: solid 2px #999;
	    transform: rotate(45deg);
	    position: absolute;
	    right: 11px;
	    top: 16px;
	}

	.menu-content {
	    width: 100%;
	    height: 100vh;
	    position: fixed;
	    top: 0;
	    left: 100%;
	    z-index: 80;
	    background-color: rgba(200,200,200,0.9);
	    transition: all 0.5s;
	}

	#menu-btn-check:checked ~ .menu-content {
	    left: 0;/*メニューを画面内へ*/
	}

/* ********* */
	section#top { display:block; }
	#tpMainBox { background:url("images/tp_main.jpg") no-repeat 0 0; background-size:auto auto; }
	#tpMainBox div { position:static; padding:0; margin:0 auto; }

	/* aboutus */
	#aboutus .flexBox { display:block; }
	#abImg { margin:0 0 0 0; }
	#abImg img { width:100%; height:auto; }
	#aboutus h2 { margin:0; padding:0; }


	#aboutus li { width:100%; margin:8px 0; padding:0; }


	/* shop info */
	#shopInfo { display:block; }
	#shopInfo > div { width:100%; margin-bottom:24px; }
	#shopInfo iframe { width:100%; }

	/* information */
	#information ul { display:block; }
	#information li { width:100%; margin:16px 0; padding:0 0 0 0; }

}