@charset "UTF-8";
/*\*/

/* ------------------------------------
 * FONT
 * ------------------------------------ */
@import url('https://fonts.googleapis.com/css?family=Muli:800&display=swap');

/* ------------------------------------
 * COMMON
 * ------------------------------------ */

#container {
    font-family: "Noto Sans JP", "Helvetica Neue", Helvetica, Arial, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, "游ゴシック Medium", "游ゴシック体", "Yu Gothic", YuGothic, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
article {
    padding: 6% 5% 0;
}
h1 {
    width: 750px;
    margin: 0 auto;
}
h1 img {
    max-width: 100%;
    width: auto !important;
    width: 100%;
}
.content-inner {
    width: 700px;
    margin: 0 auto 8%;
    overflow: hidden;
}
h2 {
    margin-bottom: 20px;
    font-size: 40px;
    font-size: 4.0rem;
    font-weight: 900;
    line-height: 1.5;
}
h3 {
    font-size: 36px;
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.6;
}
.text-top {
    margin: 8% 0 5%;
    line-height: 1.4;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
}
.btn_img {
    display: block;
    width: 300px;
    margin: 50px auto;
}
.btn_img img {
    width: 100%;
}
.btn_text {
    display: block;
    width: 300px;
    margin: 50px auto 0;
    padding: 1em 0;
    background-color: #1D313F;
    color: #ffffff;
    text-decoration: none;
    border-radius: 0.5em;
}
.btn_text:hover {
    color: #ffffff;
    text-decoration: none;
}
.btn_more {
    display: block;
    margin: 3% auto;
    padding: 0.5em;
    width: 200px;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    border: solid 2px #2b2b2b;
}
.btn_more:hover {
    background-color: #2b2b2b;
    color: #ffffff;
    text-decoration: none;
    opacity: 1;
}
.list-area {
    zoom: 1;
    overflow: hidden;
    margin: 3%;
}
.list-area li {
    float: left;
    width: 25%;
    margin-bottom: 3%;
}
.list-area li a {
    display: block;
    width: 90%;
    margin: 0 auto;
    height: 60px;
    line-height: 60px;
    text-decoration: none;
    color: #ffffff;
    background-color: #1D313F;
    font-weight: bold;
    border-radius: 30px;
}
.note {
    margin: 5% 0;
    padding: 1.5em;
    background-color: #efeff1;
    font-size: 1.3rem;
    text-align: left;
}
.notice {
    margin: 5% 0;
    padding: 1.5em;
    text-align: left;
    border: dotted 1px #333333;
    font-size: 1.1rem;
}
.bnr-area {
    margin: 5% 8%;
    text-align: center;
}
.bnr-area a,
.bnr-area span{
    display: inline-block;
    margin-bottom: 2%;
}
.bnr-area a img,
.bnr-area span img {
    max-width: 100%;
    width: auto !important;
    width: 100%;
    border: solid 1px #1f1f1f;
}
.bnr-area .bnr_msg {
    text-align: center;
}
.bnr-area .bnr_msg span {
    position: relative;
    display: inline-block;
    margin-bottom: 10px;
    padding: 0.3em 0.8em;
    color: #ffffff;
    background-color: #cc0000;
    font-weight: bold;
}
.bnr-area .bnr_msg span::after {
    content: "";
    position: absolute;
    right: 47%;
    bottom: -16px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 16px 12px 0 12px;
    border-color: #cc0000 transparent transparent transparent;
    z-index: 100;
}
.red {
    color: #d20804;
}


footer {
    padding: 3% 5%;
}
footer small {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.3;
}


@media screen and (max-width: 767px) {
    h1 {
        width: 100%;
    }
    container {
        font-family: "Noto Sans JP", "Helvetica Neue", Helvetica, Arial, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, "游ゴシック Medium", "游ゴシック体", "Yu Gothic", YuGothic, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    }
    .content-inner {
        width: 100%;
    }
    h2 {
        font-size: 32px;
        font-size: 3.2rem;
    }
    h3 {
        font-size: 28px;
        font-size: 2.8rem;
    }
    .text-top {
        font-size: 15px;
        font-size: 1.5rem;
    }
    .btn_img {
        margin: 8% auto;
        width: 200px;
    }
    .btn_text {
        width: 90%;
        padding: 0.8em 0;
    }
    .list-area li {
        width: 33%;
    }
    .list-area li a {
        height: 40px;
        line-height: 40px;
        border-radius: 20px;
    }
    footer small {
        font-size: 10px;
        font-size: 1.0rem;
    }
}

@media screen and (max-width: 650px) {
    h3 {
        font-size: 20px;
        font-size: 2.0rem;
    }
}

@media screen and (max-width: 480px) {
    h2 {
        font-size: 20px;
        font-size: 2.0rem;
    }
    h3 {
        font-size: 17px;
        font-size: 1.7rem;
    }
    h3 span {
        display: block;
    }
    .list-area li {
        width: 50%;
        font-size: 13px;
        font-size: 1.3rem;        
    }
}


/* ------------------------------------
 * LOADING
 * ------------------------------------ */

#loadLayer {
    position: fixed;
    width: 100%;
    height: 100%;
    display: block;
    background-color: #FFF;
    top: 0;
    left: 0;
    z-index: 99999;
    visibility: visible;
    opacity: 1;
}
#loadLayer>span {
    width: 750px;
    height: 500px;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    margin: auto;
    -webkit-animation: loadLayerAnime 1.0s ease-in-out;
    animation: loadLayerAnime 1.0s ease-in-out;
}
#loadLayer>span img {
    width: 100%;
}
#loadLayer>span img.pc {
    display: block;
}
#loadLayer>span img.mobile {
    display: none;
}

@-webkit-keyframes loadLayerAnime {
0% {opacity: 0;}
100% {opacity: 1;}
}
@keyframes loadLayerAnime { 
0% {opacity: 0;}
100% {opacity: 1;}
}


@media screen and (max-width: 767px) {
    #loadLayer>span {
        width: 100%;
        height: auto;
    }
    #loadLayer>span img.pc {
        display: none;
    }
    #loadLayer>span img.mobile {
        display: block;
    }    
}


/* ------------------------------------
 * TOP
 * ------------------------------------ */

#top h1 {
    width: 90%
}
#top main {
    display: none;
}
#top article {
    padding: 6% 0 0;
}
#top .message {
    margin: 4% 5% 0;
}
#top .message.hide {
    margin: 8% 5% 8%;
}
#top .message.notice-top {
    margin: 0;
    padding: 4% 5% 8%;
    background-color: #efeff1;
}
.message {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 2;
}
.message span {
    display: inline-block;
    margin-top: 2em;
    font-weight: 900;
}
.message span.first {
    margin-top: 0;
}
.message span.second {
    margin-top: 1em;
}
.message strong {
    font-size: 32px;
    font-size: 3.2rem;
}
.message em {
    color: #cc0000;
}
.message.notice-top .notice {
    margin: 5% 0;
    padding: 0;
    border: none;
    line-height: 1.5;
    font-size: 1.3rem;
}
.message.notice-top .notice {
}
.message.notice-top .notice .n-box {
    padding: 1em;
    border: solid 1px #cc0000;
    background-color: #fff1f1;
}
.commitment {
    margin: 5% 0;
    padding: 5%;
    background-color: #121212;
    color: #ffffff;
}
.commitment a {
    color: #ffffff;
}
.commitment .content-inner {
    width: 800px;
    margin-bottom: 0;
}
.commitment dl {
    text-align: left;
}
.commitment dl dt,
.commitment dl dd {
    padding: 0.4em 0;
    font-size: 38px;
    font-size: 3.8rem;
    font-weight: 900;
    line-height: 1.2;
}
.commitment dl dt {
    float: left;
    width: 160px;
    position: relative;
}
.commitment dl dt span.complete {
    position: absolute;
    top: 0;
    left: 5%;
    width: 60%;
    height: 100%;
    text-indent: -9999px;
    background: url("../img/mark_complete.png") no-repeat center center;
    background-size: contain;
}
.commitment dl dd {
    margin-left: 130px;
}
.commitment dl dd span {
    font-weight: bold;
    font-size: 55%;
}
.commitment dl dd .to-be-announced {
    display: inline-block;
    padding: 0 0.5em;
    font-weight: 900;
    color: #000000;
    background-color: #ffffff;
}
.join p {
    padding: 0 5%;
    font-weight: bold;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.6;
}
.achieved {
    margin: 5% 0 0;
    padding: 0 5%;
}
.achieved-inner {
    width: 800px;
    margin: 0 auto;
    padding: 3%;
    border: solid 3px #000000;
}
.achieved .achieved-inner h2 {
    margin-bottom: 0.5em;
}
.achieved ul {
    font-size: 38px;
    font-size: 3.8rem;
    font-weight: 900;
    line-height: 1.2;
}
.achieved ul li {
    margin-bottom: 0.3em;
    padding: 0.3em;
    background-color: #000;
    color: #fff;    
}
.democracymap {
    margin-top: 15%;
    padding: 5% 0 0;
    background-color: #efeff1;
}
.democracymap h2 {
    margin-bottom: 0;
    font-size: 5rem;
}
.democracymap .caption {
    margin: 0 20px;
    text-align: right;
    font-size: 1.2rem;
}


@media screen and (max-width: 900px) {
    .commitment .content-inner {
        width: 80%;
    }
    .commitment dl dt,
    .commitment dl dd {
        font-size: 32px;
        font-size: 3.2rem;
    }
    .commitment dl dd span {
        display: block;
        margin-top: 0.5em;
    }
    .achieved-inner {
        width: 80%;
    }
    .achieved ul {
        font-size: 32px;
        font-size: 3.2rem;
    }
}

@media screen and (max-width: 767px) {
    .message {
        margin-top: 8%;
        font-size: 16px;
        font-size: 1.6rem;
    }
    #top .message.hide {
        margin-top: 12%;
    }
    .message.notice-top .notice {
        font-size: 1.1rem;
    }
    .message strong {
        font-size: 25px;
        font-size: 2.5rem;
    }
    .commitment .content-inner {
        width: 100%;
    }
    .commitment dl dt,
    .commitment dl dd {
        padding: 0.7em 0;
        font-size: 25px;
        font-size: 2.5rem;
    }
    .commitment dl dt {
        width: 100px;
    }
    .commitment dl dt span.complete {
        left: 2%;
        width: 80%;
    }
    .commitment dl dd {
        margin-left: 100px;
    }
    .commitment dl dd span {
        font-size: 70%;
    }
    .join p {
        font-size: 16px;
        font-size: 1.6rem;
    }
    .join p span {
        display: block;
    }
    .achieved-inner {
        width: 100%;
    }
    .achieved ul {
        font-size: 25px;
        font-size: 2.5rem;
    }
    .achieved ul li {
        text-align: left;
    }
    .democracymap h2 {
        font-size: 3.2rem;
    }
    .democracymap .caption {
        text-align: center;
    }
}
@media screen and (max-width: 480px) {
    .message {
        font-size: 13px;
        font-size: 1.3rem;
    }
    .message strong {
        font-size: 20px;
        font-size: 2.0rem;
    }
    .commitment dl dt,
    .commitment dl dd {
        font-size: 20px;
        font-size: 2.0rem;
    }
    .commitment dl dt {
        width: 80px;
    }
    .commitment dl dd {
        margin-left: 80px;
    }
    .join p {
        font-size: 1.4rem;
    }
    .achieved ul {
        font-size: 20px;
        font-size: 2.0rem;
    }
    .democracymap h2 {
        font-size: 2.6rem;
    }
}
@media screen and (max-width: 380px) {
    .message {
        font-size: 12px;
        font-size: 1.2rem;
    }
    .message strong {
        font-size: 18px;
        font-size: 1.8rem;
    }
    .join p {
        font-size: 1.2rem;
    }
    .democracymap h2 {
        font-size: 2.0rem;
    }
}


/* ------------------------------------
 * FORM
 * ------------------------------------ */

.form-inner {
    margin: 8% 3%;
    text-align: left;
}
.form-inner dt {
    font-weight: bold;
}
.form-inner dd {
    margin: 1% 0 5%;
    font-size: 1.6rem;
}
.form-inner input[type=text] {
    padding: 0 0.5em;
    width: 100%;
    height: 40px;
    line-height: 40px;
    border: solid 2px #000000;
    outline: none;
    font-size: 1.8rem;
    background-color: #ffffff;
}
.form-inner textarea {
    padding: 0.5em;
    width: 100%;
    resize: vertical;
    border: solid 2px #000000;
    outline: none;
    font-size: 1.8rem;
    background-color: #ffffff;
}
.form-inner .select-box {
    position : relative;
    margin: 0 auto;
    width: 100%;
    cursor: pointer;
}
.form-inner .select-box:before {
    z-index: 1;
    content: "▼";
    font-size: 12px;
    line-height: 40px;
    position: absolute;
    right: 0;
    top: 0;
    padding: 0 15px;
    border-left: 2px solid #000000;
    pointer-events: none;
}
.form-inner .select-box select {
    outline:none;
    -moz-appearance: none;
    text-indent: 0.01px;
    text-overflow: '';
    background: none transparent;
    vertical-align: middle;
    font-size: inherit;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    height: 40px;
    padding: 8px 12px;
    border: 2px solid #000000;
    border-radius: 0;
    width:100%;
}
::-ms-expand {
    display: none;
}
.form-inner em {
    display: inline-block;
    margin-left: 0.5em;
    font-size: 1.2rem;
    font-weight: bold;
    color: #cc0000;
}
.form-inner em.free{
    color: #2b2b2b;
}
form p {
    margin-top: 3%;
}
form .btn-area {
    margin: 5% auto;
}
form .btn-area .btn {
    display: block;
    width: 300px;
    height: 130px;
    margin: 0 auto;
    padding: 0;
    border: 0;
    cursor: pointer;
    outline: none;
}
form .btn-area .btn:hover {
    opacity: 0.8;
}
form .btn-area .btn_confirm {
    background: url("../img/btn_confirm.png") no-repeat center top;
    background-size: contain;
}
form .btn-area .btn_send {
    background: url("../img/btn_send.png") no-repeat center top;
    background-size: contain;
}
form .btn-area .btn_back {
    text-indent: -9999px;
    background: url("../img/btn_back.png") no-repeat center top;
    background-size: contain;
}
form .btn-area .btn_delete {
    text-indent: -9999px;
    background: url("../img/btn_delete.png") no-repeat center top;
    background-size: contain;
}

form .btn-area ul {
    zoom: 1;
    overflow: hidden;
}
form .btn-area ul li {
    width: 50%;
    float: left;
}
form .confirm-area dd p {
    padding: 0 0.5em;
    line-height: 40px;
    background-color: #efefef;
}


@media screen and (max-width: 767px) {
    form .btn-area .btn {
        width: 200px;
        height: 87px;
    }
}

@media screen and (max-width: 520px) {
    form .btn-area ul li .btn {
        width: 150px;
        height: 65px;
    }
}

@media screen and (max-width: 320px) {
    form .btn-area ul li .btn {
        width: 140px;
        height: 60px;
    }
}

.headtext {
    margin-top: 2%;
    font-weight: bold;
    font-size: 90%;
}
.period {
    display: inline-block;
    margin-top: 2%;
    background-color: #000000;
}
.period p {
    padding: 0.2em 1em;
    color: #ffffff;
    font-weight: bold;
}
.download {
    margin: 8% 0 0;
    font-size: 1.3rem;
}
.download .dl-box {
    width: 400px;
    margin: 0 auto 3%;
    border: solid 1px #e2e2e2;
    text-align: center;
}
.download .dl-box img {
    max-width: 100%;
    width: auto !important;
    width: 100%;
}
.share {
    margin: 8% 0 0;
}
.share h3 {
    line-height: 1.5;
    font-size: 2.4rem;
    font-weight: bold;
}
.share ul {
    width: 300px;
    margin: 5% auto 0;
}
.share ul li {
    width: 50%;
    float: left;
}
.share ul li a {
    display: block;
    width: 100px;
    height: 100px;
    margin: 0 auto;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    border-radius: 50px;
    overflow: hidden;
}
.share ul li.facebook a {
    background-color: #3b5998;
}
.share ul li.twitter a {
    background-color: #29a3ef;
}
.share ul li a img {
    width: 100%;
}

.entry-step {
    margin: 8% 0;
}
.entry-step ul {
    margin-top: 3%;
    padding-left: 1em;
    text-align: left;
    font-size: 1.3rem;
}
.entry-step ul li {
    text-indent: -1em;
}

.img-manifest {
    text-align: center;
}
.img-manifest img {
    display: inline-block;
    border: solid 2px #1f1f1f;
    max-width: 100%;
    width: auto !important;
    width: 100%;
}
.url {
    margin: 5% 0;
    font-weight: bold;
}

@media screen and (max-width: 767px) {
    .download .dl-box {
        width: 80%;
    }
    .share h3 {
        font-size: 2.0rem;
    }
    .share ul {
        width: 200px;
    }
    .share ul li a {
        width: 70px;
        height: 70px;
        -webkit-border-radius: 35px;
        -moz-border-radius: 35px;
        border-radius: 35px;
    }
}

@media screen and (max-width: 520px) {
    .period p {
        font-size: 13px;
        font-size: 1.3rem;
    }
    .share ul {
        width: 180px;
    }
    .share ul li a {
        width: 60px;
        height: 60px;
        -webkit-border-radius: 30px;
        -moz-border-radius: 30px;
        border-radius: 30px;
    }
}

/* ------------------------------------
 * MAP
 * ------------------------------------ */

.map-democracy {
    position: relative;
}

.map-democracy h1 {
    position: absolute;
    right: 0;
    bottom: 10px;
    width: 30%;
    height: auto;
}
.map-democracy h2.areaname {
    margin-bottom: 3%;
    width: 100%;
    border: solid 1px #888888;
}
.map-area {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 117%;
}
.map-area.detail {
    margin-bottom: 40px;
    padding-top: 55%;
}
.map-area.detail .btn_archive {
    position: absolute;
    right: 0;
    bottom: -25px;
    display: block;
    width: 30%;
    height: 30px;
    line-height: 30px;
    color: #ffffff;
    text-decoration: none;
    background-color: #1D313F;
    font-size: 1.3rem;
    font-weight: bold;
    border-radius: 15px;
}
.map-area #map_top {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.map-area .area {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.map-area .area img {
    width: 100%;
}

@media screen and (max-width: 767px) {
    .map-area.detail .btn_archive {
        width: 120px;
        font-size: 1.1rem;
    }
}



.icon a {
    position: absolute;
    width: 7%;
    height: auto;
    display: block;
    -webkit-transform: translateY(-10%) translateX(-10%);
    -moz-transform: translateY(-10%) translateX(-10%);
    transform: translateY(-10%) translateX(-10%);
    opacity: 0;
    transition: 0.5s;
}
.icon a:hover {
    opacity: 0.9;
    -webkit-transform: translateY(-18%) translateX(-18%);
    -moz-transform: translateY(-18%) translateX(-18%);
    transform: translateY(-18%) translateX(-18%);
}
#map.loadComplete .icon a {
    opacity: 1;
}

/*TOP AREA1 - 北海道・東北*/
#icon_top #icon1_1 { top: 15%; left: 79%;}
#icon_top #icon1_2 { top: 29%; left: 69%;}
#icon_top #icon1_3 { top: 38%; left: 72%;}
#icon_top #icon1_4 { top: 36%; left: 65%;}
#icon_top #icon1_5 { top: 44%; left: 70%;}
#icon_top #icon1_6 { top: 44%; left: 63%;}
#icon_top #icon1_7 { top: 50%; left: 65%;}

/*TOP AREA2 - 関東*/
#icon_top #icon2_1 { top: 60%; left: 62%;}
#icon_top #icon2_2 { top: 62%; left: 61%;}
#icon_top #icon2_3 { top: 61%; left: 66%;}
#icon_top #icon2_4 { top: 59%; left: 60%;}
#icon_top #icon2_5 { top: 56%; left: 65%;}
#icon_top #icon2_6 { top: 55%; left: 62%;}
#icon_top #icon2_7 { top: 56%; left: 58%;}

/*TOP AREA3 - 中部*/
#icon_top #icon3_1 { top: 50%; left: 58%;}
#icon_top #icon3_2 { top: 54%; left: 50%;}
#icon_top #icon3_3 { top: 56%; left: 47%;}
#icon_top #icon3_4 { top: 58%; left: 44%;}
#icon_top #icon3_5 { top: 58%; left: 54%;}
#icon_top #icon3_6 { top: 61%; left: 55%;}
#icon_top #icon3_7 { top: 64%; left: 53%;}
#icon_top #icon3_8 { top: 60%; left: 49%;}
#icon_top #icon3_9 { top: 64%; left: 49%;}

/*TOP AREA4 - 関西*/
#icon_top #icon4_1 { top: 66%; left: 40%;}
#icon_top #icon4_2 { top: 63%; left: 40%;}
#icon_top #icon4_3 { top: 64%; left: 36%;}
#icon_top #icon4_4 { top: 63%; left: 44%;}
#icon_top #icon4_5 { top: 67%; left: 45%;}
#icon_top #icon4_6 { top: 69%; left: 42%;}
#icon_top #icon4_7 { top: 70%; left: 40%;}

/*TOP AREA5 - 中国*/
#icon_top #icon5_1 { top: 66%; left: 26%;}
#icon_top #icon5_2 { top: 65%; left: 32%;}
#icon_top #icon5_3 { top: 68%; left: 20%;}
#icon_top #icon5_4 { top: 62%; left: 33%;}
#icon_top #icon5_5 { top: 63%; left: 24%;}

/*TOP AREA6 - 四国*/
#icon_top #icon6_1 { top: 68%; left: 33%;}
#icon_top #icon6_2 { top: 71%; left: 35%;}
#icon_top #icon6_3 { top: 70%; left: 26%;}
#icon_top #icon6_4 { top: 73%; left: 28%;}

/*TOP AREA7 - 九州・沖縄*/
#icon_top #icon7_1 { top: 70%; left: 15%;}
#icon_top #icon7_2 { top: 72%; left: 12%;}
#icon_top #icon7_3 { top: 75%; left: 11%;}
#icon_top #icon7_4 { top: 77%; left: 15%;}
#icon_top #icon7_5 { top: 82%; left: 13%;}
#icon_top #icon7_6 { top: 80%; left: 17%;}
#icon_top #icon7_7 { top: 74%; left: 18%;}
#icon_top #icon7_8 { top: 89%; left: 4%;}

/*TOP AREA8 - 海外*/
#icon_top #icon8_1 { top: 12%; left: 36%;}
#icon_top #icon8_2 { top: 20%; left: 39%;}
#icon_top #icon8_3 { top: 10%; left: 13%;}
#icon_top #icon8_4 { top: 14%; left: 21%;}
#icon_top #icon8_5 { top: 17%; left: 11%;}
#icon_top #icon8_6 { top: 21%; left: 24%;}




/*AREA1 - 北海道・東北*/
#icon1_1 { top: 26%; left: 49%;}
#icon1_2 { top: 52%; left: 32%;}
#icon1_3 { top: 65%; left: 38%;}
#icon1_4 { top: 62%; left: 26%;}
#icon1_5 { top: 76%; left: 35%;}
#icon1_6 { top: 76%; left: 23%;}
#icon1_7 { top: 87%; left: 26%;}

/*AREA2 - 関東*/
#icon2_1 { top: 57%; left: 45%;}
#icon2_2 { top: 65%; left: 38%;}
#icon2_3 { top: 64%; left: 62%;}
#icon2_4 { top: 47%; left: 37%;}
#icon2_5 { top: 40%; left: 66%;}
#icon2_6 { top: 28%; left: 51%;}
#icon2_7 { top: 32%; left: 28%;}

/*AREA3 - 中部*/
#icon3_1 { top: 26%; left: 75%;}
#icon3_2 { top: 46%; left: 40%;}
#icon3_3 { top: 50%; left: 26%;}
#icon3_4 { top: 59%; left: 21%;}
#icon3_5 { top: 58%; left: 53%;}
#icon3_6 { top: 67%; left: 65%;}
#icon3_7 { top: 80%; left: 54%;}
#icon3_8 { top: 66%; left: 35%;}
#icon3_9 { top: 79%; left: 37%;}

/*AREA4 - 関西*/
#icon4_1 { top: 48%; left: 46%;}
#icon4_2 { top: 28%; left: 43%;}
#icon4_3 { top: 36%; left: 23%;}
#icon4_4 { top: 31%; left: 63%;}
#icon4_5 { top: 50%; left: 72%;}
#icon4_6 { top: 59%; left: 57%;}
#icon4_7 { top: 72%; left: 46%;}

/*AREA5 - 中国*/
#icon5_1 { top: 52%; left: 49%;}
#icon5_2 { top: 44%; left: 74%;}
#icon5_3 { top: 60%; left: 21%;}
#icon5_4 { top: 30%; left: 77%;}
#icon5_5 { top: 42%; left: 38%;}

/*AREA6 - 四国*/
#icon6_1 { top: 25%; left: 65%;}
#icon6_2 { top: 36%; left: 77%;}
#icon6_3 { top: 44%; left: 28%;}
#icon6_4 { top: 46%; left: 46%;}

/*AREA7 - 九州・沖縄*/
#icon7_1 { top: 11%; left: 58%;}
#icon7_2 { top: 18%; left: 45%;}
#icon7_3 { top: 28%; left: 42%;}
#icon7_4 { top: 34%; left: 60%;}
#icon7_5 { top: 50%; left: 53%;}
#icon7_6 { top: 43%; left: 71%;}
#icon7_7 { top: 22%; left: 74%;}
#icon7_8 { top: 80%; left: 17%;}

/*AREA8 - 海外*/
#icon8_1 { top: 40%; left: 76%;}
#icon8_2 { top: 58%; left: 87%;}
#icon8_3 { top: 38%; left: 24%;}
#icon8_4 { top: 44%; left: 40%;}
#icon8_5 { top: 53%; left: 21%;}
#icon8_6 { top: 61%; left: 51%;}

.icon svg,
.icon img {
    width: 100%;
    height: 100%;
}
.size0 svg,
.size0 img {
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    transform: scale(0);
}
.size1 svg,
.size1 img {
    -webkit-transform: scale(0.7);
    -moz-transform: scale(0.7);
    transform: scale(0.7);
}
.size2 svg,
.size2 img {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    transform: scale(1);
}
.size3 svg,
.size3 img {
    -webkit-transform: scale(1.8);
    -moz-transform: scale(1.8);
    transform: scale(1.8);
}
.size4 svg,
.size4 img {
    -webkit-transform: scale(2.5);
    -moz-transform: scale(2.5);
    transform: scale(2.5);
}

.supporters-list {
    margin: 5% 0;
    text-align: left;
    font-size: 1.1rem;
}
.supporters-list li {
    padding: 6px 0;
    border-bottom: solid 1px #efefef;
    zoom:1;
    overflow: hidden;
}
.supporters-list li:first-child {
    border-top: solid 1px #efefef;
}
.supporters-list li .cate01 {
    width: 78%;
    float: left;
}
.supporters-list li .cate02 {
    width: 22%;
    float: left;
}
.supporters-list li p {
    position: relative;
    padding-left: 80px;
    padding-right: 10px;
}
.supporters-list li p:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 66px;
    height: 18px;
    background-color: #e4e4e4;
    line-height: 18px;
    border-radius: 9px;
    text-align: center;
    font-size: 1rem;
    color: #9e9e9e;
}
.supporters-list li .cate01 p:before {
    content: "お名前";
}
.supporters-list li .cate02 p:before {
    content: "ファン歴";
}
.supporters-list .loading {
    margin-top: 3%;
    text-align: center;
    font-size: 1.2rem;
    font-weight: bold;
}


.supporters-list.manifest li .cate01 {
    margin-bottom: 6px;
    width: 100%;
    float: none;
}
.supporters-list.manifest li .cate03 {
    width: 100%;
    float: none;
}     
.supporters-list.manifest li .cate03 p:before {
    content: "公約";
}

@media screen and (max-width: 767px) {
    .supporters-list li .cate01 {
        margin-bottom: 6px;
        width: 100%;
        float: none;
    }
    .supporters-list li .cate02 {
        width: 100%;
        float: none;
    }
}


/*TOPメッセージ-アコーディオン-*/
.accordion-box {
    position: relative;
}
.accordion-box label {
    height: 100px;
    cursor: pointer;
    text-align: center;
    position: absolute;
    bottom: 0;
    width: 100%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    background: #ffffff;
    /* 以下グラデーションは「背景が白」に併せて設定しています */ 
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -ms-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
}
.message.notice-top .accordion-box label {
    background: #ffffff;
    /* 以下グラデーションは「背景が白」に併せて設定しています */ 
    background: -webkit-linear-gradient(top, rgba(239, 239, 241, 0) 0%, rgba(239, 239, 241, 0.95) 90%);
    background: -moz-linear-gradient(top, rgba(239, 239, 241, 0) 0%, rgba(239, 239, 241, 0.95) 90%);
    background: -o-linear-gradient(top, rgba(239, 239, 241, 0) 0%, rgba(239, 239, 241, 0.95) 90%);
    background: -ms-linear-gradient(top, rgba(239, 239, 241, 0) 0%, rgba(239, 239, 241, 0.95) 90%);
    background: linear-gradient(to bottom, rgba(239, 239, 241, 0) 0%, rgba(239, 239, 241, 0.95) 90%);
}
.accordion-box input:checked + .ac_wrap label {
    background: inherit; /* 開いた時には背景グラデーションを消す */
}
.message.notice-top .accordion-box input:checked + .ac_wrap label {
    background: inherit; /* 開いた時には背景グラデーションを消す */
}

.accordion-box label:after {
    content: "全文表示"; /* ラベルの文字 */
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 7rem;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    line-height: 1;
    font-size: 16px;
    border-bottom: solid 2px #1f1f1f;
}
.accordion-box input {
    display: none;
}
.accordion-box .accordion-container {
    overflow: hidden;
    height: 100px; /* 開く前に見えている部分の高さ */
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
}
.accordion-box input:checked + .ac_wrap label {
    /* display: none ; 閉じるボタンは要らないとき */
}
.accordion-box input:checked + .ac_wrap label:after {
    content: "閉じる";
    width: 6rem;
}
.accordion-box input:checked + .ac_wrap .accordion-container {
    height: auto;
    padding-bottom: 40px; /* 閉じるボタンのbottomからの位置 */
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
}

/* ------------------------------------
 * EVENT INFO
 * ------------------------------------ */
.eventinfo {
    padding: 4% 5%;
    background-color: #efeff1;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.5;
}
.eventinfo strong {
    font-size: 130%;
}
.eventinfo .map-area.detail {
    margin-bottom: 20px;
}
.eventinfo .event_place {
    position: absolute;
    top: 48%;
    left: 0;
    width: 100%;
    text-align: center;
}
.eventinfo .event_place span {
    font-size: 4.6rem;
}
.info-text {
    margin: 0;
    padding: 5%;
    background-color: #1e3236;
    color: #ffffff;
}
.info-text p {
    margin-top: 2em;
    text-align: left;
}
.eventinfo p em {
    font-weight: bold;
    text-decoration: underline;
}
.eventinfo .gmap {
    position: relative;
    margin: 3% 0 5%;
}
.eventinfo .gmap iframe {
    border: solid 1px #000000 !important;
}
.eventinfo .notice {
    text-align: center;
}
.eventinfo .small {
    font-size: 85%;
    margin-top: 1em;
}

@media screen and (max-width: 767px) {
    .eventinfo {
        padding: 6% 5%;
        font-size: 1.5rem;
    }
    .eventinfo span {
        display: block;
    }
    .eventinfo .event_place span {
        font-size: 3.6rem;
    }
    .eventinfo .gmap {
        padding-bottom: 56.25%;
        width: 100%;
        height: 0;
        overflow: hidden;
        border: solid 1px #000000;
    }
    .eventinfo .gmap iframe,
    .eventinfo .gmap object,
    .eventinfo .gmap embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: none !important;
    }
    .eventinfo .notice {
        text-align: left;
    }
}

@media screen and (max-width: 520px) {
    .eventinfo {
        font-size: 1.2rem;
    }
}


.countdown {
    margin-top: 5%;
}
.timer {
    font-family: 'Muli', sans-serif;
    background-color: #000;
    color: #fff;
}
.timer .yycountdown-box .yyc-day{
	font-size:5.0em;
}
.timer .yycountdown-box .yyc-hou{
	font-size:5.0em;
}
.timer .yycountdown-box .yyc-min{
	font-size:5.0em;
}
.timer .yycountdown-box .yyc-sec{
	font-size:5.0em;
}
.timer .yycountdown-box .yyc-day-text,
.timer .yycountdown-box .yyc-hou-text,
.timer .yycountdown-box .yyc-min-text,
.timer .yycountdown-box .yyc-sec-text{
	font-size:1.3em;
}

@media screen and (max-width:767px) {
	.yycountdown-box{
		text-align:center;
	}
	.timer .yycountdown-box .yyc-day{
		font-size:3em;
	}
	.timer .yycountdown-box .yyc-hou{
		font-size:3em;
	}
	.timer .yycountdown-box .yyc-min{
		font-size:3em;
	}
	.timer .yycountdown-box .yyc-sec{
		font-size:3em;
	}
}

@media screen and (max-width:520px) {
	.yycountdown-box{
		text-align:center;
	}
	.timer .yycountdown-box .yyc-day{
		font-size:2em;
	}
	.timer .yycountdown-box .yyc-hou{
		font-size:2em;
	}
	.timer .yycountdown-box .yyc-min{
		font-size:2em;
	}
	.timer .yycountdown-box .yyc-sec{
		font-size:2em;
	}
}

@media screen and (max-width:360px) {
	.yycountdown-box{
		text-align:center;
	}
	.timer .yycountdown-box .yyc-day{
		font-size:1.5em;
	}
	.timer .yycountdown-box .yyc-hou{
		font-size:1.5em;
	}
	.timer .yycountdown-box .yyc-min{
		font-size:1.5em;
	}
	.timer .yycountdown-box .yyc-sec{
		font-size:1.5em;
	}
}

.end_message .inner {
    width: 100%;
    position: relative;
}
.end_message .end_message_img {
    position: absolute;
    display: block;
    width: 100%;
    text-align: center;
    z-index: 1000;
}
.end_message .end_message_img img {
    max-width: 100%;
    width: auto !important;
    width: 100%;
}
.end_message .red {
    padding-top: 5%;
}



/*--- clearfix ------------------*/

form .btn-area .btn ul:after,
.share ul:after,
.list-area:after,
.supporters-list li:after,
.supporters-list li div:after,
.clearfix:after {
    clear: both;
    display: block;
    height: 0;
    line-height: 0;
    content: ".";
    visibility: hidden;
}

