/***固定ページ共通********************/
h1{
    background-color: #063E8E;
    margin: 0;
    padding: 50px 0;
}
h1 p{
    text-align: center;
    color: #fff;
    font-size: 1.2rem;
    margin: 0;
}
h2{
    display: block;
    text-align: center;
}
h2 p{
    display: inline-block;
    border-bottom: #033e8f 3px solid;
    font-size: 1.1rem;
    color: #033e8f;
    padding: 5px 20px;
    margin: 0;
}


/***コンテスト詳細********************/
#about_text{
    margin-bottom: 80px;
}
#about_text img{
    display: block;
    margin: 0 auto;
}
#about_text .text_group{
    margin: 60px 0;
}
#about_text .text_group p{
    color: #535353;
}
#about_text .mini_title{
    display: block;
    margin: 20px 0;
    font-weight: bold;
}


#feature .about_table{
    display: table-cell;
    padding: 20px;
}
#feature .about_table p{
    font-size: 0.9em;
    line-height: 2;
}
#feature img{
    max-width: 100%;
}


#timetable{
    margin: 50px auto;
}
#timetable table{
    border-spacing: 0;
    border-collapse: collapse;
    font-size: 0.9em;
    width: 100%;
}
#timetable table a{
    color: #033e8f;
}
#timetable th{
    width: 30%;
    text-align: left;
    border: 1px #033e8f solid;
    padding: 10px;
    background-color: #d3e5ff;  
}
#timetable td{
    width: 70%;
    border: 1px #033e8f solid;
    padding: 10px;
    background-color: #f7faff;
}

#access{ 
    overflow: hidden;
    width: 100%;
    margin: 50px auto;
}
#access .googlemap{
    display: table-cell;
    width: 55%;
    float: left;
}
#access .address{
    display: table-cell;
    padding: 0 0 0 30px;
    clear: both;
    width: 45%;
    font-size: 0.9em;
    line-height: 2.3;
}

/***エントリー********************/
#entry_text .caution{
    font-weight: bold;
}
#entry_text .accept{
    text-align: center;
    margin: 60px 0 0 0;
}
#entry_text .btn_submit{
    text-align: center;
}
#entry_text .hissu{
    color: red;
}

#entry_area{
    margin: 30px auto;
}

.entry_table table{
    border-spacing: 0;
    border-collapse: collapse;
    font-size: 0.9em;
    width: 100%;
}

.entry_table th{
    width: 30%;
    text-align: left;
    border: 1px #033e8f solid;
    padding: 10px;
    background-color: #d3e5ff;
}

.entry_table td{
    width: 70%;
    border: 1px #033e8f solid;
    padding: 10px;
    background-color: #f7faff;
}

#content form span.wpcf7-form-control-wrap {
    display:inline-block;
}

/***募集要項*********************/
.sec_text{
    padding: 20px 0;
}

#detail_content a{
    color: #033e8f;
    font-weight: bold;
}
#detail_content ul{
    padding: 0 0 0 20px;
}
#detail_content li{
    list-style: disc;
}

#detail table{
    border-spacing: 0;
    border-collapse: collapse;
    font-size: 0.9em;
    max-width: 100%;
}
#detail th{
    text-align: center;
    width: 30%;
    text-align: left;
    border: 1px #033e8f solid;
    padding: 10px;
    background-color: #d3e5ff;
}
#detail td{
    width: 70%;
    border: 1px #033e8f solid;
    padding: 10px;
    background-color: #f7faff;
}

/***過去のコンテスト***************/
.twolines{
    overflow: hidden;
    margin: 0px auto;
    padding: 40px 0;
}
.twolines:first-child{
    border-bottom: 1px #32354A solid;
}

.threecolumn{
    box-shadow: 0 0.2rem 3rem -1rem gray;
    max-width: 30.2%;
    float: left;
    margin: 0 1.5%;
}
.logo{
    width: 90%;
    margin: 0 auto;
}
.logo img{
    max-height: 70px;
    margin: 10px auto;
    display: block;
}
.groupphoto img{
    max-width: 100%;
}

.past_text{
    width: 90%;
    margin: 0 auto;
}
.past_text p{
    font-weight: bold;
}

/****ボタン*********/
.button{
    text-align: center;
    margin: 10px 0;
}

.past_button,
.voice_button{
    display: inline-block;
    width: 150px;
    height: 44px;
    text-align: center;
    text-decoration: none;
    line-height: 40px;
    outline: none;
}
.past_button::before,
.past_button::after,
.voice_button::before,
.voice_button::after{
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}
.past_button,
.past_button::before,
.past_button::after,
.voice_button,
.voice_button::before,
.voice_button::after{
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}
.past_button,
.voice_button{
    position: relative;
    z-index: 2;
    background-color: #093E8D;
    border: 2px solid #093E8D;
    color: #fff;
    line-height: 42px;
}
.past_button:hover,
.voice_button:hover{
    background-color: #fff;
    border-color: #F1B740;
    color: #F1B740;
}
.past_button::before,
.past_button::after,
.voice_button::before,
.voice_button::after{
    left: 0;
    width: 100%;
    height: 50%;
    background-color: #093E8D;
}
.past_button::before,
.voice_button::before{
    top: 0;
}
.past_button::after,
.voice_button::after{
    bottom: 0;
}
.past_button:hover::before,
.past_button:hover::after,
.voice_button:hover::before,
.voice_button:hover::after{
    height: 0;
    background-color: #F1B740;
}

/****ボタン終了******/

/***過去受賞作品******************/
#winners_content .winner_group{
    border-bottom: #093E8D 2px dashed;
    padding: 45px 0;
}
#winners_content .ver_responsive{
    display: none;
}
#winners_content .table{
    display: table;
}
#winners_content .winner_img{
    display: table-cell;
}
#winners_content .table_right{
    display: table-cell;
    vertical-align: middle;
    padding: 0 20px;
}
#winners_content .title p{
    font-size: 1.2em;
    font-weight: bold;
}
#winners_content .summary{
    margin: 25px 0;
}
#winners_content .summary p{
    margin: 5px 0;
    font-size: 0.9em;
}
#winners_content .hutoji{
    font-weight: bold;
}
#winners_content .comment{
    margin: 25px 0;
}
#winners_content .comment p{
    margin: 5px 0;
    font-size: 0.9em;
}

/***ニュース*********************/
#news_content ul{
    margin: 0;
    padding: 0;
    margin: 20px 0;
}
#news_content li{
    list-style: none;
    display: table;
    padding: 10px 0;
    border-bottom: 1px dashed #CCC;
    display: table;
    width: 100%;
}
#news_content li:last-child{
    border: none;
}
#news_content .post_list .date{
    display: table-cell;
    font-weight: bold;
    color: #31354B;
    padding: 0 0 0 15px;
    vertical-align: middle;
    width: 115px;
}
#news_content .post_list p{
    padding: 0 0 0 40px;
    display: table-cell;
    margin: 0;
}
#news_content .post_list a{
    text-decoration: none;
    color: #063E8E;
}
#news_content .image{
    text-align: center;
}
#news_content .image img{
    height: 40px;
}
#news_content .width_870{
    padding: 15px 0 45px 0;
}

/***ニュース_single.php**********/
#single_content .sub_line{
    overflow: hidden;
}
#single_content .left_content{
    float: left;
}
#single_content .right_content{
    float: right;
}


/***各賞・賞品********************/
#prize_content .prize1{
    max-width: 640px;
    margin: 0 auto;
}
#prize_content .prize1 .prize_table{
    display: table;
    table-layout: fixed;
    width: 100%;
}
#prize_content .prize1 .prize_cell{
    display: table-cell;
    padding: 0 20px;
}
#prize_content .prize1 .prize_cell p{
    border-bottom: #063E8E 2px dashed;
    font-weight: bold;
}
#prize_content .prize_text{
    text-align: center;
    font-size: 0.9em;
}

#prize_content .saiyusyu,
#prize_content .yusyu{
    margin: 25px auto;
}
#prize_content .saiyusyu .prize_name{
    background: #ffc956;
    color: #fff;
    font-size: 1.2em;
    font-weight: bold;
    padding: 7px 0;
    text-align: center;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}
#prize_content .saiyusyu .prize_box{
    border: #ffc956 10px solid;
    border-top: none !important;
    padding: 20px;
}
#prize_content .yusyu .prize_name{
    background: #8592af;
    color: #fff;
    font-size: 1.2em;
    font-weight: bold;
    padding: 7px 0;
    text-align: center;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}
#prize_content .yusyu .prize_box{
    border: #8592af 10px solid;
    border-top: none !important;
    padding: 20px;
}
#prize_content .prize2 .prize_table{
    display: table;
    table-layout: fixed;
    width: 100%;
    border-collapse: collapse;
}
#prize_content .prize2 .prize_row{
    display: table-row;
}
#prize_content .prize2 .prize_cell{
    display: table-cell;
    border: #CCC 2px dashed;
    vertical-align: middle;
    padding: 15px;
}
#prize_content .prize2 .prize_cell p{
    font-size: 1.1em;
    font-weight: bold;
}
#prize_content .prize2 p{
    text-align: center;
    margin: 0;
    padding: 0 0 10px 0;
}


/***よくある質問******************/
/*-フキダシ------*/
#faq_sec{
    border-bottom: #87b9ff 1px dashed;
}
#faq_sec:last-child{
    border-bottom: none;
}
#faq_content h3{
    font-size: 1rem;
    text-align: center;
}
#faq_sec .hukidasi_left{
    position: relative;
	display: inline-block;
 	margin: 2em 0 0.5em 15px;
	padding: 20px;
	min-width: 120px;
 	max-width: 70%;
 	color: #555;
	font-size: 16px;
	background: #FFF;
 	border: solid 2px #bdbdbd;
 	box-sizing: border-box;
    border-radius: 5px;
}
#faq_sec .hukidasi_left::before{
    content: "";
	position: absolute;
	top: 50%;
	left: -25px;
 	margin-top: -12px;
	border: 12px solid transparent;
	border-right: 13px solid #FFF;
 	z-index: 2;
}
#faq_sec .hukidasi_left::after{
    content: "";
	position: absolute;
	top: 50%;
	left: -30px;
 	margin-top: -14px;
	border: 14px solid transparent;
	border-right: 14px solid #bdbdbd;
 	z-index: 1;
}
#faq_sec .hukidasi_left p{
    margin: 0;
    padding: 0;
}

#faq_sec .hukidasi_right{
    position: relative;
	display: block;
 	margin: 0.5em 0 2em auto;
	padding: 30px;
	min-width: 120px;
 	max-width: 60%;
 	color: #555;
	font-size: 16px;
	background: #D3E5FF;
    border-radius: 5px;
    margin-right: 30px;
}
#faq_sec .hukidasi_right::before{
    content: "";
	position: absolute;
	top: 50%;
	left: 100%;
 	margin-top: -15px;
	border: 15px solid transparent;
	border-left: 15px solid #D3E5FF;
}
#faq_sec .hukidasi_right p{
    margin: 0;
    padding: 0;
}

/*-フキダシおわり-*/


/***404ページ********************/
#notfound_text{
    margin: 100px auto;
}
#notfound_text a{
    color: #2A7CBF;
    text-decoration: underline;
}



@media screen and (max-width:760px){
    /***コンテスト詳細********************/
    #feature .about_table{
        display: table;
    }
    
    #access .googlemap{
        display: table;
        width: 100%;
    }
    #access .address{
        padding: 0;
        display: table;
        width: 100%;
    }
    
    
    /***エントリー************************/
    .entry_table table{
        box-sizing: border-box;
    }
    
    .entry_table th{
        margin: -1px 0 -1px 0;
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
    .entry_table td{
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
    input.entry_form{
        width:  90%;
    }
    
    /***募集要項*************************/
    #detail table{
        box-sizing: border-box;
    }
    #detail th{
        box-sizing: border-box;
        margin: -1px 0 -1px 0;
        display: block;
        width: 100%;
    }
    #detail td{
        box-sizing: border-box;
        display: block;
        width: 100%;
    }
    
    /***過去のコンテスト******************/
    .twolines{
        padding: 0;
    }
    .threecolumn{
        clear: both;
        max-width: 100%;
        margin: 20px;
    }
    
    /***過去受賞作品*********************/
    #winners_content .ver_responsive{
        display: block;
        text-align: center;
    }
    #winners_content .ver_responsive p{
        font-weight: bold;
        font-size: 1.3em;
        margin: 5px 0;
    }
    #winners_content .title{
        display: none;
    }
    #winners_content .winner_img{
        display: block;
        text-align: center;
    }
    #winners_content .table_right{
        display: block;
        padding: 0;
    }
    
    /***各賞・賞品**********************/
    #prize_content .prize1 .prize_cell{
        padding: 0 8px;
    }
    #prize_content .prize2 .prize_table{
        display: block;
        width: 100%;
    }
    #prize_content .prize2 .prize_row{
        display: block;
    }
    #prize_content .prize2 .prize_cell{
        display: block;
        border: none;
        border-bottom: #CCC 2px dashed !important;
        padding: 15px;
    }
    
    /***ニュース************************/    
    #news_content li{
        display: block;
        border-bottom: 2px dashed #CCC;
        border: none;
    }
    #news_content .post_list .date{
        display: block;
        padding: 0;
    }
    #news_content .post_list p{
        display: block;
        padding: 0;
    }
    
    /***よくある質問************************/
    #faq_sec{
        border-bottom: #87b9ff 2px dashed;
    }
}