@charset "UTF-8";
/*==========================
    - 〜479px      ：SP portrait
    - 480px〜599px ：SP landscape
    - 600px〜959px ：tablet
    - 960px〜1279px：small PC
    - 1280px〜     ：large PC
    - 1400px〜     ：largest PC
==========================*/
/* 〜479px：SP portrait
------------------------------ */
/***************************
    container
***************************/
#container .search-category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 40px 0 0;
}
#container .search-category li {
  position: relative;
  width: 46.81528662420382%;
  margin: 0 0 20px;
  line-height: 32px;
  font-size: 13px;
  font-weight: bold;
  text-align: center;
  color: #fff;
}
#container .search-category li:nth-of-type(1) {
  background-color: #f39800;
}
#container .search-category li:nth-of-type(2) {
  background-color: #005fa3;
}
#container .search-category li:nth-of-type(3) {
  background-color: #ed798e;
}
#container .search-category li:nth-of-type(4) {
  background-color: #6bc8f2;
  color: #333;
}
#container .search-category li:nth-of-type(5) {
  background-color: #b73f91;
}
#container .search-category li:nth-of-type(6) {
  background-color: #fff100;
  color: #333;
}
#container .search-category li label {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0 0 0 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
}
#container .search-category li label span {
  display: block;
  position: absolute;
  left: 4px;
  top: 4px;
  width: 24px;
  height: 24px;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2MTQ0MWIwNS03OWUxLTQzZTEtYjUyMy0zMDYzYTA3NjZkY2YiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzVENjY3MzQwMUVBMTFFQTg1QUZCN0RCMDc2QTA2QjciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzVENjY3MzMwMUVBMTFFQTg1QUZCN0RCMDc2QTA2QjciIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmNDY5YjEwYi0zZDk5LTRhNmYtYjEwNS0yYTU2NzE5NmI5Y2IiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1YjRlZTg0Ni0zOWVhLTExN2QtYjUzMS1lYWI2NWQyNWFkMTgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4gsBhkAAABjUlEQVR42uzZ645DQBgG4BqHqEOoH26k938H3AmLEBKKvlmbZqODwejaZOaHpph6zPfNgUpBEFzOVMjlZEUZPu73+59TwjA8YwsJkAAJkAAJ0EdBbds+Ho+zgPq+//ouq0zkUA0oaKRVpqNAWZbVdf0KHLuJsN9xFEVVVTFqRmeymwijJo7jpmnSNF00FUVRliU1wan7V4NemuHrvAmH8jynHtI0zbbtvaCRZt6EpEGw6AtTRfE8T5KkvSAEfqSZMiE/cDJu4P1kWZYZNcsg0zSnfui3CRo0JFWD6tDAxKfb67ruuu68qeu6JEmwndIgXqufOhZNuDa1AbAfd48eRK2Lishl/lPHfDtNaRzHQcWjJtd503uxLMswjGNne3bT9XplGXI4zGUsJiQNgvW59RBMM9dTVZV9yOE2209FhH045r/8QM6OTISQ2+2GLZ+3H9tMw9yO8WnDAHjIAg2mIUbIdGQPz/dDmwv6lO/7+yPFcwnLUSMeFAVIgARIgP4B6GcuG/5nEC1EKU8BBgAXH9/kcyrVfAAAAABJRU5ErkJggg==) left top/24px no-repeat;
}
#container .search-category li label input:checked + span {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2MTQ0MWIwNS03OWUxLTQzZTEtYjUyMy0zMDYzYTA3NjZkY2YiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDQ5NzZCQjEwMUVBMTFFQUE2QzFDREJFMjFBRjE2RTEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDQ5NzZCQjAwMUVBMTFFQUE2QzFDREJFMjFBRjE2RTEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmNDY5YjEwYi0zZDk5LTRhNmYtYjEwNS0yYTU2NzE5NmI5Y2IiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1YjRlZTg0Ni0zOWVhLTExN2QtYjUzMS1lYWI2NWQyNWFkMTgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4MnBacAAACBklEQVR42uzYv8tBURgHcPdGfmSxGJTNaJPVYJPVSCmKKCYWEooBUcpuVRYLJv8AJmWyMRlYbIr3W7ck97jvue+93PvWOQPlnPh4znMez8GtViuDngZv0NkwCk8+n09zynq91mOEGIiBGIiBGOiroOPxuN/v9QK6XC65XC6VSskyfQp0vV4LhcJut0OQZJlkgG63G/3KWq22XC4fG0dv4unjn0gkptMpzeJWqzWfz1+SidLEU2oymcxms6lWq7+ahsPheDwmJvhoNFIBJGi2262wF9Km2Ww2GAyIU36/P5/PKwU9ax758c6EpKnX6/f7XTzl8Xja7bbJZFIEwmfj3D5rJEw4UDhWOFzi93E6nf1+3263K01qnuej0Sjxa72YkK0IJMIpXgkHNDCpc+yDwWCj0ZA2nc9nBPJ0OonXWCyWTqeD/aIvLpxwL5O+dSwWi1KpRNwORNHlch0OB+IUNIFAQP1bh3SciBqMYrFIr5FdGCVMxBGPxyORyGd/7elNoVAom81+o/2gMaEAVioVjuO+1A/BVC6X3816vd5ut0u/s+q0H+FwOJ1Oi193u929Xs9qtWrQMSaTyReTw+FAAcSjZi0sTPixNJvNQgFEbBAhjXvqWCyGqNhstmaziexR8/+hPw+U+Mlkonyn1OypVdSwiyIDMRADMdA/ABmfO34WIcL4EWAAcdT8L0Q4Q2oAAAAASUVORK5CYII=);
  background-repeat: no-repeat;
}
#container form {
  width: 83.73333333333333%;
  margin: 0 auto 50px;
}
#container form .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 0 30px;
}
#container form .box .item {
  width: 100%;
}
#container form .box .item + .item {
  margin-top: 22px;
}
#container form .box .item .title {
  margin: 0 0 6px;
}
#container form .box .item .select {
  position: relative;
}
#container form .box .item .select select {
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
  position: relative;
  width: 100%;
  height: 32px;
  padding: 8px 6px;
  font-size: 11px;
  border: 1px solid #ccc;
  border-radius: 0;
  cursor: pointer;
  background-color: #fff;
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAABgElEQVR4nO3XTU7DMBCG4V4E0u4bO8YzVu7Egi3/3XAokCr1JBSEOEdhUaYqUtTYaVLb6fdI3Zr53gVqJxMAAAAAAAAAgD3KuVlJvJozX8S+JZQxpiiJV8aYotMDyrmZIvepiX+05Xdr7WXPNw7GGFMoaz+2t9M6OEJV19PdePlkEqGq6+lu/O52Wnvf3vhAJhF6uV0x3zQ+kHiEg+O3n01FdO31mCJa5BTBb7x7CHo0lwiDjBepRxh0vNDMzylG8BmviO57+WOpRTjpeJFKhCjjRewIUceLWBGSGC/aIwR89fTQ+NU81njxF2EzdIQkxwtt+WnICF7jme/63BTMJ0KX3+T/fo6nOl70HSGr8aKvCFmOF8dGyHq86BphFONFaIRRjRfa8qNPhFGOF+0R+Ku09vvQeG35NvaOo7RGGPN40SHCeMaLgAjjGy8qci9tASpyi9h3DkoTLQ/8U3yNfd9JNEbgMxkv9iPMz2280ETL8oreYt8BAAAAAAAAAOflF9805kbw8SuuAAAAAElFTkSuQmCC');
	background-size: auto 35%;
	background-position: right 8px center;
	background-repeat: no-repeat;
}
/* #container form .box .item .select:after {
  content: '';
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 8px solid black;
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  z-index: 1;
} */
#container form .box .item .input-text input {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 32px;
  padding: 6px 12px;
  font-size: 11px;
  border: 1px solid #ccc;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 0;
}
#container form .btn input {
  -webkit-appearance: none;
  appearance: none;
  font-size: 100%;
  border-radius: 0;
  padding: 1em 0;
}
#container .map {
  position: relative;
  height: 320px;
  margin: 0 0 50px;
}
#container .map .map-wrapper {
  width: 100%;
  height: 100%;
}
#container .map .gmap-info {
  font-family: "NotoSansCJKjp-Regular", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
}
#container .map .gmap-info .name {
  font-weight: bold;
  margin-bottom: 4px;
}
#container .map .gmap-info .category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: 10px;
}
#container .map .gmap-info .category li {
  width: 13px;
  height: 13px;
  display: none;
  border-radius: 100%;
  margin-right: 8px;
}
#container .map .gmap-info .category li.robo {
  background-color: #f39800;
}
#container .map .gmap-info .category li.robopro {
  background-color: #005fa3;
}
#container .map .gmap-info .category li.programming {
  background-color: #ed798e;
}
#container .map .gmap-info .category li.science {
  background-color: #6bc8f2;
}
#container .map .gmap-info .category li.english {
  background-color: #fff100;
}
#container .map .gmap-info .category li.math {
  background-color: #b73f91;
}
#container .map .gmap-info .category li.active {
  display: block;
}
#container .map .gmap-info .tel {
  margin-bottom: 12px;
}
#container .map .gmap-info .link .btn {
  width: 144px;
}
#container .map .gmap-info .link .btn a {
  padding: 0.5em 0;
}
#container .map .mask {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  opacity: 0;
  -webkit-transition: opacity .4s ease;
  transition: opacity .4s ease;
  pointer-events: none;
}
#container .map .mask .text {
  width: 100%;
  color: #fff;
  font-size: 20px;
  position: absolute;
  top: 50%;
  left: 0;
  text-align: center;
  /* left: 50%; */
  -webkit-transform: translate(-50%, -50%);
  transform: translate(0, -50%);
}
#container .map .mask.show {
  opacity: 1;
  pointer-events: initial;
}
#container .list {
  width: 90.66666666666666%;
  margin: 0 auto 40px;
}
#container .list .item {
  padding: 0 0 25px;
  border-bottom: 1px dotted #878787;
}
#container .list .item + .item {
  margin: 25px 0 0;
}
#container .list .item .title {
  margin: 0 0 12px;
  font-weight: bold;
}
#container .list .item .search-category {
  margin: 0 0 9px;
  padding: 0;
}
#container .list .item .search-category li {
  width: auto;
  margin: 0;
  padding: 0 6px;
  letter-spacing: -0.5px;
  line-height: 20px;
  font-size: 10px;
}
#container .list .item .search-category li:not(.active) {
  background: #e5e5e5;
  color: #fff;
}
#container .list .item dl {
  display: table;
  table-layout: fixed;
}
#container .list .item dl + dl {
  margin: 10px 0 0;
}
#container .list .item dl dt, #container .list .item dl dd {
  display: table-cell;
  line-height: 18px;
  font-size: 12px;
}
#container .list .item dl.address dt {
  width: 3em;
}
#container .list .item dl.tel {
  margin-bottom: 20px;
}
#container .list .item dl.tel dt {
  width: 5em;
}
#container .more:after {
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%) rotate(135deg);
          transform: translateY(-50%) rotate(135deg);
  margin-top: -2px;
  border-color: #333;
}
#container .more a {
  color: #333;
  background: #f0f0f0;
}

#result {
  opacity: 0;
  backface-visibility: hidden;
  transition: opacity .4s ease;
}
#result.show {
  opacity: 1;
}

/* 480px〜599px：SP landscape
------------------------------ */
@media screen and (min-width: 414px) {
  /***************************
      container
  ***************************/
}
/* 600px〜959px：tablet
------------------------------ */
@media screen and (min-width: 600px) {
  /***************************
      container
  ***************************/
}
/* 960px〜1279px：small PC
------------------------------ */
@media screen and (min-width: 960px) {
  /***************************
      container
  ***************************/
  #container .search-category {
    padding: 80px 0 0;
  }
  #container .search-category li {
    width: auto;
    margin: 0 0 30px;
    line-height: 40px;
    font-size: 16px;
  }
  #container .search-category li label {
    padding: 0 14px 0 48px;
  }
  #container .search-category li label span {
    left: 6px;
    top: 6px;
    width: 28px;
    height: 28px;
    background-size: 28px;
  }
  #container form {
    width: 840px;
    margin: 0 auto 80px;
  }
  #container form .box {
    width: 735px;
    margin: 0 50px 60px;
  }
  #container form .box .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  #container form .box .item:nth-child(1), #container form .box .item:nth-child(2) {
    width: 350px;
  }
  #container form .box .item:nth-child(2) {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  #container form .box .item + .item {
    margin-top: 0;
  }
  #container form .box .item:last-child {
    margin-top: 30px;
  }
  #container form .box .item .title {
    width: 95px;
    margin: 0;
    line-height: 40px;
  }
  #container form .box .item .select {
    width: calc(100% - 95px);
  }
  #container form .box .item .select select {
    height: 40px;
    /* padding: 0 8px; */
    font-size: 16px;
  }
  #container form .box .item .input-text {
    width: calc(100% - 95px);
  }
  #container form .box .item .input-text input {
    height: 40px;
    padding: 0 8px;
    font-size: 16px;
  }
  #container form .btn input {
    font-size: 100%;
    padding: 1em 0;
    cursor: pointer;
  }
  #container .map {
    height: 440px;
  }
  #container .map .gmap-info .name {
    font-size: 16px;
  }
  #container .list {
    width: 746px;
    margin: 0 auto 60px;
  }
  #container .list .item {
    padding: 0 0 25px;
  }
  #container .list .item:last-child {
    padding: 0;
    border: none;
  }
  #container .list .item + .item {
    margin: 25px 0 0;
  }
  #container .list .item .title {
    font-size: 20px;
  }
  #container .list .item .search-category {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0 0 16px;
  }
  #container .list .item .search-category li {
    margin: 0 10px 0 0;
    padding: 0 10px;
    letter-spacing: normal;
    line-height: 26px;
    font-size: 14px;
  }
  #container .list .item .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #container .list .item .wrap .text {
    width: 545px;
  }
  #container .list .item .wrap .text dl + dl {
    margin: 12px 0 0;
  }
  #container .list .item .wrap .text dl dt, #container .list .item .wrap .text dl dd {
    line-height: 14px;
    font-size: 14px;
  }
  #container .list .item .wrap .text dl.address dt {
    width: 5em;
  }
  #container .list .item .wrap .text dl.tel {
    margin-bottom: 0;
  }
  #container .list .item .wrap .link {
    width: 200px;
  }
  #container .list .item .wrap .link .btn {
    width: 100%;
  }
  #container .list .item .wrap .link .btn a {
    padding: 12px 0;
    line-height: 16px;
  }
  #container .more:after {
    top: 50%;
    right: 10px;
    -webkit-transform: translateY(-50%) rotate(135deg);
            transform: translateY(-50%) rotate(135deg);
    margin-top: -2px;
    border-color: #333;
  }
  #container .more a {
    color: #333;
    background: #f0f0f0;
    font-size: 86%;
    padding: 0.3em 0;
  }
}
/* 1280px〜：large PC
------------------------------ */
@media screen and (min-width: 1280px) {
  /***************************
      container
  ***************************/
}
/* 1400px〜：largest PC
------------------------------ */
@media screen and (min-width: 1400px) {
  /***************************
      container
  ***************************/
}
