@charset "utf-8";

/*--------------------------------------------
smart phone or tablet portrait
--------------------------------------------*/
@media screen and (max-width: 768px){
    /*　PC・SP切り替え　*/
    .pc{ display: none; }
    .pc-inline { display: none; }
    .sp{ display: block; }
    .sp-inline { display: inline; }

    div.slick-slider { width: 1px; min-width: 100%; *width: 100%; } /* for bugfix on iOS*/

    /* iOSでのデフォルトスタイルをリセット */
    input[type="submit"],
    input[type="button"] {
        border-radius: 4px;
        -webkit-box-sizing: content-box;
        -webkit-appearance: button;
        appearance: button;
        border: none;
        box-sizing: border-box;
        cursor: pointer;
    }
    input[type="submit"]::-webkit-search-decoration,
    input[type="button"]::-webkit-search-decoration {
        display: none;
    }
    input[type="submit"]::focus,
    input[type="button"]::focus {
        outline-offset: -2px;
    }

    .pickup-fair-box {
        padding: 10px 0px 30px;
    }
    .pickup-fair-box-inner {
        width: 100%;
        padding: 0 12px;
    }
    .other-fair-box {
        width: 100%;
        padding: 0 12px;
    }
    .detail-fair-box {
        width: 100%;
    }
    /* common */
    #bridal-fair{
        width: 100%;
        overflow-y: scroll;
    }
    /*　見出し　*/
    #bridal-fair .title{
        font-size: 21px;
        position: relative;
        margin: 28px auto 8px;
    }
    /* #bridal-fair .title:before{
        content: "";
        display: inline-block;
        width: 16px;
        height: 0.8px;
        background-color: #707070;
        position: relative;
        top: -5.6px;
        right: 8px;
    }
    #bridal-fair .title:after{
        content: "";
        display: inline-block;
        width: 16px;
        height: 0.8px;
        background-color: #707070;
        position: relative;
        top: -5.6px;
        left: 8px;
    } */

    #bridal-fair .title-pickup{
        text-align: center;
        color: #c79600;
        font-weight: bold;
        /* font-size: 20px; */
        font-size: 16px;
        /* margin: 0 auto 30px; */
        margin: 0 auto 24px;
        /* background: url("../img/crown.gif") no-repeat left top 5px; */
        background: url("../img/crown.gif") no-repeat left top 4px;
        /* background-size: 25px; */
        background-size: 20px;
        display: block;
        width: 36%;
        /* padding-left: 1em; */
        padding-left: 0.8em;
    }
    #bridal-fair .title-day{
        text-align: center;
        /* font-size: 20px; */
        font-size: 16px;
        color: #707070;
        font-weight: normal;
        /* margin: 40px 0 20px; */
        margin: 32px 0 16px;
    }

    .bridal-fair-sel{
        width: 100%;
        height: 88px;
        /* height: 68px; */
        background-color: rgba(0,0,0,0.50);
        padding: 26px 23px 26px;
        overflow: hidden;
        position: absolute;
        bottom: 0;
        left: 0;
        /* z-index: 100000; */
        z-index: 9997; /*調整*/
    }
    .bridal-fair-sel .bridal-fair-sel-tabs {
        width: 90%;
        width: calc(100% - 40px);
    }
    .bridal-fair-sel li{
        width: 48%;
        text-align: center;
        font-size: 13px;
        display: inline-block;
    }
    .bridal-fair-sel li.bridal-fair-reserve-web, .bridal-fair-sel li.bridal-fair-reserve-tel {
        /* height: 58px; */
        height: 45px;
    }
    .bridal-fair-sel li.bridal-fair-reserve-web a, .bridal-fair-sel li.bridal-fair-reserve-tel a {
        /* line-height: 58px; */
        line-height: 45px;
        padding: 0;
    }
    .bridal-fair-sel li a{
        display: block;
        padding: 10px 0;
    }
    .bridal-fair-sel .bridal-fair-sel-day{
        background: #CAB68B;
        border: 1px solid #CAB68B;
        float: left;
    }
    .bridal-fair-sel .bridal-fair-sel-day a {
        color: #fff;
    }
    .bridal-fair-sel .bridal-fair-sel-con{
        background: #fff;
        border: 1px solid #CAB68B;
        float: right;
    }
    .bridal-fair-sel .bridal-fair-sel-con a {
        color: #CAB68B;
    }
    .bridal-fair-sel .left{
        background: #5e7441;
        border: 1px solid #5e7441;
        float: left;
    }
    .bridal-fair-sel .left a {
        color: #fff;
    }
    .bridal-fair-sel .right{
        background: #fff;
        border: 1px solid #5e7441;
        float: right;
    }
    .bridal-fair-sel .right a {
        color: #5e7441;
    }
    .bridal-fair-sel .center{
        width: 100%;
        background: #fff;
        border: 1px solid #B55245;
    }
    .bridal-fair-sel .center a {
        color: #B55245;
    }
    .bridal-fair-sel .btn-to-top {
        position: absolute;
        top: 0;
        right: 0;
        width: 40px;
        height: 100%;
        border-left: 1px solid #fff;
    }
    .bridal-fair-sel .btn-to-top:before {
        content: '';
        display: block;
        background-image: url(../img/totop.svg);
        background-size: contain;
        background-position: center center;
        width: 18px;
        height: 18px;
        position: absolute;
        top: 5px;
        left: 11px;
    }
    .bridal-fair-sel .btn-to-top span {
        color: #fff;
        white-space: nowrap;
        /* font-size: 12px; */
        font-size: 15px;
        /* transform: rotate(-90deg) translateX(-19px) translateY(34px); */
        transform: rotate(-90deg) translateX(10px) translateY(33px); /*上半分に表示したい時*/
        display: block;
        width: 100%;
        height: 100%;
    }
    .bridal-fair-sel .btn-to-top a {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    /* フェアのリスト（共通） */
    .bridal-fair-list {
        /* padding: 10px; */
        padding: 8px;
        min-height: 0;
    }
    .bridal-fair-list.bridal-fair-list-date-box {
        padding: 0px;
    }
    .bridal-fair-list-box{
        width: 100%;
        float: none;
        padding-bottom: 0;
    }
    .bridal-fair-list-img {
        width: 100%;
        /* height: 300px; */
        height: 240px;
        /* max-height: 500px; */
        max-height: 400px;
        /* height: calc(100vw - 60px); */
        height: calc(80vw - 48px);
        float: none;
    }
    .bridal-fair-list-img .slick-dots button{
        width: 10.4px;
        height: 10.4px;
    }
    .bridal-fair-list-img .slick-dots{
        left: 0;
    }
    .bridal-fair-list-img .slick-dots li{
        margin: 0 8px;
        width: 11px;
        height: 11px;
    }
    .bridal-fair-list-icon{
        /* margin: 45px auto 10px; */
        margin: 36px auto 8px;
    }
    .pickup-fair .bridal-fair-list-icon {
        margin: 0px auto;
    }
    .bridal-fair-list-icon ul{
        width: 100%;
        float: none;
        text-align: left;
    }
    .bridal-fair-list-icon ul li{
        /* margin-bottom: 5px; */
        margin-bottom: 4px;
    }
    .bridal-fair-list-title p.bridal-fair-list-hour.pc{
        display: none;
    }
    .pickup-fair .bridal-fair-list-title {
        /* text-align: center; */
        text-align: left;
        margin: 25px auto 20px;
    }
    .bridal-fair-list-title{
        min-height: auto;
    }
    .bridal-fair-list-title h3{
        width: calc(100% - 60px);
        display: inline-block;
        font-size: 13px;
        vertical-align: middle;
        padding: 0 10px;
        margin: 0;
    }
    .pickup-fair .bridal-fair-list-title h3 {
        width: 100%;
        padding: 10px 0;
    }
    .pickup-fair .bridal-fair-list-title .bridal-fair-list-time{
        margin: 0;
    }
    .bridal-fair-list-title h4{
        display: none;
    }
    .bridal-fair-list-title p{
        display: none;
    }
    .bridal-fair-list-title .bridal-fair-list-time {
        margin-top: 8px;
    }
    .bridal-fair-list-title .bridal-fair-list-time.pc {
        display: none;
    }
    .bridal-fair-list-cont .bridal-fair-list-join{
        display: none;
    }
    .bridal-fair-list-cont .bridal-fair-list-dt{
        width: 100%;
        float: none;
    }
    .bridal-fair-list-cont .bridal-fair-list-time {
        position: relative;
        /* padding-left: 70px; */
        padding-left: 55px;
        padding-top: 1px;
        /* font-size: 14px; */
        font-size: 11.2px;
        /* margin-bottom: 7px; */
        margin-bottom: 3px;
    }
    .bridal-fair-list-cont .bridal-fair-list-hour {
        font-size: 11.2px;
    }
    .bridal-fair-list-cont .bridal-fair-list-time .part-block {
        display: inline-block;
    }
    .bridal-fair-list-cont .bridal-fair-list-time .bridal-fair-list-time-label {
        position: absolute;
        top: 0px;
        left: 0px;
    }
    .bridal-fair-list-cont .bridal-fair-list-time .bridal-fair-list-time-parts span.time-block {
        /* width: 45px; */
        width: 36px;
        /* margin-right: 5px; */
        margin-right: 4px;
    }
    .bridal-fair-list-cont .bridal-fair-list-tinfo  .bridal-fair-list-time .bridal-fair-list-time-parts span.time-block {
        /* width: 45px; */
        width: 36px;
    }
    .bridal-fair-list-more{
        width: 120px;
        position: relative;
        top: 0;
        left: 0;
        margin: auto;
        float: none;
        clear: inherit;
        text-align: center;
    }
    .pickup-fair .bridal-fair-list-more{
        padding-top: 10px;
   }
    .bridal-fair-list-more a{
        width: 100%;
        font-size: 11.2px;
        box-sizing: border-box;
    }

    .bridal-fair-halflist {
        display: block;
    }
    .bridal-fair-halflist .bridal-fair-list-icon ul{
        width: 100%;
        float: none;
        text-align: left;
    }
    .bridal-fair-halflist .bridal-fair-list{
        width: 100%;
        float: none;
        /* padding: 15px; */
        padding: 12px;
    }
    .bridal-fair-halflist .bridal-fair-list:nth-child(2n){
        margin-left: 0;
    }
    .bridal-fair-halflist .bridal-fair-list-img{
        width:inherit;
        /* height: 250px; */
        height: 200px;
        /* height: calc(100vw - 60px); */
        height: calc(80vw - 48px);
    }
    .bridal-fair-halflist .bridal-fair-list-box{
        width: 100%;
        /* margin: 45px auto 0; */
        margin: 36px auto 0;
    }
    .bridal-fair-prev-hour {
        top: 0;
    }
    .bridal-fair-next-hour span{
        /* font-size: 16px; */
        font-size: 12.8px;
    }
    .bridal-fair-list-date-box .bridal-fair-list-img{
        width: 100%;
        /* padding: 15px 15px 0; */
        padding: 12px 12px 0;
    }
    .bridal-fair-list-date-box .bridal-fair-list-date,
    #bridal-fair-someday .bridal-fair-list-date {
        width: 50px;
        vertical-align: top;
        text-align: center;
        background: #F7F7F7;
        color: #707070;
        line-height: 20px;
        display: inline-block;
        padding: 5px;
        font-size: 12.8px;
        margin: -8px;
    }
    .bridal-fair-list-date-box .bridal-fair-list-date.pc{
        display: none;
    }
    .bridal-fair-list-date-box .bridal-fair-list-date span{
        font-size: 13px;
    }
    .bridal-fair-list-date-box .bridal-fair-list-wrap{
        width: 100%;
    }
    .bridal-fair-list-date-box .bridal-fair-list-box{
        width: 100%;
        padding: 8px;
        /* padding-bottom: 60px; */
        /* padding-bottom: 48px; */
    }
    .bridal-fair-list-date-box .bridal-fair-list-icon ul{
        width: 100%;
    }
    .bridal-fair-list-icon .bridal-fair-list-hour{
        width: 100%;
        float: none;
    }
    .bridal-fair-contact{
        width: 100%;
        margin: 0 auto 100px;
    }
    .bridal-fair-contact li{
        width: 100%;
        float: none;
        padding: 0;
        /* margin-bottom: 10px; */
        margin-bottom: 8px;
    }
    .bridal-fair-contact li a{
        /* padding: 20px; */
        padding: 16px;
    }

    .bridal-fair-list-dcont{
        min-height: 0;
        border-top: none;
        border-right: none;
        border-bottom: 1px solid #e2e2e2;
    }

    .bridal-fair-list-dcont .bridal-fair-list-icon{
        margin: 5px auto;
    }

    .bridal-fair-list-dcont .bridal-fair-list-cont{
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        width: 100%;
    }
    .bridal-fair-list-dcont .bridal-fair-list-cont figure{
        width: 35%;
    }
    .bridal-fair-list-dcont .bridal-fair-list-cont figure img{
        width: 100%;
    }
    .bridal-fair-list-dcont .bridal-fair-list-cont .bridal-fair-list-tinfo{
        width: 62%;
        text-align: left;
        font-size: 12px;
    }
    .bridal-fair-list-cont .bridal-fair-list-tinfo .bridal-fair-list-time .bridal-fair-list-time-label {
    }
    .bridal-fair-list-cont .bridal-fair-list-tinfo .bridal-fair-list-time .bridal-fair-list-time-parts span.time-block{
        margin: 0;
    }
    .bridal-fair-list-dcont .bridal-fair-list-cont .bridal-fair-list-tinfo .bridal-fair-list-more {
        position: absolute;
        left: auto;
        top: auto;
        /* bottom: 15px;
        right: 15px; */
        bottom: 12px;
        right: 12px;
    }
    .bridal-fair-other-more, .bridal-fair-other-close {
        font-size: 13px;
        padding: 10px 0;
    }
    /*詳細*/
    #bridal-fair-detail{
        /* padding: 0 15px;
        margin: 0 auto 70px; */
        padding: 0 12px;
        margin: 0 auto 56px;
    }
    #bridal-fair-someday{
        /* padding: 0 15px; */
        padding: 0 12px;
    }
    #bridal-fair-someday .bridal-fair-list-box {
        /* padding-bottom: 48px; */
    }
    #bridal-fair-someday .bridal-fair-subttl {
       font-size: 15px;
       padding: 0 0 8px 10px;
   }
    #bridal-fair-someday .bridal-fair-list-cont {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        width: 100%;
    }
    #bridal-fair-someday .bridal-fair-list-cont figure {
        width: 35%;
    }
    #bridal-fair-someday .bridal-fair-list-cont figure img {
        width: 100%;
    }
    #bridal-fair-someday .bridal-fair-list-cont .bridal-fair-list-tinfo {
        width: 62%;
        text-align: left;
        font-size: 12px;
    }
    #bridal-fair-someday .bridal-fair-list-icon {
        margin: 5px auto;
    }
    #bridal-fair-someday .bridal-fair-list-cont .bridal-fair-list-dt, .bridal-fair-list-date-box .bridal-fair-list-cont .bridal-fair-list-dt {
        text-align: center;
    }
    #bridal-fair-someday .bridal-fair-list-cont .bridal-fair-list-more, .bridal-fair-list-date-box .bridal-fair-list-cont .bridal-fair-list-more {
        width: 48%;
        position: static;
        display: inline-block;
        margin: auto;
        float: none;
        clear: inherit;
        text-align: center;
        padding-top: 10px;
    }
    #bridal-fair-someday .bridal-fair-list-cont .bridal-fair-list-more a, .bridal-fair-list-date-box .bridal-fair-list-cont .bridal-fair-list-more a {
        width: 100%;
        font-size: 11px;
    }
    #bridal-fair-someday .bridal-fair-list-cont .bridal-fair-list-reserve, .bridal-fair-list-date-box .bridal-fair-list-cont .bridal-fair-list-reserve {
        width: 48%;
        position: static;
        display: inline-block;
        margin: auto;
        float: none;
        clear: inherit;
        text-align: center;
        padding-top: 10px;
    }
    #bridal-fair-someday .bridal-fair-list-cont .bridal-fair-list-reserve a, .bridal-fair-list-date-box .bridal-fair-list-cont .bridal-fair-list-reserve a {
        width: 100%;
        font-size: 11px;
    }
    #bridal-fair-detail .bridal-fair-list-icon ul{
        text-align: left;
    }
    #bridal-fair-detail .bridal-fair-detail-ttl{
        font-size: 15px;
        margin: 0 0 16px;
    }
    #bridal-fair-detail .bridal-fair-list-icon .bridal-fair-list-hour{
        display: block;
        width: 100%;
        float: none;
        /* margin: 10px 0 20px; */
        margin: 8px 0 16px;
    }
    .bridal-fair-detail-wrap figure{
        width: 100%;
        height: calc(100vw - 24px);
        float: none;
        /* margin: 0 auto 20px; */
        margin: 0 auto 16px;
    }
    .bridal-fair-detail-wrap figure img{
        width: 100%;
        height: 100%;
    }
    .bridal-fair-detail-wrap .bridal-fair-detail-cont{
        width: 100%;
        float: none;
        min-height: 0;
    }
    .bridal-fair-detail-reserve-block {
        border: none;
        margin-bottom: 30px;
    }
    .bridal-fair-detail-reserve-block label {
        display: none;
    }
    .bridal-fair-detail-reserve{
        margin: 0;
        padding: 12px 0;
        width: 100%;
        border-top: 1px solid #e2e2e2;
    }
    .bridal-fair-detail-reserve p{
        /* font-size: 12px; */
        font-size: 9.6px;
    }
    .bridal-fair-detail-reserve table{
        width: 100%;
        /* font-size: 14px; */
        font-size: 11.2px;
    }
    .bridal-fair-detail-reserve .remain-display {
        display: inline-block;
    }
    .bridal-fair-detail-reserve .reserve-btn,
    .bridal-fair-detail-reserve .noreserve-btn{
        /* font-size: 14px; */
        font-size: 11.2px;
        /* padding: 10px 15px; */
        /* padding: 8px 12px; */
    }
    .bridal-fair-detail-reserve .reserve-btn a {
        padding: 8px 12px;
    }
    .bridal-fair-detail-reserve .noreserve-btn{
        padding: 8px 12px;
    }
    .bridal-fair-detail-join h4{
        /* font-size: 16px; */
        font-size: 12.8px;
    }
    .bridal-fair-detail-join .join-txt{
        min-height: inherit;
        /* padding: 20px; */
        padding: 3px 16px;
    }
    .bridal-fair-detail-join p{
        /* font-size: 14px; */
        font-size: 11.2px;
        /* line-height: 26px; */
        line-height: 20.8px;
    }
    .bridal-fair-detail-subttl{
        /* font-size: 16px; */
        font-size: 12.8px;
        /* line-height: 24px; */
        line-height: 19.2px;
        /* margin: 0 0 15px; */
        margin: 0 0 12px;
    }
    .bridal-fair-explan-txt{
        font-size: 12px;
        line-height: 16px;
        letter-spacing: 2px;
    }
    .bridal-fair-explan-box{
        /* padding: 0 15px; */
        padding: 0 12px;
    }
    .bridal-fair-explan-box li{
        display: block;
    }
    .bridal-fair-explan-box li figure{
        width: 100%;
        /* margin-bottom: 20px; */
        margin-bottom: 16px;
        /* max-height: 500px; */
        max-height: 400px;
    }
    .bridal-fair-explan-box li figure img{
        width: 100%;
        max-height: 400px;
    }
    .bridal-fair-explan-box li .explan-txt{
        width: 100%;
        font-size: 11px;
        line-height: 16px;
    }
    .bridal-fair-explan-box li {
        padding: 4px 0;
    }
    #bridal-fair-content .bridal-fair-subttl {
        font-size: 15px;
        padding: 0 0 8px 10px;
    }
    #bridal-fair-content h3{
        font-size: 12.8px;
    }
    #bridal-fair-content table{
        font-size: 11.2px;
    }
    #bridal-fair-content table .schedule-cont{
        width: 30%;
    }
    #bridal-fair-content table th:last-child {
        /* ズレの防止 */
        border-right: 1px solid #7D7D7D;
    }
    #bridal-fair-content table td{
        word-break: break-all;
        padding: 8px;
        border-right: 1px solid #b2afaa;
    }
    #bridal-fair-content table td:first-child {
        border-left: 1px solid #b2afaa;
    }

    .bridal-fair-concept-sel p{
        color: #707070;
    }
    .bridal-fair-concept-sel select{
        width: 100%;
        color: #707070;
        font-size: 16px;
        /* padding: 10px 10px 10px 0; */
        padding: 8px 8px 8px 0;
        border: none;
        border-bottom: 1px solid;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background: url("../img/select_arr_sp.png") no-repeat right center;
    }
    .bridal-fair-concept-sel {
        position: relative;
    }
    .bridal-fair-concept-sel:after {
        content: '▼';
        position: absolute;
        /* bottom: 12px; */
        bottom: 9.6px;
        /* right: -5px; */
        right: -4px;
        /* width: 20px;
        height: 20px; */
        width: 16px;
        height: 16px;
        /* font-size: 14px; */
        font-size: 11.2px;
        color: #707070;
    }
    .bridal-faie-gaito{
        color: #707070;
        /* margin-bottom: 1em; */
        margin-bottom: 0.8em;
    }
    #bridal-fair-detail .bridal-fair-list-hour{
        width: 100%;
        float: none;
        margin-bottom: 8px;
        overflow: hidden;
        font-size: 15px;
        padding: 15px 0;
    }
    #bridal-fair-detail form .bridal-fair-list-hour {
        position: relative;
    }
    #bridal-fair-detail form .bridal-fair-list-hour label {
        position: absolute;
        /* top: 1px; */
        top: 0.8px;
        left: 0;
        /* font-size: 15px; */
        font-size: 12px;
    }
    /* .ymd_pulldown{
    float: right;
    width: 100%;
    } */
    #bridal-fair-detail .bridal-fair-list-hour select {
        /* font-size: 12px; */
        font-size: 15px;
        margin-left: 10px;
    }
}

/*--------------------------------------------
iphone 6/7/8
--------------------------------------------*/
@media screen and (max-width: 375px){

}

/*--------------------------------------------
Galaxy & iphone SE
--------------------------------------------*/
@media screen and (max-width: 360px){
    #bridal-fair .title-pickup{
        width: 40%;
    }
    .bridal-fair-sel .bridal-fair-sel-tabs a {
        white-space: nowrap;
        /* font-size: 11px; */
        font-size: 8.8px;
    }
    /* .bridal-fair-detail-reserve .reserve-btn,
    .bridal-fair-detail-reserve .noreserve-btn{
    width: 100px;
}
.bridal-fair-list-date-box .bridal-fair-list-box{
padding: 10px 10px ;
}
.bridal-fair-list-icon ul li{
padding: 2px 5px;
}
.bridal-fair-list-dcont .bridal-fair-list-cont .bridal-fair-list-tinfo{
font-size: 12px;
} */
}

/*--------------------------------------------
 sp design option
--------------------------------------------*/
@media screen and (max-width: 768px){
    /* "○件のフェアが該当" */
    /* .total-fair-count {
        font-size: 15px;
        margin: 50px auto 20px;
    }
    .total-fair-count span {
        font-size: 20px;
    } */
    /* search box */
    .search-box {
        display: none;
        width: 90%;
        /* max-height: 90%; */
        max-height: 95%;
        background-color: #ffffff;
        position:fixed;
        z-index: 999999;
        padding: 20px;
        overflow: scroll;
        margin: 0 auto;
    }
    div.calendar-box {
        width: 100%;
        display: block;
    }
    #concept-box {
        margin-left: 0;
        width: 100%;
        display: block;
    }
    .button-box {
        margin-top: 20px;
        margin-bottom: 0;
    }
    .search-button {
        width: 80%;
        padding: 5px 0;
        margin: 0 0 20px;;
        font-size: 14px;
        white-space: nowrap;
    }
    .reset-button {
        font-size: 14px;
    }
    .other-modal-button {
        width: 80%;
        padding: 5px 0;
        /* margin: 50px auto 20px; */
        margin: 10px auto 20px;
        font-size: 14px;
        white-space: nowrap;
        text-align: center;
        background-color: #fff;
        border: 1px solid #5e7441;
        color: #5e7441;
        cursor: pointer;
    }
    .other-modal-button:hover {
        opacity: 0.7;
        -webkit-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out;
    }
    .bridal-fair-concept .checkbox {
        width: 29%;
        padding: 10px 5px;
        font-size: 11px;
    }
   /* modal */
    #modal-bg {
        display:none;
        width:100%;
        height:130%;
        background-color: rgba(0,0,0,0.5);
        position:fixed;
        top:0;
        left:0;
        z-index: 999998;
    }
    .modal-show {
        display: block!important;
    }
    .modal-hide {
        display: none!important;
    }
    .close-modal-button {
        position: absolute;
        right: 10px;
        top: 10px;
        font-size: 25px;
        color: #707070;
    }

    /* slick調整 / sp pickupfair */
    .bridal-fair-pickup-fair-list .slick-dots li {
        height: 11px;
        width: 11px;
    }
    .bridal-fair-pickup-fair-list .slick-dots button{
        width: 10.4px;
        height: 10.4px;
        background-color:#fff;
        border-radius: 50px;border: 1px solid #707070;
    }
    .bridal-fair-pickup-fair-list .slick-dots{
        left: 0;
        bottom: 0;
    }
    .bridal-fair-pickup-fair-list .pickup-fair .slick-dots{
        left: 0;
        bottom: -28px;
    }
    .bridal-fair-pickup-fair-list .slick-dots li{
        margin: 0 8px;
    }
    .bridal-fair-pickup-fair-list .slick-dots .slick-active button {
        background-color:#707070;
    }
    .bridal-fair-pickup-fair-list .slick-list {
        height: 100%;
    }
    .bridal-fair-pickup-fair-list .slick-list .slick-track {
        height: 100%;
    }
    .bridal-fair-pickup-fair-list .slick-list .slick-track .slick-slide {
        height: 100%;
    }
    /* for Slick Initialize */
    .bridal-fair-pickup-fair-list {
        visibility: hidden;
    }
    .bridal-fair-pickup-fair-list.slick-initialized {
        visibility: visible;
    }
    /* button (more , reserve)*/
    .bridal-fair-list-more, .bridal-fair-list-reserve {
        position: static;
        width: 80%;
        margin: 0 auto;
        vertical-align: top;
    }
    .bridal-fair-list-more a, .bridal-fair-list-reserve a {
        width: 100%;
        height: 30px;
        padding-top: 5px;
    }

    /* .pickup-fair-box */
    .pickup-fair-box .bridal-fair-list-pickup-date {
        top: 8px;
        left: 8px;
    }
}

/* ---------- fair detail ---------- */
@media screen and (max-width: 768px) {
    .bridal-fair-content-tag form:before, .bridal-fair-content-tag form:after {
        content: '';
        display: block;
        width: 32%;
        height: 0;
        margin: 0 auto 5px;
    }
    .bridal-fair-content-tag form:before {
        order: 1;
    }
    .bridal-fair-content-tag .radio {
        width: 32%;
        margin: 0 auto 5px;
        padding: 5px 8px;
        font-size: 12px;
        white-space: nowrap;
    }
    .bridal-fair-content-tag .radio.small {
        font-size: 10px;
    }
    .bridal-fair-content-detail {
        padding: 0;
        margin: 8px 0;
    }
    .bridal-fair-content-detail .explain-titile {
        text-align: center;
        margin: 0 auto;
        padding: 5px 10px;
        font-size: 15px;
        background: #fff;
    }
    .bridal-fair-content-detail .explain-td {
        width: 100%;
        background: #fff;
        padding: 10px;
        z-index: 10;
    }
    .bridal-fair-content-detail .explain-td .explain-desctiption {
        font-size: 14px;
    }
    #bridal-fair-content .bridal-fair-content-detail figure {
        width: 100%;
    }
    #bridal-fair-content .bridal-fair-content-detail figure img {
        height: 300px;
    }
    .bridal-fair-content-detail button.pc {
        display: none;
    }
    .bridal-fair-content-detail figure {
        position: relative;
    }
    .bridal-fair-content-detail button.sp {
        display: block;
        top: 0;
        width: 30px;
        height: 300px;
        font-size: 25px;
        color: #fff;
        background-color: rgba( 226, 226, 226, 0.5 );
        z-index: 5;
        -webkit-tap-highlight-color:rgba(0,0,0,0);
    }
    .bridal-fair-content-detail button.sp.button-hide {
        display: none;
    }
}


/* 開催時間の段ずれ修正CSS */
@media screen and (max-width: 768px){
    .bridal-fair-list-title .part-block,
    .bridal-fair-list-cont .bridal-fair-list-time .part-block,
    .pickup-fair-box .bridal-fair-list-time .part-block {
        white-space: nowrap !important;
    }
    .bridal-fair-list-title .bridal-fair-list-time .bridal-fair-list-time-parts span.time-block.no-slash,
    .bridal-fair-list-title .bridal-fair-list-tinfo .bridal-fair-list-time .bridal-fair-list-time-parts span.time-block.no-slash,
    .bridal-fair-list-cont .bridal-fair-list-time .bridal-fair-list-time-parts span.time-block,
    .bridal-fair-list-cont .bridal-fair-list-tinfo  .bridal-fair-list-time .bridal-fair-list-time-parts span.time-block,
    .pickup-fair-box .bridal-fair-list-time .bridal-fair-list-time-parts span.time-block,
    .bridal-fair-list-title .bridal-fair-list-time .bridal-fair-list-time-parts span.time-block {
        display: inline-block;
        width: auto !important;
    }
}
