@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
* {
	margin: 0px;
	padding: 0px;
}

body, html {
    height: 100%;
}

body {
    font-family: 'Montserrat',Arial,Helvetica,sans-serif;
	font-size: 14px;
	line-height: 26px;
	overflow-x: hidden;
}

a {
	color: #555;
}

img {
	width: 100%;
}
ul,ol {
	list-style: none;
	margin: 0;
	padding: 0;
}
.clearfix:after {
	clear: both;
	content: '';
	display: block;
}

/*header*/
#lab header {
	height: 90px;
	z-index: 10000;
}
#lab header h1 {
	width: 90px;
	margin: 24px 0 0 2%;
}
@media screen and (max-width: 768px) {
	#lab header {
		height: 60px;
	}
	#lab header h1 {
		width: 60px;
		margin: 16px 0 0 4%;
	}
}
/*navi*/
.gnavi { 
	padding: 0; 
	margin: 0 auto;  
	position: absolute;
	top: 0;
	right: 0;
	width: 90%;
	z-index: 100;
}
.gnavi #menuButton {
	display: none;
	width: 48px;
	height:48px;
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 13;
}
.gnavi #menuButton span {
	display: block;
	background: #fff;
	width: 24px;
	height: 2px;
	position: absolute;
	left: 9px;
	transition: all 0.4s;
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
}
.gnavi #menuButton span:first-child {
	top: 16px;
}
.gnavi #menuButton span:nth-child(2) {
	margin-top: -1px;
	top: 50%;
}
.gnavi #menButton span:last-child {
	bottom: 16px;
}
.gnavi #menuButton.active span:first-child {
	-webkit-transform: translateY(6px) rotate(45deg);
	-moz-transform: translateY(6px) rotate(45deg);
	-ms-transform: translateY(6px) rotate(45deg);
	transform: translateY(6px) rotate(45deg);
}
.gnavi #menuButton.active span:nth-child(2) {
	opacity: 0;
}
.gnavi #menuButton.active span:last-child {
	-webkit-transform: translateY(-8px) rotate(-45deg);
	-moz-transform: translateY(-8px) rotate(-45deg);
	-ms-transform: translateY(-8px) rotate(-45deg);
	transform: translateY(-8px) rotate(-45deg);
}
.gnavi-open {
	display: block;
	width: 100%;
	float: right;
	text-align: right;
	background: none;
	height: 90px;
    line-height: 90px;
	padding: 0 2%;
}
.gnavi-open .gnavi-logo {
	width: 90px;
    margin: 20px 0 0 30px;
    display: inline-block;
    position: absolute;
    left: 0;
}
.gnavi-open ul {
	display: inline-block;
	margin: 0;
	width: 100%;
}
.gnavi-open ul li {
	display: inline-block;
	margin: 0 0 0 3%;
}
.gnavi-open ul li a {
	color: #fff;
	text-decoration: none;
	font-size: 13px;
	font-family: 'Montserrat', sans-serif;
    letter-spacing: 6px;	
}
.gnavi-open ul li a:after {
	content: "";
    position: absolute;
    width: 0;
    height: 3px;
    left: 0;
    bottom: 20px;
    background: #fff;
    transition: all 150ms linear;
	opacity: 0;
}
.gnavi-open ul li a:hover {
	font-weight: 600;
}
.gnavi-open ul li a:hover:after {
	opacity: 1;
	width: 100%;
}
.sns-icon {
	display: block;
	width: 50%;
    margin-bottom: -10%;
}
.sns-icon :hover{
	opacity: 0.8;
}

@media screen and (max-width: 900px) {
	header {
		height: 50px;
		width: 100%;
		margin: 0;

	}
	header h1 {
		width: 50px;
		margin: 3% 0 0 4%;
	}
	header h1 img{
		display: block;
	}
	.gnavi { 
		left: 0;
		width: 100%;
	}
	.gnavi #menuButton {
		display: block;
		top: 5px;
		right: 0px;
	}
	.gnavi #menuButton span {
		background: #fff;
	}
	.gnavi-open {
		display: none;
		height: 100vh;
		text-align: center;
		float: none;
		padding: 40px 0;
		background: rgba(0, 0, 0, 0.6);
	}
	.gnavi-open ul {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%,-50%);
		-ms-transform: translate(-50%,-50%);
		transform: translate(-50%,-50%);
	}
	.gnavi-open .gnavi-logo {
		display: block;
		width: 50px;
		margin: 3% 0 0 4%;
		top: 0;
		line-height: normal;
	}
	.gnavi-open ul li {
		display: block;
		margin: 0;
		line-height: 70px;
	}
	.gnavi-open ul li a {
		font-size: 18px;
	}
	.gnavi-open ul li a:after {
		display: none;
	}
	.gnavi-open .gnavi-sns li {
		margin: 0 20px;
	}
	.sns-icon {
		display: block;
		width: 30%;
		margin: 20px auto;
	}
}
/*header_fixed*/
#lab .header_fixed {
	background: rgba(0, 0, 0, 0.4);
}

/*button*/
.button {
	background: #aaa;
	width: 200px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	margin: 50px auto 0;
	cursor: pointer;
	-webkit-box-shadow: 0px 10px 20px 0px rgba(204,204,204,1);
    -moz-box-shadow: 0px 10px 20px 0px rgba(204,204,204,1);
    box-shadow: 0px 10px 20px 0px rgba(204,204,204,1);
}
.button a {
	display: block;
	color: #fff;
	letter-spacing: 2px;
	text-decoration: none;
}
.button:hover {
	box-shadow: none;
}

.button-pink {
	background: rgb(133,164,236);
	background: -moz-linear-gradient(-45deg, rgb(247, 112, 98) 10%, rgb(254, 81, 150) 100%);
	background: -webkit-linear-gradient(-45deg, rgb(247, 112, 98) 10%,rgb(254, 81, 150) 100%);
	background: linear-gradient(135deg, rgb(247, 112, 98) 10%,rgb(254, 81, 150) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f77062', endColorstr='#fe5196',GradientType=1 );
}
.button-pink:hover {
	background: rgb(254, 81, 150);
}

.button-green {
	background: rgb(96, 219, 199);
	background: -moz-linear-gradient(-45deg, rgb(96, 219, 199) 0%, rgb(73, 191, 201) 100%);
	background: -webkit-linear-gradient(-45deg, rgb(96, 219, 199) 0%,rgb(73, 191, 201) 100%);
	background: linear-gradient(135deg, rgb(96, 219, 199) 0%,rgb(73, 191, 201) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#bae9e2', endColorstr='#8fccc3',GradientType=1 );
}
.button-green:hover {
	background: rgb(73, 191, 201);
}
.button-black {
	background: rgb(96, 219, 199);
	background: -moz-linear-gradient(-45deg, rgb(81, 81, 81) 0%, rgb(0, 0, 0) 100%);
	background: -webkit-linear-gradient(-45deg, rgb(81, 81, 81) 0%,rgb(0, 0, 0) 100%);
	background: linear-gradient(135deg, rgb(81, 81, 81) 0%,rgb(0, 0, 0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#bae9e2', endColorstr='#8fccc3',GradientType=1 );
}
.button-black:hover {
	background: rgb(0, 0, 0);
}
.button-outline {
	background: #fff;
	cursor: pointer;
	text-decoration: none;
	width: 100%;
	height: 50px;
	margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
	-webkit-box-shadow: 0px 10px 20px 0px rgba(204,204,204,1);
    -moz-box-shadow: 0px 10px 20px 0px rgba(204,204,204,1);
    box-shadow: 0px 10px 20px 0px rgba(204,204,204,1);
}
.button-outline:hover {
	box-shadow: none;
}
.button-outline-pink {
	border: 2px solid #FF7E7E;
	color: #FF7E7E;
}
.button-outline:hover {
	background: #FF7E7E;
	color: #fff;
}

@media screen and (max-width: 768px) {
	.button {
		-webkit-box-shadow: 0px 5px 10px 0px rgba(204,204,204,1);
		-moz-box-shadow: 0px 5px 10px 0px rgba(204,204,204,1);
		box-shadow: 0px 5px 10px 0px rgba(204,204,204,1);
	}
}

.atentionText {
	font-size: 12px;
  color: #c04917;
}

/*video*/
.bg-video {
	height: 100vh;
	z-index: 1;
}
.bg-video__block {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    padding-bottom: 0;
    z-index: 1;
}
.bg-video__text {
	position: relative;
}

.bg-video .bg-video__text svg {
	width: 100vw;
    height: 100vh;
}
.bg-video svg text {
    text-anchor: middle;
	font-size: 150px;
    letter-spacing: 18px;
    font-weight: 700;
	stroke-width:1px;
	stroke:#000000;
	stroke-dasharray:1425px;
}
.bg-video svg mask rect {
	fill: #ccc;
}

.bg-video svg mask rect {
	fill: rgba(255, 255, 255, 0.6);
	animation: fadeOut 8s ease 0s normal;
    -webkit-animation: fadeOut 8s ease 0s normal;
}
@keyframes fadeOut {
    from {
		fill: rgba(255, 255, 255, 1);
	}
    to {
		fill: rgba(255, 255, 255, 0.6);
	}
}

@-webkit-keyframes fadeOut {
    from {
		fill: rgba(255, 255, 255, 1);
	}
    to {
		fill: rgba(255, 255, 255, 0.6);
	}
}
@supports (-ms-ime-align: auto) {
	.bg-video svg mask rect {
		fill: rgba(255, 255, 255, 0.6);
		animation: none;
	}
	@keyframes fadeOut {
		from {
			fill: none;
		}
		to {
			fill: none;
		}
	}

	@-webkit-keyframes fadeOut {
		from {
			fill: none;
		}
		to {
			fill: none;
		}
	}
}
.bg-video video {
	position: absolute;
	top: 0%;
	left: 0%;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	z-index: -1;
	overflow: hidden;
}
.bg-video__text div {
	position: absolute;
    top: 56%;
    z-index: 100;
    margin: auto;
    text-align: center;
    width: 800px;
    bottom: 0;
    left: 0;
    right: 0;
	line-height: 36px;
}

/*type*/
.bg-video__text div #ityped {
	font-size: 20px;
    color: #fff;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 3px;
	font-weight: 200;
}
.ityped-cursor {
    font-size: 22px;
	font-weight: 700;
    color: #555;
    opacity: 1;
    -webkit-animation: blink 0.3s infinite;
    -moz-animation: blink 0.3s infinite;
    animation: blink 0.3s infinite;
    animation-direction: alternate;
}
@keyframes blink {
    100% {
        opacity: 0;
    }
}
@-webkit-keyframes blink {
    100% {
        opacity: 0;
    }
}
@-moz-keyframes blink {
    100% {
        opacity: 0;
    }
}

.bg-video .works-d__arrow span {
    color: #fff;
	font-weight: 200;
	font-size: 12px;
}
.bg-video .works-d__arrow__inner {
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    width: 14px;
    height: 14px;
}

@media screen and (max-width: 1024px) {
	.bg-video svg text {
		font-size: 100px;
		letter-spacing: 10px;
	}
}
@media screen and (max-width: 768px) {
	.bg-video video {
		display: none;
	}
	.bg-video,
	.bg-video .bg-video__text svg {
		height: 70vh;
	}
	.bg-video .works-d__arrow {
		bottom: 12%;
	}
	.bg-video__block {
		background-image: url(../lab/img/lab_top_img.jpg?time=171214);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center center;
		height: 70vh;
	}
	.bg-video svg text {
		font-size: 40px;
		letter-spacing: 6px;
	}
	.bg-video__text div {
		top: 54%;
		width: 90%;
		line-height: 20px;
		padding: 0 5%;
	}
	.bg-video__text div #ityped {
		font-size: 14px;
		letter-spacing: 3px;
	}
	.bg-video__text div .ityped-cursor {
		font-size: 16px;
	}
}
@media screen and (max-width: 320px) {
	.bg-video svg text {
		font-size: 32px;
	}
	.bg-video__text div {
		line-height: 18px;
	}
	.bg-video__text div #ityped {
		font-size: 12px;
		letter-spacing: 2px;
	}
	.bg-video .works-d__arrow {
		bottom: 14%;
	}
	.bg-video .works-d__arrow span {
		font-size: 12px;
	}
	.bg-video .works-d__arrow__inner {
		width: 14px;
		height: 14px;
	}
}

/*common*/
article {
	background: #fff;
	position: relative;
	width: 100vw;
	z-index: 1000;
}
.inner-box {
	width: 1000px;
	margin: 0 auto;
}
section {
	padding-top: 140px;
	position: relative;
}

h2 {
	font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    text-align: center;
    font-size: 48px;
    letter-spacing: 14px;
	margin: 0 0 80px;
}

@media screen and (max-width:768px) {
	article {
		overflow-x: hidden;
	}
	.inner-box {
		width: auto;
		padding: 0 4%;
	}
	section {
		padding-top: 64px;
	}
	h2 {
		font-size: 30px;
		letter-spacing: 10px;
		margin: 0 0 36px;
	}
}
@media screen and (max-width:320px) {
	h2 {
		font-size: 28px;
		letter-spacing: 7px;
	}
}

.animated {
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
.animated.infinite {
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
}
/*fadeInDown*/
@-webkit-keyframes fadeInDown {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, -20%, 0);
		transform: translate3d(0, -20%, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}
@keyframes fadeInDown {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, -20%, 0);
		transform: translate3d(0, -20%, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}
.fadeInDown {
	-webkit-animation-name: fadeInDown;
	animation-name: fadeInDown;
}

/*fadeInLeft*/
@-webkit-keyframes fadeInLeft {
	from {
		opacity: 0;
		-webkit-transform: translate3d(-20%, 0, 0);
		transform: translate3d(-20%, 0, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}
@keyframes fadeInLeft {
	from {
		opacity: 0;
		-webkit-transform: translate3d(-20%, 0, 0);
		transform: translate3d(-20%, 0, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}
.fadeInLeft {
	-webkit-animation-name: fadeInLeft;
	animation-name: fadeInLeft;
}

/*fadeInUp*/
@-webkit-keyframes fadeInUp {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 20%, 0);
		transform: translate3d(0, 20%, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}
@keyframes fadeInUp {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 20%, 0);
		transform: translate3d(0, 20%, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}
.fadeInUp {
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
}

/*rotateIn*/
@-webkit-keyframes rotateIn {
	from {
		-webkit-transform-origin: center;
		transform-origin: center;
		-webkit-transform: rotate3d(0, 0, 0, -180deg);
		transform: rotate3d(0, 0, 0, -180deg);
		opacity: 1;
	}

	to {
		-webkit-transform-origin: center;
		transform-origin: center;
		-webkit-transform: translate3d(0, 0, 1);
		transform: translate3d(0, 0, 1);
		opacity: 1;
	}
}

@keyframes rotateIn {
	from {
		-webkit-transform-origin: center;
		transform-origin: center;
		-webkit-transform: rotate3d(0, 0, 1, -180deg);
		transform: rotate3d(0, 0, 1, -180deg);
		opacity: 1;
	}

	to {
		-webkit-transform-origin: center;
		transform-origin: center;
		-webkit-transform: translate3d(0, 0, 1);
		transform: translate3d(0, 0, 1);
		opacity: 1;
	}
}

.rotateIn {
	-webkit-animation-name: rotateIn;
	animation-name: rotateIn;
	animation-iteration-count: infinite;
}

/*section title*/
.title-type-a {
	position: relative;
}
.title-type-a_test {
	width: 50%;
	position: absolute;
	z-index: 100;
}
.title-type-a_test h2 {
	position: relative;
    padding: 0;
    margin-bottom: 80px;
}
.title-type-a_test h2:after {
	content: "";
    width: 50px;
    display: inline-block;
    border-bottom: 4px solid #111;
    position: absolute;
}
.title-type-a_test ul li {
	font-family: 'Montserrat', sans-serif;
	padding: 0 6px 10px 0;
    font-size: 16px;
    letter-spacing: 5px;
}
.title-type-a_img {
	position: relative;
	width: 70%;
	top: 70%;
}
@media screen and (max-width:768px) {
	.title-type-a {
		margin-bottom: 30px;
	}
	.title-type-a_test ul li {
		width: 100%;
		padding: 0;
		font-size: 13px;
		letter-spacing: 7px;
		height: 20px;
		line-height: 20px;
	}
}

/*title_right*/
.title-type-a.title_right .title-type-a_test {
	top: 20%;
	right: 10px;
	text-align: right;
}
.title-type-a.title_right .title-type-a_test h2 {
	text-align: right;
}
.title-type-a.title_right .title-type-a_test h2:after {
    top: 70px;
    right: 20px;
}
@media screen and (max-width:768px) {
	.title-type-a.title_right .title-type-a_test {
		position: relative;
		width: 100%;
		text-align: center;
		top: 0;
		right: 0;
		margin-bottom: 40px;
	}
	.title-type-a.title_right .title-type-a_test h2 {
		text-align: center;
	}
	.title-type-a.title_right .title-type-a_test h2:after {
		position: relative;
		top: 24px;
		right: 0;
		display: block;
		margin: 0 auto;
	}
	.title-type-a.title_right .title-type-a_img {
		position: relative;
		top: 0;
		left: 0;
		width: 100%;
		height: 300px;
	}
}
@media screen and (max-width:320px) {
	.title-type-a.title_right .title-type-a_img {
		height: 240px;
	}
}

/*title_left*/
.title-type-a.title_left {
	display: flex;
	justify-content: flex-end;
}
.title-type-a.title_left .title-type-a_test {
	top: 36%;
    left: 0;
    text-align: left;
}
.title-type-a.title_left .title-type-a_test h2 {
	text-align: left;
}
.title-type-a.title_left .title-type-a_test h2:after {
    top: 70px;
    left: 0;
}
.title-type-a.title_left .title-type-a_img {
	width: 70%;
}
@media screen and (max-width:768px) {
	.title-type-a.title_left {
		display: block;
	}
	.title-type-a_test h2 {
		margin-bottom: 50px;
	}
	.title-type-a.title_left .title-type-a_test {
		position: relative;
		width: 100%;
		float: left;
		margin-top: -80px;
	}
	.title-type-a.title_left .title-type-a_test h2:after {
		top: 50px;
	}
	.title-type-a.title_left .title-type-a_img {
		width: 88%;
		float: right;
	}
}

/*column*/
.three-column {
	display: -webkit-box;
    display: -moz-box;
    -ms-flex-wrap: wrap;
    display: box;
    display: -webkit-flex;
    display: flex;
    -js-display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}
.three-column:before {
	content:"";
	display: block;
	width: 32%;
	height: 0;
	order: 1;
}
.three-column .three-column__item {
	width: 32%;
}
.three-column .three-column__item p {
	text-align: center;
	font-weight: 700;
    line-height: 20px;
	margin-top: 10px;
}
@media screen and (max-width:768px) {
	.three-column .three-column__item {
		width: 48%;
	}
}

/*service*/
.service {
	padding-top: 140px;
}
.service h2 {
    font-size: 16px;
	font-weight: 700;
    letter-spacing: 6px;
    margin: 0 0 70px;
}
.service__header {
	width: 600px;
	margin: 0 auto 80px;
}
.service__header .service__header__title {
	text-align: center;
	font-size: 26px;
	font-weight: 700;
	margin-bottom: 50px;
}
.service__header .service__header__text {
	text-align: center;
}
.service__list.margin_t_50 {
	margin-top: 58px;
}
.service__list h3 {
	display: block;
    width: 100%;
    border-top: 1px solid #888;
	text-align: center;
	height: 55px;
}
.service__list h3 span {
	position: relative;
    top: -15px;
	margin: 0 auto 40px;
    padding: 0 40px;
    background: #fff;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 6px;
    display: inline-block;
    color: #111;
}
.service__list .service__list__item {
	background: #fafaff;
	padding: 50px 0;
}
.service__list .service__list__item img {
	display: block;
	width: 30%;
    margin: 0 auto;
}
.service__list .service__list__item svg {
	display: block;
	width: 30%;
    margin: 0 auto;
	position: relative;
	overflow: hidden;
}
.service__list .service__list__item p {
	text-align: center;
	margin: 40px 0 0;
	line-height: 24px;
	font-weight: 700;
}

@media screen and (max-width:768px) {
	.service {
		padding-top: 64px;
	}	
	.service h2 {
		margin: 0 0 30px;
	}
	.service__header {
		width: auto;
		margin: 0 auto 44px;
	}
	.service__list {
		margin: 0 auto;
	}
	.service__list h3 {
		height: 36px;
	}
	.service__header .service__header__title {
		font-size: 18px;
		line-height: 30px;
		margin: 0 10% 20px;
	}
	.service__list h3 span {
		margin: 0 auto 10px;
	}
	.service .three-column .three-column__item {
		width: 100%;
		margin-bottom: 4%;
	}
	.service__list .service__list__item p {
		margin: 20px 0 0;
		font-weight: normal;
	}
	.service__list.margin_t_50 {
		margin-top: 30px;
	}
}
@media screen and (max-width:320px) {
	.service__header .service__header__title {
		margin: 0 7% 30px;
	}
	.service__list h3 span {
		padding: 0 30px;
	}
}

#develop_ec .fadeInLeft {
	animation-iteration-count: infinite;
	-webkit-transform: translate3d(-20%, 0, 0);
    transform: translate3d(-20%, 0, 0);
	-webkit-animation-duration: 2s;
    animation-duration: 2s;
	-webkit-animation-name: develop_ec_slide;
	animation-name: develop_ec_slide;
}
@-webkit-keyframes develop_ec_slide {
	from {
		opacity: 0;
		-webkit-transform: translate3d(-20%, 0, 0);
		transform: translate3d(-20%, 0, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}
@keyframes develop_ec_slide {
	from {
		opacity: 0;
		-webkit-transform: translate3d(-20%, 0, 0);
		transform: translate3d(-20%, 0, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

.spin {
	width: 50px;
    height: 50px;
	-webkit-transform-origin: center;
    transform-origin: center;
	-webkit-animation: rotate 3s linear infinite;
    animation: rotate 3s linear infinite;
}
@-webkit-keyframes rotate {
	0% {-webkit-transform: rotate(0deg);} 
	100% {-webkit-transform: rotate(360deg);}
}

@keyframes rotate {
	0% {transform: rotate(0deg);} 
	100% {transform: rotate(360deg);}
}
.service__list .service__list__item.develop_webapp p {
	margin: 20px 0 0;
} 
@media screen and (max-width:768px) {
	.service__list .service__list__item.develop_webapp p {
		margin: 0;
	} 
}

/*lineExtend*/
.lineExtend {
	animation-name: lineleft;
	animation-iteration-count: infinite;
}
@-webkit-keyframes lineleft {
	0% { width: 0px;}
}
@keyframes lineleft {
	0% {width: 0px;}
}
.line1,.line2,.line3 {
	opacity:0;
	position:absolute;
}
.line1 {
	animation-duration:1s;
}
.animated {
	opacity: 1;
}

#design-sumaho .slide-parts {
	-webkit-animation: scroll 3s ease-in-out infinite alternate;
	animation: scroll 3s ease-in-out infinite alternate;
}
@-webkit-keyframes scroll {
	0% {transform:translateY(-30%);}
	100% {-webkit-transform:translateY(30%);}
}
@keyframes scroll {
	0% {transform:translateY(-30%);}
	100% {-webkit-transform:translateY(30%);}
}

/*works*/
.works .title-type-a_img .fadeInDown {
	left: 50%;
    top: 14%;
	z-index: 20;
}
.works .title-type-a_img .fadeInLeft {
	z-index: 30;
}
.works .title-type-a_img .fadeInUp {
	left: 15%;
	top: 40%;
	z-index: 10;
}
.works .title-type-a {
	margin-bottom: 70px;
}

.works .title-type-a_img {
	height: 480px;
}
.works .title-type-a_img img {
	width: 56%;
	position: absolute;
	-webkit-box-shadow: 0px 10px 20px 0px rgba(204,204,204,1);
    -moz-box-shadow: 0px 10px 20px 0px rgba(204,204,204,1);
    box-shadow: 0px 10px 20px 0px rgba(204,204,204,1);
}

.works__wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 48px;
}
.works__list__group {
	width: 100%;
}
.works__list__heading {
	font-size: 16px;
	text-align: center;
	margin-bottom: 32px;
}
.works__list__block {
	display: flex;
	align-items: center;
	gap: 32px;
}
.works__list__img {
	width: 480px;
}
.works__list__text__label {
	font-size: 14px;
	margin-bottom: 24px;
}
.works__list__text .button {
	margin: 32px 0 0;
}
.works__list__text .button-green a {
	display: flex;
	align-items: center;
	justify-content: center;
}
.works__list__text .button-green .link-external {
	width: 16px;
	height: 16px;
	margin-left: 8px;
}

.works__list .works__list__item img {
	-webkit-box-shadow: 0px 6px 6px 0px rgba(204,204,204,0.4);
    -moz-box-shadow: 0px 6px 6px 0px rgba(204,204,204,0.4);
    box-shadow: 0px 6px 6px 0px rgba(204,204,204,0.4);
}
.works__list .works__list__item img:hover {
    box-shadow: none;
}
.works__list.three-column .three-column__item {
    margin-bottom: 30px;
}
.works__list.three-column .three-column__item a {
	text-decoration: none;
}
.works__list.three-column .three-column__item p span {
	color: #888;
    display: block;
    font-size: 12px;
    font-weight: normal;
}

@media screen and (max-width:768px) {
	.works {
		padding-top: 64px;
	}
	.works .title-type-a {
		margin-bottom: 0px;
	}
	.works .title-type-a.title_right .title-type-a_img {
		height: 480px;
	}
	.works .title-type-a_img {
		width: 60%;
	}
	.works .title-type-a_img img {
		-webkit-box-shadow: 0px 5px 10px 0px rgba(204,204,204,1);
		-moz-box-shadow: 0px 5px 10px 0px rgba(204,204,204,1);
		box-shadow: 0px 5px 10px 0px rgba(204,204,204,1);
	}
	.works__list .works__list__item img {
		-webkit-box-shadow: 0px 3px 3px 0px rgba(204,204,204,0.4);
		-moz-box-shadow: 0px 3px 3px 0px rgba(204,204,204,0.4);
		box-shadow: 0px 3px 3px 0px rgba(204,204,204,0.4);
	}
	.works .title-type-a_img .fadeInDown {
		left: initial;
		right: 0;
	}
	.works__list.three-column .three-column__item {
		margin-bottom: 20px;
	}
	.works__list.three-column .three-column__item p {
		line-height: 24px;
		margin-top: 0;
	}
	.works__wrap {
		gap: 32px;
	}
	.works__list__heading {
		margin-bottom: 24px;
	}
	.works__list__block {
		flex-direction: column;
	}
	.works__list__block .works__list__img {
		width: 100%;
		order: 1;
	}
	.works__list__text {
		order: 2;
	}
	.works__list__text .button {
		margin: 32px auto 0;
	}
}
@media screen and (max-width:560px) {
	.works .title-type-a.title_right .title-type-a_img {
		height: 430px;
	}
}
@media screen and (max-width:500px) {
	.works .title-type-a.title_right .title-type-a_img {
		height: 350px;
	}
}
@media screen and (max-width:420px) {
	.works .title-type-a.title_right .title-type-a_img {
		height: 280px;
	}
}
@media screen and (max-width:320px) {
	.works .title-type-a.title_right .title-type-a_img {
		height: 240px;
	}
}

/*works detail*/
.works_d main {
	padding: 0;
}
.works_d-fixed {
	position: relative;
	z-index: 1;
}
.works_d-fixed-bg {
	min-height: 90vh;
}

.works_d-fixed-bg:before {
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 90vh;
	padding-bottom: 0;
	content: "";
	z-index: 1;
}
/*T-SITE SHOPPING*/
.works_d-fixed-bg.bg-2:before {
	background-image: url(/static_files/labdesign-hp/img/works/tsiteshopping_top.png);
}
/*T-SITE*/
.works_d-fixed-bg.bg-3:before {
	background-image: url(/static_files/labdesign-hp/img/works/tutaya_top.jpg);
}
/*T-KIDS*/
.works_d-fixed-bg.bg-4:before {
	background-image: url(/static_files/labdesign-hp/img/works/tkids_top.jpg);
}
/*TSUTAYA Portal*/
.works_d-fixed-bg.bg-5:before {
	background-image: url(/static_files/labdesign-hp/img/works/tsutayaportal_top.jpg);
}
/*sharelounge*/
.works_d-fixed-bg.bg-9:before {
	background-image: url(/static_files/labdesign-hp/img/works/sharelounge_top.jpg);
}
/*SHIBUYA TSUTAYA*/

.works_d-fixed-bg.bg-10:before {
	background-image: url(/static_files/labdesign-hp/img/works/shibuyatsutaya_top.png);
}

/*VitastileGolf*/
.works_d-fixed-bg.bg-11:before {
	background-image: url(/static_files/labdesign-hp/img/works/vitastilegolf_top.jpg);
}
/*YourFit*/
.works_d-fixed-bg.bg-12:before {
	background-image: url(/static_files/labdesign-hp/img/works/yourfit_top.jpg);
}
/*TOL*/
.works_d-fixed-bg.bg-13:before {
	background-image: url(/static_files/labdesign-hp/img/works/tsutaya_onlineshopping_top.png);
}

@media screen and (max-width: 768px) {
	/*Works mobile top*/
	/*T-SITE SHOPPING*/
	.works_d-fixed-bg.bg-2:before {
		background-image: url(/static_files/labdesign-hp/img/works/tsiteshopping_top_sp.png);
	}
	/*T-SITE*/
	.works_d-fixed-bg.bg-3:before {
		background-image: url(/static_files/labdesign-hp/img/works/tutaya_top_sp.jpg);
	}
	/*T-KIDS*/
	.works_d-fixed-bg.bg-4:before {
		background-image: url(/static_files/labdesign-hp/img/works/tkids_top_sp.jpg);
	}
	/*TSUTAYA Portal*/
	.works_d-fixed-bg.bg-5:before {
		background-image: url(/static_files/labdesign-hp/img/works/tsutayaportal_top_sp.jpg);
	}
	/*sharelounge*/
	.works_d-fixed-bg.bg-9:before {
		background-image: url(/static_files/labdesign-hp/img/works/sharelounge_top_sp.jpg);
	}
	/*SHIBUYA TSUTAYA*/

	.works_d-fixed-bg.bg-10:before {
		background-image: url(/static_files/labdesign-hp/img/works/shibuyatsutaya_top_sp.png);
	}

	/*VitastileGolf*/
	.works_d-fixed-bg.bg-11:before {
		background-image: url(/static_files/labdesign-hp/img/works/vitastilegolf_top_sp.jpg);
	}
	/*YourFit*/
	.works_d-fixed-bg.bg-12:before {
		background-image: url(/static_files/labdesign-hp/img/works/yourfit_top_sp.jpg);
	}
	/*TOL*/
	.works_d-fixed-bg.bg-13:before {
		background-image: url(/static_files/labdesign-hp/img/works/tsutaya_onlineshopping_top_sp.png);
	}
}

.works-d__arrow {
	width: 100%;
    height: 20px;
	display: block;
    margin: 0 auto;
	text-align: center;
	text-decoration: none;
    position: absolute;
    z-index: 200;
    bottom: 10%;
}

@media screen and (max-width: 768px) {
	.works-d__arrow {
		left: 0;
		margin: 0 auto;
		text-align: center;
		width: 100%;
		bottom: 14%;
	}
}

.works-d__arrow span {
	display: inline-block;
	color: #111;
    font-size: 14px;
    letter-spacing: 2px;
	font-family: 'Montserrat', sans-serif;
}

.works-d__arrow__inner {
	position: absolute;
	top: 20px;
	left: 50%;
	width: 16px;
	height: 16px;
	margin-left: -10px;
	border-left: 1px solid #111;
	border-bottom: 1px solid #111;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-animation: sdb 1.5s infinite;
	animation: sdb 1.5s infinite;
	box-sizing: border-box;
}
@-webkit-keyframes sdb {
	0% {
		-webkit-transform: rotate(-45deg) translate(0, 0);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		-webkit-transform: rotate(-45deg) translate(-20px, 20px);
		opacity: 0;
	}
}
@keyframes sdb {
	0% {
		transform: rotate(-45deg) translate(0, 0);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		transform: rotate(-45deg) translate(-20px, 20px);
		opacity: 0;
	}
}
.works_d .w-content {
    position: relative;
    background: #fff;
	min-height: 400px;
	padding-bottom: 100px;
    z-index: 2;	
}
.works_d .w-content-inbox .l-box .w-text-english { 
	color: #888;
    margin-top: -30px;
}

.works_d .w-content-inbox .goods-detail {
	display: flex;
	margin-top: 50px;
}

.works_d .w-content-inbox .goods-detail ul {
	-js-display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.works_d .w-content-inbox .goods-detail ul li { 
	width: calc(50%);
    margin-bottom: -3px;
}
.works_d .w-content-inbox .goods-detail.wid-full ul li { 
	width: 100%;
}

@media screen and (max-width: 768px) {
	.works_d .w-content-inbox .goods-detail.wid-full ul li { 
		width: 100%;
		margin-bottom: -3px;
	}
}

.works_d .works_d-service p {
	width: 120px;
	display: inline-block;
	margin: 0 0 4px;
	font-size: 12px;
}
.works_d .w-content-inbox {
	position: relative;
	background: #fff;
	width: 1000px;
	margin: 0 auto;
	z-index: 2;
}
@media screen and (max-width: 768px) {
	.works_d .works_d-service p {
		width: 49%;
	}
	.works_d .w-content-inbox {
		width: auto;
		padding: 0 4%;
	}
}

.slider .carousel-slider li {
	height: auto;
}
.slider .slick-prev {
	border-left: 1px solid #888;
    border-bottom: 1px solid #888;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.slider .slick-next {
	border-top: 1px solid #888;
	border-right: 1px solid #888;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.slider .slick-prev:before,
.slider .slick-next:before {
    content: ' ';
}

.l-box,
.r-box {
	display: inline-block;
	vertical-align: top;
}
.l-box {
	width: 724px;
}
.l-box h1,
.w-box h1 {
	text-align: left;
	font-size: 30px;
	margin: 0 0 14px;
	letter-spacing: 2px;
}
.l-box h2,
.w-box h2 {
	text-align: left;
	font-size: 18px;
	font-weight: normal;
	margin: 0;
	color: #888;
	letter-spacing: 1px;
}
.l-box .atentionText {
	padding-top: 12px;
}
.l-box p {
	line-height: 24px;
	margin: 60px 0 70px;
	color: #111;
	padding-right: 110px;
}

.l-box span {
	display: block;
}
.l-box p .works_icon {
	padding-bottom: 28px;
	border-top: 1px solid #aaa;
	position: relative;
}
.l-box p .works_icon > span {
	position: absolute;
    top: -13px;
    left: 0;
    font-weight: 700;
    font-size: 15px;
    background: #fff;
	color: #888;
    padding-right: 20px;
    vertical-align: middle;
    display: inline-block;
}
.l-box p .works_icon > span > img {
    width: 24px;
    height: 24px;
    display: inline-block;
    margin-right: 12px;
    vertical-align: middle;
	color: #888;
}

.r-box {
	width: 250px;
}
.r-box div {
	margin: 0 0 20px;
}
.r-box div h3 {
	margin: 0 0 4px;
	color: #888;
}
.r-box div p,
.r-box div p a {
	margin: 0 0 20px;
	color: #111;
	word-break: break-all;
	font-size: 0.97em;
}
.r-box ul {
	list-style: disc;
    padding-left: 20px;
    line-height: 26px;
}
.r-box ul li {
	color: #111;
	font-size: 14px;
}

.works_d .button {
	margin-top: 50px;
} 

.works_d footer {
	position: relative;
	margin-top: 0;
	background: #fff;
	z-index: 2;
}
	
@media screen and (max-width: 768px) {
	.l-box {
		width: 100%;
	}
	.r-box {
		width: 100%;
		margin: 0 0 30px;
		padding: 0;
	}
	.l-box h1,
	.w-box h1 {
		font-size: 22px;
		margin: 0 0 8px;
	}
	.l-box p {
		margin: 50px 0 60px;
		padding: 0;
	}
	.slick-dots li,
	.slick-dots li button,
	.slick-dots li button:before {
		width: 30px;
	}
	.carousel-slider .slick-dots {
		bottom: -24px;
	}
}

.w-box-heading p {
	line-height: 24px;
	margin: 60px 0 70px;
	color: #111;
	padding-right: 110px;
}
.w-box-content {
	display: flex;
	flex-direction: column;
	gap: 64px;
}
.w-box-content .w-box-content-heading h2 {
	font-size: 24px;
	font-weight: bold;
	color: #000;
	margin-bottom: 32px;
}
.w-box-content .w-box-content-heading ul {
	display: flex;
    justify-content: space-between;
    gap: 24px;
}
.w-box-content .w-box-content-heading ul li {
	width: 100%;
}

.w-box-content .w-box-content-box {
	display: flex;
	flex-direction: column;
	gap: 48px;
}
.w-box-content .w-box-content-box h3 {
	font-size: 20px;
	color: #000;
	margin-bottom: 32px;
}
.w-box-content-lead {
	font-size: 14px;
	color: #000;
}
.w-box-content .w-box-content-box .w-box-content-inner h4 {
	font-size: 16px;
	color: #555;
	position: relative;
	display: flex;
	align-items: center;
	margin-bottom: 24px;
}
.w-box-content .w-box-content-box .w-box-content-inner h4:before {
	content: "";
    display: inline-block;
    border-bottom: 1px solid #555;
	width: 32px;
	margin-right: 12px;
}
@media screen and (max-width: 768px) {
	.w-box-heading p {
		margin: 50px 0 60px;
		padding: 0;
	}
}

/* works detail SNS */
.snsService-settingFlow {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	margin-top: 24px;
}
.snsService-settingFlowItem {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}
.snsService-settingFlowItem img {
	width: 90px;
	height: 90px;
}
.snsService-settingFlowItem p {
	font-size: 14px;
	text-align: center;
	margin: 0;
	padding: 0;
}
.snsService-detail {
	background: #FFF5F4;
	padding: 48px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.snsService-detail-title {
	font-size: 14px;
	font-weight: bold;
	color: #555;
	margin-bottom: 24px;
}
.snsService-detail-item {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.snsService-detail-item li {
	background: #fff;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
.snsService-detail-item li span {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.snsService-detail-item li span:before {
	content: '';
	display: block;
	width: 10px;
	height: 5px;
	margin-right: 12px;
	border-left: 2px solid #FE8E8E;
	border-bottom: 2px solid #FE8E8E;
	transform: rotate(-45deg);
}
.snsService-detail-notes p {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 12px;
	color: #555;
}

.CreativeProduction-list {
	overflow-x: auto;
	white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}
.CreativeProduction-list ul {
	display: inline-table;
    max-width: 100%;
	margin-bottom: 15px;
}
.CreativeProduction-list ul li {
	display: inline-block;
	width: 326px;
    padding-right: 16px;
}

/*recruit*/
.recruit {
	padding-top: 110px;
}
.recruit .title-type-a.title_left .title-type-a_test {
    background: rgba(247, 112, 98, 0.8);
    width: 36%;
    padding: 8%;
    color: #fff;
	-webkit-box-shadow: 0px 10px 20px 0px rgba(204,204,204,1);
	-moz-box-shadow: 0px 10px 20px 0px rgba(204,204,204,1);
	box-shadow: 0px 10px 20px 0px rgba(204,204,204,1);
}
.recruit .title-type-a.title_left .title-type-a_test h2:after {
    border-bottom: 4px solid #fff;
}
.recruit .title-type-a.title_left .title-type-a_test p {
	margin: 0;
}

.recruit__block-intro {
	position: relative;
	width: 800px;
	margin: 120px auto 150px;
	line-height: 30px;
}
.recruit__block-intro:after {
	content: "";
    width: 2px;
    height: 60px;
    display: inline-block;
    border-left: 1px solid #888;
    position: absolute;
    bottom: -100px;
    left: 50%;
}
.recruit__block-intro p {
	text-align: center;
	font-weight: 700;
    margin-bottom: 32px;
}
.recruit__block {
    padding: 10%;
	position: relative;
}
.recruit__block .sticky {
    width: 300px;
    position: absolute;
    top: -164px;
    z-index: 10;
}
.recruit__block .sticky img {
    position: -webkit-sticky;
    position: sticky;
	top: 0;
	padding-top: 100px;
}

.recruit__block.engineer {
	border: 4px solid #fe5196;
	position: relative;
	margin-bottom: 160px;
}
.recruit__block.engineer:after {
	content: "";
    width: 2px;
    height: 60px;
    display: inline-block;
    border-left: 1px solid #888;
    position: absolute;
    bottom: -114px;
    left: 50%;
}
.recruit__block.engineer .sticky {
    right: -36px;
    height: 1910px;
}

.recruit__block.designer {
	border: 4px solid #8FCCC3;
}
.recruit__block.designer .sticky {
    left: -36px;
    height: 1500px;
}

.recruit__block h3 {
	margin: 0 0 40px;
	font-size: 16px;
    position: inherit;
    z-index: 100;
}
.recruit__block dl {
    position: inherit;
    z-index: 100;
}
.recruit__block dl dt {
	display: inline-block;
	vertical-align: top;
	width: 24%;
	font-weight: 700;
}
.recruit__block dl dd {
	display: inline-block;
    vertical-align: top;
    width: 74%;
    margin: 0 0 14px 0;
}

@media screen and (max-width:768px) {
	.recruit {
		padding-top: 64px;
	}
	.recruit__block-intro {
		width: 100%;
		margin: 40px auto 96px;
	}
	.recruit__block-intro p {
		margin-bottom: 20px;
	}
	.recruit__block-intro:after {
		height: 40px;
		bottom: -66px;
	}
	.recruit__block.engineer:after {
		height: 40px;
		bottom: -76px;
	}
	.recruit__block.engineer {
		margin-bottom: 104px;
	}
	.recruit .title-type-a.title_left .title-type-a_test {
		width: 60%;
		margin-top: -148px;
		-webkit-box-shadow: 0px 5px 10px 0px rgba(204,204,204,1);
		-moz-box-shadow: 0px 5px 10px 0px rgba(204,204,204,1);
		box-shadow: 0px 5px 10px 0px rgba(204,204,204,1);
	}
	.recruit .title-type-a.title_left .title-type-a_test p {
		width: 144%;
	}
	.recruit .title-type-a.title_left .title-type-a_test p span {
		display: none;
	}
	.recruit__block .sticky {
		width: 180px;
		top: -138px;
	}
	.recruit__block.engineer .sticky {
		right: -20px;
		height: 2840px;
	}
	.recruit__block.designer .sticky {
		left: -18px;
		height: 2310px;
	}
	.recruit__block {
		padding: 12% 6%;
	}
	.recruit__block h3 {
		margin: 0 0 20px;
	}
	.recruit__block dl dt {
		width: 100%;
	}
	.recruit__block dl dd {
		width: 100%;
		margin: 0 0 20px;
	}
	.recruit__block .button {
		margin: 10px auto 0;
	}
}

/*about us*/
#section_company .title-type-a {
	margin-bottom: 60px;
}
.abus__block {
	/*-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
    text-orientation: upright;
    height: 380px;*/
    width: 670px;
    margin: 0 auto;
	text-align: center;
	
}
/*@supports (-ms-ime-align:auto) {
	.abus__block {
		width: 100%;
		position: relative;
	}
	.abus__block > div {
		position: absolute;
		writing-mode: tb-rl;
		top:0;
		bottom:0;
		left: 0;
		right: 0;
		margin: auto;
		width: 580px;
	}
}*/
/*@media all and (-ms-high-contrast: none) {
	.abus__block {
		width: 100%;
		position: relative;
	}
	.abus__block > div {
		position: absolute;
		writing-mode: tb-rl; 
		top:0;
		bottom:0;
		left: 0;
		right: 0;
		margin: auto;
		width: 580px;
	}
}
*/
.abus__block p {
	text-align: center;
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 50px;
}
.abus__block span {
	display: block;
	line-height: 30px;
}
@media screen and (max-width:768px) {
	#section_company h2 {
		line-height: 40px;
	}
	
	#section_company h2 span {
		display: block;
		text-align: left;		
	}
	#section_company h2 span.mag_left {
		margin-left: 7px;
		letter-spacing: 14.5px;
	}
	#section_company .title-type-a_test {
		margin-top: -170px;
	}
	#section_company .title-type-a.title_left .title-type-a_test h2:after {
		top: 140px;
	}
	#section_company .title-type-a {
		margin-bottom: 36px;
	}
	.abus__block {
		width: 100%;
		margin: 0 0 60px;
	}
	.abus__block p {
		font-size: 18px;
		line-height: 30px;
		margin: 0 10% 20px;
	}
	.abus__block span {
		line-height: 28px;
		text-align: left;
	}
}
@media screen and (max-width:320px) {
	.abus__block span {
		line-height: 24px;
	}
	#section_company h2 span.mag_left {
		letter-spacing: 11px;
	}
}
@media screen and (max-width:768px) and (-ms-high-contrast: none) {
	.abus__block {
		margin: 0;
	}
	.abus__block > div {
		width: 100%;
		max-width: 400px;
	}
}

/*company*/
.company {
	background: #fafafa;
	padding: 140px 0;
	margin-top: 140px;
}
.company__block {
	margin-top: 60px;
}
.tabs {
	max-width: 1000px;
    position: relative;
	margin: 10px auto 0;
	padding-top: 0px;
}
.tabs input {
	display: none;
}
.tabs input#tab-2{
	top: 13%;
	left: 2%;
}
.tabs input#tab-3{
	top: 25%;
	left: 2%;
}
.tabs input#tab-4{
	top: 37%;
	left: 2%;
}
.tabs label {
    display: inline-block;
	width: auto;
	float: left;
    clear: both;
	position: relative;
	margin: 0 0 30px;
    cursor: pointer;
    color: #aaa;
}
.tabs label:after {
    content: "";
    position: absolute;
    width: 0;
    height: 2px;
    left: 0;
    bottom: -2px;
    background: #000;
    transition: all 150ms linear;
    opacity: 0;
}
.tabs label:hover {
	color: #000;
	font-weight: 700;
}
.tabs label:hover:after {
	opacity: 1;
    width: 100%;
}
.tabs label:first-of-type {
    z-index: 4;
}
.tab-label-2 {
    z-index: 3;
}
.tab-label-3 {
    z-index: 2;
}
.tab-label-4 {
    z-index: 1;
}
.tabs input:checked + label {
	color: #000;
	font-weight: 700;
	border-bottom: 2px solid #333;
	z-index: 6;
}
.content {
	position: relative;
	width: 730px;
	height: 550px;
	margin: -174px 0 0 270px;
	z-index: 5;
	overflow: hidden;
}
.content div {
	width: 100%;
    padding: 4%;
	position: absolute;
    top: 0;
	z-index: 1;
    opacity: 0;
    -webkit-transition: all linear 0.5s;
    -moz-transition: all linear 0.5s;
    -o-transition: all linear 0.5s;
    -ms-transition: all linear 0.5s;
    transition: all linear 0.5s;
}
.tabs input.tab-selector-1:checked ~ .content .content-1,
.tabs input.tab-selector-2:checked ~ .content .content-2,
.tabs input.tab-selector-3:checked ~ .content .content-3,
.tabs input.tab-selector-4:checked ~ .content .content-4 {
    -webkit-transform: translateY(0px);
	-moz-transform: translateY(0px);
	-o-transform: translateY(0px);
	-ms-transform: translateY(0px);
	transform: translateY(0px);
    z-index: 100;
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    filter: alpha(opacity=100);
    opacity: 1;
    -webkit-transition: all ease-out 0.3s 0.3s;
    -moz-transition: all ease-out 0.3s 0.3s;
    -o-transition: all ease-out 0.3s 0.3s;
    -ms-transition: all ease-out 0.3s 0.3s;
    transition: all ease-out 0.3s 0.3s;
	overflow-y: auto;
    overflow-x: hidden;
}
.content > .content-1 > dl > dt,
.content > .content-2 > dl > dt {
	display: inline-block;
    vertical-align: top;
	width: 20%;
}
.content > .content-1 > dl > dd,
.content > .content-2 > dl > dd	{
	width: 79%;
    display: inline-block;
    vertical-align: top;
	margin: 0 0 20px;
}
.content-3 dl {
    display: inline-block;
    vertical-align: top;
    margin: 0 0 0 2%;
}
.content-3 dl:first-child {
	margin: 0;
}
.content-3 > dl > dt {
	margin-bottom: 20px;
}
.content-4 > dl {
    font-size: 14px;
}
.content-4 > dl > dt {
	margin-bottom: 2%;
}
@media screen and (max-width: 768px) {
	.company {
		padding: 64px 0;
		margin: 0;
	}
	.company__block {
		margin-top: 0px;
	}
	.tabs {
		width: 100%;
		font-size: 0;
		height: 490px;
	}
	.tabs input {
		width: 46%;
		top: 1%;
		left: 2%;
	}
	.tabs input#tab-2{
		top: 1%;
		left: 52%;
	}
	.tabs input#tab-3{
		top: 8%;
		left: 2%;
	}
	.tabs input#tab-4{
		top: 8%;
		left: 52%; 
	}
	.tabs label {
		float: none;
		width: 32%;
		margin: 0;
		text-align: center;
		border-bottom: 1px solid #ccc;
		font-size: 14px;
	}
	.tabs input.tab-selector-1:checked ~ .content .content-1,
	.tabs input.tab-selector-2:checked ~ .content .content-2,
	.tabs input.tab-selector-3:checked ~ .content .content-3,
	.tabs input.tab-selector-4:checked ~ .content .content-4 {
		height: auto;
	}
	.content {
		position: relative;
		width: auto;
		margin: 20px 0 0 0;
		height: 450px;
		overflow: auto;
		font-size: 14px;
	}
	.content div {
		top: 0;
		width: 100%;
		margin: 0;
		height: auto;
	}
	.content .content-1 dl,
	.content .content-2 dl,
	.content .content-3,
	.content .content-4 dl {
		padding-left: 0;
		margin: 0;
	}
	.content-3 dl:first-child {
		margin: 0 auto 20px;
	}

	.content > .content-1,
	.content > .content-2,
	.content > .content-3,
	.content > .content-4 {
		width: auto;
		font-size: 14px;
	}
	.content > .content-1 > dl > dt,
	.content > .content-2 > dl > dt {
		float: none;
		width: 100%;
		font-weight: 700;
	}
	.content > .content-1 > dl > dd,
	.content > .content-2 > dl > dd	{
		margin: 0 0 20px;
		width: 100%;
	}
	.content-3 > dl {
		width: auto;
		height: auto;
		padding: 10%;
		margin: 0 auto 10%;
		float: none;
	}
	.content-3 > dl > dt {
		font-size: 14px;
	}
	.content-3 > dl > dd.content-3-txt {
		font-size: 13px;
		line-height: 18px;
	}
	.content-3 img {
		width: 60%;
	}
	.content-4 > dl > dt {
		margin-bottom: 8%;
	}
}

/*contact*/    
.contact .title_left .title-type-a_test {
	top: 26%;	
}
.contact .title-type-a .button {
	margin: 30px 0 0;	
}
@media screen and (max-width: 768px) {
	.contact .title-type-a .button {
		margin: 36px auto 0;	
	}
}


/*access*/
.access__block p {
	text-align: center;
	margin-bottom: 40px;
}
.access__block p span {
	display: block;
	margin-top: 40px;
}
@media screen and (max-width: 768px) {
	#section_access {
		padding-top: 36px;
	}
	.access__block p {
		padding: 0 4%;
		margin-bottom: 28px;
	}
	.access__block p span {
		margin-top: 28px;
	}
}

/*privacy*/
#privacy section {
	padding-top: 40px;
}
.list-block dl {
	padding-bottom: 100px;
}
#privacy h1 {
	font-size: 40px;
    font-weight: 700;
    margin: 40px auto 80px;
    text-align: center;
    letter-spacing: 5px;
}
#privacy .list-block h2+p {
	margin-bottom: 30px;
}
#privacy .list-block dl dt {
	width: 100%;
	padding-bottom: 10px;
}

#privacy .list-block dl dd {
	margin-left: 2%;
    width: 98%;
}
@media screen and (max-width: 768px) {
	#privacy h1 {
		font-size: 24px;
		letter-spacing: 6px;
		margin: 0 0 36px;
	}
	.list-block dl {
		padding-bottom: 64px;
	}
}

/*Recruit*/
#recruit .list-block {
	width: 800px;
}
#recruit .list-block dl {
	margin: 0;
}
#recruit .list-block dl dt {
	width: 200px;
}

#recruit .list-block dl dd {
	width: 596px;
}
@media screen and (max-width: 768px) {
	.list-block h2 {
		margin-bottom: 40px;
	}
}
/*list*/
.list-block dl dt,
.list-block dl dd {
	display: inline-block;
	vertical-align: top;
	padding-bottom: 30px;
}
.list-block {
	width: 600px;
	margin: 0 auto 100px;
	line-height: 24px;
}
.list-block h2 {
    font-size: 18px;
    border-bottom: 1px solid #555;
    line-height: 30px;
    padding-bottom: 10px;
    margin-bottom: 30px;
    text-align: left;
    letter-spacing: 0;
}
.list-block dl dt {
	width: 146px;
	font-weight: 700;
}
.list-block dl dd {
	width: 450px;
	margin: 0;
}
@media screen and (max-width: 768px) {
	.list-block,
	#recruit .list-block {
		width: 92%;
		padding: 0 4%;
	}
	.list-block dl dt {
		padding-bottom: 10px;
	}
	.list-block dl dt,
	.list-block dl dd,
	#recruit .list-block dl dt,
	#recruit .list-block dl dd {
		width: 100%;
		margin: 0;
	}
}