/*  font-family: LINESeedJPStd,sans-serif;*/
@font-face {
	font-family: 'LINESeedJP';
	src: url('../font/LINESeedJP_OTF_Rg.woff') format('woff');
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: 'LINESeedJP01';
	src: url('../font/LINESeedJP_OTF_Bd.woff') format('woff');
	font-weight: 700;
	font-style: normal;
}

html,
body {
	overflow-x: hidden !important;
}

.slide-top {
	opacity: 0;
	transform: translate(0, -20px);
	transition: all 1s ease-out;
}

.slide-bottom {
	opacity: 0;
	transform: translate(0, 20px);
	transition: all 1s ease-out;
}

.slide-left {
	opacity: 0;
	transform: translate(-20px, 0);
	transition: all 1s ease-out;
}

.slide-right {
	opacity: 0;
	transform: translate(20px, 0);
	transition: all 1s ease-out;
}

#head-wrapper {
	z-index: 999;
}

main {
	font-family: 'LINESeedJP';
	text-align: center;
	font-size: 1.2em;
}

.fv {
	position: relative;
}

.fv .top_left {
	position: absolute;
	top: -2%;
	left: -10%;
}

.fv .top_right {
	position: absolute;
	top: -3%;
	right: -0%;
}

.fv_txt {
	position: absolute;
	top: 10%;
	left: 30%;
}

.fv picture img {

	position: relative;
	z-index: 99999;
}


@media screen and (min-width:769px) and (max-width:1650px) {
	.fv .top_left {
		width: 50%;
		position: absolute;
		top: -1%;
		left: -15%;
	}

	.fv .top_right {
		width: 50%;
		position: absolute;
		top: -3%;
		right: -10%;
	}

	.fv_txt {
		width: 45%;
		position: absolute;
		top: 10%;
		left: 25%;
	}

}


.target {
	animation: floating-y 2.0s ease-in-out infinite alternate-reverse;
}

@keyframes floating-y {
	0% {
		transform: translateY(-2%);
	}

	100% {
		transform: translateY(2%);
	}
}

main p {
	font-family: 'LINESeedJP' !important;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 1px;
}

main picture img {
	max-width: 100%;
}

main .ttl {
	margin: 0;
	padding: 1.5rem 0;
	line-height: 1.4;
	color: #fff;
	background: #074097;
}

main .ttl strong {
	font-size: 1.2em;
	color: #ffc30e;
}

main section {
	margin: 0;
}

main section .info {
	font-size: 1.2em;
}

main .section_eee {
	padding: 2rem 0;
	background: #eeeeee;
}


main .rank_fv {
	margin-top: 2rem;
	position: relative;
}

main .rank_fv .left {
	width: 30%;
	position: absolute;
	top: -25%;
	left: 0%;
}

main .rank_fv .right {
	width: 30%;
	position: absolute;
	top: -20%;
	right: 0%;
}


main .w_point div,
main .rank div {
	max-width: 654px;
	width: 90%;
	margin: 2rem auto;
	padding: 2rem 0;
	background: #fff;
}


main .w_point div p {
	width: 100%;
	max-width: 544px;
	margin: 0 auto;
	text-align: left;
	position: relative;
}

main .w_point div p small {
	margin-top: 1rem;
	font-weight: 400;
	display: block;
}

main .w_point div b {
	color: #074097;
}

main .w_point div:last-child b {
	color: #bc0e0e;
}

main .rank div table {
	max-width: 654px;
	width: 90%;
	margin: 2rem auto;
}

main .rank div table th {
	width: 40%;
	padding: 1rem;
	font-size: 1.2em;
	color: #fff;
	background: #074097;
	border: 1px solid #fff;
}

main .rank div table tr:first-child th:first-child {
	text-align: center;
}

main .rank div table th small {
	display: block;
}

main .rank div table tr:nth-child(5) th {
	background-image: linear-gradient(180deg, rgba(175, 175, 175, 1), rgba(195, 196, 196, 1) 23%, rgba(188, 190, 190, 1) 35%, rgba(122, 124, 125, 1) 71%);
}

main .rank div table tr:nth-child(6) th {
	background-image: linear-gradient(180deg, rgba(140, 0, 13, 1), rgba(173, 0, 26, 1) 23%, rgba(170, 0, 26, 1) 35%, rgba(129, 0, 7, 1) 71%);
}

main .rank div table td:nth-child(2) {
	width: 40%;
	padding: 1rem;
	font-size: 1.2em;
	font-weight: 600;
	background: #c4ccd9;
	border: 1px solid #fff;
}

main .rank div table tr:nth-child(5) td:nth-child(2) {
	background: #d1d1d1;
}

main .rank div table tr:nth-child(6) td:nth-child(2) {
	background: #ecafb8;
}

main .rank div table td:nth-child(3) {
	padding: 1rem;
	font-size: 1.5em;
	font-weight: 800;
	color: #074097;
	background: #f3f3f3;
	border: 1px solid #fff;
}

main .rank div table tr:first-child td:nth-child(3) {
	color: #222;
	font-size: 1.2em;
	font-weight: 600;
}

main .rank div .last th {
	font-size: 1em;
	background: #bc0e0e;
}

main .rank div .last td:nth-child(2) {
	background: #edcaca;
}

main .rank div .last td:nth-child(3) {
	color: #bc0e0e !important;
	font-size: 1.5em !important;
	font-weight: 800;
}

main .rank div ul {
	width: 100%;
	max-width: 645px;
	margin: 0 auto;
	padding: 1rem 1rem 0 1rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	list-style: none;
	color: #fff;
	background: #ffc30e;
}

main .rank div ul li:first-child {
	padding: 0.5rem 0;
	font-size: 2em;
	width: 45%;
	background: #074097;
}

main .rank div ul li:last-child {
	margin-top: -0.5rem;
	color: #074097;
	font-size: 1.8em;
}

main .rank div ul li:last-child strong {
	font-size: 2em;
}

main .benefits div {
	max-width: 645px;
	width: 90%;
	margin: 0 auto 2rem auto;
	padding: 2rem 0;
	border-radius: 10px;
	border: 5px solid #074097;
	background: #fff;
}

main .benefits div ul {
	width: 90%;
	max-width: 469px;
	margin: 0 auto 1rem auto;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	text-align: left;
}

main .benefits div ul li:first-child {
	width: 28%;
}

main .benefits div ul li:last-child {
	width: 72%;
}

main .benefits div ul li {
	color: #074097;
}

main .benefits div ul li strong {
	font-size: 2.5em;
}

main .benefits div ul li small {
	color: #eaa000;
	font-weight: 600;
	font-size: 1.2em;
	display: block;
}

main .benefits div p {
	width: 90%;
	max-width: 469px;
	margin: 0 auto;
	text-align: left;
}

main .benefits b {
	color: #f11a1a;
}

main .benefits div+p {
	width: 90%;
	max-width: 645px;
	margin: 0 auto;
	text-align: left;
	font-size: 1.1em;
}

main .app ul {
	width: 100%;
	max-width: 645px;
	list-style: none;
	margin: 2rem auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}

main .app ul li {
	border: 0;
	width: auto;
}


main .app ul:first-child {
	width: 90%;
	max-width: 645px;
}

main .app ul:first-child li {
	width: 48%;
	padding-top: 1rem;
	border: 5px solid #074097;
	border-radius: 10px;
	position: relative;
}

main .app ul li p {
	margin-bottom: 4rem;
	line-height: 1.4;
	color: #074097;
	font-size: 1.4em;
}

main .app ul li p small {
	display: block;
	color: #333;
}

main .app ul li em {
	width: 100%;
	padding: 0.5rem 0;
	color: #fff;
	display: block;
	background: #074097;
	position: absolute;
	bottom: 0;
	left: 0;
}

main .app div {
	width: 90%;
	max-width: 645px;
	margin: 1rem auto 0rem auto;
	padding: 2rem 0 3rem 0;
	border-bottom: 1px solid #ccc;
}

main .app div p {
	text-align: left;
}

main .app div .ttl2 {
	padding-left: 1rem;
	font-size: 2em;
	line-height: 1.4;
	border-left: 8px solid #074097;
}

main .app div .ttl2 small {
	font-size: 0.8em;
	color: #074097;
	display: block;
}

main .app .end {
	width: 90%;
	max-width: 645px;
	margin: 3rem auto 0rem auto;
	padding: 2rem;
	border-bottom: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	align-items: center;
	border: 5px solid #074097;
	border-radius: 10px;
}


main .app .end img {
	width: 25%;
}

main .app .end p {
	width: 70%;
	margin: 0;
	padding: 0;
	font-size: 1.2em;
}

main .app .end p span {
	color: #074097;
}

main .app div .info+a {
	padding: 1.5rem 0;
	display: block;
	color: #fff;
	font-size: 2em;
	background: #6f6f6f;
	border-radius: 10px;
	position: relative;
	text-decoration: none;
}

main .app div .info+a:before {
	content: "";
	position: absolute;
	top: 45%;
	right: 5%;
	width: 19px;
	height: 19px;
	border-top: 5px solid #fff;
	border-right: 5px solid #fff;
	transform: rotate(45deg);
	margin-top: -5px;
}


.pcbr {
	display: block;
}

.spbr {
	display: none;
}



@media screen and (max-width:769px) {
	.pcbr {
		display: none;
	}

	.spbr {
		display: block;
	}

	img {
		max-width: 100%;
	}

	.fv .top_left {
		width: 60%;
		position: absolute;
		top: 2%;
		left: -10%;
	}

	.fv .top_right {
		width: 60%;
		position: absolute;
		top: 2%;
		right: -5%;
	}

	.fv_txt {
		width: 80%;
		position: absolute;
		top: 20%;
		left: 10%;
	}



	main section .info {
		margin: 0 1.5rem 2rem 1.5rem;
		font-size: 1.2em;
		text-align: left;
	}


	main .w_point div,
	main .rank div {
		max-width: 654px;
		width: 90%;
		margin: 2rem auto;
		padding: 2rem;
		background: #fff;
	}

	main .rank_fv {
		margin-top: 3rem;
	}

	main .rank_fv img:first-child {
		width: 70%;
		position: relative;
		z-index: 99;
	}

	main .rank_fv .left {
		width: 40%;
		position: absolute;
		top: -50%;
		left: -10%;
	}

	main .rank_fv .right {
		width: 40%;
		position: absolute;
		top: -50%;
		right: -5%;
	}


	main .rank div {
		width: 100%;
		padding: 2rem 1.5rem 0rem 1.5rem;
	}



	main .rank div table {
		width: 100%;
		margin: 2rem auto;
	}

	main .rank div table th {
		width: 40%;
		padding: 0.5rem;
		font-size: 1em;
	}



	main .rank div table td:nth-child(2) {
		width: 35%;
		padding: 0.5rem;
		font-size: 1em;
	}



	main .rank div table td:nth-child(3) {
		padding: 0.5rem;
		font-size: 1em;
	}

	main .rank div table tr:first-child td:nth-child(3) {
		color: #222;
		font-size: 1em;
	}

	main .rank div .last th {
		font-size: 0.7em;
	}


	main .rank div .last td:nth-child(3) {
		font-size: 1em !important;
	}

	main .rank div ul {
		padding-bottom: 1rem;
	}

	main .rank div ul li:first-child {
		padding: 0.5rem 0;
		font-size: 1em;
		width: 40%;
		background: #074097;
	}

	main .rank div ul li:last-child {
		width: 60%;
		margin-top: 0rem;
		color: #074097;
		font-size: 1.3em;
	}

	main .rank div ul li:last-child strong {
		font-size: 1.2em;
	}

	main .both img {
		width: 90%;
	}

	main .benefits div {
		width: 90%;
		margin: 0 auto 2rem auto;
		padding: 2rem 0;
		border-radius: 10px;
		border: 5px solid #074097;
		background: #fff;
	}

	main .benefits div img {
		width: 80%;
	}



	main .benefits div ul li strong {
		font-size: 1.8em;
	}

	main .benefits div ul li small {
		color: #eaa000;
		font-weight: 600;
		font-size: 0.9em;
		display: block;
	}

	main .benefits div p {
		width: 90%;
		max-width: 469px;
		margin: 0 auto;
		text-align: left;
	}

	main .benefits b {
		color: #f11a1a;
	}

	main .benefits div+p {
		width: 90%;
		max-width: 645px;
		margin: 0 auto;
		text-align: left;
		font-size: 1.1em;
	}


	main .app ul li {
		border: 0;
		width: auto;
	}

	main .app ul li:first-child {
		width: 44%;
	}

	main .app ul li:last-child {
		width: 54%;
	}

	main .app ul:first-child {

		align-items: stretch;
	}

	main .app ul:first-child li {
		width: 48%;
		padding-top: 1rem;
		border: 5px solid #074097;
		border-radius: 10px;
		position: relative;
	}

	main .app ul:first-child li:first-child img {
		width: 35%;
	}

	main .app ul:first-child li:nth-child(2) img {
		width: 90%;
	}

	main .app ul li p {
		margin-bottom: 4rem;
		line-height: 1.4;
		color: #074097;
		font-size: 1em;
	}

	main .app ul li p small {
		font-size: 0.7em;
	}

	main .app div {
		margin: 0rem auto 0rem auto;
		padding: 1rem 0 2rem 0;
	}

	main .app div .info {
		margin: 1rem 0;
	}


	main .app div .ttl2 {
		padding-left: 1rem;
		font-size: 1.7em;
	}

	main .app div .ttl2 small {
		font-size: 0.8em;
	}

	main .app .end {
		width: 90%;
		max-width: 645px;
		margin: 3rem auto 0rem auto;
		padding: 1rem;
	}


	main .app .end img {
		width: 25%;
	}

	main .app .end p {
		width: 72%;
		font-size: 1em;
	}

	main .app .end p span {
		color: #074097;
	}

	main .app .end+div ul li {
		width: 49%;
	}

	main .app div .info+a {
		padding: 1.5rem 0;
		display: block;
		color: #fff;
		font-size: 1.5em;
		font-weight: 600;
		background: #6f6f6f;
		border-radius: 10px;
		position: relative;
		text-decoration: none;
	}

	main .app div .info+a:before {
		top: 46%;
		right: 10%;
		width: 15px;
		height: 15px;
		border-top: 3px solid #fff;
		border-right: 3px solid #fff;
	}


}


/* .ori-foot-container .container{
	display: flex;
	flex-direction: column;
	align-items: center;
}
.ori-foot-container{
	display: block !important;
	flex-direction: column;
} */

.ori-foot-wrapper {
	/* background-color: #bc0e0e; */
	display: flex !important;
	flex-direction: column !important;
	text-align: center;
}

.pc-only {
	margin-bottom: 15px;
}


.member {
	width: 100%;
	height: auto;

}

.member-wrapper {
	width: 90%;
	max-width: 654px;
	height: auto;
	margin: 2rem auto;
	padding: 2.2rem 0;
	border: #004098 solid 3px;
}

.member-box01 {
	margin: 0 auto;
	width: 85%;
	height: auto;
	margin-bottom: 30px;
}

.member-link {
	display: block;
	width: 100%;
	font-weight: bold;
	padding: 1.5rem 2rem;
	color: #fff;
	background-color: #004098;
	text-decoration: none;
	box-shadow: 7px 7px 0px #bbb;
	transition: box-shadow .25s;
}

.member-link:hover {
	color: #fff;
	box-shadow: 2px 2px 0px #bbb;
}

.member-box02 {
	margin: 0 auto;
	width: 85%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.box02-sub {
	width: 47.5%;
}

@media screen and (max-width: 585px) {
	.member-wrapper {
		padding: 1.5rem 0;
	}

	.member-box01 {
		width: 90%;
		margin-bottom: 20px;
	}

	.member-link {}

	.member-box02 {
		flex-direction: column;
		width: 90%;
	}

	.box02-sub {
		width: 100%;
	}

	.box02-sub:first-child {
		margin-bottom: 20px;
	}

}

.section-video {
	width: 90%;
	max-width: 645px;
	height: auto;
	margin: 1rem auto ;
}
.video-headline {
	margin-bottom: 0.5rem;
	font-size: 1.3rem;
	font-weight: bold;
	padding: 4px;
	color: #004098;
	border: #004098 solid 4px;
	border-radius: 8px;
}
.video-arrow {
	list-style: none;
	display: flex;
	justify-content: space-around;
}
@keyframes move-up-down {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}
.arrow-item {
    width: 9%;
    animation: move-up-down 1.5s infinite;
}
.arrow-image {
	width: 100%;
}
.video {
	margin: 0 auto 20px;
	width: 80%;
	height: auto;
	border-radius: 10px;
}
.video-container {
	position: relative;
	width: 100%;
	margin: 0 auto;
	height: 0;
	padding-bottom: 177.78%;
}
.video-iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 5px;
}

.movie {
	width: 80%;
	margin: 0 auto;
	/* background-color: #2dab24; */
}
.movie-link {
	display: block;
	margin-top: 10px;
	padding: 15px 3px;
	width: 100%;
	color: #ee1717;
	background-color: #fff;
	border: #ee1717 solid 4px;
	font-weight: bold;
	text-decoration: none;
	border-radius: 10px;
}
.movie-link:hover{
	color: #fff;
	background-color: #ee1717;
	border: #ee1717 solid 2px;
}

@media screen and (max-width: 585px) {
	.video-headline {
		font-size: 1rem;
	}
	.movie-link {
		font-size: 0.9rem;
	}
}

