@charset "UTF-8";
body{
font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
html,body{
	height:100%;
}

.wrapper{
	width: 100%;
	position: relative;
	min-height: 100%;
}

#contents_wrap{
    margin: 0 auto;
    padding-bottom:60px;
}

footer{
    text-align: center;
    height:60px;
	bottom:0;
}

section{
    text-align: center;
}

img{
    display: block !important;
	max-width: 100%;
	margin : 0 auto;
}

header{ 
width:100%;
display:flex;
position: fixed;
z-index: 2;
top: 0;
width: 100%;
transition: .3s;
justify-content:space-between;  /*両端に配置*/
padding:0 2%;
transition: 0.4s;
}
header.hide {
    transform:translateY(-60px);
}

ul
{
display:flex;
list-style:none;
}

.btn_campaign{
    padding: 10px 15px;
    background-color: orange;
    height: 40px;
    border-radius: 0 0 10px 10px;
    width: fit-content;
    margin: auto;
    margin-left: 7px;
}

.btn_about{
    padding: 10px 15px;
    background-color: green;
    height: 40px;
    border-radius: 0 0 10px 10px;
    width: fit-content;
    margin: auto;
    margin-left: 7px;
}

li a{
    font-size: 0.8rem;
    text-decoration:none;
    color:#fff;
    font-weight: 600;
}

h2{
    font-size: 1.5rem;
    margin-top: 20px;
}

.random_item{
    margin-top: 10px;
}
.company{
    font-size: 1.0rem;
    line-height: 1.5rem;
    margin-top: 10px;
    text-align: left;
	text-align: justify ;
	text-align-last: left ;
}

.caption{
    font-size: 0.8rem;
}

/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,50%);
	padding: 40px 20px;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
    box-sizing: border-box;
}
/*モーダル本体の擬似要素の指定*/
.modal-container:before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active{
	opacity: 1;
	visibility: visible;
}
/*モーダル枠の指定*/
.modal-body{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 700px;
	width: 90%;
}
/*モーダルを閉じるボタンの指定*/
.modal-close{
	position: absolute;
	display: flex;
    align-items: center;
    justify-content: center;
	top: -40px;
	right: -40px;
	width: 40px;
	height: 40px;
	font-size: 40px;
	color: #fff;
	cursor: pointer;
}
/*モーダル内のコンテンツの指定*/
.modal-content{
	background: #fff;
	text-align: left;
	padding: 20px;
    border-radius: 10px; 
}
.about{
    line-height: 1.2rem;
    font-size: 0.8rem;
    text-align: left;
	text-align: justify ;
	text-align-last: left ;
}
.midashi{
    font-size: 1.0rem;
    font-weight: bold;
    color: green;
}
.mini{
    font-size: 0.8rem;
}

.sponsor{
    margin-top: 80px;
    font-weight: bold;
}

.keikyo{
    margin-top: 5px;
    font-size: 2.3rem;
    font-weight: bold;
}

.caption{
    margin-top: 30px;
    font-size: 0.8rem;
    margin-bottom: 10px;
}

.list{
    padding: 0 20px;
}

@media screen and (min-width:540px) { 
/*　----PC表示用----　*/
#contents_wrap{
    width:960px;
    margin: 0 auto;
}

.btn_campaign,.btn_about{
    padding: 15px 20px;
    height: 50px;
}

.btn_campaign:hover,.btn_about:hover{
    opacity: 0.7;
    transition : all 0.5s ease 0s;
}

li a{
    font-size: 1.0rem;
}
.list{
    padding: 0;
    margin: 0 auto;
    width: 880px;
}
.random_box{
	display: flex; /* flexbox */
	flex-wrap: wrap; /* 折返し指定 */
    justify-content: space-between;
}
h2{
    font-size: 1.8rem;
    margin-top: 20px;
}
.random_box div {
	width: 280px;

}

.random_box::after{
    content:"";
    display: block;
    width:30%;
  }
  .modal-content{
	background: #fff;
	text-align: left;
	padding: 30px;
    border-radius: 10px; 
}
.about{
    line-height: 1.6rem;
    font-size: 1.0rem;
    text-align: left;
	text-align: justify ;
	text-align-last: left ;
}
.midashi{
    font-size: 1.5rem;
    font-weight: bold;
    color: green;
}
.mini{
    font-size: 0.8rem;
}
.wrapper{
    background-color:#ecf9bd;
}

#contents_wrap{
    background-color:#fff;
}

}

/* PC表示 */
@media (min-width: 768px) {

    .pc { 
        display: block !important;
        width: 100%;
    }
    .sp { 
        display: none !important;
    }
    

    }
    
    /* SP表示 */
    @media (max-width: 767px) {
        
    .pc { 
        display: none !important;
    }
    .sp { 
        display: block !important;
        width: 100%;
    }
}