@charset "UTF-8";

/*.pc {
	display: block;
}
.sp {
	display: none;
}
@media only screen and (max-width:768px) {
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
}*/

header,
#countdown {
	pointer-events: none;
	opacity: 0;
}

/* #countdown {
	display: none;
} */

header.act,
#countdown.act {
	transition: opacity 1s ease-out, transform 0.3s ease-out, background 0s ease-out 0s;
	pointer-events: all;
	opacity: 1;
}

.award2025 #countdown {
	color: #000;
}

header .black {
	position: absolute;
}
header .white {
	position: relative;
	transition: opacity 0.6s;
}
header.main .white {
	opacity: 0;
}

header .head {
	background: none;
	transform: translateY(0);
}
header .head h3 {
	position: relative;
	left: -2vw;
	padding: 4vw 0 20px 0;
	text-align: left;
	font-size: 1.2rem;
	white-space: nowrap;
	color: #fff;
	transition: color 0.5s;
}
header.main .head h3 {
	color: #000;
}
@media only screen and (max-width:768px) {
	.award2025 {
		background-color: #F9F9F4;
	}
	header {
		height: 24vw;
	}
	header.main {
		background-color: #F4F4F4;
		transition: opacity 1s ease-out, transform 0.3s ease-out, background 0.5s ease-out 0.6s;
	}
	header .head {
		position: static;
		width: 100%;
		padding: 20px 70px 0 105px;
		margin: auto;
	}
	header .head h3 {
		width: 100%;
		left: 0;
		padding: 0;
		line-height: 1.6;
		font-size: 0.9rem;
		white-space: normal;
	}
	#countdown.main {
		color: #fff;
	}
}


/**
 * #mv
 */
#mv {
	position: relative; /*fixed 230828*/
	/* background-color: #000; */
	width: 100vw;
	height: auto; /*100vh 230828*/
	/*max-height: -webkit-fill-available !important;*/ /*230828*/
}
#mv .attention {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	text-align: center;
	color: #fff;
}
#mv video {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
}
#mv .btn_skip {
	display: none;
	position: absolute;
	left: 50%;
	bottom: 50px;
	transform: translateX(-50%);
}
#mv .btn_skip .btn_link {
	min-width: 0;
	padding: 5px 15px;
	font-size: 1rem;
}
#mv .btn_skip .btn_link b {
	padding-right: 15px;
}
#mv .btn_skip .btn_link b::after {
	height: 7px;
	width: 10px;
}
#mv.act .attention,
#mv.act video,
#mv.act .btn_skip {
	display: none !important;
}
#mv .fix {
	box-sizing: border-box;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -40%);
	width: 100%;
	max-width: calc(1100px + 20vw);
	background-color: #000;
	padding: 0;
	opacity: 0;
	text-align: center;
	pointer-events: none;
}
#mv .fix img {
	width: 50%;
	cursor: pointer;
}
#mv.act .fix {
	pointer-events: all;
	transition: opacity 0.8s;
	opacity: 1;
}
#mv .scroll {
	position: fixed;
	bottom: 30px;
	right: 3.1vw;
	padding-right: 15px;
	font-size: 10px;
	font-weight: 300;
	letter-spacing: 0.1em;
	color: #fff;
	opacity: 0;
	z-index: 2;
}
#mv .scroll::after {
	display: block;
	position: absolute;
	top: 2px;
	bottom: 0;
	right: 0;
	margin: auto;
	width: 13px;
	height: 10px;
	background: url('../img/icon_arrow2.svg') no-repeat center center / contain;
	content: '';
}
#mv.act .scroll {
	transition: opacity 0.8s;
	opacity: 1;
}
@media only screen and (max-width:768px) {
	#mv .fix {
		max-width: 100%;
		top: 45%;
		padding: 0 80px;
	}
	#mv video {
		top: 45%;
	}
	#mv .attention {
		top: calc(50% - 50px);
	}
	#mv .fix img {
		width: 90%;
	}
	#mv .scroll {
		bottom: 20px;
		right: 20px;
	}
}

main {
	position: relative;
	height: auto; /*0 230828*/
	display: block; /*230828*/
	overflow: auto; /*hidden 230828*/
	z-index: 1;
}
footer {
	display: none;
	position: relative;
	background-color: #fff;
	height: 0;
	overflow: hidden;
	z-index: 1;
}
main.act,
footer.act {
	display: block;
	height: auto;
	overflow: auto;
}

/**
 * #news
 */
#news {
	padding: 150px 0;
	background-color: #fff;
	text-align: center;
}
#news ul {
	display: flex;
}
#news li {
	box-sizing: border-boxs;
	width: 50%;
	padding: 10px 30px;
}
#news li:nth-child(n+2) {
	border-left: solid 1px #707070;
}
#news a {
	font-weight: 500;
}
#news .col1 {
	margin-bottom: 4em;
}
@media only screen and (max-width:768px) {
	#news {
		padding: 80px 0;
	}
	#news ul {
		display: block;
	}
	#news li {
		width: 100%;
		padding: 10px 0;
	}
	#news li:nth-child(n+2) {
		border-left: none;
	}
	#news .col1 {
		margin-bottom: 3em;
	}
}


/**
 * #about
 */
#about {
	background-color: #F4F4F4;
	padding: 150px 0;
	text-align: center;
}
#about p {
	max-width: 780px;
	margin: 75px auto 0 auto;
	padding: 0 30px;
	text-align: left;
	font-size: 1.8rem;
}
@media only screen and (max-width:768px) {
	#about {
		padding: 80px 0;
	}
	#about h3 img {
		width: 40%;
	}
	#about p {
		margin: 35px auto 0 auto;
		padding: 0;
		text-align: left;
		font-size: 1.5rem;
	}
}

/**
 * #message
 */
#message {
	background-color: #EFEFEF;
	padding: 150px 0;
	text-align: center;
}
#message h3 {
	letter-spacing: 0.2em;
	font-size: 2.8rem;
	font-weight: 500;
}
#message p {
	margin-top: 2em;
	font-size: 2rem;
	font-weight: 500;
}
@media only screen and (max-width:768px) {
	#message {
		padding: 80px 0;
	}
	#message h3 {
		font-size: 1.7rem;
	}
	#message p {
		font-size: 1.5rem;
	}
}


/**
 * #guidelines
 */
#guidelines {
	background-color: #fff;
	padding: 150px 0;
	text-align: center;
}
#guidelines ul {
	display: flex;
}
#guidelines ul li {
	width: 50%;
	padding: 40px 70px 40px;
	border-left: solid 1px #707070;
}
#guidelines ul li a {
	display: flex;
	flex-direction: column;
	height: 100%;
}
#guidelines ul li:first-child {
	border: none;
}
#guidelines h3 {
	margin-top: 50px;
	line-height: 1;
	letter-spacing: 0.2em;
	font-size: 3rem;
	font-weight: 500;
}
#guidelines h3 span {
	display: block;
	margin-top: 20px;
	font-size: 1.6rem;
}
#guidelines h4 {
	letter-spacing: 0.2em;
	font-size: 2rem;
	font-weight: 500;
}
#guidelines p {
	margin-top: 60px;
	font-weight: 300;
	text-align: left;
	margin-bottom: 70px;
}
#guidelines .ani_btn {
	margin-top: auto;
}
#guidelines li:last-child .ani_btn {
	transition-delay: 0.1s !important;
}
@media only screen and (max-width:768px) {
	#guidelines {
		padding: 80px 0;
	}
	#guidelines ul {
		display: block;
	}
	#guidelines ul li {
		width: 100%;
		padding: 30px 0;
		border: none;
	}
	#guidelines ul li:first-child {
		padding-top: 0;
	}
	#guidelines h3 {
		margin-top: 25px;
		font-size: 1.8rem;
	}
	#guidelines h3 span {
		margin-top: 10px;
		font-size: 1.2rem;
	}
	#guidelines h4 {
		font-size: 1.5rem;
	}
	#guidelines p {
		margin-top: 30px;
		font-size: 1.3rem;
		margin-bottom: 30px;
	}
}



/**
 * #special
 */
#special {
	background-color: #EFEFEF;
	padding: 150px 0;
	text-align: center;
}
#special ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0 -30px;
}
#special ul li {
	box-sizing: border-box;
	width: 25%;
	padding: 0 30px 30px 30px;
}
#special li > div {
	cursor: pointer;
}
#special li figure {
	overflow: hidden;
}
#special li img {
	transition: transform 0.5s ease-in;
}
#special li > div:hover img {
	transform: scale(1.1);
	transition: transform 1s ease-out;
}
#special li > div:hover .icon img {
	transform: scale(1.25);
	transition: transform 0.3s ease-out;
}
#special h3 {
	margin-top: 1em;
	font-size: 1.6rem;
	font-weight: 500;
}
#special h4 {
	margin-top: 1em;
	font-size: 1.6rem;
	font-weight: 500;
}
#special h5 {
	margin-top: 3em;
	font-size: 1.1rem;
	font-weight: 500;
}
#special h6 {
	margin-top: 2em;
	text-align: left;
	font-size: 1.2rem;
	font-weight: 500;
}
#special p {
	margin-top: 0.5em;
	text-align: left;
	font-size: 1.2rem;
}
#special .icon {
	margin: 1em 0;
}
@media only screen and (max-width:1250px) {
	#special h3 br {
		display: none;
	}
}
@media only screen and (max-width:768px) {
	#special {
		padding: 80px 0;
	}
	#special ul {
		margin: 0 -10px;
	}
	#special ul li {
		width: 50%;
		padding: 0 10px 40px 10px;
	}
	#special h3 {
		font-size: 1.4rem;
	}
	#special h4 {
		font-size: 1.4rem;
	}
	#special h5 {
		font-size: 0.9rem;
	}
	#special h6 {
		font-size: 1rem;
	}
	#special p {
		font-size: 1.1rem;
	}
}


/**
 * #links
 */
#links {
	background-color: #fff;
	padding: 150px 0;
	text-align: center;
}
#links ul {
	display: flex;
}
#links ul li {
	width: 50%;
	padding: 40px 0 60px 0;
}
#links li > a {
	display: block;
	transition: opacity 0.3s;
}
#links li > a:hover {
	opacity: 0.5;
}
#links h4 {
	position: relative;
	max-width: 235px;
	margin: auto;
	background: no-repeat center center / contain;
}
#links h4::before {
	display: block;
	padding-top: 84.255%;
	content: '';
}
#links h3 {
	margin-top: 70px;
	text-align: center;
	font-weight: 500;
	letter-spacing: 0.2em;
}
#links h5 {
	margin-top: 35px;
	padding-top: 35px;
	background: url('../img/icon_blank_b.svg') no-repeat center top / 20px;
	font-size: 1.2rem;
}
@media only screen and (max-width:768px) {
	#links {
		padding: 80px 0;
	}
	#links ul li {
		padding: 0 5px;
	}
	#links h4 {
		max-width: 75%;
	}
	#links h3 {
		margin-top: 20px;
	}
	#links h5 {
		margin-top: 25px;
		padding-top: 20px;
		background-size: 15px;
		font-size: 0.9rem;
	}
}

/*-------------------------
20230715
-------------------------*/

header .logo img {
  width: 100%;
  left:2.604vw;
}

#endNotice{
  position:fixed;
  bottom:1.563vw;
  left:2.083vw;
  z-index:10;
}
#endNotice h2{
  background:url(../img/index/end.png) no-repeat center /contain;
  width:7.448vw;
  height:13.438vw;
}
#endNotice h2 span{
  display:block;
  text-indent:100%;
  white-space:nowrap;
  overflow:hidden;
}

#mv .mv-container{
  width:100vw;
  height:auto; /*100vh 230828*/
  overflow-x:hidden;
  overflow-y:auto; /*scroll 230828*/
  margin:0 0 0; /*30.208vw 230828*/
  scroll-behavior:auto;
}
#mv .mv-container-main{
  width:100vw;
  margin:0 auto;
  position:relative;
  background-color: #F9F9F4;
}

#mv .mv-container-main::before {
	position:absolute;
	content: "";
	top: 23.64vw;
	left: 0;
	right: 0;
	margin: auto;
	width: 52.08vw;
	height: 78.125vw;
	background-image: url(../img/index/mv_back_sp.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	/* z-index: -1; */
}

#mv .mv-container-main__text{
	/* background:url(../img/index/mv-img02.png) no-repeat center /contain; */
	width:10.08vw;
	height: 45.73vw;
	position:fixed;
	top:10px;
	left:21.35vw;
	pointer-events:none;
	/*top:17.708vw;
	position:absolute;
	transition:.1s linear;*/
}

#mv .mv-container-main__text.end{
  position:absolute;
  top:auto;
  bottom:0;
  margin:0;
}
#mv .mv-container-main__text span{
  text-indent:100%;
  display:block;
  white-space:nowrap;
  overflow:hidden;
}
#mv .mv-container-main__text a{
  display:block;
  position:absolute;
  pointer-events:auto;
}
#mv .mv-container-main__text a.t-link01{
  width:2.5vw;
  height:29.479vw;
  bottom:0;
  left:2.083vw;
}
#mv .mv-container-main__text a.t-link02{
  width:2.083vw;
  height:13.75vw;
  bottom:15.781vw;
  left:0vw;
}
#mv .mv-container-main__text a.t-link03{
  width:2.083vw;
  height:13.594vw;
  bottom:0;
  left:0;
}
#mv .mv-container-main__image{
  width:37.145vw;
  height: 118.437vw;
  position:relative;
  top:0;
  left:41.51vw;
}
#mv .mv-container-main__image img{
  width:100%;
  height:auto;
}

#mv .mv-container-description{
  text-align:center;
  width:100%;
  margin:0 auto;
  min-height:100vh;
  background-color: #F9F9F4;
  display:flex;
  justify-content:center;
  align-items:center;
  font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
  font-weight: bold;
  position: relative;
  z-index: 2;
}
#mv .mv-container-description .wrap{
    width:68.75vw;
	margin:0 auto;
}
#mv .mv-container-description h2{
	color: #4169E1;
	font-size: min(4.166vw,80px);
	font-weight: 500;
	line-height: 1.25;
	margin:0 0 2.344vw;
	letter-spacing: 0.06em;
}
#mv .mv-container-description p{
	color: #4169E1;
	font-size: 16px;
	line-height: 2;
}
#mv .mv-container-description h2 span,
#mv .mv-container-description p span{
  text-indent:100%;
  display:block;
  white-space:nowrap;
  overflow:hidden;
}
#mv .mv-container-description ul{
  padding:3.646vw 0 0;
  display:flex;
  justify-content:center;
  align-items:center;
}
#mv .mv-container-description li{
  width:20.833vw;
  margin:0 0.521vw 0 0;
}
#mv .mv-container-description li:last-child{
  margin:0;
}
#mv .mv-container-description li a{
/*
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  height:4.167vw;
*/
}
#mv .mv-container-description li a:hover{
  opacity:1;
}
#mv .mv-container-description li a span{
  width:100%;
  font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
/*  font-size:1.042vw;*/
}
#mv .mv-container-description li a.w .btn_link{
  background-color: #E4E4E4;
  color: #000;
}
#mv .mv-container-description li a.w .btn_link:hover{
  background-color: #000;
  color: #fff;
}
#mv .mv-container-description li a.w .btn_link b::after {
    background-image: url(../img/icon_arrow0_b.svg);
}
#mv .mv-container-description li a.w .btn_link:hover b::after {
    background-image: url(../img/icon_arrow0.svg);
}
#mv .mv-container-description li a.w .btn_link::before, #mv .mv-container-description li a.w .btn_link::after {
    background-color: #fff;
}
#mv .mv-container-description li a.w .btn_link span:before, #mv .mv-container-description li a.w .btn_link span:after {
    background-color: #fff;
}

@media only screen and (max-width:768px) {

	#mv .mv-container-main__text{
		position:absolute;
		top: 0;
		left: 4vw;
		width: 26.66vw;
	}
 
	#mv .mv-container-description {
		min-height: initial;
		padding: 50px 0;
	}

	#mv .mv-container-main::before {
		top: 22.66vw;
		width: 96vw;
		height: 144vw;
	}

#mv .mv-container-description ul{
  display:block;
}
#mv .mv-container-description li{
  width:calc(316 / 375 * 100vw);
  width: 100%;
  margin:0 auto calc(13 / 375 * 100vw);
}
#mv .mv-container-description li:last-child{
  margin:0 auto;
}

#mv .mv-container-main__image{
  width:58.66vw;
  margin-top:24vw;
  height: initial;
  position:relative;
  top:0;
  left:36.8vw;
}

/* #mv .mv-container-description {
	margin-top: calc(20 / 375 * 100vw);
} */

#mv .mv-container-description .wrap{
    width:85.33vw;
	margin:0 auto;
}

#mv .mv-container-description h2{
	font-size: 8vw;
  /* display:inline-block;
  background:url(../img/index/mv-text01sp.png) no-repeat center /contain;
  width:calc(316 / 375 * 100vw);
  height:calc(66 / 375 * 100vw);
  margin:0 0 calc(24 / 375 * 100vw); */
}
#mv .mv-container-description p{
	font-size: 18px;
	text-align: left;
	letter-spacing: 0.06em;
  /* display:inline-block;
  background:url(../img/index/mv-text02sp.png) no-repeat center /contain;
  width:calc(309 / 375 * 100vw);
  height:calc(342 / 375 * 100vw);
  margin-bottom: calc(20 / 375 * 100vw);; */
}

.btn_link, .btn_more {
	font-size:18px;
}
  
}

.award2025 header .logo {
	top: 2.5vw;
	left: 2.916vw;
	width: 10.41vw;
	max-width: 200px;
}

.award2025 header .logo img {
	left: 0;
}

.award2025 .btn_link,
.award2025 .btn_more {
	padding: 20px 30px 20px 40px;
    font-size: 20px;
}

.award2025 #countdown {
	left: initial;
	right: 20px;
	color: #4169e1;
}


@media only screen and (max-width:768px) {
	.award2025 header .logo {
		top: 15px;
		left: 15px;
		width: 21.33vw;
		max-width: 100px;
	}

	.award2025 .btn_link,
	.award2025 .btn_more {
		padding: 10px 30px 10px 40px;
	}

	.pc_br {
		display: none;
	}

	.award2025 footer > div {
        padding: 25px 0 156.14px 0;
    }

	.award2025 #countdown.countdown_none {
		opacity: 0;
		transition: opacity 0.5s ease-out, transform 0.3s ease-out, background 0s ease-out 0s;
	}
}

@media only screen and (max-width:768px) {
	.award2025 #countdown h2 {
		font-size: 2.5rem;
	}
}
@media only screen and (max-width:768px) {
	.award2025 #countdown h2 span {
		font-size: 1.35rem!important;
	}
}
@media only screen and (max-width:768px) {
	.award2025 #countdown div em {
		font-size: 4.8rem;
	}
}