.ds_top{
    text-align: center;

}

.main_title{
    font-size:1.5rem;

}
.main_title2{
    font-size:1.3rem;
    font-weight: bold;
    text-align: center;
    padding:10px 0px;
    color:#ff9b3c;
}


.sub_title{
    color: #297dbc;
    font-size:1.3rem;
    font-weight: bold;
    padding: 15px 0;
    text-align: center;

}
.link_wrap{
    padding:0px;
}
.link_title{
    font-size:1.3rem;
    padding: 10px 0px 10px 0px;

}
.link_button{

    padding: 0px;
    font-weight: bold;
}
.link_button button{
    width:250px;
}
.login_msg{
    text-align: left;

}
.flow_link{
    padding: 20px 0px;

}

.top_menu_list_item{

    padding: 5px 20px 10px;
}

.top_menu_link , .top_menu_link:visited{
    display: block;
    width:100%;
    background-color: #f1f1ff;
    color:#0000a0;
    padding:10px 0px 10px 25px;
    font-weight:bold;
    font-size:1.3rem;
    /*角丸*/
    -moz-border-radius: 6px; /* Firefox */
    -webkit-border-radius: 6px; /* Safari and Chrome */
    border-radius: 6px;
    vertical-align: middle;
}
.top_menu_link:hover {
    color:#f26e26;
}
.top_menu_link .top_menu_right_right_icon{
    display:inline-block;
    float:right;
    font-size:1.8rem;
    margin-right: 20px;
    text-align: right;
    vertical-align: middle;

}
.top_menu_text{
    padding:0px 20px;

}
.top_page_wrap  {
}

.ds_top .ds_grid .block_area{
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #a7a7f1;
    height: 340px;
    margin: 10px auto;
    position: relative;
}
.ds_top .ds_grid .block_area .index_item_head_area{
    height: 200px;

}

.link_to_site_wrap {
    margin-top: 10px;
}
.link_to_site {
    background-color: #ff7f50;
    padding: 3px 10px;
    border-radius: 4px;
}
.link_to_site,
.link_to_site:hover,
.link_to_site:active,
.link_to_site:visited {
    color: white;
}
.link_to_site i {
    margin-left: 4px;
}

.index_text_area{
    text-align: left;
    height: 125px;
    background-color: #e9e9ff;
    padding: 10px;

    border-radius: 5px;
    margin: 5px 10px 10px 10px;
}
.ds_top .ds_grid .block_area .img_ara{
    padding: 10px 0px 5px 0px;
}
.ds_top .ds_grid .block_area .img1{
    width: 80%;
    margin: 5px auto;
    max-width: 280px;
}

.minamipass_logo_img{
    width: 55% !important;
}

.contract_free_paid_area{
    text-align: right;
}
.style_inline_block{
    display: inline-block;
    padding: 1px 3px;
    margin: 0px 5px;
    border-radius: 3px;
}

.contract_ribbon{
    position: absolute;
    top: 0;
    left: 0;
    width:250px;
    height: 60px;
    padding-bottom: 3px;
    line-height:  90px;
    background: #ff434b;
    color:white;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    /*    border-top: 5px solid #a7a7f1;
        border-bottom: 5px solid #a7a7f1;
    */
    color:#fff;
    -webkit-transform: rotate(-45deg) translate(-65px,-89px);
    -moz-transform: rotate(-45deg) translate(-65px,-89px);
    -ms-transform: rotate(-45deg) translate(-65px,-89px);
    -o-transform:rotate(-45deg) translate(-65px,-89px);
    transform: rotate(-45deg) translate(-65px,-89px);

}
.contract_text{
    background-color: #ffd700;

}
.span_paid_text{
    background-color: #ff7f50;
    color: #fff;

}
.span_free_text{
    background-color: #7eb5ff;
    color: #fff;
}

.header_event_notice {
    margin-top: 10px;
    margin-bottom: 10px;
}
.header_event_notice-link {
    background-color: #f31e1f;
    color: white;
    font-weight: bold;
    margin-right: 10px;
    display: flex;
    text-align: center;
    font-size: 0.9rem;
    padding: 10px 0px;
    justify-content: center;
    border-radius: 100vh;
    border-bottom: 1px solid #9f000c;
    color: white;
    width: 90%;
    margin: 0 auto;
}
.header_event_notice-link.paydon {
    background-color: #0000a0;
}
.header_event_notice-link:hover,
.header_event_notice-link:active,
.header_event_notice-link:visited {
    text-decoration: none;
    color: white;
    opacity: .7;
    transition: .4s;
}
.header_event_notice-link--lead {
    font-size: 0.8rem;
    font-weight: normal;
}
.header_event_notice-link--title {
    font-size: 1.3rem;
    display: inline-block;
    margin-top: 2px;
}
@media print, screen and (min-width: 768px) {
    .header_event_notice-link {
        width: 65%;
    }
}

@media print, screen and (min-width: 768px) {
    .ds_top{
        width: 100%;
        padding: 10px 0px;
    }

    .ds_top .ds_grid {
        display: grid;
        /*border: 1px solid #ddd;*/
        /*grid-auto-rows: 5em;*/
        grid-gap: 10px;
        padding: 10px;
        margin: 10px;
        overflow: hidden;
        grid-template-columns: 1fr 1fr 1fr;

    }
    .ds_top .ds_grid .block_area{
        width: 100%;
    }
    .main_title{
        font-size:2rem;

    }
    .main_title2{
        font-size:1.7rem;

    }
    .link_wrap{
        padding:10px;
    }
    .link_title{
        font-size:1.4rem;

    }
    .link_button{

        padding: 10px;
        font-weight: bold;
    }

    .top_menu_link , .top_menu_link:visited{
        font-size:1.4rem;
    }
    .top_menu_link .top_menu_right_right_icon{

        font-size:2rem;


    }
    .minamipass_logo_img{
        width: 60%;
    }

}
@media print, screen and (min-width: 1024px) {

}

