html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
	display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
	font-size:100%;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

address{
	font-style:normal;
}


/* 汎用クラス
------------------------------------------------------------ */

.right-top {float:right;}
.left-top {float:left;}
.rightTxt {text-align:right !important;}
.leftTxt {text-align:left !important;}
.centerTxt {text-align:center !important;}
.sf {font-size:90%;}
.bf {font-weight:bold;}

/* clearfix
------------------------------------------------------------ */
.cf,
.clearfix {
	zoom:1;/*for IE 5.5-7*/
}
.cf:after,
.clearfix:after {/*for modern browser*/
	content:".";
	display: block;
	height:0px;
	clear:both;
	visibility:hidden;
}
.cb {
	clear:both;
	line-height:0%;
	height:0px;}

/* margin padding クラス
------------------------------------------------------------ */
.mN{
	margin:0  !important;
}
.pN{
	padding:0  !important;
}
.mtN{
	margin-top:0 !important;
}
.mbN{
	margin-bottom:0 !important;
}
.ptN{
	padding-top:0 !important;
}
.pbN{
	padding-bottom:0 !important;
}

/*margin*/
.mt5 {
	margin-top: 5px !important;
}
.mt10 {
	margin-top: 10px !important;
}
.mt15 {
	margin-top: 15px !important;
}
.mt20 {
	margin-top: 20px !important;
}
.mt25 {
	margin-top: 25px !important;
}
.mt35 {
	margin-top: 35px !important;
}
.mt40 {
	margin-top: 40px !important;
}
.mt45 {
	margin-top: 45px !important;
}
.mt50 {
	margin-top: 50px !important;
}
.mt60 {
	margin-top: 60px !important;
}
.mt70 {
	margin-top: 70px !important;
}
.mt80 {
	margin-top: 80px !important;
}
.mt90 {
	margin-top: 90px !important;
}
.mt100 {
	margin-top: 100px !important;
}

/*padding*/
.pt10 {
	padding-top: 10px !important;
}
.pt15 {
	padding-top: 15px !important;
}
.pt20 {
	padding-top: 20px !important;
}
.pt25 {
	padding-top: 25px !important;
}
.pt30 {
	padding-top: 30px !important;
}
.pt35 {
	padding-top: 35px !important;
}
.pt50 {
	padding-top: 50px !important;
}
/**/
.pb20 {
	padding-bottom: 20px !important;
}
.pb30 {
	padding-bottom: 30px !important;
}
.pb35 {
	padding-bottom: 35px !important;
}
.pb50 {
	padding-bottom: 50px !important;
}





/*フェードアニメーション*/
/*下から移動・順番に出現*/
.fadeinNum {
	opacity : 0;
	transform : translate(0, 30px);
	-webkit-transform : translate(0, 30px);
	-moz-transform : translate(0, 30px);
	transition : all 800ms;
	-webkit-transition : all 800ms;
	-moz-transition : all 800ms;
}
.fadeinNum.scrollin {
	opacity : 1;
	transform : translate(0, 0);
	-webkit-transform : translate(0, 0);
	-moz-transform : translate(0, 0);
}
/*移動なし・順番に出現*/
.fadeNum {
	opacity : 0;
	/**/
	-webkit-transition: 0.8s ease-in-out;
	   -moz-transition: 0.8s ease-in-out;
		 -o-transition: 0.8s ease-in-out;
			transition: 0.8s ease-in-out;
}
.fadeNum.scrollin {
	opacity : 1;
}

/*下から移動*/
.fadein {
	opacity : 0;
	transform : translate(0, 30px);
	-webkit-transform : translate(0, 30px);
	-moz-transform : translate(0, 30px);
	transition : all 800ms;
	-webkit-transition : all 800ms;
	-moz-transition : all 800ms;
}
.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0);
	-webkit-transform : translate(0, 0);
	-moz-transform : translate(0, 0);
}
/*移動なし*/
.fade {
	opacity : 0;
	/**/
	-webkit-transition: 0.8s ease-in-out;
	   -moz-transition: 0.8s ease-in-out;
		 -o-transition: 0.8s ease-in-out;
			transition: 0.8s ease-in-out;
}
.fade.scrollin {
	opacity : 1;

}

/*
* Do not use
h3, h4, h5 {
	padding-top: 120px; margin-top: -120px;
}
*/

/** sponsorship page and homepage */
.sponsorship-champion-one {
	height: 50px;
	margin-top: 24px;
	margin-bottom: 24px;
}

.sponsorship-champion-two {
	height: 40px;
	margin-top: 24px;
	margin-bottom: 24px;
}

.sponsorship-champion-three {
	height: 20px;
	margin-top: 42px;
	margin-bottom: 42px;
}

.sponsorship-champion-left-margin {
	margin-left: -6px;
}

.sponsorship-one {
	height: 25px;
	margin-top: 12px;
	margin-bottom: 12px;
}

.sponsorship-two {
	height: 30px;
	margin-top: 12px;
	margin-bottom: 12px;
}

@media only screen and (min-width: 768px) {
	.sponsorship-champion-one {
		height: 100px;
		margin-top: 36px;
		margin-bottom: 36px;
		max-width: 100%;
	}

	.sponsorship-champion-two {
		height: 70px;
		margin-top: 36px;
		margin-bottom: 36px;
		max-width: 100%;
	}

	.sponsorship-champion-three {
		height: 37px;
		margin-top: 70px;
		margin-bottom: 70px;
		max-width: 100%;
	}

	.sponsorship-one {
		height: 40px;
		margin-top: 20px;
		margin-bottom: 20px;
	}

	.sponsorship-four {
		height: 80px;
		margin-top: 20px;
		margin-bottom: 20px;
	}

	.sponsorship-two {
		height: 50px;
		margin-top: 20px;
		margin-bottom: 20px;
	}
}

.sponsorship-top-page {
	background: white;

}

.sponsor-page-header {
	color: black;
	margin-top: 12px !important;
	margin-bottom: 24px;
	margin-left: 12px;
	margin-right: 12px;
	padding-top: 24px !important;
}

.sponsor-page-champion-grid {
	display: flex;
	display: -webkit-flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.sponsor-page-champion-grid {
	display: grid;
	margin: 18px;
	margin-top: 0px;
	grid-template-columns: repeat( 4, 1fr );
}

.sponsor-page-champion-item {
	grid-column: span 2;
	margin: 6px;
	text-align: center;
	align-self: center;
}


.sponsor-page-champion-item:nth-last-child(1):nth-child(odd) {
	margin: 18px;
	grid-column: 2 / span 2;
}

.sponsor-page-grid {
	display: grid;
	margin: 30px;
	margin-top: 0px;
	grid-template-columns: repeat( 4, 1fr );
}

.sponsor-page-item {
	grid-column: span 2;
	margin: 12px;
	height: 40px;
	text-align: center;
	align-self: center;
}

/* .sponsor-page-item:nth-last-child(1):nth-child(even) {
	grid-column: 2 / span 2;
} */

.sponsor-page-item:nth-last-child(1):nth-child(odd) {
	grid-column: 2 / span 2;
}

.sponsor-page-image {
	vertical-align: middle;
	max-height: 100%;
}

.sponsor-page-champion-image.small-5 {
	max-height: 45px;
}

.sponsor-page-champion-image.small-10 {
	max-height: 40px;
}

.sponsor-page-champion-image.small-20 {
	max-height: 30px;
}

.sponsor-page-champion-image {
	vertical-align: middle;
	max-height: 100%;
}

.sponsor-page-image.small-5 {
	max-height: 45px;
}

.sponsor-page-image.small-10 {
	max-height: 25px;
}

.sponsor-page-image.small-20 {
	max-height: 20px;
}

@media only screen and (min-width: 768px) {
	.sponsor-page-champion-item {
		margin: 18px;
	}

	.sponsor-page-champion-grid {
		margin: 36px;
	}

	.sponsor-page-grid {
		margin: 42px;
	}

	.sponsor-page-champion-image.small-10 {
		max-height: 50px;
	}

	.sponsor-page-champion-image.small-20 {
		max-height: 40px;
	}
}
