:root {
  --theme-color: #4eafac;
}
a:hover img {opacity: 0.8;}
.sp {
display: none;
}
.sp-page {
background-color:#fff;
line-height: 1.5;
font-feature-settings : "palt";
}
ol.breadcrumbsV2 {
max-width: 100%;
}
b, strong, em, h2, h3, #requirements dt {
font-weight: 700;
}
#wrapper {
width: 100%;
}
#wrapper img {
vertical-align: bottom;
}
h1 {
text-align: center;
}
h1 img {
width: 100%;
max-width: 1920px;
}
p {
font-size: 17px;
line-height: 1.5;
}
.contents {
background-color:#fff;
line-height: 1.4rem;
padding: 20px 50px;
max-width: 1234px;
margin: auto;
font-size: 17px;
}
.contents>h2 {
align-items:center;
display: flex;
column-gap: 10px;
margin: 40px 0;
font-size: 1.6rem;
}
.contents>h2:after {
background-color: #999;
content: "";
display: block;
flex: 1;
height: 1px
}
.contents p, .mb1, .sns {
margin-bottom: 1rem;
}
.sns {
margin-bottom: 20px;
}
.sns li {
margin: 0 5px;
}
.contents hr {
border-width: 1px 0 0 0;
border-style: solid;
border-color: #ccc;
margin: 2rem 0;
}
.notice,
p.notes,
ul.notes li{
font-size:0.9rem;
text-indent:-1rem;
padding-left:1rem;
line-height: 1.2rem;
margin-bottom: 0.4rem;
}
p.notes::before,
ul.notes li::before {
content: '※';
margin-right: 0.1rem;
}
.ext-link::after {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
transform: translate(0, 0);
content: "";
margin-left: 0.2rem;
}

/* === .zoom === */
/*.zoom{
display:inline-block;
position:relative;
vertical-align:top;
}*/
.zoom:after{
content:"";
width:22px;
height:22px;
background:url(img/zoom.png) no-repeat 0 0;
position:absolute; bottom:5px; right:5px;
}
.zoom:hover:after{
background-position:-22px 0;
}
span.zoom:after{
display:none;
}

.help-link::before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
transform: translate(0, 0);
content: "";
margin-right: 0.2rem;
}


/* // lead // */
#lead>h3 {
border-radius: 6px;
display: block;
text-align: center;
padding: 15px;
font-size: 18px;
margin-bottom: 20px;
background-color: var(--theme-color);
color: #fff;
}
#lead>p {
margin: 1rem;
}
#lead .aboutDCP {
border-radius: 8px;
background-color: #eee;
padding: 20px;
margin: 1rem;
line-height: 1.3;
}
#lead .aboutDCP img {
width: 105px;
float: left; 
margin: 0 20px 5px 0; 
}
#lead .aboutDCP>b {
font-size: 1.2rem;
color: #22579b;
}
#lead .regist {
background-color: #fff;
padding: 5px 10px;
border-radius: 10px;
margin-bottom: 0;
}

#lead .regist li{
list-style-type:disc;
margin:0.3em 0 0.5em 1.5em;
line-height: 1.5;
}


/* // judge // */
#judge {
padding: 40px;
}
#judge h2 {
text-align: center;
font-size: 1.6rem;
margin-bottom: 20px;
}
#judge ul {
display: flex;
flex-wrap: wrap;
max-width: 1920px;
justify-content: center;
margin: auto;
}
#judge ul li {
width: calc((100% - 20px)/2);
padding: 20px;
border-radius: 10px;
margin-bottom: 20px;
}
#judge ul li:nth-child(1) {
background-color: #c8f1f4;
}
#judge ul li:nth-child(2) {
background-color: #c8e4f4;
}
#judge ul li:nth-child(3) {
background-color: #c8d8f4;
}
#judge ul li:nth-child(4) {
background-color: #e2e2ff;
}
#judge ul li:nth-of-type(odd) {
margin-right: 20px;
}
#judge dl {
display: flex;
align-items: center;
margin-bottom: 10px;
}
#judge dl dt {
width: 200px;
flex-shrink: 0;
margin-right: 20px;
}
#judge dl dt img {
width: 200px;
}
#judge dl dd {
width: calc(100% - 220px);
}
#judge dl dd h3 {
display: flex;
align-items: center;
margin-bottom: 10px;
}
#judge dl dd b {
font-size: 1.3rem;
line-height: 1.3rem;
}
#judge dl dd span {
display: inline-block;
margin-left: 10px;
border: 1px solid #000;
background-color: #fff;
border-radius: 8px;
padding: 5px 10px;
font-size: 0.8rem;
font-weight: bold;
line-height: 0.8rem;
vertical-align: middle;
}
#judge dl dd p {
font-size: 1rem;
line-height: 1.4;
}
#judge .message {
background-color: #fff;
border-radius: 10px;
padding: 10px;
font-size: 1rem;
line-height: 1.4;
}


/* // prize // */
#prize {
padding: 40px 40px 0;
}
#prize h2 {
text-align: center;
font-size: 1.6rem;
margin-bottom: 20px;
}
#prize ul {
display: flex;
flex-wrap: wrap;
margin: auto;
justify-content: center;
max-width: 1300px;
}
#prize ul li {
width: calc((100% - 20px)/2);
min-width: 400px;
max-width: 500px;
text-align: center;
flex-shrink: 0;
margin-bottom: 40px;
}
#prize ul li:nth-of-type(odd) {
margin-right: 20px;
}
#prize ul h3 {
display: flex;
align-items: center;
justify-content: center;
font-size: 2rem;
line-height: 2.1rem;
margin-bottom: 10px;
}
#prize ul h3 b {
background:linear-gradient(#eccf27,#a67f00);
-webkit-background-clip:text;
-webkit-text-fill-color: transparent;
}
#prize .prize2nd h3 b {
background:linear-gradient(#bec8d4,#95a1a4);
-webkit-background-clip:text;
-webkit-text-fill-color: transparent;
}
#prize .prize3rd h3 b {
background:linear-gradient(#f7beab,#995842);
-webkit-background-clip:text;
-webkit-text-fill-color: transparent;
}
#prize .prizeDCP h3 b {
background:linear-gradient(#6dd8f3,#1f7c93);
-webkit-background-clip:text;
-webkit-text-fill-color: transparent;
}
#prize ul li h3 span {
display: inline-block;
margin-left: 10px;
color: #000;
border: 1px solid #a67f00;
background-image: linear-gradient(125deg, rgba(255, 222, 137, 1), rgba(222, 183, 81, 1));
border-radius: 8px;
padding: 5px 10px;
font-size: 0.9rem;
font-weight: bold;
line-height: 0.9rem;
vertical-align: middle;
margin-top: 4px;
}
#prize .prize2nd h3 span {
border: 1px solid #95a1a4;
background-image: linear-gradient(125deg, rgb(206, 220, 249), rgb(162, 181, 197));
}
#prize .prize3rd h3 span {
border: 1px solid #995842;
background-image: linear-gradient(125deg, rgb(250, 191, 151), rgb(230, 156, 107));
}
#prize .prizeDCP h3 span {
border: 1px solid #1f7c93;
background-image: linear-gradient(125deg, rgb(184, 230, 255), rgb(84, 178, 255));
}
#prize ul li h3:before{
content:"";
display:inline-block;
width:28px;
height:60px;
vertical-align:middle;
background:url(img/prize1st_l.svg) no-repeat 0 0;
margin-top: 8px;
}
#prize ul li h3:after{
content:"";
display:inline-block;
width:28px;
height:60px;
vertical-align:middle;
background:url(img/prize1st_r.svg) no-repeat 0 0;
margin-top:8px;
}
#prize .prize2nd h3:before{
background:url(img/prize2nd_l.svg) no-repeat 0 0;
}
#prize .prize2nd h3:after{
background:url(img/prize2nd_r.svg) no-repeat 0 0;
}
#prize .prize3rd h3:before{
background:url(img/prize3rd_l.svg) no-repeat 0 0;
}
#prize .prize3rd h3:after{
background:url(img/prize3rd_r.svg) no-repeat 0 0;
}
#prize .prizeDCP h3:before{
background:url(img/prizeDCP_l.svg) no-repeat 0 0;
}
#prize .prizeDCP h3:after{
background:url(img/prizeDCP_r.svg) no-repeat 0 0;
}
#prize .prizeDetail {
font-size: 1.2rem;
font-weight: bold;
}
#prize .prizeItem {
margin: auto;
text-align: center;
font-size: 0.9rem;
}
#prize .prizeItem img {
width: auto;
max-height: 300px;
max-width: 380px;
}
#prize .prizeItem p {
max-width: 350px;
margin: auto;
}

#prize .prize2nd,
#prize .prize3rd {
margin-bottom: 40px;
}


/* // requirements // */
#requirements dl {
margin: 1rem;
}
#requirements dt{
margin:1.5rem 0 0.3rem 0;
font-size: 1.1rem;
}
#requirements dd{
padding-left:12px;
line-height: 1.5;
}
#requirements li{
list-style-type:disc;
margin:0.3em 0 0.5em 1.5em;
line-height: 1.5;
}


/* // rule // */
#rule {
margin: 1rem 1rem 2rem;
}
#rule li{
list-style-type:disc;
margin:0.4rem 0 0.5rem 1.5rem;
line-height: 1.5;
}
#rule p {
margin: 0.4rem 0 0.8rem 1.5rem;
line-height: 1.7;
}
#rule h3 {
margin:1.5rem 0 0.3rem 0;
font-size: 1.1rem;
}

/**/
.entry-btn{
text-align:center;
display: block;
padding: 1rem;
background-color: #FDE823;
border-radius: 10px;
color: #000;
font-size:1.2rem;
margin: 1rem;
text-decoration: none !important;
line-height: 1.5;
}
.entry-btn:visited {
color: #000;
}
.entry-btn:hover {
background-color: #ffef5b;
color: #000;
}
.upload-end {
display: block;
font-weight: bold;
text-decoration: none;
padding: 1rem;
border: 1px solid #ccc;
border-radius: 10px;
background: #eee;
text-align: center;
margin: 1rem;
}

/* === timer === */
.timerHidden{ 
display: none;
margin-bottom: 40px;
}
.timerVisible{
display: block;
clear: both;
}

.sp-notice {
text-align:center;
border: 2px dotted #f00;
padding: 20px;
margin-top: 10px;
}