@charset "utf-8";

/* 共通設定(リセット)
--------------------------------------------------------------------------------------------------------------------*/
html,body,h1,h2,h3,h4,h5,h6,ul,ol,li,div,p,dl,dt,dd,form,input,textarea,table,tr,th,td,object,iframe,
header,section,figure,figcaption,aside,footer {
	margin: 0;
	padding: 0;
	border: none;
}
table,tr,th,td {
	height: 100%;
	font-size: 100%;
	text-align: left;
}
table {
	border-collapse: separate;
	border-spacing: 10px 0;
}
th {
	white-space: nowrap;
	word-break: break-all;
}
input,textarea,select {
	font-family: inherit;
	font-size: 100%;
}
textarea {
	resize: vertical;
	overflow: auto;
}
img {
	vertical-align: middle;
	border: none;
}


/* 基本設定
--------------------------------------------------------------------------------------------------------------------*/
html {
	height: 100%;
	overflow-y: scroll;
}
body {
	min-width: 1020px;
	height: 100%;
	color: #282828;
	font-size: 100%;
	font-family: 'Hiragino Kaku Gothic ProN','Hiragino Kaku Gothic Pro', Meiryo, sans-serif;
	background: #fff;
	position: relative;
}
html > body {
	height: auto;
	min-height: 100%;
}
a:link    { color: #282828; text-decoration: underline; }
a:visited { color: #282828; text-decoration: underline; }
a:active  { color: #282828; text-decoration: none; }
a:hover   { color: #282828; text-decoration: none; }

h2 {
	margin: 0 auto 2.5em;
	padding: 0 0 5px;
	font-size: 100%;
	font-weight: bold;
	text-align: center;
	border-bottom: 4px solid #282828;
	display: inline-block;
}
h2.after {
	margin: 65px auto 2.5em;
}
h3 {
	margin: 20px 0 3px;
	font-size: 93.75%;
	font-weight: normal;
	line-height: 1.67;
	text-align: left;
}
table {
	margin: 0 0 8px -10px;
	width: 960px;
}
th,td {
	padding: 3px 15px 3px;
	font-size: 93.75%;
	line-height: 1.1;
	text-align: left;
	border-top: 1px dotted #282828;
}
tr.last-child th,
tr.last-child td,
th.last-child {
	border-bottom: 1px dotted #282828;
}
th {
	width: 24.46%;
	font-weight: normal;
	background: #ededed;
}
td {
	margin: 0 0 0 10px;
	width: 74px;
	line-height: 1.67;
}
ul {
	margin: 0;
	padding: 0 0 0 1.2em;
	text-align: left;
	list-style: disc;
}


/* 
--------------------------------------------------------------------------------------------------------------------*/
/* 共通部分
-------------------------------------------------*/
#loading {
	margin: 0 0 0 0;
	width: 100%;
	height: 100%;
	background: #fff;
	position: fixed;
	top:0;
	left:0;
	z-index: 10000;
}
#wrapper {
	opacity: 0;
}
#header {
	margin: 0 auto;
	padding: 55px 0 0;
	width: 1020px;
	min-width: 1020px;
	text-align: center;
}
#header h1 img {
	vertical-align: bottom;
}
#menu {
	padding: 57px 0 0;
	width: 100%;
	font-size: 100%;
	font-weight: bold;
	text-align: center;
	display: table;
	table-layout: auto;
}
#menu li {
	line-height: 1.0;
	display: table-cell;
}
#menu li a {
	padding: 0 0 15px;
	position: relative;
	text-decoration: none;
	display: inline-block;
}
#menu li a:after {
	width: 100%;
	height: 4px;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	transform: scaleX(0);
	background-color: #282828;
	transition: all .3s ease;
}
#menu li.current a:after {
	transform: scaleX(1);
}
#menu li a:hover:after {
	transform: scaleX(1);
}
.contents {
	margin: 50px auto 0;
	padding: 0 0 140px;
	width: 940px;
	text-align: center;
	overflow: hidden;
}
.contents p {
	margin: 0 0 1em;
	font-size: 93.75%;
	line-height: 1.67;
	text-align: left;
}
.contents p.not_divide {
	margin: 0 0 5px;
}
.contents h3#dbox_logo {
	margin: 0 0 7px;
	text-align: center;
}
.contents ul.point {
	padding: 0 0 0 1em;
	font-size: 75%;
	line-height: 1.41;
	list-style: none;
}
.contents ul.point li {
	text-indent: -1em;
}
.point {
	margin: 0 0 1em;
	font-size: 75%;
	line-height: 1.41;
}
.contents p.coming_soon {
	padding: 100px 0;
	text-align: center;
}
.times {
	font-size: 80%;
}
.movie_wrap {
	text-align: left;
}
td.pdf_download {
	padding: 0;
	border-top: 1px solid #282828;
}
tr.last-child td.pdf_download {
	border-bottom: 1px solid #282828;
}
td.pdf_download a {
	height: 100%;
	min-height: 64px;
	background: #282828 url(../image/pdf_download.gif) center center no-repeat;
	display: block;
}
.contact_info {
	padding: 20px 15px;
	font-size: 125%;
}
ul.num {
	list-style: decimal;
}
#pagetop {
	height: 50px;
	position: fixed;
	right: 30px;
	bottom: 0;
	display: none;
	z-index: 9000;
}
#pagetop:hover {
	cursor: pointer;
}
footer {
	width: 100%;
	height: 50px;
	position: absolute;
	bottom: 0;
	left: 0;
}
#footer {
	margin: 0 auto;
	width: 940px;
	font-size: 75%;
}
#fb_link {
	float: left;
}
#fb_link img {
	vertical-align: bottom;
}
#copyright {
	padding: 15px 0 0;
	float: right;
}


/* TOPページ
-------------------------------------------------*/
#top_contents {
	margin: 0 auto;
	padding: 0 0 140px;
	width: 100%;
}
#top_slide {
	margin: 0 auto;
	width: 100%;
}
#top_slide div {
	width: 100%;
	height: auto;
	max-height: 420px;
	background-size: cover;
	overflow: hidden;
}
#top_slide_01 { background: url(../image/top/top_slide01.jpg) center center no-repeat; }
#top_slide_02 { background: url(../image/top/top_slide02.jpg) center center no-repeat; }
#top_slide_03 { background: url(../image/top/top_slide03.jpg) center center no-repeat; }
#top_slide_04 { background: url(../image/top/top_slide04.jpg) center center no-repeat; }
#top_slide_05 { background: url(../image/top/top_slide05.jpg) center center no-repeat; }
#top_slide_06 { background: url(../image/top/top_slide06.jpg) center center no-repeat; }
#top_slide_07 { background: url(../image/top/top_slide07.jpg) center center no-repeat; }
#top_slide_08 { background: url(../image/top/top_slide08.jpg) center center no-repeat; }
#top_slide_09 { background: url(../image/top/top_slide09.jpg) center center no-repeat; }
#top_slide_10 { background: url(../image/top/top_slide10.jpg) center center no-repeat; }
#top_slide_11 { background: url(../image/top/top_slide11.jpg) center center no-repeat; }
#top_slide_12 { background: url(../image/top/top_slide12.jpg) center center no-repeat; }
#top_slide div img {
	width: 100%;
	height: auto;
	opacity: 0;
}
#our_sites {
	margin: 35px auto 0;
	width: 940px;
	display: none;
}
#news {
	margin: 35px auto 0;
	width: 940px;
	min-height: 4.8em;
}
#news ul {
	padding: 0;
	list-style: none;
}
#news li {
	padding: 0 0 0 15px;
	font-size: 81.25%;
	line-height: 1.92;
	background: url(../image/news_arrow.gif) left center no-repeat;
}
#news li a:link,
#news li a:visited {
	text-decoration: none;
}
#news li a:active,
#news li a:hover {
	text-decoration: underline;
}
#sp_top_title {
	display: none;
}
#sp_top_contentsList {
	display: none;
}
#fb_feed {
	margin: 100px auto 50px;
	width: 960px;
	min-width: 960px;
	text-align: center;
}
#fb_feed h2 {
	margin: 0 auto 20px;
}
#fb_feed iframe {
	width: 100%;
	height: 475px;
	border: none;
}
.elfsight-app-0ae1e5a1-cf7d-426d-bc18-8b427fd882ff::after {
	content: "";
	width: 100%;
	height: 5em;
	background: #fff;
	display: block;
	position: relative;
	top: -60px;
	left: 0;
	z-index: 100000;
}

/* STUDIOページ
-------------------------------------------------*/
.studio_map {
	width: 635px;
	float: left;
}
.studio_img {
	width: 270px;
	float: right;
}
.studio_img p img {
	vertical-align: bottom;
}
.studio_img p.first {
	margin: 0 0 27px;
}


/* RENTALページ
-------------------------------------------------*/
#d-box_info {
	width: 670px;
	float: left;
	overflow: hidden;
}
#d-box_info table {
	width: 680px;
}
#studio_appearance {
	width: 270px;
	float: right;
}
table.table_devide {
	margin: 0 0 27px -10px;
}
td.pricelist_info {
	padding: 40px 15px;
}


/* worksページ
-------------------------------------------------*/
#works_box {
	width: 940px;
	overflow: hidden;
}
#works_box h3#works_movie {
	margin: 0 0 2px;
}
#works_box ul {
	padding: 0;
	width: 960px;
	text-align: center;
	list-style: none;
}
#works_box ul#works_list li {
	margin: 0 20px 20px 0;
	width: 300px;
	line-height: 2.0;
	text-align: left;
	float: left;
}
#works_box ul#works_list li a {
	text-decoration: none;
	transition: all 0.2s ease;
}
#works_box ul#works_list li a:hover {
	opacity: 0.7;
}
#works_box ul#lightbox li {
	margin: 0 20px 20px 0;
	width: 140px;
	float: left;
}
#works_box ul li a img {
	width: 100%;
	height: auto;
	border: 1px solid #cccccc;
	box-sizing:border-box;
}
#works_box ul li a img.otherLink {
	width: auto;
	border: none;
}


/* ACCESSページ
-------------------------------------------------*/
#map_canvas {
	width: 940px;
	height: 450px;
}
h3#access_info {
	margin: 20px 0 3px;
	padding: 0;
	font-size: 93.75%;
	font-weight: normal;
	line-height: 1.67;
	text-align: left;
	border-bottom: none;
	display: block;
}


/* clear:float
-------------------------------------------------*/
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}



/* SP向け指示
--------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 1021px) {
	/* 共通部分
	-------------------------------------------------*/
	body {
		min-width: 100%;
		font-size: 87.5%;
	}
	header {
		width: 100%;
		position: fixed;
		top: 0;
		left: 0;
		background: #fff;
		z-index: 9001;
	}
	#top header {
		position: relative;
	}
	#header {
		padding: 10px 0;
		width: 100%;
		min-width: 100%;
		text-align: left;
		position: relative;
	}
	#header h1 {
		margin: 0 auto;
		width: 35%;
	}
	#header h1 img {
		width: 100%;
		height: auto;
	}
	#sp_menu {
		padding: 10px;
		width: 25px;
		height: 20px;
		position: absolute;
		top: 25%;
		right: 10px;
		background: #ffffff;
	}
	#sp_menu_wrap {
		width: 25px;
		height: 20px;
		position: relative;
	}
	#sp_menu span {
		width: 25px;
		height: 2px;
		background: #282828;
		box-sizing: border-box;
		position: absolute;
		left: 0;
		display: inline-block;
		transition: all .4s;
	}
	#sp_menu span:nth-of-type(1) {
		top: 0;
	}
	#sp_menu span:nth-of-type(2) {
		top: 9px;
	}
	#sp_menu span:nth-of-type(3) {
		bottom: 0;
	}
	#sp_menu.open span:nth-of-type(1) {
		transform: translateY(9px) rotate(-45deg);
	}
	#sp_menu.open span:nth-of-type(2) {
		opacity: 0;
	}
	#sp_menu.open span:nth-of-type(3) {
		transform: translateY(-9px) rotate(45deg);
	}
	#menu {
		padding: 0;
		width: 100%;
		height: 100vh;
		background: rgba(255,255,255,.95);
		opacity: 0;
		position: absolute;
		top: 95%;
		left: 0;
		display: none;
		z-index: 10000;
	}
	#menu li {
		line-height: inherit;
		background: url(../image/news_arrow.gif) 97% center no-repeat;
		border-top: 1px dotted #282828;
		display: block;
	}
	#menu li:last-child {
		border-bottom: 1px dotted #282828;
	}
	#menu li a {
		padding: 15px 0;
		display: block;
	}
	#menu li a::after,
	#menu li a:hover:after,
	#menu li.current a:after {
		transform: scaleX(0);
	}
	.contents {
		margin: 111px auto 0;
		width: 95%;
	}
	h2 {
		margin: 0 auto 1.5em;
	}
	h2.after {
		margin: 65px auto 1em;
	}
	table {
		margin: 0 0 8px -5px;
		width: 103%;
		border-spacing: 5px 0;
	}
	table.table_devide {
		margin: 0 0 27px -5px;
	}
	th,td {
		padding: 7px 5px;
		font-size: 75%;
		word-break: normal;
	}
	th {
		width: 24%;
		white-space: normal;
	}
	td {
		width: 25%;
	}
	td.pdf_download a {
		background-size: contain;
	}
	table.table_3_7 td {
		width: 65%;
	}
	li {
		font-size: 87.5%;
	}
	iframe {
		width: 100%;
		height: auto;
	}
	.contents ul.point li {
		font-size: 100%;
	}
	.movie_wrap{
		padding: 56.25% 0 0;
		width: 100%;
		position: relative;
	}
	.movie_wrap iframe{
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		right: 0;
	}
	footer {
		height: 40px;
	}
	#footer {
		width: 95%;
	}
	#fb_link {
		width: 138px;
		height: 40px;
	}
	#fb_link img {
		width: 100%;
		height: auto;
	}
	#company_address {
		display: none;
	}
	#copyright {
		padding: 10px 0 0;
	}
	#pagetop {
		height: 50px;
		position: absolute;
		right: 2%;
		bottom: 60px;
	}


	/* TOPページ
	-------------------------------------------------*/
	#top_slide ul.slick-dots {
		display: none !important;
	}
	#top_contents {
		margin: 0;
		padding: 0 0 140px;
		text-align: center;
	}
	#our_sites {
		margin: 15px auto 10px;
		width: 95%;
	}
	#news {
		margin: 15px auto 10px;
		width: 95%;
		text-align: left;
	}
	#news li {
		margin: 0 0 12px;
		line-height: 1.4;
		background: url(../image/news_arrow.gif) left 3px no-repeat;
	}
	#news li a {
		display: block;
	}
	h2#sp_top_title {
		margin: 20px auto 0.5em;
		display: inline-block;
	}
	#sp_top_contentsList {
		margin: 10px auto 0;
		padding: 0;
		width: 95%;
		list-style: none;
		display: block;
	}
	#sp_top_contentsList li {
		text-align: center;
		background: rgba(255,255,255,.95) url(../image/news_arrow.gif) 97% center no-repeat;
		border-top: 1px dotted #282828;
	}
	#sp_top_contentsList li:last-child {
		border-bottom: 1px dotted #282828;
	}
	#sp_top_contentsList li a {
		padding: 15px 0;
		font-weight: bold;
		text-decoration: none;
		display: block;
	}
	#fb_feed {
		margin: 100px auto 0;
		width: 80%;
		min-width: 80%;
	}
	#fb_feed h2 {
		margin: 0 auto 20px;
	}
	#fb_feed iframe {
		height: 120vw;
	}

	/* LIGHTINGページ
	-------------------------------------------------*/
	table#loca_items th {
		width: 20%;
	}
	table#loca_items td {
		width: 10%;
	}

	/* STUDIOページ
	-------------------------------------------------*/
	.studio_map,
	.studio_img {
		width: 100%;
		float: none;
	}
	.studio_img {
		margin: 16px 0 12px;
		display: flex;
	}
	.studio_img p {
		margin: 0;
	}
	.studio_img p.first {
		margin: 0 5% 0 0;
	}
	#studio_appearance {
		display: none;
	}
	.studio_map img,
	.studio_img img {
		width: 100%;
		height: auto;
		vertical-align: bottom;
	}
	#dbox_logo img {
		width: 40%;
		height: auto;
	}

	/* RENTALページ
	-------------------------------------------------*/
	#d-box_info {
		width: 100%;
	}
	#d-box_info table {
		width: 105%;
	}
	th.member {
		width: 15%;
		font-size: 68.7%;
	}
	td.member {
		width: 40%;
		font-size:68.7%;
	}
	td.pricelist_info {
		padding: 7px 5px;
	}
	.contents ul.point, .point {
		font-size: 68.7%;
	}

	/* worksページ
	-------------------------------------------------*/
	#works_box {
		margin: 0 auto;
		width: 100%;
		overflow: auto;
	}
	#works_box ul#works_list,
	#works_box ul#lightbox {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
	}
	#works_box ul#works_list li {
		margin: 0 0 1em;
		width: 50%;
		float: none;
		box-sizing: border-box;
	}
	#works_box ul#lightbox li {
		margin: 0 0 1em;
		width: 25%;
		float: none;
		box-sizing: border-box;
	}
	#works_box ul#works_list li:nth-child(odd),
	#works_box ul#lightbox li:nth-child(odd) {
		padding: 0 0.5em 0 0;
	}
	#works_box ul#works_list li:nth-child(even),
	#works_box ul#lightbox li:nth-child(even) {
		padding: 0 0 0 0.5em;
	}

	/* ACCESSページ
	-------------------------------------------------*/
	#map_canvas {
		width: 100%;
		height: 300px;
	}
	.contact_info {
		font-size: 100%;
	}

}



@media screen and (max-width: 600px) {
	/* worksページ
	-------------------------------------------------*/
	#works_box ul li {
		margin: 0;
		width: 100%;
	}
	#works_box ul#lightbox li {
		width: 50%;
	}
}