/********* トップページ *********/

.bg-drawing-box {
  background: url("../img/index/bg-sp-001.png") no-repeat center top;
  background-size: cover;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .bg-drawing-box {
    background: url("../img/index/bg-pc-001.png") no-repeat center top;
    width: 100%;
  }
}
.mainv {
  position: relative;
  margin-bottom: -20px;
}
@media screen and (min-width: 768px) {
  .mainv {
    margin-bottom: 0px;
  }
}
.mainv .slider {
  margin: 0 auto;
  position: relative;
  width: 90%;
}
@media screen and (min-width: 768px) {
  .mainv .slider {
    width: 100%;
  }
}
.mainv .slider img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .mainv .slider {
    width: calc(100% - 80px);
  }
}
@media (min-width: 1119px) {
  .mainv .slider {
    max-width: 1100px;
  }
}
.mainv-announce {
  bottom: 40px;
  right: 40px;
}
@media screen and (min-width: 768px) {
  .mainv-announce {
    position: absolute;
    bottom: -162px;
    right: 95px;
  }
}
@media (min-width: 1650px) {
  .mainv-announce {
    right: 10.5vw;
    bottom: 20px;
  }
}
.news {
  position: relative;
  padding-bottom: 3vw;
}
.news {
  @media screen and (min-width: 768px) {
    max-width: 938px;
    width: 100%;
    margin-top: -30px;
    padding-bottom: 10px;
  }
}

.news img {
  position: absolute;
  z-index: 1;
}
.news .news001 {
  width: 54vw;
  height: auto;
  top: -10vw;
  left: 14vw;
}
@media screen and (min-width: 768px) {
  .news .news001 {
    width: auto;
    top: inherit;
    bottom: 10px;
    left: -4px;
  }
}
.news .news002 {
  width: 19vw;
  height: auto;
  top: 3vw;
  right: 11vw;
}
@media screen and (min-width: 768px) {
  .news .news002 {
    width: auto;
    top: 30px;
    right: 50px;
  }
}
.news-list {
  background-color: #f9f8f6;
  padding: 50px 20px 20px 20px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .news-list {
    padding: 32px 32px 32px 180px;
  }
}
.news-list li {
  padding: 12px;
  border-top: dashed 2px;
}
.news-list li:first-child,
.news-list li:nth-child(6) {
  border-color: #e97f95;
}
.news-list li:nth-child(2) {
  border-color: #5ab089;
}
.news-list li:nth-child(3) {
  border-color: #e79655;
}
.news-list li:nth-child(4) {
  border-color: #af89e8;
}
.news-list li:nth-child(5) {
  border-color: #58abda;
}
.news-list li:last-child {
  border-bottom: dashed 2px #af89e8;
}
.news-list span {
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .news-list span {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .news-list span {
    margin-left: 20px;
  }
}
#index-about .lead {
  line-height: 2;
  margin-bottom: 60px;
}
@media screen and (min-width: 768px) {
  #index-about .lead {
    text-align: center;
    margin-bottom: 60px;
  }
}
#index-about .about-pic img {
  width: 100%;
  display: block;
  margin: 0 auto 5vw;
}
@media screen and (min-width: 768px) {
  #index-about .about-pic img {
    margin: 0 auto 30px;
    width: 605px;
  }
}
@media screen and (min-width: 768px) {
  #index-about .about-list {
    display: flex;
    justify-content: space-between;
    width: calc(100% - 10px);
  }
}
#index-about .about-list li {
  background: url(../img/index/about-bg-001.png);
  position: relative;
  padding: 35px 8vw 25px;
  margin-bottom: 50px;
  width: calc(100% - 3vw);
  box-shadow: 3vw 3vw 0px 0px #e8cfd4;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  #index-about .about-list li {
    width: calc((100% - 60px) / 3);
    padding: 40px 32px 32px;
    box-shadow: 10px 10px 0px 0px #e8cfd4;
  }
}
#index-about .about-list li:nth-child(2) {
  background: url(../img/index/about-bg-002.png);
  box-shadow: 3vw 3vw 0px 0px #cedbd5;
}
@media screen and (min-width: 768px) {
  #index-about .about-list li:nth-child(2) {
    box-shadow: 10px 10px 0px 0px #cedbd5;
  }
}
#index-about .about-list li:nth-child(2) h3 {
  color: #5ab089;
}
#index-about .about-list li:nth-child(3) {
  background: url(../img/index/about-bg-003.png);
  box-shadow: 3vw 3vw 0px 0px #e6d2c2;
}

@media screen and (min-width: 768px) {
  #index-about .about-list li:nth-child(3) {
    box-shadow: 10px 10px 0px 0px #e6d2c2;
  }
}
#index-about .about-list li:nth-child(3) h3 {
  color: #e89756;
}
#index-about .about-list img {
  position: absolute;
  top: -18px;
  left: 50%;
  transform: translateX(-50%);
}
#index-about .about-list h3 {
  font-weight: bold;
  font-size: 18px;
  color: #e97f95;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 10px;
}
@keyframes pikopiko {
  0% {
    transform: rotate(-10deg);
  }
  to {
    transform: rotate(5deg);
  }
}
@media screen and (min-width: 768px) {
  .board {
    font-size: 18px;
    width: 200px;
    height: 180px;
    padding: 38px 5px 0 0;
  }
  .board span {
    font-size: 20px;
  }
  .usa {
    width: 100px;
    bottom: -23px;
    right: -18px;
  }
}
@media (min-width: 1650px) {
  .board {
    font-size: 22px;
    width: 260px;
    height: 230px;
    padding: 48px 10px 0 0;
  }
  .board span {
    font-size: 24px;
  }
  .usa {
    width: auto;
    bottom: -45px;
    right: -32px;
  }
}
#index .underLine-article {
  margin-bottom: 50px;
  line-height: 1.75;
  margin-top: 10px;
  padding: 0 4vw;
}
@media screen and (min-width: 768px) {
  #index .underLine-article {
    margin-bottom: 0px;
    max-width: 570px;
    margin-right: auto;
    margin-left: auto;
    margin-top: 0;
    padding: 0;
  }
}
#index strong {
  text-align: center;
  margin-bottom: 5px;
  font-size: 4.5vw;
  margin-bottom: 10px;
  display: block;
}
@media screen and (min-width: 768px) {
  #index strong {
    font-size: 28px;
    margin-bottom: 10px;
  }
}
.slider-8 .slick-slide {
  width: 120px;
  height: 120px;
  position: relative;
  overflow: hidden;
}
@media (min-width: 768px) {
  .slider-8 .slick-slide {
    width: 160px;
    height: 160px;
  }
}
.slider-8 .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 767px) {
  .index-menu {
    padding-top: 0;
    padding-bottom: 90px;
    margin-top: -40px;
  }
  .index-menu li:not(:last-child) {
    margin-bottom: 20px;
  }
  .index-menu li:nth-child(2n-1) {
    margin-right: 10%;
  }
  .index-menu li:nth-child(2n) {
    margin-left: 10%;
  }
  .index-menu li:nth-child(3) {
    margin-bottom: 0px;
  }
  .index-menu li:nth-child(4) {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  .index-menu {
    padding: 0 10px 120px;
    margin-top: -50px;
  }
  .index-menu li {
    width: 30%;
    margin-bottom: 0;
  }
  .index-menu li:not(:last-child) {
    margin-right: 30px;
  }
  .index-menu li:nth-child(2) {
    margin-top: 40px;
  }
}
@media screen and (min-width: 1400px) {
  .index-menu {
    max-width: 1335px;
  }
}
#index-lesson {
  background: url(../img/index/lesson-bg.png);
}
#index-lesson .lead {
  line-height: 2;
  margin-bottom: 50px;
}
@media screen and (min-width: 768px) {
  #index-lesson .lead {
    text-align: center;
    margin-bottom: 60px;
  }
}

@media screen and (min-width: 768px) {
  #index-lesson .lesson-list {
    display: flex;
    justify-content: space-between;
  }
}
#index-lesson .lesson-list li {
  background-color: #fff;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  #index-lesson .lesson-list li {
    width: 48%;
  }
}
#index-lesson .lesson-list .top {
  background-color: #f9f8f6;
  padding: 20px 5vw;
}
@media screen and (min-width: 768px) {
  #index-lesson .lesson-list .top {
    padding: 30px 40px;
  }
}
@media screen and (max-width: 767px) {
  #index-lesson .lesson-list .top p {
    padding: 2vw 5vw 2vw;
  }
}
#index-lesson .lesson-list h3 {
  text-align: center;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  #index-lesson .lesson-list h3 {
    margin-bottom: 20px;
  }
}
#index-lesson .lesson-list img {
  width: 100%;
  @media screen and (max-width: 767px) {
    width: 100%;
  }
}
#index-lesson .lesson-list .bottom {
  padding: 20px 5vw;
  font-size: 12px;
}
@media screen and (min-width: 768px) {
  #index-lesson .lesson-list .bottom {
    padding: 30px 40px;
    font-size: 14px;
  }
}
#index-lesson .lesson-list table {
  width: 100%;
}
#index-lesson .lesson-list table td {
  padding: 12px 18px;
}
#index-lesson .lesson-list table .left {
  text-align: center;
  vertical-align: middle;
  border-right: 1px solid #999;
  border-bottom: 1px solid #999;
  padding: 0 8px;
  width: 65px;
}
#index-lesson .lesson-list table .right {
  line-height: 1.75;
  border-bottom: 1px solid #999;
}
#index-lesson .lesson-list table tr:last-child td {
  border-bottom: none;
}
@media screen and (min-width: 768px) {
  #index-lesson .lesson-list table td {
    padding: 24px 30px;
  }
  #index-lesson .lesson-list table td.left {
    width: 100px;
  }
}
#index-lesson .announce {
  margin-bottom: 30px;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  #index-lesson .announce {
    max-width: 730px;
    margin: 0 auto;
    margin-bottom: 60px;
    margin-top: 30px;
  }
}
@media screen and (min-width: 1119px) {
  #index-lesson .announce {
    width: fit-content;
  }
}
#index-lesson .announce li {
  text-indent: -0.5em;
  padding-left: 1em;
}
.border-btn {
  padding: 5px;
  background-color: #58abda;
  display: block;
  width: 70%;
  margin: 0 auto 20px;
  min-width: 240px;
}
@media screen and (min-width: 768px) {
  .border-btn {
    padding: 5px;
    margin: 0 auto 50px;
    width: 300px;
  }
}
.border-btn div {
  color: #fff;
  font-weight: bold;
  text-align: center;
  border: 1px solid #fff;
  padding: 10px 20px;
  font-size: 15px;
}
@media screen and (min-width: 768px) {
  .border-btn div {
    padding: 10px 20px;
    font-size: 18px;
  }
}
.border-btn div img {
  padding-bottom: 7px;
}
@media screen and (min-width: 768px) {
  .border-btn div img {
    padding-bottom: 10px;
  }
}
#index-lesson .gazai {
  background-color: #f9f8f6;
  padding: 20px 5vw 30px;
  position: relative;
  margin-top: 40px;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  #index-lesson .gazai {
    padding: 40px 50px;
    max-width: 809px;
    margin: 70px auto 20px;
  }
}
#index-lesson .gazai h3 img {
  height: 22px;
  width: auto;
  margin-bottom: 8px;
}
@media screen and (min-width: 768px) {
  #index-lesson .gazai h3 {
    height: auto;
  }
}
#index-lesson .gazai p {
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  #index-lesson .gazai p {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  #index-lesson .gazai .ul-wrap {
    display: flex;
    justify-content: center;
  }
}
@media screen and (min-width: 768px) {
  #index-lesson .gazai .ul-wrap {
    display: flex;
    justify-content: left;
  }
}
#index-lesson .gazai .ul-wrap ul {
  @media screen and (min-width: 768px) {
    margin: 0 60px 0 0;
  }
}
#index-lesson .gazai-pic {
  position: absolute;
  bottom: -3vw;
  right: 3vw;
  width: 27vw;
  height: auto;
}
@media screen and (min-width: 768px) {
  #index-lesson .gazai-pic {
    bottom: -40px;
    right: -32px;
    width: auto;
  }
}
.index-gallery-notmove .banner-gallery img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .index-gallery-notmove .banner-gallery img {
    width: 630px;
    margin: 0 auto;
    display: block;
  }
}
.index-gallery-notmove .border-btn {
  background-color: #e79655;
}
.index-gallery-notmove .gallery-list {
  margin-top: 60px;
  margin-bottom: 30px;
}

.index-gallery-notmove .gallery-list li {
  text-align: center;
  width: 47%;
  margin-bottom: 3%;
}
.index-gallery-notmove .gallery-list a:hover {
  opacity: 0.6;
  transition: 0.3s;
}
.index-gallery-notmove .btn-common {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .index-gallery-notmove .gallery-list li {
    width: 17%;
    margin-bottom: 2%;
  }
}
.index-gallery-notmove .gallery-list img {
  width: 100%;
  margin-bottom: 5%;
}
@media screen and (min-width: 768px) {
  .index-gallery-notmove .contents-box {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .index-gallery-notmove .gallery-list a {
    width: 17%;
  }
}

.index-gallery li {
  margin-right: 5px;
}
@media screen and (min-width: 768px) {
  .index-gallery li {
    margin-right: 10px;
  }
}
.index-gallery li a:hover {
  opacity: 0.6;
  transition: 0.3s;
}
.index-gallery .slider-8 {
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .index-gallery .slider-8 {
    margin-bottom: 20px;
  }
}
#index-coach {
  background-image: url(../img/index/coach-bg.png);
}
#index-coach .instructor .instructor-box {
  align-items: flex-start;
}
#index-coach .instructor .img {
  margin: 0 auto;
  width: 150px;
  display: block;
}
#index-coach .instructor .text {
  line-height: 2;
  text-align: justify;
  margin-top: 20px;
  margin-bottom: 20px;
}
#index-coach .instructor .text .name {
  font-size: 18px;
  margin-bottom: 5px;
}
#index-coach .instructor .text .detail {
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  #index-coach .instructor .img {
    margin: 0;
    width: 18%;
    align-self: flex-start;
  }
  #index-coach .instructor .text {
    width: 79%;
    margin-top: 0;
    font-size: 14px;
    margin-bottom: 30px;
  }
}
#index-coach .border-btn {
  background-color: #e97f95;
}

/********* ギャラリー一覧 *********/
#artwork-index .kv {
  text-align: center;
  margin-bottom: 20px;
}
#artwork-index .kv img {
  width: 100%;
  object-fit: cover;
  height: 33vw;
}
@media screen and (min-width: 768px) {
  #artwork-index .kv {
    margin-bottom: 50px;
  }
  #artwork-index .kv img {
    max-width: 1536px;
    height: 320px;
  }
}
#artwork-index .photo-list a {
  text-align: center;
  width: 47%;
}
#artwork-index .photo-list a:hover {
  opacity: 0.6;
  transition: 0.3s;
}
#artwork-index .photo {
  margin-bottom: 10%;
}
#artwork-index .photo img {
  width: 100%;
  margin-bottom: 4%;
}
@media screen and (min-width: 768px) {
  #artwork-index .photo-list a {
    width: 17%;
  }
  #artwork-index .photo {
    margin-bottom: 10%;
  }
}
#artwork-index .yk .list li img,
#artwork-index .petit .list li img {
  width: 100%;
}
#artwork-index .yk .list li {
  width: 30%;
}
#artwork-index .petit .list li {
  width: 45%;
}
@media screen and (min-width: 768px) {
  #artwork-index .yk .list li {
    width: 14.5%;
  }
  #artwork-index .petit .list li {
    width: 20%;
  }
}
#artwork-index .common-ttl {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  #artwork-index .common-ttl {
    margin-top: 60px;
  }
}
#artwork-index .sub-title {
  margin-bottom: 3px;
}
@media screen and (min-width: 768px) {
  #artwork-index .sub-title {
    margin-bottom: 5px;
  }
}

#index-apply .border-btn {
  background-color: #5ab089;
}

/********* ギャラリー 個人ページ *********/
#artwork-person .gallery-title {
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  #artwork-person .gallery-title {
    padding-top: 5vw;
    margin-bottom: -3vw;
  }
}
#artwork-person .gallery-title img {
  width: 100%;
}
#artwork-person .pickup {
  text-align: center;
  margin-bottom: -70px;
}
#artwork-person .pickup .pickup-img {
  width: 70%;
  box-shadow: 0px 0px 6px 0 rgba(206, 206, 206, 0.6);
}
#artwork-person .pickup .pickup-img.yoko {
  width: 100%;
}
#artwork-person .pickup h2 {
  margin-top: 15px;
}
#artwork-person .pickup h2 img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #artwork-person .pickup {
    margin-bottom: -120px;
    padding-top: 30px;
  }
  #artwork-person .pickup .pickup-img.yoko {
    width: auto;
  }
  #artwork-person .pickup .pickup-img {
    width: 400px;
  }
  #artwork-person .pickup h2 {
    margin-top: 20px;
  }
  #artwork-person .pickup h2 img {
    width: auto;
  }
}
#artwork-person .person-list .box-child {
  width: 30%;
  margin-bottom: 5%;
  margin-right: 5%;
  box-shadow: 0px 0px 6px 0 rgba(206, 206, 206, 0.6);
}
#artwork-person .person-list .zoom {
  width: 100%;
}
@media (max-width: 767px) {
  #artwork-person .person-list .box-child:nth-child(3n) {
    margin-right: 0;
  }
}
@media screen and (min-width: 768px) {
  #artwork-person .person-list .box-child {
    width: 14%;
    margin-bottom: 3%;
    margin-right: 3%;
  }
  #artwork-person .person-list .box-child:nth-child(6n) {
    margin-right: 0;
  }
}
#artwork-person .bunrui {
  font-size: 20px;
  margin-top: 30px;
  margin-bottom: 10px;
  font-weight: normal;
}
#artwork-person .bunrui:first-child {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  #artwork-person .bunrui {
    font-size: 30px;
    margin-bottom: 8px;
  }
  #artwork-person .bunrui:first-child {
    margin-top: 0px;
  }
}

/********* 教室について *********/
#about .tokuchou {
  background-color: #f1f8fb;
}
#about .tokuchou:before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 20px;
  background: url("../img/common/pic-section-blue-001.png") no-repeat;
  background-size: cover;
  position: absolute;
  top: -20px;
}
#about .tokuchou:after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 20px;
  background: url("../img/common/pic-section-blue-002.png") no-repeat;
  background-size: cover;
  position: absolute;
  bottom: -20px;
}
#about .tokuchou-list {
  margin-top: 20px;
}
#about .tokuchou-list li {
  background-color: #fff;
  position: relative;
  padding: 30px 20px 20px 20px;
  box-sizing: border-box;
  margin-bottom: 50px;
  box-shadow: 10px 10px 0 #e6e6e6;
  margin-right: 10px;
}
@media (max-width: 767px) {
  #about .tokuchou-list li:last-child {
    margin-bottom: 20px;
  }
}
#about .tokuchou-list .num {
  position: absolute;
  top: -26px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  width: 60px;
}
#about .tokuchou-list h4 {
  text-align: center;
  font-size: 20px;
  margin-bottom: 10px;
  line-height: 1.5;
}
#about .tokuchou-list li:nth-child(1) h4 {
  color: #f98801;
}
#about .tokuchou-list li:nth-child(2) h4 {
  color: #e7288a;
}
#about .tokuchou-list li:nth-child(3) h4 {
  color: #99b609;
}
#about .tokuchou-list p {
  line-height: 1.75;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  #about .tokuchou-list {
    display: flex;
    justify-content: space-between;
  }
  #about .tokuchou-list li {
    width: 30%;
    padding: 40px 30px 30px 30px;
    margin-bottom: 10px;
  }
  #about .tokuchou-list .num {
    width: auto;
    top: -35px;
  }
  #about .tokuchou-list h4 {
    font-size: 24px;
    margin-bottom: 9px;
  }
}
#about .precious .precious-list {
  background: #fbf7f2;
  padding: 20px;
}
#about .precious .precious-list li:not(:last-child) {
  margin-bottom: 10px;
}
#about .precious .precious-list h4 {
  font-size: 16px;
  margin-bottom: 4px;
  color: #f47d16;
}
@media screen and (min-width: 768px) {
  #about .precious .precious-list {
    padding: 30px 40px;
    max-width: 540px;
    margin: 0 auto;
  }
  #about .precious .precious-list li li:not(:last-child) {
    margin-bottom: 20px;
  }
  #about .precious .precious-list h4 {
    font-size: 20px;
  }
}
#about .instructor {
  background-color: #f6f2fb;
}
#about .instructor:before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 20px;
  background: url("../img/common/pic-section-purple-001.png") no-repeat;
  background-size: cover;
  position: absolute;
  top: -20px;
}
#index .osusume {
  background-color: #fbf2f2;
}
#index .osusume:before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 20px;
  background: url("../img/common/pic-section-red-001.png") no-repeat;
  background-size: cover;
  position: absolute;
  top: -20px;
}
#index .osusume:after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 20px;
  background: url(../img/common/pic-section-red-002.png) no-repeat;
  background-size: cover;
  position: absolute;
  bottom: -20px;
}
@media screen and (min-width: 768px) {
  #index .osusume .contents-box {
    padding-top: 80px;
    padding-bottom: 50px;
  }
}
#index .osusume .osusume-list li {
  margin-bottom: 25px;
  align-items: flex-start;
}
#index .osusume .osusume-list li img {
  width: 30%;
}
#index .osusume .osusume-list li p {
  width: 63%;
  background-color: #fff;
  padding: 15px;
  box-sizing: border-box;
  text-align: justify;
  position: relative;
  font-size: 14px;
}
#index .osusume .osusume-list li p:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -20px;
  margin-top: -6px;
  border: 6px solid transparent;
  border-right: 15px solid #fff;
}
@media screen and (min-width: 768px) {
  /*    #index .osusume {
        background: url("../img/about/recommend-bg-pc-001.png") no-repeat;
    }*/
  #index .osusume .osusume-list {
    flex-wrap: wrap;
    display: flex;
    justify-content: space-between;
    margin-bottom: -30px;
  }
  #index .osusume .osusume-list li {
    margin-bottom: 30px;
    width: 48.5%;
  }
  #index .osusume .osusume-list li img {
    width: 24%;
  }
  #index .osusume .osusume-list li p {
    padding: 40px 30px;
    width: 70%;
    font-size: 18px;
  }
  #index .osusume .osusume-list li p:before {
    top: 68px;
    left: -28px;
    margin-top: -10px;
    border: 10px solid transparent;
    border-right: 20px solid #fff;
  }
}
#about .instructor .instructor-box {
  align-items: flex-start;
}
#about .instructor .img {
  margin: 0 auto;
  width: 150px;
  display: block;
}
#about .instructor .text {
  line-height: 2;
  text-align: justify;
  margin-top: 20px;
}
#about .instructor .text .name {
  font-size: 18px;
  margin-bottom: 5px;
}
@media screen and (min-width: 768px) {
  #about .instructor .img {
    margin: 0;
    width: 18%;
  }
  #about .instructor .text {
    width: 79%;
    margin-top: 0;
    font-size: 14px;
  }
  #about .instructor .text .name {
    margin-bottom: 15px;
  }
}
#curriculum .intro {
  line-height: 1.75;
  font-size: 14px;
  padding-bottom: 0;
}
@media screen and (min-width: 768px) {
  #curriculum .intro {
    line-height: 1.75;
    font-size: 24px;
    padding-bottom: 100px;
  }
}
#curriculum .both {
  position: relative;
}
#curriculum .curriculum-bg {
  position: absolute;
  z-index: -1;
  top: 33vw;
  width: 80%;
  height: 77%;
}
@media screen and (min-width: 768px) {
  #curriculum .curriculum-bg {
    top: 0;
    width: 95%;
    height: 100%;
    max-width: 1480px;
  }
}
#curriculum .both {
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
  #curriculum .both {
    margin-bottom: 12vw;
  }
}
@media screen and (min-width: 1400px) {
  #curriculum .both {
    margin-bottom: 170px;
  }
}
#curriculum .kaiga .curriculum-bg {
  background-color: #ebf3f6;
  left: 0;
}
#curriculum .illustration .curriculum-bg {
  background-color: #fcf2e2;
  right: 0;
}
@media screen and (min-width: 768px) {
  #curriculum .both .contents-box {
    display: flex;
    max-width: 1450px;
    margin: 0 7% 0 0;
    padding: 40px 30px;
    position: relative;
  }
  #curriculum .kaiga {
    margin-top: 40px;
  }
  #curriculum .illustration .contents-box {
    margin: 0;
    margin-left: auto;
  }
}
#curriculum .both .img {
  margin-bottom: 20px;
  text-align: center;
}
#curriculum .both .img img {
  margin: 0 5px;
}
#curriculum .both .img .big {
  width: 50%;
  margin-bottom: 20px;
}
#curriculum .both .img .small {
  width: 30%;
}
@media screen and (min-width: 768px) {
  #curriculum .both .img {
    width: 36vw;
    margin-bottom: 0;
    position: absolute;
    top: 50%;
    left: 1vw;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }
  #curriculum .both.illustration .img {
    right: 1vw;
    left: auto;
  }
  #curriculum .both .img .big {
    margin-bottom: 80px;
  }
  #curriculum .both .text {
    margin-left: 44.5%;
  }
  #curriculum .both.illustration .text {
    margin-left: 7%;
    margin-right: 40%;
  }
}
@media screen and (min-width: 1100px) {
  #curriculum .both .img {
    left: 2vw;
  }
  #curriculum .both .text {
    margin-left: 44.5%;
  }
}
@media screen and (min-width: 1500px) {
  #curriculum .both .img {
    width: 570px;
    left: 5%;
  }
  #curriculum .both.illustration .text {
    margin-left: 0;
  }
}
#curriculum .both p {
  line-height: 1.75;
  text-align: justify;
}
#curriculum .hyougen-title {
  font-size: 20px;
  margin-bottom: 8px;
  color: #50b0dd;
}
@media screen and (min-width: 768px) {
  #curriculum .hyougen-title {
    font-size: 30px;
  }
}
#curriculum .illustration .hyougen-title {
  color: #ef960a;
}
@media screen and (min-width: 768px) {
  #information .lesson .lead-article {
    font-size: 16px;
  }
}
#information .lesson .lesson-list {
  margin-bottom: 60px;
}
@media screen and (min-width: 768px) {
  #information .lesson .lesson-list {
    display: flex;
    flex-wrap: wrap;
  }
}
#information .lesson .lesson-list li {
  margin-bottom: 20px;
  position: relative;
  margin-top: 50px;
}
#information .lesson .lesson-list .text {
  position: absolute;
  top: -30px;
  left: 0;
}
#information .lesson .lesson-list .text img {
  width: 15vw;
  margin-bottom: 10px;
}
#information .lesson .lesson-list .text p {
  line-height: 1.75;
  font-size: 18px;
}
#information .lesson .lesson-list .text p span {
  background-color: #fff;
  padding: 1px 5px 1px 0;
}
#information .lesson .lesson-list li .art-pic {
  width: 100%;
  height: auto;
  padding: 0 5px 0 30px;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  #information .lesson .lesson-list .text img {
    width: 80px;
  }
  #information .lesson .lesson-list .text p {
    font-size: 20px;
  }
  #information .lesson .lesson-list li {
    width: 48%;
  }
}
@media (min-width: 1119px) {
  #information .lesson .lesson-list .text img {
    width: auto;
  }
  #information .lesson .lesson-list .text p {
    font-size: 24px;
  }
}
#information .date-fee {
  background-color: #f1f8fb;
}
#information .date-fee:before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 20px;
  background: url("../img/common/pic-section-blue-001.png") no-repeat;
  background-size: cover;
  position: absolute;
  top: -20px;
}
#information .date-fee:after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 20px;
  background: url("../img/common/pic-section-blue-002.png") no-repeat;
  background-size: cover;
  position: absolute;
  bottom: -20px;
}

#information .date-fee .date-fee-box {
  background: #fff;
  padding: 24px 12px;
  box-sizing: border-box;
  font-size: 12px;
  margin-bottom: 24px;
}
@media screen and (min-width: 768px) {
  #information .date-fee .date-fee-box {
    width: 48%;
    padding: 30px;
    font-size: 14px;
    margin-bottom: 48px;
  }
}
#information .date-fee table {
  width: 100%;
}
#information .date-fee table td {
  padding: 12px 18px;
}
#information .date-fee table .left {
  text-align: center;
  vertical-align: middle;
  border-right: 1px solid #999;
  border-bottom: 1px solid #999;
  padding: 0 8px;
  width: 65px;
}
#information .date-fee table .right {
  line-height: 1.75;
  border-bottom: 1px solid #999;
}
#information .date-fee table tr:last-child td {
  border-bottom: none;
}
@media screen and (min-width: 768px) {
  #information .date-fee table td {
    padding: 24px 30px;
  }
  #information .date-fee table td.left {
    width: 100px;
  }
}
@media screen and (min-width: 768px) {
  #information .date-fee .announce {
    max-width: 730px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1119px) {
  #information .date-fee .announce {
    width: fit-content;
  }
}
#information .flow {
  background-color: #fbf2f2;
}
#information .flow:before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 20px;
  background: url("../img/common/pic-section-red-001.png") no-repeat;
  background-size: cover;
  position: absolute;
  top: -20px;
}
#information .flow:after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 20px;
  background: url(../img/common/pic-section-red-002.png) no-repeat;
  background-size: cover;
  position: absolute;
  bottom: -20px;
}
#information .flow .flow-list {
  margin-top: 30px;
  margin-bottom: 50px;
}
#information .flow .flow-list .top {
  background-color: #ebebeb;
  position: relative;
  padding: 12px 8px;
  text-align: center;
  font-size: 16px;
}
#information .flow .flow-list .box {
  background-color: #fff;
  position: relative;
}
#information .flow .flow-list .box:before {
  content: "";
  position: absolute;
  background-image: url(../img/information/flow-num-001.png);
  background-repeat: no-repeat;
  width: 70px;
  height: 35px;
  background-size: contain;
  top: -10px;
  left: 10px;
  z-index: 5;
}
#information .flow .flow-list .box:nth-child(2):before {
  background-image: url(../img/information/flow-num-002.png);
}
#information .flow .flow-list .box:nth-child(3):before {
  background-image: url(../img/information/flow-num-003.png);
}
#information .flow .flow-list .box:nth-child(4):before {
  background-image: url(../img/information/flow-num-004.png);
}
#information .flow .flow-list .bottom {
  margin-bottom: 30px;
  padding: 16px;
}
#information .flow .flow-list .box:not(:last-child):after {
  content: "";
  position: absolute;
  border-top: 12px solid #c868f0;
  border-right: 15px solid transparent;
  border-left: 15px solid transparent;
  bottom: -22px;
  left: 50%;
  transform: translateX(-50%);
}
#information .flow .flow-list .bottom .font-small {
  font-size: 12px;
  line-height: 1.5;
  display: inline-block;
  margin-top: 0.3em;
}
@media screen and (min-width: 768px) {
  #information .flow .flow-list {
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
    margin-bottom: 60px;
  }
  #information .flow .flow-list .box {
    width: 22.2%;
    box-sizing: border-box;
  }
  #information .flow .flow-list .box:before {
    left: -15px;
    top: -18px;
    width: 90px;
    height: 50px;
  }
  #information .flow .flow-list .bottom {
    font-size: 14px;
    margin-bottom: 0;
    line-height: 1.6;
    padding: 20px;
  }
  #information .flow .flow-list .box:not(:last-child):after {
    border-left: 12px solid #c868f0;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    border-right: none;
    bottom: calc(50% - 15px);
    left: auto;
    right: -33px;
  }
}
#information .tool-box {
  background-color: #f6f6f6;
  width: 100%;
  padding: 20px;
  margin-bottom: 10px;
  font-size: 13px;
  box-sizing: border-box;
}
#information .tool-box h5 {
  font-size: 16px;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  #information .tool-wrap {
    max-width: 700px;
    margin: 0 auto;
  }
  #information .tool-box {
    padding: 20px 30px;
    margin-bottom: 0;
    font-size: 14px;
  }
  #information .pen {
    width: 37%;
  }
  #information .drawing {
    width: 60%;
  }
  #information .tool-box h5 {
    font-size: 18px;
    margin-bottom: 15px;
    text-align: center;
  }
  #information .tool-box .colorful-list li {
    margin-bottom: 8px;
  }
  #information .drawing .colorful-list li {
    width: 45%;
  }
}
#information .apply .sub-title {
  top: -11px;
}
@media screen and (min-width: 768px) {
  #information .apply .lead-article {
    max-width: 620px;
    margin: 0 auto 50px;
  }
  #information .apply .sub-title {
    top: -20px;
  }
}
