@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=M+PLUS+1p');
@import url('https://fonts.googleapis.com/css?family=Sawarabi+Mincho');

@media screen and (max-width: 480px) {
    .bc {
        font-size: 4rem !important;
    }
    .first-view {
        height: 95vh;
        padding-top: 10vh;
    }
    .first-img{
        margin-top: -14vh !important;
    }
    .bc-left {
        text-align: left;
        margin-left: 0!important;
        margin-right: 0!important;
    }
    .bc-right {
        text-align: right;
        margin-right: -7%!important;
    }
    .page {
        padding: 10px !important;
    }
    .page-left, .page-right {
        min-width: 100% !important;
    }
    .page-left {
        text-align: center;
        padding: 0 !important;
    }
    .page-left img {
        width: 50% !important;
    }
    .flex-row {
        flex-direction: column!important;
    }
    .long-text {
        text-align: left;
        font-size: 0.9rem;
        line-height: 1.8rem;
    }
    .page h1 {
        margin-top: 70px !important;
    }
    .page-left, .page-right {
        width: 100% !important;
    }
    .theme {font-size: 1.7rem !important;}
    .submit-btn {
        left: 0 !important;
        right: 0 !important;
        bottom: -5px !important;
        margin: 0 auto;
    }
    footer {
        padding: 0 0 100px 0 !important;
    }
}

/* Global Setting */
body {
    width: 100%;
    font-size: 16px;
    color: #f7f7f7;
    font-family: 'M PLUS 1p', sans-serif;
    background: #FF2B89;
}
* a {text-decoration: none;}
* h1 {font-size: 1.6rem;}
* h2 {margin: 6px;font-size: 1.4rem;}
* h3 {margin: 6px;font-size: 1.1rem;}
* p {line-height: 1.4em; margin: 0; padding: 0 10px;text-align: center;}
.page.flex-col .schedule.center .minus-margin {
	margin-left: -4em;
	margin-right: -4em;
}
* .strong {font-weight: bold;}
*, *:before, *:after {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;-o-box-sizing: border-box;-ms-box-sizing: border-box;box-sizing: border-box;}



/* Original Global Class */
* .mincho { font-family: "Sawarabi Mincho" !important;}
* .wide { line-height: 2rem !important;}
* .left {text-align: left !important;}
* .right {text-align: right !important;}
* .center {text-align: center !important;}
* .small {font-size: 0.9rem !important;}
* .no-padding {padding: 0 !important;}
* .no-height {line-height: 1.4rem !important;}
* .strong {font-weight: bold !important;}
* .big-13 {font-size: 1.3rem !important;}
* .big-18 {font-size: 1.8rem !important; line-height: 2.6rem!important;}
* .big-30 {font-size: 3.0rem !important; line-height: 2.6rem!important;}
* .flex-row {flex-direction: row;}
* .flex-col {flex-direction: column;}

/* -- ファーストビュー ------------------------*/
.first-view {
    width: 100%;
    height: 100vh;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    overflow: hidden;
}

.first-img {
    width: 50%;
    max-width: 500px;
    margin: 0 auto;
    position: absolute;
    text-align: center;
    z-index: 999;
}

.first-img img { width: 100%; }

.bc {
    width: 50%;
    font-size: 12rem;
    font-family: "Sawarabi Mincho";
    white-space: nowrap;
    color: rgba(255,255,255,0.9);
}

.bc-left {
    text-align: left;
    margin-left: -15%;
    margin-right: 10%;
}
.bc-right {
    text-align: right;
    margin-right: -20%;
}

/* -- メインコンテンツ -----------------------*/
.page {
    max-width: 920px;
    width: 100%;
    min-height: 60vh;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    padding: 40px 10px;
}

.page h1 {
    font-size: 1.5rem;
    margin: 30px 0;
}

/* --  個別ページ設定 -----------------------*/
.about {
    align-items: flex-start;
}

.page-left, .page-right {
    max-width: 460px;
    width: 50%;
    margin: 0;
    padding: 20px;
}

.page-left img {
    max-width: 420px;
    width: 90%;
}

.detail img {
    max-width: 300px;
    width: 90%;
}
.profile {
    max-width: 600px;
}

.profile img {
    width: 120px;
    margin-bottom: 20px;
}

.theme {font-size: 2.8rem;}

.contact {width: 80px;}

.schedule {
    width: 100%;
    max-width: 460px;
    min-width: 320px;
    margin: 20px 0;
    padding: 30px 90px;
    background: #fff;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    color: #444;
}


/* -- スケジュール ------------------*/


/* -- スポンサー枠, 協賛枠 ------------------*/
.sponsor ul {
    max-width: 460px;
    min-width: 320px;
    margin: 0;
    padding: 30px 90px;
    background: #fff;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}

.kyosan ul {
    padding: 30px !important;
}

.kyosan ul li {
    margin: 0;
    padding: 0;
}

.kyosan ul li a img {
    max-width: 100px;
}

.sponsor li, .kyosan li {
    list-style: none;
    /*height: 100px;*/
    margin: 20px auto;
    padding: 14px 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sponsor li img {
    width: 100%;
    /*max-height: 90px;*/
}

.sponsor li a img:hover {
    opacity: 0.6;
    transition: 500ms;
}

.sponsor .small {
    max-width: 200px;
    max-height: 80px;
}


/* -- 登録ボタン --------------------------*/
.submit-btn {
    max-width: 360px;
    width: 100%;
    position: fixed;
    right: 20px;
    bottom: 0;
    z-index: 999;
}

.submit-btn img {
    width: 100%;
}

footer {
    width: 100%;
    position: relative;
    padding: 5px 0;
    bottom: 0;
    background-color: #f7f7f7;
    line-height: 80px;
    color: #FF2B89;
    text-align: center;
    font-size: 0.9rem;
}
