html, body{
    width: 100%;
    height: auto;
    color: #333333;
    font-family: 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
    text-align: center;
    align-content: center;
    font-size: 16px;
    font-weight: bold;
}

#wrap {
    position: relative;
 }

#svg-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}

/*共通
-------------------------------------*/
.flex{
    display: flex;
    display:-ms-flexbox;
}

ol li {
	list-style-type: none;
	counter-increment: cnt;
}
 
ol li::before {
	content: "(" counter(cnt) ") ";
}

button{
    width: 70%;
    height: 100px;
    border-radius: 15px;
    color:white;
    border: 2px solid #fff;
    background-color: #ff9800;
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
    box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
    font-size: 2rem;
    font-weight: bold;
    cursor:pointer;
}
button:focus {
    background-color: #ff9800 !important;
}

button:hover {
    background-color: #ff9800 !important;
}

button:active {
  -webkit-transform: translate(0, 2px);
  transform: translate(0, 2px);
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
  box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
  background-color: #ffc36a !important;
}

button:disabled {
    background-color: #ffe8c6 !important;
    cursor:default;
}

input[type=checkbox] {
    /*maeliarize打消し*/
    position: relative !important;
    opacity: 1 !important;

    transform: scale(2);
    margin: 0 6px 0 0;
    background-color: white;
}

.checkbox-label {
    color: #333333;
    font-size: 1.2rem;
    cursor:pointer;
}


.left-align{
    text-align: left;
}
.block{
    display: block;
}

#photo-top .text-small-point{
    font-size: 24px;
}

#photo-top .text-point{
    font-size: 30px;
}

#photo-top .text-big{
    font-size: 20px;
}

#photo-top .text-small{
    font-size: 14px;
}

#photo-top .underline {
    background: linear-gradient(transparent 50%, #ffc36a 30%);
}

#photo-top .underline.under-thin {
    display: inline;
    background: linear-gradient(transparent 80%, #ffc36a 80%);
}

#photo-top .skyblue_b{
  background-color: #1fb0e6;
}

#photo-top .yellow_b{
    background-color: #ffea00;
}

#photo-top .white_b{
    background-color: white;
}

#photo-top .gray_b{
    background-color: #f8f8f8;
}

#photo-top .stripe_b{
    background-color: #87d5c9;
    background-image:
	 repeating-linear-gradient(-45deg,#fff, #fff 7px,transparent 0, transparent 14px);
    height: 10px;
    }

#photo-top .white_c{
    color:white;
}

#photo-top .skyblue_c{
    color: #1fb0e6;;
}
#photo-top .orange_c{
    color: #ff9800;
}

#photo-top .red_c{
    color: #f86694;
}

#photo-top .yellow_c{
    color: #ffea00;
}

.fuchidori {
    color: rgba(0, 0, 0, 0);
    text-shadow: 3px 3px 0 rgba(193, 228, 221, 0.8);
    -webkit-text-stroke: 1px #888;
    -ms-text-stroke: 1px #888;
    text-stroke: 1px #888;
    padding: 0;
 }
  
 .fuchidori .fuchidori2 {
   text-shadow: 3px 3px 0 rgba(193, 228, 221, 0.8);
   -webkit-text-stroke:0;
   -ms-text-stroke: 0;
   text-stroke: 0;
   padding: 0 0 10px;
 }
 
/*ie系対応*/
@media all and (-ms-high-contrast: none) {
    .fuchidori {
        color: #333333;
        text-shadow: none;
        text-stroke: 0;
        padding: 0 0 10px;
     }
  }

#photo-top .margin-top-20{
    margin-top: 20px;
}

#photo-top .margin-bottom-10{
    margin-bottom:10px;
}

#photo-top .margin-bottom-40{
    margin-bottom:40px;
}

#photo-top .margin-bottom-50{
    margin-bottom:50px;
}

#photo-top .margin-top-bottom-20{
    margin: 20px 0 ;
}
#photo-top .padding-bottom-40{
    padding-bottom: 40px;
}
#photo-top .padding-bottom-50{
    padding-bottom: 50px;
}

#photo-top .no-padding{
    padding: 0;
}

#photo-top .no-margin{
    margin: 0;
}

#photo-top .no-bold{
    font-weight: normal;
}

#photo-top .mobile-disp{
    display: none; 
}

#photo-top .material-icons{
    font-size: 2rem;
    position: relative;
    top: 0.2rem;
}
/*photocontest
-------------------------------------*/
#photo-top .content{
    padding: 30px 0 50px; 
    text-align: center;
}

#photo-top .content.left-margin{
    margin-left: 1.3rem;
}

#photo-top .main-banner{
    height: 400px;
}

#photo-top .top-box{
    border-radius: 15px;
    margin-bottom: 20px;
}

#photo-top .top-box>.padding{
    padding: 20px 0;
}

#photo-top .entrance-box{
    padding: 0 30px;
}

#photo-top .entrance-box .content:last-child{
    padding: 30px 0 20px;
}

#photo-top .ul-align-center{
    display: flex;
    align-items: center;
    flex-direction: column;
}

#photo-top .ul-align-center > ul{
    list-style: disc;
    padding-left: 15px;
    font-weight: bold;
    padding: 0;
    margin: 0 0 10px;
    text-align: left;
}

#photo-top .prize{
    padding: 10px 0;
}

#photo-top .bottom-border{
    border-bottom: 2px dashed #67d0c0;
}

#photo-top .title{
    font-size: 16px;
    color:white; /*#1fb0e6;*/
    background-color: #27A5B8;
    border-radius: 5px;
    width: 150px;
    padding: 5px;
    margin: 0 auto 20px;
}

#photo-top .syohin-box{
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
}

#photo-top .syohin{
    margin:0 70px;
}

#photo-top .syohin img{
    width: 20vw;
    max-width: 210px;
    min-width:130px;
}

#photo-top .subtitle{
    font-size: 16px;
    width: auto;
    padding: 20px 0 0;
}

#photo-top .QA{
    line-height: 2em;
    margin-bottom: 15px;
}

#photo-top .error{
    display: none;
}

#photo-top .error.is-error{
    display:block;
}

#photo-top .posting{
    width: 60%;
    margin: 0 auto;
    padding: 0 10px;
    text-align: left;
    min-width: 650px;
}


@media screen and (max-width:896px){
    
	.container{
		width:100%;
	}

	.copyright {
		font-size:10px;
	}

    button{
        width: 100%;
        height: 60px;
    }

    #photo-top .content.left-margin{
        margin-left: 0rem;
    }

    #photo-top .mobile-no-flex{
        display: block; 
    }

    #photo-top .mobile-no-flex > *{
        text-align: center;
    }

    #photo-top #main-banner{
        width: 100%;
        margin: 0 auto;
    }

    #photo-top .text-big, #photo-top .text-point, #photo-top .text-small-point{
        font-size: 18px;
    }

    #photo-top .top-box{
        padding: 20px 5px;
    }

    #photo-top #youkou{
        background-image: none;
    } 
        
    #photo-top .posting{
        width: 100%;
        min-width: 0px;
    }

}

@media screen and (max-width:600px){
    #photo-top .mobile-disp{
        display: inline; 
    }
}