/* CSS Document */
/* Mobile */
/* =============================================
share
================================================ */
.pc { display: none; }

.mb { display: block; }

body { background: white; min-width: 100%; }

.center { width: 90%; }

a:hover img { opacity: 1; filter: alpha(opacity=100); }

/*header*/
header { width: 100% !important; min-width: 100%; height: auto; position: relative; }
header nav { display: none; position: fixed; width: 100%; background: rgba(255, 255, 255, 0.9); top: 0; z-index: 9; }
header nav a { padding: 15px; }

/*footer*/
footer { min-width: 100%; padding: 0 0 20px; position: relative; }
footer nav { margin-bottom: 20px; }
footer small { font-size: 70%; }

/*nav btn*/
#sp_nav { position: absolute; right: 0; height: 60px; z-index: 9999; width: 20%; top: 0; }

#sp_nav div { height: 50%; top: 25%; display: block; position: relative; }

#sp_nav div span { width: 30px; height: 3px; display: block; background: #007327; position: absolute; left: 50%; top: 50%; margin-left: -10px; transition: all 0.3s; }

#sp_nav div .top { transform: translateY(-8px) scale(1); -moz-transform: translateY(-8px) scale(1); -webkit-transform: translateY(-8px) scale(1); -o-transform: translateY(-8px) scale(1); -ms-transform: translateY(-8px) scale(1); }

#sp_nav div .middle { background: none; position: relative; }

#sp_nav div .middle:before, #sp_nav div .middle:after { transition: all 0.3s; content: ""; width: 30px; height: 3px; background: #007327; display: block; transform: rotate(0deg); -moz-transform: rotate(0deg); -webkit-transform: rotate(0deg); -o-transform: rotate(0deg); -ms-transform: rotate(0deg); position: absolute; }

#sp_nav div .bottom { transform: translateY(8px) scale(1); -moz-transform: translateY(8px) scale(1); -webkit-transform: translateY(8px) scale(1); -o-transform: translateY(8px) scale(1); -ms-transform: translateY(8px) scale(1); }

#sp_nav.open .top { transform: translateY(0px) scale(0); -moz-transform: translateY(0px) scale(0); -webkit-transform: translateY(0px) scale(0); -o-transform: translateY(0px) scale(0); -ms-transform: translateY(0px) scale(0); }

#sp_nav.open .bottom { transform: translateY(0px) scale(0); -moz-transform: translateY(0px) scale(0); -webkit-transform: translateY(0px) scale(0); -o-transform: translateY(0px) scale(0); -ms-transform: translateY(0px) scale(0); }

#sp_nav.open .middle:before { transform: rotate(45deg); -moz-transform: rotate(45deg); -webkit-transform: rotate(45deg); -o-transform: rotate(45deg); -ms-transform: rotate(45deg); }

#sp_nav.open .middle:after { transform: rotate(-45deg); -moz-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); -o-transform: rotate(-45deg); -ms-transform: rotate(-45deg); }

/*nav in*/
nav { padding: 10px 0; }
nav div { display: block; }
nav a { padding: 10px; font-size: 80%; }
nav a::before, nav a::after { display: none; }
nav .sns { position: static; padding: 10px 0 20px; }

#toTop { width: 50px; height: 50px; right: 10px; bottom: 40px; }
#toTop a::after { width: 20px; height: 20px; margin-left: -10px; margin-top: -7px; }

section { padding: 90px 0 30px; }

/* =============================================
competition
================================================ */
.page_nav { vertical-align: top; text-align: center; }
.page_nav li { width: 45%; }

.page_copy { margin: 50px auto; font-size: 150%; }

article { margin-bottom: 40px; }
article h1 { font-size: 180%; margin-bottom: 30px; }

/* =============================================
schedule
================================================ */
#schedule dt, #schedule dd { display: block; }
#schedule dd { margin-bottom: 10px; }

/* =============================================
entry
================================================ */
#entry h2 { margin: 0px auto 30px; }
#entry b { font-size: 110%; }
#entry .box_btn li { width: 46%; margin-bottom: 10px; }

#category li { width: 100%; }

/* =============================================
dl
================================================ */
#dl ul { text-align: center; }
#dl li { width: 46%; margin-bottom: 10px; }
