@charset "UTF-8";

/*================================================
 *  CSSリセット
 ================================================*/
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,main,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}

/*================================================
 *  一般・共通設定
 ================================================*/
body {
	position:relative;
	font-size:16px;
	font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	line-height:1.8;
	color:#000;
	-webkit-text-size-adjust: 100%;
	min-height: 100vh;
	background-color:#fff !important;
    background-image: url(../img/bg.png);
	background-attachment: fixed;
	background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

#contents {
	width:100%;
	margin:0;
 	padding-top:90px;
}

.inner {
    width:1000px;
    margin:0 auto;
}

header {
	width:100%;
	margin:0;
}

a {
	color:#000;
}
a:hover {
	color:#319dd0;
}

h2 {
	margin-bottom:1.5em;
	font-size:30px;
	font-weight:bold;
}

h3 {
	display:block;
	padding: 0 0 4em;
    font-size: 18px;
	font-weight:normal !important;
}
h3 span {
	font-weight:bold;
}

h4 {
	display: inline-block;
	position: relative;
	top:0;
	margin-bottom:1.5em;
	padding:0.25em 1em 0.2em;
    font-size: 20px;
	font-weight:bold;
	line-height: 1.4;
}

h4:before, h4:after { 
	position: absolute;
	top: 0;
	content:'';
	width: 8px;
	height: 100%;
	display: inline-block;
}
h4:before {
	border-left: solid 1px #000;
	border-top: solid 1px #000;
	border-bottom: solid 1px #000;
	left: 0;
}
h4:after {
	content: '';
	border-top: solid 1px #000;
	border-right: solid 1px #000;
	border-bottom: solid 1px #000;
	right: 0;
}

h5 {
	margin-bottom:0.5em;
	font-size:18px;
	font-weight:bold;
}

p {
	margin:0 0 1.5em 0;
}

img {
	vertical-align:bottom;
}

strong {
	font-weight:bold;
}

ul,ol,dl {
	margin:0;
}
ul li {
	list-style:disc;
}
ol li {
	list-style:decimal;
}
li {
	margin-left:1.5em;
}

dt {
	margin-bottom:0.5em;
	border-bottom:1px dotted #ddd;
}
dt:before {
	content:"\0025a0";
}
dd {
	margin-bottom:1em;
}

.table1 {
	width:100%;
	margin-bottom:0;
	border-collapse:collapse;
	border:0;
}
.table1 th {
	padding:30px 10px;
	font-weight:bold;
	text-align:left;
    line-height: 2.5;
	vertical-align:top;
	white-space: nowrap;
	border-top:none;
	border-left:none;
	border-right:none;
	border-bottom:1px solid #999;
}
.table1 td {
	padding:30px 10px;
	font-weight:bold;
	text-align:left;
    line-height: 2.5;
	vertical-align:top;
	border-top:none;
	border-left:none;
	border-right:none;
	border-bottom:1px solid #999;
}

.table2 {
	width:100%;
	margin-bottom:1em;
	border-collapse:collapse;
	font-weight:bold;
	white-space: nowrap;
	border:1px solid #999;
}
.table2 th {
	padding:15px 20px;
	font-size: 14px;
	text-align:center;
	vertical-align:middle;
	border:1px solid #999;
	background:rgba(255,255,255,0.2);
}
.table2 td {
	padding:15px 20px;
	font-size: 14px;
	text-align:center;
	vertical-align:middle;
	border:1px solid #999;
}

.table3 {
	width:100%;
	margin-bottom:1em;
	border-collapse:collapse;
	font-weight:bold;
	white-space: nowrap;
	border:1px solid #999;
}
.table3 th {
	padding:15px 20px;
	font-size: 14px;
	text-align:center;
	vertical-align:middle;
	border:1px solid #999;
	background:rgba(255,255,255,0.2);
}
.table3 span {
	font-size: 12px;
}
.table3 td {
	padding:15px 20px;
	font-size: 18px;
	text-align:center;
	vertical-align:middle;
	border:1px solid #999;
}

.table4 {
	width:100%;
	margin-bottom:1em;
	border-collapse:collapse;
	font-weight:bold;
	white-space: nowrap;
	border:1px solid #999;
}
.table4 th {
	padding:15px 20px;
	font-size: 14px;
	text-align:center;
	vertical-align:middle;
	border:1px solid #999;
	background:rgba(255,255,255,0.2);
}
.table4 span {
	font-size: 12px;
}
.table4 td {
	padding:15px 20px;
	font-size: 18px;
	text-align:center;
	vertical-align:middle;
	border:1px solid #999;
}

/*================================================
 *  汎用クラス
 ================================================*/
section {
	margin-bottom:15em;
}
section img {
	width:100%;
}

/*================================================
 *  ヘッダー
 ================================================*/
header {
	margin-top:0;
	margin-bottom:0;
}

h1.headerLogo {
	width:100%;
	position:fixed;
	top:0;
	left:0;
	padding:10px 15px;
	z-index:9;
	background:rgba(255,255,255,0.9);
}
h1.headerLogo img {
	height:70px;
}

.login {
	position:fixed;
	top:10px;
	right:15px;
	z-index:9;
}
.login img {
	height:70px;
}
.login a:hover {
	opacity: 0.8;
}

/*================================================
 *  メイン
 ================================================*/
.topImg {
	overflow:hidden;
	width: 100%;
	margin:0 0 15em;
}
.topImg img {
	width: 100%;
}

.news {
	overflow:hidden;
	width: 100%;
	margin:0 0 10em;
}

.info {
	box-sizing: border-box;
	width: 100%;
	overflow:auto;
	padding:0 15px 0 0;
	height:300px;
}
.info dt {
	border-bottom:none;
}
.info dd {
	padding-bottom:1em;
	border-bottom:1px solid #ddd;
}

.code {
	overflow:hidden;
	width: 100%;
	margin:0 0 5em;
	color:#f00;
}

.ecoBag {
	overflow:hidden;
	width: 100%;
	margin:0 0 15em;
}
.ecoBag img {
	width: 100%;
}

.prize {
	overflow:hidden;
	width: 100%;
	margin:0 0 20em;
}
.prize img {
	width: 100%;
}

.mask {
	overflow:hidden;
	width: 100%;
	margin:0 0 20em;
}
.mask img {
	width: 100%;
}

.mugen02_highlight {
	display:flex;
	overflow-x:scroll;
}
.mugen02_highlight img {
	width:300px;
	padding:1em 1em 1em 0;
}

.text_s {
	margin:0 0 1.5em;
	font-size:18px;
	font-weight:bold;
	line-height:2;
}

.notice1 {
	display:block;
    font-size: 12px !important;
    line-height: 1.8;
	margin:0;
	font-weight:normal !important;
}
.notice2 {
	display:block;
    font-size: 12px !important;
    line-height: 1.8;
	margin:0 0 2em;
	font-weight:normal !important;
}

.account {
	overflow:hidden;
	width: 100%;
	margin:0;
}
.account img {
	width: 100%;
	max-width: 300px;
}
.account a {
	display:block;
}

.rule {
	overflow:hidden;
}
.rule div {
	overflow:hidden;
	margin:0 0 4em;
}
.rule div:last-child {
	margin:0;
}
.rule div ul.with-margin {
	margin:0 0 1em;
}
.rule div ul li {
	font-weight:bold;
}
.rule div p {
	font-weight:bold;
}

.announce {
	overflow:hidden;
}
.announce h2 {
	text-align:center;
}
.announce p {
    font-size: 18px;
	font-weight:bold;
}
.announce p span {
    font-size: 38px;
	font-weight:bold;
	line-height:1.5;
}
.announce p span.day {
    font-size: 28px;
	font-weight:bold;
}

.matchTime {
	overflow:auto;
	margin:0;
}

.scrollAuto {
	overflow:auto;
	margin:0 0 1em;
}

.aboutArmor {
    width:100%;
	margin:0 0 3em;
	padding:0;
	text-align:center;
}

/* ボタン */
.btn a {
    width:600px;
	display:block;
	margin:0 auto;
	padding:1% 0 0.8%;
	font-size:30px;
	color:#fff;
	text-decoration:none;
	border-radius:50px;
	background:#009b1c;
	transition:all 0.2s ease 0s;
}
.btn a:hover {
	color:#fff;
	background:#06c755;
	transition:all 0.2s ease 0s;
}

/*================================================
 *  プライバシーポリシー
 ================================================*/
.privacy {
	overflow:hidden;
	margin:2em 0;
}
.privacy ol li {
	font-size:16px;
	font-weight:bold;
	list-style:decimal;
}
.privacy ol li span {
	font-weight:normal;
}
.privacy li {
	margin-left:1.5em;
    padding: 0.5em 0;
}
.privacy a {
	color:#000;
}
.privacy a:hover {
	text-decoration: none;
}

/*================================================
 *  団体概要
 ================================================*/
.group {
	overflow:hidden;
	margin:2em 0;
}

.table_group {
	width:100%;
	margin-bottom:1em;
	border-collapse:collapse;
	border:1px solid #999;
}
.table_group th {
	padding:10px;
	text-align:center;
	vertical-align:middle;
	border:1px solid #999;
	background:rgba(0,0,0,0.05);
}
.table_group td {
	padding:10px;
	text-align:left;
	border:1px solid #999;
}

/*================================================
 *  フッター
 ================================================*/
footer {
	clear:both;
	padding:20px 0 50px;
	font-size:11px;
	text-align:center;
}

.footmenu {
	width:100%;
	padding:20px 0;
	overflow:hidden;
}
.footmenu ul {
	position:relative;
	float:left;
	left:50%;
	margin:0;
	padding:0;
}
.footmenu li {
	position:relative;
	left:-50%;
	float:left;
	list-style:none;
	margin:0;
	padding:0 15px;
	font-size:14px;
	font-weight:bold;
	text-align:center;
}
.footmenu a {
	text-decoration:none;
}
.footmenu a:hover {
	color:#319dd0;
}

.link_icon::after {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	background-image:url(../img/external-link_icon.png);
	background-size: contain;
	vertical-align: middle;
	background-repeat: no-repeat;
	position:  relative;
    top: -2px;
    right: -5px;
}

/*================================================
 *  ENTRYボタン
 ================================================*/
.entry {
	position:fixed;
	bottom:20px;
	right:20px;
	max-width: 150px;
	width: 100%;
}
.entry a {
	display:block;
}
.entry img {
	height: auto;
	transition: transform .6s ease;/* ゆっくり変化させる */
	width: 100%;
}
.entry:hover img {
	transform: scale(1.1);/* 拡大 */
}

/*================================================
 *  ページトップへの戻り
 ================================================*/
.pagetop {
	position: absolute;
	bottom:15px;
	right:15px;
}
.pagetop a {
	display:block;
	text-decoration:none;
}
.pagetop img {
	width:60px;
	height:60px;
	background:#000;
}
.pagetop img:hover {
	width:60px;
	height:60px;
	background:#e70012;
}

/*================================================
 *  タブレット/スマートフォン
 ================================================*/
/* スクロールバーを考慮して20px大きいサイズで切り替え */
@media screen and (max-width:1024px) {
    * {
        box-sizing: border-box;
    }

	body {
		width:100%;
	}
	
	body:before{
	    content: "";
	    display: block;
	    position: fixed;
	    top: 0;
	    left: 0;
	    z-index: -1;
	    width: 100%;
	    height: 100vh;
	    background-image: url(../img/bg.png);
	    background-size: cover;
	    background-color:#fff !important;
	    background-position: center top !important;
	    background-repeat: no-repeat;
	}
	
	section {
		margin-bottom:10em;
	}

	#contents {
	    width:100%;
	 	padding-top:70px;
	}
	
	#contents .inner {
        box-sizing: border-box;
	    width:100%;
	    padding: 0 10px;
	}
	
	.inner {
	    width:100%;
	}

	header {
		width:100%;
	}

	h1.headerLogo img {
		height:50px;
	}

	.login img {
		height:50px;
	}
	
	.topImg {
		margin:0 0 5em;
	}

	.news {
		margin:0 0 3em;
	}

	.code {
		margin:0 0 3em;
	}

	.ecoBag {
		margin:0 0 5em;
	}
	
	.entry {
		bottom:15px;
		right:15px;
	}
	.entry img {
		transition: none;
	}
	.entry:hover img {
		transform: none;
	}
}

@media screen and (max-width:799px) {
	section {
		margin-bottom:10em;
	}
	
	.topImg {
		margin:0 0 5em;
	}

	.news {
		margin:0 0 3em;
	}

	.info {
		height:250px;
	}
	
	.greeting {
		margin:0 0 5em;
	}
	
	nav {
		display:none;
	}

	p.deadline {
	    top: 220px;
	    left: 50px;
	    font-size: 1.5rem;
	}
}

@media screen and (max-width:500px) {
	section {
		margin-bottom:6em;
	}
	
	h2 {
		margin-bottom:1em;
		font-size:24px;
	    line-height: 1.4;
	}
	
	h3 {
		padding: 0 0 2em;
	}
	
	.topImg {
		margin:0 0 3em;
	}

	.news {
		margin:0 0 6em;
	}

	.code {
		margin:0 0 2.5em;
	}

	.ecoBag {
		margin:0 0 6em;
	}

	.prize {
		margin:0 0 6em;
	}

	.mask {
		margin:0 0 6em;
	}

	.btn a {
	    width:250px;
		padding:0.7em 0 0.5em;
		font-size:18px;
	    line-height: 1.4;
	}
	
	.table1 th {
		padding:20px 10px;
	    line-height: 1.6;
	}
	.table1 td {
		padding:20px 10px;
	    line-height: 1.6;
	}
	
	.table2 th {
		font-size: 12px;
	}
	.table2 td {
		font-size: 12px;
	}
	
	.table2 th {
		font-size: 12px;
	}
	.table2 td {
		font-size: 14px;
	}
	.table4 th {
		padding:15px 10px;
	}
	.table4 td {
		padding:15px;
	}
	
	.notice1 {
		margin:0.5em 0 0;
	}
	.notice2 {
		margin:0.5em 0 1.5em;
	}
	
	.account {
		overflow:hidden;
		width: 100%;
		text-align:center;
	}
	.account img {
		width: 250px;
		margin:0.7em 0 0.5em;
	}
	
    .table_sp { margin: 0 0 20px; }
    .table_sp th,
    .table_sp td{
        width: auto;
        display: block;
        border: none;
    }
    .table_sp th {border-top: 1px #999 solid; border-bottom: 0;}
    .table_sp td {border-top: 1px #999 solid; border-bottom: 0;}
    .table_sp tr:first-child th {border-top: none;}
}

@media screen and (min-width: 500px){
    .br-sp {display: none; }
}


{