@charset "utf-8";
/* トップ
---------------------------------------------------------------------------- */

/* デバイスフォント */

*{
		margin:0;
}

#pageBody-top{
	color:#111;
	font-size:16px;
		min-width:1024px;
		overflow-x: hidden;
}
a{
	text-decoration:none !important;
	color:#111 !important;
}
a:hover{
	text-decoration:none !important;
	color:#999 !important;
}

/* ヘッダー（トップ用） */
#gNav{
	z-index:9999;
	display:none;
}

/* 初期状態 */
#gNav-top {
	width:100%;
	position:absolute;
	top:0;
	left:0;
	background:url("/common/images/bg_gnav.png") repeat-x;
	background-size:contain;
	height:80px;
	padding:33px 0 0;
	z-index:99998;
	display:block;
}
#gNav-top ul{
	text-align:center;
	height:15px;
}
#gNav-top ul li{
	position: relative;
	display:inline-block;
	margin:0 20px 0 0;
	line-height:1.0 !important;
}
#gNav-top ul li img{
		height:15px;
		width:auto;
		line-height:1.0 !important;
}

.fixed{
	display:block !important;
}

#gNav-top .submenu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 100000;
}

#gNav-top .submenu .submenu-list {
	width: 124px;
	height: 100%;
	padding-top: 14px;
	box-sizing: border-box;
	text-align: left;
}

#gNav-top .submenu .submenu-list li {
	display: block;
	margin: 0;
}

#gNav-top .submenu .submenu-list li:not(:last-child) {
	margin-bottom: 10px;
}

#gNav-top .submenu .submenu-list li > a {
	color: #fff !important;
	font-size: 12px;
	text-decoration: none;
}

#gNav-top .submenu.is-active {
	display: block;
}

/* ロゴエリア */
.gNav-fix-logo{
	float:left;
		padding:0 0 0 35px;
}
/* 言語、検索エリア */
.h-search{
	cursor:pointer;
	z-index:99999;
		line-height:1.0 !important;
		height:15px;
}
.h-search-txt{
	z-index:99999;
}

.lang-current:hover{
	filter:alpha(opacity=100) !important;
	-moz-opacity: 1 !important;
	opacity: 1 !important;
}
.gNav-top-search{
	float:right;
	margin:0 60px 0 0;
		height:15px;
		padding:0 !important;
		zoom: 1;
		line-height:1.0 !important;
		backface-visibility: hidden;
}
.gNav-top-search li{
	margin:0 12px 0 0 !important;
	height:15px;
	line-height:1.0 !important;
	padding:0 !important;
	float:left;
}

.gNav-top-search li.h-search {
	color: #fff;
}

/* トップロゴ */
.p-visual{
	width:100%;
	padding-bottom:5px;
	overflow:hidden;
	position:relative;
}
.p-v-ttl{
	text-align:center;
	width:100%;
	height:100%;
	box-sizing: border-box;
	z-index:5000;
	position:relative;
}
.p-v-ttl h1{
	margin:0 0 40px;
}
.p-v-ttl div{
		display: table-cell;
	vertical-align: middle;
	position:absolute;
	top: 58%;
	transform: translateY(-58%);
	-ms-transform:translateY(-58%);
	-ms-transform-origin:translateY(-58%);
	left:0;
	right:0;
	bottom:0;
	margin:0;
}
.p-v-ttl .scroll{
	position:absolute;
	bottom:5%;
	text-align:center;
	width:100%;
	
}
.p-v-ttl .scroll a{
	display:block;
	overflow:hidden;
	text-align:center;
	width:62px;
	height:62px;
	margin:0 auto;
	position:relative;
}
.p-v-ttl .scroll img{
	width:100%;
	height:100%;
}


/* トップ動画 */
.p-v-movie{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	box-sizing: border-box;
	z-index:1;
	overflow:hidden;
	text-align:center;
	margin:auto;
	background:#000;
}
.p-v-movie video{
	min-width:100%;
	min-height:100%;
}


/* サイド固定メニュー */
#sidebar{
	position:fixed;
	right:20px;
	top:30%;
	z-index:9999;
}
#sidebar li{
	height:30px;
	width:270px;
	text-align:right;
	vertical-align:middle;
	margin:0 0 10px;
}
#sidebar li a{
	display:block;
}
#sidebar li img{
	width:10px;
	height:10px;
	padding:10px;
}

.current{
	background:#fc0;
}

#sidebar .side01 a:hover,#sidebar .side01 .active{
	background:url("/images/bg_side01.png") no-repeat right center;
	background-size:100%;
}
#sidebar .side02 a:hover,#sidebar .side02 .active{
	background:url("/images/bg_side02.png") no-repeat right center;
	background-size:100%;
}
#sidebar .side03 a:hover,#sidebar .side03 .active{
	background:url("/images/bg_side03.png") no-repeat right center;
	background-size:100%;
}
#sidebar .side04 a:hover,#sidebar .side04 .active{
	background:url("/images/bg_side04.png") no-repeat right center;
	background-size:100%;
}
#sidebar .side05 a:hover,#sidebar .side05 .active{
	background:url("/images/bg_side05.png") no-repeat right center;
	background-size:100%;
}
#sidebar .side06 a:hover,#sidebar .side06 .active{
	background:url("/images/bg_side06.png") no-repeat right center;
	background-size:100%;
}
#sidebar .side07 a:hover,#sidebar .side07 .active{
	background:url("/images/bg_side07.png") no-repeat right center;
	background-size:100%;
}
#sidebar .side08 a:hover,#sidebar .side08 .active{
	background:url("/images/bg_side08.png") no-repeat right center;
	background-size:100%;
}

#sidebar .side_pfs a:hover,#sidebar .side_pfs .active{
	background:url("/images/bg_side_pfs.png") no-repeat right center;
	background-size:100%;
}


/* コンテンツ */
.p-contents-area{
	margin-top:-80px;
	padding-top:80px;
}

/* ビジョン～ショップ背景 */

#p-area01-wrapper{
	width:100%;
	background:url("/images/bg_area01_wrapper.png") repeat-x;
		overflow:hidden;
}
#p-area01{
	background:url("/images/bg_area01.jpg") no-repeat center;
	background-size:auto 100%;
	box-sizing: border-box;
	padding:130px 0 0 0;
	margin:0 auto;
	height:3500px;
	overflow:hidden;
}


/* 食材～コラム背景 */

#p-area02{
	background:url("/images/bg_area02.jpg") no-repeat center bottom;
	background-size:auto 100%;
	padding:80px 0;
}

/* NEWS～COMPANY背景 */
#p-area03{
	background:#ddd;
	padding:80px 0 150px;
}

/* 見出し共通 */
.p-ttl{
	text-align:center;
}
.p-ttl h2{
	margin:0 0 30px;
}


/* VISION */
#vision{
	width:100%;
}
#vision .p-vision01{
	margin:0 auto 70px;
	position:relative;
	width:1024px;
	height:606px;
}
#vision .p-vision01 .p-v01-1{
	position:absolute;
	left:80px;
	bottom:80px;
	z-index:600;
}
#vision .p-vision01 .p-v01-2{
	position:absolute;
	left:-30px;
	top:100px;
}
#vision .p-vision01 .p-v01-3{
	position:absolute;
	top:0;
	right:80px;
}
#vision .p-vision01 .p-v01-4{
	position:absolute;
	right:0;
	bottom:0;
}

#vision .p-vision02{
	margin:0 auto 70px;
	position:relative;
	width:945px;
	height:550px;
	background:url("/images/bg_vision_line.png") no-repeat bottom center;
	background-size:100%;
}
#vision .p-vision02 .p-v02-1{
	position:absolute;
	top:0;
	right:10px;
}
#vision .p-vision02 .p-v02-2{
	position:absolute;
	top:0;
	left:0;
}
#vision .p-vision02 .p-v02-3{
	position:absolute;
	top:420px;
	left:0;
	width:466px;
	height:52px;
}
#vision .p-vision02 .p-v02-4{
	position:absolute;
	bottom:-140px;
	right:-50px;
}


/* SHOPS */
#shops .p-shops ul{
	margin:0 auto 50px;
	width:904px;
}
#shops .p-shops ul li{
	display:inline-block;
	float:left;
	background:#fff;
	position:relative;
}
#shops .p-shops ul .p-txt{
	display:block !important;
	clear:both;
	width:100%;
	height:100px;
	text-align:center;
	background:transparent !important;
}
#shops .p-shops ul .p-txt img{
	padding:38px 0 0;
}

/* PLATFORM */
.p-pf-slide{
	margin:0 0 50px;
}

.p-pf-slide ul,
.p-pf-slide li{
	list-style: none;
	margin: 0;
	padding: 0;
}

.p-pf-slide li img{
	margin:0 12px 0 0;
}

.p-pf-txt{
	width:900px;
	margin:0 auto 60px;
}

/* FOOD */
#food{
	width:100%;
	overflow:hidden;
}
.p-food{
	position:relative;
	width:1024px;
	height:556px;
	margin:0 auto 75px;
	box-sizing:border-box;
}
.p-food-txt{
	padding:130px 0 0;
	z-index:600;
}
.p-img01{
	position:absolute;
	top:0;
	left:-50px;
}
.p-img02{
	position:absolute;
	top:20px;
	right:-40px;
}
.p-img03{
	position:absolute;
	top:270px;
	left:-160px;
}
.p-img04{
	position:absolute;
	top:250px;
	right:-135px;
}
.p-img05{
	position:absolute;
	bottom:30px;
	left:60px;
}
.p-img06{
	position:absolute;
	bottom:0;
	right:60px;
}

/* COLUMN */
.p-column-entry{
	width:904px;
	margin:0 auto 30px;
}
.p-column-entry li{
	display:inline-block;
	width:285px;
	background:#fff;
	overflow:hidden;
	box-sizing:border-box;
	-webkit-border-radius:5px 5px 5px 5px;
	-moz-border-radius:5px 5px 5px 5px; 
	border-radius:5px 5px 5px 5px;
	margin:0 22px 0 0;
	float:left;
	position:relative;
}

.p-column-entry li:last-child{
	margin:0 !important;
}

.p-column-entry-img{
	display:block;
	width:285px;
	height:160px;
	overflow: hidden;
}

.p-column-entry-img img{
	width:100%;
	display:block;
	transition:all 0.5s ease;
}

.p-column-entry-ttl {
	padding:20px;
	display:inline-block;
	background-color:#fff !important;
	width:100%;
	height:100%;
	box-sizing:border-box;
}

.p-column-entry-ttl span {
	display:block;
	margin:0 0 7px;
}

.imghover-column {
	cursor:pointer;
}

.imghover-column:hover img {
	opacity: 0.5;
	background-color:#000000 !important;
	filter: alpha(opacity=50);
}

.p-column-recruit {
	width: 946px;
	margin: 15px auto 77px;
}

.p-column-recruit ul {
	display: flex;
}

.p-column-recruit ul li {
	width: 306px;
}

.p-column-recruit ul li:not(:last-child) {
	margin-right: 14px;
}


/* 文字 */
.imghover-column:hover{
		color:#999;
}

/* WEDDING & PHOTO */
.p-wedding-area{
	width:100%;
	background:#000;
}
.p-wedding{
	max-width:2000px;
	margin:0 auto;
}
.p-wedding a{
	display:inline-block;
	float:left;
	margin:0 !important;
	width:50%;
	height:auto;
		position:relative;
}
.p-wedding img{
	width:100% !important;
	height:auto;
	background:#fff;
}

/* NEWS */
.p-news-entry{
	width:904px;
	margin:0 auto 80px;
}
.p-news-entry ul{
	margin:0 0 30px;
}
.p-news-entry li{
	display:inline-block;
	width:290px;
	min-height:100px;
	box-sizing:border-box;
	float:left;
	border-right:1px solid #bfbcbc;
}
.p-news-entry li:last-child{
	margin:0 !important;
	border-right:0 !important;
}

.p-news-entry ul li a img{
	width:80px;
	height:18px;
	padding-left:15px;
	vertical-align:middle;
}

.p-news-entry ul li a{
	display:block;
	padding:10px 20px;
}
.p-news-entry ul li a span{
	display:block;
	margin:20px 0 0;
}

/* RECRUIT */
#recruit{
	width:100%;
	text-align:center;
}
#recruit img{
	max-width:100%;
	height:auto;
}
/* PLATFORM SHARING */
#pfs{
	width:945px;
	text-align:center;
	margin-right:auto;
	margin-left:auto;
	}
	#pfs h2{
	margin-top:20px;	margin:0 0 30px;
	}
	#pfs p{
	background-color:#000;
	margin-bottom:100px;
	}
	#pfs img{
	max-width:100%;
	height:auto;
}
/* COMPANY */
.p-company-main{
	max-width:945px;
	margin:0 auto 40px;
}
.p-company-main li{
	display:inline;
	float:left;
	width:33.333%;
	background:#000;
}
.p-company-main li a img{
	width:100%;
	height:auto;
}
.p-company-sub{
	width:785px;
	margin:0 auto;
}
.p-company-sub li{
	display:inline-block;
	float:left;
	margin-right:32px;
	background-color:#000;
}
.p-company-sub li:last-child{
	margin-right:0 !important;
}
.p-company-sub li a img{
	width:240px;
	height:170px;
}

/* ボタンホバー -------------------------------------------------------*/
.p-top-btn-l{
		width:466px;
		margin:0 auto;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		border-radius: 4px;
}
.p-top-btn-m{
		width:386px;
		margin:0 auto;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		border-radius: 4px;
}
.p-top-btn-s{
		width:365px;
		margin:0 auto;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		border-radius: 4px;
}
.p-top-btn-ss{
		width:306px;
		margin:0 auto;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		border-radius: 4px;
}




/* アニメーション -------------------------------------------------------*/

.animated {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}
.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: .75s;
  animation-duration: .75s;
}
.animated.flipOutX,
.animated.flipOutY {
  -webkit-animation-duration: .75s;
  animation-duration: .75s;
}

/* zoomIn */
@-webkit-keyframes zoomIn {
  from {
	opacity: 0;
	-webkit-transform: scale3d(.8, .8, .8);
	transform: scale3d(.8, .8, .8);
  }

  50% {
	opacity: 1;
  }
}
@keyframes zoomIn {
  from {
	opacity: 0;
	-webkit-transform: scale3d(.8, .8, .8);
	transform: scale3d(.8, .8, .8);
  }
  50% {
	opacity: 1;
  }
}
.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
}

/* FadeInUp */
@-webkit-keyframes fadeInUp {
  from {
	opacity: 0;
	-webkit-transform: translate3d(0, 20%, 0);
	transform: translate3d(0, 20%, 0);
  }

  to {
	opacity: 1;
	-webkit-transform: none;
	transform: none;
  }
}
@keyframes fadeInUp {
  from {
	opacity: 0;
	-webkit-transform: translate3d(0, 20%, 0);
	transform: translate3d(0, 20%, 0);
  }

  to {
	opacity: 1;
	-webkit-transform: none;
	transform: none;
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}
