@charset "utf-8";
@import url("default.css");

/*==========================================
body
===========================================*/

body {
    font-family: 'Hiragino Sans', 'ヒラギノ角ゴシック', YuGothic, 'Yu Gothic', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic';
    -webkit-text-size-adjust: 100%;
    font-size: 18px;
}

a {
    text-decoration: none;
    color: #000;
}

ul {
    list-style: none;
}

/*==========================================
header
===========================================*/

header {
    width: 100%;
    margin: 15px auto;
}   

header img {
    width: 60%;
    height: auto;
    display: block;
    margin: 0px auto;
    
}

.top img {
    text-align: center;
    width: 50%;
    height: auto;
    vertical-align: bottom;
    display: block;
    margin: 0 auto;
    position: relative;
}    


.top h1 {
    color: #fff;
    background-color: #569E01;
    padding-top: 20px;
    text-align: center;
    font-size: 80px;
    font-family: 'メイリオ', 'Meiryo';
}    

.top h2 {
    color: #231f20;
    background-color: #569E01;
    color: #fff;
    padding-bottom: 20px;
    text-align: center;
    font-size: 40px;
}    

.top_1 {
    display: flex;
}

.top_1 img {
    width: 100%;
}



/*==========================================
lead
===========================================*/
.lead {
    margin: 0 auto;
    padding: 70px 0px;
    font-size: 23px;
    line-height: 1.5;
    background: #FFDF41;
}

.lead p{
    text-align: center;
    font-weight: bold; 
}

.nasef {
    text-decoration: underline;
    color: #00f;
}

.lead_1 {
    width: 1000px;
    margin: 0 auto;
    margin-bottom: 100px;
    margin-top: 10px;
    font-size: 23px;
    line-height: 1.5;
    text-align: center;
}


/*==========================================
contest
===========================================*/
.contest_1 {
    background-color: #FFDF41;;
    padding-bottom: 150px;
    text-align: center;
    padding-top:250px;
}

.contest_1 img {
    width: 500px;
    height: auto;
    margin: 0 auto;
    justify-content: center;
    margin-bottom: 50px;
    margin-top: 50px;
}

.contest_1 .sdgs img { 
    margin: 0;
    width:700px;
}


.contest_1_1 {
    background-color: #ffffffc7;
    margin: 0 auto;
    border-top: 2mm solid #000000;
    border-bottom: 2mm solid #000000;
}

.contest_2 img {
    width: 100%;
    max-width: 2800px;
    position: absolute;
    z-index: 999;
}


.contest_3 {
    background-color: #91DDF9;
    padding-bottom: 150px;
    padding-top: 50px;
    text-align: center;
}

.contest_3 img {
    width: 500px;
    height: auto;
    margin: 0 auto;
    justify-content: center;
    margin-bottom: 50px;
}


.contest_3_1 {
    background-color: #ffffffc7;
    margin: 0 auto;
    border-top: 2mm solid #000000;
    border-bottom: 2mm solid #000000;
}

.contest_3_1 .rule img {
    display: flex;
    width: 850px;
    padding: 30px 0;
    margin: 0 auto;
}


/*==========================================
contest_4
===========================================*/
.contest_4{
    background: #ffefd5;
}


/*==========================================
theme
===========================================*/

.theme{
    margin-left:20px;
}

.theme th{
    text-align: left;
    font-weight:bolder;
    vertical-align: top;
    
}
.theme td{
    text-align: left;
    font-weight:bolder;
    vertical-align: top;
}

.theme_1{
    display: flex;
    width:100%;
}

.theme_1 img{
    width: 300px !important;
}
  

/*==========================================
prize
===========================================*/

.prize_1 {
    width: 500px;
    height: 80px;
    background-color: #007fff;
    margin: auto;
    border-radius: 10px;
    border-color: #007fff;
    display: flex;
    justify-content: center;
    align-items: center;
    border-style: outset;
     border-width: 2px;
}

.prize_1 a {
    font-size: 35px;
    font-weight: bolder;
    color: white;

}

.prize_1:hover {
    opacity: 0.5;
}


/*==========================================
title
===========================================*/

h1.title {
    position: relative;
    margin: 0.5rem;
    padding: 1.2rem 5rem;
    
    color: #000;
    font-weight: bold;
    text-decoration: none;
    display: inline-block;
    border: 9px solid #000;
    z-index: 1;
    font-size: 50px;
    top:60px;
}

h1.title::before,
h1.title::after {
    content: '';
    position: absolute;
    transition: all 0.3s ease;
    z-index: -1;
}

h1.title::before{
    top: 4px;
    right: -34px;
    width: 25px;
    height: 120%;
    background-color: #121212;
    transform: skewY(45deg);
}

h1.title::after{
    bottom: -33px;
    left: 4px;
    width: 105%;
    height: 25px;
    background-color: #000;
    transform: skewX(45deg);
}

.title_color_2{
    background-color: #FFDF41;
}


.title_color_1{
    background-color: #91DDF9;
}




.title_1 {
    background-color: #90623c;
    padding: 30px;
    width: 1000px;
    margin: 0 auto;
    margin-bottom: 50px;
}

.title_1 h1 {
    font-size: 45px;
    color: #fff;
    font-weight: bold;
    text-align: center;
}


/*==========================================
entry_2
===========================================*/
.entry_2 {
    width: fit-content;
    margin: 0 auto;
    margin-bottom: 100px;
    margin-top: 100px;
    font-size: 23px;
    text-align: left;
}

.entry_2 span {
    font-weight: bold;
}


.entry_2 table {
    width: 100%;
    margin: 50px auto;
    border-collapse: separate;
    border-spacing: 0px 10px;
    line-height: 1.5;
    font-size: 23px;
}

.entry_2 table th {
    text-align: right;
    width: 19%;
    padding-right: 1%;
}

.entry_2 table td {
    width: 80%;
}
/* 
.entry_2 .redcolore {
    color: #f00;
} */

.entry_2 .regulation {
    text-decoration: underline;
    color: #00f;
}

.entry_2 .detail{
    background: #FFDF41;
    border-radius: 50px;
    font-size: 20px;
    padding: 5px 10px;
    color: rgb(0, 0, 0);
    transition: background 0.3s ease;
}

.entry_2 .detail:hover{
    background-color: #dabd2e;
}

/* .entry_2 div {
    font-size: 18px;
    padding: 50px;
    border: solid 2px #f00;
    color: #f00;
    line-height: 1.5;
    margin-top: 30px;
} */

.entry_2 div h2 {
    text-align: center;
    font-size: 24px;
    margin-bottom: 15px;
}

.entry_2 div .sheet {
    color: #00f;
    text-decoration: underline;
    display: block;
    text-align: center;
    font-size: 23px;
}

.entry_2_1 {
    width: 580px;
    height: 80px;
    background-color: #569E01;
    margin: auto;
    border-radius: 10px;
    border-color: #569E01;
    display: flex;
    /* justify-content: center; */
    padding-left: 50px;
    align-items: center;
    border-style: outset;
    border-width: 2px;
    margin-top: 80px;
}

.entry_2_1 a {
    font-size: 35px;
    font-weight: bolder;
    color: white;

}

.entry_2_1:hover {
    opacity: 0.5;
}

.entry_2_2 {
    width: 500px;
    height: 80px;
    background-color: #BA55D3;
    margin: auto;
    border-radius: 10px;
    border-color: #BA55D3;
    display: flex;
    justify-content: center;
    align-items: center;
    border-style: outset;
    border-width: 2px;
    margin-top: 80px;
}

.entry_2_2 a {
    font-size: 35px;
    font-weight: bolder;
    color: white;

}

.entry_2_2:hover {
    opacity: 0.5;
}


.entry_2 .line {
    text-decoration: line-through 3px solid;
}

.entry_2 .newdate {
    color: #ff0000;
    font-weight: bolder;
}


/*==========================================
rule
===========================================*/

.rule {
    width: 100%;
    margin: 0 auto;
    /* padding-bottom: 100px; */
    font-size: 23px;
    line-height: 1.5;
}

.rule img {
    width: 600px;
    height: auto;
}

.rule .award{
    font-weight: bold;
    margin-top: 20px;
}

.rule .award_1{
    text-align: center;
    font-size: 40px;
    font-weight: bold;
    color: #fff;
    background-color: #FBB03B;
    padding: 10px;
    margin-top: 50px;
    /* margin-bottom: 50px; */
}

.rule .award_2{
    text-align: center;
    font-size: 40px;
    font-weight: bold;
    color: #fff;
    background-color: #8CC63F;
    padding: 10px;
    margin-top: 100px;
    /* margin-bottom: 50px; */
}

.rule .award_3{
    text-align: center;
    font-size: 40px;
    font-weight: bold;
    color: #fff;
    background-color: #003c92;
    padding: 10px;
    margin-top: 100px;
    /* margin-bottom: 50px; */
}

.rule .award_4{
    text-align: center;
    font-size: 40px;
    font-weight: bold;
    color: #fff;
    background-color: rgb(13 138 68);
    padding: 10px;
    margin-top: 100px;
    /* margin-bottom: 50px; */
}

.rule .award_5{
    text-align: center;
    font-size: 40px;
    font-weight: bold;
    color: #fff;
    background-color: rgb(157 29 29);
    padding: 10px;
    margin-top: 100px;
    margin-bottom: 50px;
}


.rule h2{
    font-size: 30px;
    margin-top: 20px;
}

.rule .result_1{
    display: block;
}

.rule .result_2{
    display: block;
}

.rule .result_1 img {
    width: 320px;
}

.rule .result_2 {
    width: 750px;
    margin: 0 auto;
}

.rule .result_2 img {
    width: 320px;
}

.result_coment_2{
    display: flex;
    align-items: center;
    padding: 20px;
    background: #f3ffd4;
}

.result_coment_2 img{
    width: auto;
    height: 300px;
    margin: 0;
}

.result_coment p{
    font-size: 17px;
    margin-left: 25px;
    margin-bottom: 0 !important;
}

.rule p {
    text-align: left;
    margin-bottom: 50px;
}


.rule_1 {
    display: flex;
}

.rule_1_1 img {
    width: 100px;
}

.rule_2 {
    border-collapse: collapse;
    width: 1200px;
    table-layout: fixed;
    margin: auto;
  }

.rule_2 th, .rule_2 td {
    border: 1px solid #333;
    text-align: center;
    width: auto;
  }

.rule_2_1{
    padding: 100px 0;   
}

.rule_2_1 p{
    text-align: center;
    font-size: 25px;
    margin-bottom: 30px;
}

.rule_2_2{
    display: grid;
    grid-template-columns: 1fr 1fr;
} 

.rule span {
    font-weight: bold;
}

.contest_1_1 .rule .judge {
    font-weight: normal;
    font-size: 18px;
}


.rule_link {
    width: 580px;
    height: 80px;
    background-color: #569E01;
    margin: auto;
    border-radius: 10px;
    border-color: #569E01;
    display: flex;
    /* justify-content: center; */
    padding-left: 30px;
    align-items: center;
    border-style: outset;
    border-width: 2px;
    margin-top: 50px;
    margin-bottom: 50px;
}

.rule_link a {
    font-size: 35px;
    font-weight: bolder;
    color: white;
    text-decoration: none;

}

.rule_link:hover {
    opacity: 0.5;
}

.judge_coment p{
    background: #ffefd5;
    padding: 20px;
    font-size: 17px;
}

.rule_3{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 100px;
}

img.ibaraki_image{
    width: 250px;
    margin: 0;
}

/*==========================================
entry_1
===========================================*/

.entry_1 {
    width: 1000px;
    margin: 0 auto;
    margin-bottom: 100px;
}

.entry_1 table {
    width: 100%;
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 0px 15px;
}

.entry_1 table th,
.entry_1 table td {
    padding: 10px;
    line-height: 1.3;
}

.entry_1 table th {
    /* background: #231f20; */
    /* background-color: #00a08c; */
    background-color: #231f20;
    vertical-align: middle;
    text-align: left;
    width: 35%;
    overflow: visible;
    position: relative;
    color: #fff;
    font-weight: normal;
    text-align: center;
}

.entry_1 table th:after {
    left: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(136, 183, 213, 0);
    border-left-color: #231f20;
    /* border-left-color: #00a08c; */
    /* border-left-color: #231f20; */
    border-width: 10px;
    margin-top: -10px;
}

input[type="radio" i] {
    margin: 7px;
}

/* IE */

@media all and (-ms-high-contrast: none) {
    .entry_1 table tr th:after {
        display: none;
    }
}

.entry_1 table th span {
    color: #E60012;
    /* font-weight: bold; */
}
.entry_1 table td span {
    font-size: 14px;
    color: #E60012;
    /* font-weight: bold; */

}

.entry_1 table td {
    background: #e0e0e0;
    padding-left: 50px;
    vertical-align: middle;
}

.entry_1 table td select {
    padding: 2px 10px;
}

.entry_1 .btn {
    display: block;
    margin: 0 auto;
    margin-top: 25px;
    /* background-color: #1a5ef1; */
    background-color: #e4007f;
    color: #fff;
    font-size: 20px;
    padding: 10px 80px;
    border: none;
    -webkit-transition: all 1.0s;
    -moz-transition: all 1.0s;
    -ms-transition: all 1.0s;
    -o-transition: all 1.0s;
    transition: all 1.0s;
}

.entry_1 .btn:hover {
    /* background-color: #eb3535; */
    background-color: #00a0e9;
    cursor: pointer;
}


.entry_1 label {
    display: inline-block;
    margin-right: 20px;
}

.entry_1 p:nth-of-type(1) {
    text-align: center;
    line-height: 1.5;
    margin: 10px 0;
}

.entry_1 p:nth-of-type(2) {
    font-size: 16px;
    line-height: 1.5;
    margin: 15px 0;
}

.entry_1 p.entry_1_1 {
    font-size: 14px;
    text-align: left;
}

.entry_1 table td a {
    color: #00f;
}
input[type=radio] {
    width: 20px;
    height: 20px;
    margin: 5px;

}

input[type=checkbox] {
    width: 20px;
    height: 20px;
    margin: 5px;

}


/*==========================================
entry_3
===========================================*/
.entry_3 {
    width: 1000px;
    margin: 0 auto;
    margin-top: 30px;
    margin-bottom: 50px;
    font-size: 23px;
    text-align: left;
}

.entry_3_1 {
    margin: 0 auto;    
}

.entry_3 span{
    font-weight: bolder;
}

/* .entry_3_2{
    width: 1000px;
    margin: 0 auto;
    margin-top: 30px;
    margin-bottom: 50px;
    font-size: 23px;
    text-align: center;
} */

.entry_3_2 {
    width: 1000px;
    margin: 0 auto;
    /* padding-bottom: 100px; */
    font-size: 23px;
    line-height: 1.5;
    text-align:left;
}



.entry_3_2 span{
    font-weight: bolder;
}

/*==========================================
footer
===========================================*/

footer {
    background-color: #231f20;
    /* background-color: #231f20; */
    color: #fff;
    padding: 15px 0;
}

footer ul {
    width: 1000px;
    margin: 0 auto;
    line-height: 1.5;
    display: block;
    justify-content: center;
    text-align: center;
}

footer ul li img {
    background-color: #fff;
    height: 100px;
    width: auto;
    vertical-align: bottom;
    padding: 10px;
    margin-left: 50px;
}

/*==========================================
event用
===========================================*/

.event_200309 {
    color: #00f;
    text-decoration: underline;
}

.event_200309:hover {
    opacity: 0.6;
}


/*==========================================
judge
===========================================*/


.judge_2 {
    display: flex;
    width: 300px;
    justify-content: center;
    table-layout: fixed;
}

.judge_2 img {
    width: 150px;
    margin: 10px 20px;
}

.judge_2_1 {
    text-align: left;
    vertical-align: middle;
    font-size: 20px;
    margin: auto 0;
    line-height: 1.5;
}


/*==========================================
お知らせ
===========================================*/

.box27 {
    position: relative;
    width: 1000px;
    margin: 100px auto;
    padding: 1em;
    border: solid 3px #93C453;
    background: white;

}

.box27 .box-title {
    position: absolute;
    display: inline-block;
    top: -50px;
    left: -3px;
    padding: 10px 15px;
    height: 30px;
    line-height: 30px;
    font-size: 23px;
    background: #93C453;
    color: #ffffff;
    font-weight: bold;
    border-radius: 8px 8px 0 0;
}

.box27 h2 {
    font-size: 21px;
    line-height: 2;
    font-weight: bold;
}

.box27 p {
    margin: 0; 
    padding: 0;
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 30px;
}

.box27 p a {
    color: #549834;
    text-decoration: underline;
}

.box27 p a:hover{
    color: #48862c;
}

.box27_schroll{
    background-color: #ffffff;
    overflow-y: scroll;
    width: 1000px;
    height: 170px;
 }
 .box27_schroll::-webkit-scrollbar{
    width: 10px;
 }
 .box27_schroll::-webkit-scrollbar-track{
    background-color: #ccc;
 }
 .box27_schroll::-webkit-scrollbar-thumb{
    background-color: #93c453;
 }



 
/*==========================================
hedaerメニュー
===========================================*/
.header{
background-color: #63a709;
  position: fixed;
  z-index: 4000;
  width: 100%;
  box-shadow: 0px 5px 8px #08440f6b;
} 

.header_menu{
    display: flex;
    width: 1400px;
    margin: auto;
 }

.header_menu li{
    font-weight: bold;
    padding: 1.5rem 0.9rem;
}

.header_menu ul{
    display:flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
}

.header_menu li a{
    color: white;
}

.header_menu li:hover{
    background-color: #ecb900;
    cursor: pointer;
    transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}


/*==========================================
sponsor
===========================================*/
.sponsor{
    padding-top: 200px;
    padding-bottom: 100px;
}

.sponsor .title{
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 3rem;
}

.sponsor_1{
    width: 1000px;
    margin: auto;  
}

.sponsor .top{
 display: flex;
 margin: auto;
 gap: 4rem;
 align-items: center;
 justify-content: space-around;
 width:60%;
 margin-bottom: 2rem;
}

.sponsor .top img {
    width: 19rem;
}

.sponsor .bottom img {
    width: 15rem;
}

.sponsor .bottom{
    display: flex;
    margin: auto;
    gap: 4rem;
    align-items: center;
    justify-content: space-around;
}

.sponsor_2{
    width: 100%;
}

.sponsor_2 td{
    padding:10px;
    font-size:23px;
}

.sponsor_1 p{
    padding:10px;
}

.sponsor_1 .middle{
  display: flex;
  margin: auto;
  gap: 4rem;
  align-items: center;
  justify-content: space-around;
  width: 60%;
  margin-bottom: 2rem;
}


/*==========================================
venue
===========================================*/
.rule_venue{
    width: 1220px;
    margin: auto;
    margin-bottom: 100px;
}

.rule_venue_2{
    display: flex;
    width: 1220px;
    justify-content: space-between;
    margin-bottom: 100px;
    margin-top: 30px;
}

.venue{
    width: 600px; 
}

.venue table{
    margin: 20px auto 40px auto;
    border-collapse: separate;
    border-spacing: 0px 10px;
    line-height: 1.5;
    font-size: 23px;
}

.venue table th{
    text-align: right;
    width: 29%;
    padding-right: 1%;
}

.venue table td {
    text-align: left;
}

.title_venue{
    background-color: #000;
    color: #ffffff;
    width: 350px;
    padding: 10px 0px;
    margin: 0 auto;
    margin-bottom: 40px !important;
}

.venue_3{
    margin: auto;
}

.btn_entry{
    display: flex;
    width: fit-content;
    color: white;
    margin: auto;
}

.btn_entry h2{
    margin: 0px;
    background: #3B8F2D;
    padding: 17px 0px;
    padding-left: 50px;
    box-shadow: 5px 5px 0px #0000001f;
    transition: all 0.3s ease;
}

.btn_entry h2 span{
    margin: 0px;
    background: #72B146;
    padding: 20px 0px;
    padding-left: 20px;
    margin-left: 50px;
    transition: transform 0.3s ease;
}

.btn_entry h2:hover{
    transform: translateY(2px) scale(0.98);
    box-shadow: 0 4px 0 #2d662d;
}

