/*=============================================================
  common.css
---------------------------------------------------------------

01. common layout
02. header
03. footer
04. home
05. makers
06. conpany
07. contact
08. thanks
09. media query
10. helper

===============================================================
01. common layout
=============================================================*/
.preload * {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -ms-transition: none !important;
    transition: none !important;
}
.pc {
	display: inline-block;
}
.sp {
	display: none;
}
html,
body {
    background: #fff;
}
html::before,
html::after,
body::before,
body::after {
	display: block;
	content: "";
	background: #eee;
	position: fixed;
	z-index: 11;
}
html.android::before,
html.android::after,
.android body::before,
.android body::after {
	display: none;
}
html::before,
html::after {
	width: 100%;
	height: 6px;
	left: 0;
}
html::before {
	top: 0;
}
html::after {
	bottom: 0;
}
body::before,
body::after {
	width: 6px;
	height: 100%;
	top: 0;
}
body::before {
	left: 0;
}
body::after {
	right: 0;
}

#loading {
	width: 100%;
	height: 100%;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	transition: all ease 900ms;
	transition-delay: 500ms;
}
.loaded #loading {
	opacity: 0;
	visibility: hidden;
}

#visual {
	width: 100%;
	height: 100%;
	position: relative;
	top: 0;
	left: 0;
	z-index: 1;
	overflow: hidden;
}
.central {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX( -50% ) translateY( -50% );
	-webkit-transform: translateX( -50% ) translateY( -50% );
	-moz-transform: translateX( -50% ) translateY( -50% );
	-ms-transform: translateX( -50% ) translateY( -50% );
}
#contents {
	position: relative;
	z-index: 1;
	background: rgba( 0,0,0,0.05 );
	padding: 45px 0 40px;
}
.inner {
	width: 76%;
	margin: 0 auto 45px;
}
.inner h1 {
	margin-bottom: 20px;
	font-size: 30px;
	font-weight: normal;
	letter-spacing: 5px;
}
.inner p {
	margin-bottom: 10px;
	font-size: 17px;
}
img {
	width: 100%;
	overflow: hidden;
}
a.text-link {
	color: #444;
	transition: all ease 200ms;
}
a.text-link:hover {
	color: #aaa;
}
a.text-link-white {
	color: #fff;
	transition: all ease 200ms;
}
a.text-link-white:hover {
	color: #ddd;
}
.btn-01 {
	display: inline-block;
	border: solid 2px #444;
	padding: 20px 70px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	background: none;
	border-radius: 0;
	box-shadow: none;
	color: #444;
	font-size: 16px;
	text-decoration: none;
	cursor: pointer;
	outline: none;
	transition: all ease 300ms;
	 -webkit-appearance: none;
}
.btn-01:hover {
	background: rgba( 255,255,255,1 );
	color: #444;
	box-shadow: 0 0 30px rgba( 0,0,0,0.3 );
}

/*
* news part
*/
.news-part {
	margin-bottom: 45px;
}
.news-part li {
	width: 33.3%;
	display: inline-block;
    vertical-align: top;
	transition: all ease 800ms;
	transform: translateY( 50px );
	opacity: 0;
}
.news-part li:nth-of-type(2) {
	-webkit-transition-delay: 100ms;
	transition-delay: 100ms;
}
.news-part li:nth-of-type(3) {
	-webkit-transition-delay: 200ms;
	transition-delay: 200ms;
}
.active .news-part li {
	opacity: 1;
	transform: translateY( 0 );
}
.news-part li article a {
	display: block;
	width: 100%;
	text-decoration: none;
	color: #444;
}
.news-part li article a > div {
	width: 100%;
	padding-top: 100%;
	margin-bottom: 18px;
	background-position: center center;
    background-repeat: no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
	position: relative;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.news-part li article a > div::after {
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	position: absolute;
	border: solid 8px rgba( 0,0,0,0.12 );
	top: 0;
	left: 0;
	transition: all ease 200ms;
	transform: scale( 0.85 );
	opacity: 0;
}
.news-part li article a:hover > div::after {
	transform: scale( 1 );
	opacity: 1;
}

.news-part:nth-of-type(1) li:nth-of-type(1) article a > div {
	/* background-image: url( /common/img/news/thumb/07.jpg ); */
	background-image: url( /common/img/news/thumb/new-year.png );
}
.news-part:nth-of-type(1) li:nth-of-type(2) article a > div {
	background-image: url( /common/img/news/thumb/06.jpg );
}
.news-part:nth-of-type(1) li:nth-of-type(3) article a > div {
	background-image: url( /common/img/news/thumb/05.jpg );
}
.news-part:nth-of-type(2) li:nth-of-type(1) article a > div {
	background-image: url( /common/img/news/thumb/04.jpg );
}
.news-part:nth-of-type(2) li:nth-of-type(2) article a > div {
	background-image: url( /common/img/news/thumb/00.jpg );
}
.news-part:nth-of-type(2) li:nth-of-type(3) article a > div {
	background-image: url( /common/img/news/thumb/01.jpg );
}
/*
.news-part:nth-of-type(2) li:nth-of-type(3) article a > div {
	background-image: url( /common/img/news/thumb/no-img.jpg );
}
*/

.news-part li article p {
	margin-bottom: 2px;
	font-size: 13px;
}
.news-part li article h1 {
	padding: 0 10px;
	margin-bottom: 0;
	font-size: 16px;
}

/*
* pages
*/
.pages #visual::before {
	content: "";
	display: block;
	width: 0;
	height: 1px;
	background: rgba( 0,0,0,0.1 );
	position: absolute;
	top: 50%;
	left: 50%;
}
.pages #visual h1 {
	font-size: 60px;
	font-weight: normal;
}
.pages #visual h1 span {
	display: inline-block;
	padding: 0 4px;
	background: rgba( 255,255,255,0.001 );
}
.pages #particles-js {
	height: 40%;
	top: 30%;
}

/*
* motion loaded
*/
.pages.loaded #visual::before {
	animation: half-top ease 1000ms forwards;
	animation-delay: 1300ms;
}
@keyframes half-top {
	0%{ width: 0; height: 1px; left: 50%; top: 50%; }
	50%{ width: 100%; height: 1px; left: 0; top: 50%; }
	100%{ width: 100%; height: 50%; left: 0; top: 50%; }
}

.pages #visual h1 span {
	display: inline-block;
	transition: all ease 700ms;
	-webkit-transform: rotateY( 90deg ) scale( 2.6 );
	-moz-transform: rotateY( 90deg ) scale( 2.6 );
	-ms-transform: rotateY( 90deg ) scale( 2.6 );
	transform: rotateY( 90deg ) scale( 2.6 );
}
.pages.loaded #visual h1 span {
	-webkit-transform: rotateY( 0 ) scale( 1 );
	-ms-transform: rotateY( 0 ) scale( 1 );
	-moz-transform: rotateY( 0 ) scale( 1 );
	transform: rotateY( 0 ) scale( 1 );
}
.pages #visual h1 span:nth-of-type(1) {
	transition-delay: 2000ms;
}
.pages #visual h1 span:nth-of-type(2) {
	transition-delay: 2100ms;
}
.pages #visual h1 span:nth-of-type(3) {
	transition-delay: 2200ms;
}
.pages #visual h1 span:nth-of-type(4) {
	transition-delay: 2300ms;
}
.pages #visual h1 span:nth-of-type(5) {
	transition-delay: 2400ms;
}
.pages #visual h1 span:nth-of-type(6) {
	transition-delay: 2500ms;
}
.pages #visual h1 span:nth-of-type(7) {
	transition-delay: 2600ms;
}
.pages #visual h1 span:nth-of-type(8) {
	transition-delay: 2700ms;
}
.pages #visual h1 span:nth-of-type(9) {
	transition-delay: 2800ms;
}

/*
* motion part active
*/
.part .elem-00 span {
	display: inline-block;
	transition: all ease 600ms;
	transform: rotateY( 90deg );
	opacity: 1;
}
.part.active .elem-00 span {
	transform: rotateY( 0 );
	opacity: 1;
}
.part .elem-00 span:nth-of-type(1) {
	transition-delay: 100ms;
}
.part .elem-00 span:nth-of-type(2) {
	transition-delay: 200ms;
}
.part .elem-00 span:nth-of-type(3) {
	transition-delay: 300ms;
}
.part .elem-00 span:nth-of-type(4) {
	transition-delay: 400ms;
}
.part .elem-00 span:nth-of-type(5) {
	transition-delay: 500ms;
}
.part .elem-00 span:nth-of-type(6) {
	transition-delay: 600ms;
}
.part .elem-00 span:nth-of-type(7) {
	transition-delay: 700ms;
}
.part .elem-00 span:nth-of-type(8) {
	transition-delay: 800ms;
}
.part .elem-00 span:nth-of-type(9) {
	transition-delay: 900ms;
}
.part .elem-00 span:nth-of-type(10) {
	transition-delay: 1000ms;
}
.part .elem-00 span:nth-of-type(11) {
	transition-delay: 1100ms;
}
.part .elem-00 span:nth-of-type(12) {
	transition-delay: 1200ms;
}
.part .elem-00 span:nth-of-type(13) {
	transition-delay: 1300ms;
}
.part .elem-00 span:nth-of-type(14) {
	transition-delay: 1400ms;
}
.part .elem-00 span:nth-of-type(15) {
	transition-delay: 1500ms;
}

.part .elem-01 {
	transition: all ease 450ms;
	transition-delay: 400ms;
	opacity: 0;
}
.part.active .elem-01 {
	transform: translateY( 0 );
	opacity: 1;
}

/*
* particle-js
*/
#particles-js {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1;
	overflow: hidden;
}
.android #particles-js {
	display: none;
}
#particles-js canvas {
	width: 100%;
	height: 100%;
	display: block;
}

/*
* icon-scroll
*/
#icon-scroll {
	width: 66px;
	position: absolute;
	bottom: 80px;
	left: 50%;
	transform: translateX( -50% );
	-webkit-transform: translateX( -50% );
	-moz-transform: translateX( -50% );
	-ms-transform: translateX( -50% );
	text-align: center;
}
#icon-scroll #bars {
	display: inline-block;
	width: 14%;
	height: 0;
	position: absolute;
	top: 46px;
	left: 43%;
}
#icon-scroll #bars span {
	display: block;
	width: 2px;
	height: 30px;
	background: #444;
	position: absolute;
	top: 0;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
	animation: bars-dancing ease 1600ms infinite;
}
@keyframes bars-dancing {
	0% { height: 0; }
	25% { height: 30px; }
	50% { height: 0; }
	100% { height: 0; }
}
#icon-scroll #bars span:nth-of-type(1) {
	left: -2px;
}
#icon-scroll #bars span:nth-of-type(2) {
	left: 50%;
	transform: translateX( -50% );
	-webkit-transform: translateX( -50% );
	-moz-transform: translateX( -50% );
	-ms-transform: translateX( -50% );
	animation-delay: 200ms;
}
#icon-scroll #bars span:nth-of-type(3) {
	right: -2px;
	animation-delay: 400ms;
}

/*=============================================================
02. header
=============================================================*/
/*
* icon-nav
*/
#icon-nav {
	width: 80px;
	height: 80px;
	position: fixed;
	top: 0;
	right: 18px;
	z-index: 4;
	cursor: pointer;
}
.msie #icon-nav {
	background: rgba( 255,255,255,0.001 );
}
#icon-nav::before,
#icon-nav::after {
	display: block;
	content: "";
	width: 30px;
	height: 2px;
	background: #444;
	position: absolute;
	left: 25px;
	transition: all ease 300ms;
}
#icon-nav:hover::before,
#icon-nav:hover::after {
	transform: rotate( 180deg );
}
#icon-nav::before {
	top: 38px;
}
#icon-nav::after {
	top: 47px;
}

/*
* global nav
*/
#main-header {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
#main-header > h1 {
	width: 300px;
	margin: 22px 0 0 35px;
}
#main-header #wrapper-nav {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 3;
	overflow: hidden;
	visibility: hidden;
}
#main-header #wrapper-nav #layer-close {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	background: rgba( 0,0,0,0.7 );
	opacity: 0;
	visibility: hidden;
	transition: all ease 500ms;
}
.android #main-header #wrapper-nav #layer-close {
	background: rgba( 0,0,0,0.95 );
}
#main-header .central {
	width: 100%;
	z-index: 1;
}
#main-header nav#main-nav {
	padding-top: 36px;
	padding-bottom: 20px;
	margin-bottom: 30px;
	position: relative;
}
#main-header nav#main-nav::after {
	display: block;
	content: "";
	width: 0;
	height: 1px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 50%;
	transition: all ease 500ms;
}
#main-header nav#main-nav ul {
	position: relative;
	padding-left: 60px;
	top: 30px;
	transition: all ease 400ms;
	transition-delay: 300ms;
	opacity: 0;
}
#main-header nav#main-nav ul li {
	display: inline-block;
}
#main-header nav#main-nav ul li a {
	display: inline-block;
	padding: 10px 20px;
	font-size: 34px;
	color: #fff;
	line-height: 0.7;
	text-decoration: none;
	transition: all ease 170ms;
	overflow: hidden;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
}
#main-header nav#main-nav ul li a:hover {
	transform: scale( 1.1 );
}
#main-header nav#main-nav ul li a span {
	font-size: 12px;
}
#main-header #wrapper-nav section {
	padding-left: 10px;
	position: relative;
	top: -30px;
	transition: all ease 400ms;
	transition-delay: 300ms;
	opacity: 0;
}
#main-header #wrapper-nav section p:last-of-type {
	margin-bottom: 14px;
}
#main-header #wrapper-nav section h1,
#main-header #wrapper-nav section p {
    color: #fff;
}
#main-header #wrapper-nav section h1 {
	font-size: 20px;
	font-weight: normal;
}
#main-header aside nav ul {
	text-align: center;
}
#main-header aside nav ul li {
	display: inline-block;
	width: 36px;
	padding: 0 7px;
}
#main-header aside nav ul li img {
	display: block;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

/*
* nav-open
*/
#main-header > h1,
#visual .central,
#visual #icon-scroll,
#contents,
#main-footer,
#page-top {
	transition: all ease 700ms;
	transition-delay: 100ms;
	opacity: 1;
}
.nav-open #main-header > h1,
.nav-open #visual .central,
.nav-open #visual #icon-scroll,
.nav-open.pages #visual::before,
.nav-open #contents,
.nav-open #main-footer,
.nav-open #page-top {
	filter: blur( 8px );
	-webkit-filter: blur( 8px );
	-moz-filter: blur( 8px );
	-ms-filter: blur( 8px );
}
.nav-open #particles-js {
	filter: blur( 4px );
	-webkit-filter: blur( 4px );
	-moz-filter: blur( 4px );
	-ms-filter: blur( 4px );
}
.msie.nav-open #main-header > h1,
.msie.nav-open #visual .central,
.msie.nav-open #visual #icon-scroll,
.msie.nav-open #contents,
.msie.nav-open #main-footer,
.msie.nav-open #page-top {
	opacity: 0;
}
.nav-open #main-header #wrapper-nav {
	visibility: visible;
}
.nav-open #main-header #wrapper-nav #layer-close {
	opacity: 1;
	visibility: visible;
}
.nav-open #main-header nav#main-nav::after {
	width: 100%;
	left: 0;
}
.nav-open #main-header nav#main-nav ul,
.nav-open #main-header #wrapper-nav section {
	top: 0;
	opacity: 1;
}
.nav-open #icon-nav::before,
.nav-open #icon-nav::after {
	top: 45px;
    background: #fff;
}
.nav-open #icon-nav::before {
	transform: rotate( 45deg );
}
.nav-open #icon-nav::after {
	transform: rotate( -45deg );
}

/*=============================================================
03. footer
=============================================================*/
#main-footer {
	position: relative;
	z-index: 1;
}
#main-footer p {
	height: 85px;
	padding-bottom: 5px;
	background: rgba( 255,255,255,0.2 );
	line-height: 85px;
	font-size: 12px;
	color: #444;
}

/*
* page top
*/
#page-top {
	width: 95px;
	height: 95px;
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 2;
	overflow: hidden;
	visibility: hidden;
	cursor: pointer;
}
#page-top.active {
	visibility: visible;
}
#page-top img {
	transition: all ease 600ms;
	display: block;
	overflow: hidden;
	padding-top: 100%;
}
#page-top.active img {
	padding-top: 0;
}

/*=============================================================
04. home
=============================================================*/
#home #main-header > h1 {
	display: none;
}
#home #visual .central {
	width: 50%;
	top: 50%;
}
#home #visual .central h1,
#home #visual .central p {
	position: relative;
	opacity: 0;
	transition: all ease 700ms;
	transition-delay: 1000ms;
}
#home #visual .central h1 {
	margin-bottom: 20px;
	top: -40px;
}
#home #visual .central p {
	top: 40px;
}
#home.loaded #visual .central h1,
#home.loaded #visual .central p {
	opacity: 1;
	top: 0;
}
#home #particles-js {
	transition: all ease 1500ms;
	transition-delay: 500ms;
	transform: scale( 0 );
	opacity: 0;
}
#home.loaded #particles-js {
	transform: scale( 1 );
	opacity: 1;
}
#home #part-01 .inner > h1 {
	margin-bottom: 30px;
}
#home #part-02 .inner:nth-of-type(1) {
	margin-bottom: 45px;
}
#home #part-02 ul#service {
	position: relative;
}
#home #part-02 ul#service::before,
#home #part-02 ul#service::after,
#home #part-02 ul#service > li::before,
#home #part-02 ul#service > li:last-of-type::after,
#home #part-02 ul#service > li section header::after {
	display: block;
	content: "";
	background: #444;
	position: absolute;
	transition: all ease 600ms;
}
#home.msie #part-02 ul#service > li::before,
#home.msie #part-02 ul#service > li:last-of-type::after {
	display: none;
}
#home #part-02 ul#service::before,
#home #part-02 ul#service::after {
	width: 0;
	height: 1px;
	transition-delay: 700ms;
}
#home #part-02 ul#service::before {
	top: 0;
	left: 0;
}
#home #part-02 ul#service::after {
	bottom: 0;
	right: 0;
}
#home #part-02 .active ul#service::before,
#home #part-02 .active ul#service::after {
	width: 100%;
}
#home #part-02 ul#service > li::before,
#home #part-02 ul#service > li:last-of-type::after {
	width: 1px;
	height: 0;
	transition-delay: 1200ms;
}
#home #part-02 .active ul#service > li::before,
#home #part-02 .active ul#service > li:last-of-type::after {
	height: 100%;
}
#home #part-02 ul#service > li::before {
	left: 0;
}
#home #part-02 ul#service > li:nth-of-type(odd)::before {
	top: 0;
}
#home #part-02 ul#service > li:nth-of-type(even)::before {
	bottom: 0;
}
#home #part-02 ul#service > li:last-of-type::after {
	right: 0;
	top: 0;
}
#home #part-02 ul#service > li {
	width: 25%;
	display: table-cell;
	position: relative;
}
#home #part-02 ul#service > li section header {
	padding: 30px 0;
	position: relative;
}
#home #part-02 ul#service > li section header::after {
	width: 0;
	height: 1px;
	bottom: 0;
	left: 0;
	transition-delay: 1600ms;
}
#home #part-02 .active ul#service > li section header::after {
	width: 100%;
}
#home #part-02 ul#service > li section h1,
#home #part-02 ul#service > li section p,
#home #part-02 ul#service > li section ul {
	transition: all ease 500ms;
	transition-delay: 1800ms;
	transform: translateX( -25px );
	opacity: 0;
}
#home #part-02 .active ul#service > li section h1,
#home #part-02 .active ul#service > li section p,
#home #part-02 .active ul#service > li section ul {
	transform: translateX( 0 );
	opacity: 1;
}
#home #part-02 ul#service > li section h1 {
	font-size: 22px;
	line-height: 1;
	margin-bottom: 10px;
}
#home #part-02 ul#service > li section p {
	margin-bottom: 0;
	line-height: 1;
	color: #444;
	font-size: 13px;
}
#home #part-02 ul#service > li section ul {
	padding: 30px 30px 30px 35px; 
}
#home #part-02 ul#service > li section ul li {
	margin-left: 0.5em;
	text-indent: -0.5em;
	text-align: left;
	font-size: 14px;
}
#home #part-02 ul#service > li section ul li::before {
	display: inline-block;
	margin-right: 0.5em;
	content: "-"
}
#home #part-03 dl dt {
	font-size: 11px;
}
#home #part-03 dl dd {
	margin-bottom: 15px;
}

/*=============================================================
05. makers
=============================================================*/
#makers #part-01 .inner h1 {
    margin-bottom: 35px
}
#makers .colomn-05 {
    margin-bottom: 35px;
}
#makers .colomn-05 li {
    display: block;
    width: 20%;
    padding: 0 10px;
    float: left;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    transition: all ease 800ms;
    transform: scale( 0.5 );
    opacity: 0;
    overflow: hidden;
}
#makers .colomn-05 li:nth-of-type( 1 ) {
    transition-delay: 600ms;
}
#makers .colomn-05 li:nth-of-type( 2 ) {
    transition-delay: 700ms;
}
#makers .colomn-05 li:nth-of-type( 3 ) {
    transition-delay: 800ms;
}
#makers .colomn-05 li:nth-of-type( 4 ) {
    transition-delay: 900ms;
}
#makers .colomn-05 li:nth-of-type( 5 ) {
    transition-delay: 1000ms;
}
#makers .active .colomn-05 li {
    transform: scale( 1 );
    opacity: 1;
}
#makers .colomn-05 a {
    display: block;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: 1px;
    text-decoration: none;
    color: #000;
}
#makers .colomn-05 a img {
    margin-bottom: 7px;
}

/*=============================================================
06. company
=============================================================*/
#company #part-01 dl {
	width: 50%;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	float: left;
	text-align: left;
	transition: all ease 400ms;
	transition-delay: 600ms;
	position: relative;
	opacity: 0;
}
#company #part-01 dl:nth-of-type(1) {
	padding-right: 25px;
	left: 30px;
}
#company #part-01 dl:nth-of-type(2) {
	padding-left: 25px;
	left: -30px;
}
#company #part-01 .active dl {
	left: 0;
	opacity: 1;
}

#company #part-01 dl dt {
	font-size: 24px;
}
#company #part-01 dl dd {
	padding-bottom: 25px;
	margin-bottom: 20px;
	position: relative;
}
#company #part-01 dl dd::after {
	content: "";
	display: block;
	width: 0;
	height: 1px;
	background: #444;
	position: absolute;
	left: 0;
	bottom: 0;
	transition: all ease 600ms;
	transition-delay: 700ms;
}
#company #part-01 .active dl dd::after {
	width: 100%;
}
#company #part-02 #map-wrapper #map {
	width: 100%;
	height: 500px;
	opacity: 0.75;
}

/*=============================================================
07. contact
=============================================================*/
#contact #part-02 .inner {
	width: 100%;
}
#contact #part-02 dl {
	display: inline-block;
	padding: 0 30px;
	text-align: left;
	position: relative;
}
#contact #part-02 dl::after {
	display: block;
	content: "";
	width: 1px;
	height: 0;
	background: #444;
	position: absolute;
	top: 0;
	left: 0;
	transition: height ease 320ms;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
}
#contact #part-02 dl:nth-of-type(1)::after {
	display: none;
}
#contact #part-02 dl:nth-of-type(2)::after {
	transition-delay: 800ms;
}
#contact #part-02 dl:nth-of-type(3)::after {
	transition-delay: 900ms;
}
#contact #part-02 dl:nth-of-type(4)::after {
	transition-delay: 1000ms;
}
#contact #part-02 .active dl::after {
	height: 100%;
}

#contact #part-03 p {
	margin-bottom: 30px;
}
#contact #part-03 form table {
	width: 100%;
	margin: 0 auto;
	text-align: left;
	border-collapse: separate;
	border-spacing: 20px 35px;
}
#contact #part-03 form table th {
	width: 30%;
	padding: 0 20px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	font-weight: normal;
	font-size: 18px;
	line-height: 1;
	vertical-align: middle;
	position: relative;
}
#contact #part-03 form table td {
	width: 70%;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
#contact #part-03 form table td div {
	font-size: 12px;
	color: #843333;
}
#contact #part-03 form table th::before,
#contact #part-03 form table th::after {
	display: block;
	content: "";
	width: 0;
	height: 1px;
	background: #444;
	position: absolute;
	left: 0;
	transition: all ease 500ms;
}
#contact #part-03 form table tr:nth-of-type(1) th::before {
	transition-delay: 700ms;
}
#contact #part-03 form table tr:nth-of-type(1) th::after {
	transition-delay: 800ms;
}
#contact #part-03 form table tr:nth-of-type(2) th::before {
	transition-delay: 900ms;
}
#contact #part-03 form table tr:nth-of-type(2) th::after {
	transition-delay: 1000ms;
}
#contact #part-03 form table tr:nth-of-type(3) th::before {
	transition-delay: 1100ms;
}
#contact #part-03 form table tr:nth-of-type(3) th::after {
	transition-delay: 1200ms;
}
#contact #part-03 form table tr:nth-of-type(4) th::before {
	transition-delay: 1300ms;
}
#contact #part-03 form table tr:nth-of-type(4) th::after {
	transition-delay: 1400ms;
}
#contact #part-03 form table tr:nth-of-type(5) th::before {
	transition-delay: 1500ms;
}
#contact #part-03 form table tr:nth-of-type(5) th::after {
	transition-delay: 1600ms;
}

#contact #part-03 .active form table th::before,
#contact #part-03 .active form table th::after {
	width: 100%;
}
#contact #part-03 form table th::before {
	top: 0;
}
#contact #part-03 form table th::after {
	bottom: 0;
}
#contact #part-03 form table th span {
	font-size: 11px;
}
#contact #part-03 form table input,
#contact #part-03 form table textarea {
	width: 100%;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	padding: 28px;
	margin-bottom: 0;
	border: none;
	background: rgba( 255,255,255,0.55 );
	font-size: 17px;
	color: #333;
	outline: none;
	transition: all ease 400ms;
}
#contact #part-03 form table textarea {
	display: block;
	resize: none;
}
#contact #part-03 form table input:focus,
#contact #part-03 form table textarea:focus {
	background: rgba( 255,255,255,1 );
	color: #333;
}
#contact #part-03 form .btns .btn-01:nth-of-type(1) {
	margin-right: 10px;
}

/*=============================================================
08. thanks
=============================================================*/
#thanks #visual {
    background: rgba( 0,0,0,0.1 );
}
#thanks #visual::before {
	display: none;
}
#thanks #visual .central {
	top: 45%;
}
#thanks .elem-set {
	opacity: 0;
	visibility: hidden;
	transition: all ease 500ms;
	transition-delay: 2200ms;
	position: relative;
	top: 30px;
}
#thanks.loaded .elem-set {
	top: 0;
	opacity: 1;
	visibility: visible;
}
#thanks.pages #visual h1 {
	line-height: 1;
	margin-bottom: 25px;
}
#thanks.pages #visual h1 span:nth-of-type(1) {
	transition-delay: 1000ms;
}
#thanks.pages #visual h1 span:nth-of-type(2) {
	transition-delay: 1100ms;
}
#thanks.pages #visual h1 span:nth-of-type(3) {
	transition-delay: 1200ms;
}
#thanks.pages #visual h1 span:nth-of-type(4) {
	transition-delay: 1300ms;
}
#thanks.pages #visual h1 span:nth-of-type(5) {
	transition-delay: 1400ms;
}
#thanks.pages #visual h1 span:nth-of-type(6) {
	transition-delay: 1500ms;
}
#thanks.pages #visual h1 span:nth-of-type(7) {
	transition-delay: 1600ms;
}
#thanks.pages #visual h1 span:nth-of-type(8) {
	transition-delay: 1700ms;
}
#thanks.pages #visual h1 span:nth-of-type(9) {
	transition-delay: 1800ms;
}

#thanks #visual p {
	margin-bottom: 30px;
}
#thanks #main-footer {
	width: 100%;
	position: fixed;
	left: 0;
	bottom: 0;
}

/*=============================================================
09. media query
=============================================================*/
@media screen and (min-width:1700px) {
	#home #part-02 ul#service > li section ul li {
		font-size: 17px;
	}
}
@media screen and (min-width:1500px) {
	.pages #visual .central h1 {
		font-size: 80px;
	}
	.pages #visual .central h1 span {
		padding: 0 6px;
	}
	#home #visual .central h1 {
		margin-bottom: 20px;
	}
	#home #visual .central p {
		font-size: 22px;
	}
}
@media screen and (max-width:1280px) {
    #main-header nav#main-nav ul {
        padding-left: 0;
    }
}
@media screen and (max-width:1200px) {
	#home #visual .central {
		width: 55%;
	}
	#particles-js::after {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
	}
}
@media screen and (max-width:820px){
	.pc {
		display: none;
	}
	.sp {
		display: inline-block;
	}
	.news-part {
		margin-bottom: 0;
	}
	.news-part li {
		width: 100%;
		margin-bottom: 30px;
	}
	#contents {
		padding-bottom: 1px;
	}
	.inner h1 {
		font-size: 28px;
		letter-spacing: 3px;
	}
	.inner p,
	.inner dl dd {
		font-size: 15px;
		letter-spacing: 1px;
	}
	.btn-01 {
		width: 100%;
	}
	
	#icon-nav {
		background: #fff;
		right: 0;
	}
	#icon-nav::before,
	#icon-nav::after {
		height: 1px;
		background: #000;
	}
	#icon-nav::before {
		top: 35px;
	}
	#icon-nav::after {
		top: 45px;
	}
	.nav-open #icon-nav::before,
	.nav-open #icon-nav::after {
		top: 40px;
        background: #444;
	}
	#main-header > h1 {
		width: calc( 100% - 86px );
		height: 73px;
		border-right: solid 1px #fff;
		border-bottom: solid 1px #fff;
		margin: 6px 0 0 6px;
		line-height: 80px;
		text-align: center;
		overflow: hidden;
		position: relative;
	}
	#main-header > h1 img {
		width: 84%;
		position: absolute;
		top: 50%;
		left: 50%;
		-moz-transform: translateX( -50% ) translateY( -50% );
		-ms-transform: translateX( -50% ) translateY( -50% );
		-webkit-transform: translateX( -50% ) translateY( -50% );
		transform: translateX( -50% ) translateY( -50% );
	}
	#main-header nav#main-nav {
		padding-top: 0;
		padding-bottom: 15px;
		margin-bottom: 20px;
	}
	#main-header nav#main-nav ul {
		padding-left: 0;
	}
	#main-header nav#main-nav ul li {
		width: 100%;
	}
	#main-header nav#main-nav ul li a {
		padding: 3px 0;
		margin-bottom: 11px;
		font-size: 24px;
		line-height: 0.9;
        transition: none;
	}
    #main-header nav#main-nav ul li a:hover {
        transform: none;
    }
	#main-header #wrapper-nav section {
		padding: 0;
	}
	#main-header #wrapper-nav section h1 {
		font-size: 18px;
	}
	#main-header #wrapper-nav section p {
		font-size: 13px;
	}
	#main-header #wrapper-nav section p:last-of-type {
		margin-bottom: 10px;
	}
	#main-header aside nav ul li {
		width: 26px;
	}
	#main-footer p {
		font-size: 12px;
		letter-spacing: 2px;
	}
	#page-top {
		width: 80px;
		height: 80px;
	}
	
	.pages #visual .central {
		width: 100%;
	}
	.pages #visual h1 {
		font-size: 36px;
	}
	.pages #visual h1 span {
		padding: 0 1px;
	}
	
	#home #visual .central {
		width: 60%;
	}
	#visual .central p {
		font-size: 14px;
	}
	
	#home #part-01 .inner {
		margin-bottom: 0px;
	}
	#home #part-02 ul#service::before,
	#home #part-02 ul#service::after {
		display: none;
	}
	#home #part-02 ul#service > li {
		display: block;
		width: 100%;
		margin-bottom: 30px;
	}
	#home #part-02 ul#service > li::before {
		top: 0;
		bottom: auto;
	}
	#home #part-02 ul#service > li section {
		position: relative;
	}
	#home #part-02 ul#service > li::after,
	#home #part-02 ul#service > li section::before,
	#home #part-02 ul#service > li section::after {
		display: block;
		content: "";
		background: #444;
		position: absolute;
		transition: all ease 600ms;
	}
	#home #part-02 ul#service > li::after {
		width: 1px;
		height: 0;
		top: 0;
		right: 0;
		transition-delay: 1200ms;
	}
	#home #part-02 .active ul#service > li::after {
		height: 100%;
	}
	#home #part-02 ul#service > li section::before,
	#home #part-02 ul#service > li section::after {
		width: 0;
		height: 1px;
		left: 0;
		transition-delay: 1600ms;
	}
	#home #part-02 .active ul#service > li section::before,
	#home #part-02 .active ul#service > li section::after {
		width: 100%;
	}

    #makers .colomn-05 li {
        padding: 3px;
    }

    #makers .colomn-05 li a {
        font-size: 11px;
    }
	
	#company #part-01 dl {
		width: 100%;
		float: none;
	}
	#company #part-01 dl:nth-of-type(1),
	#company #part-01 dl:nth-of-type(2) {
		padding-left: 0;
		padding-right: 0;
		left: 0;
	}
	#company #part-01 dl:nth-of-type(1) {
		padding-top: 20px;
	}
	#company #part-01 dl:nth-of-type(1)::before {
		content: "";
		display: block;
		width: 0;
		height: 1px;
		background: #444; 
		position: absolute;
		left: 0;
		top: 0;
		transition: all ease 600ms;
		transition-delay: 700ms;
	}
	#company #part-01 .active dl:nth-of-type(1)::before {
		width: 100%;
	}
	#company #part-01 dl:last-of-type dd:last-of-type {
		margin-bottom: 0;
	}
	#company #part-01 dl dt {
		font-size: 20px;
	}
	#company #part-02 #map-wrapper #map {
		height: 380px;
	}
	
	#contact #part-01 .inner h1 {
		line-height: 1.6;
	}
	#contact #part-02 dl {
		width: 100%;
		padding: 0;
		margin-bottom: 25px;
		text-align: center;
	}
	#contact #part-02 dl::after {
		display: none;
	}
	#contact #part-02 dl:last-of-type {
		margin-bottom: 0;
	}
	#contact #part-02 dl dt {
		font-size: 20px;
	}
	#contact #part-02 dl dd {
		font-size: 17px;
	}
	#contact #part-03 p {
		margin-bottom: 40px;
	}
	#contact #part-03 form table {
		border-spacing: 0;
	}
	#contact #part-03 form table tr {
		display: block;
		margin-bottom: 35px;
	}
	#contact #part-03 form table th {
		display: inline-block;
		width: 100%;
		padding: 30px 0 0;
		text-align: center;
	}
	#contact #part-03 form table th::after {
		display: none;
	}
	#contact #part-03 form table td {
		line-height: 1.2;
	}
	#contact #part-03 form table td div {
		display: inline-block;
		width: 100%;
		padding: 8px 0 10px;
		text-align: center;
		font-size: 11px;
	}
	#contact #part-03 form table input, #contact #part-03 form table textarea {
		padding: 15px;
	}
	#contact #part-03 form table tr:nth-of-type(1) td input,
	#contact #part-03 form table tr:nth-of-type(2) td input,
	#contact #part-03 form table tr:nth-of-type(3) td input,
	#contact #part-03 form table tr:nth-of-type(4) td input {
		text-align: center;
	}
	#contact #part-03 form .btns .btn-01:nth-of-type(1) {
		margin: 0 0 10px 0;
	}
	
	#thanks #visual .central {
		width: 80%;
		top: 47%;
	}
	#thanks.pages #visual h1 {
		font-size: 30px;
	}
	#thanks #visual p {
		margin-bottom: 30px;
	}
}

@media screen and (max-width:600px){

    #main-header nav#main-nav ul li a {
        margin-bottom: 5px;
    }

	#home #visual .central {
		width: 80%;
	}

}

@media screen and (max-width:500px){
    #makers .colomn-05 {
        margin-bottom: 0;
    }
    #makers .colomn-05 li {
        width: 100%;
        padding: 0;
        margin-bottom: 30px;
    }
    #makers .colomn-05 li a {
        font-size: 16px;
    }
}

@media screen and (max-width:320px){
	#main-footer p {
		letter-spacing: 1px;
	}
}

/*=============================================================
10. helper
=============================================================*/
.clr {
	clear: both;
}

/*
* clear fix
*/
.cf:before,
.cf:after {
	content:"";
	display: block;
	height: 0;
	overflow: hidden;
}
.cf:after {
	clear: both;
}
