@charset "UTF-8";
/**
 * 全パターン共通
 */

figure
{
	color: #fff;
}

figure img {
	object-fit: cover;
}


figure figcaption {
	padding: 1em;

	xxwidth: 100%;
}

figure figcaption .title
{
	font-size: 130%;
	padding: 1rem 0;

	text-align:center;
}
figure figcaption .copy
{
}












/**
 * ズームパターン
 */

figure.zoomin img {
	transition: all 0.3s ease-in-out 0s;
	transform: scale(1); 
}

figure.zoomin:hover img {
	transform: scale(1.3); 
}

figure.zoomin_rotate img {
	transition: all 0.3s ease-in-out 0s;
	transform: rotate(0deg) scale(1); 
}

figure.zoomin_rotate:hover img {
	transform: rotate(15deg) scale(1.2); 
}


figure.zoomout img {
	transition: all 0.3s ease-in-out 0s;
	transform: scale(1.1); 
}
figure.zoomout:hover img {
	transform: scale(1); 
}


figure.zoomout_rotate img {
	transition: all 0.3s ease-in-out 0s;
	transform: rotate(15deg) scale(1.4); 
}

figure.zoomout_rotate:hover img {
	transform: rotate(0deg) scale(1); 
}










.zoomout img {
	transition: all 0.3s ease-in-out 0s;
	transform: scale(1.1); 
}
.zoomout:hover img {
	transform: scale(1); 
}








/**
 * ホバーパターン
 */

/* 全体にマスクをかける */ 
figure.figure1 {
	position: relative;
	overflow: hidden;
	width: 100%; 
}

figure.figure1 figcaption {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	transition: .3s;
	opacity: 0; 
}

figure.figure1:hover figcaption {
	opacity: .4;
}


/* 上から表示 */ 
figure.figure2 {
	position: relative;
	overflow: hidden;
	width: 100%; 
}

figure.figure2 img {
	width: 100%; 
}

figure.figure2 figcaption {
	position: absolute;
	top: -100%;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	transition: .3s;
	opacity: 1; 
}

figure.figure2:hover figcaption {
	top: 0;
	left: 0; 
}


/* 左から表示 */ 
figure.figure3 {
	position: relative;
	overflow: hidden;
	width: 100%; 
}

figure.figure3 img {
	width: 100%; 
}

figure.figure3 figcaption {
	position: absolute;
	top: 0;
	left: -100%;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	transition: .3s;
	opacity: 1; 
}

figure.figure3:hover figcaption {
	top: 0;
	left: 0; 
}


/* 奥から回転しながら表示 */ 
figure.figure4 {
	position: relative;
	overflow: hidden;
	width: 100%; 
}

figure.figure4 img {
	width: 100%; 
}

figure.figure4 figcaption {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	transform: rotate(90deg) scale(0);
	transition: .3s;
	opacity: 0; 
}

figure.figure4:hover figcaption {
	transform: rotate(360deg) scale(1);
	opacity: 1; 
}

/* 手前から回転しながら表示 */ 
figure.figure5 {
	position: relative;
	overflow: hidden;
	width: 100%; 
}

figure.figure5 img {
	width: 100%; 
}

figure.figure5 figcaption {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);

	transform: rotate(90deg) scale(3);

	transition: .3s;
	opacity: 0; 
}

figure.figure5:hover figcaption {
	transform: rotate(360deg) scale(1);
	opacity: 1; 
}


/* 縦回転しながら表示 */ 
figure.figure6 {
	position: relative;
	overflow: hidden;
	width: 100%; 
}

figure.figure6 img {
	width: 100%; 
}

figure.figure6 figcaption {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	transform: rotateX(-180deg);
	transition: .5s;
	opacity: 0; 
}

figure.figure6:hover figcaption {
	transform: rotateX(0);
	opacity: 1; 
}


/* 横回転しながら表示 */ 
figure.figure7 {
	position: relative;
	overflow: hidden;
	width: 100%; 
}

figure.figure7 img {
	width: 100%; 
}

figure.figure7 figcaption {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	transform: rotateY(180deg);
	transition: .5s;
	opacity: 0; 
}

figure.figure7:hover figcaption {
	transform: rotateY(0);
	opacity: 1; 
}



/* 時間差 */ 
figure.figure8 {
	position: relative;
	overflow: hidden;
	width: 100%; 
}

figure.figure8 img {
	width: 100%; 
}

figure.figure8 figcaption {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	transition: .3s;
	opacity: 0; 
}

figure.figure8 figcaption h3,
figure.figure8 figcaption p {
	position: absolute;
	left: -100%;
	width: 80%;
	transition: .3s; 
}

figure.figure8 figcaption h3 {
	top: 1em; 
}

figure.figure8 figcaption p {
	top: 6em; 
}

figure.figure8:hover figcaption {
	opacity: 1; 
}

figure.figure8:hover figcaption h3, figure.figure8:hover figcaption p {
	left: 10%; 
}

figure.figure8:hover figcaption h3 {
	transition-delay: .2s; 
}

figure.figure8:hover figcaption p {
	transition-delay: .5s; 
}



/* 下から */ 
figure.figure9 {
	position: relative;
	overflow: hidden;
	width: 100%; 
}

figure.figure9 img {
	width: 100%; 
}

figure.figure9 figcaption {
	position: absolute;
	bottom: -300px;
	left: 0;
	z-index: 2;
	width: 100%;
	background: rgba(0, 0, 0, 0.6);
	transition: .3s; 
}

figure.figure9:hover figcaption {
	bottom: 0; 
}














/*=====================================
 パララックス 
 */
.para{
	width: 100%;
	height: 500px;

	background-position: 	50% 50%;
	background-repeat: 		no-repeat;
	background-attachment: 	fixed;
	background-size: 		cover; 

	display: 		 flex;
	align-items: 	 center;
	justify-content: center;
 }
.para_title{
	font-size: 2rem;
	color: rgba(255, 255, 255, .9);
	font-weight: bold;
	text-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);
	text-align: center;
}
.para2
{
	height: 600px;
}











/**/



/* ズームイン */
.anim_bg1.zoomin .image 
{
	width:100%; 
	height: 200px;
	transition: transform  0.5s ease;
}
.anim_bg1:hover .image 
{
	transform: scale(1.2);
}

.anim_bg1
{
	overflow: hidden;
	position: relative;
}


.anim_bg1:before {
    content: '';
    position: absolute;

    width: 100%;
    height: 50%;
    left: 0px;
    bottom: 0px;
    z-index: 2;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.9) 100%);
}
.anim_bg1:after {
    content: '';
    position: absolute;

    width: 105%;
    height: 30%;
    left: 0px;
    top: 0px;
    z-index: 2;
    background: linear-gradient(to bottom, rgba(0,0,0,0.7) 0%,rgba(0,0,0,0) 100%);
}


.anim_bg1 .bottom_title {
    padding: 20px 20px 10px;
    position: absolute;
    left: 0px;
    bottom: 0px;
    z-index: 3;
	color: white;
	font-size: 1rem;
}

























/* ズームアウト */
.Xanim_image img, 
.Xanim_bg1 .image 
{
	width:100%; 
	height:auto;
	transition: transform  0.5s ease;
	transform: scale(.5);
}
.Xanim_image:hover img, 
.Xanim_bg1:hover .image 
{
	transform: scale(1);
}

