#page_top{
  width: 80px;
  height: 80px;
  position: fixed;
  right: 10px;
  bottom: 10px;
  /*background: #3366ff;
  opacity: 0.6;
  border-radius: 50%;*/
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
.contact_area a {
  text-decoration: none;
}
.contact_button {
  margin: 10px auto;
  padding: 7px;
  width: 90%;
  background-color: #0071be;
  text-align: center;
  font-size: 1.2em;
  border-radius: 10px;
  border: solid 2px #fff;
  outline: solid 2px #0071be;
  color: #fff;
}
.contact_button:hover {
  background: #0099ff;
  transition: .1s;
}
.under_course {
  display: table;
  background: #e6e6e6;
  margin: 30px auto;
  color: #464646;
  text-decoration: none;
  font-size: 24px;
  padding: 8px 16px;
  border-radius: 4px;
}
.courseTitle {
  margin-top: 40px;
}
.courseTitle img {
  display: block;
  max-width: 100%;
}
.courseTitle .titleText {
  display: none;
}
.mainTitle {
  display: flex;
  align-items: center;
  margin-top: 47px;
}
.targetClass {
  display: table;
  background: #02499b;
  color: #FFF;
  padding: 5px 19px;
  font-size: 12px;
  margin-left: 8px;
  line-height: 1;
  border-radius: 4px;
}
.targetClass.els {
  background: #7FBBB3;
}
.targetClass.mis {
  background: #F77312;
}
.mainImg {
  margin-top: 20px;
  margin-bottom: 20px;
}
.mainImg img {
  display: block;
  max-width: 100%;
}
.bold {
  font-weight: bold;
}
.classRoominfo {
  margin-top: 20px;
  margin-bottom: 60px;
}
.infoTitle {
  background: url(../classroom/shigakusha/img/title_bg01.png) repeat-x left top;
  background-size: auto 100%;
  padding: 8px 0;
}
.infoTitle .titleText {
  padding: 4px 0 4px 15px;
  border-left: 4px solid #02499b;
  color: #02499b;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 3px;
}
.infoTable {
  border: 1px solid #cecece;
  width: 100%;
  display: flex;
}
.infoTable .th {
  background: #EEE;
  color: #000;
  text-align: center;
  padding: 8px 16px;
  border-right: 1px solid #cecece;
  width: 104px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.infoTable .td {
  padding: 8px 16px;
  width: calc(100% - 104px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.infoTableWrap {
  width: 100%;
  display: flex;
}
.infoTableWrap .infoTable {
  border-top: none;
}
.infoTable + .infoTable {
  border-left: none;
}
.comonTitle {
  margin-top: 20px;
  margin-bottom: 20px;
  color: #02499b;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 3px;
}
.text.txt {
  line-height: 1.9;
}
.practiceTableWrap {
  display: flex;
  margin-top: 20px;
}

.practiceTable {
  border: 1px solid #cecece;
  width: calc((100% - 0px)/3);
}
.practiceTable .th {
  color: #FFF;
  text-align: center;
  padding: 8px 16px;
  height: 34px;
  vertical-align: middle;
  font-size: 17px;
}
.practiceTable .th.elsPrivate {
  background: #80A4CD;
}
.practiceTable .th.elsPublic {
  background: #7FBBB3;
}
.practiceTable .th.mis {
  background: #EA8685;
}
.practiceTable .td {
  padding: 8px 16px;
  height: 34px;
  vertical-align: middle;
  color: #02499b;
  text-align: center;
  font-size: 17px;
}

.practiceTable + .practiceTable {
  border-left: none;
}

.practiceTable .td + .td,
.practiceTable .th + .td {
  border-top: 1px solid #cecece;
}
.courses_table {
  width: 80%;
  text-align: center;
  border-collapse: collapse;
  border-spacing: 0;
  margin: 20px auto;
}
.courses_table th {
  font-size: 1.1em;
  padding: 7px;
  color: #02449b;
  text-align: center;
  font-weight: 600;
  position: relative;
  line-height: 2;
}
.courses_table .grade {
  width: 10%;
}
.courses_table .coursename {
  width: 30%;
}
.courses_table td {
  padding: 10px;
  border-bottom: solid 1px #ddd;
  text-align: center;
}
.courses_table .daytime {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 10px 108px;
}
.courses_table .daytime13 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 10px 102px;
}
.courses_table .daytime14 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 10px 116px;
}
.courses_table .daytime span, .courses_table .daytime2 span, .courses_table .daytime3 span, .courses_table .daytime4 span, .courses_table .daytime8 span, .courses_table .daytime10 span {
  margin: 0 10px;
}
.courses_table .daytime6 span {
  margin: 0 5px;
}
.courses_table .daytime2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 10px 74px;
}
.courses_table .daytime15 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 10px 63px;
}
.courses_table .daytime3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 10px 74px;
}
.courses_table .daytime16 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 10px 71px;
}
.courses_table .daytime4 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0px 74px;
}
.courses_table .daytime5 {
  display: flex;
  align-content: stretch;
  justify-content: center;
  padding: 10px 73px;
}
.courses_table .daytime7 {
  display: flex;
  align-content: stretch;
  justify-content: center;
  padding: 10px 110px;
}
.courses_table .daytime12 {
  display: flex;
  align-content: stretch;
  justify-content: center;
  padding: 10px 95px;
}
.courses_table .daytime9 {
  display: flex;
  align-content: stretch;
  justify-content: center;
  padding: 10px 115px;
}
.courses_table .daytime11 {
  display: flex;
  align-content: stretch;
  justify-content: center;
  padding: 10px 77px;
}

.courses_table .daytime5_day {
  width: 30%;
}
.courses_table .daytime5_day2,
.courses_table .daytime9_day,
.courses_table .daytime12_day {
  width: 45%;
}
.courses_table .daytime7_day {
  width: 35%;
}
.courses_table .daytime11_day {
  width: 27%;
}
.courses_table .daytime6, 
.courses_table .daytime8,
.courses_table .daytime10 {
  display: flex;
  flex-wrap: wrap;
}
.courses_table th:after {
  content: "";
  display: block;
  height: 4px;
  background: -webkit-linear-gradient(to left, rgb(221, 238, 255), #02499b);
  background: linear-gradient(to left, rgb(221, 238, 255), #02499b);
}
.scroll {
  display: none;
}
.courses {
  overflow-x: auto;
}
.otherLinks {
  margin-bottom: 60px;
  padding: 0;
  display: flex;
  text-align: right;
  justify-content: flex-end;
}
.otherLinks a {
  display: table;
  padding: 8px 20px;
  border-left: 2px solid #02499b;
  color: #02499b;
  text-decoration: none;
  background: url(../classroom/shigakusha/img/icon01.png) no-repeat right center;
  background-size: 11px 13px;
  margin-right: 23px;
}
.otherLinks a:last-of-type {
  margin-right: 0;
}
.contactBlock {
  background: #f7f7f7;
  padding: 46px 20px;
}
.contactBlock .contactBtn {
  display: table;
  color: #FFF;
  background: #02499b;
  border: 1px solid #02499b;
  border-radius: 45px;
  text-align: center;
  padding: 19px 60px;
  font-size: 22px;
  text-decoration: none;
  margin: auto;
}
.roomPic {
  display: flex;
  margin: 20px 0;
}
.roomPic .picItem {
  width: calc((100% - 40px)/2);
  margin: 0 40px 0 0;
}
.roomPic .picItem:nth-of-type(2n) {
  margin: 0;
}
.roomPic .picItem img {
  display: block;
  width: 100%;
}
.roomPic .picItem .picCaption {
  font-size: 17px;
  text-align: right;
  margin-top: 8px;
}
.map {
  width: 100%;
  height: 800px;
  margin: 20px 0;
}
.map iframe {
  width: 100% !important;
  height: 100% !important;
}
.bannerArea {
  width: 100%;
  max-width: 1200px;
  margin: 80px auto;
}
.bannerArea .bannerTitle {
  width: 100%;
  margin: 0 0 40px;
}
.bannerArea .bannerTitle img {
  display: block;
  max-width: 100%;
  margin: auto;
}
.bannerArea .bannerItemwrap {
  width: 100%;
  display: flex;
}
.bannerArea .bannerItemwrap .bannerItem {
  width: calc((100% - 80px)/3);
  margin: 0 40px 0 0;
}
.bannerArea .bannerItemwrap .bannerItem:last-of-type {
  margin: 0;
}
.bannerArea .bannerItemwrap .bannerItem a {
  display: block;
  width: 100%;
}
.bannerArea .bannerItemwrap .bannerItem a img {
  display: block;
  max-width: 100%;
}
/*
.bottomArea,
.bottomLinkArea {
  display: none;
}
*/
.roominfo {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
}
.roominfo .infoTitle {
  width: 100%;
  margin-top: 40px;
}
.roominfo .roominfo_typeimg {
  width: 320px
}
.roominfo .roominfo_typeimg img {
  max-width: 100%;
  display: block;
}
.roominfo .roominfo_typetable {
  width: calc(100% - 320px);
  padding-left: 30px;
  box-sizing: border-box;
}
.success_area {
  margin: 10px 0 40px;
}
.succ_list {
  font-size: 22px;
  list-style: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}
.succ_list li {
  width: 48%;
  padding: 10px 0;
  box-sizing: border-box;
  border-bottom: 2px dashed #ddd;
  clear: both;
  display: flex;
  flex-wrap: wrap;
  vertical-align: middle;
}
.succ_list li:nth-child(odd) {
  margin-right: 2%;
}
.succ_list li:nth-child(even) {
  margin-left: 2%;
}
.succ_list li:before {
  content: '';
  background-image: url("../classroom/shigakusha/img/passmark.png");
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 68px;
  margin-top: 8px;
  margin-right: 20px;
}
span.school_name {
  width: calc(100% - 188px);
  padding: 6px 0;
}
p.sonota {
  font-size: 1.3em;
  margin-top: 15px;
  text-align: right;
}

.sumabottom {
	position: fixed;
	bottom: 0;
	z-index: 800;
	display: flex;
 width: 1200px;
 font-size: 20px;
}
 
.sumabottom a{
width:calc(100%/3);
text-align: center;
color: #fff;
text-decoration: none;
}
 
.sumabottom div{
padding: 10px 0px;
width: 100%;   
}
 
.sumabottom .oshirase{
background-color: #000066;
border-radius: 5px 0px 0px 0px;
}
 
.sumabottom .jikanwari{
background-color: #000099;
}
 
.sumabottom .course{
 background-color: #0000cc;
 border-radius: 0px 5px 0px 0px;
}

article:has(#warap_slider) { display: none; }

/* Kids Duoページ セクション余白 */
.section.hasDashed {
  padding-top: 48px;
  padding-bottom: 48px;
}
.section.hasContents {
  padding-top: 56px;
  padding-bottom: 56px;
}
.kd_cta_bar {
  margin: 0;
}


/* ============================================================
   Kids Duo（キッズデュオ）教室ページ
   ============================================================ */

/* セクション見出し */
.kd_heading {
  font-size: 22px;
  font-weight: bold;
  color: #0D51A0;
  border-left: 5px solid #FFB700;
  padding-left: 14px;
  margin: 0 0 24px;
  line-height: 1.4;
}

/* ページタイトル */
.kd_school_title {
  font-size: 26px;
  font-weight: bold;
  margin: 0 0 16px;
}

/* キャッチコピー */
.kd_catchcopy {
  font-size: 22px;
  font-weight: bold;
  color: #0D51A0;
  line-height: 1.7;
  margin: 0 0 20px;
}

/* 写真ギャラリー */
.kd_gallery {
  display: flex;
  gap: 8px;
  margin: 0 0 20px;
}
.kd_gallery_item {
  flex: 1;
  overflow: hidden;
  border-radius: 4px;
}
.kd_gallery_item img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}

/* 夏期バナー等 */
.kd_campaign_banner {
  margin: 0 0 16px;
}
.kd_campaign_banner a img {
  width: 100%;
  display: block;
  border-radius: 4px;
}

/* CTAバー（全幅・黄色） */
.kd_cta_bar {
  background: #FFB700;
  padding: 30px 20px;
  text-align: center;
}
.kd_cta_bar_lead {
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  margin-bottom: 16px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.15);
}
.kd_cta_bar_sub {
  font-size: 16px;
  color: #fff;
  margin-bottom: 20px;
}
.kd_cta_bar_btn {
  display: inline-block;
  background: #0D51A0;
  color: #fff;
  font-weight: bold;
  font-size: 17px;
  padding: 16px 48px;
  border-radius: 40px;
  text-decoration: none;
  transition: opacity 0.2s;
}
.kd_cta_bar_btn:hover {
  opacity: 0.85;
}

/* 教室情報（2カラム） */
.kd_school_info {
  display: flex;
  gap: 30px;
  align-items: flex-start;
}
.kd_school_info_left {
  flex: 1;
}
.kd_school_info_map {
  width: 340px;
  flex-shrink: 0;
}
.kd_school_info_map iframe {
  width: 100%;
  height: 280px;
  border: 0;
  border-radius: 4px;
  display: block;
}

/* 情報リスト */
.kd_info_list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.kd_info_item {
  display: flex;
  gap: 16px;
  padding: 12px 4px;
  border-bottom: 1px solid #e8e8e8;
  align-items: baseline;
}
.kd_info_item:first-child {
  border-top: 1px solid #e8e8e8;
}
.kd_info_label {
  min-width: 90px;
  font-weight: bold;
  font-size: 16px;
  color: #0D51A0;
  flex-shrink: 0;
}
.kd_info_value {
  flex: 1;
  font-size: 17px;
  color: #333;
  line-height: 1.7;
}

/* スタッフカード */
.kd_staff_list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.kd_staff_card {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  background: #f4f7fc;
  border-radius: 8px;
  padding: 22px 24px;
}
.kd_staff_card_img {
  width: 400px;
  flex-shrink: 0;
}
.kd_staff_card_img img {
  width: 100%;
  display: block;
}
.kd_staff_card_body {
  flex: 1;
}
.kd_staff_card_role {
  display: inline-block;
  background: #0D51A0;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  padding: 3px 12px;
  border-radius: 12px;
  margin-bottom: 8px;
}
.kd_staff_card_name {
  font-size: 18px;
  font-weight: bold;
  color: #222;
  margin-bottom: 10px;
}
.kd_staff_card_catchcopy {
  font-weight: bold;
  font-size: 15px;
  color: #222;
  line-height: 1.6;
  margin-bottom: 12px;
}
.kd_staff_name_row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.kd_staff_name_row .kd_staff_card_role { margin-bottom: 0; }
.kd_staff_name_row .kd_staff_card_name { margin-bottom: 0; }
.kd_staff_name_grid {
  display: inline-grid;
  grid-template-columns: auto auto;
  gap: 16px 32px;
  align-items: end;
  margin-bottom: 12px;
}
.kd_staff_name_grid .kd_staff_name_cell {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.kd_staff_name_grid .kd_staff_card_role { margin-bottom: 4px; align-self: flex-start; }
.kd_staff_name_grid .kd_staff_card_name { margin-bottom: 0; }
.kd_staff_card_text {
  font-size: 17px;
  line-height: 1.85;
  color: #555;
}

/* 電話番号 */
.kd_tel {
  font-size: 26px;
  font-weight: bold;
  color: #0D51A0;
  display: inline-block;
  margin-bottom: 4px;
}

/* コース・時間割 サブ見出し */
.kd_course_subtitle {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  font-weight: bold;
  color: #333;
  margin: 28px 0 10px;
}
.kd_course_subtitle::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  flex-shrink: 0;
}
.kd_course_subtitle_elem::before  { background: #12AABA; }
.kd_course_subtitle_kinder::before { background: #e0457b; }

/* 曜日別スケジュールテーブル */
.kd_schedule_table {
  width: 100%;
  border-collapse: collapse;
  white-space: nowrap;
  border: 1px solid #ddd;
}
.kd_schedule_table th,
.kd_schedule_table td {
  padding: 10px 12px;
  text-align: center;
  border: 1px solid #ddd;
  font-size: 16px;
  vertical-align: middle;
}
.kd_schedule_table thead th {
  background: #f2f2f2;
  font-weight: bold;
  color: #333;
}
.kd_schedule_table thead th.kd_col_sat { color: #0D51A0; }
.kd_schedule_table thead th.kd_col_sun { color: #e0457b; }
/* 小学生コース: ティール */
.kd_schedule_elem thead th.kd_col_target { background: #12AABA; color: #fff; }
.kd_schedule_elem thead th.kd_col_time   { background: #e0f5f7; color: #12AABA; }
.kd_schedule_elem .kd_target_cell        { background: #12AABA; color: #fff; font-weight: bold; }
/* 幼児コース: ピンク */
.kd_schedule_kinder thead th.kd_col_target { background: #e0457b; color: #fff; }
.kd_schedule_kinder thead th.kd_col_time   { background: #fce8f1; color: #e0457b; }
.kd_schedule_kinder .kd_target_cell        { background: #e0457b; color: #fff; font-weight: bold; }

/* コース表 */
.kd_course_wrap {
  overflow-x: auto;
  margin: 16px 0;
}
.kd_course_table {
  width: 100%;
  border-collapse: collapse;
  white-space: nowrap;
}
.kd_course_table thead th {
  background: #0D51A0;
  color: #fff;
  padding: 10px 16px;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,0.25);
}
.kd_course_table thead th:last-child {
  border-right: none;
}
.kd_course_table tbody td {
  padding: 12px 16px;
  text-align: center;
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #ddd;
  font-size: 16px;
  color: #333;
}
.kd_course_table tbody td:last-child {
  border-right: none;
}
.kd_course_table tbody tr:nth-child(even) td {
  background: #f4f7fc;
}
.kd_course_tag {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
}
.kd_course_tag_elem { background: #0D51A0; }
.kd_course_tag_kinder { background: #e0457b; }
.kd_note {
  font-size: 16px;
  color: #666;
  margin-top: 8px;
}

/* 特徴リスト */
.kd_feature_list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.kd_feature_item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 18px 4px;
  border-bottom: 1px solid #eee;
}
.kd_feature_item:last-child {
  border-bottom: none;
}
.kd_feature_num {
  min-width: 38px;
  height: 38px;
  background: #FFB700;
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
  letter-spacing: 0;
}
.kd_feature_title {
  font-weight: bold;
  color: #0D51A0;
  margin-bottom: 5px;
  font-size: 18px;
}
.kd_feature_desc {
  font-size: 16px;
  color: #555;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .section.hasDashed  { padding-top: 32px; padding-bottom: 32px; }
  .section.hasContents { padding-top: 40px; padding-bottom: 40px; }
  .kd_gallery { gap: 8px; flex-direction: column; }
  .kd_gallery_item img { height: 200px; }
  .kd_school_info { display: block; }
  .kd_school_info_map {
    width: 100%;
    margin-top: 20px;
  }
  .kd_school_info_map iframe { height: 200px; }
  .kd_cta_bar_btn {
    display: block;
    padding: 16px 20px;
    border-radius: 8px;
  }
  .kd_cta_bar_lead { font-size: 18px; }
  .kd_staff_card { gap: 14px; padding: 16px; flex-direction: column; }
  .kd_staff_card_img { width: 100%; }
  .kd_course_table { font-size: 16px; }
}

@media screen and (max-width: 767px) {
  .under_course {
    font-size: 20px;
  }
  .courseTitle {
    width: calc(100% + 20px);
    padding: 20px;
    background: #01499b;
    display: flex;
    margin: 0 0 0 -10px;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
  }
  .courseTitle:before {
    content: "";
    display: block;
    width: 100%;
    height: 300%;
    position: absolute;
    top: 0;
    right: 0;
    background: #1767CA;
    transform: translateX(5%) rotate(-65deg);
  }
  .courseTitle:after {
    content: "";
    display: block;
    width: calc((100% - 0px)/2);
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    background: #1767CA;
  }
  .courseTitle img {
    display: none;
  }
  .courseTitle .titleText {
    display: block;
    color: #FFF;
  }
  .mainTitle {
    display: flex;
    justify-content: flex-end;
    border-bottom: none;
    padding-bottom: 0;
  }
  .mainTitle .mainText {
    display: none;
  }
  .succ_list li:before {
    content: '';
    background-image: url("../classroom/shigakusha/img/passmark.png");
    background-repeat: no-repeat;
    background-size: 95% auto;
    width: 54px;
    margin-top: 6px;
    margin-right: 9px;
  }
  span.school_name {
    width: calc(100% - 63px);
    padding: 6px 0;
  }
  p.sonota {
    font-size: 1em;
  }
  .classRoominfo {
    margin-top: 20px;
    margin-bottom: 40px;
  }
  .courses_table {
    width: 160%;
    white-space: nowrap;
    margin-bottom: 0px;
  }
  .courses_table th {
    font-size: 1em;
  }
  .scroll {
    display: block;
    margin: 7px;
    font-weight: 500;
    color: #02499b;
    letter-spacing: 1.3px;
  }
  .hasPic {
    display: block;
  }
  .roomPic .picItem {
    width: calc((100% - 10px)/2);
    margin: 0 10px 0 0;
  }
 .roomPic .picItem p.picCaption {
  font-size: 1.0em;
}
 .roomPic .picItem p{
    font-size: 0.8em;
  }
  .bannerArea {
    width: 100%;
    max-width: 1200px;
    margin: 20px auto 40px;
  }
  .bannerArea .bannerTitle {
    width: 100%;
    margin: 0 0 20px;
  }
  .bannerArea .bannerItemwrap {
    flex-wrap: wrap;
  }
  .bannerArea .bannerItemwrap .bannerItem {
    width: 100%;
    margin: 20px 0 0;
  }
  .bannerArea .bannerItemwrap .bannerItem:last-of-type {
    margin: 20px 0 0;
  }
  .bannerArea .bannerItemwrap .bannerItem a img {
    display: block;
    max-width: 100%;
    margin: auto;
  }
  .otherLinks {
    display: flex;
    text-align: left;
    justify-content: center;
    width: 100%;
    margin: 10px 0 40px;
  }
  .otherLinks a {
    width: calc((100% - 23px)/2);
    display: flex;
    padding: 8px 20px;
    background: url(../classroom/shigakusha/img/icon01.png) no-repeat right center;
    background-size: 7px 9px;
    margin-right: 23px;
    font-size: 14px;
  }
  .otherLinks a:last-of-type {
    margin-right: 0;
  }
  .infoTable {
    flex-wrap: wrap;
  }
  .infoTable .th {
    padding: 16px;
    border-right: none;
    border-bottom: 1px solid #cecece;
    width: 100%;
    text-align: left;
  }
  .infoTable .td {
    padding: 16px;
    width: 100%;
  }
  .infoTableWrap {
    display: flex;
    flex-wrap: wrap;
  }
  .infoTable + .infoTable {
    border-left: 1px solid #cecece;
  }
  .map {
    width: 100%;
    height: 200px;
  }
  .contactBlock .contactBtn {
    display: block;
    width: 100%;
    padding: 19px 10px;
    font-size: 16px;
  }
  .bottomArea {
    display: block;
  }
  .roominfo {
    display: block;
  }
  .roominfo .roominfo_typeimg {
    width: 100%;
    max-width: 320px;
    margin: auto;
  }
  .roominfo .roominfo_typetable {
    width: 100%;
    padding-left: 0;
  }
  .succ_list {
    font-size: 22px;
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
  }
  .succ_list li {
    padding: 10px 0;
    box-sizing: border-box;
    border-bottom: 2px dashed #ddd;
    clear: both;
    display: flex;
    flex-wrap: wrap;
    vertical-align: middle;
    font-size: 14px;
    padding-left: 8px;
  }
 
#btn_line_all {
display: none;
}
 
#page_top {
display: none;
}
 
.sumabottom {
position: fixed;
left: 0;
bottom: 0;
z-index: 800;
display: flex;
width: 100%;
font-size: 12px;
}
 
.sumabottom a{
width:calc(100%/3);
text-align: center;
color: #fff;
text-decoration: none;
}
 
.sumabottom div{
padding: 15px 0px;
}
 
#btn_line_all {
display: none!important;
 }
}