@charset "utf-8";

.sp {
  display: block;
}

.pc {
  display: none;
}

img {
	max-width: 100%;
}

.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
  position: fixed;
  top: 27px;
  right: 3%;
	width: 34px;
	height: 16px;
	z-index: 2;
	cursor: pointer;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 28px;
	height: 2px;
	background-color: #000;
	border-radius: 4px;
}
.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: 7px;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}

.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(2.3vw) rotate(-45deg);
	transform: translateY(4px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-2.3vw) rotate(45deg);
	transform: translateY(-10px) rotate(45deg);
}

.menu-trigger + ul {
  display: none;
}

.menu-trigger.active + ul {
	overflow: hidden;
	display: block !important;
}

#header nav {
  position: fixed;
  float: none;
  width: 100%;
  top: 70px;
  left: 0;
  padding: 0;
  background: none;
}

#header nav ul {
  display: none;
}

#header nav ul li {
  flex: none;
  margin: 0;
  border-left: 0px none;
  border-top: 0px none;
  border-bottom: 1px solid #666;
}

#header nav ul li a {
  background: rgba(0,0,0,0.8);
  padding: 15px;
  text-align: left;
  color: #fff;
  font-size: 18px;
}

#header .inner ul {
  display: none;
}

#header .inner h1 img {
  height: 50px;
}

#main {
  padding: 70px 0 0;
}

#fv {
  background: #fff url('../img/fv_line_sp.png') no-repeat 50% 50%;
  background-size: 100%;
}

#fv ul li a {
  height: 177.25vw;
}

#fv ul li a p {
  height: 177.25vw;
}

#fv ul li.design a p {
  background-position: 50% 45%;
  background-size: 20vw;
}

#fv ul li.food a p {
  background-position: 50% 51.3%;
  background-size: 20vw;
}

#fv ul:after {
  width: 5vw;
  height: 5vw;
  margin-left: -2.5vw;
  margin-top: -2.5vw;
}

.one {
  padding: 10% 5%;
}

.box_around #slider {
  float: none;
  width: 100%;
  height: auto;
  line-height: 1;
  border-bottom: 1px solid #000;
}

.box_around #slider img {
  width: 100%;
}

.box_around #thumbnail-list {
  float: none;
  width: 100%;
  height: auto;
}

.box_around #thumbnail-list li {
  height: auto;
  line-height: 1;
  padding: 4%;
  box-sizing: border-box;
}

.box_around #thumbnail-list li img {
  width: 100%;
}

.one h2 {
  font-size: 6vw;
  margin: 0 0 8%;
}

.one h2 span {
  font-size: 5vw;
}

.one h2 span:before {
  width: 45vw;
  height: .6vw;
  margin: 3% auto 2%;
}

#concept p strong {
  margin: 20% 0 15%;
  font-size: 6vw;
  text-align: center;
}

#concept p {
  font-size: 4vw;
  text-align: left;
}

#profile .profile_box ul {
  float: none;
  width: 100%;
}

#profile .profile_box ul li {
  margin: 10% 0 0;
}

#profile .profile_box ul li dl {
  font-size: 4.5vw;
}

#access .access_box {
  margin: 10% auto 0;
}

#access .access_box .map iframe {
  width: 100%;
  height: 85vw;
}

#access .access_box p {
  font-size: 4.5vw;
  margin: 3% 0 0;
}

footer {
  padding: 5% 0;
}

footer p.copy {
  font-size: 3vw;
}

#privacy_policy p {
  font-size: 4vw;
}

#design p {
  font-size: 4vw;
}

#design .one {
  padding: 10% 5%;
}

#food p {
  font-size: 4vw;
}

.food_company {
  margin: 10% 0 0;
  padding: 10% 5% 1%;
}

.food_company ul li {
  width: 30vw;
  margin: 0 4vw 8vw;
}

.food_company ul li img {
  width: 100%;
}

#design video, 
#food video {
  right: -5vw;
  min-width: 105%;
  min-height: 105%;
}