@charset "UTF-8";

/* -------------------------------------------------
	File name : common.css
---------------------------------------------------- */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
	font-size: 62.5%;
}

body {
/* 	font-family: -apple-system,"kinto-sans","BlinkMacSystemFont,Roboto","Segoe UI semibold","Helvetica Neue",HelveticaNeue,"Segoe UI",Verdana,Meiryo,sans-serif; */
  font-family: Inter,Noto Sans Japanese,Hiragino Kaku Gothic ProN,ヒラギノ角ゴ ProN W3,Noto Sans JP,meiryo,メイリオ,sans-serif;
	font-size: 1.6em;
	font-weight: 400;
	font-style: normal;
	font-feature-settings: "palt" 1;
	line-height: 1.6em;
	letter-spacing: .06em;
	color: var(--black-color);
	background-color: var(--white-color);
	-webkit-appearance: none;
	-webkit-text-size-adjust: 100%;
	margin: 0;
	padding: 0;
	position: relative;
	line-break: anywhere;
}

::selection {
	background-color: rgba(226,227,228,.5);
}

a {
	color: var(--black-color);
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}

pre {
	font-size: 1.2em;
	white-space: pre-line;
}

em {
	font-style: normal;
}

button, input, select, textarea {
	font-family : inherit;
	font-size : 100%;
}

img {
	vertical-align: bottom;
}

ul {
	list-style: none;
}

input[type="submit"] {
	appearance: none;
	-webkit-appearance: none;
}

address {
	font-style: normal;
}

figure {
	margin-bottom: 0 !important;
}

:root {
	--white-color: #FFFFFF;
	--black-color: #101010;
	--text-color: #525252;
	--light-color: #EEEEEE;
	--low-color: #CACACA;
	--red-color: #F32938;
	--gold-color: #d6ce70;
	--silver-color: #c9c9c9;
	--bronze-color: #d4998d;
	--prize-color: #b7a990;
}

#stcl {
	overflow: visible;
	position: relative;
}


/* =============================
	header
=============================== */
.header {
	width: 100%;
	height: calc(100vh - 100px);
	position: absolute;
	display: flex;
	justify-content: space-between;
}
.home-logo {
	position: absolute;
	bottom: 3em;
	z-index: 3;
	mix-blend-mode: difference;
	padding-inline: 5vw;
	transition: all .5s ease-in-out;
}
.home-logo h1 img {
	width: clamp(13em,28vw,35em);
}
.home-logo .fixed {
	position: fixed;
	top: 1vw;
	left: 0;
	transition: all .5s ease;
	transform: scale(0.6);
	z-index: 100;
}

.header-navi {
	/*width: 500px;*/
	padding-block: 4vw;
	position: fixed;
	right: 5vw;
	z-index: 2;
	opacity: 1;
	transition: .3s ease-in-out;
	mix-blend-mode: difference;
}
.header-navi_contents {
	display: flex;
	flex-direction: column;
	row-gap: 2em;
}
.header-navi .global {
	font-family: canada-type-gibson, sans-serif;
	font-weight: 600;
	text-transform: uppercase;
	text-align: right;
	display: flex;
	flex-direction: column;
	gap: .5em;
}
.header-navi .global-main {
	font-size: min(8vh,3.8em);
	letter-spacing: 0;
	line-height: 1em;
}
.header-navi .global-sub {
	font-size: min(4vh,1.5em);
	letter-spacing: 0;
	line-height: 1.2em;
}
.header-navi .global-social {
	font-size: min(6vh,2.5em);
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.2em;
}
.header-navi .global-main a {
	color: var(--white-color);
	background: transparent;
/* 	padding-top: .2em; */
	padding-inline: .1em;
	position: relative;
	z-index: 1;
	transition: .3s;
}
.header-navi .global-main a::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: var(--black-color);
  transform-origin: 100% 50%;
  transform: scaleX(0);
  transition: transform ease .3s;
}
.header-navi .global-main a:hover {
  color: var(--white-color);
}
.header-navi .global-main a:hover::before {
  transform-origin: 0% 50%;
  transform: scaleX(1);
}
.header-navi .global-sub a {
	color: var(--white-color);
	background: transparent;
/* 	padding-top: .2em; */
	padding-inline: .2em;
	position: relative;
	z-index: 1;
	transition: .3s;
}
.header-navi .global-sub a::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: var(--black-color);
  transform-origin: 100% 50%;
  transform: scaleX(0);
  transition: transform ease .3s;
}
.header-navi .global-sub a:hover {
  color: var(--white-color);
}
.header-navi .global-sub a:hover::before {
  transform-origin: 0% 50%;
  transform: scaleX(1);
}
.header-navi .global-social a {
	color: var(--white-color);
	transition: .3s ease;
}
.header-navi .global-social a:hover {
	opacity: .8;
	transition: .3s ease;
}
.header-entry {
	position: fixed;
	right: 5vw;
	bottom: 4vw;
	z-index: 500;
}
.header-entry .group-entry {
	display: flex;
	flex-direction: column;
	row-gap: 1em;
}
.header-entry .reds {
	display: flex;
	flex-direction: column;
	row-gap: 1em;
	margin-bottom: 1em;
}
.header-entry .group-entry a {
	height: min(10vh,60px);
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: .2em;
	font-size: 1.1em;
	color: var(--white-color);
	background-color: var(--black-color);
	transition: .3s ease;
	padding-inline: .5em;
}
.header-entry .reds a {
	min-width: 300px;
	height: min(10vh,60px);
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: .2em;
	font-size: 1.1em;
	color: var(--white-color);
	background-color: var(--red-color);
	transition: .3s ease;
	padding-inline: 1.5em;
}
.header-entry .group-entry a:hover {
	background-color: var(--text-color);
	transition: .3s ease;
}
.header-entry .red a:hover {
	background-color: var(--black-color);
	transition: .3s ease;
}
.header-entry .group-entry a small {
	font-size: 80%;
}




.header-entry .group-entry em {
	font-weight: 600;
	font-size: 90%;
	text-transform: uppercase;
}

.header-entry .soon a {
	pointer-events: none;
	opacity: 5%;
}
.header-entry small {
	display: block;
	text-align: center;
	padding-block: .2em;
}

.header .none {
	opacity: 0;
	transition: .3s ease-in-out;
	display: none;
}


/* =============================
	hamburg
=============================== */
@media (min-width: 1200px) {
	.hamburg {
		display: none;
	}
}
@media (min-width: 768px) and (max-width: 1199px) {
	.hamburg {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 5000;
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}
}
@media (max-width: 767px) {
	.hamburg {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 5000;
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}
}

@media (min-width: 1400px) {
	.gnav {
		position: fixed;
		top: 0;
		right: -100%;
		width: calc(100% / 1);
		height: 100vh;
		background-color: var(--black-color);
		transition: all .6s;
		z-index: 200;
		overflow-y: auto;
	}
	.nav-box .nav-container {
		margin: 2em 8em;
		display: flex;
		justify-content: center;
		flex-direction: column;
		overflow: visible;
	}
	.nav_list li a {
		font-size: 2em;
		font-weight: 500;
		line-height: 1.6em;
		margin-bottom: .2em;
	}
}
@media (min-width: 768px) and (max-width: 1399px) {
	.gnav {
		position: fixed;
		top: 0;
		right: -100%;
		width: calc(100% / 1);
		height: 100vh;
		background-color: var(--black-color);
		transition: all .6s;
		z-index: 200;
		overflow-y: auto;
	}
	.nav-box .nav-container {
		display: flex;
		justify-content: center;
		flex-direction: column;
		overflow: visible;
		height: 95vh;
		padding-inline: 5vw;
		row-gap: 1em;
	}
	.nav_list li a {
		font-size: 1em;
		font-weight: 500;
		line-height: 1.6em;
		margin-bottom: .2em;
	}
}
@media (max-width: 767px) {
	.gnav {
		position: fixed;
		top: 0;
		right: -100%;
		width: calc(100% / 1.5);
		height: 100vh;
		background-color: var(--black-color);
		transition: all .6s;
		z-index: 200;
		overflow-y: auto;
	}
	.nav-box .nav-container {
		display: flex;
		justify-content: center;
		flex-direction: column;
		overflow: visible;
		height: calc(100vh - 100px);
		padding-inline: 10vw;
		row-gap: min(3vw,2em);
	}
	.nav_list li a {
		font-size: 1em;
		font-weight: 500;
		line-height: 1.6em;
		margin-bottom: .2em;
	}
}
.nav-box {
	margin-bottom: 1em;
	overflow: hidden;
}


@media (min-width: 1300px) {
	.ham {
		display: none;
	}
}
@media (min-width: 992px) and (max-width: 1299px) {
	.ham {
		width: 100px;
		height: 100px;
		cursor: pointer;
		z-index: 10000;
		display: flex;
		align-items: center;
		flex-direction: column;
		justify-content: center;
		transition: .3s ease;
	}
	.fixed .ham {
		height: 70px;
		transition: .3s ease;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	.ham {
		width: 100px;
		height: 70px;
		cursor: pointer;
		z-index: 10000;
		display: flex;
		align-items: center;
		flex-direction: column;
		justify-content: center;
		transition: .3s ease;
	}
	.fixed .ham {
		height: 70px;
		transition: .3s ease;
	}
}
@media (max-width: 767px) {
	.ham {
		width: 100px;
		height: 70px;
		cursor: pointer;
		z-index: 10000;
		display: flex;
		align-items: center;
		flex-direction: column;
		justify-content: center;
		transition: .3s ease;
	}
	.fixed .ham {
		height: 70px;
		transition: .3s ease;
	}
}
.nav_list li a:hover {
	opacity: .7;
	transition: .3s;
}
.nav-box ul {
	list-style: none;
	opacity: 1;
}

@media (min-width: 768px) {
	.nav-box ul > li {
		margin-bottom: .5vw;
		display: flex;
		align-items: center;
	}
}
@media (max-width: 767px) {
	.nav-box ul > li {
		margin-bottom: .5vw;
		display: flex;
		align-items: center;
	}
}

.nav-box ul > li a {
	display: block;
	font-weight: 600;
	line-height: 1em;
	color: var(--white-color);
	transition: .3s ease-in-out;
}
.nav-box ul > li a:hover {
	color: var(--text-color);
	transition: .3s ease-in-out;
}

.ham__line {
	position: relative;
	width: 2.5em;
	height: 3px;
	transition: all .6s;
	border-radius: 1em;
}
.ham__line {
	background-color: var(--black-color);
}

@media (min-width: 768px) and (max-width: 1399px) {
	.ham__line--1 { top: -3px;}
	.ham__line--2 { top: 3px;}
	.nav-open .ham__line--1 {
		transform: rotate(45deg);
		top: 3px;
		background-color: var(--white-color);
	}
	.nav-open .ham__line--2 {
		transform: rotate(-45deg);
		top: 1px;
		background-color: var(--white-color);
	}
}
@media (max-width: 767px) {
	.ham__line--1 { top: -3px;}
	.ham__line--2 { top: 3px;}
	.nav-open .ham__line--1 {
		transform: rotate(45deg);
		top: 3px;
		background-color: var(--white-color);
	}
	.nav-open .ham__line--2 {
		transform: rotate(-45deg);
		top: 0;
		background-color: var(--white-color);
	}
}

.black-bg {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	z-index: 100;
	background-color: #000;
	opacity: 0;
	visibility: hidden;
	transition: all .6s;
	cursor: pointer;
}

@media (min-width: 768px) {
	.nav-open .gnav {
		width: calc(100% / 2);
		top: 0;
		right: 0;
	}
	.nav-open .black-bg {
		opacity: .3;
		visibility: visible;
	}
}
@media (max-width: 767px) {
	.nav-open .gnav {
		width: calc(100% / 1.2);
		top: 0;
		right: 0;
	}
	.nav-open .black-bg {
		opacity: .3;
		visibility: visible;
	}
}

.nav_list .mail a {
	color: var(--leaf-color);
	font-size: 2em;
}

/* scroll */
@media (max-width: 767px) {
	.pre {
		overflow-x: hidden;
		overflow: hidden;
		-webkit-overflow-scrolling: touch
	}
}
.pre::-webkit-scrollbar{
	width: 8px;
}
.pre::-webkit-scrollbar-track{
	background: #f7f7f7;
	border: 1px solid #e8e8e8;
	border-radius: 10px;
}
.pre::-webkit-scrollbar-thumb{
	background: rgb(224,224,224);
	border-radius: 10px;
	box-shadow: none;
}


.gnav {
	font-family: canada-type-gibson, sans-serif;
	font-weight: 600;
	text-transform: uppercase;
}
.gnav .global-main {
	font-size: min(5vh,3em);
	letter-spacing: 0;
	line-height: 1.1em;
	display: flex;
	flex-direction: column;
}
.gnav .global-sub {
	font-size: min(4vh,1.5em);
	letter-spacing: 0;
	line-height: 1.4em;
	display: flex;
	flex-direction: column;
	row-gap: .2em;
}
.gnav .global-social {
	font-size: min(8vh,3em);
	letter-spacing: 0;
	line-height: 1.4em;
	display: flex;
	gap: .2em;
}


/* banner */
.gnav .global-sponsor {
	width: 100%;
}
.gnav .global-sponsor a {
	display: block;
}
.gnav .global-sponsor img {
	width: 100%;
	height: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}



/* =============================
	page-scroll
=============================== */
.page-scroll {
	position: absolute;
	bottom: 10em;
	right: 0;
	z-index: 4;
}
.page-scroll a {
	display: block;
	transform: rotate(90deg);
	color: var(--black-color);
	font-size: .9em;
	font-family: canada-type-gibson, sans-serif;
	font-weight: 600;
	text-transform: uppercase;
}
.page-scroll .scroll-border {
	position: absolute;
	top: 4em;
	left: 0;
	width: 100%;
	overflow: hidden;
	height: 8em;
}
.page-scroll .scroll-border::before {
	content: "";
	position: absolute;
	left: 50%;
	width: 1px;
	background-color: rgba(0,0,0,.2);
	height: 8em;
}
.page-scroll .scroll-border::after {
	content: "";
	position: absolute;
	left: 50%;
	width: 1px;
	background-color: rgb(0,0,0);
	-webkit-animation: 2.5s scroll-border linear infinite;
	animation: 2.5s scroll-border linear infinite;
	height: 8em;
}


/* =============================
	footer
=============================== */
.footer {
	position: relative;
	padding-block: min(14vw,7em);
	background-color: var(--black-color);
	z-index: 20;
	overflow: hidden;
}
.footer-content {
	color: var(--low-color);
	display: flex;
	column-gap: 5vw;
	justify-content: space-between;
}
.footer-info {
	width: 40%;
	display: flex;
	flex-direction: column;
	row-gap: 2em;
}
.footer-logo img {
	width: min(30vw,10em);
}
.footer-info p {
	font-size: 90%;
}
.footer-info small {
	font-size: 90%;
	letter-spacing: 0;
}
.footer-global {
	width: calc(100% - 40%);
	display: flex;
	column-gap: 2em;
	justify-content: space-between;
}
.footer-global a {
	color: var(--white-color);
}
.footer-post {
	flex: 1;
	display: flex;
	flex-direction: column;
	row-gap: 1em;
}
.footer-post_page {
	display: flex;
	flex-direction: column;
	row-gap: .5em;
}
.footer-post_page a,
.footer-post p a {
	font-size: 1.1em;
	font-family: canada-type-gibson, sans-serif;
	font-weight: 600;
	text-transform: uppercase;
}
.footer-post_group {
	display: flex;
	flex-direction: column;
	row-gap: .5em;
}
.footer-post_group a {
	color: var(--low-color);
}
.footer-post_page a:hover,
.footer-post_group a:hover {
	transition: .3s ease;
	text-decoration: underline;
}


/* =============================
	sponsor
=============================== */
.sponsor {
	padding-block: min(15vw,10em) min(5vw,2em);
}
.sponsor-logo {
	flex: 1;
}
.sponsor-logo img {
	width: min(25vw,200px);
	height: auto;
}
.sponsor-wrap {
	overflow: hidden;
	display: flex;
	align-items: center;
	flex-direction: column;
}
.sponsor-slide_next {
	display: flex;
	gap: 1em;
	-webkit-animation: next-slide 100s infinite linear 1s both;
	animation: next-slide 100s infinite linear 1s both;
}
.sponsor-slide_back {
	display: flex;
	gap: 1em;
	-webkit-animation: back-slide 100s infinite linear 1s both;
	animation: back-slide 100s infinite linear 1s both;
}

.sponsor .slider,
.sponsor .slider2 {
    width: 100%;
    margin: 0 auto;
}
.sponsor .slider img,
.sponsor .slider2 img {
    width: min(30vw,200px);
    height: auto;
}
.sponsor .slider .slick-slide,
.sponsor .slider2 .slick-slide {
    height: auto!important;
}


/* =============================
	readmore
=============================== */
@media screen and (min-width: 768px) {
	.readmore a {
		font-family: canada-type-gibson, sans-serif;
		font-weight: 600;
		text-transform: uppercase;
		text-decoration:none;
		position: relative;
		transition: .3s;
	}
	.readmore a::after{
	  position: absolute;
	  top: 30%;
	  content: '';
	  margin-inline-start: 5px;
	  width: 100%;
	  height: 1.5px;
	  background-color: var(--black-color);
	  transition: .3s;
	}
	.readmore a:hover::after{
	  width: 0;
	}
}

/* =============================
	page-back
=============================== */
.page-back {
	margin-block: 2em;
	display: flex;
	justify-content: center;
	column-gap: 1.5em;
}
.page-back li a {
	display: flex;
	align-items: center;
	font-family: canada-type-gibson, sans-serif;
	font-weight: 600;
	text-transform: uppercase;
	transition: .2s ease-in-out;
}
.page-back li a:before {
	content: "\f137";
	position: relative;
	bottom: 2px;
	font-family: "Font Awesome 6 Pro";
	margin-inline-end: .3em;
	transition: .2s ease-in-out;
	transform: translateX(0);
}
.page-back li a:hover:before {
	content: "\f137";
	font-family: "Font Awesome 6 Pro";
	margin-inline-end: .3em;
	display: inline-block;
	transition: .2s ease-in-out;
	transform: translateX(-2px);
}



/* =============================
	promotion
=============================== */
.promotion .inner {
	display: flex;
	flex-direction: column;
	row-gap: 1.5em;
}
.promotion a {
	transform: scale(1);
	transition: .3s ease;
}
.promotion a:hover {
	transform: scale(1.02);
	transition: .3s ease;
}
.promotion a img {
	width: 100%;
	height: auto;
}


/* =============================
	page-top
=============================== */
.page-top {
	position: absolute;
	bottom: 10em;
	right: -1em;
	z-index: 5;
}
.page-top a {
	display: block;
	transform: rotate(90deg);
	color: var(--white-color);
	font-size: .9em;
	font-weight: 500;
	font-family: 'Lexend', sans-serif;
}
.page-top .scroll-border {
	position: absolute;
	top: 5em;
	left: 0;
	width: 100%;
	overflow: hidden;
	height: 8em;
}
.page-top .scroll-border::before {
	content: "";
	position: absolute;
	left: 50%;
	width: 1.5px;
	background-color: rgba(255,255,255,.2);
	height: 8em;
}
.page-top .scroll-border::after {
	content: "";
	position: absolute;
	left: 50%;
	width: 1.5px;
	background-color: rgb(255,255,255);
	-webkit-animation: 2.5s scroll-top linear infinite;
	animation: 2.5s scroll-top linear infinite;
	height: 8em;
}













