@charset "utf-8";

/*==============================
common
==============================*/
.fs10 {font-size: 10px !important;}
.fs11 {font-size: 11px !important;}
.fs13 {font-size: 13px !important;}
.fs24 {font-size: 24px !important;}
.fs30 {font-size: 30px !important;}
.mb60 {margin-bottom: 60px;}
.mb70 {margin-bottom: 70px;}
.mb80 {margin-bottom: 80px;}
.mb90 {margin-bottom: 90px;}
.mb100 {margin-bottom: 100px;}
.bold {font-weight: bold;}
/*==============================
検索
==============================*/
main.oc_compare_search * {box-sizing: border-box;text-decoration: none;}
main.oc_compare_search p {color: #333;}
.sp_inner {padding: 0 20px;}
.sp_inner2 {padding: 0 10px;}
.pc_inner {padding: 0 41px;}
/* search box */
.green_bg {background: #EFFFE9;padding: 15px 20px 14px;}
.tab_contents .cell {display: none;position: relative;top: -5px;margin-bottom: 5px;}
.tab_contents .cell.show {display: block;}
ul.search_table {
	background: white;
	display: flex;
	flex-wrap: wrap;
	border-radius: 6px;
	box-shadow: 0 2px 3px #00000029;
	padding: 6px 12px;
}
ul.search_table li {
	width: 50%;
	font-size: 12px;
	font-weight: bold;
	color: #333;
	padding: 5px 0;
}
ul.search_table li:nth-child(n+3) {border-top: 1px solid #ccc;}
ul.search_table li:nth-child(odd) > div {padding-left: 5px;}
ul.search_table li:nth-child(even) > div {border-left: 1px solid #ccc; padding-left: 15px;}
ul.search_table li > div {display: flex;align-items: center;}
ul.search_table li.w_width {width: 100%;}
ul.search_table li img {width: 19px;margin-right: 5px;}
.oc_search_btn {
	background: #32BBA9 url(/oc2024/m_glass_bg.png) no-repeat left 62% center/16px;
	border-radius: 5px;
	color: white;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
  text-decoration: none;
  margin-top: 9px;
}
/* エリアから探す */
.oc_compare_h3 {
	text-align: center;
	color: #32BBA9;
	font-size: 40px;
  font-family: "Zen Maru Gothic", serif;
	font-weight: bold;
}
.search_map_area {margin-top: 35px;}
.search_map_area ul.pref {
	background: url(https://school.js88.com/oc2021/map.gif) no-repeat center top/184px;
  padding: 32px 0 40px;
  display: flex;
  flex-wrap: wrap;
}
.search_map_area ul.pref li {
	width: calc(33.333% - 10px * 2 / 3);
	margin-bottom: 10px;
	margin-right: 10px;
}
.search_map_area ul.pref li:nth-child(3n) {margin-right: 0;}
.search_map_area ul.pref li a {
	height: 40px;
	border: 1px solid #32BBA9;
	color: #32BBA9;
	background: rgba(255,255,255,.8);
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}
/*==============================
検索結果
==============================*/
.page_back_btn {
	display: block;
	font-size: 23px;
  font-weight: bold;
  color: #333;
  text-align: center;
  border: 2px solid #333;
  border-radius: 5px;
  position: relative;
  padding: 4px;
  margin-bottom: 16px;
}
.hit_area {text-align: center;margin-top: 23px;}
.hit_area .hit_num {font-size: 14px;}
.hit_area .hit_num span.num {font-size: 18px;font-weight: bold;color: #FF0000;}
.hit_area .hit_num span.show_num {font-size: 12px;}
.hit_area .check_notice {
	color: #32BBA9;
	font-size: 16px;
	font-weight: bold;
  font-family: "Zen Maru Gothic", serif;
  margin-bottom: 8px;
  border-bottom: 1px solid #32BBA9;
  padding-bottom: 3px;
}
.hit_area span.font_red {color: #E23E3E}
.hit_area span.font_red span {font-size: 23px;}
.block_list_box .list_box{margin-bottom: 20px !important;}
table.oc_hit_scl {
  border-collapse: separate !important;
  border-radius: 10px;
  border: 2px solid #E5E5E5;
  padding: 20px;
}
/*----- left side -----*/
.outline_area {padding-right: 23px;}
.outline_area .scl_name {
	font-size: 28px;
	font-weight: bold;
	color: #333;
	line-height: 32px;
}
.outline_area .copy {color: #000;font-size: 12px;margin-bottom: 10px;}
.outline_area .oc_img_area {display: flex;margin-bottom: 15px;}
.outline_area .oc_img_area figure {
	margin: 0;
	width: 100px;
	height: 100px;
	margin-right: 9px;
	border-radius: 10px;
	overflow: hidden;
}
.outline_area .oc_img_area figure:nth-child(4n) {margin-right: 0;}
.outline_area .oc_img_area figure img {width: 100%;height: 100%;object-fit: cover;}
/*----- right side -----*/
.select_area {width: 480px;border-left: 1px solid #E5E5E5;padding-left: 20px;}
ul.date_option {position: relative;top: -5px;min-height:75px;}
ul.date_option li {display: inline-block;margin-bottom: 18px;}
ul.date_option li:nth-child(odd) {margin-right: 40px;}
ul.date_option li label {
	width: 207px;
	display: flex;
	justify-content: space-between;
  overflow: hidden;
  position: relative;
}
/*checkbox*/
ul.date_option li .date_event_txt::before {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  left: 0;
  top: calc(50% - 11px);
  z-index: 2;
  border: 1px solid #707070;
  background: white;
  border-radius: 2px;
}
ul.date_option li input[type="checkbox"] {appearance: none;display: none;}
ul.date_option li input[type="checkbox"]:checked + .date_event_txt::before {background: #707070;border: 1px solid #707070;}
ul.date_option li input[type="checkbox"]:checked + .date_event_txt::after {
  content: "";
  position: absolute;
  top: calc(50% - 11px);
  left: 6px;
  display: block;
  width: 7px;
  height: 13px;
  border-right: 2px solid white;
  border-bottom: 2px solid white;
  z-index: 3;
  transform: rotate(45deg);
}
ul.date_option li span.sat {color: #0022FF !important;}
ul.date_option li .date_event_txt {
	flex: 1;
	font-size: 16px;
	line-height: 24px;
	padding-left: 30px;
	color: #333;
}
ul.date_option li .date_event_txt .event_date {color: #000;}
ul.date_option li .date_event_txt .youbi {font-size: 12px;margin: 0 10px 0 5px;}
ul.date_option li .date_event_txt .event_name {font-weight: bold;}
.oc_hit_scl .oc_learn_more {
	width: 222px;
  height: 31px;
  border: 1px solid #707070;
  text-align: center;
  border-radius: 22px;
  margin: 10px auto 0;
  font-size: 16px;
  padding: 2px 0 0 10px;
  position: relative;
  color: #333;
  cursor: pointer;
}
.oc_hit_scl .oc_learn_more::before {
	content: "";
  width: 13px;
  height: 13px;
  border-left: 3px solid #707070;
  border-bottom: 3px solid #707070;
  transform: rotate(-45deg);
  position: absolute;
  left: 44px;
  top: 3px;
}
.oc_hit_scl .oc_learn_more.open::before {transform: rotate(135deg);top: 11px;}
.btm_btn_area {text-align: right;}
.btm_btn_area a {color: #04C2FF;font-size: 14px;margin-left: 10px;font-weight: bold;}
.btm_btn_area a:hover {text-decoration: none;}
/* pagenation */
ul.pagenation {display: table;margin: 0 auto;}
ul.pagenation li {
  text-align: center;
  float: left;
  line-height: 15px;
  height: 31px;
  font-size: 16px;
  color: #333;
  display: flex;
  justify-content: center;
  align-items: center;
}
ul.pagenation li:not(.prev):not(.next):not(.mid) {width: 33px;}
ul.pagenation li:not(.mid) {border-top: 1px solid #C7C7C7;border-bottom: 1px solid #C7C7C7;}
ul.pagenation li + li {border-left: none;}
ul.pagenation li.on {border-bottom: 3px solid #32BBA9;padding-top: 4px;}
ul.pagenation li a {
  display: block;
  color: #333;
  font-size: 16px;
  height: 100%;
  width: 100%;
  padding: 6px 0;
}
ul.pagenation li.page_num{border-left:1px solid #C7C7C7;border-right:1px solid #C7C7C7;}
ul.pagenation li.page_num + li.page_num{border-left: 0;border-right: 1px solid #C7C7C7;}
ul.pagenation li.prev {margin-right: 10px;}
ul.pagenation li.next {margin-left: 10px;}
ul.pagenation li.mid{padding: 7px 4px 6px;}
ul.pagenation li.prev,
ul.pagenation li.lastpage,
ul.pagenation li.next{border: 1px solid #C7C7C7;}
p.show_num {font-size: 12px;text-align: center;}
/* floating button */
.oc_check_btn {
	position: fixed;
	left: 50%;
	bottom: 10px;
	width:477px;
	height:67px;
	display: flex;
	align-items: center;
	justify-content: space-between;
  border: 1px solid #FFB300;
  border-radius: 7px;
  box-shadow: 0 2px 3px #00000029;
  background: #FFFFFF;
  transform: translateX(-50%);
}
.oc_check_btn p {
	font-size: 24px;
  font-family: "Zen Maru Gothic", serif;
  font-weight: bold;
  color: #FFB300 !important;
  text-align: center;
}
.oc_check_btn p:nth-child(1) {width: 80px;border-right: 2px solid #FFB300;}
.oc_check_btn p:nth-child(1).full {border-right: 2px solid #fff;}
.oc_check_btn p:nth-child(2) {flex: 1;position: relative;padding-right: 15px;}
.oc_check_btn p:nth-child(2)::after {
	content: "▶";
  color: white;
  position: absolute;
  right: 5px;
  top: 5px;
  font-size: 17px;
}
.oc_check_btn.full {background: #FFB300;}
.oc_check_btn.full p {color: white !important;}
.oc_check_btn.full p:nth-child(1) {border-right-color: white;}
.oc_check_btn.more {border: 1px solid #FFFFFF;background: #000000;}
/*==============================
比較
==============================*/
.relative {position: relative;}
.relative .open_btn {
	position: absolute;
  top: 2px;
  right: 2px;
  color: #38b8a8 !important;
  text-decoration: none;
  font-size: 11px;
}
.relative .open_btn img {vertical-align: middle;}
main.oc_compare {padding: 20px 0 20px 10px;line-height: 1.5;}
main.oc_compare *, figure {box-sizing: border-box;color: #333;}
.slide_wrap {overflow-x: auto; }
ul.oc_compare_list {min-width: 1700px;}
ul.oc_compare_list > li {display: flex;width: 100%;margin-bottom: 5px;}
ul.oc_compare_list li.cell_title p,
ul.oc_compare_list li > div {width: 220px;margin-right: 5px;}
ul.oc_compare_list li.cell_title p {text-align: center;font-weight: bold;font-size: 12px;}
ul.oc_compare_list li.cell_title p.oc {color: #38b8a8;width: 140px;}
ul.oc_compare_list li > div {height: 125px;}
ul.oc_compare_list li .bdr {border: 1px solid #7c7c7c;border-radius: 6px;padding: 20px;}
ul.oc_compare_list li .oc_head {padding: 5px;width: 140px;}
ul.oc_compare_list figure {border-radius: 5px;overflow: hidden;}
ul.oc_compare_list figure img {width: 100%;height: 100%;object-fit: cover;}
/*----- オープンキャンパス -----*/
.oc_head .type_area {display: flex;align-items: baseline;}
.oc_head .type_area figure {width: 70px;height: 70px;margin-right: 4px;}
.oc_head .type_area .oc_type {width: 55px;}
/*----- 学校 -----*/
.scl_attr {font-size: 11px;}
.scl_hp {color: #ccc !important;font-size: 10px;margin-top: 5px;}
/*----- 日程 -----*/
ul.oc_compare_list li .oc_date {padding: 30px 40px 20px;}
.oc_date .oc_time {font-size: 22px;letter-spacing: -0.05px;}
span.sat {color: #2858e0;}
span.sun {color: #ff0000;}

/*----- 写真 -----*/
ul.oc_compare_list li div.photo_cell, ul.oc_compare_list li p.photo_cell {width: 190px;}
ul.oc_compare_list li div.photo_cell {display: flex;justify-content: space-between;overflow: hidden;}
.photo_cell figure {border: 1px solid #7c7c7c;}
.photo_cell .main {width: 126px;}
.photo_cell .sub {width: 60px;}
.photo_cell .sub figure {height: 60px;}
.photo_cell .sub figure + figure {margin-top: 5px;}
/*----- 内容 -----*/
ul.oc_compare_list li .oc_cont_cell {padding-right: 30px;}
.oc_cont_cell .oc_contents {font-size: 11px;position: relative;}
.oc_cont_cell .oc_contents::after {
	content: "…";
	position: absolute;
	bottom: -15px;
	left: 50%;
	transform: translate(-50%);
	font-weight: bold;
}
ul.oc_tags {margin: 0 10px;}
ul.oc_tags li {
	background: #e8f8e8;
  text-align: center;
  padding: 3px;
  border-radius: 2px;
  font-size: 10px;
  margin-bottom: 10px;
  font-weight: bold;
}
ul.offer {display: flex;flex-wrap: wrap;}
ul.offer li {width: 50%;}
/*----- アクセス -----*/
.scl_addr, .scl_tel {padding-left: 20px;min-height: 20px;font-size: 11px;}
.scl_addr {background: url(../images/access01.png) no-repeat left top;}
.scl_tel {background: url(../images/access02.png) no-repeat left top;}
a.hp_links {
	display: block;
  font-size: 11px;
  color: #02b1f1;
  text-decoration: none;
  position: relative;
}
a.hp_links::before {content: "▶";}
/*----- 予約 -----*/
ul.oc_compare_list li .bdr.book {border-color: #30b8a8;}
.book_btn {
	background: #30b8a8;
  color: white !important;
  text-decoration: none;
  padding: 4px 15px;
  border-radius: 5px;
  font-weight: bold;
  font-size: 12px;
}
/*----- modal -----*/
#modal {
	position: fixed;
  top: 0;
  left: 0;
  background: rgba(0,0,0,.2);
  width: 100vw;
  height: 100vh;
}
#modal * {box-sizing: border-box;text-decoration: none;}
#modal p {color: #333;}
.modal_cnt {
	position: fixed;
	top: 20%;
	left: 20px;
	width: calc(100vw - 40px);
}
.modal_cnt_inner {
	background: white;
	border-radius: 10px;
	padding: 60px 40px 50px;
	position: relative;
}
#nittei .modal_cnt_inner {padding: 50px 10px;}
#modal .select_date {color: #38b8a8;font-weight: bold;}
#modal .scl_name {font-size: 10px;}
#modal .event_name {
  font-family: "Zen Maru Gothic", serif;
  font-size: 14px;
  font-weight: bold;
}
#modal .latest_date {font-size: 18px;font-weight: bold;}
#modal .latest_date span {font-size: 14px;}
#modal .book_btn2 {
	background: #38b8a8;
	color: white;
	font-size: 10px;
	border-radius: 5px;
	padding: 2px 12px 2px 5px;
	position: relative;
}
#modal .book_btn2::after {
	content: "";
  border: 4px solid transparent;
  border-left-color: white;
  position: absolute;
  top: 5px;
  right: 0;
  border-top-width: 3px;
  border-bottom-width: 3px;
}
ul.other_dates {display: flex;flex-wrap: wrap;}
ul.other_dates li {font-size: 11px;margin: 0 30px 5px 0;}
ul.other_dates li:nth-child(2n) {margin-right: 0;}
@media screen and (min-width: 667px) {
	ul.other_dates li:nth-child(2n) {margin-right: 30px;}
}
#modal ul.oc_tags {display: flex;flex-wrap: wrap;margin: 0;}
#modal ul.oc_tags li {width: calc(50% - 5px);color: #444;margin: 0 5px 5px 0;}
#modal ul.oc_tags li:nth-child(2n) {margin-right: 0;}
#modal .close_btn {position: absolute;top: 10px;right: 10px;}
.oc_compare_search_title {
	border: 3px solid #333333;
	border-radius: 5px;
	text-align: center;
	color: #333333;
	font-family: "Zen Maru Gothic", serif;
	font-weight: bold;
	font-size: 23px;
	line-height: 33px;
	margin-bottom: 16px;
}
.search_result_not_found{
	padding-top: 30px;
	color: red;
	height: 600px;
}