@charset "utf-8";


/*=======================================
TOPページ
=======================================*/

.thanks{
	width: 70%;
	margin: 0 auto;
	}
@media screen and (max-width: 900px) {
.thanks{
	width: 80%;
	}
	}
.thanks a{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 15px 0;
	width: 100%;
	height: 100%;
	background: #A72D2A;
	border-radius: 15px;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	-webkit-transition: all .6s;
	-ms-transition: all .6s;
	transition: all .6s;
	}
.thanks a:hover{
	background: #8D1916;
	}
.thanks a p{
	color:#fff;
	text-align: center;
	line-height: 1.6em;
	font-size: .9em;
	}


/*
hero_phase3
*/

.hero_phase3{
	width: 100%;
	height: calc(100vh - 150px);
	/*aspect-ratio: 1920 / 1080;*/
	background:#000;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	flex-direction: row;
	overflow: hidden;
	position: sticky;
	top: 0;
	z-index:0;
	}
@media screen and (max-width: 900px) {
.hero_phase3{
	width: 100%;
	height: calc(100svh - 90px);
	align-items: flex-start;
	justify-content: flex-start;
	aspect-ratio: auto;
	flex-direction: column;
	}
	}

.hero_phase3 > div{
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	}

.hero_phase3 div video{
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	}
@media screen and (max-width: 900px) {
.hero_phase3 div video{
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	}
	}

.hero_phase3 > div .svg-authentic {
	position: absolute;
	top: 0;
	left: -3px;
	width: auto;
	height: 100%;
	backdrop-filter: blur(12px);
	}

.hero_phase3 > div .svg-authentic img{
	width: auto;
	height: 99%;
	}

.hero_phase3 div button{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index:1;
	display: flex;
	align-items: center;
	justify-content: center;
	background:transparent;
	border: 0;
	background-position: center center;
	background-repeat: no-repeat;
	background-image: url(../images/icon-play.svg);
	background-size: 80px;
	cursor: pointer;
	opacity: 0.9;
	filter: opacity(0.9);
	filter: alpha(opacity=90);
	}
@media screen and (max-width: 900px) {
.hero_phase3 div button{
	background-size: 50px;
	}
	}

.modal-video-body {
	max-width: 1280px !important;
	}

.modal-video {
	background-color: rgba(0, 0, 0, 0.75) !important;
	}

.modal-video-close-btn {
	cursor: pointer;
	}


/*
bbs
*/

.bbs{
	display: flex;
	align-items: center;
	width: 100%;
	white-space:nowrap;
	height: 40px;
	line-height: 40px;
	background-color: rgba(0, 0, 0, 1);
	color: #fff;
	overflow:hidden;
	position: relative;
	z-index: 1;
	}

.bbs ul {
	animation: flowing 25s linear infinite;
	transform:translateX(100%);
	margin: 0;
	padding: 0;
	}

.bbs:hover ul{
	animation-play-state: paused;
	}

.bbs ul li{
	display: inline-block;
	padding-right: 150px;
	}

.bbs ul li a{
	color:#fff;
	font-size: .9em;
	font-weight: 700;
	}

.bbs ul li a:hover{
	color:#fff;
	text-decoration: underline;
	}
@media screen and (max-width: 900px) {
.bbs ul li a:hover{
	text-decoration: none;
	}
	}

@keyframes flowing {
	0% { transform:translateX(0); }
	100% { transform:translateX(-100%); }
	}



/*
authentic
*/

.authentic{
	position: relative;
	width: 100%;
	z-index: 1;
	backdrop-filter: blur(12px);
	margin-top: -110px;
	}

.authentic img{
	width: 99.5%;
	}


/*
recent
*/

.recent{
	width: 100%;
	height: auto;
	text-align: center;
	/*border-top: 1px solid #000;*/
	padding: 80px 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	background-color: #f3f3f3;
	position: relative;
	z-index:2;
	}
@media screen and (max-width: 900px) {
.recent{
	padding: 60px 0;
	}
	}

.recent > h3{
	color:#000;
	font-weight: 700;
	font-size: 1.8em;
	width: 80%;
	text-align: left;
	}
@media screen and (max-width: 900px) {
.recent > h3{
	width: 90%;
	}
	}

.recent > p{
	font-weight: 500;
	margin-top: 15px;
	}

.recent > div{
	margin-top: 50px;
	width: 80%;
	}
@media screen and (max-width: 900px) {
.recent > div{
	margin-top: 35px;
	width: 90%;
	}
	}

.recent > div ul{
	}

.recent > div ul li{
	border-top: 1px solid #dedede;
	padding: 10px 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	flex-direction: row;
	}
@media screen and (max-width: 900px) {
.recent > div ul li{
	flex-direction: column;
	}
	}

.recent > div ul li p{
	text-align: left;
	line-height: 1.6em;
	}

.recent > div ul li p:first-child{
	width: 160px;
	color:#000;
	}
@media screen and (max-width: 900px) {
.recent > div ul li p:first-child{
	width: 100%;
	}
	}

.recent > div ul li p:last-child{
	width: calc(100% - 160px);
	}
@media screen and (max-width: 900px) {
.recent > div ul li p:last-child{
	margin-top:10px;
	width: 100%;
	}
	}

.recent > div ul li a{
	}

.recent > div ul li p:last-child a:hover {
	color:#000;
	text-decoration: underline;
	}

.recent > div.btn{
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 50px;
	}
@media screen and (max-width: 900px) {
.recent > div.btn{
	margin-top: 40px;
	}
	}


/*
for runner
*/

.runner{
	width: 100%;
	height: 100vh;
	background:#000;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	flex-direction: row;
	position: absolute;
	position: sticky;
	top:0;
	left:0;
	overflow: hidden;
	z-index:2;
	}
@media screen and (max-width: 900px) {
.runner{
	width: 100%;
	height: 100vh;
	align-items: flex-start;
	justify-content: flex-start;
	aspect-ratio: auto;
	flex-direction: column;
	}
	}

.runner > div{
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	}

.runner > div video{
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: brightness(60%);
	}

.runner > div > div.box{
	width: 100%;
	height: 100%;
	display: flex;
	align-items: stretch;
	justify-content: center;
	flex-wrap: nowrap;
	flex-direction: row;
	position: relative;
	z-index: 1;
	}
@media screen and (max-width: 900px) {
.runner > div > div.box{
	align-items: center;
	flex-wrap: wrap;
	flex-direction: column;
	}
	}

.runner > div > div.box > div.cell{
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	}
@media screen and (max-width: 900px) {
.runner > div > div.box > div.cell{
	height: 50%;
	}
.runner > div > div.box > div.cell:last-child{
	justify-content: flex-start;
	}
	}

.runner > div > div.box > div.cell > h3{
	color:#fff;
	font-weight: 700;
	font-size: 3.8em;
	line-height: 1em;
	padding-left: 5%;
	}

.runner > div > div.box > div.cell:first-child > p{
	color:#fff;
	font-weight: 700;
	font-size: 1.3em;
	line-height: 1em;
	margin-top: 1em;
	padding-left: 6%;
	}

.runner > div > div.box > div.cell > div.button{
	width: 100%;
	padding: 10px 0;
	}
@media screen and (max-width: 900px) {
.runner > div > div.box > div.cell > div.button{
	padding-left: 5%;
	}
	}

.runner > div > div.box > div.cell > div.button a{
	display: block;
	width: 100%;
	background-position: right 10% center;
	background-repeat: no-repeat;
	background-image: url(../images/2026/svg-top-arrow-right.svg);
	background-size: 15px;
	-webkit-transition: all .4s;
	-ms-transition: all .4s;
	transition: all .4s;
	padding: 30px 60px;
	backdrop-filter: brightness(45%);
	border-radius: 2px;
	}
@media screen and (max-width: 900px) {
.runner > div > div.box > div.cell > div.button a{
	padding: 20px 60px 20px 40px;
	background-size: 12px;
	}
	}

.runner > div > div.box > div.cell > div.button a:hover{
	transform: translate(5%, 0);
	backdrop-filter: brightness(0%);
	}
@media screen and (max-width: 900px) {
.runner > div > div.box > div.cell > div.button a:hover{
	transform: translate(5%, 0);
	}
	}

.runner > div > div.box > div.cell > div.button a h4{
	color:#fff;
	font-weight: 700;
	font-size: 2em;
	line-height: 1em;
	}
@media screen and (max-width: 900px) {
.runner > div > div.box > div.cell > div.button a h4{
	font-size: 1.8em;
	}
	}

.runner > div > div.box > div.cell > div.button a p{
	color:#fff;
	font-weight: 700;
	font-size: 1em;
	line-height: 1em;
	margin-top: 1em;
	}


/*
about
*/

.about{
	position: relative;
	width: 100%;
	background:#fff;
	z-index: 3;
	padding: 80px 0;
	}
@media screen and (max-width: 900px) {
.about{
	padding: 60px 0;
	}
	}

.about > .box {
	width: 90%;
	max-width: 800px;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	flex-direction: row;
	}
@media screen and (max-width: 900px) {
.about > .box {
	flex-direction: column;
	row-gap:30px;
	}
	}

.about > .box > div {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 200px;
	}
@media screen and (max-width: 900px) {
.about > .box > div {
	width: 100%;
	align-items: center;
	justify-content: center;
	}
	}

.about > .box > div:last-child {
	width: 600px;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	row-gap: 1em;
	text-align: left;
	}
@media screen and (max-width: 900px) {
.about > .box > div:last-child {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	}
	}

.about > .box > div img{
	width: 120px;
	}
@media screen and (max-width: 900px) {
.about > .box > div img{
	width: 80px;
	}
	}

.about > .box > div:last-child h3{
	font-weight: 700;
	font-size: 1.8em;
	line-height: 1em;
	}

.about > .box > div:last-child p{
	font-size: 1em;
	line-height: 1.6em;
	text-align: justify;
	text-justify: inter-ideograph;
	}

.langEN .about > .box > div:last-child p{
	text-align: left;
	}



/*
digest
*/

.digest{
	width: 100%;
	height: 500px;
	background:#fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	flex-direction: row;
	overflow: hidden;
	position: relative;
	z-index:3;
	}
@media screen and (max-width: 900px) {
.digest{
	width: 100%;
	height: 100vw;
	align-items: flex-start;
	justify-content: flex-start;
	aspect-ratio: auto;
	flex-direction: column;
	}
	}

.digest > div{
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	}

.digest > div p{
	width: 100%;
	position: absolute;
	bottom: 15%;
	left: 0;
	color: #fff;
	font-weight: 700;
	font-size: 2.2em;
	line-height: 1.1em;
	text-align: center;
	z-index:1;
	}
@media screen and (max-width: 900px) {
.digest > div p{
	font-size: 1.6em;
	line-height: 1.2em;
	}
	}

.digest div video{
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: brightness(50%);
	}
@media screen and (max-width: 900px) {
.digest div video{
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	}
	}

.digest > div .svg-authentic {
	position: absolute;
	top: 0;
	left: -3px;
	width: auto;
	height: 100%;
	backdrop-filter: blur(12px);
	}

.digest > div .svg-authentic img{
	width: auto;
	height: 100%;
	}

.digest div button{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index:2;
	display: flex;
	align-items: center;
	justify-content: center;
	background:transparent;
	border: 0;
	background-position: center top 40%;
	background-repeat: no-repeat;
	background-image: url(../images/icon-play.svg);
	background-size: 80px;
	cursor: pointer;
	opacity: 0.9;
	filter: opacity(0.9);
	filter: alpha(opacity=90);
	}
@media screen and (max-width: 900px) {
.digest div button{
	background-size: 50px;
	}
	}

.modal-video-body {
	max-width: 1280px !important;
	}

.modal-video {
	background-color: rgba(0, 0, 0, 0.75) !important;
	}

.modal-video-close-btn {
	cursor: pointer;
	}


/*
links_phase2
*/

.links_phase2{
	width: 100%;
	border-top: 4px solid #A72D2A;
	border-bottom: 4px solid #A72D2A;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: row;
	}

.links_phase2 > div{
	width: 100%;
	border-right: 1px solid #dedede;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	row-gap: 30px;
	padding: 50px 0;
	}
@media screen and (max-width: 900px) {
.links_phase2 > div{
	padding: 30px 0;
	row-gap: 20px;
	}
	}

.links_phase2 > div:last-child{
	border-right: none;
	}

.links_phase2 > div > p{
	font-size: 1.1em;
	font-weight: 500;
	text-align: center;
	line-height: 1.5em;
	}

.links_phase2 div.btn{
	display: block;
	width: auto;
	}
@media screen and (max-width: 900px) {
.links_phase2 div.btn{
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
	flex-direction: row;
	column-gap: 10px;
	width: 80%;
	}
	}

.links_phase2 div.btn a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 255px;
	height: 45px;
	background-color:#000;
	border-radius: 9999px;
	-webkit-border-radius: 9999px;
	-moz-border-radius: 9999px;
	background-position: right 15px center;
	background-repeat: no-repeat;
	background-image: url(../images/arrow-right.svg);
	background-size: 20px;
	}
@media screen and (max-width: 900px) {
.links_phase2 div.btn a{
	background-position: right 10px center;
	width: 100%;
	height: 45px;
	}
	}

.links_phase2 div.btn a:hover{
	background-color:#8D1916;
	}

.links_phase2 div.btn a p{
	color:#fff !important;
	line-height: 35px;
	}
@media screen and (max-width: 900px) {
.links_phase2 div.btn a p{
	font-size: 1em;
	}
	}








