@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

body {
	line-height: 1;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after {
	content: "";
	content: none;
}

q:before,
q:after {
	content: "";
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

.copyright,
.product-case__num,
.product-case__ttl p:last-child,
.mv-txt__num,
.mv-txt__place,
.top-works .wlst__place,
.works .wlst__place,
.top-works .wlst__num,
.works .wlst__num,
.top-works .wlst__category,
.works .wlst__category,
.en-modal__lead p,
.en-modal__contact p,
.index-nav__num,
.index-nav__place,
.index-nav__design,
.category-nav__item-area a {
	font-weight: 300; 
	font-family: "Lato", sans-serif;
}

.btn,
.btn-cnt,
.btn-en,
.ankr a,
.nav a,
figcaption,
.section__ttl,
.section__ttl--cnt,
.section__sttl,
.page-ttl,
.page-nav a,
.breadcrumb li,
.breadcrumb a,
.about-main__works .rotate-txt,
.people-info dt,
.product-case__ttl p:first-child,
.interview__name,
.interview__info dt .en-name,
.mv__main p,
.mv .rotate-txt p,
.mv-txt__ttl,
.top-about .rotate-txt p,
.rotate-txt p,
.top-works .wlst__ttl,
.works .wlst__ttl,
.clst__item,
.clst__ico,
.works-header .page-nav a,
.detail-header .page-nav a,
.works-index__ttl,
.category-index__ttl,
.index-nav__ttl,
.category-nav__ttl a {
	font-weight: 400; 
	font-family: "Lato", sans-serif;
}

.office__info dt {
	font-weight: 700; 
	font-family: "Lato", sans-serif;
}

.btn,
.btn-cnt {
	position: relative;
	display: block;
	overflow: hidden;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border: solid 1px #1d1d1d;
	text-align: center;
	text-decoration: none;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

@-webkit-keyframes pagemove {
	from {
		left: -100%;
		opacity: 0;
	}
	to {
		left: 0;
		opacity: 1;
	}
}

@keyframes pagemove {
	from {
		left: -100%;
		opacity: 0;
	}
	to {
		left: 0;
		opacity: 1;
	}
}

@-webkit-keyframes opening01 {
	0% {
		left: 100vw;
	}
	53% {
		left: 100vw;
	}
	100% {
		left: 0;
	}
}

@keyframes opening01 {
	0% {
		left: 100vw;
	}
	53% {
		left: 100vw;
	}
	100% {
		left: 0;
	}
}

@-webkit-keyframes opening02 {
	0% {
		top: 400%;
	}
	30% {
		top: 400%;
	}
	100% {
		top: 0;
	}
}

@keyframes opening02 {
	0% {
		top: 400%;
	}
	30% {
		top: 400%;
	}
	100% {
		top: 0;
	}
}

@-webkit-keyframes opening03 {
	0% {
		left: -400%;
	}
	35% {
		left: -400%;
	}
	100% {
		left: 0;
	}
}

@keyframes opening03 {
	0% {
		left: -400%;
	}
	35% {
		left: -400%;
	}
	100% {
		left: 0;
	}
}

@-webkit-keyframes recruitSlide {
	from {
		-webkit-transform: translateX(150%);
		        transform: translateX(150%);
	}
	to {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
}

@keyframes recruitSlide {
	from {
		-webkit-transform: translateX(150%);
		        transform: translateX(150%);
	}
	to {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
}

.sub-txt {
	color: #cf4747;
}

.btn {
	z-index: 3;
	cursor: pointer; 
	width: 238px;
	height: 46px;
	background: transparent;
	font-size: 10px;
	font-size: 1rem;
	line-height: 2.8;
	color: #1d1d1d;
}

.btn-box {
	clear: both;
	padding: 40px 0;
	width: 100%;
	text-align: center;
}
.btn-box .btn {
	margin: 0 auto;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box; 
	font-size: 10px;
	font-size: 1rem;
	line-height: 2.8;
}

.btn-left a,
.btn-cnt a,
.btn-en a {
	display: block;
}

.btn-left:hover:before,
.btn-left:active:before,
.btn-cnt:hover:before,
.btn-cnt:active:before,
.btn-en:hover:before,
.btn-en:active:before {
	left: 0;
}

.btn-left:before,
.btn-cnt:before,
.btn-en:before {
	content: "";
	position: absolute;
	left: -100%;
	z-index: -1;
	display: none; 
	width: 100%;
	height: 100%;
	background-color: #1d1d1d;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

.btn-down:hover:before,
.btn-down:active:before {
	top: 0;
}

.btn-down:before {
	content: "";
	position: absolute;
	top: -100%;
	z-index: -1;
	display: none; 
	width: 100%;
	height: 100%;
	background-color: #1d1d1d;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

.btn-down.end:before {
	top: 0;
}

.btn-centr a {
	display: block;
}

.btn-centr:before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	display: none;
	background: #1d1d1d;
	-webkit-transition-timing-function: ease-out;
	     -o-transition-timing-function: ease-out;
	        transition-timing-function: ease-out; 
	-webkit-transition-duration: .3s; 
	     -o-transition-duration: .3s; 
	        transition-duration: .3s;
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	-o-transition-property: transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	-webkit-transform: scaleX(0);
	    -ms-transform: scaleX(0);
	        transform: scaleX(0);
	-webkit-transform-origin: 50%;
	    -ms-transform-origin: 50%;
	        transform-origin: 50%;
}

.btn-centr:hover:before,
.btn-centr:active:before {
	-webkit-transform: scaleX(1);
	    -ms-transform: scaleX(1);
	        transform: scaleX(1);
}

.btn-send a,
.btn-back a {
	display: block;
}

.btn-send:hover:before,
.btn-send:active:before,
.btn-back:hover:before,
.btn-back:active:before {
	left: 0;
}

.btn-send:before,
.btn-back:before {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	z-index: -1;
	display: none; 
	width: 100%;
	height: 100%;
	background-color: #fff;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

.btn-cnt {
	width: 135px;
	height: 35px;
	font-size: 9px;
	font-size: .9rem;
	line-height: 2.33333;
	color: #1d1d1d;
	text-decoration: none;
}

.btn-en {
	position: relative;
	overflow: hidden;
	cursor: pointer; 
	margin-left: 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 35px;
	height: 35px;
	border: solid 1px #fff;
	font-size: 9px;
	font-size: .9rem;
	line-height: 2.33333;
	color: #fff;
	text-align: center;
}

.hdr-btn .btn-cnt {
	border: solid 1px #fff; 
	color: #fff;
}
.hdr-btn .btn-cnt:before {
	display: none;
}
.hdr-btn .btn-cnt a {
	color: #fff;
	text-decoration: none;
}

.btn-arrow {
	position: absolute;
	margin-left: 35px;
	color: #1d1d1d; 
	-webkit-transition: .3s; 
	-o-transition: .3s; 
	transition: .3s;
}

.btn-active {
	background: #1d1d1d;
	color: #fff;
}
.btn-active .btn-arrow {
	color: #fff;
}

.ankr {
	position: relative;
	cursor: pointer;
	padding: 0 0 5px 0;
	height: auto;
	text-align: left;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
.ankr:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 50%;
	height: 1px;
	background: #000;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s;
	-webkit-transform-origin: 0;
	    -ms-transform-origin: 0;
	        transform-origin: 0;
}
.ankr:after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 50%;
	height: 1px;
	background: #000;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s;
	-webkit-transform-origin: 100%;
	    -ms-transform-origin: 100%;
	        transform-origin: 100%;
}
.ankr a {
	display: block; 
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.2;
	color: #1d1d1d;
	text-decoration: none;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
.ankr .arrow-up,
.ankr .arrow-down {
	position: absolute;
	right: 0;
	opacity: 1;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

.msg-ankr,
.company-ankr,
.people-ankr,
.interview-ankr,
.recruit-ankr,
.history-ankr {
	position: relative; 
	width: 125px;
}
.msg-ankr a,
.msg-ankr span,
.company-ankr a,
.company-ankr span,
.people-ankr a,
.people-ankr span,
.interview-ankr a,
.interview-ankr span,
.recruit-ankr a,
.recruit-ankr span,
.history-ankr a,
.history-ankr span {
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

.history-ankr {
	margin-top: 12px;
}

.ftr-ankr {
	margin: 28px auto 0; 
	width: 110px;
}
.ftr-ankr a {
	font-size: 9px;
	font-size: .9rem;
	line-height: 1.22222;
	color: #1d1d1d;
	text-decoration: none;
}
.ftr-ankr .arrow-up,
.ftr-ankr .arrow-down {
	position: absolute;
	right: 0;
}

.close-trigger,
.cnt-close-trigger {
	cursor: pointer;
	padding: 0;
	width: 36px;
	height: 36px;
	border: none;
	outline: none; 
	background: transparent;
}
.close-trigger .line1,
.close-trigger .line2,
.cnt-close-trigger .line1,
.cnt-close-trigger .line2 {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	margin: auto;
	width: 28px;
	height: 2px;
	background: #fff;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
.close-trigger .line1,
.cnt-close-trigger .line1 {
	-webkit-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
}
.close-trigger .line2,
.cnt-close-trigger .line2 {
	-webkit-transform: rotate(-45deg);
	    -ms-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

.close-trigger {
	position: absolute;
	top: 80px;
	right: 20px;
	z-index: 100; 
	display: none;
}

.cnt-close-trigger {
	position: absolute;
	top: 48px;
	right: 20px;
	z-index: 90;
}

/*! * * * * * * * * * * * * * * * * * * * *\
  CSShake :: shake-little
  v1.5.0
  CSS classes to move your DOM
  (c) 2015 @elrumordelaluz
  http://elrumordelaluz.github.io/csshake/
  Licensed under MIT
\* * * * * * * * * * * * * * * * * * * * */
.shake {
	display: inline-block;
	-webkit-transform-origin: center center;
	    -ms-transform-origin: center center;
	        transform-origin: center center;
}

@-webkit-keyframes shake-little {
	2% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	4% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	6% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	8% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	10% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	12% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	14% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	16% {
		-webkit-transform: translate(0px, 1px) rotate(.5deg);
		        transform: translate(0px, 1px) rotate(.5deg);
	}
	18% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	20% {
		-webkit-transform: translate(0px, 1px) rotate(.5deg);
		        transform: translate(0px, 1px) rotate(.5deg);
	}
	22% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	24% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	26% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	28% {
		-webkit-transform: translate(0px, 1px) rotate(.5deg);
		        transform: translate(0px, 1px) rotate(.5deg);
	}
	30% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	32% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	34% {
		-webkit-transform: translate(0px, 1px) rotate(.5deg);
		        transform: translate(0px, 1px) rotate(.5deg);
	}
	36% {
		-webkit-transform: translate(0px, 1px) rotate(.5deg);
		        transform: translate(0px, 1px) rotate(.5deg);
	}
	38% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	40% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	42% {
		-webkit-transform: translate(0px, 1px) rotate(.5deg);
		        transform: translate(0px, 1px) rotate(.5deg);
	}
	44% {
		-webkit-transform: translate(0px, 1px) rotate(.5deg);
		        transform: translate(0px, 1px) rotate(.5deg);
	}
	46% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	48% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	50% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	52% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	54% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	56% {
		-webkit-transform: translate(0px, 1px) rotate(.5deg);
		        transform: translate(0px, 1px) rotate(.5deg);
	}
	58% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	60% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	62% {
		-webkit-transform: translate(0px, 1px) rotate(.5deg);
		        transform: translate(0px, 1px) rotate(.5deg);
	}
	64% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	66% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	68% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	70% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	72% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	74% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	76% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	78% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	80% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	82% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	84% {
		-webkit-transform: translate(0px, 1px) rotate(.5deg);
		        transform: translate(0px, 1px) rotate(.5deg);
	}
	86% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	88% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	90% {
		-webkit-transform: translate(0px, 1px) rotate(.5deg);
		        transform: translate(0px, 1px) rotate(.5deg);
	}
	92% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	94% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	96% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	98% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	0%,
	100% {
		-webkit-transform: translate(0, 0) rotate(0);
		        transform: translate(0, 0) rotate(0);
	}
}

@keyframes shake-little {
	2% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	4% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	6% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	8% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	10% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	12% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	14% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	16% {
		-webkit-transform: translate(0px, 1px) rotate(.5deg);
		        transform: translate(0px, 1px) rotate(.5deg);
	}
	18% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	20% {
		-webkit-transform: translate(0px, 1px) rotate(.5deg);
		        transform: translate(0px, 1px) rotate(.5deg);
	}
	22% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	24% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	26% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	28% {
		-webkit-transform: translate(0px, 1px) rotate(.5deg);
		        transform: translate(0px, 1px) rotate(.5deg);
	}
	30% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	32% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	34% {
		-webkit-transform: translate(0px, 1px) rotate(.5deg);
		        transform: translate(0px, 1px) rotate(.5deg);
	}
	36% {
		-webkit-transform: translate(0px, 1px) rotate(.5deg);
		        transform: translate(0px, 1px) rotate(.5deg);
	}
	38% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	40% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	42% {
		-webkit-transform: translate(0px, 1px) rotate(.5deg);
		        transform: translate(0px, 1px) rotate(.5deg);
	}
	44% {
		-webkit-transform: translate(0px, 1px) rotate(.5deg);
		        transform: translate(0px, 1px) rotate(.5deg);
	}
	46% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	48% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	50% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	52% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	54% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	56% {
		-webkit-transform: translate(0px, 1px) rotate(.5deg);
		        transform: translate(0px, 1px) rotate(.5deg);
	}
	58% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	60% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	62% {
		-webkit-transform: translate(0px, 1px) rotate(.5deg);
		        transform: translate(0px, 1px) rotate(.5deg);
	}
	64% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	66% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	68% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	70% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	72% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	74% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	76% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	78% {
		-webkit-transform: translate(0px, 0px) rotate(.5deg);
		        transform: translate(0px, 0px) rotate(.5deg);
	}
	80% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	82% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	84% {
		-webkit-transform: translate(0px, 1px) rotate(.5deg);
		        transform: translate(0px, 1px) rotate(.5deg);
	}
	86% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	88% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	90% {
		-webkit-transform: translate(0px, 1px) rotate(.5deg);
		        transform: translate(0px, 1px) rotate(.5deg);
	}
	92% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	94% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	96% {
		-webkit-transform: translate(1px, 0px) rotate(.5deg);
		        transform: translate(1px, 0px) rotate(.5deg);
	}
	98% {
		-webkit-transform: translate(1px, 1px) rotate(.5deg);
		        transform: translate(1px, 1px) rotate(.5deg);
	}
	0%,
	100% {
		-webkit-transform: translate(0, 0) rotate(0);
		        transform: translate(0, 0) rotate(0);
	}
}

.shake:hover {
	-webkit-animation-name: shake-little;
	        animation-name: shake-little;
	-webkit-animation-duration: 100ms;
	        animation-duration: 100ms;
	-webkit-animation-timing-function: ease-in-out;
	        animation-timing-function: ease-in-out;
	-webkit-animation-iteration-count: infinite;
	        animation-iteration-count: infinite;
}

/*==================================================
 Footer
================================================== */
.footer {
	position: relative;
	overflow: hidden;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box; 
	width: 100%;
}

/* Maps
================================================== */
.access {
	overflow: hidden;
}
.access__map {
	position: relative; 
	float: left;
	width: 100%;
	height: 230px;
	background-color: #666;
}
.access__info {
	position: absolute;
	bottom: 0; 
	left: 20px;
	padding: 10px 16px;
	width: 160px;
	height: 42px;
	background-color: #1d1d1d;
}
.access__info p:first-child {
	font-size: 9px;
	font-size: .9rem;
	line-height: 1.66667;
	color: #fff;
	letter-spacing: .05em;
}
.access__info p:last-child {
	font-size: 9px;
	font-size: .9rem;
	line-height: 1.66667;
	color: #fff;
	letter-spacing: .05em;
}
.access .map-tokyo {
	margin: 4px 0 0 0;
}

.gm-style-iw p,
.gm-style-iw a {
	color: #1d1d1d;
}

.gm-style-iw a {
	font-size: 8.5px;
	font-size: .85rem;
	line-height: 1.64706;
}
.gm-style-iw a:hover {
	text-decoration: none;
}

#top-index .access {
	margin-top: 40px;
}

.map-area {
	display: block;
	width: 100%;
	height: 100%;
}

.office {
	float: none; 
	height: auto;
	max-width: 600px;
}
.office__ttl {
	width: 400px;
}
.office__ttl img {
	max-width: 252px;
}
.office__info {
	display: block;
	margin-top: 30px;
}
.office__info:nth-child(3) {
	margin: 30px 0 0 0;
}
.office__info dt {
	margin: 0 0 4px; 
	font-size: 8.5px;
	font-size: .85rem;
	line-height: 1.41176;
}
.office__info dd {
	font-size: 8.5px;
	font-size: .85rem;
	line-height: 1.41176;
}

.info-wrap {
	padding: 40px 20px 20px;
}

.ftr-nav {
	float: none;
	margin: 0 auto;
}
.ftr-nav__inner {
	display: none;
	margin-top: 20px;
}
.ftr-nav__inner li a {
	color: #1d1d1d; 
	text-decoration: none;
}
.ftr-nav__inner .btn-cnt {
	margin-left: 178px;
}

.ftr-btn {
	float: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 40px auto 0; 
	width: 348px;
}
.ftr-btn .x,
.ftr-btn .instagram,
.ftr-btn .youtube,
.ftr-btn .facebook {
	margin-left: 20px; 
	width: 32px;
	height: 32px;

	-webkit-box-flex: 0;

	    -ms-flex: 0 0 auto;

	        flex: 0 0 auto;
}
.ftr-btn .x a,
.ftr-btn .instagram a,
.ftr-btn .youtube a,
.ftr-btn .facebook a {
	display: block;
	cursor: pointer;
	width: 100%;
	height: 100%;
	border: solid 1px #1d1d1d;
	border-radius: 50%;
	background-repeat: no-repeat;
	background-position: right;
	background-size: 64px 32px;
	-webkit-transition: .25s;
	-o-transition: .25s;
	transition: .25s;
}
.ftr-btn .x a span,
.ftr-btn .instagram a span,
.ftr-btn .youtube a span,
.ftr-btn .facebook a span {
	position: absolute !important;
	overflow: hidden !important;
	margin: -1px !important;
	padding: 0 !important;
	width: 1px !important;
	height: 1px !important;
	border: 0 !important; 
	white-space: nowrap !important;
	clip: rect(0, 0, 0, 0) !important;
}
.ftr-btn .x a {
	background-image: url(../image/ico-x.svg);
}
.ftr-btn .youtube a {
	background-image: url(../image/ico-youtube.svg);
}
.ftr-btn .instagram a {
	background-image: url(../image/ico-insta.svg);
}
.ftr-btn .facebook a {
	background-image: url(../image/ico-fb.svg);
}

.copyright {
	clear: both;
	padding-top: 30px;
	font-size: 8.25px;
	font-size: .825rem;
	line-height: 1.21212;
	text-align: center;
}

.copy-txt {
	margin: 0 3px;
	font-size: 10px;
	font-size: 1rem;
	line-height: 1;
	vertical-align: text-bottom;
}

/*==================================================
 Header
================================================== */
.header {
	overflow: hidden;
	padding: 7px 20px; 
	-webkit-box-sizing: border-box; 
	        box-sizing: border-box;
	width: 100%;
	height: auto;
}

.hdr-logo {
	float: left;
	padding: 5px 0 6px;
	width: 80%;
	height: auto;
	max-width: 252px;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
.hdr-logo img {
	width: 100%;
	height: auto;
}

.hdr-nav-wrap {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	float: none;
	display: none;
	padding: 80px 40px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box; 
	width: 100%;
	height: 100vh;
	background: #666;
}

.toggle {
	position: fixed;
	top: 17px;
	right: 20px;
	z-index: 100; 
	display: block;
	cursor: pointer;
	padding: 0;
	width: 40px;
	height: 36px;
	border: none;
	outline: none;
	background: #fff;
}
.toggle .tgl-top,
.toggle .tgl-btm {
	position: absolute;
	display: block;
	width: 30px;
	height: 2px;
	background: #1d1d1d;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
.toggle .tgl-mid {
	position: absolute;
	top: 18px;
	right: 5px;
	display: block;
	width: 30px;
	height: 2px;
	background: #1d1d1d;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
	-webkit-transition-delay: .4s;
	     -o-transition-delay: .4s;
	        transition-delay: .4s;
}
.toggle .tgl-top {
	top: 10px;
	right: 5px;
}
.toggle .tgl-btm {
	top: 26px;
	right: 5px;
	-webkit-transition-delay: .2s;
	     -o-transition-delay: .2s;
	        transition-delay: .2s;
}

.toggle.is-open {
	background: transparent;
}
.toggle.is-open .tgl-mid {
	background: transparent;
	-webkit-transform: translateX(10px);
	    -ms-transform: translateX(10px);
	        transform: translateX(10px);
}
.toggle.is-open .tgl-top {
	top: 18px;
	background: #fff;
	-webkit-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
}
.toggle.is-open .tgl-btm {
	top: 18px;
	background: #fff;
	-webkit-transform: rotate(-45deg);
	    -ms-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

.hdr-btn {
	float: left;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 40px auto 0; 
	width: 245px;

	-ms-flex-wrap: wrap;

	    flex-wrap: wrap;
}
.hdr-btn .btn-sns {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 20px; 
	width: 100%;
}
.hdr-btn .btn-sns li + li {
	margin-left: 20px;
}
.hdr-btn .x,
.hdr-btn .instagram,
.hdr-btn .youtube,
.hdr-btn .facebook {
	width: 32px;
	height: 32px; 

	-webkit-box-flex: 0; 

	    -ms-flex: 0 0 auto; 

	        flex: 0 0 auto;
}
.hdr-btn .x a,
.hdr-btn .instagram a,
.hdr-btn .youtube a,
.hdr-btn .facebook a {
	display: block;
	cursor: pointer; 
	width: 100%;
	height: 100%;
	border: solid 1px #fff;
	border-radius: 50%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px 18px;
}
.hdr-btn .x span,
.hdr-btn .instagram span,
.hdr-btn .youtube span,
.hdr-btn .facebook span {
	position: absolute !important;
	overflow: hidden !important;
	margin: -1px !important;
	padding: 0 !important;
	width: 1px !important;
	height: 1px !important;
	border: 0 !important; 
	white-space: nowrap !important;
	clip: rect(0, 0, 0, 0) !important;
}
.hdr-btn .x a {
	background-image: url(../image/ico-x_w.svg);
}
.hdr-btn .instagram a {
	background-image: url(../image/ico-insta_w.svg);
}
.hdr-btn .youtube a {
	background-image: url(../image/ico-youtube_w.svg);
}
.hdr-btn .facebook a {
	background-image: url(../image/ico-fb_w.svg);
}

.nav {
	display: block;
}
.nav li {
	position: relative;
	overflow: hidden;
	height: 35px;
	line-height: 35px;

	-webkit-backface-visibility: hidden;

	        backface-visibility: hidden;
}
.nav li:hover:before {
	left: 0;
}
.nav li + li {
	margin: 15px 0 0 0;
}
.nav a {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box; 
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.14286;
	color: #fff;
	text-align: center;
	text-decoration: none;
}

/* LAYOUT
================================================== */
/* PC or SP
------------------------------ */
.is-pc {
	display: block;
}

.is-sp {
	display: none;
}

br.is-pc,
span.is-pc {
	display: inline;
}

br.is-sp,
span.is-sp {
	display: none;
}

/* LINK
------------------------------ */
a {
	cursor: pointer; 
	outline: none !important;
}

img {
	pointer-events: none;
}

/* BODY
------------------------------ */
body {
	position: relative; 
	min-width: 320px;
}
body > iframe,
body > img {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	visibility: hidden;
}

/* FONT
------------------------------ */
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
li,
th,
td,
dt,
dd,
li {
	font-family: "Hiragino Kaku Gothic ProN", sans-serif;
}

strong {
	font-weight: bold;
}

small {
	font-size: .9em;
}

/* CONTENTS
------------------------------ */
.contents {
	clear: both;
	width: 100%;
}

#main {
	position: relative;
	-webkit-animation: pagemove 1 .3s cubic-bezier(.445, .05, .55, .95);
	        animation: pagemove 1 .3s cubic-bezier(.445, .05, .55, .95);

	-webkit-animation-fill-mode: forwards;

	        animation-fill-mode: forwards;
}

figcaption {
	margin-top: 4px; 
	font-size: 7.5px;
	font-size: .75rem;
	line-height: 1.33333;
}

/* SECTION
------------------------------ */
.section {
	position: relative; 
	clear: both;
	width: 100%;
}
.section__body {
	overflow: hidden;
}
.section__body--container {
	padding: 0 20px;
}
.section__body--table {
	overflow: hidden; 
	margin: 0 auto;
	width: 100%;
}
.section__body--table h3 {
	margin-left: 20px;
}
.section__inner {
	margin: 0 auto; 
	-webkit-box-sizing: border-box; 
	        box-sizing: border-box;
	width: 100%;
}
.section__ttl {
	margin: 0;
	padding: 80px 0 40px; 
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1.5;
	text-align: center;
}
.section__ttl--cnt {
	margin: 0;
	padding: 40px 0 20px; 
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1.5;
	text-align: center;
}
.section__sttl {
	padding: 35px 0 0; 
	font-size: 17px;
	font-size: 1.7rem;
	line-height: 1;
}
.section__txt {
	margin-top: 30px;
}
.section__txt p {
	font-size: 8px;
	font-size: .8rem;
	line-height: 2;
}
.section__txt p:not(:first-child) {
	margin-top: 10px;
}

/* ページ共通
------------------------------ */
.page-header {
	overflow: hidden; 
	padding: 40px 20px 20px;
}

.page-ttl {
	float: none; 
	margin: 0;
	height: auto;
	font-size: 28px;
	font-size: 2.8rem;
	line-height: 1.28571;
	text-align: left;
}

.page-nav {
	float: none;
	margin: 30px 0 0;
}
.page-nav ul {
	font-size: 0;
}
.page-nav li {
	display: inline-block;
}
.page-nav li:not(:last-child) {
	margin-right: 30px;
}
.page-nav a {
	position: relative; 
	cursor: pointer;
	font-size: 9px;
	font-size: .9rem;
	line-height: 1.33333;
	color: #1d1d1d;
	vertical-align: middle;
	text-decoration: none;
}
.page-nav img {
	margin-right: 10px;
	vertical-align: middle;
}

.ttl-ja {
	margin-left: 0; 
	font-size: 7.5px;
	font-size: .75rem;
	line-height: 1.6;
}

.nav-ja {
	font-size: 7.5px;
	font-size: .75rem;
	line-height: 1.6;
}

.about-header,
.recruit-header {
	max-width: 1050px;
}
.about-header .page-ttl,
.recruit-header .page-ttl {
	width: 285px;
}
.about-header .page-nav,
.recruit-header .page-nav {
	margin: 30px 0 10px 0;
}

.breadcrumb {
	clear: both; 
	margin-top: 40px;
	padding: 10px 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	border-top: solid 1px #666;
}
.breadcrumb li {
	position: relative;
	display: inline-block;
	overflow: hidden; 
	padding: 10px 0;
	line-height: 30px;
	vertical-align: middle;
}
.breadcrumb li + li:before {
	content: "";
	padding-right: 40px; 
	width: 20px;
	height: 20px;
	background-image: url(../image/bc_arrow.svg);
	background-repeat: no-repeat;
	background-position: center;
}
.breadcrumb li:first-child {
	width: 32px;
	height: 32px;
}
.breadcrumb li:first-child svg {
	width: 100%;
	height: auto;
}
.breadcrumb li:first-child a {
	color: #1d1d1d;
}
.breadcrumb li:not(:first-child):hover a:before {
	-webkit-transform: scale(1);
	    -ms-transform: scale(1);
	        transform: scale(1);
}
.breadcrumb a {
	font-size: 9px;
	font-size: .9rem;
	line-height: 1.33333; 
	color: #1d1d1d;
	text-decoration: none;
}
.breadcrumb img {
	vertical-align: top;
}

.bc_logo {
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

/* about-main
------------------------------ */

.about-main__works {
	clear: both;
	margin-top: 75px;
	padding: 0 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box; 
	width: 100%;
}
.about-main__works .wcategory {
	overflow: hidden; 
	margin: 0 auto;
	width: 100%;
}
.about-main__works .wcategory-lst {
	position: relative;
	float: none;
	margin: 0 auto; 
	padding-left: 0;
	width: 100%;
	height: auto;
	text-align: center;
}
.about-main__works .wcategory-lst + li {
	margin: 35px auto 0;
}
.about-main__works .wcategory-lst figure {
	text-align: center;
}
.about-main__works .wcategory-lst img {
	width: 100%;
	height: auto; 
	max-width: 285px;
	border-radius: 50%;
}
.about-main__works .wcategory-lst figcaption {
	margin-top: 30px;
}
.about-main__works .rotate-txt {
	position: absolute;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.16667;
	letter-spacing: .3em;
}
.about-main__works .arc-img {
	top: 202px;
	left: -202px;
}
.about-main__works .int-img {
	top: 123px;
	left: -126px;
}
.about-main__works .fnt-img {
	top: 147px;
	left: -148px;
}
.about-main__works dl {
	margin: 40px auto 0;
	width: 100%;
	max-width: 1032px;
	font-size: 8px;
	font-size: .8rem;
	line-height: 2;
}
.about-main__works dt {
	font-weight: bold;
}
.about-main__works dd {
	margin-top: 10px;
}

.bsns {
	margin-top: 32px;
}
.bsns dt {
	margin-bottom: 8px; 
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.2;
}
.bsns dd {
	font-size: 8px;
	font-size: .8rem;
	line-height: 2;
}
.bsns ul {
	padding-left: 20px; 
	list-style-type: disc;
}

/* people-info
------------------------------ */
.people-info {
	display: inline-block;
	margin-top: -20px;
	padding: 0 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box; 
	width: 100%;
	text-align: left;
}
.people-info dt {
	margin-bottom: 15px; 
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.25;
}
.people-info .ja-name {
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.16667;
}
.people-info dd {
	font-size: 8.5px;
	font-size: .85rem;
	line-height: 2;
}
.people-info dd:nth-child(3) {
	margin-bottom: 15px; 
	padding-bottom: 15px;
	border-bottom: solid 1px #1d1d1d;
}
.people-info dd:nth-child(2),
.people-info dd:nth-child(3) {
	font-size: 9px;
	font-size: .9rem;
	line-height: 1.77778;
}
.people-info .people-msg {
	margin-top: 15px;
}

/* TOP MESSAGE
------------------------------ */
.about-message {
	overflow: hidden;
	padding: 20px 0 40px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box; 
	background: #eee;
}
.about-message .section__body {
	margin: 0 auto; 
	width: 100%;
	max-width: 1052px;
}
.about-message .section__sttl {
	margin: 0 0 24px 20px; 
	width: 100%;
	max-width: 258px;
}
.about-message .ttl-ja {
	margin: 0 !important;
}
.about-message .plane-txt {
	overflow: hidden; 
	padding: 0 20px;
}
.about-message p:not([class]) {
	font-size: 8px;
	font-size: .8rem;
	line-height: 2;
}
.about-message p:not([class]) + p {
	margin-top: 24px;
}
.about-message figure {
	margin: 24px auto 0;
	padding: 0 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box; 
	width: 100%;
	max-width: 400px;
}
.about-message figure img {
	height: auto; 
	max-width: 100%;
}
.about-message figcaption {
	text-align: right;
}

.author {
	float: right;
	margin-top: 40px;
	font-size: 8px;
	font-size: .8rem;
	line-height: 2;
}
.author dt,
.author dd {
	float: left;
}
.author dt {
	clear: left;
	margin-right: 16px; 
	width: 7em;
	text-align: right;
}

.about-company {
	position: relative;
	padding: 40px 0;
}
.about-company .img1 {
	margin: 0 auto;
	padding: 0 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box; 
	width: 100%;
	height: auto;
	max-width: 400px;
	text-align: right;
}
.about-company .img1 img {
	width: 100%;
	height: auto;
}

.about-history {
	padding: 0;
}

/* RECRUIT
------------------------------ */
.table,
.table-dual {
	margin: auto;
	width: 100%; 
	border-collapse: separate;
	border-spacing: 20px;
}
.table th,
.table-dual th {
	width: 85px;
}
.table th,
.table td,
.table-dual th,
.table-dual td {
	padding: 18px 0 10px;
	font-size: 8.75px;
	font-size: .875rem;
	line-height: 1.71429;
	vertical-align: top; 
	text-align: left;
}
.table th .pointed-txt,
.table td .pointed-txt,
.table-dual th .pointed-txt,
.table-dual td .pointed-txt {
	font-weight: bold; 
	font-size: 8.75px;
	font-size: .875rem;
	line-height: 1.71429;
}
.table th .pointed-txt:not(:first-child),
.table td .pointed-txt:not(:first-child),
.table-dual th .pointed-txt:not(:first-child),
.table-dual td .pointed-txt:not(:first-child) {
	margin: 24px 0 0;
}
.table th .other-info,
.table td .other-info,
.table-dual th .other-info,
.table-dual td .other-info {
	margin: 24px 0 0;
}

.table {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box; 
	width: 100%;
}

.table-dual {
	float: left;
}

.company-info,
.about-history,
.recruit-info {
	color: #1d1d1d;
}
.company-info th,
.company-info td,
.about-history th,
.about-history td,
.recruit-info th,
.recruit-info td {
	border-top: solid 1px #1d1d1d;
}
.company-info a,
.about-history a,
.recruit-info a {
	color: #1d1d1d;
}
.company-info a:hover,
.about-history a:hover,
.recruit-info a:hover {
	text-decoration: none;
}

.en-company-info th {
	border-top: solid 1px #fff;
}

.en-company-info td {
	max-width: 300px;
	border-top: solid 1px #999;
}

.en-company-info a {
	color: #fff;
}
.en-company-info a:hover {
	text-decoration: none;
}

.case-num {
	display: none;
}

.details-mv {
	position: relative; 
	text-align: center;
}
.details-mv img {
	width: 100%;
	height: auto;
}

.photo-copy {
	position: absolute;
	right: 20px; 
	margin-bottom: -43px;
	font-size: 6px;
	font-size: .6rem;
	line-height: 1.66667;
	text-align: right;
}

.product-case {
	position: relative; 
	margin: 0 auto;
	padding: 40px 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	max-width: 980px;
}
.product-case .rotate-txt.fur {
	position: absolute;
	top: 25px;
	left: -131px;
}
.product-case .rotate-txt.int {
	position: absolute;
	top: 28px;
	left: -104px;
}
.product-case .rotate-txt.arc {
	position: absolute;
	top: 24px;
	left: -181px;
}
.product-case__body {
	margin: 0 auto;
	width: 100%;
	font-size: 0;
}
.product-case__body div {
	display: inline-block;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box; 
	vertical-align: top;
}
.product-case__num {
	margin-right: 5%;
	padding: 15px 0 15px;
	width: 20%;
	border-top: solid 1px #1d1d1d; 
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.11111;
}
.product-case__ttl {
	padding: 15px 0;
	width: 75%;
	border-top: solid 1px #1d1d1d;
}
.product-case__ttl p:first-child {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.35714;
	letter-spacing: .04em;
}
.product-case__ttl p:last-child {
	margin-top: 10px; 
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.2;
	letter-spacing: .04em;
}
.product-case__sub-category {
	padding: 0 0 20px 25%; 
	width: 280px;
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.2;
}
.product-case__info {
	margin-top: 25px; 
	width: 100%;
}
.product-case dl {
	overflow: hidden;
	width: 100%;
}
.product-case dt {
	float: left;
	clear: left;
	margin-bottom: 15px; 
	width: 25%;
	font-weight: bold;
	font-size: 9px;
	font-size: .9rem;
	line-height: 1.5;
}
.product-case dd {
	float: left;
	margin-bottom: 15px;
	width: 75%; 
	font-size: 9px;
	font-size: .9rem;
	line-height: 1.5;
}
.product-case dd + dd {
	margin-left: 25%;
}

.works-slider {
	margin: 0 auto; 
	max-width: 980px;
}
.works-slider img {
	width: 100%;
}

#works-detail .bx-pager-item {
	width: 25px;
}
#works-detail .bx-pager-item:not(:last-child) {
	margin: 0 10px 10px 0;
}

#works-detail .bx-pager {
	padding: 20px 0 0 20px;
}

#works-slider {
	-webkit-transition-timing-function: cubic-bezier(.455, .03, .515, .955);
	     -o-transition-timing-function: cubic-bezier(.455, .03, .515, .955);
	        transition-timing-function: cubic-bezier(.455, .03, .515, .955);
}

.bx-pager-item {
	content: "";
	display: inline-block; 
	height: 25px;
	text-indent: -9999px;
}
.bx-pager-item a {
	position: relative;
	display: block;
	padding: 10px 0; 
	width: 100%;
	height: 100%;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s;
}
.bx-pager-item a:after {
	content: "";
	position: absolute;
	top: 10px;
	left: 0;
	display: block;
	width: 100%;
	height: 5px;
	background: #666; 
	-webkit-transition: .3s; 
	-o-transition: .3s; 
	transition: .3s;
}
.bx-pager-item a:hover:after {
	background: #cf4747;
}
.bx-pager-item a.active:after {
	background: #cf4747;
}

.bx-wrapper {
	position: relative;
	margin: 0;
	padding: 0;
}

.bx-prev,
.bx-next {
	position: absolute;
	top: 0;
	z-index: 97;
	display: none;
	width: 80px;
	height: 100%;
	outline: 0;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

.bx-prev {
	left: -80px; 
	background: url(../image/ico_slide_arrow.svg) no-repeat center;
	-webkit-transform: rotate(180deg);
	    -ms-transform: rotate(180deg);
	        transform: rotate(180deg);
}
.bx-prev:hover {
	left: -90px; 
	opacity: .6;
}

.bx-next {
	right: -80px; 
	background: url(../image/ico_slide_arrow.svg) no-repeat center;
}
.bx-next:hover {
	right: -90px; 
	opacity: .6;
}

/* recruit-main
------------------------------ */
.recruit-main {
	overflow: hidden;
	padding: 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.recruit-main__img {
	margin: 0 auto;
	padding: 0 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	height: 74.5vw;
	max-width: 495px;
	max-height: 396px;
	background-image: url(/recruit/image/recruit_main_off.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 90% auto;
	text-align: center;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
.recruit-main__desc {
	padding: 0 20px;
}
.recruit-main__desc .section__sttl {
	padding: 48px 0 16px;
}

.recruit-main__desc dl,
.top-recruit__box dl {
	margin-top: 24px;
}

.recruit-main__desc dt,
.top-recruit__box dt {
	margin-bottom: 8px;
	font-weight: bold; 
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.2;
}

.recruit-main__desc dd,
.top-recruit__box dd {
	font-size: 8px;
	font-size: .8rem;
	line-height: 2;
}

.recruit-main__desc ul,
.top-recruit__box ul {
	padding-left: 20px; 
	list-style-type: disc;
}

.help-wanted {
	font-size: 10px;
	font-size: 1rem;
	line-height: 2;
}

.hw-main,
.hw-tokyo {
	display: inline-block;
	vertical-align: top;
}

.hw-main {
	margin-right: 28px;
}

.interview {
	position: relative; 
	clear: left;
	padding: 60px 0 0 0;
}
.interview .section__sttl {
	margin: 0 auto 16px; 
	padding-left: 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
}
.interview__item {
	width: 100%;

	-webkit-backface-visibility: hidden;

	        backface-visibility: hidden;
}
.interview__img {
	position: relative;
	overflow: hidden;
	cursor: pointer;
	width: 100%;
	height: 33.33333vw;
	max-width: 768px;
	min-height: 200px;
	text-align: center;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
.interview .people01 {
	background-image: url(/recruit/image/recruit_people01_off.jpg);
	background-repeat: no-repeat;
	background-position: 40% 50%; 
	background-size: cover;
}
.interview .people02 {
	background-image: url(/recruit/image/recruit_people02_off.jpg);
	background-repeat: no-repeat;
	background-position: 30% 50%; 
	background-size: cover;
}
.interview .people03 {
	background-image: url(/recruit/image/recruit_people03_off.jpg);
	background-repeat: no-repeat;
	background-position: 42% 50%; 
	background-size: cover;
}
.interview .people04 {
	background-image: url(/recruit/image/recruit_people04_off.jpg);
	background-repeat: no-repeat;
	background-position: 48% 50%; 
	background-size: cover;
}
.interview__cap {
	position: absolute;
	right: 0;
	bottom: 0;
	display: none;
	padding: 10px 16px 12px 30px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box; 
	background: #fff;
	text-align: right;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
.interview__pos {
	margin-bottom: 8px; 
	font-weight: bold;
	font-size: 8px;
	font-size: .8rem;
	line-height: 1.25;
}
.interview__name {
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.2;
}
.interview__name span {
	display: block;
}
.interview__name .en-name {
	height: 18px; 
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.25;
}
.interview__info {
	position: relative;
	z-index: -1;
	clear: both;
	display: block; 
	margin: auto;
	padding: 12px 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	background: #eee;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
.interview__info dl {
	margin: 0 auto; 
	max-width: 1050px;
}
.interview__info dt {
	margin-bottom: 8px; 
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.6;
}
.interview__info dt .en-name {
	margin-left: 20px; 
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.4;
}
.interview__info dd {
	font-size: 8px;
	font-size: .8rem;
	line-height: 2;
}
.interview__info dd:nth-child(2),
.interview__info dd:nth-child(3) {
	font-size: 8.5px;
	font-size: .85rem;
	line-height: 1.52941;
}
.interview__info dd:nth-child(3) {
	margin-bottom: 15px;
}
.interview__info .people-msg {
	display: none; 
	margin-top: 15px;
}
.interview__info .opener {
	top: 68px;
	right: 20px;
}
.interview .people-info01 {
	left: 0;
}
.interview .people-info02 {
	left: 0;
}
.interview .people-info03 {
	left: 0;
}
.interview .people-info04 {
	left: 0;
}
.interview__txt {
	display: none; 
	padding-top: 15px;
	border-top: solid 1px #000;
}

.interview__item.active .people01 {
	background-image: url(/recruit/image/recruit_people01_on.jpg);
}

.interview__item.active .people02 {
	background-image: url(/recruit/image/recruit_people02_on.jpg);
}

.interview__item.active .people03 {
	background-image: url(/recruit/image/recruit_people03_on.jpg);
}

.interview__item.active .people04 {
	background-image: url(/recruit/image/recruit_people04_on.jpg);
}

.interview__item.active .interview__cap {
	background: #eee;
}

.interview__item.active .interview__info {
	display: block;
}
.interview__item.active .interview__info dt:after {
	-webkit-transform: rotate(180deg);
	    -ms-transform: rotate(180deg);
	        transform: rotate(180deg);
}

.interview__item.active .line-t {
	-webkit-transform: rotate(0);
	    -ms-transform: rotate(0);
	        transform: rotate(0);
}

.interview__item.active .interview__txt {
	display: block;
}

.interview__item.active .people-msg {
	display: block;
}

.recruit {
	padding: 40px 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

.bosyu-ttl {
	display: inline-block !important;
}

.bosyu {
	position: absolute;
	top: 78px; 
	left: 218px;
	padding: 4px;
	background: #cf4747;
	color: #fff;
}

.sp-gallery {
	overflow: hidden;
	margin: 0 auto; 
	padding-bottom: 5px;
}
.sp-gallery .cube {
	position: relative;
	margin: 5px;
	width: 150px;
	height: 150px;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s; 

	-webkit-transform-style: preserve-3d; 

	        transform-style: preserve-3d;
}
.sp-gallery .cube .sq-img {
	position: absolute;
	width: 100%;
	height: 100%;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
.sp-gallery .cube .sq-img img {
	width: 100%;
	height: auto;
}
.sp-gallery .cube .sq-img-front {
	opacity: 0; 
	-webkit-transform: translateX(-75px) rotateY(-90deg); 
	        transform: translateX(-75px) rotateY(-90deg);
}
.sp-gallery .cube .sq-img-side {
	opacity: 0; 
	-webkit-transform: translateZ(75px) rotateY(0); 
	        transform: translateZ(75px) rotateY(0);
}
.sp-gallery .cube.cube-large {
	width: 310px;
	height: 310px;
}
.sp-gallery .cube.cube-large .sq-img-front {
	opacity: 0; 
	-webkit-transform: translateX(-155px) rotateY(-90deg); 
	        transform: translateX(-155px) rotateY(-90deg);
}
.sp-gallery .cube.cube-large .sq-img-side {
	opacity: 0; 
	-webkit-transform: translateZ(155px) rotateY(0); 
	        transform: translateZ(155px) rotateY(0);
}

/*==================================================
 Main Visual
================================================== */
.mv {
	position: relative; 
	overflow: hidden;
	margin: 0 auto;
	width: 100%;
	height: auto;
}
.mv__main {
	position: relative;
	overflow: hidden; 
	width: 100%;
	height: auto;
}
.mv__main img {
	width: 100%;
	height: auto;
}
.mv__main p {
	position: absolute;
	bottom: 20px;
	left: 20px; 
	font-size: 5px;
	font-size: .5rem;
	line-height: 2;
	color: #fff;
}
.mv__txt-area {
	z-index: 90;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	height: 145px;
	background: #fff;
}
.mv__txt-area.anim05:before {
	left: 100%;
}
.mv__sub1 {
	position: relative; 
	z-index: 0;
	float: left;
	overflow: hidden;
	width: 50%;
	height: auto;
}
.mv__sub1 img {
	width: 100%;
	height: auto;
	vertical-align: middle;
}
.mv__sub1 li:not(:nth-child(2)) {
	opacity: 0;
}
.mv__sub2 {
	z-index: 0;
	float: left; 
	overflow: hidden;
	width: 50%;
	height: auto;
}
.mv__sub2 img {
	width: 100%;
	height: auto;
	vertical-align: middle;
}
.mv__sub2 li:not(:nth-child(2)) {
	opacity: 0;
}
.mv__txt2 {
	position: absolute;
	bottom: 8px;
	left: 20px;
	width: auto; 
	height: 32px;
}
.mv__txt2 p {
	width: 500px; 
	font-size: 6.25px;
	font-size: .625rem;
	line-height: 1.6;
	color: #fff;
}
.mv .rotate-txt {
	position: absolute;
	top: 111px;
	right: 67px;
}
.mv .rotate-txt p {
	font-size: 9px;
	font-size: .9rem;
	line-height: 1.33333;
}
.mv .rotate-txt.fur {
	position: absolute;
	top: 110px;
	right: 67px;
}
.mv .rotate-txt.int {
	position: absolute;
	top: 96px;
	right: 67px;
}
.mv .rotate-txt.arc {
	position: absolute;
	top: 150px;
	right: 67px;
}
.mv .bx-viewport {
	overflow: visible !important;
}
.mv .bx-pager {
	z-index: 91;
	display: none;
	margin: 68px 0 0 20px;
}
.mv .bx-pager .bx-pager-item {
	width: 30px;
	height: 25px;
}
.mv .bx-pager .bx-pager-item:not(:last-child) {
	margin-right: 10px;
}
.mv .bx-pager a {
	position: relative; 
	display: block;
	padding: 10px 0;
	width: 100%;
	height: 5px;
}

#main-slider {
	-webkit-transition-timing-function: cubic-bezier(.445, .05, .55, .95);
	     -o-transition-timing-function: cubic-bezier(.445, .05, .55, .95);
	        transition-timing-function: cubic-bezier(.445, .05, .55, .95);
}

#sub1-slider {
	position: relative; 
	-webkit-transition-timing-function: cubic-bezier(.445, .05, .55, .95); 
	     -o-transition-timing-function: cubic-bezier(.445, .05, .55, .95); 
	        transition-timing-function: cubic-bezier(.445, .05, .55, .95);
}

#sub2-slider {
	-webkit-transition-timing-function: cubic-bezier(.445, .05, .55, .95);
	     -o-transition-timing-function: cubic-bezier(.445, .05, .55, .95);
	        transition-timing-function: cubic-bezier(.445, .05, .55, .95);
}

.mv-main {
	position: relative; 
	float: left;
}
.mv-main__lst:not(:first-child) {
	opacity: 0;
}

.anim01 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	-webkit-animation: opening01 1.5s 1 cubic-bezier(.445, .05, .55, .95);
	        animation: opening01 1.5s 1 cubic-bezier(.445, .05, .55, .95);
}

.anim02 {
	position: absolute !important;
	top: 400%;
	right: 0;
	z-index: 80; 
	width: 100%;
	height: auto;
	-webkit-animation: opening02 1.5s 1 cubic-bezier(.445, .05, .55, .95);
	        animation: opening02 1.5s 1 cubic-bezier(.445, .05, .55, .95);
}

.anim03 {
	position: absolute !important;
	left: 0;
	z-index: 80; 
	width: 100%;
	height: auto;
	-webkit-animation: opening03 1.5s 1 cubic-bezier(.445, .05, .55, .95);
	        animation: opening03 1.5s 1 cubic-bezier(.445, .05, .55, .95);
}

.mv-txt {
	position: relative;
	left: 0;
	width: 100%;
	background-color: #fff;
	opacity: 1;
}
.mv-txt__lst {
	position: absolute;
	top: 0;
	right: 0; 
	bottom: 0;
	left: 0;
	display: none;
	margin-top: -27px;
	padding: 0 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.mv-txt__lst:not(:first-child) {
	opacity: 0;
}
.mv-txt__num {
	font-size: 28px;
	font-size: 2.8rem;
	line-height: 1.14286;
}
.mv-txt__ttl {
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.33333;
}
.mv-txt__ttl span {
	display: block;
}
.mv-txt__place {
	font-size: 9px;
	font-size: .9rem;
	line-height: 1.33333;
}

.anim04 .mv-txt {
	left: 100%;
	opacity: 0;
}

/*==================================================
 Contents
================================================== */
/* About
================================================== */
.top-about {
	position: relative;
}
.top-about__img {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.top-about__img.img01 {
	margin: 0 auto;
	padding: 0 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box; 
	max-width: 470px;
	text-align: center;
}
.top-about__img.img01 figcaption {
	text-align: right;
}
.top-about__img.img01 img {
	height: auto; 
	max-width: 100%;
}
.top-about__img.img02 {
	margin: 16px auto 0; 
	padding-right: 20px;
	max-width: 430px;
}
.top-about__img.img02 img {
	height: auto; 
	max-width: 100%;
}
.top-about__ttl {
	padding-top: 28px; 
	width: 100%;
	height: auto;
	text-align: center;
}
.top-about .rotate-txt {
	position: absolute;
	right: 50%;
	z-index: 2;
	margin: -12px 252px 0 0;
	text-align: right;
}
.top-about .rotate-txt p + p {
	margin-top: 15px;
}

.rotate-txt {
	-webkit-transform: rotate(90deg);
	    -ms-transform: rotate(90deg);
	        transform: rotate(90deg);
	-webkit-transform-origin: 100%;
	    -ms-transform-origin: 100%;
	        transform-origin: 100%;
}
.rotate-txt p {
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.16667;
	letter-spacing: .3em;
}

.top-about a,
.top-recruit a {
	margin: 40px auto;
}

/* Recruit
================================================== */
.top-recruit {
	position: relative;
}
.top-recruit__img {
	margin: 0 auto; 
	-webkit-box-sizing: border-box; 
	        box-sizing: border-box;
	max-width: 480px;
}
.top-recruit__img div {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box; 
	width: 100%;
}
.top-recruit__img div + div {
	margin-top: 20px;
}
.top-recruit__img img {
	width: 100%;
	height: auto;
}
.top-recruit .img01,
.top-recruit .img03 {
	padding-left: 20px; 
	text-align: right;
}
.top-recruit .img02 {
	padding-right: 20px;
}
.top-recruit__box {
	margin: 0 auto;
	padding: 16px 20px 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box; 
	width: 100%;
	max-width: 400px;
}

/* Works
================================================== */
.top-works .wlst,
.works .wlst {
	clear: both; 
	overflow: hidden;
	background-color: #1d1d1d;
}
.top-works .wlst__item,
.works .wlst__item {
	position: relative;
	float: left;
	overflow: hidden;
	margin: 0;
	width: 50%;
	height: 420px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 1280px 560px; 
	-webkit-transition: background-size .2s linear; 
	-o-transition: background-size .2s linear; 
	transition: background-size .2s linear;
}
.top-works .wlst__item:before,
.works .wlst__item:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(30, 30, 30, .2);
	-webkit-transition: .5s;
	-o-transition: .5s;
	transition: .5s;
}
.top-works .wlst__item:after,
.works .wlst__item:after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(30, 30, 30, .2);
	-webkit-transition: .5s;
	-o-transition: .5s;
	transition: .5s;
}
.top-works .wlst__item a,
.works .wlst__item a {
	position: absolute;
	top: 0;
	right: 0; 
	bottom: 0;
	left: 0;
	z-index: 1;
	display: block;
	padding: 20px 10px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	height: 100%;
	text-decoration: none;
	-webkit-transition: .5s;
	-o-transition: .5s;
	transition: .5s;
}
.top-works .wlst__ttl,
.works .wlst__ttl {
	position: relative;
	z-index: 2;
	font-weight: 400;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.35714;
	color: #fff;
	letter-spacing: .04em;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
.top-works .wlst__ttl span,
.works .wlst__ttl span {
	display: inline;
}
.top-works .wlst__place,
.works .wlst__place {
	position: relative;
	z-index: 2;
	margin-top: 15px;
	font-size: 1.2rem;
	line-height: 18px;
	color: #fff;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
.top-works .wlst__num,
.works .wlst__num {
	position: absolute;
	bottom: 25px;
	z-index: 2;
	font-size: 1.6rem;
	line-height: 26px;
	color: #fff;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
.top-works .wlst__category,
.works .wlst__category {
	position: absolute;
	right: 15px;
	bottom: 10px;
	z-index: 2; 
	font-size: 1.2rem;
	line-height: 22px;
	color: #fff;
	letter-spacing: .25em;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
	-webkit-transform: rotate(90deg);
	    -ms-transform: rotate(90deg);
	        transform: rotate(90deg);
	-webkit-transform-origin: 100%;
	    -ms-transform-origin: 100%;
	        transform-origin: 100%;
}

.top-works .wlst__item:nth-child(3),
.top-works .wlst__item:nth-child(4) {
	display: none;
}

.wlst01 {
	background-image: url(/works/case01/image/works_main.jpg);
}

.wlst02 {
	background-image: url(/works/case02/image/works_main.jpg);
}

.wlst03 {
	background-image: url(/works/case03/image/works_main.jpg);
}

.wlst04 {
	background-image: url(/works/case04/image/works_main.jpg);
}

.wlst05 {
	background-image: url(/works/case05/image/works_main.jpg);
}

.wlst06 {
	background-image: url(/works/case06/image/works_main.jpg);
}

.wlst07 {
	background-image: url(/works/case07/image/works_main.jpg);
}

.wlst08 {
	background-image: url(/works/case08/image/works_main.jpg);
}

.wlst09 {
	background-image: url(/works/case09/image/works_main.jpg);
}

.wlst10 {
	background-image: url(/works/case10/image/works_main.jpg);
}

.wlst11 {
	background-image: url(/works/case11/image/works_main.jpg);
}

.wlst12 {
	background-image: url(/works/case12/image/works_main.jpg);
}

.wlst13 {
	background-image: url(/works/case13/image/works_main.jpg);
}

.wlst14 {
	background-image: url(/works/case14/image/works_main.jpg);
}

.wlst15 {
	background-image: url(/works/case15/image/works_main.jpg);
}

.wlst16 {
	background-image: url(/works/case16/image/works_main.jpg);
}

.wlst17 {
	background-image: url(/works/case17/image/works_main.jpg);
}

.wlst18 {
	background-image: url(/works/case18/image/works_main.jpg);
}

.wlst19 {
	background-image: url(/works/case19/image/works_main.jpg);
}

.wlst20 {
	background-image: url(/works/case20/image/works_main.jpg);
}

.wlst21 {
	background-image: url(/works/case21/image/works_main.jpg);
}

.wlst22 {
	background-image: url(/works/case22/image/works_main.jpg);
}

.wlst23 {
	background-image: url(/works/case23/image/works_main.jpg);
}

.wlst24 {
	background-image: url(/works/case24/image/works_main.jpg);
}

.wlst25 {
	background-image: url(/works/case25/image/works_main.jpg);
}

.wlst26 {
	background-image: url(/works/case26/image/works_main.jpg);
}

.wlst27 {
	background-image: url(/works/case27/image/works_main.jpg);
}

.wlst28 {
	background-image: url(/works/case28/image/works_main.jpg);
}

.wlst29 {
	background-image: url(/works/case29/image/works_main.jpg);
}

.wlst30 {
	background-image: url(/works/case30/image/works_main.jpg);
}

/* News
================================================== */
.top-news {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.top-news .sub-txt {
	margin: 0 	15px;
}

.clst {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 0 auto 20px; 
	height: auto;
	max-width: 380px;

	-webkit-box-pack: justify;

	    -ms-flex-pack: justify;

	        justify-content: space-between;
}
.clst__item {
	position: relative;
	z-index: 3;
	cursor: pointer;
	width: calc(100% / 3 - 8px); 
	max-width: 100px;
	background: transparent;
}
.clst__item:before {
	content: "";
	position: absolute;
	top: -100%;
	left: 0;
	z-index: -1; 
	width: 100%;
	height: 100%;
	background-color: #cf4747;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
.clst__item.active {
	top: 0;
}
.clst__item.active:before {
	top: 0;
}
.clst__ico {
	display: inline-block;
	width: 80px;
}

.clst__item,
.clst__ico {
	padding: 5px 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box; 
	height: 32px;
	background: #1d1d1d;
	font-size: 9px;
	font-size: .9rem;
	line-height: 1.44444;
	color: #fff;
	text-align: center;
}

.news-area {
	position: relative;
	margin-bottom: 40px; 
	height: auto;
	min-height: 240px;
}
.news-area .btn-box {
	padding: 40px 0 0 !important;
}
.news-area__box {
	right: 0; 
	left: 0;
	margin: 0 auto;
}
.news-area .all-articles {
	position: relative;
}
.news-area .news-articles,
.news-area .media-articles {
	position: absolute; 
	display: none;
}

.nlst {
	margin: auto; 
	width: 100%;
	height: auto;
	max-width: 980px;
}
.nlst:not(:first-child) {
	display: none;
}
.nlst > p {
	padding-top: 24px; 
	text-align: center;
}
.nlst__item {
	width: 100%;
	border-bottom: solid 1px #999;
}
.nlst__item:first-child {
	border-top: solid 1px #999;
}
.nlst__item .opener {
	top: 16px;
	right: 10px;
}
.nlst__ttl {
	padding: 20px 0 6px; 
	max-width: 672px;
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.6;
}
.nlst__date {
	display: inline-block; 
	margin: 0 0 0 20px;
	padding: 6px 0;
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.4;
}
.nlst .ttl-area {
	position: relative;
	display: block; 
	overflow: hidden;
	cursor: pointer;
	padding: 10px 0;
}
.nlst .ttl-area.open .line-t {
	-webkit-transform: rotate(0);
	    -ms-transform: rotate(0);
	        transform: rotate(0);
}
.nlst .txt-area {
	display: none;
	overflow: hidden; 
	padding: 0 0 10px 0;
}
.nlst .txt-area p {
	clear: both; 
	font-size: 8px;
	font-size: .8rem;
	line-height: 2;
}
.nlst .txt-area p:not(:last-child) {
	margin-bottom: 8px;
}
.nlst .txt-area a {
	color: #1d1d1d;
}
.nlst .txt-area a:hover {
	text-decoration: none;
}
.nlst .txt-area a[target="_blank"]:after {
	content: "";
	padding-left: 18px;
	width: 16px;
	height: 16px;
	background-image: url(/common/image/ico-link.png);
	background-repeat: no-repeat;
	background-position: center;
	background-position: center bottom;
	background-size: 12px 12px;
}
.nlst .txt-area img {
	float: left;
	clear: both; 
	margin: 0 8px 8px 0;
	height: auto;
	max-width: 100%;
	vertical-align: text-top;
}

.opener {
	position: absolute;
	cursor: pointer; 
	width: 34px;
	height: 34px;
}
.opener .line {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	margin: auto;
	width: 18px;
	height: 1px;
	background: #1d1d1d;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
.opener .line-t {
	-webkit-transform: rotate(270deg);
	    -ms-transform: rotate(270deg);
	        transform: rotate(270deg);
}

.red {
	color: #cf4747;
}

/*==================================================
 Contact
================================================== */
.contact {
	position: relative; 
	display: none;
	padding: 0 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background-color: #666;
	color: #fff;
}
.contact .cnt-txt {
	font-size: 8px;
	font-size: .8rem;
	line-height: 2;
	text-align: center;
}
.contact .cnt-txt a {
	color: #fff;
}
.contact input {
	margin-top: 15px;
}

#input .contact,
#confirm .contact,
#error .contact,
#finish .contact {
	display: block;
}

#finish .section__body {
	padding-bottom: 40px;
}

.form {
	margin: 38px 0 0;
	width: 100%;
}
.form__outer {
	clear: both;
	display: block;
	overflow: hidden;
	margin: 38px auto 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box; 
	width: 100%;
	height: auto;
}
.form__inner {
	margin: 0 auto;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box; 
	width: 100%;
}
.form__inner--info {
	float: none; 
	margin: 0;
	height: auto;
}
.form__inner--msg {
	float: none;
	margin: 0;
	margin-top: 15px; 
	height: auto;
}
.form__inner--msg p {
	position: relative; 
	margin-left: 0;
}
.form label {
	font-size: 9px;
	font-size: .9rem;
	line-height: 1.11111;
}
.form .btn {
	cursor: pointer; 
	border: solid 1px #fff;
	background: transparent;
	color: #fff;
	letter-spacing: .05em;
}

.form-wrap {
	position: relative;
	margin-right: 60px;
	width: 100%;
	height: auto;
	color: #fff;
}
.form-wrap p {
	position: relative;
}
.form-wrap p + p {
	margin-top: 10px;
}
.form-wrap input {
	padding: 10px 20px; 
	-webkit-box-sizing: border-box; 
	        box-sizing: border-box;
	width: 100%;
	border: solid 1px #fff;
	background: transparent;
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.8;
	color: #fff;
}

.msg-label {
	display: block;
}

.cnt-txtarea {
	margin-top: 15px;
	padding: 20px; 
	-webkit-box-sizing: border-box; 
	        box-sizing: border-box;
	width: 100%;
	height: 339px;
	border: solid 1px #fff;
	background: transparent;
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.8;
	color: #fff;
}

.atten-txt {
	position: absolute;
	top: 2px;
	left: 85px; 
	display: block;
	font-size: 9px;
	font-size: .9rem;
	line-height: 1.11111;
	color: #cf4747;
}

.form__message .atten-txt {
	left: 115px;
}

.en-modal {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 100; 
	display: none;
	overflow-y: scroll;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	height: auto;
	background: #666;
	color: #fff;
}
.en-modal__body {
	margin: auto;
	padding: 118px 0; 
	width: 100%;
	max-width: 1050px;
}
.en-modal__logo {
	padding: 0 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box; 
	width: 100%;
	max-width: 382px;
}
.en-modal__logo img {
	width: 100%;
	height: auto;
}
.en-modal__lead {
	padding-top: 40px; 
	width: 100%;
	height: auto;
}
.en-modal__lead p {
	font-size: 10px;
	font-size: 1rem;
	line-height: 2;
}
.en-modal__lead p + p {
	margin-top: 10px;
}
.en-modal__table {
	overflow: hidden;
	padding-top: 40px; 
	width: 100%;
}
.en-modal__contact {
	width: 100%;
}
.en-modal__contact p {
	margin: auto; 
	padding: 0 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	max-width: 500px;
	font-size: 9px;
	font-size: .9rem;
	line-height: 2.22222;
	text-align: center;
}
.en-modal .form p {
	text-align: left;
}

#confirm .form,
#finish .form {
	margin: 0;
}

#confirm .btn,
#finish .btn {
	border: solid 1px #fff; 
	color: #fff;
}

#confirm .btn-box .form,
#finish .btn-box .form {
	display: inline-block;
	width: 238px;
}
#confirm .btn-box .form:last-child,
#finish .btn-box .form:last-child {
	margin: 20px 0 0 0;
}

.confirm {
	margin: 40px auto 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	max-width: 800px;
	border: solid 1px #fff;
}
.confirm dl {
	overflow: hidden; 
	padding: 50px 20px;
}
.confirm dt {
	float: left;
	clear: left;
	margin-bottom: 35px; 
	width: 100px;
	font-size: 9px;
	font-size: .9rem;
	line-height: 2;
}
.confirm dd {
	float: left; 
	width: calc(100% - 110px);
	font-size: 9px;
	font-size: .9rem;
	line-height: 2;
}

input,
textarea {
	border-radius: 0; 

	-webkit-appearance: none;
}

#works-index .wlst__item {
	opacity: 0;
}

#works-index .disabled {
	display: none;
}

.works-header .page-ttl {
	width: 350px;
}

.detail-header .page-ttl {
	width: 460px;
}

.works-header .page-nav,
.detail-header .page-nav {
	width: 100%;
}
.works-header .page-nav li,
.detail-header .page-nav li {
	line-height: 25px;
}
.works-header .page-nav a,
.detail-header .page-nav a {
	position: relative; 
	cursor: pointer;
	padding: 3px 0 3px 35px;
	font-size: 9px;
	font-size: .9rem;
	line-height: 1.33333;
	color: #1d1d1d;
	text-decoration: none;
}
.works-header .page-nav a:before,
.detail-header .page-nav a:before {
	content: "";
	position: absolute;
	left: 0;
	width: 25px;
	height: 25px;
	background-repeat: no-repeat;
	background-position: center top;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
	-webkit-transition-timing-function: cubic-bezier(.455, .03, .515, .955);
	     -o-transition-timing-function: cubic-bezier(.455, .03, .515, .955);
	        transition-timing-function: cubic-bezier(.455, .03, .515, .955);
}

.nav-index a:before {
	background-image: url(/common/image/ico-index_w.svg);
}

.nav-random a:before {
	background-image: url(/common/image/ico-random_w.svg);
}

.works-index,
.category-index {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: none;
	overflow-y: scroll; 
	margin: 0;
	width: 100%;
	background: #666;
}

.works-index,
.category-index {
	z-index: 100;
	padding: 74px 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.works-index__ttl,
.category-index__ttl {
	margin: 0 auto;
	padding: 0 0 40px;
	width: 100%;
	max-width: 980px; 
	font-size: 28px;
	font-size: 2.8rem;
	line-height: 1.28571;
	color: #fff;
	text-align: left;
}

.index-nav {
	margin: 0 auto;
	width: 100%;
}
.index-nav div {
	display: inline-block;
	vertical-align: top;
}
.index-nav ul {
	font-size: 0;
}
.index-nav a {
	position: relative; 
	display: block;
	color: #fff;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
.index-nav__num {
	margin-right: 5%;
	padding: 10px 0 30px;
	width: 15%;
	border-top: solid 1px #fff; 
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.125;
}
.index-nav__txt-area {
	position: relative; 
	padding: 10px 0 30px;
	width: 80%;
	border-top: solid 1px #999;
}
.index-nav__ttl {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.14286;
	letter-spacing: .04em;
}
.index-nav__place {
	margin-top: 4px; 
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.2;
	letter-spacing: .04em;
}
.index-nav__design {
	margin-top: 16px; 
	font-size: 8.5px;
	font-size: .85rem;
	line-height: 1.41176;
}
.index-nav .current-page a {
	color: #999;
	pointer-events: none;
}
.index-nav .current-page a:before {
	border: solid 1px #999;
}

.category-nav {
	margin: 0 auto;
	width: 100%;
}
.category-nav a {
	color: #fff;
	text-decoration: none; 
	-webkit-transition: .3s; 
	-o-transition: .3s; 
	transition: .3s;
}
.category-nav__lst {
	font-size: 0;
}
.category-nav__ttl {
	display: block;
	margin-right: 5%; 
	padding: 15px 0 18px;
	width: 100%;
	border-top: solid 1px #fff;
}
.category-nav__ttl a {
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.6;
	letter-spacing: .25em;
}
.category-nav__item-area {
	display: inline-block;
	padding-top: 15px;
	width: 100%;
	border-top: solid 1px #666; 
	vertical-align: top;
}
.category-nav__item-area p {
	display: block;
	margin-bottom: 15px;
}
.category-nav__item-area p:not(:last-child) {
	margin-right: 30px;
}
.category-nav__item-area a {
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.6;
	letter-spacing: .04em;
}
@media screen and (min-width: 0) and (min-width: 769px) {
	.btn-box {
		padding: 80px 0;
	}
	.btn-left:hover,
	.btn-left:active,
	.btn-cnt:hover,
	.btn-cnt:active,
	.btn-en:hover,
	.btn-en:active {
		color: #fff;
	}
	.btn-left:hover a,
	.btn-left:hover .btn-arrow,
	.btn-left:active a,
	.btn-left:active .btn-arrow,
	.btn-cnt:hover a,
	.btn-cnt:hover .btn-arrow,
	.btn-cnt:active a,
	.btn-cnt:active .btn-arrow,
	.btn-en:hover a,
	.btn-en:hover .btn-arrow,
	.btn-en:active a,
	.btn-en:active .btn-arrow {
		color: #fff;
	}
	.btn-left:before,
	.btn-cnt:before,
	.btn-en:before {
		display: block;
	}
	.btn-down:hover,
	.btn-down:active {
		color: #fff;
	}
	.btn-down:hover a,
	.btn-down:hover .btn-arrow,
	.btn-down:active a,
	.btn-down:active .btn-arrow {
		color: #fff;
	}
	.btn-down:before {
		display: block;
	}
	.btn-down.end {
		cursor: default; 
		color: #fff;
	}
	.btn-centr:hover,
	.btn-centr:active {
		color: #fff;
	}
	.btn-centr:hover,
	.btn-centr:active {
		display: block;
	}
	.btn-send:hover,
	.btn-send:active,
	.btn-back:hover,
	.btn-back:active {
		color: #666;
	}
	.btn-send:hover a,
	.btn-send:hover .btn-arrow,
	.btn-send:active a,
	.btn-send:active .btn-arrow,
	.btn-back:hover a,
	.btn-back:hover .btn-arrow,
	.btn-back:active a,
	.btn-back:active .btn-arrow {
		color: #666;
	}
	.btn-send:before,
	.btn-back:before {
		display: block;
	}
	.btn-en {
		border: solid 1px #1d1d1d; 
		color: #1d1d1d;
	}
	.hdr-btn .btn-cnt {
		margin: 0 0 0 40px;
		border: solid 1px #1d1d1d; 
		color: #1d1d1d;
	}
	.hdr-btn .btn-cnt:hover {
		color: #fff;
	}
	.hdr-btn .btn-cnt:before {
		display: block;
	}
	.hdr-btn .btn-cnt a {
		color: #1d1d1d;
	}
	.ankr:hover .arrow-up {
		right: 23px;
		opacity: 0;
		-webkit-transform: translateY(-10px);
		    -ms-transform: translateY(-10px);
		        transform: translateY(-10px);
	}
	.ankr:hover .arrow-down {
		opacity: 0;
		-webkit-transform: translateY(10px);
		    -ms-transform: translateY(10px);
		        transform: translateY(10px);
	}
	.msg-ankr,
	.company-ankr,
	.people-ankr,
	.interview-ankr,
	.recruit-ankr,
	.history-ankr {
		width: 185px;
	}
	.msg-ankr:hover:before,
	.company-ankr:hover:before,
	.people-ankr:hover:before,
	.interview-ankr:hover:before,
	.recruit-ankr:hover:before {
		left: 48px; 
		width: 40px;
		-webkit-transform: rotate(45deg);
		    -ms-transform: rotate(45deg);
		        transform: rotate(45deg);
	}
	.msg-ankr:hover:after,
	.company-ankr:hover:after,
	.people-ankr:hover:after,
	.interview-ankr:hover:after,
	.recruit-ankr:hover:after {
		right: 81px; 
		width: 40px;
		-webkit-transform: rotate(-45deg);
		    -ms-transform: rotate(-45deg);
		        transform: rotate(-45deg);
	}
	.msg-ankr:hover a {
		-webkit-transform: translateX(24px);
		    -ms-transform: translateX(24px);
		        transform: translateX(24px);
	}
	.msg-ankr:hover .arrow-down {
		right: 24px;
	}
	.company-ankr:hover a {
		-webkit-transform: translateX(16px);
		    -ms-transform: translateX(16px);
		        transform: translateX(16px);
	}
	.company-ankr:hover .arrow-down {
		right: 16px;
	}
	.people-ankr:hover a {
		-webkit-transform: translateX(28px);
		    -ms-transform: translateX(28px);
		        transform: translateX(28px);
	}
	.people-ankr:hover .arrow-down {
		right: 28px;
	}
	.interview-ankr:hover a {
		-webkit-transform: translateX(32px);
		    -ms-transform: translateX(32px);
		        transform: translateX(32px);
	}
	.interview-ankr:hover .arrow-down {
		right: 32px;
	}
	.recruit-ankr:hover a {
		-webkit-transform: translateX(23px);
		    -ms-transform: translateX(23px);
		        transform: translateX(23px);
	}
	.recruit-ankr:hover .arrow-down {
		right: 23px;
	}
	.history-ankr {
		margin-top: 0;
	}
	.history-ankr:hover a {
		-webkit-transform: translateX(25px);
		    -ms-transform: translateX(25px);
		        transform: translateX(25px);
	}
	.history-ankr:hover:before {
		left: 72px; 
		width: 40px;
		-webkit-transform: rotate(45deg);
		    -ms-transform: rotate(45deg);
		        transform: rotate(45deg);
	}
	.history-ankr:hover:after {
		right: 57px; 
		width: 40px;
		-webkit-transform: rotate(-45deg);
		    -ms-transform: rotate(-45deg);
		        transform: rotate(-45deg);
	}
	.history-ankr:hover .arrow-down {
		right: 25px;
	}
	.ftr-ankr {
		position: absolute;
		right: 40px; 
		bottom: 40px;
		margin: 0;
	}
	.ftr-ankr:hover:before {
		bottom: 30px;
		left: 30px; 
		width: 36px;
		-webkit-transform: rotate(-45deg);
		    -ms-transform: rotate(-45deg);
		        transform: rotate(-45deg);
	}
	.ftr-ankr:hover:after {
		right: 30px; 
		bottom: 30px;
		width: 36px;
		-webkit-transform: rotate(45deg);
		    -ms-transform: rotate(45deg);
		        transform: rotate(45deg);
	}
	.ftr-ankr.active a {
		-webkit-transform: translateX(24px);
		    -ms-transform: translateX(24px);
		        transform: translateX(24px);
	}
	.close-trigger,
	.cnt-close-trigger {
		width: 42px;
		height: 42px;
	}
	.close-trigger {
		top: 130px;
		right: 50%;
		margin-right: -480px;
	}
	.cnt-close-trigger {
		top: 125px;
		right: 20px;
		margin-right: 0;
	}
	.access__map {
		width: calc(50% - 2px);
		height: 460px;
	}
	.access__info {
		left: 40px; 
		width: 205px;
		height: 40px;
	}
	.access__info p:first-child {
		font-size: 7.5px;
		font-size: .75rem;
		line-height: 1.6;
	}
	.access__info p:last-child {
		font-size: 8.7px;
		font-size: .87rem;
		line-height: 1.72414;
	}
	.access .map-tokyo {
		margin: 0 0 0 4px;
	}
	.office {
		float: left;
	}
	.office__info {
		display: inline-block;
	}
	.office__info:nth-child(3) {
		margin: 0 0 0 40px;
	}
	.info-wrap {
		padding: 80px 40px 40px;
	}
	.ftr-nav {
		float: right;
	}
	.ftr-nav__inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;

		-ms-flex-wrap: wrap;

		    flex-wrap: wrap;
	}
	.ftr-btn {
		float: right;
		clear: right;
		margin: 40px 0 0;
	}
	.ftr-btn .x a:hover,
	.ftr-btn .instagram a:hover,
	.ftr-btn .youtube a:hover,
	.ftr-btn .facebook a:hover {
		background-position: left;
	}
	.copyright {
		font-size: 8.7px;
		font-size: .87rem;
		line-height: 1.72414;
		text-align: left;
	}
	.header {
		padding: 25px 40px;
	}
	.hdr-logo {
		padding: 0; 
		width: 252px;
		height: 44px;
	}
	.hdr-nav-wrap {
		position: relative;
		z-index: 0; 
		float: right;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin-top: 4px;
		padding: 6px 0 5px;
		width: auto;
		height: auto;
		background: transparent;
	}
	.toggle {
		display: none;
	}
	.hdr-btn {
		float: right;
		clear: right;
		margin: 0;
		width: 230px;
	}
	.hdr-btn .btn-sns {
		display: none;
	}
	.nav {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	.nav li:before {
		content: "";
		position: absolute;
		bottom: 0;
		left: -100%;
		z-index: -1; 
		width: 100%;
		height: 1px;
		background: #000;
		-webkit-transition: .2s ease-out;
		-o-transition: .2s ease-out;
		transition: .2s ease-out;
	}
	.nav li + li {
		margin: 0 0 0 40px;
	}
	.nav a {
		font-size: 10px;
		font-size: 1rem;
		line-height: 1.2; 
		color: #1d1d1d;
	}
	body {
		min-width: 1090px;
	}
	figcaption {
		margin-top: 8px;
	}
	.section__body--table {
		width: 1080px;
	}
	.section__inner {
		width: 50%;
	}
	.section__ttl {
		padding: 120px 0 80px; 
		font-size: 35px;
		font-size: 3.5rem;
		line-height: 1.14286;
	}
	.section__ttl--cnt {
		padding: 120px 0 40px; 
		font-size: 35px;
		font-size: 3.5rem;
		line-height: 1.14286;
	}
	.section__sttl {
		padding: 35px 0 5px;
	}
	.section__txt p {
		font-size: 10px;
		font-size: 1rem;
		line-height: 1.9;
	}
	.section__txt p:not(:first-child) {
		margin-top: 15px;
	}
	.page-header {
		margin: 0 auto; 
		padding: 55px 40px;
	}
	.page-ttl {
		float: left; 
		font-size: 35px;
		font-size: 3.5rem;
		line-height: 1.14286;
	}
	.page-nav {
		float: right;
		margin: 20px 0 0;
	}
	.page-nav li {
		margin-bottom: 0;
	}
	.page-nav a {
		font-size: 10px;
		font-size: 1rem;
		line-height: 1.2;
	}
	.ttl-ja {
		margin-left: 15px;
	}
	.about-header .page-nav,
	.recruit-header .page-nav {
		margin: 8px 0 0 0;
	}
	.breadcrumb {
		margin-top: 40px;
		padding: 10px 40px;
	}
	.breadcrumb li:first-child a:hover {
		color: #cf4747;
	}
	.breadcrumb li:not(:first-child) a:before {
		content: "";
		position: absolute;
		bottom: 0;
		left: 40px;
		z-index: -1; 
		width: calc(100% - 40px);
		height: 1px;
		background: #000;
		-webkit-transition: .2s ease-out;
		-o-transition: .2s ease-out;
		transition: .2s ease-out;
		-webkit-transform: scale(0);
		    -ms-transform: scale(0);
		        transform: scale(0);
		-webkit-transform-origin: left;
		    -ms-transform-origin: left;
		        transform-origin: left;
	}
	.breadcrumb a {
		font-size: 10px;
		font-size: 1rem;
		line-height: 1.4;
	}
	.breadcrumb li:first-child a:before {
		left: 0; 
		min-width: 36px;
	}
	.about-main {
		margin: 80px 0 40px;
	}
	.about-main__works {
		margin-top: 0;
		padding: 0;
	}
	.about-main__works .wcategory {
		width: 1015px;
	}
	.about-main__works .wcategory-lst {
		float: left;
		padding-left: 30px; 
		width: 285px;
		text-align: right;
	}
	.about-main__works .wcategory-lst + li {
		margin: 0 0 0 35px;
	}
	.about-main__works .arc-img {
		left: -203px;
	}
	.about-main__works .int-img {
		left: -126px;
	}
	.about-main__works .fnt-img {
		left: -149px;
	}
	.about-main__works dl {
		margin: 85px auto 0; 
		font-size: 10px;
		font-size: 1rem;
		line-height: 2;
	}
	.bsns dd {
		font-size: 9px;
		font-size: .9rem;
		line-height: 1.77778;
	}
	.people-info {
		padding: 0; 
		width: 430px;
	}
	.about-message {
		padding: 115px 0;
	}
	.about-message .section__sttl {
		float: left; 
		margin-left: 0;
		padding: 0 0 0 10px;
	}
	.about-message .plane-txt {
		float: right;
		padding: 0;
		width: calc(100% - 268px);
	}
	.about-message p:not([class]) {
		font-size: 10px;
		font-size: 1rem;
		line-height: 2;
	}
	.about-message p:not([class]) + p {
		margin-top: 40px;
	}
	.about-message figure {
		float: left;
		clear: left; 
		margin: 24px 0 0;
		padding: 0;
		width: 220px;
	}
	.author {
		font-size: 8.75px;
		font-size: .875rem;
		line-height: 1.82857;
	}
	.about-company {
		padding: 85px 0 0;
	}
	.about-company .img1 {
		float: right;
		margin: 50px 30px 0 0;
		padding: 0; 
		width: 470px;
	}
	.about-history {
		padding: 100px 0 80px;
	}
	.table,
	.table-dual {
		width: auto;
		border-spacing: 30px;
	}
	.table th,
	.table-dual th {
		width: 110px;
	}
	.table {
		margin-left: -10px;
		width: 1090px;
	}
	.table td {
		width: 880px;
	}
	.table-dual td {
		width: 330px;
	}
	.table-odd {
		margin-left: -10px;
	}
	.table-odd {
		padding-right: 30px;
	}
	.case-num {
		display: inline;
		margin-left: .8em;
	}
	.photo-copy {
		bottom: 16px; 
		font-size: 8px;
		font-size: .8rem;
		line-height: 1.25;
	}
	.product-case {
		padding: 80px 0;
	}
	.product-case .rotate-txt.fur {
		top: 35px;
		left: -150px;
	}
	.product-case .rotate-txt.int {
		top: 35px;
		left: -126px;
	}
	.product-case .rotate-txt.arc {
		top: 35px;
		left: -203px;
	}
	.product-case__body {
		width: 980px;
	}
	.product-case__num {
		margin-right: 40px;
		padding: 15px 0 40px; 
		width: 100px;
		font-size: 34px;
		font-size: 3.4rem;
		line-height: 1;
	}
	.product-case__ttl {
		padding: 15px 0 40px; 
		width: 840px;
	}
	.product-case__sub-category {
		padding: 20px 0 0 50px; 
		border-top: solid 1px #1d1d1d;
	}
	.product-case__info {
		margin-top: 0;
		padding: 0 0 0 140px; 
		width: 280px;
	}
	.product-case dl {
		width: 840px;
	}
	.product-case dt {
		width: 160px;
	}
	.product-case dd {
		margin-left: 0; 
		width: auto;
	}
	.product-case dd + dd {
		clear: left; 
		margin-left: 160px;
	}
	#works-detail .bx-pager-item {
		width: 50px;
	}
	#works-detail .bx-pager-item:not(:last-child) {
		margin: 0 20px 20px 0;
	}
	#works-detail .bx-pager {
		padding: 20px 0 0 0;
	}
	.bx-prev,
	.bx-next {
		display: block;
	}
	.recruit-main__img {
		float: left;
		margin: 30px 0 0;
		padding: 0 32px 0 0;
		height: 396px;
		max-width: 50%;
		background-position: top right;
		background-size: 495px 351px; 
		text-align: right;
	}
	.recruit-main__img:hover {
		background-image: url(/recruit/image/recruit_main_on.jpg);
	}
	.recruit-main__desc {
		float: left; 
		padding: 50px 0 0 60px;
	}
	.recruit-main__desc .section__sttl {
		padding: 45px 0 30px;
	}
	.recruit-main__desc dl,
	.top-recruit__box dl {
		margin-top: 12px;
	}
	.recruit-main__desc dt,
	.top-recruit__box dt {
		font-size: 9px;
		font-size: .9rem;
		line-height: 1.77778;
	}
	.recruit-main__desc dd,
	.top-recruit__box dd {
		font-size: 9px;
		font-size: .9rem;
		line-height: 1.77778;
	}
	.help-wanted {
		margin-bottom: 12px; 
		max-width: 450px;
		font-size: 10px;
		font-size: 1rem;
		line-height: 2;
	}
	.interview {
		padding: 100px 0 0 0;
	}
	.interview .section__sttl {
		padding-left: 0; 
		width: 1050px;
	}
	.interview__item {
		float: left; 
		width: calc(100% / 3);
	}
	.interview__img {
		height: 320px;
	}
	.interview .people01:hover {
		background-image: url(/recruit/image/recruit_people01_on.jpg);
	}
	.interview .people01 .interview__cap {
		width: 230px;
	}
	.interview .people02:hover {
		background-image: url(/recruit/image/recruit_people02_on.jpg);
	}
	.interview .people02 .interview__cap {
		width: 210px;
	}
	.interview .people03:hover {
		background-image: url(/recruit/image/recruit_people03_on.jpg);
	}
	.interview .people03 .interview__cap {
		width: 225px;
	}
	.interview .people04:hover {
		background-image: url(/recruit/image/recruit_people04_on.jpg);
	}
	.interview .people04 .interview__cap {
		width: 200px;
	}
	.interview__cap {
		display: block;
	}
	.interview__info {
		display: none; 
		padding: 70px 20px 90px;
		width: 300%;
	}
	.interview__info dt {
		font-size: 17.5px;
		font-size: 1.75rem;
		line-height: 1.71429;
	}
	.interview__info dt .en-name {
		font-size: 12.5px;
		font-size: 1.25rem;
		line-height: 1.68;
	}
	.interview__info dd {
		font-size: 10px;
		font-size: 1rem;
		line-height: 2;
	}
	.interview__info .people-msg {
		display: block;
	}
	.interview__info .opener {
		display: none;
	}
	.interview .people-info02 {
		left: -100%;
	}
	.interview .people-info03 {
		left: -200%;
	}
	.interview .people-info04 {
		left: -300%;
	}
	.interview__txt {
		display: block;
	}
	.interview__item.active .interview__info dl {
		-webkit-animation: recruitSlide 1 .5s cubic-bezier(.455, .03, .515, .955);
		        animation: recruitSlide 1 .5s cubic-bezier(.455, .03, .515, .955);
	}
	.recruit {
		padding: 85px 20px;
	}
	.bosyu {
		position: relative;
		top: auto; 
		left: auto;
		display: inline-block;
		margin-left: 24px;
	}
	.sp-gallery .cube:hover {
		opacity: .7;
	}
	.sp-gallery .cube:hover .sq-img-front {
		-webkit-transform: translateX(-75px) rotateY(-90deg) !important;
		        transform: translateX(-75px) rotateY(-90deg) !important;
	}
	.sp-gallery .cube:hover .sq-img-side {
		-webkit-transform: translateZ(75px) rotateY(0) !important;
		        transform: translateZ(75px) rotateY(0) !important;
	}
	.sp-gallery .cube.cube-large:hover {
		opacity: .7;
	}
	.sp-gallery .cube.cube-large:hover .sq-img-front {
		-webkit-transform: translateX(-155px) rotateY(-90deg) !important;
		        transform: translateX(-155px) rotateY(-90deg) !important;
	}
	.sp-gallery .cube.cube-large:hover .sq-img-side {
		-webkit-transform: translateZ(155px) rotateY(0) !important;
		        transform: translateZ(155px) rotateY(0) !important;
	}
	.mv__main {
		float: left;
		width: 70%;
		height: auto;
		background: url(/image/top/mv_main_bg.jpg);
		background-repeat: no-repeat;
		background-position: center; 
		background-size: 100%;

		aspect-ratio: 3 / 2;
	}
	.mv__main p {
		left: 40px; 
		font-size: 10px;
		font-size: 1rem;
		line-height: 2;
	}
	.mv__txt-area {
		position: absolute;
		top: 33%;
		right: 0;
		width: 30.5%;
		height: 34%;
		background: url(/image/top/mv_txt_bg.jpg);
		background-repeat: no-repeat;
		background-position: center; 
		background-size: 100% 100%;
	}
	.mv__txt-area:before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		background: #fff;
		-webkit-transition: .2s;
		-o-transition: .2s;
		transition: .2s;
	}
	.mv__sub1 {
		position: absolute;
		top: 0;
		right: 0;
		float: none;
		display: block;
		width: 30.5%;
		height: 33%;
		background: url(/image/top/mv_sub1_bg.jpg);
		background-repeat: no-repeat;
		background-size: cover;
	}
	.mv__sub2 {
		position: absolute;
		right: 0;
		bottom: 0;
		float: none;
		width: 30.5%;
		height: 33%;
		background: url(/image/top/mv_sub2_bg.jpg);
		background-repeat: no-repeat;
		background-size: cover;
	}
	.mv__txt2 {
		bottom: 20px;
		left: 40px;
		height: 38px;
	}
	.mv__txt2 p {
		font-size: 8.75px;
		font-size: .875rem;
		line-height: 1.37143;
		opacity: 0;
	}
	.mv .rotate-txt p {
		font-size: 1.5vw;
	}
	.mv .rotate-txt.fur {
		top: 145px;
	}
	.mv .rotate-txt.int {
		top: 123px;
	}
	.mv .rotate-txt.arc {
		top: 198px;
	}
	.mv .bx-pager {
		position: absolute;
		bottom: 15%;
		left: 40px;
		margin: 0; 
		width: 75%;
	}
	.mv .bx-pager .bx-pager-item {
		width: 50px;
	}
	.mv .bx-pager .bx-pager-item:not(:last-child) {
		margin-right: 15px;
	}
	.mv .bx-pager a {
		width: 50px;
	}
	.mv-txt__lst {
		margin-top: -36px;
		padding: 0 0 0 37px;
	}
	.mv-txt__num {
		font-size: 4.2vw;
	}
	.mv-txt__ttl {
		font-size: 2.3vw;
		line-height: 2.5vw;
	}
	.mv-txt__place {
		margin-top: 5px; 
		font-size: 1.5vw;
	}
	.top-about {
		margin-top: 0;
		height: 878px;
	}
	.top-about__img.img01 {
		position: absolute;
		left: 50%;
		padding: 0 0 0 60px;
	}
	.top-about__img.img02 {
		position: absolute;
		right: 50%;
		margin: 344px 0 0 0;
		padding-right: 60px;
	}
	.top-about__box {
		position: absolute;
		right: 50%;
		margin-top: 72px;
		padding-right: 157px; 
		width: 273px;
	}
	.top-about__ttl {
		padding-top: 0;
		text-align: left;
	}
	.top-about a,
	.top-recruit a {
		margin: 40px 0 0 0;
	}
	.top-recruit {
		margin: 0 0 40px 0; 
		height: 646px;
	}
	.top-recruit .section__ttl {
		position: absolute;
		right: 50%;
		width: 498px;
		text-align: left;
	}
	.top-recruit__img {
		float: right;
		margin-top: 170px;
		padding-left: 60px; 
		width: 50%;
		max-width: 50%;
	}
	.top-recruit__img div {
		width: 470px;
	}
	.top-recruit__img img {
		width: 420px;
		height: 200px;
	}
	.top-recruit .img01,
	.top-recruit .img03 {
		padding-left: 0;
	}
	.top-recruit .img02 {
		padding-right: 0;
	}
	.top-recruit__box {
		position: absolute;
		top: 244px;
		right: 50%;
		margin: 0;
		padding: 0 60px 0 0; 
		width: auto;
		max-width: 100%;
	}
	.top-works .wlst__item,
	.works .wlst__item {
		width: 25%;
		height: 560px;
	}
	.top-works .wlst__item:hover,
	.works .wlst__item:hover {
		background-size: 1318.4px 103%;
	}
	.top-works .wlst__item:hover:before,
	.works .wlst__item:hover:before {
		left: -100%;
	}
	.top-works .wlst__item:hover:after,
	.works .wlst__item:hover:after {
		right: -100%;
	}
	.top-works .wlst__item a,
	.works .wlst__item a {
		padding: 40px 20px 20px;
	}
	.top-works .wlst__ttl,
	.works .wlst__ttl {
		font-size: 18px;
		font-size: 1.8rem;
		line-height: 1.25;
	}
	.top-works .wlst__ttl span,
	.works .wlst__ttl span {
		display: block;
	}
	.top-works .wlst__category,
	.works .wlst__category {
		right: 25px;
	}
	.top-works .wlst__item:nth-child(3),
	.top-works .wlst__item:nth-child(4) {
		display: block;
	}
	.top-news {
		margin-top: 0;
	}
	.top-news .section__ttl {
		padding: 90px 0 80px !important;
	}
	.clst {
		margin: 0 auto 40px; 
		width: 380px;
	}
	.clst__item:hover:before {
		top: 0;
	}
	.clst__item,
	.clst__ico {
		width: 100px;
		height: 34px; 
		font-size: 10px;
		font-size: 1rem;
		line-height: 1.4;
	}
	.news-area {
		margin-bottom: 110px;
	}
	.news-area .btn-box {
		padding: 80px 0 0 !important;
	}
	.nlst__ttl {
		padding: 6px 0;
	}
	.nlst__date {
		display: block; 
		margin: 0 20px 0 40px;
	}
	.nlst .ttl-area {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex; 
		padding: 15px 50px 15px 0;
	}
	.nlst .txt-area {
		padding: 0 0 20px 140px;
	}
	.nlst .txt-area p {
		clear: none;
		overflow: hidden; 
		font-size: 8.7px;
		font-size: .87rem;
		line-height: 1.95402;
	}
	.nlst .txt-area img {
		margin: 0 16px 16px 0;
		max-width: 300px;
	}
	.contact {
		padding: 0;
	}
	.contact .cnt-txt {
		font-size: 10px;
		font-size: 1rem;
		line-height: 1.8;
	}
	.contact .cnt-txt a:hover {
		text-decoration: none;
	}
	.form__outer {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	.form__inner {
		width: 50%;
	}
	.form__inner--info {
		float: left;
	}
	.form__inner--msg {
		float: right;
		margin-top: 0;
	}
	.form__inner--msg p {
		margin-left: 60px;
	}
	.form-wrap {
		position: absolute;
		right: 50%; 
		width: 430px;
	}
	.form-wrap p + p {
		margin-top: 15px;
	}
	.cnt-txtarea {
		width: 430px;
	}
	.en-modal__contact {
		clear: left;
	}
	.en-modal__contact p {
		padding: 0;
	}
	#confirm .btn:hover,
	#finish .btn:hover {
		color: #666;
	}
	#confirm .btn-box .form:last-child,
	#finish .btn-box .form:last-child {
		margin: 0 0 0 40px;
	}
	.confirm {
		margin: 80px auto 0;
	}
	.confirm dl {
		padding: 50px 60px;
	}
	.works-header .page-ttl,
	.detail-header .page-ttl {
		margin-left: 100px;
	}
	.works-header .page-nav,
	.detail-header .page-nav {
		width: 225px;
	}
	.works-header .page-nav a,
	.detail-header .page-nav a {
		font-size: 10px;
		font-size: 1rem;
		line-height: 1.4;
	}
	.works-header .page-nav a:hover:before,
	.detail-header .page-nav a:hover:before {
		background-position: center bottom;
	}
	.works-index,
	.category-index {
		padding: 74px 0;
	}
	.works-index__ttl,
	.category-index__ttl {
		padding: 45px 0; 
		font-size: 36px;
		font-size: 3.6rem;
		line-height: 1.11111;
	}
	.index-nav {
		width: 980px;
	}
	.index-nav a:hover {
		color: #cf4747;
	}
	.index-nav__num {
		margin-right: 40px;
		padding: 15px 0 40px; 
		width: 100px;
		font-size: 34px;
		font-size: 3.4rem;
		line-height: 1.11765;
	}
	.index-nav__txt-area {
		padding: 15px 0 32px; 
		width: 840px;
	}
	.category-nav {
		width: 980px;
	}
	.category-nav a:hover {
		color: #cf4747;
	}
	.category-nav__ttl {
		display: inline-block;
		margin-right: 30px; 
		padding: 15px 0 30px;
		width: 280px;
	}
	.category-nav__ttl a {
		font-size: 15px;
		font-size: 1.5rem;
		line-height: 1.06667;
	}
	.category-nav__item-area {
		width: 670px;
		border-top: solid 1px #fff;
	}
	.category-nav__item-area p {
		display: inline-block;
		margin-bottom: 0;
	}
}
@media screen and (min-width: 0) and (min-width: 1090px) {
	.cnt-close-trigger {
		right: 50%;
		margin-right: -500px;
	}
}
@media screen and (min-width: 0) and (max-width: 768px) {
	.is-pc {
		display: none;
	}
	.is-sp {
		display: block;
	}
	br.is-pc,
	span.is-pc {
		display: none;
	}
	br.is-sp,
	span.is-sp {
		display: inline;
	}
	.works-header .page-nav li:nth-child(3),
	.detail-header .page-nav li:nth-child(3) {
		margin: 0 !important;
	}
}
