@charset "utf-8";



.col_w{
	color: #fff;
}




/* ---------------------------------------
* common
------------------------------------------ */

.btn.sp,.sp{
	display: none;
}

svg{
	width: 100%;
	height: 100%;
}

:root {
	--primary: #CCFA00;
}

.tac{
	text-align: center;
}


/* ---------------------------------------
* TOP
------------------------------------------ */

.fv{
	position: relative;
	width: 100%;
	height: 100%;
}

.fvBg{
	position: relative;
	width: 100%;
	height: 100%;
}

.fvBg::after{
	content: "";
	display: block;
	padding-top: 56.6%;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/top/bg.webp);
}

.fvTxt{
	width: 18.3%;
	position: absolute;
	left: 3rem;
	top: 11rem;
	opacity: 0;
}

.fvImg{
	position: absolute;
	left: 0;
	right: 0;
	top: 14rem;
	width: 45.7%;
	margin: 0 auto;
}

.fvTxt p{
	font-size: clamp(16px,2.8rem,40px);
}

.fvLogo{
	justify-content: center;
	position: absolute;
	left: 0;
	right: 0;
	/* bottom: 3rem; */
	bottom: 2rem;
	margin: 0 auto;
}

.fvlogo01{
	width: 16.7%;
}

.fvlogo02{
	margin-left: 4rem;
	width: 55.8%;
}

.bg-garadient{
	background: #6E6E6E;
	background: linear-gradient(120deg, rgba(110, 110, 110, 1) 0%, rgba(0, 0, 0, 1) 100%);
}

.dev-txt h2{
	width: 60rem;
	margin: 0 auto;
	padding-bottom: 5rem;
}

.dev-txt h2.sans-en{
	width: 100%;
	font-size: 3.6rem;
	letter-spacing: 0.02em;
	line-height: 1;
}

.leadTxt h3.sans-en{
	font-size: 3rem;
	letter-spacing: 0.02em;
	line-height: 1;
}

.leadTxt h3{
	font-size: 3.6rem;
	letter-spacing: 0.02em;
	line-height: 1;
}

.leadTxt-para p{
  /* font-family: 'IshiiGothic'; */
  line-height: 1.5625;
}

.leadTxt-para p:not(:last-of-type){
	padding-bottom: 2rem;
}

.cs-banner{
	width: 56rem;
	margin: 0 auto;
}

.award-tabListItem{
	width: 50%;
	padding: 2.4rem 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/top/tb01.png);
	cursor: pointer;
	position: relative;
}

.award-tabListItem.--footer_logo_tab {
	background-image: initial;
}

.award-tabListItem.--footer_logo_tab.--noactive {
	opacity: 0.4;
}

.award-tabListItem:last-of-type{
	background-image: url(../img/top/tb02.png);
}

.award-tabListItem::after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	border: solid 4.5px #fff;
	opacity: 0;
	transition: all .3s;
}

/* 表示・非表示の基本 */
.logo-content { display: none; }
.logo-content.show { display: block; }

/* 既存のスタイル引き継ぎ */
.logo-tab-item.--footer_logo_tab::after {
  border: initial !important;
}

.logo-tab-list { list-style: none; padding: 0; margin: auto; max-width: 900px;}
.logo-tab-item { cursor: pointer; }

/* ロゴ表示用の専用スタイル */
.partner-group:not(:first-child) {
  margin-top: 60px;
  text-align: center;
}

.partner-group {
  text-align: center;
}

.partner-label {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 10px;
  color: #333; /* 白背景用 */
}

/* 横並びを維持するコンテナ */
.logo-display-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}

.logo-display-row img {
  width: auto;
  max-width: 200px;
  height: auto;
  /* max-height: 60px; */
  object-fit: contain;
  flex-shrink: 1;
  min-width: 0;
}

.matsuo-logo {
	padding: 0 10px;
}

/* アクティブでないタブを半透明にする */
.logo-tab-item:not(.active) {
  opacity: 0.4;
  transition: opacity 0.3s ease; /* ふわっと切り替わるように */
}

/* アクティブな時はくっきり表示 */
.logo-tab-item.active {
  opacity: 1;
}

	.logo-display.--llogo img {
		max-width: 40%;
    padding-top: 2rem;
	}

/* 768px以下の調整 */
@media screen and (max-width: 768px) {
  .awardDetail.--footer_logo_tab {
    padding-top: 2rem;
  }

  .logo-display-row {
    gap: 15px;
    padding: 0 10px;
  }
  
  .logo-display-row img {
    max-width: 30%;
  }

	.logo-display.--llogo img {
		max-width: 50%;
		padding-top: 1rem;
	}

  .partner-label {
    font-size: 1.5rem;
    margin-bottom: 4px;
  }

  .partner-group:not(:first-child) {
    margin-top: 40px;
    text-align: center;
  }
}

.award-tabListItem.active::after{
	opacity: 1;
}

.award-tabListItem p{
	font-size: clamp(16px,2.6rem,40px);
	letter-spacing: 0.1em;
	line-height: 1;
	font-weight: 700;
	font-family: "din-2014", sans-serif;
	padding-top: 0.5rem;
}

.awardCont{
	display: none;
}

.awardCont.show{
	display: block;
}

.awardCont-listItem:not(:last-of-type){
	margin-bottom: 3rem;
}

.awardDetail{
	padding-top: 5rem;
}

.awardCont>p{
	font-size: clamp(10px,2.4rem,32px);
	letter-spacing: 0.1em;
	line-height: 1;
	font-weight: 300;
}

.primaly-listItem{
	border: solid 1px #0e28a3;
}

.final-listItem{
	border: solid 1px #a00000;
}

.primary-rank,.finalttl{
	padding: 1.2rem 0;
	background-color: #0e28a3;
}

.finalttl{
	background-color: #a00000;
}

.primary-rank p{ 
	font-size: clamp(12px,2.4rem,24px);
	line-height: 1.4;
	/* font-size: 1.8rem; */
}

.finalttl p{
	font-size: clamp(12px,2.4rem,24px);
	line-height: 1.4;
}

.primary-rank p span{ 
	display: inline-block;
	line-height: 1.4;
	padding: 0 .6rem;
	font-size: clamp(20px,2.8rem,32px);
}

.primmaryDetail{
	/* padding: 2rem 0; */
	justify-content: center;
	text-align: center;
}

.primmaryDetail .total{
	writing-mode: vertical-rl;
	font-size: clamp(12px,2rem,20px);
}

.primmaryDetail .num{
	padding-top: 0.2rem;
	font-weight: 700;
	font-size: clamp(32px,4rem,56px);
	line-height: 1;
	font-family: "din-2014", sans-serif;
}

/* .primmaryDetail p{
	font-size: 3rem;
	padding-left: 2rem;
	padding-right: 2rem;
	text-align: center;
	line-height: 1;
} */

.primmaryDetail p span{
	/* font-size: clamp(32px,4.8rem,56px); */
	font-size: 1.6rem;
	line-height: 1.3;
	padding-top: 1rem;
	display: block;
}

@media screen and (max-width: 768px) {
	.primmaryDetail p span{
		font-size: 1.2rem;
	}
}

.finalIntro{
	padding-bottom: 4rem;
}

.finalIntro>p{
	padding-bottom: 1rem;
	font-size: clamp(18px,3.2rem,40px);
	line-height: 1;
}

.finalCont{
	padding: 2rem 0;
}

.finalDetail{
	/* padding: 0; */
}

.finalall{
	font-weight: 700;
	font-family: "din-2014", sans-serif;
	/* padding-bottom: 1rem; */
	font-size: clamp(18px,3.2rem,40px);
	line-height: 1;
}

.finalall.tac span{
	font-size: 1.6rem;
	line-height: 1.3;
	padding-top: 1rem;
	display: block;
}

.finalWrap:not(:last-of-type){
	margin-bottom: 2rem;
}

.finalrank{
	/* padding-bottom: 1rem; */
	font-size: clamp(12px,1.8rem,18px);
	line-height: 1;
}

.finalex{
	padding-top: 1rem;
	line-height: 1.6;
}

.sec-cp{
	background: #42F7FB;
	background: linear-gradient(120deg, rgba(66, 247, 251, 1) 0%, rgba(33, 67, 216, 1) 25%, rgba(39, 8, 101, 1) 75%, rgba(220, 17, 33, 1) 100%);
}

.cp-list{
	column-gap: 2.5rem;
	row-gap: 4.8rem;
}

.cp-listItem{
	width: calc((100% - (2.5rem * 2)) / 3);
}

.ruleWrap{
	/* width: 73%; */
	max-width: 100%;
	margin: 0 auto;
}

.rule-listItem:not(:last-of-type){
	padding-bottom: 6rem;
}

.rule-listNum{
	width: 15.7%;
}

.rule-listTxt{
	width: 80.2%;
	/* padding-top: 1rem; */
	position: relative;
	padding-left: 40px;
}

.rule-listTxt::before{
	content: "";
	display: inline-block;
	position: absolute;
  top: 0;
	left: 0;
	bottom: -7px;
	width: 5px;
	height: 100%;
	border-radius: 5px;
  background: #fff;
}

.rule-listTxt h3{
	font-size: clamp(16px,3.2rem,36px);
	line-height: 1.3;
	letter-spacing: 0.01em;
}

.rule-listTxt h3 span {
	display: block;
	font-size: clamp(12px, 1.8rem, 18px);
	padding-top: .6rem;
	line-height: 1.4;
}

.rule-listTxt p{
	padding-top: 2rem;
	line-height: 1.5625;
}

.rule-listTxt p span{
	display: block;
	font-size: clamp(12px, 1.8rem, 18px);
}

.rule-listTxt p a {
	text-decoration: underline;
}

.about-list{
	column-gap: 8rem;
	align-items: stretch;
}

.about-listItem{
	width: calc((100% - (8rem * 1)) / 2);
	border: solid 1px #fff;
	position: relative;
	flex: 1;
}

.about-listItem:nth-child(2) .about-listTxt {
	position: absolute;
	top: 57%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	left: 50%;
	-webkit-transform: translateX(-50%);
}

.about-listItem:nth-child(2) .about-listTxt p[data-lang="en"] {
  white-space: nowrap;
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translateX(-50%);
}

.about-listItem:not(:last-of-type)::after{
	content: "";
	display: block;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/top/about-arrow.svg);
	width: 2.8rem;
	height: 3.4rem;
	position: absolute;
	right: -5.5rem;
	top: 50%;
	transform: translateY(-50%);
}

.about-listTtl{
	padding: 2.4rem 0;
	background: #12F4FE;
    background: linear-gradient(120deg, rgba(66, 247, 251, 1) 0%, rgba(1, 123, 255, 1) 50%, rgb(7 21 87) 100%);
}

.about-listItem:last-of-type .about-listTtl{
	background: #FB0000;
	background: linear-gradient(120deg, rgba(251, 0, 0, 1) 0%, rgba(63, 0, 0, 1) 100%);
}

.about-listTtl h3{
	letter-spacing: 0.1em;
	/* font-family: 'IshiiGothic',sans-serif; */
	font-size: clamp(16px,2.4rem,32px);
	line-height: 1;
}

.about-listTtl p{
	font-size: clamp(10px,1.6rem,20px);
	letter-spacing: 0.1em;
	line-height: 1;
	padding-top: 1rem;
}

.about-listTxt{
	padding: 2rem 0;
}

.about-listTxt p{
	font-size: clamp(16px,2.4rem,28px);
	letter-spacing: 0.05em;
	line-height: 1;
}

.organizer-list{
	gap:8rem
}

/* .organizer-listItem{
	display: flex;
	flex-direction: column;
} */

.organizer-listItem{
	width: 18%;
}

.organizer-listItem p{
	font-size: 1.6rem;
}

.organizer-listItem{
	width: 18%;
}

.partner-list{
	justify-content: center;
}

.partner-listItem01{
	width: 38.5%;
}

.partner-listItem02,.sup-listItem02{
	width: 23%;
}

.sup-listItem01{
	width: 18%;
}

.sup-listItem03{
	width: 30%;
	margin: 0 0 0 3rem;
}

.partnerWrap:first-of-type{
	padding-bottom: 6rem;
}

.partnerWrap:nth-child(2){
	padding-bottom: 4rem;
}

/* ---------------------------------------
* FAQ
------------------------------------------ */

.faq-defList:not(:last-of-type){
	padding-bottom: 2.4rem;
}

.faq-defTtl{
	cursor: pointer;
	position: relative;
	padding: 1.2rem 2rem;
}

.faqTtl{
	width: 95%;
}

.ppBall,.faqBall{
	flex: 0 0 3.2rem;
	width: 3.2rem;
}

.faqTtl h2{
	flex: 1 1 auto;
	/* font-family: 'IshiiGothic', sans-serif; */
	font-weight: 400;
	padding-left: 1rem;
}

.fac-defDesc{
	display: none;
	padding-top: 1.6rem;
}

.openicon{
	position: absolute;
	right: 2rem;
	top: 50%;
	transform: translateY(-50%);
    width: 2rem;
    height: 2rem;
	transition: all .3s;
}

.faq-defTtl.open .openicon {
    transform: translateY(-50%) rotate(270deg);
}

.openicon::before,.openicon::after{
    content: '';
    display: inline-block;
    position: absolute;
    background-color: #fff;
	width: 100%;
	height: 2px;
	top: 50%;
	transform: translateY(-50%);
	transition: all .3s;
}

.faq-defTtl.open .openicon::before{
	opacity: 0;
}

.openicon::after{
	transform: translateY(-50%) rotate(90deg);
}

.faqAnchor {
	max-width: 1000px;
	margin: 0 auto 60px;
}

.faqAnchor ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.faqAnchor ul li {
	width: 30%;
	text-align: center;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	margin: 20px 0;
}

.page-faq_contact {
	text-align: center;
}

.page-faq_contact>div>p {
	position: relative;
}

.page-faq_contact .subTtl01::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: -0.6rem;
	left: 50%;
	-webkit-transform: translateX(-50%);
	z-index: -1;
	width: 40%;
	height: .5rem;
	background: #F3591C;
	background: linear-gradient(90deg, rgba(243, 89, 28, 1) 0%, rgba(220, 17, 33, 1) 25%, rgba(39, 8, 101, 1) 50%, rgba(33, 67, 216, 1) 75%, rgba(66, 247, 251, 1) 100%);
}

.page-faq_contact-wrap {
	max-width: 40%;
	margin: auto;
	display: flex;
	justify-content: space-between;
	padding-top: 3rem;
}

.page-faq_contact-wrap>li>a {
	display: flex;
	align-items: center;
	gap: 4px;
	line-height: 100%;
	letter-spacing: normal;
	cursor: pointer;
}

@media screen and (max-width: 768px) {
	.page-faq_contact-wrap {
		max-width: initial;
		flex-direction: column;
		gap: 2rem;
	}

	.page-faq_contact-wrap>li>a {
		justify-content: center;
	}

	.page-faq_contact .subTtl01::after {
		width: 90%;
	}
}

.page-faq_contact-wrap>li>a:hover {
	opacity: 0.6;
}

.page-faq_contact-wrap li a svg {
	width: 14px;
}

@media screen and (max-width: 768px) {
	.faqAnchor ul {
		flex-direction: column;
	}

	.faqAnchor ul li {
		width: 100%;
		margin: 12px 0;
	}
}

.faqAnchor ul li a {
	display: block;
	font-size: 14px;
}

.faqAnchor ul li a::after {
	content: "";
	width: 8px;
	height: 8px;
	border: 0px;
	border-top: solid 2px #000;
	border-right: solid 2px #000;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -4px;
}

.faqCategory_title {
	font-size: 2rem;
	line-height: 1.3;
	padding-bottom: 2rem;
}

.faqCategory:not(:first-of-type) {
	padding-top: 6rem;
}

/* ---------------------------------------
* プライバシー
------------------------------------------ */

.pp-defList:not(:last-of-type){
	padding-bottom: 3rem;
}

.pp-defTtl{
	padding-bottom: 1.6rem;
	margin-bottom: 1.6rem;
	border-bottom: solid 1px #6e6e6e;
}

.pp-defTtl h2{
	padding-left: 1rem;
	font-weight: 400;
	flex: 1 1 auto;
	font-size: clamp(16px,2.4rem,24px);
}

.pp-defDesc{
	letter-spacing: 0.01em;
	line-height: 1.5625;
}

.pp-defDesc p{
	line-height: 1.6;
}

.pp-defDesc .weight{
	font-weight: 600;
}

.pp-defDesc p:not(:last-of-type){
	margin-bottom: 1rem;
}

.pp-defDesc a {
    word-wrap:break-word;
}

.pp-defDesc ul{
	margin: 1rem 0 2rem;
}

.rule-defDesc ul ul{
	padding-left: 3rem;
}

.pp-defDesc li{
	line-height: 2;
}

.pp-defDesc>ul>li:not(:last-of-type){
	padding-bottom: 0.4rem;
}

.pp-defDesc table{
	display: block;
	padding-bottom: 2rem;
}

.pp-defDesc tbody{
	border: solid 1px #000;
}

.pp-defDesc tr{
	border-bottom: solid 1px #000;
}

.pp-defDesc th{
	padding: 2rem;
	background-color: #353535;
	color: #fff;
}

.pp-defDesc th:not(:last-of-type),.pp-defDesc td:not(:last-of-type){
	border-right: solid 1px #000;
}

.pp-defDesc td{
	padding: 2rem;
}


/* ---------------------------------------
* アニメーション
------------------------------------------ */
.fvBg{
	opacity: 0;
	filter: blur(10px)
}

.fvBg.is-show{
	animation: bg-fade 1s ease-in-out  both;
}

@-webkit-keyframes bg-fade {
    0% {
        opacity: 0;
		filter: blur(10px)
    }

    100% {
        opacity: 1;
		filter: blur(0)
    }
}

@keyframes bg-fade {
    0% {
        opacity: 0;
		filter: blur(10px)
    }

    100% {
        opacity: 1;
		filter: blur(0)
    }
}

.fv-fade{
	opacity: 0;
	transform: translateY(3rem);
}

.fv-fade.is-show{
	animation: is-fadein 1.2s ease-in-out 0.2s both;
}

@-webkit-keyframes is-fadein {
    0% {
        opacity: 0;
	  	transform: translateY(3rem);
		filter: blur(10px)
    }

    100% {
        opacity: 1;
		transform: translateY(0);
		filter: blur(0)
    }
}

@keyframes is-fadein {
    0% {
        opacity: 0;
	  	transform: translateY(3rem);
		filter: blur(10px)
    }

    100% {
        opacity: 1;
		transform: translateY(0);
		filter: blur(0)
    }
}

.fvtxt-fade{
	opacity: 0;
}

.fvtxt-fade.is-show{
	animation: txt-fadein .8s ease-in-out 0.5s both;
}

@-webkit-keyframes txt-fadein {
    0% {
        opacity: 0;
		filter: blur(10px)
    }

    100% {
        opacity: 1;
		filter: blur(0)
    }
}

@keyframes txt-fadein {
    0% {
        opacity: 0;
		filter: blur(10px)
    }

    100% {
        opacity: 1;
		filter: blur(0)
    }
}


.fade{
	opacity: 0;
	transform: translateY(2rem);
}

.fade.is-show{
	animation: is-show 1s linear 0.5s both;
}

@-webkit-keyframes is-show {
    0% {
        opacity: 0;
	  	transform: translateY(2rem);
    }

    100% {
        opacity: 1;
		transform: translateY(0);
    }
}

@keyframes is-show {
    0% {
        opacity: 0;
	  	transform: translateY(2rem);
    }

    100% {
        opacity: 1;
		transform: translateY(0);
    }
}


/*
	フッタータブ
---------------------------------------------- */
.logo-tab-list {
  gap: 0;
}

.logo-tab-item {
  position: relative;
  width: 50%;
  padding: 1.6rem 2rem;
  box-sizing: border-box;
  overflow: hidden;
  z-index: 0;
}

/* 外側のグラデ枠 */
.logo-tab-item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

/* 内側の白塗り */
.logo-tab-item::after {
  content: "";
  position: absolute;
  inset: 4px; /* 枠線の太さ */
  background: #fff;
  z-index: -1;
}

/* 左：青 */
/* .logo-tab-item:nth-child(1)::before {
  background-image: url("../img/top/footer_tab_jp-01.jpg");
} */

/* 右：赤 */
/* .logo-tab-item:nth-child(2)::before {
  background-image: url("../img/top/footer_tab_jp-02.jpg");
} */


.logo-tab-item p {
	font-size: clamp(16px, 2.6rem, 28px);
	letter-spacing: 0.1em;
	line-height: 1;
	font-weight: 700;
	font-family: 'Helsinki', "din-2014", sans-serif;
	padding-top: 0.5rem;
}

.logo-tab-item:nth-child(1) p {
  background: linear-gradient(90deg, #1ecbff 0%, #006dff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

.logo-tab-item:nth-child(2) p {
  background: linear-gradient(90deg, #ff2a2a 0%, #8e0000 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

.logo-tab-item {
  flex: 1;
  background: #fff;
  border: 4px solid transparent; /* ← これが線の太さ */
  border-image-slice: 1;
  padding: 16px 24px;
  box-sizing: border-box;
}

.logo-tab-item:nth-child(1) {
  border: 4.5px solid transparent;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(90deg, #1f4fff 0%, #30d5ff 100%) border-box;
}

.logo-tab-item:nth-child(2) {
  border: 4.5px solid transparent;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(90deg, #ff6a6a 0%, #b60000 100%) border-box;
}

.ytWrap {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
}

.ytWrap iframe {
	width: 100%;
	height: 100%;
}


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

/* ---------------------------------------
* common
------------------------------------------ */

.btn.sp,.sp{
	display: block;
}

.pc{
	display: none!important;
}

svg{
	width: 100%;
	height: 100%;
}

.tac{
	text-align: center;
}


/* ---------------------------------------
* TOP
------------------------------------------ */


.fvBg::after{
	padding-top: 177% !important;
	background-image: url(../img/top/bgsp.webp) !important;
}

.fvTxt{
	width: 32%;
	left: 2rem;
	top: 6.4rem;
}

.fvImg{
	position: absolute;
	left: 0;
	right: 0;
	top: 14rem;
	width: 100%;
}

.fvLogo{
	justify-content: center;
	position: absolute;
	left: 0;
	right: 0;
	/* bottom: 3rem; */
	bottom: 2rem;
	margin: 0 auto;
}

.fvlogo{
	margin: 0 auto;
}

.fvlogo01{
	width: 50.7%;
}

.fvlogo02{
	margin-left: auto;
	margin-top: 1.4rem;
	width: 62.6%;
}


/* .dev-txt{
	width: 100%;
	padding: 0 2.8rem 3.5rem;
} */

.dev-txt h2 {
    width: 100%;
    margin: 0 auto;
    padding-bottom: 4rem;
}

.dev-txt h2.sans-en {
	width: 100%;
    font-size: 2.4rem;
}

.leadTxt h3 {
    font-size: 2.4rem;
}

.leadTxt h3.sans-en {
    font-size: 2rem;
    letter-spacing: 0.02em;
    line-height: 1;
}

.leadTxt-para p{
	font-size: 1.4rem;
}

.leadTxt-para p:not(:last-of-type){
	padding-bottom: 3.6rem;
}

.cs-banner{
	width: 100%;
}

.award-tabListItem{
	width: 50%;
	cursor: pointer;
	position: relative;
	padding: 1.8rem 0;
	background-image: url(../img/top/tb01sp.png);
}

.award-tabListItem:last-of-type{
	background-image: url(../img/top/tb02sp.png);
}

.award-tabListItem.active::after{
	border: solid 3.5px #fff;
}

.award-tabListItem p{
	font-size: 1.5rem;
}

.awardCont-listItem:not(:last-of-type){
	margin-bottom: 1.6rem;
}

.awardDetail{
	padding-top: 5rem;
}

.awardCont>p{
	font-size: 2rem;
}

.primary-rank p{ 
	font-size: 1.8rem;
	line-height: 1.4;
}

.finalttl p{
	font-size: 1.8rem;
}

.primary-rank p span{ 
	font-size: 2.8rem;
}

.primmaryDetail .total{
	font-size: 1.8rem;
}

/* .primmaryDetail .num{
	font-size: 4rem;
} */

/* .primmaryDetail p{
	font-size: 3rem;
	padding-left: 2rem;
	padding-right: 2rem;
	text-align: center;
	line-height: 1;
} */

.finalIntro{
	padding-bottom: 3rem;
}

.finalIntro>p{
	padding-bottom: 1.2rem;
	font-size: 2.4rem;
}

.finalCont{
	padding: 2rem 1rem;
}

.finalDetail{
	/* padding: 0; */
}

.finalall{
	font-size: 2.4rem;
}

.finalWrap:not(:last-of-type){
	margin-bottom: 2rem;
}

.finalrank{
	/* padding-bottom: 1rem; */
	font-size: clamp(12px,1.8rem,18px);
	line-height: 1;
	font-size: 1.2rem !important;
}

.finalex{
	padding-top: 1rem;
	line-height: 1.6;
	font-size: 1.2rem;
}


.sec-cp{
	background: #42F7FB;
	background: linear-gradient(170deg, rgba(66, 247, 251, 1) 0%, rgba(33, 67, 216, 1) 25%, rgba(39, 8, 101, 1) 75%, rgba(220, 17, 33, 1) 100%);
}

.cp-listItem{
	/* width: 100%; */
	width: 80%;
	margin: auto;
}

.cp-listItem:not(:last-of-type){
	padding-bottom: 3rem;
}

.ruleWrap{
	width: 100%;
}

.rule-listItem:not(:last-of-type){
	padding-bottom: 6rem;
}

.rule-listNum{
	width: 19.1%;
	margin: 0 auto;
}

.rule-listTxt{
	width: 100%;
	/* padding-top: 2.4rem; */
	padding-left: 20px;
}

.rule-listTxt h3{
	font-size: 2.2rem;
	/* text-align: center; */
}

.rule-listTxt p{
	padding-top: 2rem;
	font-size: 1.4rem;
	letter-spacing: .04rem;
}

.about-listItem{
	width: 100%;
}

.about-listItem:not(:last-of-type){
	margin-bottom: 8rem;
}

.about-listItem:not(:last-of-type)::after{
	width: 2.8rem;
	height: 3.4rem;
	right: 0;
	left: 0;
	top: unset;
	bottom: -6rem;
	transform: translateY(0) rotate(90deg);
	margin: 0 auto;
}

.about-listTtl{
	padding: 2.4rem 0;
}

.about-listTtl h3{
	font-size: 2rem;
}

.about-listTtl p{
	font-size: 1.6rem;
}

.about-listTxt{
	padding: 3rem 2rem 3rem;
}

.about-listItem:nth-child(2) .about-listTxt {
	position: initial;
	top: initial;
	-webkit-transform: initial;
	-ms-transform: translateY(-50%);
	left: initial;
	-webkit-transform: initial;
}

.about-listItem:nth-child(2) .about-listTxt p[data-lang="en"] {
  position: initial;
  top: initial;
  left: initial;
  transform: initial;
}

.about-listTxt p {
    font-size: 2rem;
}

.organizer-list {
    gap: 4rem;
}

.organizer-listItem{
	width: 32%;
}

.organizer-listItem p{
	font-size: 1.4rem;
}

.partner-listItem01{
	width: 47.7%;
}

.partner-listItem02{
	width: 29.8%;
}

.sup-listItem01{
	width: 25%;
}

.sup-listItem02{
	width: 35%;
}

.sup-listItem03{
	width: 35%;
	margin: 0 0 0 1rem;
}

.partnerWrap:first-of-type{
	padding-bottom: 3rem;
}

.partnerWrap:not(:first-of-type){
	padding-top: 3rem;
}



/* ---------------------------------------
* FAQ
------------------------------------------ */

.faq-defList:not(:last-of-type){
	padding-bottom: 3rem;
}

.faq-defTtl{
	padding: 1.2rem 1rem;
}

.faqTtl{
	width: 85%;
}

.ppBall,.faqBall{
	flex: 0 0 2rem;
	width: 2rem;
}

.faqTtl h2{
	line-height: 1.375;
	font-size: 1.4rem;
}

.fac-defDesc{
	display: none;
	padding-top: 1.6rem;
	font-size: 1.4rem;
}

.fac-defDesc a{
	text-decoration: underline;
	color: blue;
}

.openicon{
	right: 1rem;
    width: 1.6rem;
    height: 1.6rem;
}



/* ---------------------------------------
* プライバシー
------------------------------------------ */

.pp-defList:not(:last-of-type){
	padding-bottom: 4rem;
}

.pp-defTtl{
	padding-bottom: .6rem;
	margin-bottom: 1rem;
}

.ppBall{
	flex: 0 0 2rem;
	width: 2rem;
}

.pp-defTtl h2{
	padding-left: 1rem;
	font-size: 1.8rem;
	line-height: 1.2;
}


/*
	フッタータブ
---------------------------------------------- */
.logo-tab-item p {
	font-size: 1.5rem;
}

.logo-tab-item:nth-child(1) {
  border: 3.5px solid transparent;
}

.logo-tab-item:nth-child(2) {
  border: 3.5px solid transparent;
}

}
