@charset "utf-8";

/*----------------------------------------------------------
 COMMON
----------------------------------------------------------*/

/* mainvisual */
#mainVisual_no_image { background:#43a8c7; }



#mainVisual_no_image h2 { margin: 50px 0 0 8.5%; }


.titleWrap h3 { font-size:30px; font-weight:bold; }
.titleWrap h3::before { content:attr(data-en) ""; font-size:12px; line-height:1.5; font-weight:normal; color:#43a8c7; text-align:center; font-family:'Ropa Sans', sans-serif; display:block; letter-spacing:0.01em; transition:0.3s; }

.freedialBox { border-radius:10px; background:#fff; padding:10px 20px 10px 5%; position:absolute; top:30%; right:5%; }
.freedialBox::before { display:block; position:absolute; top:40%; -webkit-transform:translateY(-50%); transform:translateY(-50%); left:12px; content:""; background-image: url(../img/common/ico_phone.svg); background-repeat: no-repeat; background-position:center center; background-size:contain; width:10%;padding-top:10%; }
.freedialBox p { color:#4c4c4c; }
.freedialBox_number { font-size:42px; font-size:3vw; letter-spacing:0.04em; line-height:1.1; font-weight:bold; white-space:nowrap; }
.freedialBox_time { font-size:10px; font-size:0.8vw; line-height:1.4; font-weight:500; margin-top:0.5em; letter-spacing:0.14em; }

#main .lowerMenu.pt_0 { padding: 80px 0!important; }

	@media only screen and (min-width:1200px) {
		.freedialBox { padding:10px 20px 10px 60px; }
		.freedialBox_number { font-size:42px; }
		.freedialBox_time { font-size:12px; letter-spacing: 0.05em; }
	}
	
	@media only screen and (max-width:1024px) {
		.freedialBox { top:10%; right:2.5%; padding:10px 20px 10px 7%; }
		.freedialBox_time { font-size:10px; letter-spacing:0; }
		#main .lowerMenu.pt_0 { padding:40px 0!important; }
	}

    @media only screen and (max-width:767px) {
    	#mainVisual_no_image h2 { margin: 50px 0 0 20px; }
        .titleWrap h3 { font-size:24px; }
        .titleWrap h3::before { font-size:10px; }
        
        .schedule #mainVisual_no_image h2 { margin:55px 0 0 20px; }
        .seminar_form #mainVisual_no_image h2 { margin:20px 0 0 20px; }
        
		.freedialBox { padding:10px 10px 10px 40px; right:auto; left:2.5%; }
		.freedialBox_number { font-size:20px; }
		.freedialBox_time { font-size:8px; }
    }

/*----------------------------------------------------------
 INDEX
----------------------------------------------------------*/
.seminar_search { padding: 35px 4% 20px; }
.seminar_search button { margin-top: 0; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
.seminar_search_table { width: 75%; }
.seminar_search_table th, .seminar_search_table td { padding: 15px 0; vertical-align: middle; }
.seminar_search_table th { font-size: 18px; font-weight: bold; white-space: nowrap; padding-right: 32px; }
.seminar_search .checkbox01 { display: inline-block; margin-bottom: 4px; }
.seminar_search .datepicker { outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; font-size: 14px; height: 52px; width: 44%; max-width: 255px; border: none; padding: 10px; background: #fff url(../img/seminar/ico_calender.svg) no-repeat right 5% center/20px auto; margin-bottom: 4px; }
.seminar_search .btn_squareSS { width: 20%; height: 63px; padding: 10px 0; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; text-align: center; font-size: 22px; -webkit-transition: 0.3s; transition: 0.3s; cursor: pointer; font-weight: bold; }
.seminar_search .btn_squareSS:hover { opacity: 0.8; }
.seminar_search .symbol-of { display: inline-block; vertical-align: middle; margin: 0 1em; }

.schedule_form .item:first-of-type { border-top: 1px solid #d2d2d2; }
.schedule_form .item_left .required.red { display: inline-block; margin-left: 0.5em; }
.schedule_form .income { -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; }
.schedule_form .address { -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; }
.schedule_form input[type="text"], .schedule_form input[type="tel"], .schedule_form input[type="email"], .schedule_form select { height: 52px; font-size: 14px; }
.schedule_form textarea { height: 260px; font-size: 14px; }
.schedule_form .input_wrap { -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; }
.schedule_form .select01.is-w100 { max-width: none; display: block; }
.schedule_form button { margin-top: auto; }

.schedule_list { border-top: 2px solid #e5e5e5; }
.schedule_list_box { border-bottom: 2px solid #e5e5e5; }
.schedule_list_left { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; }
.schedule_list_right { padding: 38px 0 50px 6.4%; }
.schedule_list_date { color: #43a8c7; font-size: 48px; line-height: 1.1; }
.schedule_list_date .day { font-size: 22px; display: inline-block; margin-left: 0.6em; }
.schedule_list_date + .schedule_list_time { margin-top: 1em; }
.schedule_list_time { color: #43a8c7; font-size: 16px; line-height: 1.4; margin-top: 0.5em; }
.schedule_list_seats { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: end; -webkit-align-items: flex-end; -ms-flex-align: end; align-items: flex-end; }
.schedule_list_seats_title { font-size: 14px; font-weight: bold; line-height: 1.4; margin-right: 8px; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; }
.schedule_list_seats_title:before { content: ""; display: block; background: url(../img/seminar/ico_person.svg) no-repeat left top; background-size: contain; width: 30px; height: 36px; margin-right: 10px; }
.schedule_list_seats_number { font-weight: 500; color: #e94a4a; font-size: 45px; line-height: 1; margin-right: 2px; }
.schedule_list_seats_unit { font-weight: bold; font-size: 18px; line-height: 1.6; }
.schedule_list_seats_full { font-size: 22px; color: #e94a4a; font-weight: 500; }
.schedule_list_title { font-size: 26px; font-weight: bold; line-height: 1.4; margin-top: 0.7em; }
.schedule_list_table { width: 100%; border-collapse: separate; border-spacing: 13px; font-size: 16px; line-height: 1.4; margin-left: -13px; }
.schedule_list_table th { width: 12%; padding: 2px 10px 2px 0; white-space: nowrap; }
.schedule_list_table td { width: 88%; border-left: 2px solid #e5e5e5; padding: 2px 0 2px 20px; }
.schedule_list_btnArea { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; margin-top: 36px; }
.schedule_list_btnArea > * { width: 48.5%; }

.schedule_sec02 { padding-top: 60px; }

#scheduleForm { padding-top: 85px; }

    @media only screen and (min-width: 768px) {
        .seminar_profile { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; }
        .seminar_profile_textArea { width: 58%; }
    }

    @media only screen and (max-width:1024px) {
    }

    @media only screen and (max-width: 767px) {
        .seminar_article_lead { font-size: 16px; } .seminar_profile { font-size: 13px; }
        .seminar_profile_image { margin: 0 auto; width: 60%; }
        .seminar_profile_textArea { margin-top: 20px; }
        .seminar_profile_name { text-align: center; font-size: 18px; }
        .seminar_profile_position { text-align: center; font-size: 12px; margin-bottom: 2em; }
        .seminar_overview_table th, .seminar_overview_table td { padding: 20px 5px; }
        .seminar_overview_table th { font-size: 13px; width: 22%; }
        .seminar_overview_table td { font-size: 12px; width: 78%; }
        .seminar_overview_table td.seminar_overview_map { padding: 0 0 20px; }
        .seminar_overview_table td.seminar_overview_map .mapBox { padding-top: 80%; }
        .seminar_overview_memo { font-size: 11px; }
        .seminar_seats { margin-top: 60px; margin-bottom: 40px; }
    }
    @media only screen and (min-width: 768px) {
        .seminar_search { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; }
        .schedule_list_box { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; }
        .schedule_list_left { width: 23.4%; padding: 38px 3.3% 50px; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; min-width: 240px; }
        .schedule_list_right { width: 76.6%; border-left: 2px solid #e5e5e5; }
        .schedule_list_dateArea { padding-top: 4px; }
        .schedule_list_seats { padding-bottom: 4px; }
    }

    @media only screen and (max-width:1024px) {
    }

    @media only screen and (max-width: 767px) {
        .seminar_search { padding: 5% 4% 8%; }
        .seminar_search_table { width: 100%; }
        .seminar_search_table th, .seminar_search_table td { display: block; padding: 10px 0; }
        .seminar_search_table th { font-size: 14px; border-bottom: 1px solid #ccc; padding-bottom: 10px; padding-right: 0; }
        .seminar_search .checkbox01 { display: block; }
        .seminar_search .datepicker { width: 80%; height: 45px; }
        .seminar_search .btn_squareSS { width: 100%; height: 50px; font-size: 18px; margin-top: 20px; } .schedule_list_left { padding: 20px 0; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; }
        .schedule_list_right { padding: 0 0 20px; }
        .schedule_list_date { font-size: 24px; }
        .schedule_list_date .day { font-size: 16px; }
        .schedule_list_time { font-size: 13px; }
        .schedule_list_seats_title { font-size: 12px; }
        .schedule_list_seats_title:before { width: 20px; height: 25px; }
        .schedule_list_seats_number { font-size: 36px; }
        .schedule_list_seats_unit { font-size: 14px; line-height: 1.4; }
        .schedule_list_title { font-size: 16px; }
        .schedule_list_table { font-size: 12px; border-spacing: 6px; margin-left: -6px; }
        .schedule_list_table th { width: 15%; padding-right: 10px; }
        .schedule_list_table td { width: 85%; padding-left: 10px; }
        .schedule_list_btnArea { margin-top: 20px; }
        .schedule_list_btnArea > *.btn_squareL.fsizeL { font-size: 16px !important; }
    }

/*----------------------------------------------------------
 PAGE
----------------------------------------------------------*/
.seminar_article_lead { font-size: 18px; font-weight: bold; }

.seminar_profile_image { width: 36.7%; background-repeat: no-repeat; background-position: center center; background-size: cover; }
.seminar_profile_image:after { display: block; content: ""; padding-top: 100%; }
.seminar_profile_name { font-size: 20px; font-weight: 500; line-height: 1.4; }
.seminar_profile_position { font-size: 14px; line-height: 1.4; margin-top: 0.6em; margin-bottom: 3em; }
.seminar_profile_ttlS { font-weight: bold; margin-top: 1.4em; }
.seminar_profile_txt { margin-top: 0.4em; }

.seminar_overview_table { width: 100%; border-bottom: 1px solid #e6e2e7; }
.seminar_overview_table th, .seminar_overview_table td { padding: 35px 20px; border-top: 1px solid #e6e2e7; vertical-align: top; }
.seminar_overview_table th { font-size: 16px; font-weight: bold; width: 18%; }
.seminar_overview_table td { width: 82%; }
.seminar_overview_table td.seminar_overview_map { border-top: none; padding: 0 0 35px; }
.seminar_overview_table td.seminar_overview_map .mapBox { width: 100%; padding-top: 57%; position: relative; }
.seminar_overview_table td.seminar_overview_map .mapBox iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.seminar_overview_memo { font-size: 12px; margin-top: 36px; }

.seminar_seats { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: end; -webkit-align-items: flex-end; -ms-flex-align: end; align-items: flex-end; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; margin-top: 90px; margin-bottom: 58px; }
.seminar_seats:before { content: ""; display: block; background: url(../img/seminar/ico_person.svg) no-repeat left top; background-size: contain; width: 30px; height: 36px; margin-right: 10px; }
.seminar_seats_title { font-size: 14px; font-weight: bold; line-height: 1.4; margin-right: 8px; }
.seminar_seats_number { font-weight: 500; color: #e94a4a; font-size: 45px; line-height: 1; margin-right: 2px; }
.seminar_seats_unit { font-weight: bold; font-size: 18px; line-height: 1.6; }

    @media only screen and (min-width: 768px) {
        .seminar_profile { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: start; -webkit-align-items: flex-start; -ms-flex-align: start; align-items: flex-start; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; }
        .seminar_profile_textArea { width: 58%; }
    }

    @media only screen and (max-width:1024px) {
    }

    @media only screen and (max-width: 767px) {
        .seminar_article_lead { font-size: 16px; } .seminar_profile { font-size: 13px; }
        .seminar_profile_image { margin: 0 auto; width: 60%; }
        .seminar_profile_textArea { margin-top: 20px; }
        .seminar_profile_name { text-align: center; font-size: 18px; }
        .seminar_profile_position { text-align: center; font-size: 12px; margin-bottom: 2em; }
        .seminar_overview_table th, .seminar_overview_table td { padding: 20px 5px; }
        .seminar_overview_table th { font-size: 13px; width: 22%; }
        .seminar_overview_table td { font-size: 12px; width: 78%; }
        .seminar_overview_table td.seminar_overview_map { padding: 0 0 20px; }
        .seminar_overview_table td.seminar_overview_map .mapBox { padding-top: 80%; }
        .seminar_overview_memo { font-size: 11px; }
        .seminar_seats { margin-top: 60px; margin-bottom: 40px; }
    }



/* スケジュール表 */
.scheduleBox {
    width: 100%;
    display: -ms-flexbox; /* IE10 */
    display: -webkit-box; /* Android4.3以下、Safari3.1〜6.0 */
    display: -webkit-flex; /* Safari6.1以降 */
    display: flex;
    margin-bottom: 4px;
    background-color: #fff;
	margin-left: 50px;
	padding-right: 100px;
}
.scheduleBox > div {
    text-align: left;
    padding: 10px;
    box-sizing: border-box;
}
.scheduleBox .scheduleDate {
    -ms-flex: 0 0 14%;
    -webkit-flex: 0 0 14%;
    flex: 0 0 14%;
    max-width: 14%;
    background-color: #4090b7;
    font-size: 20px;
    font-family: "notosans_bold";
    color: #fff;
}

.scheduleBox .scheduleTime {
    -ms-flex: 0 0 15%;
    -webkit-flex: 0 0 15%;
    flex: 0 0 15%;
    max-width: 15%;
    flex-wrap: nowrap;
    background-color: #efefef;
}

.scheduleBox .scheduleTitle {
    -ms-flex: 0 0 50%;
    -webkit-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
}

.scheduleBox .scheduleTitle > strong {
    display: block;
    font-size: 20px;
    font-family: "notosans_bold";
}

.scheduleBox .scheduleApply {
    -ms-flex: 0 0 21%;
    -webkit-flex: 0 0 21%;
    flex: 0 0 21%;
    max-width: 21%;
}

/* 残席 */
.scheduleBox .remaining {
    position: relative;
    font-family: "notosans_bold";
    font-size: 16px;

    margin-bottom: 5px;
}
.scheduleBox .remaining > span {
    color: #cc1313;
}
.scheduleBox .remaining strong {
    font-size: 24px;
}

.scheduleBox ul.scheduleBtn li a.btn_schedule.apply {
    background-color: #bd8d24;
    margin-bottom: 10px;
	
}

.scheduleBox ul.scheduleBtn li a.btn_schedule {
    display: block;
    position: relative;
    text-align: center;
    font-family: "notosans_bold";
    font-size: 14px;
    color: #fff;
    height: 36px;
    line-height: 36px;
    text-decoration: none;
    transition: 0.3s;
}
.scheduleBox ul.scheduleBtn li a.btn_schedule.apply {
    background-color: #bd8d24;
    margin-bottom: 10px;
}
.scheduleBox ul.scheduleBtn li a.btn_schedule.more {
    background-color: #c9b53b;
}
.scheduleBox ul.scheduleBtn li a.btn_schedule::before {
    content: "";
    width: 5px;
    height: 5px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 52%;
    left: 8px;
    margin-top: -5px;
}

.scheduleBox ul.scheduleBtn li a.btn_schedule.more:hover {
    color: #333;
    border: 1px solid #c9b53b;
    background-color: #fff;
    box-sizing: border-box;
}
.scheduleBox ul.scheduleBtn li a.btn_schedule.more:hover::before {
    content: "";
    border-top: 2px solid #c9b53b;
    border-right: 2px solid #c9b53b;
}

@media screen and (max-width: 1024px) {
    .scheduleBox .detBox, .scheduleBox .scheBtn {
        display: block;
    }
    .schedule__area {
        background: url( "../images/20180901/schedule_bg.jpg" ) no-repeat #fff;
        background-size: cover;
        background-position: right;

    }
    .schedule__area::before {
        display: none;
    }
    .schedule__area .line {
        padding-top: 120px;
    }
    .scheduleBox {
        -ms-flex-wrap: wrap; /*IE10*/
        -webkit-flex-wrap: wrap; /* Safari6.1以降 */
        flex-wrap: wrap;
    }
    .scheduleBox .scheduleDate {
        -ms-flex: 0 0 30%;
        -webkit-flex: 0 0 30%;
        flex: 0 0 30%;
        max-width: 30%;
        font-size: 16px;
    }
    .scheduleBox .scheduleTime {
        -ms-flex: 0 0 70%;
        -webkit-flex: 0 0 70%;
        flex: 0 0 70%;
        max-width: 70%;
    }
    .scheduleBox .scheduleTitle {
        -ms-flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
        font-size: 14px;
    }
    .scheduleBox .scheduleTitle > strong {
        font-size: 18px;
    }
    .scheduleBox .scheduleApply {
        -ms-flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
		
    }
    ul.scheduleBtn {
        margin-left: -10px;
        box-sizing: border-box;
    }
    ul.scheduleBtn li {
        float: left;
        width: 50%;
        padding-left: 10px;
        box-sizing: border-box;
    }
    .scheduleBox .full {
        float: none;
        width: 80%;
        padding-left: 0;
        margin: 0 auto;
        margin-bottom: 10px;
    }
}

@media screen and (max-width: 1024px) {
    .scheduleBox {
        margin-bottom: 20px;
        border-bottom: 1px solid #419db8;
    }
    .schedule__area .schedule__inner {
        padding: 0 40px;
    }
    .scheduleBox .scheduleApply {
        padding-top: 0;
        padding-bottom: 0;
    }
}

@media screen and (max-width: 768px) {
    .schedule__area .schedule__inner {
        padding: 0 20px;
    }
}
@media screen and (max-width: 640px) {
    .schedule__area {
        margin-top: 0;
    }
    .schedule__area::before {
        background-position: 80%;
    }
    .schedule__area .schedule__inner {
        padding: 0 15px;
    }
    .schedule__area .line {
        font-size: 24px;
        padding-top: 70px;
    }
    .schedule__area .txt, .schedule__area .note {
        font-size: 14px;
    }

    .scheduleBox .scheduleTitle.firstview {
        padding: 10px 10px 0 10px;
    }
}

@media screen and (max-width: 320px) {

}
