.cbox01 {
    width: 1050px;
    margin: 0 auto;
    background: white;
    border: 5px solid #000;
}
.imgset{
	margin-top: 0vw;
	width: 56vw;
	left: 0vw;
}
.imgset2{
	margin-top: 1vw;
	width: 56vw;
	left: 0vw;
}
.reflection-img{
    width       :100%;
    height      :auto;
    position    :relative;
    overflow    :hidden;
}
.reflection-img2{
    width       :100%;
    height      :auto;
    position    :relative;
    overflow    :hidden;
}

.reflection {
    height      :100%;
    width       :30px;
    position    :absolute;
    top         :-180px;
    left        :0;
    background-color: #fff;
    opacity     :0;
    transform: rotate(45deg);
    animation: reflection 3s ease-in-out infinite;
    -webkit-transform: rotate(45deg);
    -webkit-animation: reflection 3s ease-in-out infinite;
    -moz-transform: rotate(45deg);
    -moz-animation: reflection 3s ease-in-out infinite;
    -ms-transform: rotate(45deg);
    -ms-animation: reflection 3s ease-in-out infinite;
    -o-transform: rotate(45deg);
    -o-animation: reflection 3s ease-in-out infinite;
}

@keyframes reflection {
    0% { transform: scale(0) rotate(45deg); opacity: 0; }
    80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { transform: scale(4) rotate(45deg); opacity: 1; }
    100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes reflection {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-moz-keyframes reflection {
    0% { -moz-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -moz-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -moz-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -moz-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-ms-keyframes reflection {
    0% { -ms-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -ms-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -ms-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -ms-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-o-keyframes reflection {
    0% { -o-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -o-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -o-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -o-transform: scale(50) rotate(45deg); opacity: 0; }
}



.index .bounce_button {
	animation: bounce 2s ease infinite normal 0s none running;
}

@keyframes bounce {
	0%, 100%, 20%, 50%, 80% {
		transform: scale(1.0);
	}
	40% {
		transform: scale(1.2);
	}
	60% {
		transform: scale(1.1);
	}
}

img.btn_animate02 {
	margin: 0 auto;
	animation: skew 2.3s linear infinite;
	transform-origin:center;
	cursor: pointer;
}

/* skewの動きをここで設定 */
@keyframes skew {
	0% {transform: skew(0deg, 0deg);}
	5% {transform: skew(2deg, 2.2deg);}
	10% {transform: skew(-1deg, -1deg);}
	15% {transform: skew(0.5deg, 1.2deg);}
	20% {transform: skew(-2deg, -1.5deg);}
	25% {transform: skew(0.9deg, 0.9deg);}
	30% {transform: skew(-0.6deg, -0.6deg);}
	35% {transform: skew(0.3deg, 0.3deg);}
	40% {transform: skew(-0.2deg, -0.2deg);}
	45% {transform: skew(0.1deg, 0.1deg);}
	50% {transform: skew(0deg, 0deg);}
}

html {
	font-size: 15px;
}

body {
  background: url(../image/fn_conbg.jpg) center top no-repeat fixed;
  background-size: auto;
  background-size: cover;
  color: #000;
}

.index a {
	display: block;
}

.index .container {
}

.index .layout {
	display: flex;
	flex-flow: column nowrap;
	margin: auto;
}

.index .inner_width {
	display: block;
	margin: auto;
}

.index .block_container > * {
	margin: auto;
	display: block;
}

.index .block {
	display: block;
	margin: auto;
	position: relative;
}

.index .link_container {
	position: relative;
}

.index .link {
	display: block;
	position: absolute;
	z-index: 100;
}

.index .underline_yellow {
	background: linear-gradient(0, #fadf5f 0, #fadf5f 0.75rem, transparent 0.75rem);
	color: #000;
}

.index .typewriter_text {
	font-weight: 800;
	word-break: break-all;
	color: #000;
}

.index .fixed_block {
	position: fixed;
	z-index: 1000;
	right: 0;
	bottom: -5px;
}

.index .fixed_block.pc_block {
	width: 20vw;
}

.index .fixed_block.sp_block {
	width: 100vw;
}

.index .copyright {
	padding: 2em 0 2em;
	text-align: center;
	white-space: nowrap;
}
/*content設定*/
.fnfv {
  background: #000 url(../image/fn_fvbg.jpg) center top no-repeat;
  background-size: cover;
  padding: 1vw 0 1vw;
}
.topribon {
  background: url(../image/fnrib.png) center top no-repeat;
  background-size: cover;
  padding: 1vw 0 1vw;
  margin: auto;
  width: 100%;
  display: flex;
  justify-content: center;
}

/* PC */
@media only screen and (min-aspect-ratio: 1/1) {
	.index .container {
		overflow-x: hidden;
	}

	.index .layout {
		width: auto;
	}

	.index .sp_block {
		display: none;
	}

	.index .pc_block {
		display: block;
	}

	.index .vimeo_player {
		width: 95vw;
		height: 32vw;
		top: 0vw;
		position: relative;
	}

	.index .important_matter {
		padding: 5em 0 5em;
		max-width: 56vw;
		text-align: justify;
		line-height: 1.6;
	}

	.index .copyright {
	}

}

/* SP */
@media only screen and (max-aspect-ratio: 1/1) {
.cbox01 {
    width: 95%;
    margin: 0 auto;
    background: white;
}
	.index .container {
		overflow-x: hidden;
	}

	.index .layout {
		width: auto;
	}

	.index .sp_block {
		display: block;
	}

	.index .pc_block {
		display: none;
	}

	.index .vimeo_player {
		width: 100%;
		height: 52vw;
	}

	.index .important_matter {
		padding: 2em 5% 2em;
		max-width: none;
		text-align: justify;
		line-height: 1.6;
	}

	.index .copyright {
		padding-bottom: 5vw;
	}

}
