@charset "UTF-8";
/* CSS Document */

/* = Selected Text
----------------------------------------------- */
::selection {
    background:#F5EBBC; color: #AE9963; /* Safari */
}
 
::-moz-selection {
    background:#F5EBBC; color: #AE9963; /* Firefox */
}/*選択時の文字色と背景色を変更*/

html {
	font-family: "ＭＳ Ｐ明朝", MS PMincho,"ヒラギノ明朝 Pro W3", Hiragino Mincho Pro, serif;
	color: #444;
	width: 100%;
	height: 100%;
	letter-spacing: 1px;
}

body {
	height: 100%; 
}

#wrapper {
	width: 100%;
	height: auto;
	overflow: hidden;
	background-image: url(../img/bg.jpg);
	background-repeat: repeat;
	background-position: center;
}

ul {
	list-style:none;
}

img {
	-webkit-backface-visibility: hidden;
}

/*ナビ（左固定）部分*/
#header {
	width: 240px;/*背景画像のサイズにより調整*/
	height: 100%;
	float: left;
	background-image: url(../img/bg1.png);
	background-repeat: no-repeat;
	background-position: right top;
	background-size: cover;
	position: fixed;
	z-index:1;
	font-size: 15px;
}

.header_inner {
	width: 155px;
	margin: 0 0 50px 28px;
	position: absolute;
	bottom: 0;
}

h1{
	width: 35px;
	margin-left: 40px;
}

/* ロゴ画像(PC表示用) */
.pc { display: block !important; }
.sp { display: none !important; }

.br-pc { display:block; }
.br-sp { display:none; }


.nav ul {
	margin-top: 50px;
}

.nav li {
	width: 100%;
	margin-bottom: 18px;
}

.nav img.pc {
	height: 20px;
	width: auto;
}

.nav a:link {
	color:#444;
	text-decoration:none;
}/*リンクの装飾隠し*/

.nav a:visited {
	color:#444;
}/*訪問済み*/

.nav li:hover {
	opacity: 0.8;
	background: url(../img/hover.png) no-repeat;
	background-position: right center;
}/*ホバー時*/

.sns_bn {
	margin-top: 50px;
}

.sns_bn li {
	width: 30px;
	height: 30px;
	display: inline-block;
	margin-right: 10px;
}

.sns_bn a:hover {
	opacity: 0.8;
}

/*メインコンテンツを表示するエリア（右側）*/
#right {
	float: right;
	width: 100%;
	width : -webkit-calc(100% - 170px) ;
	width : calc(100% - 170px);
}

h3 {
	font-size: 28px;
	margin-bottom: 5px;
	letter-spacing: 5px;
}

h3.about,h3.pro {
	width: 100%;
	height: 350px;
	text-align: center;
	line-height: 350px;
}

h3.about {
	background-image: url("../img/about.jpg");
	background-size: cover;
	background-position: left center;
}

h3.pro {
	background-image: url("../img/products_main.jpg");
	background-size: cover;
	background-position: right center;
}

p.unit,p.unit_s {
	color: #CDB76F;
	font-size: 20px;
	padding: 5px 0 0 4px;
}

#top {
	width: 100%;
	height: 100%;
}

.main {
	position: relative;
	width: 100%;
}

.covervid-video {
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	z-index: -100;
}

/*スクロールアニメーション*/
.main a {
	position: absolute;
	bottom: 10px;
	left: 50%;
	z-index: 2;
	display: inline-block;
	-webkit-transform: translate(0, -45%);
	transform: translate(0, -45%);
	text-decoration: none;
	padding-top: 50px;
	color: #D4D4D4;
	font-family: 'Noto Sans Japanese', sans-serif, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, Tahoma, Verdana, Arial, Verdana, sans-serif; 
}

.main a span {
  position: absolute;
  top: 0;
  left: 48%;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  border-left: 1px solid #D4D4D4;
  border-bottom: 1px solid #D4D4D4;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: sdb 2s infinite;
  animation: sdb 2s infinite;
  box-sizing: border-box;
}

@-webkit-keyframes sdb {
  0% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
  }
  20% {
    -webkit-transform: rotate(-45deg) translate(-10px, 10px);
  }
  40% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
  }
}
@keyframes sdb {
  0% {
    transform: rotate(-45deg) translate(0, 0);
  }
  20% {
    transform: rotate(-45deg) translate(-10px, 10px);
  }
  40% {
    transform: rotate(-45deg) translate(0, 0);
  }
}/*警告は出ているがアニメーションに必要な記述*/

#news {
	height: 100%;
	margin-top: 45px;
	margin-bottom: 60px;
	padding: 0px 35px 10px 0;
}

.news_left {
	float: left;
	width: 130px;
	height: 110px;
	padding: 20px 50px 0 0;/*上　右　下　左*/
	background: linear-gradient(to top, #000, #000) repeat-y center/1px;
	background-position: right top;
}

.news_right {
	width:95%;
	padding: 0 20px 0 40px;
}

.news_right ul {
	font-size: 14px;
	overflow:auto;
	height:130px;
	line-height:2.8;
}

.news_right li {
	margin-left: 50px;
	border-bottom:#929292 1px solid;
}

.news_right a {
	text-decoration: none;
	color: #333;
}

.news_right a:hover {
	opacity: 0.6;
	border-bottom: #999 1px solid;
}

p.news {
	float: right;
	margin-top: 20px;
	display: none;/*お知らせ更新ページ　作るまで*/
}

p.news a:link {
	color:#444;
	text-decoration: none;
}

p.news a:visited {
	color:#444;
}/*訪問済み*/

p.news a:hover {
	color:#CDB76F;
}/*ホバー時*/


#about,#products {
	clear: both;
}

#about {
	height: 780px;
}

#products {
	height: 700px;
}

h3.pro, h3.about {
	color: #fff;
	font-size: 26px;
}
	
.about_s,.pro_s {
	margin: 0 auto;
	text-align: center;
}

.about_s p,.pro_s p {
	margin: 60px auto;
	line-height: 35px;
	width: 90%;
}

.detail {
	font-size: 18px;
	letter-spacing: 3px;
	display: inline-block;
	width: 200px;
	height: 46px;
	text-align: center;
	text-decoration: none;
	outline: none;
	-o-border-radius: 8px;/*角丸のベンダープレフィックス*/
    -ms-border-radius: 8px;
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
    border-radius: 8px;
	border: 1px solid #444;
	color: #444;
	line-height: 44px;
}

.detail::before,
.detail::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.detail,
.detail::before,
.detail::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.detail:hover {
  background-color: #444;
  border-color: #444;
  color: #fff;
}

h3.shop {
	padding-left: 20px;
}

 /* ▼タブ(共通装飾＋非選択状態の装飾) */
.tab {
	display: inline-block;    /* インラインブロック化 */
	padding:0.25em 0.5em;            /* 内側の余白量 */
	font-weight: bold;              /* タブの文字を太字にする */
	color: #444;                   /* タブの文字色：黒色 */
	width: 17%;
	line-height: 1.5;
	font-size: 14px;
	margin: 0 auto;
	text-align: center;
	background: linear-gradient(to top, #000, #000) repeat-y center/1px;
	background-position: right;
	vertical-align: middle;/*displayとverticalで縱中央揃え*/
}

/* ▼タブ全体の詳細設定 */
.tabbox {
	width: 100%;
	margin-top: 60px;
	clear: both;
}

/* ▼タブにマウスポインタが載った際の装飾 */
.tab:hover {
	color: #CDB76F;　/* タブの文字色：黄土色 */
	cursor: pointer;　/* マウスポインタの形状を「指(指し示す形)」にする */
}

/* ▼選択状態のタブ(＝チェックが入っているラジオボタンの隣にあるタブの装飾) */
input:checked + .tab {
	color: #CDB76F;　/* タブの文字色：黄土色 */
}

/* ▼タブ機能を制御するラジオボタン(非表示にする) */
.tabbox input { display: none; }

   /* ▼タブの中身(共通装飾＋非選択状態の装飾) */
.tabcontent {
	display: none;             /* 標準では非表示にする */
	width: 100%;
	height: 100%;
	padding: 1em;              /* 内側の余白量 */
	padding-top: 35px;
	margin: 0 auto;
	text-align: center;
   }

   /* ▼チェックが入っているラジオボタンに対応するタブの中身を表示する */
#tabcheck1:checked ~ #tabcontent1 { display: block; }
#tabcheck2:checked ~ #tabcontent2 { display: block; }
#tabcheck3:checked ~ #tabcontent3 { display: block; }
#tabcheck4:checked ~ #tabcontent4 { display: block; }
#tabcheck5:checked ~ #tabcontent5 { display: block; }

   /* ▼チェックが入っているラジオボタンの隣にあるタブの装飾(＝選択状態のタブ) */
   input:checked + .tab {
      z-index: 10;         /* ※2A */
      position: relative;  /* ※3 */
   }
   /* ▼タブの中身(共通装飾＋非選択状態の装飾) */
   .tabcontent {
      margin-top: -1px;    /* ※1 */
      z-index: 0;          /* ※2B */
      position: relative;  /* ※3 */
   }

h3.shop {
	float: left;
}

p.unit_s {
	float: left;
	margin: 3px 0 0 10px; 
}

#news,#sns {
	width: 90%;
	margin-left: 90px;
}

#sns {
	display: none;
}

#shop {
	width: 80%;
	overflow: hidden;
	margin-bottom: 80px;
	padding-top: 30px;
	height: 100%;
	margin: 0 auto;
	text-align: center;
}

.shop_left img {
	width: 100%;
	height: auto;
	margin: 40px 0;
	max-width: 900px;
}

.shop_right {
	width: 80%;
	padding-left: 4%;
}

.shop_right p {
	font-size: 15px;
	margin-bottom: 30px;
	padding-bottom: 40px;
	line-height: 30px;
}

h4.shop {
	float: left;
	margin-left: 10%;
	margin-bottom: 5%;
}

p.shop_r {
	float:  left;
	text-align: left;
	margin-left: 80px;
}

.googlemap {
	clear: both;
	position: relative;
	padding: 0 0 56%;
	height: 0;
	overflow: hidden;
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
}
.googlemap iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 85% !important;
}

h4 {
	font-size: 25px;
	margin-bottom: 25px;
	letter-spacing: 3px;
}

#sns {
	clear: both;
	height: 100%;
	padding: 50px 0 0 15px;
}

.fb-page {
	margin-bottom: 50px;
}

/*▼スクロール追従するボタン*/
#pagetop {
    position: fixed;
    bottom: 40px;
    right: 40px;
    font-size: 80%;
	margin-bottom: 10px;
}
#pagetop a {
    background: #666;
    text-decoration: none;
    color: #fff;
    width: 50px;
    padding: 8px 0;
    text-align: center;
    display: block;
    border-radius: 5px;
	line-height:1.3;
}

#pagetop a:hover {
    text-decoration: none;
    background: #999;
	opacity: 0.9;
}

footer#l_footer {
	clear: both;
	margin-left: 170px;
	height: 75px;
	background-color: #CDB76F;
	text-align: center;
}

.text_footer ul {
	padding-top: 15px;
}

.text_footer a:hover {
	opacity: 0.5;
}

.copyright {
	font-size: 13px;
}

.text_footer li {
	display: inline-block;
	margin-right: 30px;
	padding-bottom: 10px;
}

.text_footer li a {
	color: #fff;
	font-size: 14px;
	text-decoration: none;
}



.instagram a {
display: block;
	padding: 0.5em 0;
	color: #666;
}
.instagram i {
font-size:30px;
	padding-right: 0.2em;
}


/*1280px以上の幅で適応*/
@media (min-width: 1280px) {

	#shop {
		margin: 0 auto;
		text-align: center;
	}
}

/*1280pxまでの幅で適応*/
@media (max-width: 1280px) {
	
	#news,#shop,#sns {
		margin-left: 100px;
	}
	.news_right {
		width:88%;
	}
}

/*1080pxまでの幅で適応*/
@media (max-width: 1080px) {

	.header_inner {
		width: 150px;
		margin-left: 25px;
		margin-top: 40px;
	}
	
	h4 {
		font-size: 20px;
		margin-bottom: 10px;
	}

	.tabcontent {
		width: 93%;
		padding: 0.5em;   /* 内側の余白量 */
		padding-top: 40px;
   }
	
	.tabbox {
		width: 95%;
	}
	
	.shop_right p {
		margin-bottom: 15px;
		font-size: 14.8px;
	}
}

/*880pxまでの幅で適応*/
@media (max-width: 880px) {
	
	.news_right {
		width:80%;
	}
	
	.about_s,.pro_s {
		width: 70%;
		margin: 0 auto;
		font-size: 15px;
	}
	
	.about_s p,.pro_s p {
		line-height: 30px;
	}
	
	footer#l_footer {
		margin-left: 170px;
	}

	.text_footer li {
		margin-right: 5%;
		padding-bottom: 10px;
	}

	.text_footer li a {
		font-size: 12px;
		text-decoration: none;
	}	
}

/*750pxまでの幅で適応*/
@media (max-width: 750px) {
	
	h1 {
		width: 150px;
		margin: -11px 0 0 10px;
	}
	
/* ロゴ画像(スマホ用) */
.pc { display: none !important; }
.sp { display: block !important; }
	
.br-pc { display:none; }
.br-sp { display:block; }	
	
	#header,.header_inner {
        width: 100%;
        padding: 0;
    }
	
	.header_inner {
		margin: 0 auto;
	}
	
	.header_inner:after {
		content: "";
		clear: both;
		display: block;
	}
	
/* header */
	#header {
		top: 0;
		position: fixed;
		height: 55px;
		margin: 0 auto;
		line-height: 1;
		z-index: 999;
	}

	#header a, #header {
		color: #fff;
		text-decoration: none;
	}
	
	#header .header_inner {
		position: relative;
	}
	
	#header .logo {
		float: left;
		font-size: 36px;
	}

	.nav {
        position: absolute;
        /* 開いてないときは画面外に配置 */
        top: -550px;
        background: #444;
		opacity: 0.9;
        width: 100%;
        text-align: center;
        padding:0;
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
    }
	
	.nav ul {
		list-style: none;
		position: static;
		right: 0;
		bottom: 0;
		font-size: 14px;
	}
	
	.nav ul li {
		float: none;
		position: static;
		margin: 0 auto;
		padding-bottom:0;
	}
	
	.nav img.sp {
		margin: 0 auto;
		text-align: center;
		width:auto;
		height: 20px;
	}
	
	#header .nav ul li a,
	#header.fixed .nav ul li a {
        width: 100%;
        display: block;
        color: #fff;
        padding: 18px 0;
    }
		
/* Fixed */
	#header.fixed {
		margin-top: 0;
		top: 0;
		position: fixed;
		padding-top: 0;
		height: 55px;
		background: transparent;
		transition: top 0.65s ease-in;
		-webkit-transition: top 0.65s ease-in;
		-moz-transition: top 0.65s ease-in;
	}

	#header.fixed .logo,
    #header .logo {
        position: absolute;
        left: 13px;
        top: 13px;
        color: #fff;
        font-size: 26px;
    }
	
	#header.fixed #global-nav ul li a {
		color: #444;
		padding: 0 20px;
	}

	#mobile-head {
		background-color: #3c3c3c;
        width: 100%;
        height: 55px;
        z-index: 999;
        position: relative;
    }
	
/* Toggle Button */
	#nav-toggle {
		display: block;
		position: absolute;
		right: 25px;
		top: 16px;
		width: 30px;
		height: 36px;
		cursor: pointer;
		z-index: 101;
	}
	
	#nav-toggle div {
		position: relative;
	}
	
	#nav-toggle span {
		display: block;
		position: absolute;
		height: 2px;
		width: 100%;
		background: #fff;
		left: 0;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
	}

	#nav-toggle span:nth-child(1) {
		top: 0;
	}

	#nav-toggle span:nth-child(2) {
		top: 9px;
	}
	
	#nav-toggle span:nth-child(3) {
		top: 18px;
	}
	
	/* #nav-toggle 切り替えアニメーション */
    .open #nav-toggle span:nth-child(1) {
        top: 9px;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }
	
    .open #nav-toggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }
	
    .open #nav-toggle span:nth-child(3) {
        top: 9px;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }
	
    /* #global-nav スライドアニメーション */
    .open .nav {
        /* #global-nav top + #mobile-head height */
        -moz-transform: translateY(556px);
        -webkit-transform: translateY(556px);
        transform: translateY(556px);
    }
	
	.nav ul {
		margin-top: 60px;
	}
	
	.nav li {
		margin-bottom: 35px;
		padding-bottom: 8px;
		border-bottom: dotted 1px;
	}
	
	.nav li:last-child {
		border: none;
	}

	.nav li:hover {
		background:none;
	}/*ホバー時*/

	.nav li:active {
		opacity: 0.5;
	}/*アクティブ*/

	.sns_bn {
		display: none;
	}
	
	.main {
		height: 650px;
	}
	
	.main a {
		display: none;
	}
	
	h3 {
		font-size: 21px;
	}
	
	#right {
		float: right;
		width: 100%;
	}
	
	#shop,#sns {
		margin-left: 30px;
	}
	
	#news {
		width: 100%;
		height: 100%;
		margin: 45px 0 30px;
	}
	
	.news_left {
		width: 100%;
		height: 30%;
		margin: 0 auto 40px;
		padding:0;
		background: none;
		text-align: center;}
	
	.news_right {
		width:85%;
		margin: 0 auto;
		clear: both;
	}
	
	.news_right ul li {
		margin-left:0;
		line-height: 2;
	}
	
	p.news {
		margin:20px 0 40px;
	}
	
	.main {
		background-image: url(../img/rok-5.jpg);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
	}
	
	.covervid-video {
		display: none;
	}
	
	#products, #about {
		margin-bottom:80px;
	}
	
	.pro_s,.about_s {
		width: 100%;
		font-size: 14px;
	}

	.shop_right p {
		font-size: 14px;
		margin-bottom: 8%;
		line-height: 20px;
	}
	
 /* ▼タブ(共通装飾＋非選択状態の装飾) */
	.tab {
		width: 40%;
		font-size: 14px;
		text-align: center;
		background-position: right;
        border: 1px solid #666;
    margin: 2% 0.5%;
        background: none;
	}

/* ▼タブ全体の詳細設定 */
	.tabbox {
		width: 0 auto;
		margin-top: 60px;
		margin-right: 20px;
		clear: both;
	}

   /* ▼タブの中身(共通装飾＋非選択状態の装飾) */
	.tabcontent {
		width: 97%;
		height: 100%;
		padding: 1em;              /* 内側の余白量 */
		padding-top: 35px;
   }
	
	#shop {
		width: 90%;
		overflow: hidden;
		margin-bottom: 80px;
		padding-top: 30px;
	}

	h4.shop {
		float: left;
		margin-left: 0;
		margin-bottom: 8%;
	}

	p.shop_r {
		float:  left;
		text-align: left;
		margin-left: 80px;
		line-height: 30px;
	}
	
	.shop_left img {
		clear: both;
		width: 100%;
		height: auto;
		margin: 20px auto;
	}

	.shop_right {
		width: 100%;
		padding-top: 20px;
	}

	.shop_right p {
		font-size: 16px;
		margin-bottom: 50px;
		line-height: 30px;
		float: left;
		margin-left: 30px;
		padding: 0 30px;
	}

	.googlemap {
		clear: both;
		margin-right: 25px;
	}
	
	.googlemap iframe{
		width: 100% !important;
		height: 100% !important;
	}	
	
	p.unit_s {
		margin: 0 0 10px 10px; 
	}
	
	#sns {
	display:block;
	}
	
	footer#l_footer {
		margin-left: 0;
	}
	
	.text_footer li {
		margin-right: 3%;
	}
}

/*400pxまで対応*/
@media (max-width: 400px) {
	#shop,#sns {
	width: 90%;
	margin-left: 5%;
	}

	.tab {
		font-size: 12px;
	}
	
	.tabcontent p {
		font-size: 10px;
		line-height: 1.2;
	}
	
	#news {
		margin-left: 2px;
		width: 95%;
	}
	
	#page-top {
		bottom: 25px;
		right: 25px;
	}

	h3.shop {
	padding-left: 0;
}

	#shop {
		margin-bottom: -30px;
	}
	
	.shop_right p {
		font-size: 14px;
		line-height: 1.5;
		padding-bottom:10px;
		width:80%;
		margin-left: 2px;
	}

	#pagetop {
    bottom: 20px;
    right: 20px;
}
	
	.text_footer li {
		margin-right: 2%;
	}
	
}