@charset "UTF-8";
/******************************************************
base
******************************************************/
body {
  color: #45443f; }

* {
  box-sizing: border-box; }

@media screen and (max-width: 768px) {
  .sp-none {
    display: none; } }
/*-------------------------------------------
table
-------------------------------------------*/
table {
  width: 100%;
  margin-bottom: 20px;
  border-top: 1px solid #dfddd2;
  border-left: 1px solid #dfddd2; }
  table:last-child {
    margin-bottom: 0; }

th, td {
  padding: 10px;
  border-bottom: 1px solid #dfddd2;
  border-right: 1px solid #dfddd2; }

th {
  background: #f4f2e7;
  font-weight: bold;
  white-space: nowrap; }

/*-------------------------------------------
list
-------------------------------------------*/
ul:not(:last-child) {
  margin-bottom: 20px; }

/*-------------------list-------------------*/
.list li {
  margin-left: 20px;
  list-style: outside disc; }

/*-------------------------------------------
text
-------------------------------------------*/
.tCenter {
  text-align: center; }

.tRight {
  text-align: right; }

.tleft {
  text-align: left; }

.tBold {
  font-weight: bold; }

.tBig {
  font-size: 1.2rem; }

.tSmall {
  font-size: .8rem; }

.red {
  color: #ec6d71; }

/*-------------------------------------------
link
-------------------------------------------*/
a {
  color: #246dd4;
  text-decoration: none; }

/*-------------------btn-------------------*/
.btn a {
  display: inline-block;
  padding: 10px 20px;
  background: #246dd4;
  border-radius: 5px;
  font-weight: bold;
  color: #fff; }
  .btn a:after {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    margin: 0 0 0 10px;
    background: url(../img/base/icon-arrow2.svg) no-repeat center;
    background-size: cover;
    vertical-align: middle; }

@media screen and (min-width: 769px) {
  a:hover {
    opacity: 0.7;
    -webkit-transition: all .3s ease;
    transition: all .3s ease; } }
/*-------------------------------------------
layout
-------------------------------------------*/
.inner {
  width: 1000px;
  margin: 0 auto; }

@media screen and (max-width: 768px) {
  .inner {
    width: 100%;
    padding: 0 10px; } }
/*-------------------------------------------
box
-------------------------------------------*/
.box {
  display: table;
  width: 100%; }
  .box > * {
    display: table-cell;
    vertical-align: top; }
    .box > *:first-child {
      padding: 0 20px 0 0; }

.half {
  table-layout: fixed; }

@media screen and (max-width: 768px) {
  .box, .box > * {
    display: block; }
    .box img, .box > * img {
      width: 100%;
      height: auto; }

  .box > *:first-child {
    margin: 0 0 20px;
    padding: 0; } }
/*-------------------------------------------
double
-------------------------------------------*/
.double {
  margin-top: -2%;
  letter-spacing: -.4em;
  text-align: center; }
  .double li {
    display: inline-block;
    width: 49%;
    margin: 2% 2% 0 0;
    letter-spacing: normal;
    vertical-align: top; }
    .double li:nth-child(even) {
      margin-right: 0; }
    .double li p {
      padding: 5px;
      background: #f4f2e7; }
    .double li img {
      width: 100%;
      height: auto; }

/*-------------------------------------------
triple
-------------------------------------------*/
.triple {
  margin-top: -2%;
  letter-spacing: -.4em; }
  .triple li {
    display: inline-block;
    width: 32%;
    margin: 2% 2% 0 0;
    letter-spacing: normal;
    vertical-align: top; }
    .triple li img {
      width: 100%;
      height: auto; }

@media screen and (min-width: 769px) {
  .triple li:nth-child(3n) {
    margin-right: 0; } }
@media screen and (max-width: 480px) {
  .triple li {
    width: 49%; }
    .triple li:nth-child(even) {
      margin-right: 0; } }
/*******************************************************
common
*******************************************************/
.tel {
  font-family: "Quicksand", sans-serif, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 1.8rem;
  color: #246dd4; }

.tel:before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 25px;
  margin: 0 10px 0 0;
  background: url(../img/base/icon-tel.svg) no-repeat center;
  background-size: cover;
  vertical-align: middle; }

/*******************************************************
header
*******************************************************/
header {
  background: #fac900; }

header h1 {
  font-size: .8rem;
  font-weight: normal; }

#header {
  display: table;
  padding: 10px 0; }
  #header > * {
    display: table-cell;
    vertical-align: middle; }

.inquiry {
  text-align: center; }
  .inquiry .tel {
    background: #fff; }

.inquiry-head {
  background: #246dd4;
  border-radius: 5px 5px 0 0;
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff; }

.inquiry-bottom {
  padding: 0 0 5px;
  background: #fff;
  border-radius: 0 0 5px 5px;
  color: #246dd4; }

@media screen and (max-width: 768px) {
  header {
    position: relative; }
    header h1 {
      display: none; }

  #header {
    display: block;
    padding: 0; }
    #header > * {
      display: block; }

  #logo {
    height: 50px;
    margin: 0 0 0 10px;
    padding: 5px 0; }
    #logo img {
      width: auto;
      height: 40px; }

  .inquiry .tel {
    position: absolute;
    top: 0;
    right: 50px;
    height: 50px;
    padding: 0 10px;
    border-radius: 0;
    line-height: 50px; }

  .inquiry-head, .inquiry-bottom {
    display: none; } }
@media screen and (max-width: 480px) {
  .inquiry .tel {
    width: 50px; }
    .inquiry .tel span {
      display: none; }
    .inquiry .tel:before {
      margin: 0; }

  #logo {
    width: 50%;
    padding: 0;
    line-height: 50px; }
    #logo img {
      width: 100%;
      height: auto; } }
/*-------------------------------------------
nav
-------------------------------------------*/
header nav {
  background: #fff; }
  header nav ul {
    width: 100%; }
  header nav li a {
    display: block;
    width: 100%;
    color: #45443f; }

@media screen and (min-width: 769px) {
  header nav ul {
    display: table;
    table-layout: fixed;
    padding: 5px 0; }
  header li {
    display: table-cell;
    border-left: 1px solid #dfddd2;
    vertical-align: middle;
    text-align: center; }
    header li:last-child {
      border-right: 1px solid #dfddd2; }
    header li span {
      display: block; }
    header li a {
      height: 50px;
      padding: 10px 0;
      font-weight: bold; }
      header li a:after {
        content: "";
        display: block;
        width: 9px;
        height: 6px;
        margin: 5px auto 0;
        background: url(../img/base/icon-arrow.svg) no-repeat center;
        background-size: cover; } }
@media screen and (max-width: 768px) {
  header nav {
    background: #f4f2e7; }
    header nav .inner {
      padding: 0; }
    header nav li {
      width: 100%;
      border-bottom: 1px solid #dfddd2; }
      header nav li span {
        display: none; }

  .DSmenu {
    position: absolute;
    position: fixed;
    width: 300px;
    height: 100%;
    background: #f4f2e7;
    background-size: 400px 400px;
    -webkit-transform: translateX(300px);
    transform: translateX(300px);
    transition: ease .5s;
    top: 0;
    right: 0;
    z-index: 9999; }
    .DSmenu.action {
      width: 220px;
      -webkit-transform: translateX(0);
      transform: translateX(0); }
    .DSmenu a {
      display: block;
      width: 100%;
      height: 45px;
      padding: 0 0 0 15px;
      line-height: 45px; }
      .DSmenu a span {
        margin: 0 0 0 1em;
        font-size: .8rem; }
    .DSmenu .DSbtn {
      position: absolute;
      width: 50px;
      height: 50px;
      transition: ease .5s;
      background: #246dd4;
      font-size: 1.1rem;
      text-align: center;
      color: #fff;
      line-height: 50px;
      top: 0;
      left: -50px; }
    .DSmenu .fa-bars, .DSmenu .fa-bars:before, .DSmenu .fa-bars:after {
      display: block;
      width: 30px;
      height: 1px;
      background: #fff; }
    .DSmenu .fa-bars {
      position: relative;
      margin: 15px auto 0; }
    .DSmenu .fa-bars:before, .DSmenu .fa-bars:after {
      content: "";
      position: absolute; }
    .DSmenu .fa-bars:before {
      top: 10px;
      left: 0; }
    .DSmenu .fa-bars:after {
      top: 20px;
      left: 0; } }
/******************************************************
footer
******************************************************/
footer {
  padding: 40px 0;
  background: #353535;
  text-align: center;
  color: #fff; }
  footer nav {
    margin: 0 0 20px; }
    footer nav ul {
      text-align: center;
      letter-spacing: -.4em; }
    footer nav li {
      display: inline-block;
      border-right: 1px solid #84827b;
      vertical-align: middle;
      letter-spacing: normal; }
      footer nav li:last-child {
        border: none; }
    footer nav a {
      display: block;
      width: 100%;
      height: 40px;
      padding: 0 40px;
      line-height: 40px;
      color: #fff; }

/*-------------------foot-info------------------*/
#foot-info {
  margin: 0 0 20px;
  letter-spacing: -.4em; }
  #foot-info > * {
    display: inline-block;
    margin: 0 20px 0 0;
    text-align: left;
    vertical-align: bottom;
    letter-spacing: normal; }
    #foot-info > *:last-child {
      margin: 0; }
    #foot-info > * span:after {
      content: ":";
      margin: 0 5px; }

#copy {
  font-size: .8rem;
  text-align: center; }

@media screen and (max-width: 768px) {
  footer nav {
    border-top: 1px solid #84827b;
    border-bottom: 1px solid #84827b; }
  footer li {
    width: 50%;
    border-bottom: 1px solid #84827b; }
    footer li:nth-child(even) {
      border-right: none; } }
@media screen and (max-width: 480px) {
  footer nav li {
    display: block;
    width: 100%;
    border-right: none; }

  #foot-info {
    display: block;
    padding: 0 10px; }
    #foot-info > * {
      margin: 0; }
      #foot-info > *:last-child {
        margin: 0; }
      #foot-info > * span {
        display: block;
        margin: 10px 0 0; }
        #foot-info > * span:after {
          display: none; }
    #foot-info img {
      width: 100%;
      height: auto; } }
/******************************************************
content
******************************************************/
#content {
  width: 1000px;
  margin: 0 auto;
  padding: 60px 0;
  overflow: hidden; }

@media screen and (max-width: 768px) {
  #content {
    width: 100%;
    padding: 60px 10px; } }
@media screen and (max-width: 480px) {
  #content {
    padding: 40px 10px; } }
/*-------------------------------------------
layout
-------------------------------------------*/
#main {
  float: left;
  width: 680px; }

@media screen and (max-width: 768px) {
  #main {
    float: none;
    width: 100%;
    margin: 0 0 60px; } }
@media screen and (max-width: 480px) {
  #main img {
    width: 100%;
    height: auto; } }
/*-------------------------------------------
section
-------------------------------------------*/
section {
  margin-bottom: 40px; }
  section:last-child {
    margin-bottom: 0; }
  section div, section p {
    margin-bottom: 20px; }
    section div:last-child, section p:last-child {
      margin-bottom: 0; }

/*-------------------------------------------
heading
-------------------------------------------*/
h2 {
  margin: 0 0 20px;
  padding: 10px 10px 10px 35px;
  background: #fac900;
  border-radius: 5px;
  font-size: 1.2rem;
  font-weight: bold; }
  h2:before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 5px;
    margin: 0 10px 0 -35px;
    background: #fff;
    vertical-align: middle; }
  h2 span {
    display: inline-block;
    margin: 0 0 0 10px;
    padding: 5px;
    background: #fff;
    border-radius: 5px;
    font-size: .8rem;
    font-weight: normal;
    text-align: left;
    vertical-align: middle; }

/*-------------------------------------------
top
-------------------------------------------*/
/*-------------------mainimage-------------------*/
#mainimage {
  background: #f4f2e7; }
  #mainimage .inner {
    display: table;
    width: 100%;
    max-width: 1000px;
    padding: 20px 0;
    text-align: center; }
    #mainimage .inner div {
      display: table-cell; }
      #mainimage .inner div img {
        width: 100%;
        height: auto; }

@media screen and (max-width: 768px) {
  #mainimage .inner {
    padding: 20px; } }
@media screen and (max-width: 480px) {
  #mainimage .inner {
    padding: 10px; } }
/*-------------------top-result-------------------*/
#top-result {
  padding: 20px;
  background: url(../img/top/result-bg.jpg) no-repeat center;
  background-size: cover;
  text-align: center; }
  #top-result p {
    margin: 0 0 10px; }
    #top-result p:last-child {
      margin: 0; }
  #top-result .btn span {
    display: inline-block;
    height: 40px;
    padding: 0 20px;
    background: #95612f;
    border-radius: 5px;
    font-weight: bold;
    line-height: 40px;
    color: #fff; }
    #top-result .btn span:after {
      content: "";
      display: inline-block;
      width: 15px;
      height: 15px;
      margin: 0 0 0 10px;
      background: url(../img/base/icon-arrow2.svg) no-repeat center;
      background-size: cover;
      vertical-align: middle; }

@media screen and (min-width: 769px) {
  #top-result a:hover > * {
    opacity: 0.7;
    -webkit-transition: all .3s ease;
    transition: all .3s ease; } }
/*-------------------top-campaign-------------------*/
#top-campaign {
  padding: 0 20px 20px;
  background: #f4f2e7;
  border: 5px solid #00a381; }
  #top-campaign .btn span {
    display: block;
    width: 80%;
    height: 50px;
    margin: 0 auto;
    padding: 0 20px;
    background: #00a381;
    border-radius: 5px;
    font-weight: bold;
    line-height: 50px;
    text-align: center;
    color: #fff; }
    #top-campaign .btn span:after {
      content: "";
      display: inline-block;
      width: 15px;
      height: 15px;
      margin: 0 0 0 10px;
      background: url(../img/base/icon-arrow2.svg) no-repeat center;
      background-size: cover;
      vertical-align: middle; }

.campaign-box {
  display: table;
  width: 100%; }
  .campaign-box > * {
    display: table-cell;
    width: 310px;
    vertical-align: middle; }
    .campaign-box > *:first-child {
      padding: 0; }

@media screen and (min-width: 769px) {
  #top-campaign a:hover > * {
    opacity: 0.7;
    -webkit-transition: all .3s ease;
    transition: all .3s ease; } }
@media screen and (max-width: 768px) {
  #top-campaign img {
    width: 100%;
    height: auto; } }
@media screen and (max-width: 480px) {
  #top-campaign {
    padding: 0 10px 10px; }
    #top-campaign .btn span {
      width: 100%; }

  .campaign-box {
    display: block; }
    .campaign-box > * {
      display: block;
      width: 100%; } }
/*-------------------top-course-------------------*/
#top-course {
  display: table;
  table-layout: fixed;
  width: 100%; }
  #top-course li {
    display: table-cell; }
    #top-course li:first-child {
      padding: 0 10px 0 0; }
  #top-course dt {
    position: relative;
    height: 50px;
    padding: 0 25px;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 50px;
    color: #fff; }
    #top-course dt:after {
      content: "";
      position: absolute;
      top: 50%;
      right: 25px;
      display: block;
      width: 15px;
      height: 15px;
      background: url(../img/base/icon-arrow2.svg) no-repeat center;
      background-size: cover;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%); }
  #top-course dd {
    padding: 20px;
    color: #45443f; }

#course1 dt {
  background: #ec6d71; }
#course1 dd {
  border: 2px solid #ec6d71; }

#course2 dt {
  background: #246dd4; }
#course2 dd {
  border: 2px solid #246dd4; }

@media screen and (min-width: 769px) {
  #top-course a:hover > * {
    opacity: 0.7;
    -webkit-transition: all .3s ease;
    transition: all .3s ease; } }
@media screen and (max-width: 480px) {
  #top-course {
    display: block; }
    #top-course li {
      display: block; }
      #top-course li:first-child {
        margin: 0 0 10px;
        padding: 0; } }
/*-------------------------------------------
circle
-------------------------------------------*/
.circle img {
  background: #f4f2e7;
  border-radius: 50%; }

/*-------------------------------------------
page-name
-------------------------------------------*/
#page-name {
  padding: 50px 0;
  background: #f4f2e7;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center; }
  #page-name p {
    display: inline-block;
    padding: 10px 20px;
    border-top: 3px double #45443f;
    border-bottom: 3px double #45443f; }

@media screen and (max-width: 480px) {
  #page-name {
    padding: 30px 0;
    font-size: 1.3rem; } }
/*-------------------------------------------
page-head
-------------------------------------------*/
.page-head {
  padding: 20px;
  /*background: $gray;*/
  border: 5px solid #ec6d71;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  color: #ec6d71; }

/*-------------------------------------------
heading
-------------------------------------------*/
.heading {
  display: table;
  width: 100%; }
  .heading > * {
    display: table-cell;
    vertical-align: middle; }
  .heading h2 {
    border-radius: 5px 0 0 5px; }
  .heading div {
    width: 215px; }
    .heading div img {
      max-width: 215px;
      border-radius: 0 5px 5px 0; }

@media screen and (max-width: 480px) {
  h2 {
    font-size: 1rem; }

  .heading {
    display: block; }
    .heading > * {
      display: block; }
    .heading h2 {
      margin: 0 0 10px;
      border-radius: 5px; }
    .heading div {
      width: auto;
      text-align: center; }
      .heading div img {
        border-radius: 0; } }
/*-------------------------------------------
comment
-------------------------------------------*/
.comment {
  display: table;
  width: 100%; }
  .comment > * {
    display: table-cell;
    vertical-align: middle; }
    .comment > *:first-child {
      padding: 0 20px 0 0; }

.comment-text {
  position: relative;
  padding: 10px;
  width: auto;
  text-align: center;
  background: #fff;
  border: 2px solid #45443f;
  border-radius: 5px;
  z-index: 0; }
  .comment-text:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -8px;
    margin-top: -9px;
    display: block;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 9px 9px 9px 0;
    border-color: transparent #fff transparent transparent;
    z-index: 0; }
  .comment-text:after {
    content: "";
    position: absolute;
    top: 50%;
    left: -11px;
    margin-top: -10px;
    display: block;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 10px 10px 10px 0;
    border-color: transparent #45443f transparent transparent;
    z-index: -1; }

@media screen and (max-width: 480px) {
  .comment {
    display: block; }
    .comment > * {
      display: block; }
      .comment > *:first-child {
        padding: 0; }

  .comment-text:before {
    top: -8px;
    left: 50%;
    margin-top: 0;
    margin-left: -9px;
    border-width: 0 9px 9px 9px;
    border-color: transparent transparent #fff transparent; }
  .comment-text:after {
    top: -11px;
    left: 50%;
    margin-top: 0;
    margin-left: -10px;
    border-width: 0 10px 10px 10px;
    border-color: transparent transparent #45443f transparent; } }
/*-------------------------------------------
bg
-------------------------------------------*/
.bg-beige {
  padding: 10px;
  background: #f4f2e7; }

.bg-white {
  padding: 10px;
  background: #fff; }

/*-------------------------------------------
half-list
-------------------------------------------*/
.half-list {
  padding: 20px;
  background: #f4f2e7; }
  .half-list ul {
    margin-top: -2%;
    letter-spacing: -.4em; }
    .half-list ul li {
      position: relative;
      display: inline-block;
      width: 49%;
      margin: 2% 2% 0 0;
      padding: 15px;
      background: #fff;
      border-bottom: 2px solid #dfddd2;
      letter-spacing: normal; }
      .half-list ul li:nth-child(even) {
        margin-right: 0; }
      .half-list ul li:before {
        content: "";
        position: absolute;
        top: 50%;
        display: inline-block;
        width: 15px;
        height: 15px;
        background: #f4f2e7;
        border-bottom: 1px solid #dfddd2;
        border-right: 1px solid #dfddd2;
        border-radius: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%); }
      .half-list ul li p {
        margin: 0 0 0 20px; }

@media screen and (max-width: 480px) {
  .half-list ul li {
    display: block;
    width: 100%; } }
/*-------------------------------------------
note
-------------------------------------------*/
.note {
  padding: 20px;
  border: 3px double #ec6d71; }

.note-head {
  margin: 0 0 10px;
  font-size: 1.1rem;
  font-weight: bold; }

/*-------------------------------------------
guide
-------------------------------------------*/
.guide {
  display: table;
  width: 100%; }
  .guide > * {
    display: table-cell;
    vertical-align: middle; }

.guide-head {
  width: 15%;
  padding: 0 20px;
  background: #00a381;
  font-weight: bold;
  text-align: center;
  color: #fff;
  white-space: nowrap; }

.guide-content {
  padding: 20px;
  background: #f4f2e7; }

@media screen and (max-width: 480px) {
  .guide-head {
    width: 25%; } }
/*-------------------------------------------
about
-------------------------------------------*/
.system li {
  margin: 0 0 10px;
  padding: 0 0 10px 90px;
  border-bottom: 1px solid #dfddd2; }
.system span {
  display: inline-block;
  width: 80px;
  margin: 0 10px 0 -90px;
  padding: 5px 0;
  background: #00a381;
  border-radius: 5px;
  font-weight: bold;
  text-align: center;
  color: #fff; }

@media screen and (max-width: 480px) {
  .system li {
    padding-left: 0; }
  .system span {
    display: block;
    margin: 0 0 5px; } }
/*-------------------point-up-------------------*/
.point-up span {
  margin: 0 0 0 1em;
  font-weight: bold;
  color: #ec6d71; }

/*-------------------trial-------------------*/
.trial {
  border: 5px solid #246dd4;
  border-top: none;
  text-align: center; }

.trial-head {
  margin: 0;
  padding: 10px 0;
  background: #246dd4;
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff; }

.trial-sub {
  margin: 0;
  padding: 10px 0;
  font-weight: bold; }

.trial-content {
  padding: 20px 0;
  background: #f4f2e7; }
  .trial-content dl {
    display: table;
    margin: 0 auto 10px; }
  .trial-content dt, .trial-content dd {
    display: table-cell;
    vertical-align: middle; }
  .trial-content dt {
    padding: 0 10px;
    background: #246dd4;
    border-radius: 5px 0 0 5px;
    font-weight: bold;
    color: #fff; }
  .trial-content .tel {
    padding: 5px 10px;
    background: #fff;
    border-radius: 0 5px 5px 0; }

@media screen and (max-width: 480px) {
  .trial-content {
    padding: 20px; }
    .trial-content dl {
      display: block; }
      .trial-content dl dt, .trial-content dl dd {
        display: block; }
      .trial-content dl dt {
        padding: 5px 0;
        border-radius: 5px 5px 0 0; }
      .trial-content dl dd {
        border-radius: 0 0 5px 5px; }

  .trial-head {
    font-size: 1rem; } }
/*-------------------bnr-------------------*/
.bnr {
  display: table;
  text-align: center; }
  .bnr > * {
    display: table-cell;
    width: 50%;
    vertical-align: middle; }
  .bnr li {
    padding: 10px; }
  .bnr img {
    width: 100%;
    height: auto; }

.bnr-result {
  background: url(../img/top/result-bg.jpg) no-repeat center;
  background-size: cover; }
  .bnr-result a {
    display: block;
    height: 100%; }
  .bnr-result .btn span {
    display: block;
    width: 100%;
    height: 40px;
    padding: 0 20px;
    background: #95612f;
    border-radius: 5px;
    font-weight: bold;
    line-height: 40px;
    color: #fff; }
    .bnr-result .btn span:after {
      content: "";
      display: inline-block;
      width: 15px;
      height: 15px;
      margin: 0 0 0 10px;
      background: url(../img/base/icon-arrow2.svg) no-repeat center;
      background-size: cover;
      vertical-align: middle; }

.bnr-campaign {
  background: #f4f2e7; }

@media screen and (max-width: 480px) {
  .bnr {
    display: block; }
    .bnr > * {
      display: block;
      width: 100%; } }
/*-------------------pass-------------------*/
.pass {
  letter-spacing: -.4em; }
  .pass p {
    display: inline-block;
    margin: 0 1em 0 0;
    letter-spacing: normal;
    vertical-align: middle; }
    .pass p:last-child {
      display: block; }

/*-------------------voice-------------------*/
.voice .comment-text {
  text-align: left; }

.voice-head {
  margin: 0 0 10px;
  padding: 0 0 10px;
  border-bottom: 1px solid #dfddd2;
  font-size: 1.1rem;
  font-weight: bold; }

/*-------------------------------------------
course1
-------------------------------------------*/
#course1.page-head p {
  margin: 0;
  font-size: 1rem;
  font-weight: normal; }
  #course1.page-head p.big {
    font-size: 1.5rem;
    font-weight: bold; }

/*-------------------campaign-frame-------------------*/
.campaign-frame {
  padding: 0 20px 20px;
  background: #f4f2e7;
  border: 5px solid #00a381; }
  .campaign-frame .box > * {
    vertical-align: bottom; }
  .campaign-frame img {
    width: 100%;
    height: auto; }

/*-------------------------------------------
course2
-------------------------------------------*/
/*-------------------exam-------------------*/
.exam-head {
  margin: 0;
  padding: 20px;
  background: #00a381;
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff; }
  .exam-head span {
    font-size: 1rem; }

.exam-content {
  padding: 20px;
  background: #f4f2e7; }

/*-------------------------------------------
classroom
-------------------------------------------*/
.teacher {
  margin-top: -2%;
  letter-spacing: -.4em; }
  .teacher .comment {
    display: inline-block;
    width: 49%;
    margin: 2% 2% 0 0;
    letter-spacing: normal;
    vertical-align: top; }
    .teacher .comment:nth-child(even) {
      margin-right: 0; }
    .teacher .comment > * {
      display: block;
      text-align: center; }
      .teacher .comment > *:first-child {
        padding: 0; }
  .teacher .comment-text {
    text-align: left; }
    .teacher .comment-text:before {
      top: -8px;
      left: 50%;
      margin-top: 0;
      margin-left: -9px;
      border-width: 0 9px 9px 9px;
      border-color: transparent transparent #fff transparent; }
    .teacher .comment-text:after {
      top: -11px;
      left: 50%;
      margin-top: 0;
      margin-left: -10px;
      border-width: 0 10px 10px 10px;
      border-color: transparent transparent #45443f transparent; }

@media screen and (max-width: 480px) {
  .teacher .comment {
    display: block;
    width: 100%; } }
/*-------------------------------------------
side
-------------------------------------------*/
#side {
  float: right;
  width: 290px; }
  #side li {
    margin: 0 0 10px; }

#side-map {
  background: #fac900;
  border: 3px solid #fac900;
  border-radius: 5px;
  text-align: center; }
  #side-map img {
    width: 100%;
    height: auto; }
  #side-map p {
    margin: 0;
    padding: 10px 0;
    font-weight: bold; }
  #side-map > p {
    font-size: 1.1rem; }
  #side-map div p {
    color: #45443f; }
    #side-map div p:after {
      content: "";
      display: inline-block;
      width: 15px;
      height: 15px;
      margin: 0 0 0 10px;
      background: url(../img/base/icon-arrow3.svg) no-repeat center;
      background-size: cover;
      vertical-align: middle; }

@media screen and (max-width: 768px) {
  #side {
    float: none;
    width: 100%; }
    #side ul {
      text-align: center;
      letter-spacing: -.4em; }
      #side ul li {
        display: inline-block;
        margin: 0 5px 10px;
        letter-spacing: normal; } }
@media screen and (max-width: 480px) {
  #side li {
    display: block; }
  #side img {
    width: 100%;
    height: auto; } }
