@charset "UTF-8";
/* CSS Document */

:root{
	--maincolor: #548235;
}


.mb20 { margin-bottom: 20px; }
.taR { text-align: right; }
.taC { text-align: center; }


#container{
	width:100%;
	height:100%;
}
	

/* header */
#header{
	background: #548235;
	height:195px;
}

#header h1 a{
	display:block;
	width:812px;
	height:153px;
	margin:auto;
}

/* glnavi */
#glnavi{
	height:42px;
}

#glnavi ul{
	width:812px;
	margin:auto;
}

#glnavi li{
	float:left;
}

#glnavi li a{
	display:block;
	height:42px;
	width:116px;
	background:url(../img/common/glnavi.gif?20260302) no-repeat;
	text-indent:-10000px;
}

#glnavi li.c1 a{background-position:0 0;}
#glnavi li.c2 a{background-position:-116px 0;}
#glnavi li.c3 a{background-position:-232px 0;}
#glnavi li.c4 a{background-position:-348px 0;}
#glnavi li.c5 a{background-position:-464px 0;}
#glnavi li.c6 a{background-position:-580px 0;}
#glnavi li.c7 a{background-position:-696px 0;}

#glnavi li.c1 a:hover{background-position:0 -42px;}
#glnavi li.c2 a:hover{background-position:-116px -42px;}
#glnavi li.c3 a:hover{background-position:-232px -42px;}
#glnavi li.c4 a:hover{background-position:-348px -42px;}
#glnavi li.c5 a:hover{background-position:-464px -42px;}
#glnavi li.c6 a:hover{background-position:-580px -42px;}
#glnavi li.c7 a:hover{background-position:-696px -42px;}

.top #glnavi li.c1 a{background-position:0 -42px;}
.essential #glnavi li.c2 a{background-position:-116px -42px;}
.rules #glnavi li.c3 a{background-position:-232px -42px;}
.prize #glnavi li.c4 a{background-position:-348px -42px;}
.report #glnavi li.c5 a{background-position:-464px -42px;}
.works #glnavi li.c6 a{background-position:-580px -42px;}
.appli #glnavi li.c7 a{background-position:-696px -42px;}

/* contents */
#wrapper{
	width:812px;
	margin:0 auto 0;
}

/* main_colmun */
#main_colmun{
	padding:0;
}

#main_colmun h2 { margin-top: 3px; }
#main_colmun .main_visual a { position: relative; width: 360px; height: 60px; background: #ffffff; color: var(--maincolor ); border: 4px var(--maincolor ) solid; font-size: 18px; line-height: 60px; font-weight: 700; text-align: center; display: block; text-decoration: none; background: 0 auto 200px; margin: 30px auto 50px; }
#main_colmun .main_visual a.worksBtn1 { margin: 0 10px 30px 0; display: inline-block; }
#main_colmun .main_visual a.worksBtn2 { margin: 0 0 30px 0; display: inline-block; }
#main_colmun .main_visual a::before { position: absolute; top: 23px; right: 16px;  content: ""; width: 10px; height: 10px; border: 2px solid; border-color: transparent transparent var(--maincolor ) var(--maincolor ); transform: rotate(225deg); }
#main_colmun .main_visual a:hover { background: var(--maincolor ); color: #fff; }
#main_colmun .main_visual a:hover::before { border-color: transparent transparent #fff #fff; }


#main_colmun h3{
	border-bottom:2px solid var(--maincolor );
	font-weight:bold;
	color:var(--maincolor );
	font-size:24px;
	line-height: 1.4;
	margin:50px 0 30px 0;
	padding-bottom: 10px;
}

#main_colmun h3 .small{
	font-size: 0.6em;
}
#main_colmun h3 span{
	font-size: 0.6em;
	font-weight: 500;
	text-align: right;
}

#main_colmun h4{
	font-weight:bold;
	color:var(--maincolor );
	font-size:1.4em;
	line-height: 1.4;
}

#main_colmun h5{
	font-weight:bold;
	font-size:1.1em;
}

.top #main_colmun .hina,
.essential #main_colmun .hina,
.rules #main_colmun .hina,
.prize #main_colmun .hina,
.report #main_colmun .hina,
.works #main_colmun .hina,
.appli #main_colmun .hina{
	float:right;
}

/*****************************/
/*********** top *************/
/*****************************/
.top #main_colmun .topAte { margin: 30px 0; font-size: 1.2rem; padding: 20px; border: 1px solid #cc0000; }
.top #main_colmun .topAte2025 { margin: 20px 0 30px; font-size: 2.2rem; text-align: center; font-weight:bold; color: #cc0000; }
.top #main_colmun .topAte2026 { margin: 20px 0 10px; font-size: 1.6rem; text-align: center; font-weight:bold; color: #000000; }

.top #main_colmun .topLead { margin: 30px 0; font-size: 1.2rem; }
.top #main_colmun .topText { margin: 30px 0 10px; text-align: center; font-size: 1.4rem; }
.top #main_colmun .topNotes { text-align: center; font-size: 1.1rem; margin-bottom: 30px; }

.top #main_colmun .topBtn a { display: inline-block; margin-right: 16px; }
.top #main_colmun .topBtn a:last-child { margin-right: 0; }

.top #main_colmun th{
	padding:0 10px 0 0;
	vertical-align:middle;
	line-height:45px;
}

.top #main_colmun td{
	font-weight:bold;
	font-size:1.2em;
}

.top #main_colmun td a{
	color: #333 !important;
}

.top #main_colmun td a:hover{
	text-decoration: none;
}

.top #main_colmun .c1{
	color:#0E8657;
	font-size:1.4em;
}

/* 記録PDFダウンロード */

#main_colmun .record .area{
	float: right;
	text-align: center;
	background: #eee;
	padding: 30px;
	border-radius:5px; /* css3 */
    -webkit-border-radius: 5px; /* Safari,Google Chrome用 */  
    -moz-border-radius: 5px; /* Firefox用 */  
	border-left: 20px solid #fff;
}

#main_colmun .record .area h4{
	margin-bottom: 15px;
	font-size: 1.2em;
	color: #333;
}

#main_colmun .record .area h4 span{
	font-size: 0.8em;
}

#main_colmun .record .area .btn a{
	display: inline-block;
	background: #3FA9F5;
	color: #fff;
	padding: 3px 30px;
	border-radius:15px; /* css3 */
    -webkit-border-radius:15px; /* Safari,Google Chrome用 */  
    -moz-border-radius:15px; /* Firefox用 */  
}

#main_colmun .record .area .btn a:hover{
	text-decoration: none;
	opacity: 0.7 !important; /* Standard: FF gt 1.5, Opera, Safari */
	filter: alpha(opacity=70) !important; /* IE lt 8 */
	-ms-filter: "alpha(opacity=70)" !important; /* IE 8 */
}

#main_colmun .record .area p{
	font-size: 0.8em;
	margin-top: 0.5em;
}

#main_colmun .topBottom { margin-top: 50px; }



/*****************************/
/******** essential **********/
/*****************************/
.essential #main_colmun th{
	width:130px;
	vertical-align:top;
}

.essential #main_colmun th, .essential #main_colmun td{
	padding:0 0 10px 0;
}

.essential #main_colmun .c1{
	font-weight:bold;
}

.essential #main_colmun .themeText{
	font-weight:bold;
	color:var(--maincolor );
	font-size:24px;
	line-height: 1.4;
}

.essential #main_colmun .endText { font-size:15px; font-weight:bold; color:#cc0000; margin-bottom: 20px; }

/*****************************/
/*********** rules ***********/
/*****************************/
.rules #main_colmun table{
	margin-bottom:20px;
}

.rules #main_colmun th{
	width:180px;
	vertical-align:top;
}

.rules #main_colmun td{
	vertical-align:top;
}

.rules #main_colmun .c1{
	font-weight:bold;
}

/*****************************/
/*********** prize ***********/
/*****************************/
.prize #main_colmun table{
	margin-bottom:40px;
}

.prize #main_colmun th{
	width:200px;
	vertical-align:top;
}

.prize #main_colmun td{
	vertical-align:top;
}

.prize #main_colmun h4 .c1{
	font-size:0.6em;
}

.prize #main_colmun .judge{
	background-color:#fdf2e6;
	padding:20px 40px;
	margin-top:10px;
}

.prize #main_colmun .judge span{
	font-size:0.7em;
	vertical-align:middle;
}


.prize #main_colmun .judge table{
	margin:0;
}

.prize #main_colmun .c2{
	border-bottom:1px solid var(--maincolor );
	text-align:center;
	font-size:1.4em;
	color:var(--maincolor );
	padding-bottom:5px;
	margin-bottom:5px;
}

.prize #main_colmun .c3{
	font-size:1.2em;
	color:var(--maincolor );
	padding:10px 0 5px;
}

.prize #main_colmun .c4{
	width:100px;
}

.prize #main_colmun .c5{
	width:100px;
}

.prize #main_colmun .clearfileImg { float: left; margin-right: 10px; }
.prize #main_colmun .clearfileTxt { float: left; }


.prize .prizeTitle {font-size: 24px; line-height: 36px; font-weight: bold; text-align: center; margin-bottom: 50px; background: var(--maincolor ); padding: 5px 10px; color: #fff; border-radius: 20px; }


/*****************************/
/*********** report **********/
/*****************************/
.report #main_colmun th{
	width:95px;
	font-weight:bold;
	color:var(--maincolor );
	padding-top:15px;
}

.report #main_colmun .c1{
	margin-bottom:20px;
}

.report #main_colmun .c3{
	margin:1.2em 0;
	text-align:center;
}

.report #main_colmun th, .report #main_colmun td{
	vertical-align:top;
	border-bottom:1px dotted var(--maincolor );
	padding:10px 5px 5px 5px;
}

.report #main_colmun table{
	border-top:1px solid var(--maincolor );
	border-bottom:1px solid var(--maincolor );
	width:100%;
}

.report #main_colmun li{
	margin-bottom:15px;
}

.report #main_colmun .rela{
	position:relative;
}

.report #main_colmun .c4{
	position:absolute;
	right:-25px;
	top:80px;
	z-index:1;
}

.report #main_colmun .c5{
	position:absolute;
	right:-25px;
	top:310px;
	z-index:2;
}

.report #main_colmun .c6{
	position:absolute;
	right:-25px;
	top:550px;
	z-index:3;
}

.report #main_colmun .c7{
	font-size: 0.8em;
	margin-top: 0.5em;
}

.report #main_colmun .impression{
	background-color:#fdf2e6;
	padding: 30px;
	border-radius:5px; /* css3 */
    -webkit-border-radius:5px; /* Safari,Google Chrome用 */  
    -moz-border-radius:5px; /* Firefox用 */ 
	margin-bottom: 1em;
}

.report #main_colmun .impression .name{
	text-align: right;
}

.report #main_colmun .impression .name span{
	font-size: 1.4em;
}

.report_visual { margin-bottom: 25px; }
.report_txt { font-size: 16px; line-height: 31px; margin-bottom: 85px; }


/* 2023/4/18 */
.report #main_colmun h3 { margin: 50px 0 5px; }
.report #main_colmun h4 { margin-bottom: 15px; }
.report #main_colmun .reportArea { width: 660px; position: relative; margin: 0 auto; box-sizing: border-box; background-color: #faffe9; background-image: url(../img/report/report_bottom.png); background-repeat: no-repeat; background-position: bottom; padding: 40px 60px; border: 1px solid var(--maincolor ); border-radius: 30px; }
.report #main_colmun .reportArea::before { position: absolute; top: 450px; right: -72px; display: block; content: url(../img/report/report_right.png); }
.report #main_colmun .reportArea::after { position: absolute; top: 820px; left: -50px; display: block; content: url(../img/report/report_left.png); }
.report_img { width: 360px; margin: 0 auto 110px; }
.report_img:last-child { margin-bottom: 220px; }


/* 2026/7/28 改修 */
.repoMain { width: 100%; height: 640px; background-image: url(../img/report/report_main22.jpg); background-repeat: no-repeat; background-position: center; }
.repoMain h2 { text-indent: 100%; white-space: nowrap; overflow: hidden; }

.repoContent { background-color: #fff; }
.rcInner { width: 812px; margin: 0 auto;}
.rcInnerReport22 { width: 812px; margin: 0 auto; text-align: center; font-size: 16px; line-height: 30px; font-weight: bold; padding: 480px 0 20px; }

.repoBg1 { background: url(../img/report/report_separator1.png) center bottom no-repeat; padding-bottom: 240px; }
.repoBg2 { background: url(../img/report/report_separator2.png) center bottom no-repeat; padding-bottom: 240px; }
.repoBg3 { background: url(../img/report/report_separator1.png) center bottom no-repeat; padding-bottom: 240px; }

.reportTop { overflow: hidden; }
.reportTop .reportLeft { float: left; width: 450px; }
.reportTop .reportLeft p { font-size: 17px; line-height: 34px; margin-top: 30px; }
.reportTop .reportRight { float: Right; padding-top: 18px; }

.reportText p { font-size: 17px; line-height: 34px; }
.reportText .centerImg { width: 740px; margin: 40px auto; }
.reportText .centerImg p { font-size: 13px; }
.reportText .rightImg { width: 400px; margin: 10px 0 0 40px; float: Right; }
.reportText .rightImg1 { width: 305px; margin: 10px 0 0 40px; float: Right; }
.reportText .rightImg2 { width: 350px; margin: 10px 0 100px 40px; float: Right; }
.reportText .rightImg3 { width: 345px; margin: 10px 0 0 40px; float: Right; }
.reportText .rightImg4 { width: 380px; margin: 10px 0 0 40px; float: Right; }
.reportText .rightImg p,
.reportText .rightImg1 p,
.reportText .rightImg2 p,
.reportText .rightImg3 p,
.reportText .rightImg4 p { text-align: left; font-size: 13px; line-height: 18px; padding-top: 10px; }
.reportText .twoImg { width: 740px; margin: 40px auto; overflow: hidden; }
.reportText .twoImg p { font-size: 13px; line-height: 18px; padding-top: 10px; }
.reportText .twoImg .tiLeft { float: left; width: 360px; }
.reportText .twoImg .tiRight { float: Right; }



/*****************************/
/*********** works ***********/
/*****************************/
.works #main_colmun table{
	width:100%;
}

.works #main_colmun .tab_btn { display: flex; flex-wrap: wrap; margin: 10px 0 40px; border-bottom: 2px solid var(--maincolor ); padding-left: 10px; }
.works #main_colmun .tab_btn_item { border: 2px solid var(--maincolor ); border-bottom: 0; padding: 11px 30px 5px; line-height: 1; font-size: 15px; cursor: pointer; cursor: pointer; color: var(--maincolor ); font-weight: 700; background: var(--maincolor ); color: #fff; margin-top: 10px; margin-left: 2px; }
.works #main_colmun .tab_btn_item:hover,
.works #main_colmun .tab_btn_item.active { background: #fff; color: var(--maincolor ); padding: 15px 30px 15px; margin-top: 0px; }

.works #main_colmun .tab_grand { position: relative; display: flex; align-items: center; margin: 20px 0 40px; padding: 45px 0; }
.works #main_colmun .tab_grand + .tab_grand { margin: 20px 0 10px; }
.works #main_colmun .tab_grand + .tab_grand + .notes { text-align: right; margin-bottom: 40px; }
.works #main_colmun .tab_grand:before { content: ""; position: absolute; top: 0; left: 0; border-top: 4px solid var(--maincolor ); border-left: 4px solid var(--maincolor ); width: 90px; height: 75%; }
.works #main_colmun .tab_grand:after { content: ""; position: absolute; right: 0; bottom: 0; border-right: 4px solid var(--maincolor ); border-bottom: 4px solid var(--maincolor ); width: 90px; height: 75%; }
.works #main_colmun .tab_grand_tag { font-weight: 700; font-size: 30px; color: var(--maincolor ); width: 180px; text-align: center; padding-left: 20px; letter-spacing: 10px; }
.works #main_colmun .tab_grand_tag p { font-weight: 500; font-size: 15px; color: var(--maincolor ); letter-spacing: 0; padding-right: 10px;}
.works #main_colmun .tab_grand_ex { padding-right: 30px; }
.works #main_colmun .tab_grand_name { font-size: 24px; line-height: 1; margin-bottom: 30px; }
.works #main_colmun .tab_grand_name span { font-size: 16px; }
.works #main_colmun .tab_grand_title { font-size: 24px; line-height: 1.25; }
.works #main_colmun .tab_grand_title_tag { display: block; font-size: 15px; margin-bottom: 10px; line-height: 1; font-weight: 700; margin-left: -7px; }

.works #main_colmun .tab_item { display: none; opacity: 0; animation: fade .25s forwards; }
.works #main_colmun .tab_item .tabs { display: none; }
.works #main_colmun .tab_item.active { display: block; }
.works #main_colmun .tab_item.active .tabs { display: block; }
.works #main_colmun .tab_item_contents:nth-child(n+2) { margin-top: 50px; }
.works #main_colmun .tab_item_contents h4 { margin-bottom: 5px; }

@keyframes fade {
	0% { display: none; opacity: 0; }
	1% { display: block; opacity: 0; }
	100% { display: block; opacity: 1; }
}

.works #main_colmun th, .works #main_colmun td{
	vertical-align:top;
	border:1px solid #CCC;
	padding:3px 10px;
}

.works #main_colmun th{
	width:15%;
	background-color:#fdf2e6;
	text-align:center;
}

.works #main_colmun tr:first-child th,
.works #main_colmun tr:first-child td{
	background: var(--maincolor );
	color: #fff;
}

.works #main_colmun tr:first-child p{
	text-align: center;
}

.works #main_colmun tr > *:nth-child(1) {
	width:20%;
}

.works #main_colmun tr > *:nth-child(2) {
	width:20%;
}

.works #main_colmun tr > *:nth-child(3) {
	width:40%;
}

.works #main_colmun tr > *:nth-child(4) {
	width:20%;
	text-align:center;
}

.works #main_colmun .tabs ul{
	border-bottom:1px solid #ccc;
	border-left:1px solid #ccc;
	margin-bottom:30px;
}

.works #main_colmun .tabs ul li{
	float:left;
}

.works #main_colmun .tabs ul li a{
	display:block;
	padding:5px 15px;
	border-right:1px solid #ccc;
	border-top:1px solid #ccc;
	text-decoration:none;
	color:#FFF;
	background-color:#ddd;
}

.works #main_colmun .tabs ul li.active a{
	background-color:var(--maincolor );
}

.works #main_colmun p.notes { margin-top: 12px; padding-left:1em; text-indent:-1em;}


/*****************************/
/******** application ********/
/*****************************/
.appli #main_colmun .c1{
	border:1px solid #CCC;
	padding:30px;
}

.appli #main_colmun .c1 table{
	margin:3em 0 1.5em;
}

.appli #main_colmun .c2{
	padding:10px 0;
}

.appli #main_colmun .c1 th{
	width:50px;
}

.appli #main_colmun .c1 .c2{
	font-size:1.2em;
}

.appli #main_colmun .endText { font-size:15px; font-weight:bold; color:#cc0000; margin-bottom: 20px; }


/* footer */
#footer{
	width:100%;
	height:100px;
	margin:auto;
	margin-top:80px;;
}

#footer p{
	text-align:center;
	margin:0 0 5px;
}

#footer address{
	font-size:9px;
	font-weight: bold;
	color:#CCC;
	text-align:center;
	border-top:1px solid #ddd;
	padding-top:5px;
}

.work_link {
	margin-top: 30px; text-align: center;
}

.work_btn_title {
	font-size: 16px;
	font-weight: bold;
}
.work_btn{
	position: relative;
	background-color:var(--maincolor );
	text-decoration:none;
	font-size:18px;
	padding:20px 20px;
	color: #fff;
	width: 340px;
	display: block;
	text-align: center;
	margin: 5px auto 0;
	font-weight: bold;
}
.work_btn:after{
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 6px;
	height: 6px;
	margin: -4px 0 0 0;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.work_btn:hover{
  opacity:0.5;
  text-decoration: none;
}


.entry_link { margin-top: 30px; text-align: center; }

.entry_link .entry_btn { margin: 5px auto; }

.entry_btn{
	position: relative;
	background-color:var(--maincolor );
	text-decoration:none;
	font-size:18px;
	padding:10px 10px;
	color: #fff;
	width: 300px;
	display: block;
	text-align: center;
	margin: 5px;
	font-weight: bold;
}
.entry_btn:after{
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 6px;
	height: 6px;
	margin: -4px 0 0 0;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.entry_btn:hover{
  opacity:0.5;
  text-decoration: none;
}