@charset "UTF-8";
.loading {
	width: 100%;
  	height: 100%;
  	transition: all 1s;
	background-color: #FFF;
	position: fixed;
  	top: 0;
  	left: 0;
  	z-index: 999999;
  	opacity: 1;
  	visibility: visible;
}
.loading.is-active {
  	opacity: 0;
  	visibility: hidden;
}
.loading-animation {
 	width: 100vw;
  	height: 100vh;
  	transition: all 3s;
  	background-image: url("../common/img/bg_menu.jpg");
	background-size: cover;
  	z-index: 9999;
  	display: flex;
  	align-items: center;
  	justify-content: center;
  	opacity: 0;
  	visibility: hidden;
}

.loading-animation.is-active {
  	opacity: 1;
  	visibility: visible;
}

#loadlogo {
	width: 5rem;
}
@media screen and (max-width: 767px) {
	#loadlogo {
		width: 2.5rem;
	}
}

#loadlogo {
  filter: blur(5px);
  animation-name: blur;
  animation: blur 3s linear forwards;
}
@keyframes blur {
  100% {
    filter: blur(0);
  }
}

#mv {
	position: relative;
	width: 100%;
	height: calc(100vh - 1.1rem);
}

@media screen and (max-width: 1260px) {
	#mv {
		height: calc(80vh - 0.5rem);
	}
}

#mv:before {
	content: '';
  	display: block;
  	width: calc(100% - 1.3rem);
  	height: 70vh;
  	background: transparent url( "../img/index/img_main01.jpg") no-repeat scroll 0 0/cover;
  	border-radius: 0 0 0 0.85rem;
  	position: absolute;
  	top: 0;
  	right: 0;
  	z-index: 2;
}
@media (min-width: 1260px) {
	#mv:before {
    	width: 70%;
  		height: 85vh;
  	}
}
@media screen and (min-width: 1500px) {
	#mv:before {
    	width: calc(40% + 6.2rem);
  		height: 85vh;
  	}
}
@media screen and (max-width: 767px) {
	#mv:before {
    	width: calc(100% - .6rem);
		background-position: center;
  }
}

#mv .container {
	height: 100%;
}

#mv .catch {
	position: absolute;
	top: 50%;
   	left: 0;
   	transform: translateY(-50%);
	z-index: 999;
	width: 6.3rem;
}
@media screen and (max-width: 1260px) {
	#mv .catch {
		width: 3rem;
   		left: 0.15rem;
	}
}

#secabout .abouttp {
	background: linear-gradient(0deg, #FFF 5%, #FFFEF5 5%, #FFFEF5 90%, #FFF 90%);
}
@media screen and (max-width: 767px) {
	#secabout .abouttp {
		background: linear-gradient(0deg, #FFF 8%, #FFFEF5 8%, #FFFEF5 90%, #FFF 90%);
	}
}

#secabout .aboutbox01 {
	display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	align-items: stretch;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

#secabout .aboutbox01 .imgbox {
	width: 30%;/*360px*/
	margin-right: 5%;/*60px*/
}
@media screen and (max-width: 767px) {
	#secabout .aboutbox01 .imgbox {
		width: 2rem;
		margin-right: 0;
		order: 2;
	}
}

#secabout .aboutbox01 .imgbox figure {
	border-radius: 0 0 0.5rem 0;
	overflow: hidden;
}

#secabout .aboutbox01 .txtbox {
	position: relative;
	width: 65%;
}
@media screen and (max-width: 767px) {
	#secabout .aboutbox01 .txtbox {
		order: 1;
		width: 100%;
		margin-bottom: 0.3rem;
	}
}

#secabout .aboutbox01 .txtbox h2 {
	position: relative;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif; 
	font-size: 0.3rem;
	letter-spacing: 0.1em;
	margin-bottom: 0.3rem;
	z-index: 2;
}
@media screen and (max-width: 767px) {
	#secabout .aboutbox01 .txtbox h2 {
		font-size: 0.17rem;
	}
}

#secabout .aboutbox01 .txtbox p {
	position: relative;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif; 
	font-size: 0.2rem;
	letter-spacing: 0.1em;
	z-index: 2;
}
@media screen and (max-width: 767px) {
	#secabout .aboutbox01 .txtbox p {
		font-size: 0.14rem;
	}
}

#secabout .aboutbox01 .txtbox #abg01 {
	position: absolute;
	width: 26.67%;/*320px*/
	top: -0.3rem;
	right: -0.6rem;
	z-index: 1;
}
@media screen and (max-width: 767px) {
	#secabout .aboutbox01 .txtbox #abg01 {
		width: 1.6rem;
		top: -0.3rem;
		right: 0;
	}
}

#secabout .aboutbox02 {
	position: relative;
	margin: 1rem 0;
}
@media screen and (max-width: 767px) {
	#secabout .aboutbox02 {
		margin: 0.5rem 0;
	}
}

#secabout .aboutbox02 .txtbox {
	position: absolute;
	width: 30%;
	left: 30%;
}
@media screen and (min-width:1024px) {
	#secabout .aboutbox02 .txtbox {
		width: 30%;
		left: 40%;
	}
}

@media screen and (max-width: 767px) {
	#secabout .aboutbox02 .txtbox {
		width: 40%;
		left: 20%;
	}
}

#secabout .aboutbox02 .txtbox h2 {
	position: relative;
	width: 2.16rem;
	z-index: 2;
}
@media screen and (max-width: 767px) {
	#secabout .aboutbox02 .txtbox h2 {
		width: 1rem;
	}
}

#secabout .aboutbox02 .txtbox #abg02 {
	position: absolute;
	width: 3.1rem;
	top: 0.8rem;
	left: -2rem;
	z-index: 1;
}
@media screen and (max-width: 767px) {
	#secabout .aboutbox02 .txtbox #abg02 {
		width: 1.55rem;
		top: 0.2rem;
		left: -1rem;
	}
}

#secabout .aboutbox02 .btnbox {
	position: absolute;
	left: 0.6rem;
	bottom: 0;
}
@media screen and (max-width: 767px) {
	#secabout .aboutbox02 .btnbox {
		position: relative;
		left: 0;
		bottom: inherit;
		margin-top: 0.2rem;
	}
}

#secabout .aboutbox02 .imgbox {
	width: 30%;
	margin-left: auto;
}

#secabout .aboutbox02 .imgbox figure {
	border-radius: 0 0 0 0.5rem;
	overflow: hidden;
}
#secabout .aboutbox02 .imgbox figure img {
	width: 100%;
  	height: 5.5rem;
  	-o-object-fit: cover;
     object-fit: cover;
  	-o-object-position: center center;
     object-position: center center;
}
@media screen and (max-width: 767px) {
	#secabout .aboutbox02 .imgbox figure img {
  		height: 2.5rem;
	}
}

#secabout .aboutbm #abg03 {
	position: absolute;
	width: 3.3rem;
	top: 30%;
	right: -2.4rem;
	z-index: -1;
}
@media screen and (max-width: 767px) {
	#secabout .aboutbm #abg03 {
		width: 1.65rem;
		top: 15%;
		right: 0;
	}
	#secabout .aboutbm .imgbox {
		width: 80%;
		margin: 0 auto;
	}
}

#secmovie {
	background-color: #F6F6F2;
}
#secmovie .moviebox {
	width: 80%;
	margin: 0 auto;
}
@media screen and (max-width: 767px) {
	#secmovie .moviebox {
		width: 100%;
	}
}