/* CSS Remedy */
*,::after,::before{box-sizing:border-box;word-wrap:break-word;}html{line-sizing:normal}body{margin:0}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.17rem}hr{border-style:solid;border-width:1px 0 0;color:inherit;height:0;overflow:visible}audio,canvas,embed,iframe,img,object,svg,video,picture{display:block;vertical-align:middle;max-width:100%}canvas,img,svg,video{height:auto}audio{width:100%}img{border-style:none}svg{overflow:hidden}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}

p, dd, figure {
	margin: 0;
}
h1,h2,h3 { margin: 0; }
*, *::before, *::after {
	box-sizing: border-box;
	word-break: break-all;
}
ul {
	list-style: none;
}

:root {
	--color01: rgb(241,236,226);
	--color02: rgb(0,96,171);
	--color03: rgb(253,225,33);
}

html {
	position: relative;
	min-height: 100%;
	font-family: 'Noto Sans JP', sans-serif;
}
body {
	height: 100%;
	margin: 0;
	padding: 0;
	color: #333;
	font-size: 100%;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: unset;
}

/* -----------------------------------------------------
* Header
* -------------------------------------------------- */
.l-header {
	background-color: var(--color00);
}
.l-header .headerInner {
	width: 100%;
	/* max-width: 639px; */
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	padding: 3vmin 0 3vmin 1em;
}
.l-header .headerInner .siteID {
	width: 153px;
}
.l-header .headerInner .siteID img {
	display: block;
}
.l-header .headerInner .localNav {
	flex-grow: 1;
}
.l-header .headerInner .localNav ul {
	display: flex;
	justify-content: flex-end;
}
.l-header .headerInner .localNav ul li a {
	font-size: 11px;
	color: #333;
	text-decoration: none;
	font-weight: 600;
	padding: 1em;
	position: relative;
}
.l-header .headerInner .localNav ul li a:hover {
	color: #2e406c;
}
.l-header .headerInner .localNav ul li a::after {
	content: '';
	width: 0;
	height: 2px;
	background: #2e406c;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	margin: 0 auto;
	transition: width .25s ease;
}
.l-header .headerInner .localNav ul li a:hover::after {
	width: 1.75em;
}
@media (max-width: 750px) {
	.l-header {
		position: absolute;
		top: 0;
		z-index: 1;
	}
	.l-header .headerInner {
		justify-content: center;
		padding: 7vmin 0 7vmin 0;
	}
	.l-header .headerInner .localNav { display: none; }
	.l-header .headerInner .siteID {
		width: 29%;
	}
}


.wrap {
	width: 100%;
	/* max-width: 900px; */
	margin: 0 auto;
	background: var(--color01);
}
.sectionInner {
	position: relative;
}
.sectionHeadline {
	width: 100%;
	text-align: center;
}
.sectionHeadline img {
	margin: 0 auto;
	width: 75%;
}

.fv {
	position: relative;
	margin-bottom: -13.75%;
	z-index: 1;
}
@media (max-width: 750px) {
	.fv {
		margin-bottom: -0.25%;
		z-index: 0;
	}
	.sectionHeadline img {
		margin: 0 auto;
		width: 100%;
	}

}

.cv {
	background: #fff;
	padding: 3em 0;
	width: 100%;
	display: block;
	text-align: center;
}
.btn.cvBtn {
	background: #e69f23;
	color: #fff;
	font-size: min(4vmin, 22px);
	font-weight: 500;
	text-align: center;
	line-height: 1;
	padding: 1em;
	width: 100%;
	max-width: 700px;
	display: inline-block;
	border-radius: 2em;
	text-decoration: none;
	box-shadow: 0 3px 0 0 #c1851c;
	transition: all .25s;
}
.btn.cvBtn:hover {
	box-shadow: none;
	transform: translateY(3px);
}
@media (max-width: 750px) {
	.cv {
		padding: 3em 14%;
	}
}


/* TOP BUILDER
____________________________________________________ */
.sec01 {
	margin-bottom: -5%;
}
.sec01 .sectionInner .topBuilder {
	position: absolute;
	left: 50%;
	transform: translateX(-12%);
	top: 27%;
	width: 40.223%;
	background: rgba(1,97,173,.9);
	border-radius: 5px 5px 5px 2em;
	padding: 3%;
}
.sec01 .sectionInner .sectionHeadline {
	margin-bottom: 2.5%;
}
@media (max-width: 750px) {
	.sec01 {
		position: relative;
		z-index: 1;
	}
	.sec01 .sectionInner .topBuilder {
		right: 0;
	    left: auto;
	    transform: none;
	    top: 14%;
	    width: 67%;
		padding: 5%;
	}
	.sec01 .sectionInner .sectionHeadline {
		margin-bottom: 4%;
	}
}

.currentTop {
	margin: 0;
}
.currentTop dt {
	display: flex;
	align-items: flex-end;
	border-bottom: 1px solid #fff;
	padding-bottom: 1rem;
}
.currentTop dt div:nth-of-type(1) {
	width: 20%;
	flex-basis: auto;
	line-height: 1;
	margin-bottom: -2%;
}
.currentTop dt .builderName {
	color: #fe9d00;
	font-size: min(8.5vmin, 40px);
	font-weight: 700;
	flex-grow: 1;
	line-height: 1;
	display: flex;
	align-items: baseline;
	letter-spacing: -3px;
	/* justify-content: space-between; */

}
.currentTop dt .builderName::after {
	content: '\003055\003093';
	font-size: 40%;
	color: #fff;
	line-height: 1;
	padding-left: 0.5rem;
}
.currentTop dd {
	display: flex;
	align-items: baseline;
	padding-top: .75rem;
}
.currentTop dd div:nth-of-type(1) {
	width: 20%;
	flex-basis: auto;
	color: #fff;
	font-size: min(3.2vmin, 24px);
	line-height: 1;
}
.currentTop dd .returnRate {
	color: #fe9d00;
	font-size: min(8.5vmin, 52px);
	font-family: 'Rubik';
	flex-grow: 1;
	line-height: 1;
	display: flex;
    align-items: baseline;
	/* justify-content: space-between; */
}
.currentTop dd .returnRate::after {
	content: '\0025';
	font-size: 40%;
	color: #fff;
	line-height: 1;
	padding-left: 0.5rem;
}
@media (max-width: 750px) {
	.currentTop dt {
		padding-bottom: .5rem;
	}
	.currentTop dt div:nth-of-type(1) {
		width: 21%;
		margin-bottom: 0;
	}
	.currentTop dt div:nth-of-type(1) img {
		width: 70%;
	}
	.currentTop dd {
		padding-top: .5rem;
	}
	.currentTop dd div:nth-of-type(1) {
		width: 21%;
	}
}

/* RANKING
____________________________________________________ */
.sec02 .sectionInner {
	background: url(../img/RANKING.png) no-repeat 0 100%, linear-gradient(55deg, var(--color02) 56%, var(--color03) 56%);
	padding: 5vmin 0 7vmin 0;
}
.sec02 .sectionInner .sectionHeadline {
	margin: 0 auto 2vmin auto;
	width: 46.25%;
}
@media (max-width: 750px) {
	.sec02 .sectionInner {
		background: url(../img/RANKING.png) no-repeat 0 100%, linear-gradient(69deg, var(--color02) 61%, var(--color03) 61%);
		background-size: 80%, 100%;
	}
	.sec02 .sectionInner .sectionHeadline {
		margin: 0 auto 10vmin auto;
		width: 63%;
	}
}

.rankingTable {
	background: #fff;
	border-radius: 5px 5px 5px 3em;
	width: 100%;
	max-width: 950px;
	margin: 0 auto 5vmin auto;
	box-shadow: 0 4vmin 4vmin 0 rgba(0,0,0,0.25);
}
.rankingTable > div {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem 0;
	line-height: 1;
	width: 94%;
	margin: 0 auto;
	border-bottom: 1px solid #2e406c;
}
.rankingTable > .headline {
	border-bottom: 2px solid #2e406c;
	width: 100%;
}
.rankingTable > div:last-child {
	border-bottom: none;
}
.rankingTable > div > p {
	flex-basis: auto;
	display: flex;
	justify-content: center;
	font-size: min(4vmin, 24px);
}
.rankingTable > .headline > p {
	font-size: min(3vmin, 14px)!important;
	color: #2e406c!important;
	font-weight: 700!important;
}
.rankingTable > .headline > p:nth-of-type(1) {
	margin-left: 3%;
}
.rankingTable > .headline > p:nth-of-type(5) {
	margin-right: 3%;
}
.rankingTable > .headline > p:nth-of-type(6) {
	justify-content: flex-start;
}
.rankingTable > div > p:nth-of-type(1) {
	width: 13%;
	color: #2e406c;
	font-size: min(3.5vmin,16px);
	font-weight: 500;
	display: flex;
	align-items: center;
}
.rankingTable > div:nth-of-type(-n+4) > p:nth-of-type(1) {
	font-size: min(4vmin,20px);
}
.rankingTable > div:nth-of-type(-n+4) > p:nth-of-type(1) img {
	width: 38%;
	margin-right: 3px;
}
.rankingTable > div > p:nth-of-type(2) {
	width: 17%;
	color: #000;
	font-size: min(3vmin,14px);
	font-weight: 700;
	display: flex;
	flex-direction: column;
	align-items: center;
	font-family: 'Rubik';
}
.rankingTable > div.gain > p:nth-of-type(2) {
	color: #8bb583;
}
.rankingTable > div.loss > p:nth-of-type(2) {
	color: #fe393c;
}
.rankingTable > div.keep > p:nth-of-type(2) {
	color: #000;
}
.rankingTable > div.gain > p:nth-of-type(2)::before {
	content: '';
	background: url(../img/arrow_gain.png) no-repeat;
	background-size: cover;
	width: 17px;
	height: 19px;
	margin-bottom: 2px;
}
.rankingTable > div.loss > p:nth-of-type(2)::before {
	content: '';
	background: url(../img/arrow_loss.png) no-repeat;
	background-size: cover;
	width: 17px;
	height: 19px;
	margin-bottom: 2px;
}
.rankingTable > div.keep > p:nth-of-type(2)::before {
	content: '';
	background: url(../img/arrow_keep.png?1) no-repeat;
	background-size: cover;
	width: 19px;
	height: 18px;
}
.rankingTable > div > p:nth-of-type(3) {
	width: 25%;
	color: #2e406c;
	font-size: min(3vmin,18px);
	font-weight: 400;
    font-family: 'Noto Sans JP';
}
.rankingTable > div:nth-of-type(-n+4) > p:nth-of-type(3) {
	font-size: min(4.0vmin,22px);
	font-weight: 700;
}
.rankingTable > div > p:nth-of-type(4) {
	width: 20%;
	color: #8bb583;
	font-size: min(4.5vmin,28px);
	font-family: 'Rubik';
}
.rankingTable > div > p:nth-of-type(5) {
	width: 15%;
	color: #2e406c;
	font-size: min(2vmin,16px);
	font-weight: 500;
}
.rankingTable > div > p:nth-of-type(6) {
	width: 10%;
	color: #2e406c;
	font-size: min(2vmin,16px);
	font-weight: 500;
}
.rankingTable .notes {
	font-size: 12px;
	color: #2e406c;
}
@media (max-width: 750px) {
	.rankingTable {
		width: 95%;
		margin: 0 auto 10vmin auto;
	}
	.rankingTable > div {
		width: 95%;
	}
}

.sec02 .annotation {
	color: #fff;
	width: 100%;
	max-width: calc(100% - (100% - 600px) / 2);
	margin: 0 auto 0 calc( (100% - 770px) / 2 );
	padding-left: 2.5%;
	margin-bottom: 5vmin;
}
.sec02 .annotation dt {
	margin-bottom: 1em;
	line-height: 1;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 600px;
}
.sec02 .annotation dt img {
	margin-right: 5px;
}
.sec02 ul {
	padding-left: 0;
}
.sec02 ul li {
	line-height: 1.7;
	padding: .25em 0;
	font-size: min(3vmin,14px);
}
@media (max-width: 750px) {
	.sec02 .annotation {
		margin: 0 auto 10vmin auto;
		padding: 0 4vw;
	}
	.sec02 ul {
		margin: 0 auto;
	}
	.sec02 ul li {
		font-size: min(3vmin,12px);
	}
}

/* RECRUITING
____________________________________________________ */
.sec03 .sectionInner .sectionHeadline {
	margin-bottom: -20%;
}
.recruitInfo {
	width: 100%;
    max-width: 600px;
    margin: 0 auto 2em 25%;
	color: #2e406c;
	position: relative;
}
.recruitInfo dt {
	width: 70%;
	font-size: min(3vmin,16px);
	text-align: justify;
    font-feature-settings: "palt" 1;
	letter-spacing: .13em;
	font-weight: 700;
	margin-bottom: 1.25em;
	background: rgba(241,236,226,.9);
	box-shadow: 0 0 10px 0 rgba(241,236,226,.9);
}
.recruitInfo dd {
	width: 70%;
    letter-spacing: .15em;
	line-height: 1.84;
    font-size: min(4vmin,14px);
    text-align: justify;
    font-feature-settings: "palt" 1;
	background: rgba(241,236,226,.9);
	box-shadow: 0 0 10px 0 rgba(241,236,226,.9);
}
.detailLink {
	font-weight: 700;
}
.detailLink a {
	font-weight: 400;
	color: #e69f23;
	letter-spacing: .035em;
}
@media (max-width: 750px) {
	.sec03 .sectionInner .sectionHeadline {
		margin-bottom: -26%;
	}
	.recruitInfo {
		max-width: 100%;
		padding: 0 13%;
		margin: 1rem auto 2em auto;
	}
	.recruitInfo dt {
		width: 100%;
		font-size: 4.5vmin;
		margin-bottom: .75em;
		line-height: 1.4;
	}
	.recruitInfo dd {
		width: 100%;
		font-size: 3.5vmin;
		line-height: 1.5;
	}
	.detailLink {
		margin-top: .75em;
	}
	.detailLink a {
		font-size: 3.5vmin;
		letter-spacing: 0;
	}
}

/* PRIZE
____________________________________________________ */
.sec04 .sectionInner {
	background: #fff;
	padding: 10vmin 0 .01% 0;
}
.sec04 .sectionInner .sectionHeadline {
	margin: 0 auto 2vmin auto;
	width: 6.9%;
}
.sec04 .sectionInner .innerContent {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}
.sec04 .sectionInner .innerContent > img {
	margin-bottom: 4vmin;
}
@media (max-width: 750px) {
	.sec04 .sectionInner .sectionHeadline {
		width: 28.75%;
	}
	.sec04 .sectionInner .innerContent {
		padding: 0 2vw;
	}
	.sec04 .sectionInner .innerContent > img {
		margin-bottom: 10vmin;
	}
}
.sec04 .prizeInfo {
	margin: 0;
	color: #2e406c;
	margin: 0 auto 6vmin auto;
	padding-bottom: 6vmin;
	border-bottom: 1px solid #ccc;
}
.sec04 .prizeInfo dt {
	text-align: center;
	font-size: min(4vmin, 18px);
	font-weight: 700;
	margin-bottom: 4vmin;
}
.sec04 .prizeInfo dd {
	font-size: min(4vmin, 14px);
}
.sec04 .prizeInfo dd p {
	display: flex;
	line-height: 1.8;
}
.sec04 .prizeInfo dd p span {
	font-weight: 700;
	min-width: 3.25em;
	flex-basis: auto;
}
@media (max-width: 750px) {
	.sec04 .prizeInfo {
		width: 94%;
	}
	.sec04 .prizeInfo dt {
		margin-bottom: 8vmin;
	}
	.sec04 .prizeInfo dd {
		/* padding: 0 4vw; */
	}
	.sec04 .prizeInfo dd p {
		display: block;
	}
}

.sec04 .annotation {
	color: #2e406c;
	width: 100%;
	padding: 0;
	margin: 0 auto 0 0;
}
.sec04 .annotation ul {
	padding: 0;
	font-size: min(3vmin, 14px);
}
.sec04 .annotation dt {
	margin-bottom: 1.25em;
	line-height: 1;
	font-weight: 700;
	font-size: min(4vmin, 14px);
}
.sec04 .annotation li {
	line-height: 1.6;
}
@media (max-width: 750px) {
	.sec04 .annotation {
		width: 94%;
		margin: 0 auto 10vmin auto;
	}
}

/* DISCLAIMER
____________________________________________________ */
.sec05 {
	background: var(--color01);
}
.sec05 .sectionInner {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	padding: 12vmin 0 8vmin 0;
	position: relative;
}
.sec05 .sectionInner::before {
	content: '';
	width: 1.75em;
	height: 3px;
	background: #2e406c;
	position: absolute;
	top: 7vmin;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.sec05 .sectionInner p {
	font-size: min(3vmin, 14px);
}
@media (max-width: 750px) {
	.sec05 .sectionInner {
		padding: 16vmin 9vw 24vmin 9vw;
	}
	.sec05 .sectionInner::before {
		width: 1em;
		height: 2px;
		top: 11vmin;
	}
}

/* -----------------------------------------------------
* Footer
* -------------------------------------------------- */
.l-footer {
	position: relative;
	padding: 40px 50px 30px;
	text-align: center;
	background: #fff;
}
.l-footer .siteID {
	position: relative;
	z-index: 2;
}
.l-footer .siteID img {
	width: 120px;
	height: auto;
	margin: 0 auto;
}
.l-footer .copyright {
	margin: 7px 0 0;
	font-size: .7rem;
}
.l-footer .mod-pagetop {
	outline: 0;
    display: block;
    position: absolute;
    z-index: 1;
    top: -20px;
    right: 0;
    left: 0;
    overflow: hidden;
    width: 54px;
    height: 0;
    margin: 0 auto;
    padding: 54px 0 0;
    border-radius: 50%;
    background: #fff url(../img/ico_arrow_02.png) no-repeat 50% 10px;
    background-size: 10px auto;
}
@media (max-width: 750px) {
	.l-footer .mod-pagetop {
		top: -40px;
		width: 100px;
		padding: 100px 0 0;
		background: #fff url(../img/ico_arrow_02.png) no-repeat 50% 20px;
		background-size: 20px auto;
	}
}


.sp { display: block; }
.pc { display: none; }
@media (min-width: 750px) {
	.sp { display: none; }
	.pc { display: flex; }
}



/* custom */
.attText {
	color: #ffffff;
    font-size: 0.9rem;
    text-align: right;
    margin-top: 1rem;
}
@media (max-width: 750px) {
	.attText {
		font-size: 0.7rem;
	}
}