@charset "UTF-8";
body.active {
  position: fixed;
  width: 100%;
  height: 100%;
}
.inner {
  padding: 0 3vw;
}
#container {
  min-width: 100%;
  max-width: 100%;
}
/**********************************************************
 * ヘッダー
 **********************************************************/
header {
  height: 14vw;
  background-color: #FFF;
  padding: 5px;
  z-index: 100;
  position: fixed;
  top: 0;
}
header .logo {
  width: 40%;
}
header .inner .gnavi {
  position: absolute;
  z-index: 1;
  right: -3px;
  overflow-x: hidden;
  text-align: center;
  width: 0;
  transition: .3s;
  background: #FFF;
  color: #000;
  top: 16vw;
  border-top: 1px solid #CCC;
}
header .inner .gnavi.active {
  width: 80%;
}
header .inner .gnavi ul {
  display: block;
}
header .inner .gnavi ul li {
  width: 100%;
  margin: 0;
  letter-spacing: .5px;
  font-size: 1.5rem;
}
header .inner .gnavi ul li:first-child, header .inner .gnavi ul li:nth-child(2) {
  margin-bottom: 0;
}
header .inner .gnavi ul li a {
  display: block;
  width: 100%;
  color: #000;
  text-decoration: none;
  white-space: nowrap;
  padding: 20px 0;
  text-align: center;
  border-bottom: 1px solid #CCC;
  background: url("../img/common/arrow.png") no-repeat 95% 50%;
  background-size: 5vw;
}
header .inner .gnavi ul li:before {
  display: none;
}
.menu_trigger {}
.menu_trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu_trigger {
  z-index: 101;
  position: absolute;
  top: 50%;
  right: 1vw;
  transform: translateY(-50%);
  width: 9vw;
  height: 9vw;
  background-color: #333333;
  border-radius: 50%;
}
.menu_trigger span {
  position: absolute;
  width: 50%;
  left: 25%;
  height: 1px;
  background-color: #FFF;
}
.menu_trigger span:first-of-type {
  top: 40%;
}
.menu_trigger span:nth-of-type(2) {
  top: 60%;
}
.menu_trigger.active span:first-of-type {
  -webkit-transform: translateY(.8vw) rotate(-45deg);
  transform: translateY(.8vw) rotate(-45deg);
}
.menu_trigger.active span:nth-of-type(2) {
  -webkit-transform: translateY(-.8vw) rotate(45deg);
  transform: translateY(-.8vw) rotate(45deg);
}
.overlay {
  display: none;
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .2);
}
.overlay.active {
  display: block;
}
header .about {
  font-size: 1.35rem;
  margin-left: 0;
  margin-right: 10vw;
}
/**********************************************************
 * メイン
 **********************************************************/
main {
  margin-top: 18vw;
}
/***これからスマイルゼミを検討する方へ***/
#examination {
  padding: 20px 0;
}
#examination h2 {
  font-size: 1.8rem;
  font-weight: bold;
}
#examination h2::after {
  width: 42px;
  bottom: -20px;
}
#examination ul {
  width: 90%;
  margin: 0 auto;
  display: block;
}
#examination ul li {
  width: 100%;
  margin-bottom: 40px;
}
/***各学年の学びを今すぐサイトで確認！***/
#smilezemi {
  padding: 20px 0;
  text-align: center;
}
#smilezemi h2 {
  font-size: 1.8rem;
}
#smilezemi h2::after {
  width: 42px;
  bottom: -20px;
}
#smilezemi ul {
  margin: 0 10%;
  display: block;
}
#smilezemi ul li {
  width: 100%;
  margin: 0 0 40px 0;
}
/***SNS***/
#sns {
  padding: 20px 0;
}
#sns h2 {
  font-size: 2rem;
}
#sns h2::after {
  width: 42px;
  bottom: -20px;
}
/**********************************************************
 * フッター
 **********************************************************/
footer {}