header .logo_1 {
  position: absolute;
  top: 0;
  left: 5%;
  width: 120px;
}

#key {
  background: url("../img/course/key.png") no-repeat center top/cover;
}
#key .key_ttl {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

#sec1 {
  position: relative;
  background: url("../img/course/sec1_bg.png") no-repeat center top 82%/100%;
}
#sec1 .txt {
  margin-top: -20%;
  padding-bottom: 5%;
}
#sec1 h3 {
  padding: 20% 0 0;
}
#sec1 .list {
  padding: 0 0 0;
}

#sec2 {
  position: relative;
}
#sec2 .sl {
  padding: 0 0 20%;
}
#sec2 .sl .txt {
  padding-top: 5%;
}
#sec2 .sl .price {
  text-align: center;
  padding-bottom: 5%;
}
#sec2 .sl .price_group {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  margin: 0 5%;
  padding-bottom: 5%;
}
#sec2 .sl .price_group .note {
  text-align: center;
  padding: 5% 0;
}
#sec2 .sl dl {
  position: relative;
  padding: 0 10%;
}
#sec2 .sl dl:after {
  content: '' !important;
  clear: both !important;
  display: block !important;
  height: 0 !important;
  visibility: hidden !important;
}
#sec2 .sl dl dt {
  float: left;
  width: 50%;
}
#sec2 .sl dl dd {
  float: right;
  width: 50%;
}
#sec2 .sl .slick-dots {
  bottom: -9%;
}
#sec2 .sl .slick-dots li button {
  padding: 0;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  background: #000;
}
#sec2 .sl .slick-dots li button:before {
  content: '';
  display: none;
}
#sec2 .sl .slick-dots li.slick-active button {
  background: #fff;
}
#sec2 .sl .slick-arrow {
  width: 30px;
  height: 30px;
  bottom: -11%;
  z-index: 111;
  top: auto;
}
#sec2 .sl .slick-arrow:before {
  content: '';
  display: none;
}
#sec2 .sl .slick-prev {
  left: 5%;
  background: url("../img/course/prev.png") no-repeat center top/cover;
}
#sec2 .sl .slick-next {
  right: 5%;
  background: url("../img/course/next.png") no-repeat center top/cover;
}

#sec4 {
  position: relative;
  padding: 0 0 0;
}
#sec4 .box {
  background: url("../img/course/sec4_bg.png") no-repeat center top/cover;
  color: #fff;
}
#sec4 .txt {
  padding: 5% 5% 18%;
}
#sec4 dl {
  text-align: center;
  padding: 10% 15% 0;
}
#sec4 dl dt {
  font-size: 6vw;
  font-family: 'Noto Serif JP', serif;
  border-bottom: 1px solid #000;
  padding-bottom: 5%;
}
#sec4 dl dd {
  padding-top: 5%;
}

#sec5 {
  position: relative;
}
#sec5 .box1 .txt {
  padding: 5% 28% 0 9%;
}
#sec5 .box2 {
  margin-top: -10%;
}
#sec5 .box2 .txt {
  margin-top: -5%;
  padding: 5% 5% 10% 32%;
}
#sec5 .box3 .txt {
  padding: 5% 28% 2% 9%;
}
#sec5 .note {
  text-align: center;
  padding: 5% 0 10%;
}

#sec6 {
  position: relative;
}
#sec6 .sl .txt {
  padding: 5% 5% 0;
}
#sec6 .sl .slick-dots {
  bottom: 30%;
}
#sec6 .sl .slick-dots li button {
  padding: 0;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  background: #000;
}
#sec6 .sl .slick-dots li button:before {
  content: '';
  display: none;
}
#sec6 .sl .slick-dots li.slick-active button {
  background: #fff;
}
#sec6 .note {
  text-align: center;
  padding: 5% 0;
}

#sec7 {
  position: relative;
  padding: 0 0 12%;
}
#sec7 .box1 {
  position: relative;
}
#sec7 .box1 .caption {
  padding: 0 5% 0 10%;
}
#sec7 .box2 {
  position: relative;
}
#sec7 .box2 .caption {
  padding: 2% 9% 10% 5%;
  text-align: right;
}
#sec7 .box {
  margin: 0 5%;
  background: url("../img/shared/bg2.png") repeat center top;
  position: relative;
  padding: 0 10px;
}
#sec7 .box:before {
  content: '';
  position: absolute;
  top: 5px;
  left: 5px;
  right: 5px;
  bottom: 5px;
  border: 1px solid #a55726;
}
#sec7 .box .txt {
  padding: 5%;
}
#sec7 .box .tel {
  padding: 0 0 10%;
}

#sec8 {
  position: relative;
  background: url("../img/shared/bg4.png") repeat center top;
  padding: 0 0 15%;
}
#sec8 .photo {
  padding-bottom: 8%;
}

.price {
  font-size: 6.5vw;
  font-family: 'Noto Serif JP', serif;
}
.price span {
  font-size: 4vw;
}
