@charset "utf-8";

.sp {
  display: block;
}

.tb,
.pc {
  display: none;
}

img {
	max-width: 100%;
}

.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;#roast ul.lineup li
}
.menu-trigger {
  position: fixed;
  top: 28px;
  right: 3%;
	width: 34px;
	height: 16px;
	z-index: 2;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 28px;
	height: 2px;
	background-color: #fff;
	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;
}


.fv {
  padding: 25% 0;
  background-size: 150%;
}
section {
  padding: 20% 0;
  background-size: 150%;
}

.inner {
  max-width: 90%;
}

.fv h2,
section h2 {
  font-size: 4vw;
  text-shadow: 0px 0px 10px #000000;
}

.fv p,
section p {
  font-size: 3vw;
}

.btn {
  margin: 7% 0 0;
  padding: 4% 10%;
  font-size: 4vw;
  border-radius: 10vw;
  text-shadow: 0px 0px 6px #000000;
}

.box-title {
  font-size: 4vw;
}

.box02-title {
  font-size: 5.4vw;
  line-height: 1.35;
  letter-spacing: 0.08em;
}

.box02-title span {
  font-size: inherit;
}

.box-text {
  font-size: 2.8vw;
  margin-top: 5%;
}

.service-detail {
  padding: 15% 20px;
}

.service-detail_inner {
  padding-left: 24px;
  box-sizing: border-box;
}

.service-detail ul {
  font-size: 4.2vw;
  line-height: 1.75;
}

.service-detail li + li {
  margin-top: 4%;
}

#box05 h2,
#box06 h2 {
  font-size: 3.4vw;
}

#box07  {
  padding: 15% 20px;
}

#box07 h2 {
  font-size: 5vw;
  margin-bottom: 12%;
}

#box07 dl {
  display: flex;
  align-items: flex-start;
  font-size: 3.7vw;
  line-height: 1.8;
  font-weight: bold;
  margin-bottom: 6%;
}

#box07 dt {
  flex: 0 0 27%;
  margin: 0 4% 0 0;
}

#box07 dd {
  flex: 1 1 auto;
  min-width: 0;
}

.company-profile-wide dd {
  line-height: 1.7;
}

.company-profile_note {
  margin-top: 6px;
  text-align: left;
}

.company-profile_note-heading {
  margin-top: 14px;
}

.access-photo {
  margin-top: 8%;
}

#box09, #box10  {
  padding: 15% 20px;
}

#box09 h2 {
  font-size: 4vw;
  margin-bottom: 10%;
}

#box10 h2 {
  font-size: 4vw;
  margin-bottom: 10%;
}

#box00, #box03, #box08 {
  padding: 25% 0;
  background-size: 150%;
}

#box02, #box04 {
  padding: 15% 0;
}

#overview {
  padding: 15% 20px;
}

#overview h2 {
  font-size: 4vw;
  margin-bottom: 10%;
}

#partner,
#special{
  padding: 15% 0;
}

#partner h2,
#special h2{
  line-height: 1.3;
  margin: 0 0 10%;
}

#partner p,
#special p{
  float: none;
  width: 100%;
  margin: 10% 0;
}

#footer {
  padding: 10% 0;
}

#footer ul li {
  margin: 0 5%;
}

#footer ul li img {
  width: 10vw;
}

#footer p {
  margin: 10% 0 0;
  font-size: 1.5vw;
  line-height: 2.2em;
}

.movie li{
	max-width:100%;
}
