#splash {
	display: block;
	position: fixed;
	width: 100%;
	height: 100%;
	background: #333;
	z-index: 9999999;
	text-align:center;
	color:#fff;
}
#splash-logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#splash-logo span {
	display: block;
	text-align: center;
}
.splashbg{
    display: none;
}
body.appear .splashbg{
    display: block;
    content: "";
    position:fixed;
	z-index: 999;
    width: 100%;
    height: 100vh;
    top: 0;
	left: 0;
    transform: scaleY(0);
    background-color: #333;
	animation-name:PageAnime;
	animation-duration:1.2s;
	animation-timing-function:ease-in-out;
	animation-fill-mode:forwards;
}
@keyframes PageAnime{
	0% {
		transform-origin:top;
		transform:scaleY(0);
	}
	50% {
		transform-origin:top;
		transform:scaleY(1);
	}
	50.001% {
		transform-origin:bottom;
	}
	100% {
		transform-origin:bottom;
		transform:scaleY(0);
	}
}
#container{
	opacity: 0;
}
body.appear #container{
	animation-name:PageAnimeAppear;
	animation-duration:1s;
	animation-delay: 0.8s;
	animation-fill-mode:forwards;
	opacity: 0;
}
@keyframes PageAnimeAppear{
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
}
}
/* ------------------------------------ */
.openbtn span{
	background-color: #fff;
}
.openbtn.active span:nth-of-type(1),
.openbtn.active span:nth-of-type(3){
	background-color: #222;
}
header .contact_btn {
	color: #fff;
}
/* ------------------------------------ */
#mv {
	width: 100%;
	position: relative;
	background: url(../images/top/mv.jpg) no-repeat center center;
	background-size: cover;
}
#mv .msk {
	display: block;
	position: absolute;
	background-color: rgba(0,0,0,.6);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
#mv .kokuchi {
	position: absolute;
	background-color: #000;
	color: #fff;
	width: 100%;
	left: 0;
	bottom: 0;
	padding: 25px 0;
}
#mv .kokuchi .inner {
	max-width: 1000px;
	width: 100%;
	margin: 0px auto;
	font-family: a-otf-ryumin-pr6n, serif;
	font-weight: 300;
}
#mv .kokuchi .inner p {
	text-align: center;
	border-bottom: rgba(255,255,255,.4) 1px solid;
	font-size: 120%;
}
#mv .kokuchi .inner p strong {
	display: inline-block;
	font-size: 150%;
	margin-left: 20px;
}
#mv .kokuchi .inner h2 {
	text-align: center;
	font-size: 220%;
	font-weight: 300;
}
#mv .mv_ttl {
	width: 154px;
	position: absolute;
	top: 45%;
	left: 50%;
	margin-left: -77px;
	margin-top: -126px;
}
.scrolldown2{
	position:absolute;
	bottom:200px;
	left:50%;
}
.scrolldown2 span{
	position: absolute;
	left:10px;
	bottom:10px;
	color: rgba(255,255,255,.6);
	font-size: 0.7rem;
	letter-spacing: 0.05em;
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}
.scrolldown2:before {
    content: "";
    position: absolute;
    bottom:0;
    left:-4px;
	width:9px;
	height:9px;
	border-radius: 50%;
	background:rgba(255,255,255,.6);
	animation:
		circlemove 1.6s ease-in-out infinite,
		cirlemovehide 1.6s ease-out infinite;
}
@keyframes circlemove{
      0%{bottom:45px;}
     100%{bottom:-5px;}
}
@keyframes cirlemovehide{
      0%{opacity:0}
     50%{opacity:1;}
    80%{opacity:0.9;}
	100%{opacity:0;}
}
.scrolldown2:after{
	content:"";
	position: absolute;
	bottom:0;
	left:0;
	width:1px;
	height: 50px;
	background: rgba(255,255,255,.6);
}

.kokuchi-sub {
	background-color: #000;
	color: #fff;
	width: 100%;
	padding: 25px 0;
}
.kokuchi-sub p {
	text-align: center;
	transform: rotate(0.03deg);
	margin-bottom: 30px;
	font-size: 1.2em;
	line-height: 170%;
}
.kokuchi-sub p strong {
	display: inline-block;
	text-align: center;
	font-size: 1.2em;
	letter-spacing: 3px;
	font-family: a-otf-ryumin-pr6n, serif;
	font-weight: 300;
	border-bottom: #aaa 1px solid;
	padding: 0 10px 10px;
	margin-bottom: 5px;
}
.kokuchi-sub p.cap {
	margin-bottom: 0;
	font-size: 13px;
}
.kokuchi-sub p.cap br {
	display: none;
}
.kokuchi-sub .inner {
	max-width: 700px;
	width: 90%;
	margin: 0 auto 15px;;
	display: flex;
	justify-content: space-between;
}
.kokuchi-sub dl {
	width: 47%;
}
.kokuchi-sub dt,
.kokuchi-sub dd {
	text-align: center;
	transform: rotate(0.03deg);
	letter-spacing: 3px;
}
.kokuchi-sub dt {
	font-size: 1.2em;
	line-height: 130%;
}
.kokuchi-sub dt span {
	font-size: .8em;
	display: inline-block;
	border: #fff 1px solid;
	margin-right: 15px;
	padding: 1px 8px 4px 12px;
}
.kokuchi-sub dt strong {
	font-size: 1.8em;
	font-family: a-otf-ryumin-pr6n, serif;
	font-weight: 300;
	display: inline-block;
	margin-right: 3px;
}
.kokuchi-sub dd {
}
@media screen and (max-width:680px){
	.kokuchi-sub .inner {
		display: block;
	}
	.kokuchi-sub dl {
		width: 100%;
		margin-bottom: 20px;
	}
	.kokuchi-sub p {
        margin-bottom: 30px;
        font-size: 1.1em;
    }
	.kokuchi-sub p.cap br {
		display: block;
	}
}
/* ------------------------------------ */
main {
	margin-top: 140px;
}
/* ------------------------------------ */
#top1 {
	width: 100%;
	height: 100vh;
	background: url(../images/top/ph01.jpg) no-repeat center center;
	background-size: cover;
	position: relative;
	display: table;
}
#top1 .msk {
	display: block;
	position: absolute;
	background-color: rgba(0,0,0,.6);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 0;
}
#top1 .inner {
	position: relative;
	z-index: 5;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	color: #fff;
}
#top1 .inner h3 {
	font-family: a-otf-ryumin-pr6n, serif;
	font-weight: 300;
	text-align: center;
	font-size: 200%;
	width: 90%;
	margin: 0px auto 4%;
	letter-spacing: 4px;
}
#top1 .inner > p {
	width: 90%;
	text-align: center;
	margin: 0px auto 5%;
}
#top1 .inner ul {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	max-width: 660px;
	width: 90%;
	margin: 0px auto;
}
#top1 .inner li {
	text-align: center;
	width: 30%;
	margin-right: 5%;
}
#top1 .inner li:last-child {
	margin-right: 0;
}
#top1 .inner li.box {
	opacity: 0;
}
#top1 .inner li div {
	position: relative;
	width: 100%;
	padding-top: 100%;
	border: rgba(255,255,255,.4) 1px solid;
	text-align: center;
}
#top1 .inner li div p {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	text-align: center;
	font-size: 80%;
}
#top1 .inner li span {
	display: block;
	text-align: center;
	padding-top: 30%;
	font-size: 170%;
	font-family: a-otf-ryumin-pr6n, serif;
	font-weight: 300;
}
/* ------------------------------------ */
#top2 {
	max-width: 1300px;
	width: 100%;
	margin: 0px auto;
}
#top2 .box {
	overflow: hidden;
	margin-bottom: 80px;
}
#top2 .box .ph {
	width: 60%;
	float: right;
	position: relative;
}
#top2 .box .ph img {
	border: #fff 3px solid;
	display: block;
}
#top2 .box .ph img {
	opacity: 0;
}
#top2 .box .ph .img1,
#top2 .box .ph .img4 {
	width: 60%;
	margin-left: 40%;
}
#top2 .box .ph .img2,
#top2 .box .ph .img3,
#top2 .box .ph .img5,
#top2 .box .ph .img6 {
	position: absolute;
	left: 0;
}
#top2 .box .ph .img2,
#top2 .box .ph .img5 {
	width: 35%;
	top: 10%;
}
#top2 .box .ph .img3,
#top2 .box .ph .img6 {
	width: 50%;
	bottom: 5%;
}
#top2 .box .data {
	width: 40%;
	float: left;
	padding: 0 5%;
}
#top2 .box:nth-child(2) .ph {
	float: left;
}
#top2 .box:nth-child(2) .data {
	float: right;
}
#top2 .box .data .ttl {
	font-family: a-otf-ryumin-pr6n, serif;
	font-weight: 300;
	font-size: 150%;
	margin-bottom: 20px;
	line-height: 180%;
}
#top2 .box .data .ttl strong {
	display: block;
	font-weight: 300;
	font-size: 240%;
	margin-bottom: 10px;
}
#top2 .box .data .ttl2 {
	font-family: a-otf-ryumin-pr6n, serif;
	font-weight: bold;
	font-size: 120%;
	margin-bottom: 20px;
	line-height: 180%;
	letter-spacing: 4px;
}
#top2 .box .data ul {
	border-top: rgba(0,0,0,.2) 1px solid;
}
#top2 .box .data li {
	border-bottom: rgba(0,0,0,.2) 1px solid;
	padding: 10px 0;
}
#top2 .box .data li {
	opacity: 0;
}
#top2 .box .data li span {
	display: block;
}
#top2 .box .data li strong {
	display: inline-block;
	font-size: 160%;
	margin-right: 5px;
}
/* ------------------------------------ */
#top3 {
	width: 100%;
	background-color: #333;
	color: #fff;
}
#top3 .inner {
	max-width: 1500px;
	width: 100%;
	margin: 0px auto;
	display: table;
}
#top3 .inner dl,
#top3 .inner .ph {
	display: table-cell;
	vertical-align: middle;
}
#top3 .inner dl {
	padding: 0 5%;
}
#top3 .inner dt {
	margin-bottom: 30px;
	line-height: 170%;
}
#top3 .inner dt img {
	display: block;
	width: 80px;
	margin-bottom: 15px;
}
#top3 .inner dt strong {
	font-family: a-otf-ryumin-pr6n, serif;
	font-weight: 300;
	font-size: 400%;
}
#top3 .inner dd {
	line-height: 180%;
}
#top3 .inner dd a {
	display: block;
	max-width: 180px;
	width: 100%;
	color: #fff;
	text-align: center;
	border: rgba(255,255,255,.5) 1px solid;
	padding: 12px 0 15px;
	margin-top: 20px;
}
#top3 .inner dd a:hover {
}
#top3 .inner .ph {
	width: 53%;
}
/* ------------------------------------ */
#top4 {
	width: 100%;
	background-color: #000;
	color: #fff;
	padding: 70px 0;
}
#top4 .ttl {
	font-family: a-otf-ryumin-pr6n, serif;
	font-weight: 300;
	margin-bottom: 40px;
}
#top4 .ttl dt {
	margin-bottom: 20px;
}
#top4 .ttl dt img {
	display: block;
	width: 60px;
	margin: 0px auto 5px;
}
#top4 .ttl dt span {
	display: block;
	text-align: center;
	font-size: 110%;
}
#top4 .ttl dd {
	text-align: center;
	font-size: 150%;
	letter-spacing: 3px;
}
#top4 .inner {
	display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	max-width: 1100px;
	width: 90%;
	margin: 0px auto;
}
#top4 .inner .box {
	float: left;
	width: 47.5%;
	margin-right: 5%;
}
#top4 .inner .box:nth-child(2) {
	margin-right: 0;
}
#top4 .inner .box {
	opacity: 0;
}
#top4 .inner .box .ph {
	display: block;
	margin-bottom: 25px;
}
#top4 .inner .box p {
	font-family: a-otf-ryumin-pr6n, serif;
	font-weight: 300;
	margin-bottom: 20px;
	font-size: 140%;
	vertical-align: top;
	line-height: 100%;
}
#top4 .inner .box p img {
	display: inline-block;
	width: 35px;
	margin-right: 15px;
	vertical-align: top;
}
#top4 .inner .box p span {
	display: inline-block;
	font-size: 160%;
	margin-left: 10px;
}
#top4 .inner .box .btn {
	display: block;
	text-align: center;
	color: #fff;
	border: rgba(255,255,255,.5) 1px solid;
	padding: 11px 0 13px;
}
#top4 .inner .box .btn:hover {
}
/* ------------------------------------ */


@media screen and (max-width:880px){
	
	/* ------------------------------------ */
	
	/* ------------------------------------ */
	#top2 .box .ph {
		width: 50%;
	}
	#top2 .box .data {
		width: 50%;
	}
	#top2 .box .data .ttl {
		font-size: 150%;
	}
	#top2 .box .data .ttl strong {
		font-size: 200%;
		margin-bottom: 5px;
	}
	#top2 .box .data .ttl2 {
		font-weight: 300;
		font-size: 120%;
		letter-spacing: 2px;
	}
	#top2 .box .data li {
		padding: 10px 0;
		line-height: 170%;
		font-size: 90%;
	}
	/* ------------------------------------ */
	#top3 .inner dl {
		padding: 30px 5%;
	}
	#top3 .inner dt {
		margin-bottom: 20px;
	}
	#top3 .inner dt img {
		width: 50px;
	}
	#top3 .inner dt strong {
		font-size: 300%;
	}
	#top3 .inner dd a {
		padding: 10px 0 13px;
		margin-top: 20px;
	}
	#top3 .inner .ph {
		width: 53%;
	}
	/* ------------------------------------ */
}

@media screen and (max-width:580px){
	main {
		margin-top: 20px;
	}
	/* ------------------------------------ */
	#mv {
		background: url(../images/top/mv_sp.jpg) no-repeat center center;
		background-size: cover;
	}
	#mv .mv_ttl {
		width: 120px;
		top: 40%;
		margin-left: -60px;
		margin-top: -100px;
	}
	#mv .kokuchi {
		padding: 15px 0;
	}
	#mv .kokuchi .inner p {
		font-size: 100%;
		padding-bottom: 4px;
	}
	#mv .kokuchi .inner p strong {
		font-size: 130%;
		margin-left: 20px;
	}
	#mv .kokuchi .inner h2 {
		font-size: 160%;
	}
	.scrolldown2{
		bottom: 160px;
	}
	/* ------------------------------------ */
	#top1 {
		background: url(../images/top/ph01_sp.jpg) no-repeat center center;
		background-size: cover;
	}
	#top1 .inner h3 {
		font-size: 130%;
		text-align: left;
		margin: 0px auto 8%;
		letter-spacing: 2px;
	}
	#top1 .inner > p {
		text-align: left;
		margin: 0px auto 7%;
	}
	#top1 .inner li div p {
		font-size: 70%;
	}
	#top1 .inner li span {
		padding-top: 25%;
		font-size: 170%;
	}
	/* ------------------------------------ */
	#top2 .box .ph,
	#top2 .box .data {
		float: none;
		width: 100%;
	}
	#top2 .box .ph {
		margin-bottom: 20px;
	}
	/* ------------------------------------ */
	#top3 .inner,
	#top3 .inner dl,
	#top3 .inner .ph {
		display: block;
		width: 100%;
	}
	#top3 .inner dl {
		padding: 30px 7%;
	}
	#top3 .inner dt {
		margin-bottom: 20px;
	}
	#top3 .inner dt img {
		width: 50px;
	}
	#top3 .inner dt strong {
		font-size: 300%;
	}
	#top3 .inner dd a {
		padding: 10px 0 13px;
		margin-top: 20px;
	}
	/* ------------------------------------ */
	#top4 {
		padding: 50px 0;
	}
	#top4 .ttl {
		margin-bottom: 30px;
	}
	#top4 .ttl dt {
		margin-bottom: 10px;
	}
	#top4 .ttl dd {
		font-size: 100%;
		letter-spacing: 2px;
	}
	#top4 .inner .box .ph {
		margin-bottom: 15px;
	}
	#top4 .inner .box p {
		margin-bottom: 12px;
		font-size: 120%;
	}
	#top4 .inner .box p img {
		width: 30px;
	}
	#top4 .inner .box p span {
		font-size: 140%;
	}
	#top4 .inner .box .btn {
		font-size: 90%;
		padding: 10px 0 12px;
	}
}