#castdt .wrap {}

#castdt .wrap .leftcont {}

.soku {
    display: flex;
    margin-bottom: 20px;
    background: #fff;
    padding: 10px;
}

.soku p {
    margin: 0 0 0 10px;
}

.blinking {
    -webkit-animation: blink 1.5s ease-in-out infinite alternate;
    -moz-animation: blink 1.5s ease-in-out infinite alternate;
    animation: blink 1.5s ease-in-out infinite alternate;
}

@-webkit-keyframes blink {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-moz-keyframes blink {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes blink {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.tab_contents_box {
    width: 100%;
}

.tab_menu {
    z-index: 2;
    position: relative;
    width: 120px;
    margin: 0 5px;
    background-color: #eee;
    line-height: 36px;
    float: left;
    text-align: center;
    transition: all 0.2s ease;
    border: solid 0 #ccc;
    border-radius: 8px 8px 0 0;
    cursor: pointer;
    box-sizing: border-box;
    font-weight: bold;
    color: #5E595B;
}

.tab_menu:hover {
    color: #838383;
}

.tab_menu:first-of-type {
    margin: 0 5px 2px 20px;
}

.tab_menu.tabaa {
    background-color: #F9F8E3;
    border-bottom: none;
    color: #5E595B;
}

.tab_menu.tabbb {
    background-color: #10822A;
    border-bottom: none;
    color: #fff;
}

.tab_menu.tabcc {
    background-color: #F2CC34;
    border-bottom: none;
    color: #fff;
}

.tab_menu.tabdd {
    background-color: #eb2866;
    border-bottom: none;
    color: #fff;
}

input:checked+.tab_menu {
    /* background-color: #fff; */
    /* border-bottom: solid 2px #F9F8E3; */
}

input[name="tab_menu"] {
    display: none;
}

.tab_content {
    display: none;
    z-index: 1;
    clear: both;
    border-radius: 8px;
    padding: 15px 20px;
    margin: 0 0 30px 0;
    position: relative;
    top: -2px;
    background: #F9F8E3;
}

#tab_b_content.tab_content {
    background: #569B65;
}

#tab_c_content.tab_content {
    background: #fffdf4;
}

#tab_d_content.tab_content {
    background: #FFEEF3;
}

#tab_a:checked~#tab_a_content,
#tab_b:checked~#tab_b_content,
#tab_c:checked~#tab_c_content,
#tab_d:checked~#tab_d_content {
    display: block;
}

@media screen and (max-width: 750px) {
    .soku {
        display: block;
        width: 95%;
        margin: 0 auto 10px auto;
        padding: 0 5px 5px 5px;
    }
    .soku p {
        margin: 0;
      }
      .soku p,
      .soku span {
        font-size: 12px;
      }
    .tab_menu {
        width: 21%;
        font-size: 12px;
    }
    .tab_menu:first-of-type {
        margin: 0 5px 2px 5px;
    }
    .tab_menu:last-of-type {
        font-size: 10px;
    }
    .tab_content {
        padding: 15px 10px;
    }
}


/* <!------------------ タブAの内容 ------------------> */
.liketag {
    display: flex;
    margin: 0 0 10px 0;
    padding: 10px;
    background: #fff;
}

.liketag p {
    margin: 0 10px 0 0;
    color: #2F80EB;
}

.topcont {
    display: flex;
    margin: 0 0 20px 0;
}

/*---- メインとサムネイルの分割 ----*/
.vertical-slider {
    width: 50%;
    max-width: 480px;
}

/*---- メイン部分 ----*/
.listSlider {
    /* flex: 0 0 79%;
    margin-right: 15px; */
}

/*---- サムネイル部分 ----*/
.listThumbnail {
    display: flex;
    justify-content: center;
    justify-content: space-between;
    margin: 10px 0 0 0;
    flex-wrap: wrap;

    /* flex: 0 0 14%; */
    li {
        width: 20%;
        background-color: #000;
        cursor: pointer;
        margin-bottom: 8px;
        flex: 0 0 18%;

        &.thumbOpacity {
            img {
                opacity: 0.6;
            }
        }
    }
}

/*---- 画像の表示・非表示 ----*/
.d-none {
    display: none;
}

.castsnsbtn {
    display: flex;
    list-style: none;
    justify-content: space-between;
    margin-top: 20px;
}

.castsnsbtn li {
    width: 48%;
}

.castsnsbtn .snsbtn {
    display: block;
    width: 100%;
    background: #21c95b;
    color: #fff;
    border: none;
    text-align: center;
    padding: 8px 0;
    font-weight: bold;
    border-radius: 4px;
}

.castsnsbtn .snsbtn.casttw {
    background: #1da1f2;
}

.reservebtn {
    display: block;
    width: 100%;
    margin: 18px auto;
    background: #ffb348;
    color: #fff;
    border: none;
    text-align: center;
    padding: 8px 0;
    font-weight: bold;
    border-radius: 4px;
}


.rightcont {
    width: 50%;
    padding: 0 0 0 5%;
}

.rightcont ul li dl {
    display: flex;
    background: #fff;
    padding: 8px 10px;
    margin: 0 0 16px 0;
}

.rightcont ul li dl dt {
    display: block;
    width: 90px;
    margin: 0 16px 0 0;
}
.rightcont ul li dl dt.longdt {
    width: auto;
}


.rightcont ul li dl dt,
.rightcont ul li dl dd {
    color: #222222;
}

.rightcont ul li dl.okcourse {
    display: block;
}

.rightcont ul li dl.okcourse dd {
    display: flex;
    flex-wrap: wrap;
    margin: 6px 0 0 0;
}

.rightcont ul li dl.okcourse span {
    font-size: 12px;
    padding: 6px;
    color: #A8A8A8;
    border: solid 1px #A8A8A8;
    border-radius: 4px;
    margin: 0 2px 6px 0;
}

.rightcont ul li dl.okcourse span.ok {
    color: #EF860F;
    border: solid 1px #EF860F;
}

.rightcont ul li dl.okcourse span.etc {
    color: #fff;
    border: solid 1px #871232;
    background: #871232;
}

.maincont .profbox {
    background: #fff;
    padding: 18px 30px;
    margin: 0 0 10px 0;
    border-radius: 10px;
}

.maincont .profbox h2 {
    color: #FF5A7C;
    font-size: 22px;
    font-weight: 500;
}

.maincont .profbox.proftext p {
    margin-bottom: 6px;
}
.maincont .profbox.linkbox a {
    display: inline-block;
    margin-right: 16px;
    text-decoration: underline;
    font-weight: bold;
    font-size: 14px;
}


.maincont .profbox .profqa {
    display: flex;
    flex-wrap: wrap;
    margin: 20px 0 0 0;
}

.maincont .profbox .profqa li {
    width: calc(100% / 3 - 30px);
    margin: 0 30px 20px 0;

    background: #fff;
    border-radius: 14px;
    border: solid 1px #cccccc;
}

.maincont .profbox .profqa li dt {
    padding: 8px 0;
    background: #CAF1EF;
    font-size: 14px;
    text-align: center;
    border-radius: 14px 14px 0 0;
}

.maincont .profbox .profqa li dd {
    padding: 30px 28px;
    font-size: 14px;
}

.maincont .profbox .profqa.qa15 li dt {
    background: #FBDDE3;
}
@media screen and (max-width: 750px) {
    .liketag {
        flex-wrap: wrap;
        padding: 5px;
    }
    .liketag p {
        font-size: 12px;
    }
    .topcont {
        display: block;
        margin: 0 0 20px 0;
    }
    .vertical-slider {
        width: 100%;
        max-width: 100%;
      }
    .castsnsbtn .snsbtn,
    .reservebtn {
        font-size: 12px;
    }
    .rightcont {
        width: 100%;
        padding: 0;
    }
    .maincont .profbox {
        padding: 8px 14px;
    }
    .maincont .profbox h2 {
        font-size: 16px;
    }
    .maincont .profbox .profqa {

    }
    .maincont .profbox .profqa li {
        width: 48%;
        margin: 0 2% 20px 0;
    }
    .maincont .profbox .profqa li dd {
        padding: 10px 8px;
        font-size: 12px;
      }
}

/* <!------------------ タブBの内容 ------------------> */
/*タブ切り替え全体のスタイル*/
.scheduletabs {
    margin-top: 50px;
    padding: 40px 0;
    background-color: #fff;
    margin: 0 auto;
}

/*タブのスタイル*/
.tab_item {
    width: calc(100%/2 - 50px);
    height: 50px;
    background-color: #d9d9d9;
    line-height: 50px;
    font-size: 16px;
    text-align: center;
    color: #565656;
    display: block;
    float: left;
    text-align: center;
    font-weight: bold;
    transition: all 0.2s ease;
    border-radius: 30px;
    margin: 30px 25px 0 25px;
}

.tab_item:hover {
    opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
    display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content_b {
    display: none;
    padding: 40px 20px 0;
    clear: both;
    overflow: hidden;
}


/*選択されているタブのコンテンツのみを表示*/
#all:checked~#all_content,
#programming:checked~#programming_content,
#design:checked~#design_content {
    display: block;
}

/*選択されているタブのスタイルを変える*/
.scheduletabs input:checked+.tab_item {
    background-color: #FFF519;
}

.tab_content_b ul li {
    display: flex;
    justify-content: space-between;
    margin: 4px auto;
    border: solid 1px #D1CCC1;
}

.tab_content_b ul li .schedulewrap {
    display: flex;
    width: 80%;
}

.tab_content_b ul li .schedulewrap .scheduleoption ul {
    display: flex;
}
.tab_content_b ul li .nomaldayin {
    width: 20%;
    padding: 20px 10px;
    background: #D1CCC1;
    border-right: solid 4px #BEB6AB;
}

.tab_content_b ul li.saturday {
    border: solid 1px #C4EDEC;
}

.tab_content_b ul li .nomaldayin.saturdayin {
    background: #C4EDEC;
    border-right: solid 4px #33B2AC;
}

.tab_content_b ul li.holiday {
    border: solid 1px #FCB2BF;
}

.tab_content_b ul li .nomaldayin.holidayin {
    background: #FCB2BF;
    border-right: solid 4px #F62B76;
}

.tab_content_b ul li .nomaldayin .scheduleday {
    color: #fff;
    font-size: 14px;
}

.tab_content_b ul li .nomaldayin span {
    display: block;
    color: #838383;
    font-size: 12px;
}
.schedulewrap .schedulemain {
    width: 30%;
}
.schedulewrap .schedulemain .schedulestate {
    color: #fff;
    font-size: 12px;
    background: #F8235D;
    padding: 1px;
    text-align: center;
}

.schedulewrap .schedulemain .schedulestate.yasumi {
    background: #555353;
}

.schedulewrap .schedulemain .schedulestate.requestshukkin {
    background: #871232;
}

.schedulewrap .schedulemain .scheduletime {
    font-size: 27px;
    color: #F8235D;
    margin: 8px 0 0 0;
}
.schedulewrap .scheduleoption {
    width: 50%;
}
.schedulewrap .scheduleoption .castcommentwrap {
    padding: 6px 2px;
    color: #F8235D;
    border: solid 1px #A8A8A8;
    font-size: 14px;
}

.schedulewrap .schedulemain {
    padding: 10px;
}

.schedulewrap .scheduleoption {
    padding: 10px 0;
}
.schedulewrap .scheduleyoyaku {
    width: 20%;
    margin: 9px 10px;
}

.schedulewrap .scheduleyoyaku a {
    display: block;
    background: #29D669;
    color: #fff;
    width: 100%;
    padding: 20px 0;
    text-align: center;
    font-size: 14px;
    font-weight: bold;
}
.shukkinbtn {

    display: block;
    width: 50%;
    margin: 0px auto;
    padding: 10px 0;
    text-align: center;
    background: #10822a;
    text-decoration: none;
    color: #fff;
    border-radius: 40px;
    box-shadow: inset 1px 1px 1px 0 rgba(255,255,255,1),inset -1px -1px 1px 0 rgba(0,0,0,.2),3px 3px 2px 0 rgba(0,0,0,.1);
}
@media screen and (max-width: 750px) { 
    .shukkinbtn {
        width: 90%;
    }
}
@media screen and (max-width: 750px) {
    .tab_content_b {
        padding: 15px 10px;
    }
    .tab_item {
        width: calc(100%/2 - 30px);
        margin: 20px 15px 0 15px;
    }
    .tab_content_b ul li .nomaldayin {
        width: 29%;
        padding: 5px 4px;
    }
    .tab_content_b ul li .nomaldayin .scheduleday {
        font-size: 12px;
    }
    .tab_content_b ul li .nomaldayin span {
        font-size: 10px;
    }
    .tab_content_b ul li .schedulewrap {
        display: block;
        width: 71%;
      }
      .schedulewrap .schedulemain {
        display: flex;
        width: 100%;
        padding: 4px 4px 0 4px;
        }
      .schedulewrap .schedulemain .schedulestate {
        margin: 0 4px 0 0;
        padding: 0 8px;
        line-height: 3;
        font-size: 10px;
      }
      .schedulewrap .schedulemain .scheduletime {
        font-size: 17px;
        font-weight: bold;
        margin: 2px 0 0 0;
      }
      .schedulewrap .scheduleoption {
        width: 100%;
        padding: 4px 4px 0 4px;
            }
      .schedulewrap .scheduleoption .castcommentwrap {
        padding: 6px 2px;
        color: #F8235D;
        border: solid 1px #A8A8A8;
        font-size: 10px;
      }
      .schedulewrap .scheduleoption .castcommentwrap .castcomment {
        display: block;
        font-size: 10px;
      }
      .schedulewrap .scheduleyoyaku {
        width: 100%;
        margin: 0;
        padding: 4px 4px 4px 4px;
          }
      .schedulewrap .scheduleyoyaku a {
        padding: 10px 0;
        font-size: 12px;
        font-weight: initial;
      }
      .schedulewrap .scheduleyoyaku a .yoyakubr {
        display: none;
      }
}
/* <!------------------ タブcの内容 ------------------> */
.kuchikomitabs {
    margin-top: 50px;
    padding-bottom: 40px;
    background-color: #fff;
    margin: 0 auto;
}

.kuchikomitabs p,
.kuchikomitabs dt,
.kuchikomitabs dd {
    font-size: 14px;
}

.kuchikomitabs .container {

    margin: auto 30px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    border-radius: 25px;
}

.kuchikomitabs .infomation {
    padding: 50px;
}

.kuchikomitabs .container h2 {
    background-color: rgb(247, 110, 92);
    color: #fff;
    margin: 20px auto;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    padding: 15px;
    border-radius: 10px 10px 0px 0px;
}

.kuchikomitabs .container img {
    width: 70px;
    float: left;
    margin: 0 10px 10px 25px;
    padding: 5px;
    border-radius: 20%;
    background-position: 54% 36%;
}

.kuchikomitabs .type {
    background-color: rgb(247, 110, 92);
    color: #fff;
    font-size: 0.8em;
    padding: 3px 3px;
}

.kuchikomitabs dl {
    display: grid;
    padding: 10px;
    margin: 0;
    list-style-position: inside;
}

.kuchikomitabs dt {
    padding: 5px 0;
    list-style: none;
}

.kuchikomitabs dd {
    margin: 0;
    border-bottom: 1px solid #ccc;
    list-style: none;
}

.kuchikomitabs .revew {
    clear: both;
    margin: 0 auto;
    padding: 10px;
}

.kuchikomitabs .ex {
    max-width: 800px;
    margin: 15px auto;
    background-color: #fff;
    border: 1px solid #ffffff;
    padding: 50px 50px 0 50px;
    text-align: left;
}

.kuchikomitabs .prf {
    text-align: left;
    margin: 0 auto;
    color: rgb(247, 110, 92);
}

.kuchikomitabs .balloon2-left {
    background-color: bisque;
    color: #4b4b4b;
    border: #ffffff;
    border-radius: 5px;
    margin: 10px 20px;
    padding: 15px;
}

.kuchikomitabs .balloon3-left {
    background-color: rgb(246, 226, 252);
    color: #4b4b4b;
    border: #ffffff;
    border-radius: 5px;
    margin: 10px 20px;
    padding: 15px;
}

#castdt .reviewbox02 li {
    width: 100%;
    margin: 20px 0 0 0;
    background: #fff;
    border-radius: 20px;
    
}
#castdt .reviewbox02 li .reviewboxinner { 
    padding: 20px 100px;
}
#castdt .reviewbox02 li h2 {
    background: linear-gradient(180deg, #FF82A9 -39.47%, #FFACBD 191.45%);
    color: #fff;
    text-align: center;
    padding: 20px;
    border-radius: 20px 20px 0 0;
    font-size: 20px;
}
#castdt .reviewbox02 li dl dd {
    margin-bottom: 16px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

}
#castdt .reviewbox02 li dl dt {

    border-bottom: 1px dotted #ff5a7c;
    color: #ff84aa;
    margin-bottom: 2px;

}
#castdt .reviewbox02 li .detailbtn {
    display: block;
    width: 20%;
    background: #ff84aa;
    color: #fff;
    padding: 8px 14px;
    font-size: 14px;
    text-align: center;
}
/* ＝＝＝＝＝＝＝▼口コミページャー▼＝＝＝＝＝＝＝ */
#castdt .reviewmore {
    display: block;
    width: 300px;
    margin: 30px auto 0 auto;
    padding: 16px;
    text-align: center;
    background: #fff;
    border-radius: 40px;
    border: #ffbcd1 solid 2px;
    color: #575353;
}
@media screen and (max-width: 750px) { 
    #castdt .reviewbox02 li .reviewboxinner {
        padding: 20px;
    }
    #castdt .reviewbox02 li .detailbtn {
        width: 70%;
        margin: 0 auto;
        text-align: center;
        padding: 8px 14px;
        font-size: 12px;
    }
    #castdt .reviewbox02 li h2 {
        padding: 14px;
        font-size: 14px;
    }
    #castdt .reviewmore {
        width: 86%;
    }
}
/* ＝＝＝＝＝＝＝▼ブログページ▼＝＝＝＝＝＝＝ */
#tab_d_content .bloglist {
    padding: 0;
}
#tab_d_content .bloglist li {
    display: flex;
    margin-bottom: 20px;
    padding-right: 20px;
    align-items: center;
    background: #fff;
 }
#tab_d_content .bloglist img {
    display: block;
    width: 16%;
    height: 140px;
    object-fit: cover;
}
#tab_d_content .bloglist li .castblogbox {
    width: 65%;
    margin: 0 2%;
}
#tab_d_content .bloglist li .castblogbox .data p,
#tab_d_content .bloglist li .castblogbox .castbloglistttl {
    margin: 4px 0;
}
#tab_d_content .bloglist li .castblogbox .blogoption {
    display: flex;
    align-items: center;
}
#tab_d_content .bloglist li .blogkind {
    width: 164px;
    margin-right: 16px;
    text-align: center;
    font-size: 14px;
    font-weight: bold;
    padding: 6px 0;
    color: #fff;
    background: #FF3B5D;
}
#tab_d_content .bloglist li .attendance {
    background:#FFB60D;
}
#tab_d_content .bloglist li .everyday {
    background:#3B9B58;
}
#tab_d_content .bloglist li .data {
    display: flex;
}
#tab_d_content .bloglist li .data {
    display: flex;
}
#tab_d_content .bloglist li .castbloglistttl {
overflow: hidden;
display: -webkit-box;
text-overflow: ellipsis;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2   ;
}

#tab_d_content .bloglist li .blogbtn {
    display: block;
    width: 16%;
    padding: 10px 0;
    background: #EE6B6B;
    color: #fff;
    text-decoration: none;
    text-align: center;
    border-radius: 40px;
    box-sizing: border-box;
    font-weight: bold;
}
.pagination-1 {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 8px;
    list-style-type: none;
    padding: 0;
    margin-top: 30px;
}

.pagination-1 a {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2em;
    height: 2em;
    border: 1px solid #ffbad0;
    border-radius: 1px;
    color: #ffbad0;
}

.pagination-1 a:not(:hover) {
    text-decoration: none;
}

.pagination-1 .current a {
    background-color: #ffbad0;
    color: #fff;
    pointer-events: none;
}
@media screen and (max-width: 750px) {
    #tab_d_content .bloglist li p {
        font-size: 14px;
    }
    #tab_d_content .bloglist li {
        display: block;
        margin-bottom: 20px;
        padding-right: 0;
        padding: 10px 16px;
    }
    #tab_d_content .bloglist img {
        display: block;
       width: 100%;
       margin: 0 auto 10px auto;
       height: 200px;
    }
    #tab_d_content .bloglist li .castblogbox {
        width: 100%;
    }
    #tab_d_content .bloglist li .blogbtn {
        display: block;
        width: 80%;
        margin: 40px auto 10px auto;
         height: initial; 
         margin-top: 10px;
         padding: 16px 0;
    }
}


