*,*::before,*::after{
    box-sizing: border-box;
}
body{
    padding:0;
    margin:0;
    font-family:-apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI","Noto Sans Japanese","ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
    font-size:21px;
    color:#111;
    line-height: 1.7;
}
.wrap{
    width:1100px;
    margin:0 auto;
}
.main_inner{
    padding:20px 10px;
}
.after-clr::after{
    content: '';
    display:block;
    clear: both;
}
ul{
    list-style: none;
    padding:0;
    margin:0;
}
.pad10{
    padding:10px;
}
.pad20{
    padding:20px;
}
.mb20{
    margin-bottom: 20px;
}
.mb40{
    margin-bottom: 40px;
}
.mb60{
    margin-bottom: 60px;
}
b.red{
    color:#f25;
}
.ft60{
    font-size: 62px;
}
img.full{
    display:block;
    width:100%;
    height:auto;
}
h2{
    margin:0;
    padding:10px 0;
    position: relative;
    font-size:36px;
    font-family: "M PLUS Rounded 1c";
    text-shadow: 1px 1px 1px #999;
}
h2::after{
    content:'';
    display:block;
    position: absolute;
    left:0;
    bottom:0;
    width:100%;
    height:5px;
    background-image: linear-gradient(90deg,#E75297,#fe0);
}
h3{
    margin:0;
    padding:8px 15px;
    font-size:16px;
    border-radius: 6px;
    border:1px solid #bbb;
    color:#6A1014;
    text-shadow: 1px 1px 2px rgba(0,0,0,.3);
    background-image: linear-gradient(180deg,#fff,#eee);
    line-height: 1.2;

}
header{
    border-top:#E75297 solid 5px;
}
.head_bg{
    position: relative;
    background-image: linear-gradient(175deg,#fb0,#ff9);
    overflow: hidden;
    z-index: 0;
}
.head_bg::before{
    content:'';
    display:block;
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background-image: radial-gradient(rgba(255,255,100,.5) 50%,rgba(255,255,100,0) 55%),radial-gradient(rgba(255,255,100,.5) 35%,rgba(255,255,100,0) 40%);
    background-size: 40px 40px;
    background-position: 0 0 ,20px 20px;
    animation: head_bg 5s linear infinite;
}
@keyframes head_bg{
    0%{
        background-position: 0 0 ,20px 20px;
        opacity:1;
    }
    50%{
        opacity:.5;
    }
    100%{
        background-position: 40px 40px ,60px 60px;
        opacity:1;
    }
}
.head_area{
    position: relative;
}
.head_left{
    float:left;
}
.head_right{
    float:right;
}
.head_nav_area{
    position: relative;
    background:rgba(250,0,0,.2);
}
.head_nav{
    display:flex;
    justify-content: space-between;
}
.head_nav li{
    width:100%;
    border-left:1px solid rgba(100,0,0,.2);
    line-height: 1.2;
}
.head_nav li:last-child{
    border-right:1px solid rgba(100,0,0,.2);
}
.head_nav li a{
    display:block;
    width:100%;
    text-align: center;
    padding:14px 0;
    font-size:16px;
    text-decoration: none;
    color:#000;
}
.head_nav li a b,.head_nav li a small{
    display:block;
}

#top_slide{
    width:100%;
    overflow: hidden;
}
.slide_wrap{
    width:1100px;
    margin:0 auto;
    position: relative;
    height:500px;
}
.slide_wrap::after{
    content:'';
    position: absolute;
    padding-top:53%;
}
.slide_ul{
    display:flex;
    justify-content: space-between;
    width:calc(100% * 7);
    flex-wrap: nowrap;
    position: absolute;
    bottom:-50%;
}
.slide_ul li{
    width:100%;
    padding:0 5px;
    transition: transform 2s ease;
    left:-980px;
    left:calc(100% / -7);
    position: relative;
}
.slide_ul li img{
    display:block;
    width:100%;
    height:auto;
}

.slide_view_cover{
    position: absolute;
    width:calc(100% + 10px);
    left:-5px;
    height:100%;
    //border-left:10px solid #ffd;
    //border-right:10px solid #ffd;
}
.slide_view_cover::before{
    content:'';
    display:block;
    width:100%;
    position: absolute;
    top:0;
    left:-100%;
    background-color:rgba(0,0,0,.4);
    background-image: linear-gradient(0deg,rgba(0,0,0,.05) 50% ,transparent 50%);
    background-size: 7px 7px;
    height:100%;
    border-right: 2px solid rgba(0,0,0,.1);
}
.slide_view_cover::after{
    content:'';
    display:block;
    width:100%;
    position: absolute;
    top:0;
    right:-100%;
    background-color:rgba(0,0,0,.4);
    background-image: linear-gradient(0deg,rgba(0,0,0,.05) 50% ,transparent 50%);
    background-size: 7px 7px;
    height:100%;
    border-left: 2px solid rgba(0,0,0,.1);
}


/*main*/
.main_left{
    float:left;
    width:calc(100% - 340px);
}
.main_right{
    float:right;
    width:300px;
}

h3.h3_top_news{
    border-radius: 6px 6px 0 0;
}
.top_news{
    padding:20px 5px;
    border:1px solid #bbb;
    border-top:0;
    border-radius: 0 0 6px 6px;
}
.top_news li{
    display:block;
    position: relative;
    border-bottom:1px solid #ddd;
    padding:5px 10px;
}
.top_news li i{
    color:#fd0;
    text-shadow: 1px 1px 2px #000;
}
.top_news li a{
    color:#c75207;
}

.main_tbl{
    border-collapse:collapse;
    border-spacing: 0px;
    width:100%;
    //border:3px solid #E75297;
    //background:#E75297;
}
.main_tbl th,.main_tbl td{
    padding:20px;

}
.main_tbl th{
    width:120px;
}
.main_tbl th>div{
    width:120px;
    height:auto;
    border-radius: 60px;
    background:#f60;
}
.main_tbl th>div.red{
    background:#f25;
}
.main_tbl th>div::after{
    content:'';
    display:inline-block;
    padding-top:100%;
    vertical-align: middle;
    
}
.main_tbl th>div>span{
    margin-top:5px;
    font-size: 1em;
    vertical-align: middle;
    color:#fff;
    text-shadow: 1px 1px 2px #333;
}
.main_tbl th>div>span.sml{
    font-size: 1.2em;
}

.acc_tbl_wrap{
    border-radius: 10px;
    border:4px solid #fd0;
    box-shadow: inset 0 0 2px #000;
    background-color: #4a0;
    background-image: linear-gradient(-45deg,transparent 25% ,rgba(255,255,255,.05) 25%,rgba(255,255,255,.05) 50%,transparent 50%,transparent 75% ,rgba(255,255,255,.05) 75%,rgba(255,255,255,.05));
    background-size: 60px 60px;
    color:#fff;
    text-shadow: 1px 1px 1px #000;
}
.acc_tbl{
    border-collapse: collapse;
    width:100%;
    
}
.acc_tbl th{
    font-size: .8em;
    padding:7px 10px;
    border-bottom:2px solid #fd0;
    background-color:rgba(0,0,0,.1);
}
.acc_tbl td{
    padding:16px 10px;
    border-bottom:2px solid #fd0;
}
/*side*/
.side_bnr.box{
    border:1px solid #ccc;
    box-shadow: 1px 1px 2px rgba(0,0,0,.5);
}
iframe{
    display:block;
}

/*foot*/
footer{
    background: #E75297;
    //background: #333;
    //background: #fd0;
    background-image: linear-gradient(45deg,transparent 45% ,rgba(255,0,0,.1) 45%,rgba(255,0,0,.1) 55%,transparent 55%);
    background-size: 20px 20px;
    border-bottom:#6A1014 solid 5px;
}
.foot_info{
    padding:20px 0;
    font-size:16px;
    color:#fff;
    line-height: 1.3;
}
.foot_copy{
    //background:#6A1014;
    text-align: right;
    color:#222;
    font-size:12px;
    padding-right: 10px;
}

.sp_only{
    display:none;
}
/* to wrap*/
@media(max-width:1120px){
    .wrap{
        width:100%;
    }
    .slide_wrap{
        width:100%;
    }
    .slide_ul{
        bottom:0;
    }
    .foot_info{
        padding:20px;
    }
}
/*tablet*/
@media(max-width:794px){
    .head_left,.head_right{
        width:40%;
    }
    .head_left img,.head_right img{
        width:100%;
        height:auto;
    }
    .main_left{
        width:68%;
    }
    .main_right{
        width:30%;
    }
    main{
        padding:0 5px;
    }
}
/*sp*/
@media(max-width:640px){
    body{
        font-size:18px;
    }
    .head_left,.head_right{
        float:none;
        width:100%;
    }
    .main_inner{
        padding:20px 5px;
    }
    .slide_wrap{
        height:auto;
    }
    .slide_ul{
        position: relative;

    }
    .main_left,.main_right{
        float:none;
        width:100%;
    }
    h2{
        font-size:24px;
    }
    .main_tbl th{
        width:100px;
    }
    .main_tbl th,.main_tbl td{
        padding:10px;
    }
    .main_tbl th>div{
        width:90px;
    }
    .main_tbl th>div>span{
        font-size: 1.3em;
    }
    .acc_tbl{
        font-size: 15px;
    }
    .acc_tbl th{
        white-space: nowrap;
    }
}
/*sp port*/
@media(max-width:480px){
    .sp_none{
        display:none;
    }
    .sp_only{
        display:block;
    }
    .head_area{
        margin-top:60px;
    }
    .head_nav_area{
        position: absolute;
        top:0;
        left:0;
        width:100%;
        background:#E75297;
    }
    .head_nav li a{
        color:#fff;
        font-size:13px;

    }
    .head_nav li a b{
        font-weight: normal;
    }

    footer{
        position: relative;
        margin-top:40px;
    }
    .totop{
        position: absolute;
        bottom:99%;
        right:5px;
    }
    .totop a{
        display:inline-block;
        padding:5px 12px;
        border-radius: 6px 6px 0 0;
        background:#E75297;
        color:#fff;
        font-size:13px;
    }
}