@charset "UTF-8";
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section, menu,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background-color: transparent;
}
body {
	line-height: 1;
	font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
	background-color: #0d0d0d;
	color: #fff;
	font-weight: 100;
}
ul {
	list-style: none;
}
a {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
img {
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}
button,
button[disabled]:hover,
button[disabled]:focus,
input[type="button"],
input[type="button"][disabled]:hover,
input[type="button"][disabled]:focus,
input[type="reset"],
input[type="reset"][disabled]:hover,
input[type="reset"][disabled]:focus,
input[type="submit"],
input[type="submit"][disabled]:hover,
input[type="submit"][disabled]:focus {
	padding: 0;
}
button:hover,
button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus {
	background: transparent;
}
#main article {
	padding-bottom: 140px;
}
@media screen and (max-width: 768px){
	#main article {
		padding-bottom: 110px;
	}
}

/*ページをフェードイン*/
body {
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

/*スマホの時のみ改行を非表示*/
.pc_br {
	display: block;
}
.sp_br {
	display: none;
}
@media screen and (max-width: 768px){
	.pc_br {
		display: none;
	}
	.sp_br {
		display: block;
	}
}

/* ------------------------
	#loading
------------------------ */
body.load #loading {
	opacity: 0;
	visibility: hidden;
	z-index: 0;
}
#loading {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 9999;
	background-image: url(../images/loading.gif);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 60px;
	opacity: 0.5;
	visibility: visible;
	z-index: 5000;
	transition: visibility 800ms cubic-bezier(0.25, 0.1, 0.25, 1) 100ms, opacity 800ms cubic-bezier(0.25, 0.1, 0.25, 1) 100ms, z-index 800ms cubic-bezier(0.25, 0.1, 0.25, 1) 100ms;
	-webkit-transition: visibility 800ms cubic-bezier(0.25, 0.1, 0.25, 1) 100ms, opacity 800ms cubic-bezier(0.25, 0.1, 0.25, 1) 100ms, z-index 800ms cubic-bezier(0.25, 0.1, 0.25, 1) 100ms;
	-moz-transition: visibility 800ms cubic-bezier(0.25, 0.1, 0.25, 1) 100ms, opacity 800ms cubic-bezier(0.25, 0.1, 0.25, 1) 100ms, z-index 800ms cubic-bezier(0.25, 0.1, 0.25, 1) 100ms;
	-o-transition: visibility 800ms cubic-bezier(0.25, 0.1, 0.25, 1) 100ms, opacity 800ms cubic-bezier(0.25, 0.1, 0.25, 1) 100ms, z-index 800ms cubic-bezier(0.25, 0.1, 0.25, 1) 100ms;
	-ms-transition: visibility 800ms cubic-bezier(0.25, 0.1, 0.25, 1) 100ms, opacity 800ms cubic-bezier(0.25, 0.1, 0.25, 1) 100ms, z-index 800ms cubic-bezier(0.25, 0.1, 0.25, 1) 100ms;
}
@media only screen and (max-width: 1080px) {
	#loading {
		background-size: 50px;
	}
}
@media only screen and (max-width: 680px) {
	#loading {
		background-size: 46px;
	}
}

/* ------------------------
	ヘッダー
------------------------ */
header {
	display: block;
	position: fixed;
	width: 100%;
	z-index: 2;
}
header .inner {
	height: 120px;
	display: flex;
	align-items: center;
	padding: 0 68px 0 5%;
}
header .inner .logo {
	width: 170px;
	height: 23px;
	line-height: 1;
}
header .inner .logo a {
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease;
}
header .inner .logo a:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}
.wrap {
	padding-top: 52px;
}
@media screen and (max-width: 768px){
	header .inner {
		height: 54px;
	}
	header .inner .logo {
		width: 140px;
		height: auto;
	}
}

/*メニュー*/
button {
	border: none;
	background: none;
	outline:none;
}
.menu,
.menu span {
	display: inline-block;
	-webkit-transition:all .4s;
	transition: all .4s;
	box-sizing: border-box;
}
.menu {
	position: fixed;
	top: 46px;
	right: 5%;
	width: 26px;
	height: 21px;
	z-index: 10;
	cursor: pointer;
}
.menu span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	z-index: 10;
	background-color: #fff;
}
.menu span:nth-of-type(1) {
	top: 0px;
}
.menu span:nth-of-type(2) {
	top: 10px;
}
.menu span:nth-of-type(3) {
	bottom: 0px;
}
.menu.active span:nth-of-type(1) {
	-webkit-transform: translateY(10px) rotate(45deg);
	transform: translateY(10px) rotate(45deg);
}
.menu.active span:nth-of-type(2) {
	opacity: 0;
}
.menu.active span:nth-of-type(3) {
	-webkit-transform: translateY(-10px) rotate(-45deg);
	transform: translateY(-10px) rotate(-45deg);
}
#nav {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 3;
	width: 100%;
	height: 100vh;
	opacity: 0;
	background-color: #0d0d0d;
	transition: all 0.3s ease-in-out;
	visibility: hidden;
}
#nav.active {
	right: 0;
	opacity: 1;
	-moz-transform: translateX(0);
	-webkit-transform: translateX(0);
	transform: translateX(0);
	visibility: visible;
}
#nav a {
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease;
}
#nav a:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}
#nav ul {
	margin-top: 120px;
}
#nav ul li ~ li {
	padding-top: 20px;
}
#nav ul li a {
	display: block;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	color: #fff;
	text-decoration: none;
}
#nav ul li a span {
	display: block;
	font-size: 12px;
	margin: 2px 0 8px;
}
#nav .logo-nav {
	max-width: 170px;
	margin: 0 auto;
	text-align: center;
	padding: 70px 0 100px;
}
@media screen and (max-width: 768px){
	.menu {
		top: 15px;
	}
	#nav ul {
		margin-top: 54px;
	}
}

/* ------------------------
	トップアニメーション
------------------------ */
body {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
body.load #wrapAll {
	opacity: 1;
}
body #wrapAll {
	overflow: hidden;
	opacity: 0;
	position: relative;
	z-index: 1;
	transition: opacity 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 400ms;
	-webkit-transition: opacity 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 400ms;
	-moz-transition: opacity 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 400ms;
	-o-transition: opacity 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 400ms;
	-ms-transition: opacity 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 400ms;
}
div.mv h1.svg img {
	opacity: 0 !important;
	-webkit-transition: opacity 800ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1000ms !important;
	-moz-transition: opacity 800ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1000ms !important;
	-o-transition: opacity 800ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1000ms !important;
	-ms-transition: opacity 800ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1000ms !important;
	transition: opacity 800ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1000ms !important;
}
div.mv h1.svg span.wrap:after {
	height: 0 !important;
	transition: height 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1600ms !important;
	-webkit-transition: height 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1600ms !important;
	-moz-transition: height 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1600ms !important;
	-o-transition: height 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1600ms !important;
	-ms-transition: height 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1600ms !important;
}
div.mv h1.svg span.wrap span {
	opacity: 0 !important;
	-webkit-transition: opacity 800ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 2400ms !important;
	-moz-transition: opacity 800ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 2400ms !important;
	-o-transition: opacity 800ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 2400ms !important;
	-ms-transition: opacity 800ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 2400ms !important;
	transition: opacity 800ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 2400ms !important;
}
body.page-index.load div#mv div.mv_wrap p.lead_en span {
	opacity: 1 !important;
	transform: translate3d(0px, 0px, 0px) !important;
	-webkit-transform: translate3d(0px, 0px, 0px) !important;
	-moz-transform: translate3d(0px, 0px, 0px) !important;
	-ms-transform: translate3d(0px, 0px, 0px) !important;
	-o-transform: translate3d(0px, 0px, 0px) !important;
}
@media only screen and (max-width: 680px) {
	body.page-index.load div#mv div.mv_wrap p.lead_en span:after {
		height: 18px !important;
	}
}
body.page-index.load div#mv div.mv_wrap p.lead span {
	opacity: 1 !important;
	transform: translate3d(0px, 0px, 0px) !important;
	-webkit-transform: translate3d(0px, 0px, 0px) !important;
	-moz-transform: translate3d(0px, 0px, 0px) !important;
	-ms-transform: translate3d(0px, 0px, 0px) !important;
	-o-transform: translate3d(0px, 0px, 0px) !important;
}
body.page-index.load div#mv div.mv_wrap div#slide div.slide_wrap ul li img {
	filter: grayscale(0%) brightness(1) !important;
	-webkit-filter: grayscale(0%) brightness(1) !important;
	-moz-filter: grayscale(0%) brightness(1) !important;
	-o-filter: grayscale(0%) brightness(1) !important;
	-ms-filter: grayscale(0%) brightness(1) !important;
	opacity: 1;
}
body.page-index div#mv div.mv_wrap p.lead_en {
	display: block;
}
body.page-index div#mv div.mv_wrap p.lead_en span {
	opacity: 0;
	transition: transform 2000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms, opacity 2000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
	-webkit-transition: -webkit-transform 2000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms, opacity 2000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
	-moz-transition: -moz-transform 2000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms, opacity 2000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
	-o-transition: -o-transform 2000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms, opacity 2000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
	-ms-transition: -ms-transform 2000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms, opacity 2000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
	transform: translate3d(0px, 0px, 0px);
	-webkit-transform: translate3d(0px, 0px, 0px);
	-moz-transform: translate3d(0px, 0px, 0px);
	-ms-transform: translate3d(0px, 0px, 0px);
	-o-transform: translate3d(0px, 0px, 0px);
}
body.page-index div#mv div.mv_wrap p.lead_en span.ttl_01 {
	transition-delay: 1000ms;
	-webkit-transition-delay: 1000ms;
	-moz-transition-delay: 1000ms;
	-ms-transition-delay: 1000ms;
	-o-transition-delay: 1000ms;
}
@media only screen and (max-width: 680px) {
	body.page-index div#mv div.mv_wrap p.lead_en span.ttl_01 {
		transition-delay: 1600ms;
		-webkit-transition-delay: 1600ms;
		-moz-transition-delay: 1600ms;
		-ms-transition-delay: 1600ms;
		-o-transition-delay: 1600ms;
	}
}
body.page-index div#mv div.mv_wrap p.lead_en span.ttl_01:after {
	height: 0;
	transition: height 800ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
	-webkit-transition: height 800ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
	-moz-transition: height 800ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
	-o-transition: height 800ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
	-ms-transition: height 800ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
	transform: translate3d(0px, 0px, 0px);
	-webkit-transform: translate3d(0px, 0px, 0px);
	-moz-transform: translate3d(0px, 0px, 0px);
	-ms-transform: translate3d(0px, 0px, 0px);
	-o-transform: translate3d(0px, 0px, 0px);
	transition-delay: 1600ms;
	-webkit-transition-delay: 1600ms;
	-moz-transition-delay: 1600ms;
	-ms-transition-delay: 1600ms;
	-o-transition-delay: 1600ms;
}
body.page-index div#mv div.mv_wrap p.lead_en span.ttl_02 {
	transition-delay: 2600ms;
	-webkit-transition-delay: 2600ms;
	-moz-transition-delay: 2600ms;
	-ms-transition-delay: 2600ms;
	-o-transition-delay: 2600ms;
}
@media only screen and (max-width: 680px) {
	body.page-index div#mv div.mv_wrap p.lead_en span.ttl_02 {
		transition-delay: 1600ms;
		-webkit-transition-delay: 1600ms;
		-moz-transition-delay: 1600ms;
		-ms-transition-delay: 1600ms;
		-o-transition-delay: 1600ms;
	}
}
body.page-index div#mv div.mv_wrap p.lead span {
	opacity: 0;
	transition: transform 2000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms, opacity 2000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
	-webkit-transition: -webkit-transform 2000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms, opacity 2000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
	-moz-transition: -moz-transform 2000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms, opacity 2000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
	-o-transition: -o-transform 2000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms, opacity 2000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
	-ms-transition: -ms-transform 2000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms, opacity 2000ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
	transform: translate3d(0px, 0px, 0px);
	-webkit-transform: translate3d(0px, 0px, 0px);
	-moz-transform: translate3d(0px, 0px, 0px);
	-ms-transform: translate3d(0px, 0px, 0px);
	-o-transform: translate3d(0px, 0px, 0px);
}
body.page-index div#mv div.mv_wrap p.lead span.logo {
	opacity: 0.3;
	transition-delay: 6200ms;
	-webkit-transition-delay: 6200ms;
	-moz-transition-delay: 6200ms;
	-ms-transition-delay: 6200ms;
	-o-transition-delay: 6200ms;
}
body.page-index div#mv div.mv_wrap p.lead span.p1 {
	transition-delay: 2600ms;
	-webkit-transition-delay: 2600ms;
	-moz-transition-delay: 2600ms;
	-ms-transition-delay: 2600ms;
	-o-transition-delay: 2600ms;
}
@media only screen and (max-width: 680px) {
	body.page-index div#mv div.mv_wrap p.lead span.p1 {
		text-indent: 1em;
		transition-delay: 3200ms;
		-webkit-transition-delay: 3200ms;
		-moz-transition-delay: 3200ms;
		-ms-transition-delay: 3200ms;
		-o-transition-delay: 3200ms;
	}
}
body.page-index div#mv div.mv_wrap p.lead span.p3 {
	transition-delay: 6200ms;
	-webkit-transition-delay: 6200ms;
	-moz-transition-delay: 6200ms;
	-ms-transition-delay: 6200ms;
	-o-transition-delay: 6200ms;
}

/*div#mv*/
div#mv {
	width: 100%;
}
div#mv div.mv_wrap {
	background-color: transparent;
	position: relative;
}
div#mv div.mv_wrap div#slide div.slide_wrap ul li img {
	filter: grayscale(100%) brightness(0);
	-webkit-filter: grayscale(100%) brightness(0);
	-moz-filter: grayscale(100%) brightness(0);
	-o-filter: grayscale(100%) brightness(0);
	-ms-filter: grayscale(100%) brightness(0);
	opacity: 0;
	transform: translate3d(0px, 0px, 0px) !important;
	-webkit-transform: translate3d(0px, 0px, 0px) !important;
	-moz-transform: translate3d(0px, 0px, 0px) !important;
	-ms-transform: translate3d(0px, 0px, 0px) !important;
	-o-transform: translate3d(0px, 0px, 0px) !important;
	transform-origin: center center;
	-webkit-transform-origin: center center;
	-moz-transform-origin: center center;
	-o-transform-origin: center center;
	-ms-transform-origin: center center;
	transition: transform 6800ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms, filter 6800ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms, opacity 6800ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms;
	-webkit-transition: -webkit-transform 6800ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms, -webkit-filter 6800ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms, opacity 6800ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms;
	-moz-transition: -moz-transform 6800ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms, -moz-filter 6800ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms, opacity 6800ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms;
	-o-transition: -o-transform 6800ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms, -o-filter 6800ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms, opacity 6800ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms;
	-ms-transition: -ms-transform 6800ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms, -ms-filter 6800ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms, opacity 8000ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms;
}
div#mv div.mv_wrap div.text_box {
	position: absolute;
	z-index: 2000;
	top: 50%;
	left: 5%;
	display: block;
	margin-top: -60px;
}
@media only screen and (max-width: 680px) {
	div#mv div.mv_wrap div.text_box {
		margin-top: -114px;
		left: 0;
		width: 100%;
	}
}
div#mv div.mv_wrap p.logo {
	display: none;
}
@media only screen and (max-width: 680px) {
	div#mv div.mv_wrap p.logo {
		display: block;
		text-align: center;
		display: block;
		margin-bottom: 20px;
	}
	div#mv div.mv_wrap p.logo img {
		width: auto;
		height: 62px;
	}
}
div#mv div.mv_wrap p.lead_en {
	display: block;
	margin-bottom: 18px;
}
@media only screen and (max-width: 680px) {
	div#mv div.mv_wrap p.lead_en {
		text-align: center;
		margin-bottom: 8px;
	}
}
div#mv div.mv_wrap p.lead_en span {
	display: inline-block;
	font-family: Times New Roman, serif;
	letter-spacing: 0.1em;
	color: #fff;
	font-size: 26px;
	line-height: 1.2;
}
@media only screen and (max-width: 680px) {
	div#mv div.mv_wrap p.lead_en span {
		padding: 0 !important;
		margin: 0 !important;
		font-size: 14px;
		letter-spacing: 0.2em;
	}
}
div#mv div.mv_wrap p.lead_en span.ttl_01 {
	margin-right: 48px;
	position: relative;
	padding-right: 3px;
}
@media only screen and (max-width: 680px) {
	div#mv div.mv_wrap p.lead_en span.ttl_01 {
		padding-bottom: 0;
		margin-bottom: 0;
		padding-right: 0.5em !important;
	}
}
div#mv div.mv_wrap p.lead.lead_pc {
	display: block !important;
	padding-left: 3px;
}
@media only screen and (max-width: 680px) {
	div#mv div.mv_wrap p.lead.lead_pc {
		display: none !important;
	}
}
div#mv div.mv_wrap p.lead.lead_sp {
	display: none !important;
}
@media only screen and (max-width: 680px) {
	div#mv div.mv_wrap p.lead.lead_sp {
		width: 100%;
		left: 0;
		display: block !important;
	}
}
div#mv div.mv_wrap p.lead.lead_sp span {
	white-space: nowrap;
}
div#mv div.mv_wrap p.lead span {
	display: block;
	font-size: 15px;
	line-height: 2;
	color: #ffffff;
	font-weight: bold;
	letter-spacing: 0.4em;
}
@media only screen and (max-width: 1080px) {
	div#mv div.mv_wrap p.lead span {
		font-size: 14px;
		letter-spacing: 0.4em;
	}
}
@media only screen and (max-width: 680px) {
	div#mv div.mv_wrap p.lead span {
		text-align: center;
		width: 100%;
		font-size: 11px;
		letter-spacing: 0.4em;
		line-height: 2.2;
	}
	div#mv div.mv_wrap p.lead span.logo {
		margin-bottom: 10px;
	}
}

/*div#slide*/
div#slide {
	position: relative;
	width: 100% !important;
}
div#slide.mv_slide {
	height: 100% !important;
}
div#slide div.slide_wrap {
	width: 100%;
	height: 100%;
}
div#slide div.slide_wrap ul {
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
}
div#slide div.slide_wrap ul li {
	width: 100%;
	height: 100%;
	position: absolute;
	box-sizing: border-box;
	top: 0;
	left: 0;
	opacity: 0;
	z-index: 1000;
	transition: opacity 1600ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
	-webkit-transition: opacity 1600ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
	-moz-transition: opacity 1600ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
	-o-transition: opacity 1600ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
	-ms-transition: opacity 1600ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
}
div#slide div.slide_wrap ul li.on {
	opacity: 1;
}
div#slide div.slide_wrap ul a {
	width: 100%;
	height: 100%;
	position: relative;
}

@media only screen and (max-width: 680px) {
	div.text_box {
		padding-top: 8%;
		padding-bottom: 8%;
	}
}
div.text_box h2 {
	display: block;
	margin-bottom: 8px;
}
@media only screen and (max-width: 680px) {
	div.text_box h2 {
		margin-bottom: 4px;
	}
}
div.text_box h2 span {
	display: block;
	font-size: 18px;
	line-height: 1.7;
	font-weight: bold;
	letter-spacing: 0.1em;
}
@media only screen and (max-width: 1080px) {
	div.text_box h2 span {
		font-size: 16px;
	}
}
@media only screen and (max-width: 680px) {
	div.text_box h2 span {
		font-size: 13px;
		line-height: 2;
	}
}
div.text_box p.en span {
	display: block;
	font-family: "Roboto", sans-serif;
	letter-spacing: 0.1em;
	font-size: 10px;
	color: #B54434;
	font-weight: 500;
	line-height: 1.3;
}
@media only screen and (max-width: 680px) {
	div.text_box p.en span {
		font-size: 9px;
		line-height: 1.5;
	}
}
div.text_box p.text {
	margin-top: 34px;
	padding-top: 12px;
	position: relative;
}
@media only screen and (max-width: 1080px) {
	div.text_box p.text {
		padding-top: 12px;
		margin-top: 12px;
	}
}
@media only screen and (max-width: 680px) {
	div.text_box p.text {
		padding-top: 16px;
		margin-top: 16px;
	}
}
div.text_box p.text:before {
	content: "";
	width: 100%;
	height: 1px;
	background-color: #c5c5c5;
	top: 0;
	left: 0;
	position: absolute;
}
@media only screen and (max-width: 680px) {
	div.text_box p.text:before {
		background-color: #e6e6e6;
	}
}
div.text_box p.text span {
	font-size: 14px;
	line-height: 1.8;
	color: #000;
	letter-spacing: 0.08em;
}
@media only screen and (max-width: 1080px) {
	div.text_box p.text span {
		font-size: 13px;
		line-height: 1.8;
	}
}
@media only screen and (max-width: 900px) {
	div.text_box p.text span {
		font-size: 12px;
	}
}
@media only screen and (max-width: 680px) {
	div.text_box p.text span {
		font-size: 11px;
	}
}

/* ------------------------
	エフェクト
------------------------ */
.effect > .ef-fade02 {
	transition: .8s;
}
.ef-fade02 {
	opacity: 0;
	transform: translate(0, 60px);
	-webkit-transform: translate(0, 60px);
}
.fade02 {
	opacity: 1.0;
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
}
@media screen and (max-width: 768px){}

/* ------------------------
	拡大する画像
------------------------ */
.imgWrap {
	overflow: hidden;
	width: 326px;
	height: 217px;
}
.imgWrap img {
	width: 326px;
	display: block;
	transition: 0.5s;
}
.imgWrap img:hover {
	transform: scale(1.1, 1.1);
}
@media screen and (max-width: 768px){}

/* ------------------------
	.button
------------------------ */
.button button {
	background:#a9894a;
	color:#fff;
	border:none;
	position:relative;
	height:60px;
	font-size:16px;
	padding:0 2em;
	cursor:pointer;
	transition:800ms ease all;
	outline:none;
	font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
	letter-spacing: 1px;
}
.button button:hover {
	background:transparent;
	color:#fff;
}
.button button:before,
.button button:after {
	content:'';
	position:absolute;
	top:0;
	right:0;
	height:1px;
	width:0;
	background: #fff;
	transition:400ms ease all;
}
.button button:after{
	right:inherit;
	top:inherit;
	left:0;
	bottom:0;
}
.button button:hover:before,
.button button:hover:after {
	width:100%;
	transition:800ms ease all;
}
@media screen and (max-width: 768px){
	.button button {
		font-size:12px;
	}
}

/* ------------------------
	タイトル
------------------------ */
h2 {
	position: relative;
	font-size: 32px;
	text-align: center;
	margin-bottom: 40px;
}
h2:after {
	content: "";
	position: absolute;
	display: block;
	width: 60px;
	height: 1px;
	background-color: #fff;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
h2 strong {
	display: block;
	font-size: 18px;
	padding: 20px 0 50px;
}
@media screen and (max-width: 768px){
	h2 {
		font-size: 20px;
		line-height: 1.2;
		margin-bottom: 20px;
	}
	h2 strong {
		font-size: 12px;
		padding: 2px 0 28px;
	}
}

/* ------------------------
	#concept
------------------------ */
#concept div {
	padding: 0
}
#concept {
	max-width: 1390px;
	margin: 0 auto;
	padding: 0 5%;
	padding-top: 140px;
}
#concept ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
#concept ul li {
	width: 47%;
}
#concept ul li h1 {
	font-size: 22px;
	font-weight: normal;
	line-height: 2.0;
	letter-spacing: .05em;
}
@media screen and (max-width: 768px){
	#concept {
		padding-top: 90px;
	}
	#concept ul {
		display: block;
	}
	#concept ul li {
		width: 100%;
	}
	#concept ul li h1 {
		font-size: 16px;
		text-align: center;
		margin-top: 35px;
	}
}

/*.block*/
#concept .block {
	letter-spacing: 1px;
	padding-top: 65px;
}
#concept .block dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#concept .block dt {
	width: 40%;
	border-right: 1px solid #fff;
	margin: 10px 0;
}
#concept .block dt h2 {
	font-size: 20px;
	text-align: right;
	padding-right: 45px;
}
#concept .block dd {
	width: 52.9%;
}
#concept .block dd p {
	line-height: 2.3;
}
@media screen and (max-width: 768px){
	#concept .block {
		padding-top: 35px;
	}
	#concept .block dl {
		display: block;
	}
	#concept .block dt,
	#concept .block dd {
		width: 100%;
	}
	#concept .block dt {
		border-right: none;
		margin: 0;
	}
	#concept .block dt h2 {
		padding: 0 0 15px;
		text-align: center;
	}
	#concept .block dd p {
		font-size: 14px;
	}
}

/* ------------------------
	#inquiry
------------------------ */
#inquiry {
	max-width: 1224px;
	width: 90%;
	margin: 0 auto;
	margin-top: 220px;
}
@media screen and (max-width: 768px){
	#inquiry {
		margin-top: 120px;
	}
}

/* ------------------------
	#model_home
------------------------ */
#model_home {
	max-width: 1390px;
	margin: 0 auto;
	padding: 0 5%;
	padding-top: 220px;
}
#model_home > h2 {
	padding-bottom: 50px;
}
#model_home .button {
	text-align: center;
	margin-top: 70px;
}
@media screen and (max-width: 768px){
	#model_home {
		padding-top: 120px;
	}
	#model_home > h2 {
		padding-bottom: 28px;
	}
	#model_home .button {
		margin-top: 45px;
	}
}

/* ------------------------
	#project
------------------------ */
#project {
	padding-top: 220px;
}
#project .slider a {
	color: #fff;
	text-decoration: none;
	outline: none;
}
#project .slider a .imgWrap {
	overflow: hidden;
	width: 100%;
	height: 500px;
	margin-bottom: 20px;
}
#project .slider a .imgWrap img {
	width: 100%;
	display: block;
	transition: 0.5s;
	object-fit: cover; /* この一行を追加するだけ！ */
}
#project .slider a h3 {
	position: relative;
	font-weight: 100;
	line-height: 1.6;
}
#project .button {
	text-align: center;
	margin-top: 70px;
}
@media screen and (max-width: 768px){
	#project {
		padding-top: 120px;
	}
	#project #project .slider {
		width: 100%;
		margin: 30px auto 0;
	}
	.slider .slick-list {
		padding: 0 10% 0 0;
	}
	#project .slider li {
		margin: 0 0 0 20px;
	}
	#project .slider a .imgWrap {
		height: auto;
	}
	#project .slider a h3 {
		font-size: 14px;
		padding-top: 21px;
	}
	#project .slider a h3:before {
		content: "";
		position: absolute;
		display: block;
		width: 30px;
		height: 1px;
		background-color: #fff;
		top: 0;
	}
	#project .button {
		margin-top: 45px;
	}
}

/* ------------------------
	#features
------------------------ */
#features {
	max-width: 1170px;
	margin: 0 auto;
	padding: 0 5%;
	padding-top: 220px;
}
#features h3 {
	position: relative;
	font-size: 22px;
	letter-spacing: .05em;
	margin-bottom: 20px;
	padding-bottom: 25px;
}
#features h3:after {
	content: "";
	position: absolute;
	display: block;
	width: 30px;
	height: 1px;
	background-color: #fff;
	bottom: 0;
}
#features h3 span {
	font-size: 14px;
}
#features h3 span:before {
	content: "/ ";
	margin-left: 15px;
}
#features ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#features ul ~ ul {
	padding-top: 130px;
}
#features ul:nth-of-type(odd) {
	flex-flow: row-reverse;
}
#features ul li:nth-of-type(odd) {
	width: 50%;
}
#features ul li:nth-of-type(even) {
	width: 44%;
}
#features ul li > div ~ div {
	padding-top: 20px;
}
#features ul li > div h4 {
	position: relative;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 1px;
	padding-bottom: 10px;
}
#features ul li > div p {
	font-size: 14px;
	letter-spacing: 0.06em;
	line-height: 2;
}
#features ul li > p {
	font-size: 14px;
	letter-spacing: 0.06em;
	line-height: 2;
}
#features ul li > p ~ p {
	margin-top: 15px;
}
@media screen and (max-width: 768px){
	#features {
		padding-top: 120px;
	}
	#features h3 {
		font-size: 16px;
	}
	#features h3 span {
		font-size: 12px;
	}
	#features ul {
		display: block;
	}
	#features ul ~ ul {
		padding-top: 50px;
	}
	#features ul:nth-of-type(odd) {
		flex-flow: nowrap;
	}
	#features ul li:nth-of-type(odd) {
		width: 100%;
		margin-bottom: 45px;
	}
	#features ul li:nth-of-type(even) {
		width: 100%;
	}
	#features ul li > div h4 {
		font-size: 14px;
	}
}

/* ------------------------
	#schedule
------------------------ */
#schedule {
	max-width: 800px;
	margin: 0 auto;
	padding: 0 5%;
	padding-top: 220px;
}
#schedule p {
	font-size: 18px;
	line-height: 1.6;
	letter-spacing: 1px;
	text-align: center;
}
#schedule .arrow {
	margin: 55px auto 45px;
	display: block;
	height: 12px;
	position: relative;
	width: 12px;
}
#schedule .arrow::after {
	border-right-style: solid;
	border-right-width: 1px;
	content: '';
	display: inline-block;
	height: 12px;
	left: 0;
	position: absolute;
	top: 0;
	width: 12px;
}
#schedule .arrow.is-triangle::after {
	border-style: solid;
	border-width: 0 0 12px 12px;
	height: 0;
	width: 0;
}
#schedule .arrow.is-check::after {
	width: 6px;
}
#schedule .arrow.arrow-bar::before {
	bottom: 0;
	content: '';
	height: 30px;
	position: absolute;
	right: -1px;
	transform-origin: bottom;
	width: 1px;
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#schedule .arrow.is-bottom {
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#schedule .arrow::after,
#schedule .arrow .arrow::after {
	border-color: #fff;
}
#schedule .arrow::before,
#schedule .arrow .arrow::before {
	background-color: #fff;
}
@media screen and (max-width: 768px){
	#schedule {
		padding-top: 120px;
	}
	#schedule p {
		font-size: 15px;
	}
	#schedule .arrow {
		margin: 35px auto 25px;
	}
}

/* ------------------------
	#company
------------------------ */
#company {
	max-width: 1170px;
	margin: 0 auto;
	padding: 0 5%;
	padding-top: 220px;
}
#company p {
	font-size: 18px;
	line-height: 2;
	letter-spacing: 1px;
	text-align: center;
}

/*.article-tableBox*/
#company .article-tableBox {
	margin-top: 45px;
}
#company .article-tableBox dl {
	width:100%;
	padding:15px 0;
	border-bottom:1px solid #e7e7e7;
	display:table;
}
#company .article-tableBox dl:first-child {
	border-top:1px solid #e7e7e7;
}
#company .article-tableBox dl dt {
	font-size:14px;
	letter-spacing:.09em;
	width:22.43%;
	display:table-cell;
	vertical-align:top;
	line-height:27px;
}
#company .article-tableBox dl dd {
	font-size:14px;
	letter-spacing:.07em;
	display:table-cell;
	vertical-align:top;
	font-feature-settings:"palt";
	line-height:27px;
}
#company .article-tableBox dl dd a {
	color: #fff;
	text-decoration: none;
}
#company .article-tableBox dl dd a.map {
	margin-left: 15px;
}
#company .article-tableBox dl dd a:hover {
	text-decoration: underline;
}
@media screen and (max-width: 768px){
	#company {
		padding-top: 120px;
	}
	#company p {
		font-size: 15px;
		text-align: left;
	}
	
	/*.article-tableBox*/
	#company .article-tableBox {
		margin-top: 22px;
	}
	#company .article-tableBox dl {
		padding:7.5px 0;
	}
	#company .article-tableBox dl dt {
		vertical-align:top;
		width:32.23%;
	}
	#company .article-tableBox dl dd {
		vertical-align:top;
	}
}

/* ------------------------
	#footer
------------------------ */
/*#contact*/
#contact .parallax-window {
	padding: 110px 0 115px;
}
#contact .block {
	max-width: 1170px;
	margin: 0 auto;
	padding: 0 5%;
}
#contact .block p {
	line-height: 2.3;
	text-align: center;
	margin-bottom: 40px;
}
#contact .block .button {
	text-align: center;
}
@media screen and (max-width: 768px){
	#contact .parallax-window {
		padding: 70px 0 80px;
	}
	#contact .block p {
		line-height: 2;
		text-align: left;
		font-size: 14px;
	}
}

/*.logo-footer*/
.logo-footer {
	max-width: 170px;
	margin: 0 auto;
	text-align: center;
	padding: 40px 0 70px;
}
.logo-footer a {
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease;
}
.logo-footer a:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}
@media screen and (max-width: 768px){}
