@charset "UTF-8";
/* CSS Document */
/* 共通 CSS  defalut.css */

/*
* 01. Overwrite Style Setting
* 02. Layout Style Setting
* 03. #header .header_top Style Setting
* 04. #header .header_bottom .global_nav Style Setting
* 05. .page_top Style Setting
* 06. #footer Style Setting
*/


/*
* 01. Overwrite Style Setting
*/

body {
  opacity:0.0;
  transition:0.8s;
 	background-color:#ffffff;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#3e3e3e; 	 
	font-size:13px;
	line-height:1.4em;
}

a {
  color:#df7a02;
	text-decoration:none;
}

a:hover {
	text-decoration:none;
}

h1{
  width:100%;
  height:130px;
  font-family:"ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
  font-size:2.5em;
  font-weight:600;
  color:#7c1a16;
  letter-spacing:0.3em;
  line-height:130px;
  text-align:center;
  background-color:#f1f1f1;
  margin-bottom:40px;
  box-sizing:border-box;
}

h2 {
  max-width:1040px;
  height:46px;
  font-size:1.85em;
  line-height:46px;
  letter-spacing:0.1em;
  color:#7c1a16;
  padding-left:50px;
  border-bottom:2px solid #7c1a16;
  box-sizing:border-box;
}

h3 {
  max-width:1040px;
  height:38px;
  font-size:1.5em;
  line-height:38px;
  letter-spacing:0.1em;
  color:#7c1a16;
  padding-left:50px;
  border-bottom:1px solid #7c1a16;
  box-sizing:border-box;
}

/*
* 02. Layout Style Setting
*/

.container {
  width:100%;
  height:100%;
  margin:0 auto;
  margin-top: 182px;
  box-sizing: border-box;
}

#header {
  position: fixed;
  top:0;
  z-index: 11;
  width:100%;
  background-color:#fff;
  padding-top:15px;
  transition:  all 0.8s ease;
  box-sizing: border-box;
}

.header_top {
  max-width:1040px;
  height:80px;
  width:100%;
  margin:0 auto;
  margin-bottom:16px;
  position:relative;
  transition:  all 0.8s ease;
  box-sizing: border-box;
}

.header_bottom {
  width:100%;
  height:71px;
  margin:0 auto;
  background-color: #fff;
  z-index: 10;
	border-bottom:1px solid #3e3e3e;
  transition:  all 0.8s ease;
  box-sizing:border-box;
}

#main {
  /*IEはmainタグをインライン要素として認識している為ブロック要素指定が必要*/
  display: block;
  width:100%;
  height:100%;
  box-sizing: border-box;
  margin:0 auto 40px;
}

.content_box-940 {
  width:940px;
  margin:0 auto;
  box-sizing: border-box;
}

.content_box-1040 {
  max-width:1040px;
  margin:0 auto;
  box-sizing: border-box;
}

.flex_box-between {
  display:-webkit-box; /*Android旧ブラウザ*/
  display:-ms-flexbox; /*IE10*/
  display:-webkit-flex; /*旧safari(PC)*/
  display:flex;
  -webkit-box-pack:justify; /*Android旧ブラウザ*/
  -ms-flex-pak:justify; /*IE10*/
  justify-content:space-between;
}

.flex_box-between-wrap {
  display:-webkit-box; /*Android旧ブラウザ*/
  display:-ms-flexbox; /*IE10*/
  display:-webkit-flex; /*旧safari(PC)*/
  display:flex;
  -webkit-box-pack:justify; /*Android旧ブラウザ*/
  -ms-flex-pak:justify; /*IE10*/
  justify-content:space-between;
  -ms-flex-wrap:wrap; /*IE10*/
  flex-wrap:wrap;
}

.flex_box-around {
  display:-webkit-box; /*Android旧ブラウザ*/
  display:-ms-flexbox; /*IE10*/
  display:-webkit-flex; /*旧safari(PC)*/
  display:flex;
  -webkit-box-pack:justify; /*Android旧ブラウザ*/
  -ms-flex-pack:justify; /*IE10*/
  justify-content:space-around;
}

.flex_box-star {
  display:-webkit-box; /*Android旧ブラウザ*/
  display:-ms-flexbox; /*IE10*/
  display:-webkit-flex; /*旧safari(PC)*/
  display:flex;
  -webkit-box-pack:start; /*Android旧ブラウザ*/
  -ms-flex-pack:start; /*IE10*/
  justify-content:flex-start;
}

.fadein {
  opacity:0.0;
  transition:0.8s;
 }

.page_top {
  margin:0 auto;
}

#footer {
  width:100%;
  height:195px;
  background-color:#7c1a16;
  margin:0 auto;
  overflow:hidden;
  box-sizing: border-box;
}

.separator_odd {
  width:100%;
  padding-top:16px;
  box-sizing: border-box;
}

.separator_even {
  width:100%;
  background-color:#f9f9f8;
  padding-top:16px;
  box-sizing: border-box;
}

.h2_margin_bottom-1 {
  margin-bottom:38px;
}

.description {
  width: 100%;
  font-size:1.25em;
  line-height:2.0em;
  letter-spacing:0.05em;
  padding-left: 0px;
  margin-bottom:28px;
  box-sizing:border-box;
}

.description2 {
  height:60px;
  font-size:1.2em;
  line-height:60px;
  letter-spacing: 0.05em;
  margin: 0 auto;
  margin-bottom: 16px;
  box-sizing: border-box;
}

.description3{
  height: 50px;
	font-size:1.16em;
	line-height:50px;
	letter-spacing:0.04em;
	margin-bottom:16px;
  box-sizing: border-box;
}

/*
 * 03. #header .header_top Style Setting
 */
 
.header_top-logo {
	position:absolute;
	top:0;
	left:0;
  height:80px;
  transition:  all 0.8s ease;
}

.header_top-logo img {
  transition:  all 0.8s ease;
}

.address {
	width:235px;
	height:77px;
	position:absolute;
	top:0;
	right:0;
	background-color: rgba(124,26,22,0.9);
  transition:  all 0.8s ease;
}

.address_text {
	display:block;
	font-size:1.1em;
	color:#fff;
	text-align:center;
	margin-top:14px;
}

.address_tel {
	display:block;
	font-size:1.7em;
	text-align:center;
	letter-spacing:0.8px;
	color:#fff;
	margin-top:12px;
  transition-duration: 0.8s;
  transition-property: width, margin-top;
  transition-timing-function: ease;
}

.header_top .address p.address_tel span {
	vertical-align:1px;
	margin:0 1.5px;
}

.header-small {
  padding-top: 0 !important;
  box-shadow:0 2px 5px #b5b5b5;
}

.header_top-small {
  height: 55px;
  margin-bottom: 0px;
}

.header_top-logo-small,
.header_top-address-small{
  width: 162px;
  height: 55px;
}

.display_none {
  display: none;
}

.header_top-address_tel-small {
  width: 162px;
  height: 55px;
  font-size: 1.25em;
  line-height: 55px;
  margin-top: 0;
}
/*
* 04  #header .header_bottom .global_nav Style Setting
*/

.global_nav {
	width:100%;
  max-width:1040px;
	height:70px;
  background-color:#fff;
	margin:0 auto;
  transition:  all 0.8s ease;
  box-sizing:border-box;
}

.global_nav .menu_toggle {
  display:none;
  width:100%;
  height:53px;
  background-color:#fff;
  font-size:1.9em;
  line-height:53px;
  text-align:center;
  background:url(../img/menu_img.gif) no-repeat 95% 50%;
  background-size:40px;
  border-top:1px solid #3e3e3e;
  border-bottom:1px solid #3e3e3e;
  box-sizing:border-box;
}

.global_nav .menu_toggle p {
  display:inline-block;
  height: 53px;
  line-height:53px;
  box-sizing:border-box;
}

.global_nav .menu_toggle.active {
    background:url(../img/close_img.gif) no-repeat 95% 50%;
    background-size:40px;
}

.global_nav ul {
  display:block ; 
}

.global_nav_li {
	width:14.23%;
  max-width:148px;
  height:69px;
	float:left;
  background-color:#fff;
	font-size:1.0em;
	line-height:69px;
	letter-spacing:0.2em;
	text-align:center;
	font-weight:500;
  transition:  all 0.8s ease;
  box-sizing:border-box;
}

.global_nav_li:nth-of-type(4) span {
  padding-left: 0.8em;
}

.global_nav_a {
	display:inline-block;
  width:85%;
  max-width:80px;
  height:52px;
  color:#3e3e3e;
}

.global_nav_li:hover,
.global_nav_li a:hover {
	color:#af3e3a;
}

.global_nav_li a:hover {
  border-bottom: 1px solid #af3e3a;
}

.header_bottom-small {
  height: 50px;
}

.global_nav-small {
  height: 49px;
}

.global_nav_li-small {
  height: 49px;
  line-height: 49px;
}

.global_nav_a-small {
  height: 38px;
}
/*
* 05. .page_top Style Setting
*/

.page_top a {
  display: block;
  position: fixed;
  bottom: 18px;
  right: 32px;
  z-index: 20;
  background-color: #7a1c16;
  border: 1px solid #fff;
  transition:all 0.5s ease;
}

.page_top a:hover {
  background-color: #9a2e2a;
}

/*
* 06. #footer Style Setting
*/

#footer .footer_info {
	width:1040px;
	height:100px;
	margin:0 auto;
	margin-top:40px;
	color:#fff;
	font-size:0.7em;
	line-height:1.4em;
	letter-spacing:0.8px;
}

#footer .footer_info .footer_logo {
	float:left;
	margin-left:50px;
}

#footer .footer_info .footer_shop_info {
	float:left;
	margin-left:48px;
}

#footer .footer_info .footer_shop_info .left_box {
	float:left;
	width:280px;
	overflow:hidden;
}

#footer .footer_info .footer_shop_info .left_box dl dt {
	float:left;
}

#footer .footer_info .footer_shop_info .left_box p span {
	padding-left:1em;
}

#footer .footer_info .footer_shop_info .left_box dl dt.address_title {
  padding-right:2.2em;
}

#footer .footer_info .footer_shop_info .left_box .footer_address_tel {
  display:inline-block;
	color:#ea8d1f;
  text-align:left;
  margin-top: 0;
}

#footer .footer_info .footer_shop_info .left_box .address_title span {
  padding-right: 2em;
}

#footer .footer_info .footer_shop_info .left_box .address_no span {
  padding-right: 1em;
}

#footer .footer_info .footer_shop_info .left_box .time span:nth-of-type(1) {
  padding-right: 0.5em;
}

#footer .footer_info .footer_shop_info .left_box .last_older {
  padding-left: 5.4em;
}
#footer .footer_info .footer_shop_info .left_box .last_older span {
  padding-left: 0.5em;
}


#footer .footer_info .footer_shop_info .right_box {
	float:left;
	width:280px;
  margin-top: 1em;
}

#footer .footer_info .footer_shop_info .right_box dl dt {
	float:left;
}
#footer .made_by {
  max-width: 1040px;
  margin: 0 auto;
  margin-bottom: 10px;
}

#footer .copy_right {
	max-width:1040px;
	margin:0 auto;
  margin-bottom: 10px;
	color:#fff;
	text-align:center;
	letter-spacing:0.3em;
}

#footer .made_by a{
  width: 1040px;
  margin-left: 50px;
  font-size: 1.0em;
}

@media screen and (max-width:1010px)
{
  .container {
    width: 1040px;
  }
  
  #footer {
    width: 1040px;
    height:280px;
  }
  
  #footer .footer_info {
    height:180px;
  }
}

@media screen and (max-width:786px)
{
  
  .container {
    width: 100%;
  }
  
  body {
    font-size:11px;
    line-height:1.2em;
  }
  
  #header {
    /*z-index:1100;*/
    padding-top: 0;
  }
  
  #main{
    margin-top: -76px;
  }
  
  h1 {
    height: 80px;
    line-height: 80px;
    margin-bottom: 20px;
  }
  
  h2 {
    font-size: 1.9em;
    padding-left: 3%;
  }
  
  h3 {
    font-size: 1.65em;
    padding-left: 3%;
  }
   
  .header_top {
    height:55px;
    margin-bottom:0;
   }
  
  .header_top-logo,
  .header_top-logo img,
  .header_top .address {
    width: 162px;
    height: 55px;
  }
  
  .header_top .address p.address_text {
    display: none;
  }
  
  .header_top .address p.address_tel {
    width: 162px;
    height: 55px;
    font-size: 1.25em;
    line-height: 55px;
    margin-top:0;
  }

  .header_bottom,
  .global_nav {
    height: 53px;
  }
  
   .global_nav ul {
     display:none;
   }
      
   .global_nav_li {
     float:none;
     max-width:none;
     width:100%;
     height:53px;
     line-height:53px;
     font-size:1.9em;
     border-bottom:1px solid #3e3e3e;
     transition:none;
   }
   
   .global_nav_a {
     max-width:none;
     width:100%;
     height: 100%;
   }
   
   .global_nav_li:hover,
   .global_nav_li a:hover {
	  color:#3e3e3e;
    }

   .global_nav_li a:hover {
     border-bottom:none;
    }
     
   .global_nav .menu_toggle {
    display:block;
   }
  
  .content_box-940 {
    width: 94%;
    max-width:710px;
  }
  
  .description2 {
    width: 100%;
    height: 85px;
    font-size: 1.45em;
    line-height:1.8em;
    margin-top: 10px;
    margin-bottom: 0;
  }
  
  .description3 {
    width: 100%;
    height: 45px;
    font-size: 1.3em;
    line-height: 1.6em;
    margin-top: 10px;
  }
  
  .page_top a {
    right: 3%;
  }
  
  .page_top img {
    width:45px;
    height:61px;
  }
   
  #footer {
    width: 100%;
    height:385px;
  }
  
  #footer .footer_info {
    height:280px;
    font-size:1.35em;
    margin-top:20px;
    margin-bottom:30px;
  }
  
  #footer .footer_info .footer_logo {
    float:none;
    margin-left:10px;
  }
  
  #footer .footer_info .footer_logo img {
    width:162px;
    height:55px;
  }
  
  #footer .footer_info .footer_shop_info{
    float:none;
    margin-top:16px;
    margin-left:10px;
  }
  
  #footer .footer_info .footer_shop_info .left_box {
    float:none;
    width:710px;
    margin-bottom:8px;
  }
  
  #footer .footer_info .footer_shop_info .left_box p:nth-of-type(1) {
    margin-bottom:16px;
  }
  
  #footer .footer_info .footer_shop_info .left_box dl dt.address_title {
    padding-right:2.1em;  
  }
  
  #footer .footer_info .footer_shop_info .right_box {
    float:none;
    width:710px;
    margin-left:0;
  }
  
  #footer .footer_info .footer_shop_info .right_box dl dt {
    padding-right: 1em;
  }
  
  #footer .copy_right small {
    font-size:1.2em;
  }
  
  #footer .made_by a{
    margin-left: 10px;
    font-size: 1.35em
  }
}

@media screen and (max-width:640px)
{
  .description2 {
    font-size:1.4em;
  }
  
  .description3 {
   font-size:1.2em;
  }
  
  .page_top a {
    bottom: 1%;
  }
}

@media screen and (max-width:481px)
{
  .header_top {
    height:49px;
  }
  
  .header_top-logo ,
  .header_top-logo img ,
  .header_top .address {
    width:148px;
    height:49px;
  }
  
  .header_top .address p.address_tel {
    width:148px;
    height:49px;
    line-height:49px; 
  }
  
  #main {
    margin-top: -79px;
  }
  
  .page_top img {
    width:40px;
    height:55px;
  }
  
  #footer {
    height: 335px;
  }
  
  #footer .footer_info {
    height: 240px;
    font-size: 1.0em;
    margin-bottom:16px;
  }
   
  #footer .made_by a{
    font-size: 1.0em
  }
}

@media screen and (max-width:411px)
{
 #access .description3 {
    height: 60px;
  }
}

@media screen and (max-width:341px)
{
  .shop_inside_view .description3 {
    height: 60px;
  }
  
  #access .description3 {
    height: 80px;
  }
}
