@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

.w100 {font-weight: 100;}
.w200 {font-weight: 200;}
.w300 {font-weight: 300;}
.w400 {font-weight: 400;}
.w500 {font-weight: 500;}
.w700 {font-weight: 700;}
.w900 {font-weight: 900;}

html,body {
  overflow-x: hidden;
}

body {
  color: #4A4A4A;
  font-family: 'Noto Sans Japanese', sans-serif;
  font-size: 16px;
  font-weight: 200;
  line-height: 1.8;
  overflow-x: hidden;
  word-break: break-all;
}

a {
  color: #F59623;
  text-decoration: none;
  transition: 0.5s;
}

.text-center {
  text-align: center;
}

.pull-left {
  float: left;
}
.pull-right {
  float: right;
}

@media screen and (max-width:768px) {
  img {
    height: auto;
    max-width: 100%;
  }
}

.pc-visible {
  display: inline-block;
}
.sp-visible {
  display: none;
}

@media screen and (max-width:768px) {
  .pc-visible {
    display: none;
  }
  .sp-visible {
    display: inline-block;
  }
}

.clearfix:before, .clearfix:after {content:"";display:table;}
.clearfix:after {clear:both;}

.clear {
  clear: both;
}

/*---------------- font ----------------*/

.fs-12 {
  font-size: 12px;
}

.fs-14 {
  font-size: 14px;
}

.fs-16 {
  font-size: 16px;
}
.fs-32 {
  font-size: 32px;
}

.fc-notice {
  color: #F59623;
}

.link-classroom-name {
  background: url(../images/btn-detail.svg) no-repeat right center;
  font-size: 18px;
  font-weight: 600;
  padding-right: 124px;
  text-decoration: underline;
  transition: 0.5s;
}
.link-classroom-name:hover {
  opacity: 0.6;
}

/*---------------- container ----------------*/

.container {
  margin: 0 auto;
  width: 960px;
}

.container-contents {
  margin-bottom: 16px;
}

.container-contents-border-bottom {
  border-bottom: 1px solid #F59623;
  padding-bottom: 16px;
}

.container-contents p {
  margin-bottom: 16px;
}

.container-contents :last-child {
  margin-bottom: 0;
}

@media screen and (max-width:768px) {
  .container {
    box-sizing: border-box;
    padding: 0 8px;
    width: 100%;
  }
}

.container-main {
  overflow: hidden;
  padding-bottom: 32px;
}

.main-contents {
  float: left;
  width: 664px;
}

.sidebar {
  float: right;
  width: 240px;
}

@media screen and (max-width:768px) {
  .main-contents {
    float: none;
    margin-bottom: 16px;
    width: 100%;
  }

  .sidebar {
    float: none;
    text-align: center;
    width: 100%;
  }
}

.bread {
  font-size: 12px;
  padding: 16px 0;
}
@media screen and (max-width:768px) {
  .bread {
    padding: 16px 8px;
  }
}

/*---------------- btn ----------------*/

input[type="submit"] {
  padding: 0;
}

.btn {
  box-sizing: border-box;
  display: block;
  text-align: center;
  text-decoration: none;
}

.btn-contact {
  background-image: linear-gradient(-180deg, #FBB766 0%, #F76B1C 100%);
  border-radius: 22px;
  color: #fff;
  height: 44px;
  font-size: 14px;
  padding-top: 8px;
}
.btn-mail {
  background-image: linear-gradient(-180deg, #FBB766 0%, #F76B1C 100%);
  border-radius: 8px;
  color: #fff !important;
  height: 44px;
  font-size: 14px;
  padding-top: 8px;
  position: relative;
}
.btn-mail::before {
  background: url(../images/icon-mail.svg) no-repeat left top;
  background-size: contain;
  content: "";
  display: block;
  height: 20px;
  width: 24px;
  position: absolute;
  left: 12px;
  top: 12px;
}
.btn-search {
  background-image: linear-gradient(-180deg, #FBB766 0%, #F76B1C 100%);
  border-radius: 30px;
  border: none;
  color: #fff;
  display: inline-block;
  height: 56px;
  font-size: 16px;
  padding-top: 12px;
  width: 280px;
}
.btn-web-s {
  background-image: linear-gradient(-180deg, #69c410 0%, #4d9309 100%);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 26px;
  width: 50px;
  margin: 0 auto;
}
.btn-mail-s {
  background-image: linear-gradient(-180deg, #24beea 0%, #1691b4 100%);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 26px;
  width: 50px;
  margin: 0 auto;
}

.info-icn-2col {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  width: 104px;
}

@media screen and (max-width:768px) {
  .btn-web-s, .btn-mail-s {
    font-size: 14px;
    padding: 8px 0;
  }
  .info-icn {
    display: flex;
  }
  .info-icn li {
    margin-right: 8px;
  }
}


.btn-back {
  background-image: linear-gradient(-180deg, #FBB766 0%, #F76B1C 100%);
  border-radius: 30px;
  color: #fff;
  display: inline-block;
  height: 56px;
  font-size: 16px;
  padding-top: 12px;
  width: 200px;
}
.btn:hover {
  opacity: 0.7;
}

.btn-all {
  background: url(../images/icn_arrow.png) no-repeat right 8px center;
  border: 1px solid #F59623;
  border-radius: 20px;
  color: #4A4A4A;
  font-size: 14px;
  padding: 4px 32px;
}

/*---------------- header ----------------*/

.site-header {
  border-top: 2px solid #F59623;
}
.site-header > .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 0;
}

@media screen and (max-width:768px) {
  .site-header > .container {
    padding: 8px;
  }
  .site-header > .container {
    display: block;
  }
  .site-header h1 img {
    width: 70%;
    height: auto;
  }
}

.hnavi div {
  margin-bottom: 8px;
}

@media screen and (max-width:768px) {
  .hnavi div {
    margin: 0 auto 4px;
    text-align: center;
    width: 70%;
  }
}

.hnavi-text {
  color: #4A4A4A;
  font-size: 14px;
}

/*---------------- gnavi ----------------*/

.gnavi {
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
}

.gnavi ul {
  display: flex;
  justify-content: space-between;
}

.gnavi-item {
  background-position: left center;
  box-sizing: border-box;
  background-repeat: no-repeat;
  color: #4A4A4A;
  display: block;
  font-size: 14px;
  font-weight: 200;
  padding: 16px 8px 16px 26px;
}

@media screen and (max-width:768px) {
  .gnavi {
    border-bottom: none;
    border-top: none;
    display: none;
  }
  .gnavi ul {
    background-color: rgba(255, 255, 255, 0.9);
    border-bottom: 1px solid #ddd;
    display: block;
    position: fixed;
    top: 0;
    z-index: 100;
  }
  .gnavi-item {
    background-position: left center;
    box-sizing: border-box;
    background-repeat: no-repeat;
    color: #4A4A4A;
    display: block;
    font-size: 14px;
    font-weight: 200;
    padding: 16px 8px 16px 26px;
  }
}

.gnavi-item--01 {
  background-image: url(../images/icn_gnavi-01.png);
}
.gnavi-item--02 {
  background-image: url(../images/icn_gnavi-02.png);
}
.gnavi-item--03 {
  background-image: url(../images/icn_gnavi-03.png);
}
.gnavi-item--04 {
  background-image: url(../images/icn_gnavi-04.png);
}
.gnavi-item--05 {
  background-image: url(../images/icn_gnavi-05.png);
}
.gnavi-item:hover {
  color: #F59623;
}

/*---------------- footer ----------------*/

.site-footer {
  border-top: 1px solid #ddd;
  padding-top: 24px;
}

.container-footer {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
}

@media screen and (max-width:768px) {
  .container-footer {
    display: block;
  }
}

.container-footer ul {
  margin-bottom: 12px;
}

.container-footer a {
  background-repeat: no-repeat;
  color: #4A4A4A;
  display: inline-block;
}

.footer-item-link-category {
  background-image: url(../images/icn_arrow-circle.png);
  background-position: left center;
  font-weight: 500;
  padding-left: 18px;
}
.footer-item-link {
  background-image: url(../images/icn_arrow.png);
  background-position: left 4px center;
  font-weight: 200;
  padding-left: 18px;
}

.copyright {
  background-color: #F59623;
  color: #fff;
  display: block;
  font-size: 10px;
  text-align: center;
  padding: 4px 0;
}

/*---------------- page-title ----------------*/

.page-title {
  background-color: #F59623;
  color: #fff;
}
.page-title  .container {
  background: url(../images/bg-pagetitle.png) no-repeat right bottom 4px;
  padding: 24px 0;
}

.page-title h2 {
  font-size: 24px;
}
.page-title p {
  font-size: 14px;
  font-weight: 200;
  line-height: 1.6;
}

@media screen and (max-width:768px) {
  .page-title  .container {
    background: url(../images/bg-pagetitle.png) no-repeat right bottom 4px;
    padding: 24px 0 96px;
    text-align: center;
  }
  .page-title h2 {
    margin-bottom: 16px;
  }
}

/*---------------- contents header ----------------*/

.header-bullet {
  background: url(../images/icn_bullet.png) no-repeat left center;
  background-size: auto 32px;
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 200;
  min-height: 30px;
  margin-bottom: 16px;
  padding-left: 18px;
}
.header-bullet-border {
  border-bottom: 1px dotted #ccc;
  font-size: 18px;
  padding-bottom: 4px;
  padding-top: 4px;
}

.header-border {
  border: 1px solid #F59623;
  border-radius: 20px;
  color: #F59623;
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 16px;
  padding: 4px 16px;
}
@media screen and (max-width:768px) {
  .header-border {
    border: none;
    border-top: 1px solid #F59623;
    border-bottom: 1px solid #F59623;
    border-radius: 0;
    font-size: 16px;
    padding: 4px 0;
    text-align: center;
  }
}

.header-illust {
  background-position: left center;
  background-size: 60px 60px;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  min-height: 60px;
  padding-left: 76px;
}

.header-illust-chero {
  background-image: url(../images/icon-chero.svg);
}
.header-illust-flute {
  background-image: url(../images/icon-flute.svg);
}
.header-illust-piano {
  background-image: url(../images/icon-piano.svg);
}
.header-illust-violin {
  background-image: url(../images/icon-violin.svg);
}
.header-illust-child {
  background-image: url(../images/icon-child.svg);
}

/*---------- news ----------*/

.news {
  background-color: #F8F2EB;
  border-radius: 4px;
  padding: 16px;
}
.news-date {
  font-size: 12px;
  float: left;
  clear: left;
  padding-top: 3px;
  width: 80px;
}
.news-text {
  border-bottom: 1px dotted #ccc;
  font-size: 14px;
  margin-bottom: 8px;
  padding: 0 0 8px 96px;
}
.news :last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.news-date a, .news-text a {
  color: #4A4A4A;
}
.news-date a:hover, .news-text a:hover {
  color: #F59623;
}

.header-bullet-news {
  position: relative;
}
.header-bullet-news .btn-all {
  position: absolute;
  right: 0;
}

@media screen and (max-width:768px) {
  .news-date {
    float: none;
    margin-bottom: 8px;
    width: 100%;
  }
  .news-text {
    padding: 0 0 8px 0;
  }
}

/*---------- blog ----------*/

.blog {
  background-color: #F8F2EB;
  border-radius: 4px;
  padding: 16px;
}
.blog-date {
  font-size: 12px;
  float: left;
  clear: left;
  padding-top: 3px;
  width: 60px;
}
.blog-category {
  border: 1px solid #F59623;
  border-radius: 4px;
  color: #F59623;
  display: inline-block;
  font-size: 12px;
  line-height: 1.2;
  margin-right: 6px;
  padding: 2px 8px;
}
.blog-text {
  border-bottom: 1px dotted #ccc;
  font-size: 14px;
  margin-bottom: 8px;
  padding: 0 0 8px 66px;
}
.blog :last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.blog-date a, .blog-text a {
  color: #4A4A4A;
}
.blog-date a:hover, .blog-text a:hover {
  color: #F59623;
}

@media screen and (max-width:768px) {
  .blog-date {
    float: none;
    width: 100%;
  }
  .blog-text {
    padding: 0 0 8px 0;
  }
}

/*---------- school ----------*/

.school-profile {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.school-profile a {
  color: #4A4A4A;
}

@media screen and (max-width:768px) {
  .school-profile {
    display: block;
  }
  .school-profile-text {
    margin-bottom: 16px;
  }
}

.school-name {
  border-bottom: 1px solid #F59623;
  line-height: 1.4;
  font-size: 34px;
  padding-bottom: 4px;
}

.school-map {
  box-sizing: border-box;
  padding-left: 16px;
  width: 440px;
}
.school-map iframe {
  height: 360px;
  width: 100%;
}

@media screen and (max-width:768px) {
  .school-name {
    font-size: 24px;
  }
  .school-map {
    padding-left: 0;
    width: 100%;
  }
  .school-map iframe {
    height: 200px;
    width: 100%;
  }
}

.container-photo {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.container-photo li {
  margin-right: 2%;
  width: 23.5%;
}
.container-photo li:nth-child(4n) {
  margin-right: 0;
}

.container-photo li img {
  height: auto;
  width: 100%;
}

@media screen and (max-width:768px) {
  .container-photo {
    flex-wrap: wrap;
  }
  .container-photo li {
    width: 50%;
    text-align: center;
  }
  .container-photo li img {
    height: auto;
    width: 98%;
  }
}

/*---------- form compornents ----------*/

.form-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 32px;
}

@media screen and (max-width:768px) {
  .form-container {
    display: block;
  }
}

.form-item {
  margin-bottom: 8px;
  width: 20%;
}

.form-item-s {
  margin-bottom: 8px;
  width: auto;
}

.form-item-l {
  margin-bottom: 8px;
  padding-right: 16px;
  width: auto;
}

@media screen and (max-width:768px) {
  .form-item {
    display: block;
    width: 100%;
  }

  .form-item-s {
    display: block;
    width: 100%;
  }

  .form-item-l {
    display: block;
    padding-right: 0;
    width: 100%;
  }
}

.checkbox-input {
  display: none;
}
.checkbox-label {
  padding-left: 24px;
  position:relative;
  margin-right: 24px;
}
.checkbox-label::before {
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 0;
  width: 18px;
  height: 18px;
  border: 1px solid #999;
  border-radius: 2px;
}
.checkbox-label-disabled {
  color: #ccc;
}
.checkbox-label-disabled::before {
  background-color: #ddd;
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 0;
  width: 18px;
  height: 18px;
  border: 1px solid #ccc;
  border-radius: 2px;
}
.checkbox-input:checked + .checkbox-label {
  color: #F59623;
}
.checkbox-input:checked + .checkbox-label::after {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 6px;
  width: 5px;
  height: 10px;
  transform: rotate(40deg);
  border-bottom: 3px solid #F59623;
  border-right: 3px solid #F59623;
}
.checkbox-input:disabled {
  color: #00A6C7;
  background:#DCDCDC;
  cursor:not-allowed;
}
/*---------------- result ----------------*/

.school-info {
  font-size: 14px;
  margin-bottom: 24px;
}

.school-info dt {
  background-color: #93D551;
  border-radius: 2px;
  color: #fff;
  float: left;
  clear: left;
  margin-bottom: 8px;
  text-align: center;
  width: 80px;
}
.school-info dd {
  margin-bottom: 8px;
  padding-left: 96px;
}

.pager {
  text-align: center;
}
.pager ul {
  display: inline-block;
  width: auto;
}
.pager li {
  display: inline-block;
  margin: 0 4px;
}
.pager span, .pager a {
  border: 1px solid #F59623;
  box-sizing: border-box;
  border-radius: 20px;
  display: flex;
  height: 40px;
  width: 40px;
  align-items: center;
  justify-content: center;
}
.pager span {
  background-color: #F59623;
  color: #fff;
}
.pager a:hover {
  background-color: #FFDCB3;
}

/*---------------- teacher ----------------*/

.teacher-profile {
  background: url(../images/bg_teacher_profile.png) no-repeat right bottom;
  background-size: contain;
  display: flex;
  align-items: center;
}

.teacher-profile-photo {
  margin-right: 16px;
}

.teacher-name {
  font-size: 36px;
  font-weight: 400;
}

@media screen and (max-width:768px) {
  .teacher-profile {
    background: none;
  }
  .teacher-profile-text {
    width: 70%;
  }
  .teacher-profile-photo {
    width: 30%;
  }
  .teacher-profile-photo img {
    height: auto;
    width: 100%;
  }
  .teacher-name {
    font-size: 20px;
  }
}

/*---------------- contact ----------------*/

.conatiner-contact {
  border: 1px solid #F59623;
  box-sizing: border-box;
  border-radius: 8px;
  font-size: 14px;
  padding: 8px;
}

.conatiner-contact p {
  margin-bottom: 8px;
}

.conatiner-contact p a {
  color: #4A4A4A;
}
.conatiner-contact .tellink {
  font-size: 18px;
  font-weight: 400;
}
.conatiner-contact .btn-contact {
  border-radius: 8px;
  color: #fff;
}

.conatiner-contact :last-child {
  margin-bottom: 0;
}

/*---------- table ----------*/

.table-info {
  margin-bottom: 24px;
  width: 100%;
  font-size: 14px;
}

.table-classinfo {
  margin-bottom: 24px;
  width: 100%;
  font-size: 14px;
}

@media screen and (max-width:768px) {
  .table-info, .table-classinfo {
    display: none;
  }
}

.table-info th, .table-info td {
  border: 1px solid #ccc;
  border-collapse: collapse;
  padding: 8px;
}
.table-info th {
  background-color: #FFE3CA;
}

.table-classinfo th, .table-classinfo td {
  background-color: #fff;
  border: 1px solid #ccc;
  border-collapse: collapse;
  padding: 8px;
}
.table-classinfo th {
  background-color: #FFE3CA;
  width: 22%;
}

.table-classinfo2 th {
  background-color: #effdf5;
  width: 22%;
}

.table-cell-schoolname {
  width: 20%;
  white-space: nowrap;
}
.table-cell-tel {
  width: 15%;
  white-space: nowrap;
}
.table-cell-lessonday {
  white-space: nowrap;
}
.table-cell-price {
  width: 6%;
  white-space: nowrap;
}
.table-cell-cost {
  width: 25%;
}
.table-cell-comment {
  width: 15%;
  white-space: nowrap;
}
.table-cell-aside {
  width: 8%;
  white-space: nowrap;
}
.table-cell-btn {
  width: 80px;
}
table tbody tr:nth-child(even) {
  background-color: #F9F9F9;
}

.info-sp {
  box-sizing: border-box;
  display: none;
}

@media screen and (max-width:768px) {
  .info-sp {
    background-color: #fdfbf4;
    border: 1px solid #eee;
    border-radius: 4px;
    display: block;
    margin-bottom: 16px;
    padding: 8px;
  }
}

.info-sp h4 {
  border-bottom: 1px solid #F59623;
  font-size: 16px;
  margin-bottom: 8px;
  padding-bottom: 4px;
}

.info-sp h5 {
  color: #F59623;
  font-size: 14px;
  font-weight: normal;
}

.info-sp ul {
  margin-bottom: 16px;
}

/*---------- spmenu ----------*/

.btn-spmenu {
   cursor: pointer;
   display: none;
   padding-top: 5px;
   position: fixed;
   top: 8px;
   right: 16px;
   z-index: 300;
 }

@media screen and (max-width:768px) {
  .btn-spmenu {
    display: inline-block;
  }
}

 .bar {
   display: block;
   height: 2px;
   width: 28px;
   background: #F59623;
   margin: 8px auto;
 }

.btn-spmenu {
   width: auto;
   margin: 0 auto;
   -webkit-transition: all .7s ease;
   -moz-transition: all .7s ease;
   -ms-transition: all .7s ease;
   -o-transition: all .7s ease;
   transition: all .7s ease;
}

 .middle {
   margin: 0 auto;
 }

 .bar {
   -webkit-transition: all .7s ease;
   -moz-transition: all .7s ease;
   -ms-transition: all .7s ease;
   -o-transition: all .7s ease;
   transition: all .7s ease;
 }

 .btn-spmenu.active .top {
   -webkit-transform: translateY(7px) rotateZ(45deg);
   -moz-transform: translateY(7px) rotateZ(45deg);
   -ms-transform: translateY(7px) rotateZ(45deg);
   -o-transform: translateY(7px) rotateZ(45deg);
   transform: translateY(10px) rotateZ(45deg);
 }

 .btn-spmenu.active .bottom {
   -webkit-transform: translateY(-7px) rotateZ(-45deg);
   -moz-transform: translateY(-7px) rotateZ(-45deg);
   -ms-transform: translateY(-7px) rotateZ(-45deg);
   -o-transform: translateY(-7px) rotateZ(-45deg);
   transform: translateY(-10px) rotateZ(-45deg);
 }

 .btn-spmenu.active .middle {
   width: 0;
 }

 /*---------- jp-map ----------*/

@media screen and (max-width:768px) {
  .jp-map-pc {
    display: none;
  }
}

 ul.jp_map {
      position: relative;
      list-style-type: none;
      padding: 74% 0 0;
      margin: 0;
      box-sizing: border-box;
    }

    .jp_map li {
      width: 7%;
      height: 10%;
      border: solid #ffffff 2px;
      box-sizing: border-box;
      border-radius: 8px;
      overflow: hidden;
    }

    .jp_map li a {
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
      width: 100%;
      height: 100%;
    }
    .jp_map li span {
      background-color: #666;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
      width: 100%;
      height: 100%;
    }

    .jp_map li:nth-child(1) {
      position: absolute;
      top: 0;
      left: 85%;
      width: 15%;
    }

    .jp_map li:nth-child(2) {
      position: absolute;
      top: 11%;
      left: 85%;
      width: 14%;
      height: 5.5%;
    }

    .jp_map li:nth-child(3) {
      position: absolute;
      top: 16.5%;
      left: 92%;
    }

    .jp_map li:nth-child(4) {
      position: absolute;
      top: 26.5%;
      left: 92%;
    }

    .jp_map li:nth-child(5) {
      position: absolute;
      top: 16.5%;
      left: 85%;
    }

    .jp_map li:nth-child(6) {
      position: absolute;
      top: 26.5%;
      left: 85%;
    }

    .jp_map li:nth-child(7) {
      position: absolute;
      top: 36.5%;
      left: 92%;
    }

    .jp_map li:nth-child(8) {
      position: absolute;
      top: 46.5%;
      left: 92%;
    }

    .jp_map li:nth-child(9) {
      position: absolute;
      top: 46.5%;
      left: 85%;
    }

    .jp_map li:nth-child(10) {
      position: absolute;
      top: 46.5%;
      left: 78%;
    }

    .jp_map li:nth-child(11) {
      position: absolute;
      top: 56.5%;
      left: 85%;
    }

    .jp_map li:nth-child(12) {
      position: absolute;
      top: 56.5%;
      left: 92%;
    }

    .jp_map li:nth-child(13) {
      left: 85%;
      position: absolute;
      top: 66.5%;
    }

    .jp_map li:nth-child(14) {
      left: 78%;
      position: absolute;
      top: 66.5%;
    }

    .jp_map li:nth-child(15) {
      position: absolute;
      top: 36.5%;
      left: 78%;
      width: 14%;
    }

    .jp_map li:nth-child(16) {
      position: absolute;
      top: 36.5%;
      left: 71%;
    }

    .jp_map li:nth-child(17) {
      position: absolute;
      top: 36.5%;
      left: 64%;
    }

    .jp_map li:nth-child(18) {
      left: 64%;
      position: absolute;
      top: 46.5%;
    }

    .jp_map li:nth-child(19) {
      position: absolute;
      top: 56.5%;
      left: 78%;
    }

    .jp_map li:nth-child(20) {
      left: 71%;
      position: absolute;
      top: 46.5%;
      height: 20%;
    }

    .jp_map li:nth-child(21) {
      left: 64%;
      position: absolute;
      top: 56.5%;
    }

    .jp_map li:nth-child(22) {
      left: 71%;
      position: absolute;
      top: 66.5%;
    }

    .jp_map li:nth-child(23) {
      left: 64%;
      position: absolute;
      top: 66.5%;
    }

    .jp_map li:nth-child(24) {
      left: 57%;
      position: absolute;
      top: 66.5%;
    }

    .jp_map li:nth-child(25) {
      left: 57%;
      position: absolute;
      top: 46.5%;
    }

    .jp_map li:nth-child(26) {
      left: 50%;
      position: absolute;
      top: 46.5%;
    }

    .jp_map li:nth-child(27) {
      left: 50%;
      position: absolute;
      top: 56.5%;
    }

    .jp_map li:nth-child(28) {
      left: 43%;
      position: absolute;
      top: 46.5%;
      height: 20%;
    }

    .jp_map li:nth-child(29) {
      left: 57%;
      position: absolute;
      top: 56.5%;
    }

    .jp_map li:nth-child(30) {
      left: 50%;
      position: absolute;
      top: 66.5%;
    }

    .jp_map li:nth-child(31) {
      left: 36%;
      position: absolute;
      top: 46.5%;
    }

    .jp_map li:nth-child(32) {
      left: 29%;
      position: absolute;
      top: 46.5%;
    }

    .jp_map li:nth-child(33) {
      left: 36%;
      position: absolute;
      top: 56.5%;
    }

    .jp_map li:nth-child(34) {
      left: 29%;
      position: absolute;
      top: 56.5%;
    }

    .jp_map li:nth-child(35) {
      left: 22%;
      position: absolute;
      top: 51.5%;
    }

    .jp_map li:nth-child(36) {
      left: 36%;
      position: absolute;
      top: 78.5%;
    }

    .jp_map li:nth-child(37) {
      left: 36%;
      position: absolute;
      top: 68.5%;
    }

    .jp_map li:nth-child(38) {
      left: 29%;
      position: absolute;
      top: 68.5%;
    }

    .jp_map li:nth-child(39) {
      left: 29%;
      position: absolute;
      top: 78.5%;
    }

    .jp_map li:nth-child(40) {
      left: 14%;
      position: absolute;
      top: 46.5%;
    }

    .jp_map li:nth-child(41) {
      left: 7%;
      position: absolute;
      top: 46.5%;
    }

    .jp_map li:nth-child(42) {
      left: 0;
      position: absolute;
      top: 46.5%;
    }

    .jp_map li:nth-child(43) {
      left: 7%;
      position: absolute;
      top: 56.5%;
    }

    .jp_map li:nth-child(44) {
      left: 14%;
      position: absolute;
      top: 56.5%;
    }

    .jp_map li:nth-child(45) {
      left: 14%;
      position: absolute;
      top: 66.5%;
    }

    .jp_map li:nth-child(46) {
      left: 7%;
      position: absolute;
      top: 66.5%;
    }

    .jp_map li:nth-child(47) {
      left: 0;
      position: absolute;
      top: 76.5%;
    }

.hokkaido a, .tohoku a {
  background-color: #22AB39;
}
.kanto a {
  background-color: #117598;
}
.koushin a {
  background-color: #2AA9AF;
}
.hokuriku a {
  background-color: #8EC31F;
}
.chubu a {
  background-color: #AB338D;
}
.kinki a {
  background-color: #F7B62D;
}
.chugoku a, .shikoku a {
  background-color: #E95515;
}
.kyushu a {
  background-color: #DF803A;
}
.okinawa a {
  background-color: #D03C3B;
}
.jp_map li a:hover {
  opacity: 0.7;
}

#map-sp {
  display: none;
}

@media screen and (max-width:768px) {
  #map-sp {
    background-color: #FDD5A6;
    border-radius: 10px;
    box-sizing: border-box;
    font-size: 16px;
    margin: 0 auto 24px;
    padding: 15px;
    display: block;
    text-align: center;
    width: 85%;
  }
  form {
    margin: 0;
    padding: 0;
  }
  select {
    margin: 0 auto;
    height: 40px;
    width: 100%;
  }
}

@media screen and (min-width: 641px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}
