.header_pc .menu_block a.pc_menu_4{
    color: #0e648c;
}

.page_top_img{
    background:url(../images/program/top_img_a.jpg) center/cover no-repeat;
}




.one_block{
    padding: 60px 0 0 0;
}
.one_block.blue{
    background: #ebf8fe;
    
}

.one_block .w1000{
    padding-bottom: 60px;
    border-bottom: 2px #aaa dashed;
    font-size: 0;
}

.one_block .img_block{
    display: inline-block;
    vertical-align: top;
    width: 600px;
    height: 400px;
}
.one_block .text_block{
    position: relative;
    font-size: 16px;
    display: inline-block;
    vertical-align: top;
    width: 400px;
    /*height: 400px;*/
    padding: 0 10px 0 15px;
    box-sizing: border-box;
}

.one_block .text_block .text_block_inner{
    min-height: 250px;
}

.one_block .text_block .title{
    background: #30bde0;
    border: 2px #fff solid;
    text-align: center;
    width: 500px;
    padding: 13px 0;
    position: absolute;
    left: 0;
    top: 30px;
    color: #fff;
    font-size: 18px;
}
.one_block.blue .text_block .title{left:inherit; right: 0;}

.one_block .text_block .text{
    margin-top: 102px;
    margin-bottom: 15px;
}

.one_block .text_block .emergency_block{
    color: #d00;
    font-size: 14px;
    margin-bottom: 7px;
}

.one_block .text_block .tag_block .one_tag{
    font-size: 14px;
    display: inline-block;
    border: 1px #777 solid;
    text-align: center;
    padding: 3px 10px;
    margin-right: 10px;
}
.one_block .text_block .text .in_session{
    color: #f33;
}

.one_block .text_block .more_block{
/*    position: absolute;
    bottom: 0;
    right: 0;*/
    margin-top: 20px;
    width: 100%;
}
.one_block .text_block .more_block .view_more{
    display: block;
    margin: 0 auto;
}





/*ここから詳細ページ*/
.detail_block{
    background: #ebf8fe;
    padding: 30px 0 60px 0;
}

.detail_block .emergency_block{
    width: 600px;
    padding: 5px 0;
    margin: 0 auto;
    margin-bottom: 20px;
    color: #d00;
    text-align: center;
    font-size: 18px;
    border: #d00 solid 3px;
    background: #fff;
    box-sizing: border-box;
}

.detail_block .term{
    font-size: 18px;
    font-weight: bolder;
    color: #666;
}
.detail_block .in_session{
    font-weight: normal;
    color: #f33;
}

.detail_block .thumbnails {
    width: 100%;
    margin: 20px auto 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.detail_block .thumbnails > div {
    width: 49%;
}
.detail_block .thumbnails > div img {
    width: 100%;
}

.detail_block .content_block{
    margin-top: 30px;
}

.detail_block table{
    border-collapse:collapse;
    width: 850px;
    margin: 50px auto;
}
.detail_block table tr{
    width: 100%;
    border:2px solid #ebf8fe;
}
.detail_block table th{
    width: 20%;
    padding: 10px 0;
    background: #186d8d;
    color: #fff;
}
.detail_block table td{
    width: 80%;
    padding: 10px 20px;
    background: #fff;
}

.go_form{
    align-items: center;
    background: #ffa800;
    border: 4px solid #dc9100;
    border-radius: 10px;
    color: #fff;
    display: flex;
    font-size: 20px;
    font-weight: bold;
    justify-content: center;
    /*margin: 0 auto;*/
    padding: 15px 0;
    text-decoration: none;
    width: 13em;
}
.go_form:hover{
    background: #fff;
    border: 4px solid #dc9100;
    color: #dc9100;
}
.go_form.disable{
    background: #ccc;
    border-color: #999;
}
.go_form.disable:hover{
    color:#fff;
}
.go_form_buttons
{
    display: flex;
    justify-content: center;
    margin: 50px auto;
    width: 850px;
}
.go_form_buttons > *:not(:first-child)
{
    margin-left: 50px;
}




/*ここから参加フォーム*/
.program_form_html{
    background: #ebf8fe;
    padding: 40px 0 60px 0;
}
.program_form_html .w1000{
    margin-top: 40px;
    background: #fff;
    padding: 50px 15px;
    box-sizing: border-box;
    text-align: center;
}

.program_form_html .form_block{
    width: 90%;
    margin: 0 auto;
    text-align: left;
}
.program_form_html .form_block .has_error {
    color: #f00;
    font-size: 32px;
    text-align: center;
}
.program_form_html .form_block .one_block{
    font-size: 0;
    margin: 40px 0;
    padding: 0;
}
.program_form_html .form_block .one_block .left,
.program_form_html .form_block .one_block .right{
    font-size: 18px;
    display: inline-block;
    vertical-align: top;
}
.program_form_html .form_block .one_block .left{
    width: 30%; 
    font-weight: bolder; 
    color: #555; 
    padding-top: 6px;
}
.program_form_html .form_block .one_block .right{
    width: 70%;
}

.program_form_html .form_block .one_block .right input,
.program_form_html .form_block .one_block .right textarea
{
    width: 100%;
    box-sizing: border-box;
    padding: 5px;
    font-size: 18px;
    border: 2px #009ae1 solid;
    border-radius: 6px;
    background: #fffdf2;
}
.program_form_html .form_block .one_block .right textarea{
    height: 160px;
}



.program_form_html .form_block .one_block.name input{
    width: 39%;
}
.program_form_html .form_block .one_block.name input:first-child{
    margin-right: 15px;
}

.program_form_html .form_block .one_block.tel input{
    width: 22%;
    margin: 0 13px 0 10px; 
}
.program_form_html .form_block .one_block.tel input:first-child{
    margin-left: 0;
}

.program_form_html .form_block .one_block.zip input{
    margin: 0 13px 0 10px; 
    width: 20%;
}
.program_form_html .form_block .one_block.zip input:first-child{
    width: 15%;
    margin: 0 10px 0 0;
}

.program_form_html .form_block .one_block.mail input:first-child{
    margin: 0 0 10px 0;
}

.program_form_html .form_block .one_block.count input{
    width: 10%;
}
.program_form_html .form_block .one_block.date input{
    width: 20%;
}

.program_form_html .form_block .one_block.agree .right{
    font-size: 18px;
}
.program_form_html .form_block .one_block.agree .right input{
    display: inline;
    width: auto;
}

.program_form_html .form_block em {
    display: block;
    color: #f00;
    font-style: italic;
}

.form_block br.sp
{
    display: none;
}


.program_form_html .go_form{
    display: inline-block;
    margin: 60px auto 0;
}

.program_form_html .attention {
    padding-top: 20px;
    text-align: center;
    color: #f00;
}

.program_form_html .message {
    margin: 0 10px;
    padding: 20px;
    text-align: center;
    color: #000;
}
.program_form_html .message div{
    display: inline-block;
    margin: 0 auto;
    text-align: left;
}

.program_form_html.conf .form_block .one_block .right input,
.program_form_html.conf .form_block .one_block .right textarea
{
    border-color: #ebf8fe;
    background: #ebf8fe;
    color: #000;
}
.program_form_html.conf .form_block .agree{
    display:none;
}






/* 営業カレンダー ******************************************************************/
.customCalendar {margin:10px auto 0; padding:0; font-size:16px; border-top: 1px dashed #ccc; display:flex; flex-wrap:wrap; }
.customCalendar:after {content:''; display:block; clear:both;}
.customCalendar > div.table-wrapper {margin:0 10px 10px 0; padding:0; width:calc(50% - 5px); box-sizing:border-box;}
.customCalendar > div > table {margin:0; padding:0; width:100%; box-sizing:border-box; table-layout:fixed; border-collapse:separate; border-spacing:0; border:none;}
.customCalendar > div:nth-of-type(even) {margin:0 0 10px 0;}

.customCalendar > div > table caption {position:relative; margin:0 10px 0 0; padding:0; color:#000; font-weight:bold; text-align:left;}
.customCalendar > div > table caption > strong {font-size:2em;}

.customCalendar > div > table th {background:#fff; color:#333; font-weight:bold;}
.customCalendar > div > table th, .customCalendar > div > table td {margin:0; padding:0; text-align:center; vertical-align: middle; font-size:0.7em; border-bottom:1px #ddd solid; border-right:1px #ddd solid;}
.customCalendar > div > table tr:first-child th {border-top:1px #ddd solid;}
.customCalendar > div > table th:first-child, .customCalendar > div > table td:first-child {border-left:1px #ddd solid;}
.customCalendar > div > table th:first-child {color:#cc4c4c;}
.customCalendar > div > table th:last-child {color:#00cbeb;}
.customCalendar > div > table td {vertical-align:top; background:#fdfbf3; line-height:1.5; height:6em; color:#666;}
.customCalendar > div > table td.today {background:#f7ec7e;}
.customCalendar > div > table td > span {display:block; color:#333;}
.customCalendar > div > table td > .close {color: #bbb; font-weight:bold;}
.customCalendar > div > table td > .holiday {color: #c33;}
.customCalendar > div > table td > .comment {color: #000; font-weight:bold;}
.customCalendar > div > table td > div {display:block; white-space:nowrap; text-align:center; background:#009ae1; font-weight:bold; color:#fff;}
.customCalendar > div > table td.close > div {background:#e54b4b;}
.customCalendar > div > table td.past > div {background:#aaa;}
.customCalendar > div > table td > span.selectable {font-weight: bold; color: #000; text-decoration: underline;}
.customCalendar > div > table td > span.selectable:hover {cursor: pointer;}

@media all and (max-width: 1024px) {
    /* ipad用に調整 */
}





@media all and (max-width: 768px) {
            .one_block{
                padding: 50px 0 0 0;
            }
            .one_block:nth-child(odd){
                background: #ebf8fe;

            }

            .one_block .w1000{
                padding-bottom: 50px;
                /*border-bottom: 2px #aaa dashed;*/
                /*font-size: 0;*/
            }
            
            .one_block .title{
                background: #30bde0;
                border: 2px #fff solid;
                text-align: center;
                width: 95%;
                padding: 7px 0;
                color: #fff;
                font-size: 4vw;
                margin: 0 auto 10px auto;
            }

            .one_block .img_block{
                display: block;
                width: 80%;
                margin: 0 auto;
                height: auto;
            }
            
            .one_block .text_block{
                font-size: 3.5vw;
                display: block;
                width: 95%;
                margin: 0 auto;
                height: auto;
                padding: 0;
            }

            .one_block .text_block .text{
                margin-top: 10px;
                margin-bottom: 15px;
            }
            
            .one_block .text_block .emergency_block{
                font-size: 3.2vw;
                margin-bottom: 5px;
            }

            .one_block .text_block .tag_block .one_tag{
                font-size: 3.2vw;
                /*display: inline-block;*/
                /*border: 1px #777 solid;*/
                /*text-align: center;*/
                padding: 2px 10px;
                /*margin-right: 10px;*/
            }
            
            .one_block .view_more{
                display: block;
                margin: 20px auto 0 auto;
                font-size: 3.5vw;
            }





            /*ここから詳細ページ*/
            .detail_block{
                font-size: 3.5vw;
                padding: 30px 0 40px 0;
            }

            .detail_block .emergency_block{
                width: 96%;
                /*margin: 0 auto;*/
                /*color: #d00;*/
                /*text-align: center;*/
                font-size: 4vw;
                /*text-decoration: underline;*/
            }


            .detail_block .term{
                font-size: 16px;
            }

            .detail_block .thumbnails > div {
                width: 100%;
            }

            .detail_block table{
                width: 100%;
                margin: 30px auto;
            }
            .detail_block table tr{
            }
            .detail_block table th{
                width: 20%;
            }
            .detail_block table td{
                width: 80%;
                padding: 10px 6px;
            }

            .detail_block .go_form{
                font-size: 4.5vw;
                border: 3px solid #dc9100;
                padding: 10px 0;
            }
            .go_form_buttons
            {
                flex-wrap: wrap;
                margin: 50px auto;
                width: auto;
            }
            .go_form_buttons > *:not(:first-child)
            {
                margin-left: 0;
                margin-top: 20px;
            }
            
            
            
            .program_form_html .w1000{
                padding: 20px 5px;
            }
            .program_form_html .form_block{
                width: 98%;
            }
            .program_form_html .form_block .one_block .left,
            .program_form_html .form_block .one_block .right{
                display: block;
                width: auto;
            }
            .program_form_html .form_block .one_block.tel input{
                width: 25%;
                margin: 0; 
            }
            .program_form_html .form_block .one_block.tel input:first-child{
                margin: 0;
            }

            .program_form_html .form_block .one_block.zip input{
                margin: 0 13px 0 0; 
                width: 40%;
            }
            .program_form_html .form_block .one_block.zip input:first-child{
                width: 30%;
                margin: 0;
            }
            .program_form_html .form_block .one_block.date input{
                width: 40%;
            }
            .program_form_html .form_block .one_block .right textarea{
                height: 200px;
            }
            .form_block br.sp
            {
                display: initial;
            }
            
            .customCalendar > div.table-wrapper {width:100%; margin: 0 0 10px 0;}
            .customCalendar > div > table caption {text-align:center;}
            .customCalendar > div > table th, .customCalendar > div > table td {font-size: 10px;}
            .customCalendar > div > table td > span {letter-spacing:-1px;}
            
            
            
}