/*  GOOGLEMAP TEXT  ============================================================================= */
ul.links {
	margin-top:1em;
	font-size:.7em;
}
ul.links li a span {
	margin-top:0;
}
/*  ABOUT SECTIONS  ============================================================================= */
.table li {
	display:table;
	width:100%;
	font-size: 15px;
	margin-bottom:1em;
	line-height:1.45;
}
.table li span {
	display:table-cell;
	vertical-align:top;
}
.table li span.middle {
	width:10em;
}
.table li span:first-child {
	width:6em;
	padding-right:1em;
}

dl.aboutlist {
	width:100%;
	line-height:1.45;
}
dl.aboutlist dt {
	float:left;
	clear:left;
	width:6em;
	vertical-align:top;
	margin-bottom:1em;
	font-size: 15px;
}
dl.aboutlist dd {
	font-size: 15px;
	padding-left:6em;
	vertical-align:top;
	margin-bottom:1em;
}
/*  BOOKS  ============================================================================= */
.books .booksphoto {
	float:left;
	width:30%;
}
.bookstext {
	float:right;
	width:70%;
	padding-left:1em;
}
.bookstext strong {
	font-weight:bold;
}


/*  PHILOSOPHY  ============================================================================= */
.philosophy li {
	font-size:.8em;
	line-height:1.8;
}
.philosophy li:first-child {
	text-align:center;
	padding-bottom:2em;
}
/*  PEOPLE  ============================================================================= */
.people {
	display: flex;
	flex-wrap: wrap;
	width: 100%;

}
.people_box {
	margin-bottom:2em;
	width:100%;
}
.people_box img {
	width: 100%;
	height: auto;
}
@media only screen and (min-width: 640px) {
	.people_box {
		width: 48%;
}
	.people_box:first-child {
		margin-right:4%;
	}
}

.people_box h4 {
	margin:1em 0 .5em 0;
	font-size: 17px;
}
.people_box h4 small {
	font-size:0.8em;
}
.people_box h6 {
	margin-bottom:1em;
	font-weight: normal;
	color:#545252;
	font-size: 14px;
}
.people_box .btn {
	margin-bottom:1em;
}
.people_box .btn a {
	position:relative;
	display:block;
	background:#7F7C7C;
	color:#FFF;
	padding:0 1em;
}
.people_box .btn a:hover {
	background:#898585;
}
.people_box .btn a span {
	position:absolute;
	right:5px;
	top:-2px;
	font-size:22px;
	color:#FFF;
}
.people_box .biography {
	display:none;
	font-size: 15px;
}
.wrap section p.copy {
	font-size:.7em;
}
span.photo {
	display:block;
	text-align:center;
}
/*  CONTENTS SECTIONS  ============================================================================= */
.contents {
	padding:3em 0;
	color:#313131;
	line-height:1.8;
}
.contents h1 {
	font-size:1.8em;
	margin-bottom:1em;
}
.contents p {
	font-size:.7em;
}
.about50 .section,
.about .section,
#jobtop .section,
.section#normal {
	margin:0 auto;
	width: 100%;
	max-width: 980px;
	padding-top: 50px;
}
.commercial .section,
.game .section,
.video .section,
.tv .section,
.film .section,
.others .section,
.jobs .section,
.access .section,
.contact .section {
	padding-top: 50px;
	max-width: 1280px;
}
.section50 {
	width: 100%;
}
.wrap section h2 {
	font-size:26px;
	margin-bottom:1.5em;
	padding-bottom:1em;
	border-bottom:#E1E1E1 1px solid;
	font-weight:300;
}

.wrap section h2.jobtitle {
	border:none;
	padding-bottom:0;
}
.wrap section .lead {
	margin-bottom:2em;
	padding-bottom:2em;
	border-bottom:#E1E1E1 1px solid;
}
.wrap section h3 {
	margin:0 0 1em 0;
}
.wrap section p {
	line-height:1.8;
	font-size: 15px;
}
.wrap section p img {
	width: 100%;
}
.wrap section p.mailtext {
	font-size: 24px;
}
.wrap section p.mailtext a:hover {
	text-decoration: underline;
}
.wrap section p.mailtext .genericon {
	font-size: 30px;
	line-height: 1.6;
	padding-right: 3px;
}
.wrap section .works_text h3 {
	margin-bottom:0;
	 font-weight:300;
	font-size:16px;
}
.wrap section .works_text p {
	font-size: 15px;
	margin-bottom:2em;
}
ul.nm {
	margin-top: 0!important;
}
ul.rec li strong {
	font-size:1em;
	color:#201F1F;
}
ul.rec li a:hover, p.mail a:hover {
	text-decoration:underline;
}
}
ul.process {
	margin-top:1em;
}
ul.process li {
	margin:0 0 .5em 1.5em;
	font-size:0.8em;
	line-height:1.6;
	list-style:decimal;
}
#worksContents h1 {
	font-weight:400;
  font-size: 1.6em;
	line-height: 1.5;
}
#worksContents h2 {
	margin:1em 0 3em;
	font-size:.9em;
	font-weight:400;
}
@media only screen and (max-width: 460px) {

	#worksContents h1 {
	  font-size: 1.2em;
	}
	#worksContents h2 {
		font-size:.7em;
	}
}
.left {
	padding:0 0 1em 0;
}
.youtube {
  position: relative;
  padding-bottom: 56.25%;
  /*padding-top: 30px;*/
  height: 0;
  overflow: hidden;
}
.youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.youtube {
	margin-bottom:3em;
}
.works_photo p {
	margin-bottom:4px;
}
.works_text {
	padding-top:2em;
	font-size:.75em;
	line-height:1.8;
}
.works_text ul {
	margin-bottom:2em;
}
.works_text ul li {
	font-size: 15px;
}
.works_text ul li.console {
	margin-top:1em;
}
.works_text dl {
	width:100%;
	display:table;
}
.awardlist {
	margin-bottom:2em;
}
.works_text dl dt {
	display:table-cell;
	width:3.2em;
	vertical-align:top;
	font-size: 15px;
}
.works_text dl dd {
	display:table-cell;
	vertical-align:top;
	font-size: 15px;
}
ul.links a {
	word-wrap: break-word;
}
p.navigator {
	position:fixed;
	right:4%;
	bottom:10%;
	z-index:9999;
}
p.navigator a {
	display:block;
	width:50px;
	height:50px;
	background:#EBEBEB;
	opacity:.8;
	margin-bottom: 1px;
}
p.navigator a span.genericon {
	font-size:50px;
	color:#FFF;
	line-height: 0.9;
}
p.navigator .genericon-next:before {
	padding-left: 2px;

}
p.navigator a:hover {
	opacity:1;
}
ul.links li a span {
	margin-top:2px;
	margin-right:4px;
	content: '\f442';
}
ul.links li a:hover {
	text-decoration:underline;
}
ul.links li a:hover span {
	text-decoration:none;
}
ul.layout2 {
	display: flex;
	flex-wrap: wrap;
}
ul.layout2 li {
	width:100%;
	margin-bottom: 4px;
}
@media only screen and (min-width: 640px) {
	ul.layout2 li {
		width:50%;
	}
	ul.layout2 li:nth-child(odd) {
		padding-right: 2px;
	}
	ul.layout2 li:nth-child(even) {
		padding-left: 2px;
	}
}


#error .section {
	padding-top: 100px;
}
.error {
	display:flex;
	width:90%;
	flex-wrap: wrap;
	margin:0 auto;
	flex-direction: column;
	justify-content: center;
  align-items: center;
}
.matoi {
	text-align:center;
	margin-bottom:2em;
}

.matoi img {
	width: 40%;
	height: auto;
}
.errortext h1 {
	color:#DBDBDB;
	font-size:3em;
	margin-bottom:.5em;
	font-family:'Barlow', sans-serif;
}
@media only screen and (min-width:860px) {
	#error .section {
		padding-top: 120px;
	}
	.error {
		flex-direction: row;
	}
	.errortext {
		width: 70%;
		padding-left:2.5em;
	}
	.matoi {
		width: 30%;
		margin-bottom: 0;
	}
	.matoi img {
		width: 100%;
	}
	.errortext h1 {
		font-size:6vw;
	}
}
p { font-size: 15px; line-height: 1.6;}

#source_box,
.accessbox {
	display: flex;
	flex-direction: column;
}
.works_photo,
.works_text,
.accessbox .accesstext,
.accessbox .accessmap {
	width:100%;
}
@media only screen and (min-width:860px) {
	#source_box,
	.accessbox {
		flex-direction:row;
		justify-content: space-between;
	}
	.accessbox .accesstext {
		width:40%;
		padding-right: 6%;
	}
	.accessbox .accessmap {
		width:60%;
	}
	.works_photo {
		width:60%;
		max-width: 640px;
	}
	.works_text {
		padding-top: 0;
		padding-left: 5%;
		width:40%;
		min-width: calc(100% - 640px);
	}
}
/*  PHILOSOPHY  ============================================================================= */
.philosophy {
	width:100%;
	display:table;
}
.philosophy li {
	display:table-cell;
	vertical-align:middle;
}
.philosophy li:first-child {
	padding-bottom:0;
	padding-right:2em;
}
/*  CONTACT  ============================================================================= */
.contactmail {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.contactmail li {
	width: 100%;
	padding: 22px 18px 21px 20px;
	font-size: 25px;
	border: #e1e1e1 3px solid;
	margin-bottom: 20px;
}
@media only screen and (min-width:860px) {
.contactmail {
	flex-direction: row;
	}
	.contactmail li {
		width: 49%;
		}
}

#normal section {
	line-height: 1.6;
}
#normal section p {
	margin-bottom: 1em;
}

.wrap section h3.catename {
	font-size: 25px;
	border-left: #FF0000 6px solid;
	padding: 8px 25px;
	line-height: 1;
	margin: 60px 0 30px 0;
}
.catentrylist li {
	width: 100%;
	margin-bottom: 10px;
	background: #f1f3f4;
}
.catentrylist li:hover {
	background: #F9D6D6;
	transition : 1s;
}
.catentrylist a {
	padding: 20px 40px 20px 20px;
	display: block;
	width: 100%;
	position: relative;
}
.catentrylist li div span {
	background: #FF0000;
	color: #FFF;
	font-size: 11px;
	padding: 0 10px;
	border-radius: 6px;
}
.jobtitle {
	font-size: 15px;
	font-weight: bold;;
}
.freetext {
	font-size: 15px;
}
.material-symbols-outlined {
	position: absolute;
	font-size: 25px !important;
	right: 5px;
	top: calc((100% - 25px) / 2);
}
@media only screen and (min-width:641px) {
	.jobtitle {
		font-size: 25px;
	}
	.wrap section h3.catename {
		font-size: 35px;
	}
	.catentrylist a {
		padding: 20px 50px;
	}
	.material-symbols-outlined {
		font-size: 45px !important;
		right: 30px;
		top: calc((100% - 45px) / 2);
	}
}
