@charset "UTF-8";
/* common */
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  font-style: normal;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
  color: black;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/* small screen */
body {
  margin: 0;
  font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}

body header {
  height: 6vh;
  width: 100%;
  background-color: white;
  position: fixed;
  z-index: 20;
}

body header h1 {
  background-color: white;
}

body header h1 a {
  font-size: 16px;
  line-height: 6vh;
  padding: 0 3vw;
  letter-spacing: 0.5px;
  font-weight: lighter;
}

body header .header-nav {
  visibility: hidden;
}

body header .hamburger-menu {
  width: 10px;
}

body header .hamburger-menu input[id="hamburger"] {
  position: absolute;
  top: -100vw;
}

body header .hamburger-menu input[type="checkbox"]:checked ~ .close {
  visibility: visible;
}

body header .hamburger-menu input[type="checkbox"]:checked ~ .open {
  visibility: hidden;
}

body header .hamburger-menu .close {
  visibility: hidden;
  position: absolute;
  display: block;
  top: 0.1vh;
  margin-top: 0.8vh;
  right: 5vw;
  z-index: 200;
  cursor: pointer;
  padding: 0px 6px 0 1px;
  background-color: white;
  border: solid 1px #bf9f50;
}

body header .hamburger-menu .close p:before {
  vertical-align: sub;
  content: "×";
  display: inline;
  color: #bf9f50;
  font-size: 4vh;
  padding-right: 1.6vw;
}

body header .hamburger-menu .close p {
  padding-left: 2vw;
  color: black;
  font-size: 2vh;
  display: inline;
}

body header .hamburger-menu .open {
  position: absolute;
  display: block;
  top: 0.1vh;
  margin-top: 0.8vh;
  right: 5vw;
  z-index: 1;
  cursor: pointer;
  padding: 0px 6px 0 1px;
  border: solid 1px #bf9f50;
}

body header .hamburger-menu .open p:before {
  vertical-align: sub;
  content: "≡";
  display: inline;
  color: #bf9f50;
  font-size: 4vh;
  padding-right: 1.6vw;
}

body header .hamburger-menu .open p {
  padding-left: 2vw;
  color: black;
  font-size: 2vh;
  display: inline;
}

body header .hamburger-menu input[type="checkbox"]:checked ~ nav {
  visibility: visible;
  left: 0px;
}

body header .hamburger-menu nav {
  display: block;
  position: absolute;
  top: 0;
  right: -100vw;
  height: 100vh;
  width: 100vw;
  visibility: hidden;
  background: #bf9f50;
}

body header .hamburger-menu nav ul {
  padding-top: 10vh;
  width: 100%;
  padding-left: 40px;
}

body header .hamburger-menu nav ul li:before {
  border-radius: 50%;
  /*丸くする*/
  width: 5px;
  /*点の幅*/
  height: 5px;
  /*点の高さ*/
  display: block;
  position: absolute;
  /*絶対配置*/
  left: 0;
  /*点の位置*/
  top: 8px;
  /*点の位置*/
  content: "";
  background: white;
  /*点の色*/
}

body header .hamburger-menu nav ul li {
  height: 8vh;
  padding: 0 20px;
  list-style-type: none;
  /*点を非表示*/
  position: relative;
  /*基準位置*/
}

body header .hamburger-menu nav ul li a {
  font-size: 18px;
  color: white;
  display: table;
  width: 100%;
  height: 100%;
  font-weight: lighter;
  letter-spacing: 8px;
}

body header .hamburger-menu nav .nav-footer {
  padding-left: 40px;
  padding-top: 10vh;
  line-height: 30px;
}

body header .hamburger-menu nav .nav-footer a:first-child img {
  width: 30px;
}

body header .hamburger-menu nav .nav-footer a:nth-child(2) {
  letter-spacing: 8px;
  margin-top: 50%;
  right: 40px;
  margin: auto;
  position: absolute;
  color: white;
  font-size: 18px;
}

body main {
  padding-top: 6vh;
}

body main .main-visual-wrapper {
  background-color: #617f2b;
  height: 94vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}

body main .main-visual-wrapper .main-visual {
	display: none;
  height: 74vh;
  width: 77vw;
  background-image: url("../img/メインビジュアル.jpg");
  background-position: 50% 60%;
  background-size: cover;
  background-repeat: no-repeat;
  border: solid 2px #bf9f50;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body main .main-visual-wrapper .title-base {
  position: absolute;
  top: 6vh;
  width: 100%;
  height: 100%;
}

body main .main-visual-wrapper .title-base h1 {
  position: absolute;
  top: 4vh;
  left: 80vw;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  font-size: 7.2vh;
  font-weight: lighter;
  letter-spacing: 7px;
  color: white;
  text-shadow: 1px 1px 30px black;
}

body main .main-visual-wrapper .title-base h1 br {
  display: none;
}

body main .main-visual-wrapper .title-base .main-visual-copy {
  position: absolute;
  bottom: 23vh;
  left: 4vw;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  height: auto;
  line-height: 30px;
  font-size: 2vh;
  font-size: 2vh;
  font-weight: 100;
  color: white;
  text-shadow: 1px 1px 30px black;
  letter-spacing: 6px;
}

body main .main-visual-wrapper .title-base .name {
  position: absolute;
  top: 84vh;
  left: 6vw;
  width: auto;
  line-height: 30px;
  font-size: 28px;
  font-size: 1.7em;
  font-weight: 100;
  color: white;
  text-shadow: 1px 1px 30px black;
}

body main .main-content-wrapper {
  padding: 0 4vw;
}

body main .main-content-wrapper .main-copy {
  margin-top: 30px;
}

body main .main-content-wrapper .main-copy p {
  font-size: 4vw;
  line-height: 40px;
}

body main .main-content-wrapper .main-copy p span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, rgba(97, 127, 43, 0.2)));
  background: linear-gradient(transparent 70%, rgba(97, 127, 43, 0.2) 70%);
}

body main .main-content-wrapper .main-copy p span span {
  font-weight: bold;
}

body main .main-content-wrapper .main-content {
  border-radius: 30px;
  border: solid 1px #bf9f50;
  margin-top: 40px;
  padding: 28px 6vw;
}

body main .main-content-wrapper .main-content p {
  text-align: center;
  font-size: 0.7em;
  line-height: 24px;
  letter-spacing: -1px;
}

body main .main-content-wrapper .main-content .contact {
  border-bottom: solid 1px #bf9f50;
  text-align: center;
}

body main .main-content-wrapper .main-content .contact h3 {
  font-size: 14px;
  font-weight: lighter;
  margin: 10px;
  color: #bf9f50;
}

body main .main-content-wrapper .main-content .contact p {
  margin-bottom: -6px;
}

body main .main-content-wrapper .main-content .contact p a {
  margin-left: 10px;
}

body main .main-content-wrapper .main-content .contact h4 {
  font-weight: lighter;
  margin-bottom: 8px;
}

body main .main-content-wrapper .main-content .contact p:last-child {
  margin-bottom: 27px;
}

body main .main-content-wrapper .main-content #school1 .school-header p br:first-child {
  display: none;
}

body main .main-content-wrapper .main-content #school4 .school-header h3 {
  font-size: 0.7em;
}

body main .main-content-wrapper .main-content .profile p {
  text-align: left;
}

body main .main-content-wrapper .main-content .profile .profile-pic-wrapper {
  text-align: center;
  margin: 18px;
}

body main .main-content-wrapper .main-content .profile .profile-pic-wrapper .profile-pic {
  width: 14vw;
}

body main .main-content-wrapper .main-content .profile .profile-pic-wrapper h3 {
  display: inline-block;
  font-weight: lighter;
  font-size: 14px;
}

body main .main-content-wrapper .main-content ul {
  list-style-position: inside;
}

body main .main-content-wrapper .main-content ul li:before {
  border-radius: 50%;
  /*丸くする*/
  width: 5px;
  /*点の幅*/
  height: 5px;
  /*点の高さ*/
  display: block;
  position: absolute;
  /*絶対配置*/
  left: 0;
  /*点の位置*/
  top: 14px;
  /*点の位置*/
  content: "";
  background: #bf9f50;
}

body main .main-content-wrapper .main-content ul li {
  list-style-type: none;
  /*点を非表示*/
  position: relative;
  /*基準位置*/
  padding-left: 0.6em;
}

body main .main-content-wrapper .main-content ul li p {
  text-align: left;
}

body main .main-content-wrapper .main-content .small-nav {
  display: -ms-grid;
  display: grid;
      grid-template-areas: "school-nav1 school-nav2" "school-nav3 school-nav4";
  justify-items: center;
}

body main .main-content-wrapper .main-content .small-nav .school-nav1, body main .main-content-wrapper .main-content .small-nav .school-nav2, body main .main-content-wrapper .main-content .small-nav .school-nav3, body main .main-content-wrapper .main-content .small-nav .school-nav4 {
  background-image: none;
  padding-left: 0;
  display: table;
  border-radius: 30px;
  height: 32px;
  width: 35vw;
  margin-bottom: 10px;
  border: solid 1px #bf9f50;
}

body main .main-content-wrapper .main-content .small-nav .school-nav1 p, body main .main-content-wrapper .main-content .small-nav .school-nav2 p, body main .main-content-wrapper .main-content .small-nav .school-nav3 p, body main .main-content-wrapper .main-content .small-nav .school-nav4 p {
  letter-spacing: 2px;
  font-size: 12px;
  margin: 0;
  padding: 0;
  display: table-cell;
  vertical-align: middle;
  color: #bf9f50;
  line-height: 28px;
}

body main .main-content-wrapper .main-content .small-nav .school-nav1 p a, body main .main-content-wrapper .main-content .small-nav .school-nav2 p a, body main .main-content-wrapper .main-content .small-nav .school-nav3 p a, body main .main-content-wrapper .main-content .small-nav .school-nav4 p a {
  border-radius: 30px;
  width: 35vw;
  line-height: 32px;
  display: block;
}

body main .main-content-wrapper .main-content .small-nav .school-nav4 p {
  font-size: 0.6em;
}

body main .main-content-wrapper .main-content h2 {
  font-weight: lighter;
  font-size: 20px;
  padding-bottom: 20px;
  text-align: center;
  border-bottom: solid 1px #bf9f50;
  margin-bottom: 20px;
}

body main .main-content-wrapper .main-content .school {
  padding-top: 30px;
}

body main .main-content-wrapper .main-content .school .school-header p {
  line-height: initial;
}

body main .main-content-wrapper .main-content .school ul {
  list-style-position: inside;
}

body main .main-content-wrapper .main-content .school ul li:first-child {
  margin-top: 16px;
  padding-top: 8px;
  border-top: dotted 1px #bf9f50;
}

body main .main-content-wrapper .main-content .school ul li:before {
  border-radius: 50%;
  /*丸くする*/
  width: 5px;
  /*点の幅*/
  height: 5px;
  /*点の高さ*/
  display: block;
  position: absolute;
  /*絶対配置*/
  left: 0;
  /*点の位置*/
  top: 14px;
  /*点の位置*/
  content: "";
  background: #bf9f50;
  /*点の色*/
}

body main .main-content-wrapper .main-content .school ul li {
  padding-top: 8px;
  padding-bottom: 8px;
  font-size: 15px;
  border-bottom: dotted 1px #bf9f50;
  list-style-type: none;
  /*点を非表示*/
  position: relative;
  /*基準位置*/
  padding-left: 0.6em;
}

body main .main-content-wrapper .main-content .school h3 {
  letter-spacing: 2px;
  margin: 0 auto 10px;
  border-radius: 30px;
  text-align: center;
  font-weight: lighter;
  font-size: 14px;
  padding: 10px 0;
  width: 40vw;
  color: white;
  background-color: #bf9f50;
  border: solid 1px #bf9f50;
}

body main .main-content-wrapper .main-content .school .img-box .flexslider {
  margin: 0 auto;
}

body main .main-content-wrapper .main-content .school .img-box .flexslider ul li:before {
  display: none;
}

body main .main-content-wrapper .main-content .school .img-box .flexslider ul li {
  margin: initial;
  padding: initial;
  border: none;
  list-style: none;
}

body main .main-content-wrapper .main-content .school .img-box .flexslider ul li a {
  color: white;
  background-color: transparent;
}

body main .main-content-wrapper .main-content .school .school-footer .class-detail li:before {
  top: 19px;
  /*点の位置*/
}

body main .main-content-wrapper .main-content .school .school-footer .class-detail li {
  padding-left: 12px;
  font-size: 12px;
  font-size: 4vw;
}

body main .main-content-wrapper .main-content .school .school-footer .class-detail li p {
  display: inline;
  margin-left: 12vw;
  font-size: 4vw;
  font-weight: lighter;
}

body main .main-content-wrapper .main-content .school .school-footer .class-detail li p span {
  font-size: 12px;
  padding-left: 1vw;
}

body main .main-content-wrapper .main-content .school .school-footer address {
  font-size: 14px;
  padding: 14px 0 8px;
}

body main .main-content-wrapper .main-content .school .school-footer address .location {
  position: absolute;
  width: 20px;
  margin-top: -4px;
}

body main .main-content-wrapper .main-content .school .school-footer address p {
  line-height: 20px;
  text-align: left;
  position: relative;
  display: inline-block;
  font-size: 3.4vw;
  left: 13vw;
  margin: 0;
}

body main .main-content-wrapper #about1 li:last-child {
  padding-bottom: 0;
}

body main .main-content-wrapper #about1 li {
  padding-bottom: 28px;
}

body main .main-content-wrapper #about1 p {
  line-height: 32px;
}

body main .main-content-wrapper #master .profile-pic {
  width: 20vw;
}

body main .main-content-wrapper #master p {
  line-height: 24px;
  letter-spacing: 0;
}

body main .main-content:last-child {
  margin-bottom: 40px;
}

body main #contact {
  text-align: center;
}

body main #contact h3 {
  font-size: 22px;
  font-weight: lighter;
  margin-bottom: 10px;
}

body main #contact p:nth-child(5) {
  margin: 25px 0 12px;
  font-size: 18px;
}

body main #contact p {
  margin-bottom: 0;
  line-height: 24px;
}

body main #contact p a {
  margin-left: 10px;
}

body main #contact .contact-small {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

body main #contact .contact-small img {
  width: 40px;
}

body main #contact .contact-small .name {
  margin-left: 6px;
}

body main #contact .contact-small .name p {
  margin-top: -4px;
  margin-bottom: 0;
}

body main #contact .contact-small .name a {
  text-decoration: underline;
}

body footer {
  padding: 40px 20vw;
  height: 100%;
  background-color: #bf9f50;
}

body footer ul {
  position: relative;
  left: -2vw;
}

body footer ul li {
  list-style-type: none;
  /*点を非表示*/
  position: relative;
  /*基準位置*/
  padding-left: 0.6em;
  margin-bottom: 14px;
  color: white;
}

body footer ul li p {
  font-weight: lighter;
  display: inline-block;
  font-size: 2.8vw;
}

body footer ul li p a {
  font-weight: lighter;
  font-size: 2.8vw;
  color: white;
}

body footer ul li hr {
  vertical-align: middle;
  opacity: 0.4;
  size: 1px;
  background-color: white;
  width: 10vw;
  margin: 0;
  border: none;
  display: inline-block;
}

body footer ul li ul {
  width: 160px;
  position: relative;
  left: 26vw;
  top: -16px;
  list-style-position: inside;
}

body footer ul li ul li {
  padding-right: 0px;
  list-style-type: none;
  /*点を非表示*/
  position: relative;
  /*基準位置*/
  padding-left: 0.6em;
  margin-bottom: 0;
}

body footer ul li ul li p {
  display: inline-block;
}

body footer ul li ul li p a {
  font-weight: lighter;
  font-size: 2vw;
  color: white;
}

body footer ul li ul li:before {
  border-radius: 50%;
  /*丸くする*/
  width: 2px;
  /*点の幅*/
  height: 2px;
  /*点の高さ*/
  display: block;
  position: absolute;
  /*絶対配置*/
  left: 0;
  /*点の位置*/
  top: 9px;
  /*点の位置*/
  content: "";
  background: white;
  /*点の色*/
}

body footer ul li:before {
  border-radius: 50%;
  /*丸くする*/
  width: 2px;
  /*点の幅*/
  height: 2px;
  /*点の高さ*/
  display: block;
  position: absolute;
  /*絶対配置*/
  left: 0;
  /*点の位置*/
  top: 9px;
  /*点の位置*/
  content: "";
  background: white;
  /*点の色*/
}

@media (min-width: 321px) {
  body main .main-content-wrapper .main-content p {
    font-size: 0.8em;
    line-height: 32px;
  }
  body main .main-content-wrapper #master p {
    line-height: 32px;
  }
}

/* medium screen */
@media (min-width: 568px) {
  body header {
    height: 2em;
  }
  body header h1 {
    font-size: 154%;
  }
  body header .hamburger-menu {
    width: 18px;
  }
  body header .hamburger-menu .open {
    right: 3vw;
    padding-top: 0;
  }
  body header .hamburger-menu .open p:before {
    font-size: 7vh;
    font-size: 4vw;
    padding-right: 0.8vw;
  }
  body header .hamburger-menu .open p {
    padding-left: 2vw;
    font-size: 3.5vh;
    font-size: 2vw;
  }
  body header .hamburger-menu .close {
    right: 3vw;
    padding-top: 0;
  }
  body header .hamburger-menu .close p:before {
    font-size: 7vh;
    padding-right: 0.8vw;
  }
  body header .hamburger-menu .close p {
    padding-left: 2vw;
    font-size: 3.5vh;
  }
  body main .main-visual-wrapper .title-base h1 {
    left: 86vw;
  }
  body main .main-content-wrapper {
    padding: 0 12vw;
  }
  body main .main-content-wrapper .main-copy {
    text-align: center;
    margin: 60px auto;
  }
  body main .main-content-wrapper .main-copy p {
    line-height: 42px;
    font-size: 3vw;
    letter-spacing: 3px;
  }
  body main .main-content-wrapper .main-copy p br:last-child {
    display: initial;
  }
  body main .main-content-wrapper #about p {
    line-height: 42px;
  }
  body main .main-content-wrapper #contact p {
    line-height: 42px;
  }
  body main .main-content-wrapper #contact .contact-small .name p {
    font-size: 16px;
    line-height: initial;
  }
  body main .main-content-wrapper #school-nav .contact h3 {
    font-size: 22px;
    font-weight: lighter;
  }
  body main .main-content-wrapper #school-nav .contact h4 {
    font-size: 28px;
    font-weight: lighter;
  }
  body main .main-content-wrapper .main-content p {
    line-height: 42px;
    font-size: 2.6vw;
  }
  body main .main-content-wrapper .main-content .small-nav .school-nav1, body main .main-content-wrapper .main-content .small-nav .school-nav2, body main .main-content-wrapper .main-content .small-nav .school-nav3, body main .main-content-wrapper .main-content .small-nav .school-nav4 {
    width: 28vw;
  }
  body main .main-content-wrapper .main-content .small-nav .school-nav1 p, body main .main-content-wrapper .main-content .small-nav .school-nav2 p, body main .main-content-wrapper .main-content .small-nav .school-nav3 p, body main .main-content-wrapper .main-content .small-nav .school-nav4 p {
    font-size: 16px;
  }
  body main .main-content-wrapper .main-content .small-nav .school-nav1 p a, body main .main-content-wrapper .main-content .small-nav .school-nav2 p a, body main .main-content-wrapper .main-content .small-nav .school-nav3 p a, body main .main-content-wrapper .main-content .small-nav .school-nav4 p a {
    width: 28vw;
  }
  body main .main-content-wrapper .main-content .school .school-header h3 {
    font-size: 18px;
  }
  body main .main-content-wrapper .main-content .school .school-footer .class-detail li {
    font-size: 2.6vw;
  }
  body main .main-content-wrapper .main-content .school .school-footer .class-detail li p {
    font-size: 2.6vw;
  }
  body main .main-content-wrapper .main-content .school .school-footer address p {
    font-size: 2.2vw;
  }
  body footer ul li ul {
    width: 300px;
  }
}

@media (min-width: 720px) {
  body header .hamburger-menu .open p:before {
    font-size: 5vh;
  }
  body header .hamburger-menu .open p {
    font-size: 2.5vh;
  }
  body header .hamburger-menu .close p:before {
    font-size: 5vh;
  }
  body header .hamburger-menu .close p {
    font-size: 2.5vh;
  }
}

@media (min-width: 685px) {
  body header h1 a {
    font-size: 16px;
  }
  body header .hamburger-menu {
    width: 10px;
  }
  body header .hamburger-menu .open p:before {
    font-size: 3vw;
  }
  body header .hamburger-menu .open p {
    font-size: 1.5vw;
  }
  body header .hamburger-menu .close p:before {
    font-size: 3vw;
  }
  body header .hamburger-menu .close p {
    font-size: 1.5vw;
  }
}

@media (min-width: 750px) {
  body header h1 a {
    font-size: 154%;
  }
  body header .hamburger-menu {
    width: 18px;
  }
  body header .hamburger-menu .open {
    margin-top: 1vh;
    right: 3vw;
    padding-top: 0;
  }
  body header .hamburger-menu .open p:before {
    font-size: 5vw;
    padding-right: 0.8vw;
  }
  body header .hamburger-menu .open p {
    font-size: 2.5vw;
    padding-left: 2vw;
  }
  body header .hamburger-menu .close {
    margin-top: 1vh;
    right: 3vw;
    padding-top: 0;
  }
  body header .hamburger-menu .close p:before {
    font-size: 5vw;
    padding-right: 0.8vw;
  }
  body header .hamburger-menu .close p {
    font-size: 2.5vw;
    padding-left: 2vw;
  }
}

@media (min-width: 810px) and (max-width: 820px) {
  body header h1 a {
    font-size: 16px;
  }
  body header .hamburger-menu .open p:before {
    font-size: 3vw;
  }
  body header .hamburger-menu .open p {
    font-size: 1.5vw;
  }
  body header .hamburger-menu .close p:before {
    font-size: 3vw;
  }
  body header .hamburger-menu .close p {
    font-size: 1.5vw;
  }
}

@media (min-width: 1020px) {
  body header h1 a {
    font-size: 16px;
  }
  body header .hamburger-menu {
    width: 10px;
  }
  body header .hamburger-menu .open p:before {
    font-size: 4vh;
  }
  body header .hamburger-menu .open p {
    font-size: 2vh;
  }
  body header .hamburger-menu .close p:before {
    font-size: 4vh;
  }
  body header .hamburger-menu .close p {
    font-size: 2vh;
  }
}

/* large screen */
@media (min-width: 1025px) {
  body header {
    height: 8vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  body header h1 a {
    font-weight: lighter;
    font-size: 26px;
    line-height: 8vh;
  }
  body header .header-nav {
    display: inline-block;
    z-index: 2;
    visibility: visible;
    position: relative;
    width: 55vw;
    left: 20vw;
  }
  body header .header-nav ul {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto;
    padding: 0;
    font-size: 18px;
    letter-spacing: 5px;
  }
  body header .header-nav ul .menu1 {
    margin-left: 0;
  }
  body header .header-nav ul .menu1 img {
    position: absolute;
    left: 14vw;
    top: 2.6vh;
  }
  body header .header-nav ul .menu2 img {
    position: absolute;
    left: 34vw;
    top: 2.6vh;
  }
  body header .header-nav ul .menu1:before {
    content: '';
    position: absolute;
    left: -4%;
    bottom: 10px;
    /*下線の上下位置調整*/
    display: inline-block;
    width: 1px;
    /*下線の幅*/
    height: 5vh;
    /*下線の太さ*/
    -webkit-transform: translateX(-50%);
    transform: translate(-50%);
    /*位置調整*/
    background-color: #bf9f50;
    /*下線の色*/
  }
  body header .header-nav ul .menu1:hover:before {
    opacity: 0;
  }
  body header .header-nav ul .menu1:hover:after {
    opacity: 0;
  }
  body header .header-nav ul li a:hover:before {
    opacity: 0;
  }
  body header .header-nav ul .menu1:after {
    content: '';
    position: absolute;
    left: 32%;
    bottom: 10px;
    /*下線の上下位置調整*/
    display: inline-block;
    width: 1px;
    /*下線の幅*/
    height: 5vh;
    /*下線の太さ*/
    -webkit-transform: translateX(-50%);
    transform: translate(-50%);
    /*位置調整*/
    background-color: #bf9f50;
    /*下線の色*/
  }
  body header .header-nav ul li a:before {
    content: '';
    position: absolute;
    left: 68%;
    bottom: 10px;
    /*下線の上下位置調整*/
    display: inline-block;
    width: 1px;
    /*下線の幅*/
    height: 5vh;
    /*下線の太さ*/
    -webkit-transform: translateX(-50%);
    transform: translate(-50%);
    /*位置調整*/
    background-color: #bf9f50;
    /*下線の色*/
  }
  body header .header-nav ul .menu1:hover p {
    background-color: #bf9f50;
    color: white;
  }
  body header .header-nav ul .menu1:hover img:first-child {
    visibility: hidden;
  }
  body header .header-nav ul .menu1:hover img:nth-child(2) {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    visibility: visible;
  }
  body header .header-nav ul .menu2:hover img:first-child {
    visibility: hidden;
  }
  body header .header-nav ul .menu2:hover img:nth-child(2) {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    visibility: visible;
  }
  body header .header-nav ul .menu2:hover p {
    background-color: #bf9f50;
    color: white;
  }
  body header .header-nav ul .menu3 a:hover {
    background-color: #bf9f50;
    color: white;
  }
  body header .header-nav ul input {
    position: absolute;
    left: -100px;
  }
  body header .header-nav ul .menu1:hover .dropdown_menu1 {
    visibility: visible;
    background-color: rgba(191, 159, 80, 0.8);
  }
  body header .header-nav ul .menu2:hover .dropdown_menu2 {
    visibility: visible;
    background-color: rgba(191, 159, 80, 0.8);
    margin-left: -20vw;
  }
  body header .header-nav ul .menu2:hover .dropdown_menu2-2 {
    visibility: visible;
    background-color: rgba(191, 159, 80, 0.8);
    margin-left: -20vw;
  }
  body header .header-nav ul li {
    line-height: 50px;
    width: 20vw;
    height: 8vh;
    list-style: none;
    color: #bf9f50;
  }
  body header .header-nav ul li p {
    display: block;
    line-height: 8vh;
    height: 8vh;
  }
  body header .header-nav ul li p img {
    height: 20px;
    width: 20px;
  }
  body header .header-nav ul li p img:nth-child(2) {
    visibility: hidden;
    padding-left: 4px;
    height: 17px;
    width: 17px;
  }
  body header .header-nav ul li a {
    width: 22vw;
    display: block;
    line-height: 8vh;
    color: #bf9f50;
  }
  body header .header-nav ul li ul {
    padding-left: 3vw;
    width: 54vw;
    padding-right: 10vw;
    visibility: hidden;
  }
  body header .header-nav ul li ul li {
    height: 12vh;
  }
  body header .header-nav ul li ul li a {
    line-height: 12vh;
    color: white;
  }
  body header .hamburger-menu {
    display: none;
  }
  body main {
    padding-top: 8vh;
  }
  body main .main-visual-wrapper {
    height: 92vh;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
  }
  body main .main-visual-wrapper .main-visual {
    width: 42vw;
    height: 100%;
    background-size: cover;
  }
  body main .main-visual-wrapper .title-base h1 {
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    top: 32vh;
    left: 52vw;
    font-size: 76px;
    line-height: 108px;
    letter-spacing: 10px;
  }
  body main .main-visual-wrapper .title-base h1 br {
    display: inline;
  }
  body main .main-visual-wrapper .title-base .main-visual-copy {
    top: 6vh;
    margin: 0;
    right: 3vw;
    font-size: 18px;
    line-height: 40px;
  }
  body main .main-visual-wrapper .title-base .main-visual-copy br:nth-child(2) {
    display: none;
  }
  body main .main-visual-wrapper .title-base .name {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    top: 70vh;
    left: -5vw;
  }
  body main .main-content-wrapper .main-copy p {
    font-size: 24px;
    font-size: 2vw;
    line-height: 62px;
  }
  body main .main-content-wrapper .main-copy p br:first-child {
    display: none;
  }
  body main .main-content-wrapper .main-copy p br:nth-child(4) {
    display: none;
  }
  body main .main-content-wrapper .main-copy p br:last-child {
    display: none;
  }
  body main .main-content-wrapper #school-nav .contact h3 {
    font-size: 22px;
    font-weight: lighter;
  }
  body main .main-content-wrapper #school-nav .contact h4 {
    font-size: 28px;
    font-weight: lighter;
  }
  body main .main-content-wrapper #about1 ul li:before {
    top: 14px;
    /*点の位置*/
  }
  body main .main-content-wrapper #about2 p br:nth-child(2) {
    display: none;
  }
  body main .main-content-wrapper .main-content {
    border-radius: 50px;
    margin-top: 50px;
    padding: 50px 80px;
  }
  body main .main-content-wrapper .main-content p {
    line-height: 36px;
  }
  body main .main-content-wrapper .main-content .contact {
    line-height: 32px;
  }
  body main .main-content-wrapper .main-content .contact p {
    font-size: 16px;
    line-height: 34px;
  }
  body main .main-content-wrapper .main-content h2 {
    font-size: 30px;
    padding-bottom: 14px;
    margin-bottom: 24px;
  }
  body main .main-content-wrapper .main-content p {
    letter-spacing: 4px;
    font-size: 18px;
    font-size: 1.4vw;
  }
  body main .main-content-wrapper .main-content .small-nav {
        grid-template-areas: "school-nav1 school-nav2";
  }
  body main .main-content-wrapper .main-content .small-nav .school-nav1, body main .main-content-wrapper .main-content .small-nav .school-nav2, body main .main-content-wrapper .main-content .small-nav .school-nav3, body main .main-content-wrapper .main-content .small-nav .school-nav4 {
    width: 14vw;
    height: 46px;
  }
  body main .main-content-wrapper .main-content .small-nav .school-nav1 p, body main .main-content-wrapper .main-content .small-nav .school-nav2 p, body main .main-content-wrapper .main-content .small-nav .school-nav3 p, body main .main-content-wrapper .main-content .small-nav .school-nav4 p {
    font-size: 22px;
    line-height: 44px;
  }
  body main .main-content-wrapper .main-content .small-nav .school-nav1 p a, body main .main-content-wrapper .main-content .small-nav .school-nav2 p a, body main .main-content-wrapper .main-content .small-nav .school-nav3 p a, body main .main-content-wrapper .main-content .small-nav .school-nav4 p a {
    width: 100%;
    line-height: 46px;
  }
  body main .main-content-wrapper .main-content .small-nav .school-nav4 p {
    font-size: 18px;
    font-size: 1.4vw;
  }
  body main .main-content-wrapper .main-content #school4 .school-header h3 {
    width: 20vw;
    font-size: 20px;
  }
  body main .main-content-wrapper .main-content .school {
    margin-top: 36px;
    display: -ms-grid;
    display: grid;
    grid-template: "main head" 50% "main foot" 50%/50% 50%;
  }
  body main .main-content-wrapper .main-content .school .school-header {
    grid-area: head;
    margin-left: 40px;
  }
  body main .main-content-wrapper .main-content .school .school-header h3 {
    width: 15vw;
    height: 26px;
    line-height: 26px;
    margin-left: 0;
    font-size: 22px;
  }
  body main .main-content-wrapper .main-content .school .school-header p {
    line-height: 26px;
    font-size: 17px;
    text-align: left;
    letter-spacing: 0px;
  }
  body main .main-content-wrapper .main-content .school .school-header p br {
    display: inline;
  }
  body main .main-content-wrapper .main-content .school .img-box {
    grid-area: main;
  }
  body main .main-content-wrapper .main-content .school .school-footer {
    margin-left: 40px;
    grid-area: foot;
    margin-top: 20px;
  }
  body main .main-content-wrapper .main-content .school .school-footer .class-detail li {
    font-size: 18px;
    font-size: 1.2vw;
  }
  body main .main-content-wrapper .main-content .school .school-footer .class-detail li p {
    font-size: 1.1vw;
    margin-left: 20px;
  }
  body main .main-content-wrapper .main-content .school .school-footer .class-detail li p span {
    font-size: 8px;
  }
  body main .main-content-wrapper .main-content .school .school-footer address p {
    font-size: 14px;
    left: 2vw;
    text-align: left;
  }
  body main .main-content-wrapper #master .profile .profile-pic-wrapper .profile-pic {
    width: 7vw;
  }
  body main .main-content-wrapper #master .profile .profile-pic-wrapper h3 {
    font-size: 22px;
    letter-spacing: 4px;
  }
  body main .main-content-wrapper .beginner p {
    line-height: 36px;
  }
  body main .main-content-wrapper .beginner p br:nth-child(2) {
    display: none;
  }
  body main .main-content-wrapper .beginner p br:nth-child(6) {
    display: none;
  }
  body main .main-content-wrapper .beginner p br:nth-child(9) {
    display: none;
  }
  body main .main-content-wrapper .seiza p {
    line-height: 36px;
  }
  body main .main-content-wrapper .seiza p br:nth-child(2) {
    display: none;
  }
  body main .main-content-wrapper .footer-contact h3 {
    font-size: 30px;
  }
  body footer ul li p {
    font-size: 20px;
  }
  body footer ul li p a {
    font-size: 20px;
  }
  body footer ul li ul {
    margin-top: -6px;
    left: 18vw;
  }
  body footer ul li ul li:before {
    top: 15px;
  }
  body footer ul li ul li {
    width: 500px;
    line-height: 30px;
  }
  body footer ul li ul li p a {
    font-size: 14px;
  }
}
/*# sourceMappingURL=stylesheet.css.map */