@charset "UTF-8";
/* ----------------------------------------
	#content
---------------------------------------- */
#content {
  margin: 0 auto;
  height: 100%; }
  @media screen and (min-width: 901px) and (max-width: 1024px) {
    #content {
      margin-top: 35px; } }
  @media screen and (min-width: 1025px) and (max-width: 1250px) {
    #content {
      margin-top: 100px !important; } }
  @media screen and (min-width: 1025px) {
    #content {
      margin-top: 135px; } }
  #content #pageTitle {
    display: none !important; }
  #content #main {
    padding: 0px 0 !important;
    position: relative; }

h2.title {
  text-align: center;
  font-weight: 700;
  line-height: 1.0;
  color: #009999;
  font-size: 1.6rem;
  margin-bottom: 40px; }
  @media screen and (min-width: 481px) and (max-width: 900px) {
    h2.title {
      font-size: 1.8rem;
      margin-bottom: 40px; } }
  @media screen and (min-width: 901px) {
    h2.title {
      font-size: 2.0rem;
      margin-bottom: 50px; } }
  @media screen and (min-width: 1025px) {
    h2.title {
      margin-bottom: 80px !important; } }
  @media screen and (min-width: 1025px) and (max-width: 1250px) {
    h2.title {
      margin-bottom: 50px !important; } }
  h2.title span.en {
    font-weight: bold;
    display: inline-block;
    padding-bottom: 10px;
    font-size: 4.0rem; }
    @media screen and (min-width: 481px) and (max-width: 900px) {
      h2.title span.en {
        font-size: 5.0rem;
        padding-bottom: 15px; } }
    @media screen and (min-width: 901px) {
      h2.title span.en {
        font-size: 6.0rem;
        padding-bottom: 15px; } }

h3.subtitle {
  margin-bottom: 30px;
  font-size: 2.0rem;
  font-weight: 600; }
  @media screen and (min-width: 901px) {
    h3.subtitle {
      font-size: 3.0rem; } }

/* ----------------------------------------
	#visual
---------------------------------------- */
#visual {
  position: relative;
  width: 100%;
  background: url("../images/home/mainvisual.jpg?5") no-repeat;
  background-size: auto;
  background-size: cover;
  background-position: 100% 50%;
  text-align: left;
  max-width: 2500px;
  margin: 0px auto; }
  @media screen and (max-width: 480px) {
    #visual {
      background-position: 70% 50%;
      background-size: 230%; } }
  @media screen and (min-width: 481px) and (max-width: 767px) {
    #visual {
      background-position: 80% 50%;
      background-size: 180%; } }
  @media screen and (min-width: 768px) and (max-width: 1024px) {
    #visual {
      background-position: 70% 50%;
      background-size: 150%; } }
  @media screen and (min-width: 1025px) and (max-width: 1250px) {
    #visual {
      background-position: 50% 50%; } }
  #visual #visual_inner {
    color: #231815; }
    @media screen and (max-width: 767px) {
      #visual #visual_inner {
        padding: 250px 7% 80px 7%; } }
    @media screen and (min-width: 768px) and (max-width: 1024px) {
      #visual #visual_inner {
        padding: 160px 7% 160px 7%; } }
    @media screen and (min-width: 1025px) {
      #visual #visual_inner {
        padding: 250px 100px 250px 100px; } }
    @media screen and (min-width: 1025px) and (max-width: 1250px) {
      #visual #visual_inner {
        padding: 180px 100px 180px 100px !important; } }
  #visual .catch {
    font-weight: 600;
    line-height: 1.5 !important;
    margin-bottom: 0px !important; }
    @media screen and (max-width: 767px) {
      #visual .catch span {
        display: inline-block;
        background: white;
        padding: 8px;
        margin-bottom: 5px;
        font-size: 1.9rem;
        color: #009999; } }
    @media screen and (min-width: 768px) {
      #visual .catch span {
        text-shadow: 0px 0px 19px rgba(255, 255, 255, 0.5); } }
    @media screen and (min-width: 481px) and (max-width: 767px) {
      #visual .catch span {
        font-size: 2.5rem; } }
    @media screen and (min-width: 768px) and (max-width: 1024px) {
      #visual .catch span {
        font-size: 3.0rem; } }
    @media screen and (min-width: 1025px) {
      #visual .catch span {
        font-size: 4.3rem; } }
    @media screen and (min-width: 1025px) and (max-width: 1250px) {
      #visual .catch span {
        font-size: 3.0rem !important; } }

/* ----------------------------------------
	#about
---------------------------------------- */
@media screen and (max-width: 480px) {
  #about {
    margin-bottom: 300px; } }
@media screen and (min-width: 481px) and (max-width: 767px) {
  #about {
    margin-bottom: 400px; } }
@media screen and (min-width: 768px) and (max-width: 900px) {
  #about {
    margin-bottom: 400px; } }
@media screen and (min-width: 901px) {
  #about {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
    margin-right: 0px !important;
    background: url("../images/home/about.jpg?7") no-repeat;
    background-size: 55% !important;
    background-position: 100% 50px; } }
@media screen and (min-width: 1025px) {
  #about {
    padding-bottom: 5% !important; } }
@media screen and (min-width: 1025px) and (max-width: 1250px) {
  #about {
    padding-bottom: 0px !important; } }
#about h2 {
  color: #FFFFFF; }
  @media screen and (min-width: 901px) {
    #about h2 {
      text-align: left; } }
#about img {
  width: 100%; }
#about .inner {
  width: 100%;
  margin: 0px auto; }
  @media screen and (max-width: 1024px) {
    #about .inner {
      position: relative;
      padding: 0px 0% 0px 0px !important; } }
  @media screen and (min-width: 901px) {
    #about .inner {
      display: flex;
      justify-content: space-between; } }
  @media screen and (min-width: 1025px) {
    #about .inner {
      padding: 60px 0px 0px 0% !important;
      max-width: 2000px !important; } }
  @media screen and (min-width: 1025px) and (max-width: 1250px) {
    #about .inner {
      padding: 60px 5% 0px 0% !important; } }
@media screen and (min-width: 901px) {
  #about .inner.reverse {
    flex-direction: row-reverse; } }
#about .textArea {
  background: linear-gradient(90deg, #38afaf, #009999);
  color: #FFFFFF; }
  @media screen and (max-width: 767px) {
    #about .textArea {
      padding: 80px 5% 100px 5%; } }
  @media screen and (min-width: 768px) and (max-width: 900px) {
    #about .textArea {
      padding: 80px 5% 300px 5%; } }
  @media screen and (min-width: 901px) and (max-width: 1024px) {
    #about .textArea {
      width: 55%;
      padding: 6%; } }
  @media screen and (min-width: 1025px) {
    #about .textArea {
      width: 50%;
      padding: 6%; } }
  @media screen and (min-width: 1025px) and (max-width: 1250px) {
    #about .textArea {
      width: 55%;
      margin-bottom: 60px !important;
      padding: 6% !important; } }
  #about .textArea p {
    line-height: 2.2; }
    @media screen and (max-width: 480px) {
      #about .textArea p {
        max-width: 350px; } }
    @media screen and (min-width: 481px) and (max-width: 767px) {
      #about .textArea p {
        max-width: 450px; } }
    @media screen and (min-width: 768px) and (max-width: 900px) {
      #about .textArea p {
        max-width: 600px; } }
    @media screen and (max-width: 900px) {
      #about .textArea p {
        margin: 0px auto; } }
    @media screen and (min-width: 1025px) {
      #about .textArea p {
        font-size: 1.8rem; } }
@media screen and (max-width: 480px) {
  #about .imgArea {
    width: 320px;
    right: 0px;
    bottom: -30%; } }
@media screen and (min-width: 481px) and (max-width: 767px) {
  #about .imgArea {
    width: 400px;
    right: 0px;
    bottom: -40%; } }
@media screen and (min-width: 768px) and (max-width: 900px) {
  #about .imgArea {
    width: 550px;
    right: 0px;
    bottom: -45%; } }
@media screen and (max-width: 900px) {
  #about .imgArea {
    position: absolute; }
    #about .imgArea img {
      width: 100%; } }
@media screen and (min-width: 901px) and (max-width: 1024px) {
  #about .imgArea {
    width: 60%;
    display: none; }
    #about .imgArea img {
      object-fit: cover;
      max-height: 550px; } }
@media screen and (min-width: 1025px) {
  #about .imgArea {
    width: 60%;
    display: none; }
    #about .imgArea img {
      object-fit: cover;
      max-height: 730px; } }
@media screen and (min-width: 1025px) and (max-width: 1250px) {
  #about .imgArea {
    width: 60%;
    display: none; }
    #about .imgArea img {
      object-fit: cover;
      max-height: 500px; } }

/* ----------------------------------------
	#news
---------------------------------------- */
@media screen and (max-width: 900px) {
  #news {
    padding: 50px 5% 15% 5%; } }
@media screen and (min-width: 901px) {
  #news {
    padding: 80px 5% 0px 5%; } }
@media screen and (min-width: 1025px) and (max-width: 1250px) {
  #news {
    padding-top: 0px !important; } }
#news .inner {
  background: #efefef; }
  @media screen and (max-width: 480px) {
    #news .inner {
      padding: 50px 30px; } }
  @media screen and (min-width: 481px) and (max-width: 900px) {
    #news .inner {
      padding: 80px 30px;
      max-width: 650px;
      margin-bottom: 80px;
      margin: 0px auto;
      width: 100%; } }
  @media screen and (min-width: 901px) {
    #news .inner {
      margin-bottom: 80px;
      display: flex;
      justify-content: space-between; } }
  @media screen and (min-width: 901px) and (max-width: 1024px) {
    #news .inner {
      padding: 80px 50px; } }
  @media screen and (min-width: 1025px) {
    #news .inner {
      padding: 100px 100px; } }
  @media screen and (min-width: 1025px) and (max-width: 1250px) {
    #news .inner {
      padding: 100px 100px !important; } }
@media screen and (min-width: 901px) {
  #news #titleArea {
    width: 165px; } }
@media screen and (max-width: 900px) {
  #news #titleArea h2.title {
    margin-bottom: 30px !important;
    text-align: center; } }
@media screen and (min-width: 901px) {
  #news #titleArea h2.title {
    text-align: left; } }
@media screen and (min-width: 901px) {
  #news #infoArea {
    width: -webkit-calc(100% -220px);
    width: calc(100% - 220px); } }
@media screen and (min-width: 1025px) {
  #news #infoArea {
    width: -webkit-calc(100% -280px);
    width: calc(100% - 280px);
    padding-top: 50px; } }
#news #infoArea p {
  font-weight: bold; }
  @media screen and (min-width: 901px) {
    #news #infoArea p {
      font-size: 2.0rem; } }
#news #infoArea ul {
  margin-bottom: 30px; }
  @media screen and (max-width: 900px) {
    #news #infoArea ul {
      border-top: 1px dashed #cccccc; } }
  #news #infoArea ul li {
    border-bottom: 1px dashed #cccccc; }
    #news #infoArea ul li a {
      display: block;
      padding: 25px 0px;
      transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1); }
      #news #infoArea ul li a:hover {
        background: #ebebeb; }
    #news #infoArea ul li span.date {
      display: inline-block; }
@media screen and (min-width: 901px) {
  #news .link {
    text-align: right; } }
#news .link .moreBtn {
  width: 180px;
  position: relative;
  border-radius: 30px; }
  @media screen and (max-width: 900px) {
    #news .link .moreBtn {
      margin: 0px auto; } }
  @media screen and (min-width: 901px) {
    #news .link .moreBtn {
      display: inline-block; } }
  #news .link .moreBtn a {
    padding: 20px 20px;
    text-align: center;
    background: linear-gradient(90deg, #38afaf, #009999);
    color: #FFFFFF;
    display: block;
    line-height: 1.0;
    font-weight: bold;
    transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
    border-radius: 30px; }
    #news .link .moreBtn a:hover {
      background: #2bbfbb;
      border-radius: 30px; }
  #news .link .moreBtn::after {
    content: url("../images/common/arrow_w.svg");
    display: inline-block;
    top: 15px;
    right: 10px;
    width: 15px;
    background-size: contain;
    vertical-align: middle;
    position: absolute; }
@media screen and (min-width: 901px) {
  #news .linkSp {
    display: none; } }
@media screen and (max-width: 900px) {
  #news .linkPc {
    display: none; } }

/* ----------------------------------------
	#merit
---------------------------------------- */
#merit .inner2 {
  text-align: center;
  background: url("../images/home/merit_bk.jpg?3") center center;
  background-size: auto;
  background-size: cover; }
  @media screen and (min-width: 901px) {
    #merit .inner2 {
      padding: 100px 7% !important; } }
  #merit .inner2 img {
    display: inline-block; }
    @media screen and (max-width: 480px) {
      #merit .inner2 img {
        width: 70%; } }
    @media screen and (min-width: 481px) {
      #merit .inner2 img {
        width: 40%; } }
    @media screen and (min-width: 1025px) {
      #merit .inner2 img {
        width: 500px; } }
    @media screen and (min-width: 1025px) and (max-width: 1250px) {
      #merit .inner2 img {
        width: 40%; } }
@media screen and (min-width: 901px) {
  #merit .inner {
    display: flex;
    justify-content: space-between; } }
@media screen and (min-width: 901px) and (max-width: 1024px) {
  #merit #leftArea {
    width: 48%; } }
@media screen and (min-width: 1025px) {
  #merit #leftArea {
    width: 49%; } }
@media screen and (min-width: 901px) and (max-width: 1024px) {
  #merit #rightArea {
    width: 50%; } }
@media screen and (min-width: 1025px) {
  #merit #rightArea {
    width: 50%; } }
#merit ul li {
  margin-bottom: 80px;
  line-height: 2.0; }
  @media screen and (max-width: 480px) {
    #merit ul li {
      margin-bottom: 50px; } }
#merit .tit {
  color: #009999;
  font-size: 2.2rem;
  margin-bottom: 20px;
  font-weight: 700; }
  @media screen and (min-width: 768px) {
    #merit .tit {
      font-size: 2.4rem; } }
  #merit .tit span.num {
    font-size: 5.0rem;
    font-weight: 900;
    line-height: 1.0; }
    @media screen and (max-width: 767px) {
      #merit .tit span.num {
        display: inline-block;
        width: 100%; } }
    @media screen and (min-width: 768px) {
      #merit .tit span.num {
        padding-right: 20px; } }

/* ----------------------------------------
	#weare
---------------------------------------- */
#weare .inner2 {
  background: url("../images/home/weare_bg.jpg?1") right center;
  background-size: auto;
  background-size: cover;
  padding: 10% 6%; }
  @media screen and (max-width: 767px) {
    #weare .inner2 {
      background: url("../images/home/weare_bg2.jpg?2") center bottom;
      background-size: 100%;
      padding: 60px 5%; } }
  @media screen and (max-width: 480px) {
    #weare .inner2 {
      height: 400px; } }
  @media screen and (min-width: 481px) and (max-width: 767px) {
    #weare .inner2 {
      height: 450px; } }
  @media screen and (min-width: 768px) and (max-width: 1024px) {
    #weare .inner2 {
      height: 450px;
      padding: 170px 5%; } }
  #weare .inner2 h2 {
    color: #000000;
    text-align: left; }
    @media screen and (max-width: 767px) {
      #weare .inner2 h2 {
        text-align: center; } }
    @media screen and (min-width: 1025px) {
      #weare .inner2 h2 {
        font-size: 2.8rem; } }
    @media screen and (min-width: 1025px) and (max-width: 1250px) {
      #weare .inner2 h2 {
        font-size: 2.0rem; } }
    #weare .inner2 h2 .en {
      padding-bottom: 12px; }
      @media screen and (max-width: 480px) {
        #weare .inner2 h2 .en {
          font-size: 5.0rem; } }
      @media screen and (min-width: 481px) and (max-width: 900px) {
        #weare .inner2 h2 .en {
          font-size: 6.0rem; } }
      @media screen and (min-width: 768px) and (max-width: 1024px) {
        #weare .inner2 h2 .en {
          font-size: 6.0rem; } }
      @media screen and (min-width: 1025px) {
        #weare .inner2 h2 .en {
          font-size: 9.0rem;
          padding-bottom: 20px; } }
      @media screen and (min-width: 1025px) and (max-width: 1250px) {
        #weare .inner2 h2 .en {
          font-size: 8.0rem !important;
          padding-bottom: 20px !important; } }
@media screen and (min-width: 768px) {
  #weare .inner {
    display: flex;
    justify-content: space-between;
    padding-bottom: 0px; } }
@media screen and (min-width: 768px) {
  #weare #leftArea {
    width: 48%; } }
@media screen and (min-width: 1025px) {
  #weare #leftArea {
    width: 47%; } }
#weare #leftArea p {
  margin-bottom: 50px; }
  @media screen and (min-width: 1025px) {
    #weare #leftArea p {
      line-height: 2.5; } }
@media screen and (max-width: 767px) {
  #weare #rightArea {
    max-width: 500px;
    margin: 0px auto;
    text-align: center; } }
@media screen and (min-width: 768px) {
  #weare #rightArea {
    width: 50%; } }
@media screen and (min-width: 1025px) {
  #weare #rightArea {
    width: 50%; } }
#weare h3 {
  color: #009999;
  margin-bottom: 30px;
  font-size: 3.0rem;
  font-weight: 800;
  line-height: 1.5; }
  @media screen and (max-width: 767px) {
    #weare h3 {
      text-align: center;
      margin-bottom: 20px; } }
  @media screen and (min-width: 1025px) {
    #weare h3 {
      font-size: 4.0rem;
      margin-bottom: 50px;
      line-height: 2.0; } }
  @media screen and (min-width: 1025px) and (max-width: 1250px) {
    #weare h3 {
      font-size: 3.0rem; } }
@media screen and (max-width: 900px) {
  #weare .inner3 {
    padding-bottom: 50px; } }
@media screen and (min-width: 901px) {
  #weare .inner3 {
    padding-top: 0px;
    padding-bottom: 80px;
    max-width: 800px !important; } }
@media screen and (min-width: 1025px) {
  #weare .inner3 {
    padding-bottom: 100px;
    max-width: 1100px !important; } }
@media screen and (min-width: 1025px) and (max-width: 1250px) {
  #weare .inner3 {
    max-width: 900px !important; } }
@media screen and (max-width: 900px) {
  #weare .inner3 ul {
    max-width: 500px;
    margin: 0px auto; } }
@media screen and (min-width: 901px) {
  #weare .inner3 ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; } }
#weare .inner3 ul li {
  margin-bottom: 30px; }
  @media screen and (max-width: 900px) {
    #weare .inner3 ul li {
      margin-bottom: 30px; } }
  @media screen and (min-width: 901px) {
    #weare .inner3 ul li {
      width: 48%;
      margin-bottom: 20px; } }
  @media screen and (min-width: 1025px) {
    #weare .inner3 ul li {
      margin-bottom: 0px;
      width: 46%; } }
  @media screen and (min-width: 901px) {
    #weare .inner3 ul li:nth-child(2n) {
      padding-top: 50px; } }
  @media screen and (min-width: 1025px) {
    #weare .inner3 ul li:nth-child(2n) {
      padding-top: 80px; } }
  #weare .inner3 ul li p {
    line-height: 2.0; }
#weare .inner3 .tit {
  color: #009999;
  font-size: 3.0rem;
  font-weight: 800;
  line-height: 1.0; }
  #weare .inner3 .tit span {
    font-size: 6.0rem;
    font-weight: 900; }
    @media screen and (min-width: 1025px) {
      #weare .inner3 .tit span {
        font-size: 8.0rem; } }
#weare .inner3 .photo {
  margin-bottom: 20px; }
  @media screen and (min-width: 901px) {
    #weare .inner3 .photo {
      margin-bottom: 30px; } }
#weare .inner3 .point {
  font-size: 2.5rem;
  margin-bottom: 15px;
  font-weight: 700; }
  @media screen and (min-width: 901px) {
    #weare .inner3 .point {
      font-size: 3.0rem;
      margin-bottom: 20px; } }

/* ----------------------------------------
	#information
---------------------------------------- */
#information {
  background: url("../images/home/information_bg.jpg?2") right center;
  background-size: auto;
  background-size: cover; }
  @media screen and (max-width: 900px) {
    #information .inner {
      padding: 80px 5%; } }
  @media screen and (max-width: 900px) {
    #information ul.information {
      max-width: 500px;
      margin: 0px auto; } }
  @media screen and (min-width: 901px) {
    #information ul.information {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; } }
  #information ul.information li {
    font-size: 1.6rem; }
    @media screen and (max-width: 900px) {
      #information ul.information li {
        margin-bottom: 30px; } }
    @media screen and (min-width: 901px) {
      #information ul.information li {
        width: 31%; } }
  #information .photo {
    margin-bottom: 20px; }
@inclide minPc {
  #information .photo {
    margin-bottom: 30px; } }
  #information .catch {
    font-size: 2.0rem;
    font-weight: 700;
    margin-bottom: 10px; }
    @media screen and (min-width: 901px) {
      #information .catch {
        font-size: 2.4rem;
        margin-bottom: 15px; } }
  #information p {
    margin: 0px auto; }

/* ----------------------------------------
	#message
---------------------------------------- */
@media screen and (min-width: 901px) {
  #message .inner {
    display: flex;
    justify-content: space-between; } }
@media screen and (min-width: 901px) {
  #message .inner.reverse {
    flex-direction: row-reverse; } }
@media screen and (max-width: 480px) {
  #message #leftArea {
    text-align: left !important; } }
@media screen and (max-width: 900px) {
  #message #leftArea {
    margin-bottom: 50px;
    text-align: center; } }
@media screen and (min-width: 901px) and (max-width: 1024px) {
  #message #leftArea {
    width: 48%; } }
@media screen and (min-width: 1025px) {
  #message #leftArea {
    width: 47%; } }
#message #leftArea p {
  margin-bottom: 30px; }
@media screen and (max-width: 900px) {
  #message #rightArea {
    max-width: 450px;
    margin: 0px auto; } }
@media screen and (min-width: 901px) and (max-width: 1024px) {
  #message #rightArea {
    width: 50%; } }
@media screen and (min-width: 1025px) {
  #message #rightArea {
    width: 50%; } }
#message h2 {
  color: #333333 !important; }
  @media screen and (max-width: 900px) {
    #message h2 {
      text-align: center;
      margin-bottom: 60px; } }
  @media screen and (min-width: 901px) {
    #message h2 {
      text-align: left; } }
#message h3 {
  color: #009999;
  margin-bottom: 30px;
  font-size: 2.5rem;
  font-weight: 800; }
  @media screen and (max-width: 900px) {
    #message h3 {
      text-align: center; } }
  @media screen and (min-width: 768px) {
    #message h3 {
      font-size: 3.0rem;
      margin-bottom: 55px; } }
#message .name {
  font-weight: 700; }
  @media screen and (max-width: 1024px) {
    #message .name span.position {
      font-size: 1.4rem; } }
  #message .name span.point {
    font-size: 2.4rem; }
    @media screen and (min-width: 1025px) {
      #message .name span.point {
        font-size: 2.8rem; } }
  #message .name span.enname {
    color: #009999;
    font-size: 1.2rem;
    padding-left: 15px; }

/* ----------------------------------------
	#instructor
---------------------------------------- */
#instructor {
  background: #ebebeb; }
  @media screen and (min-width: 1025px) {
    #instructor .inner {
      max-width: 1500px;
      margin: 0px auto; } }
  #instructor h2.title {
    color: #333333 !important; }
  @media screen and (min-width: 901px) {
    #instructor ul {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; } }
  #instructor ul li {
    background: #ffffff; }
    @media screen and (max-width: 480px) {
      #instructor ul li {
        margin-bottom: 15px;
        border: 1px solid #ffffff; } }
    @media screen and (min-width: 481px) and (max-width: 900px) {
      #instructor ul li {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-bottom: 15px; } }
    @media screen and (min-width: 901px) and (max-width: 1024px) {
      #instructor ul li {
        width: 32%; } }
    @media screen and (min-width: 1025px) {
      #instructor ul li {
        width: 31%; } }
    @media screen and (min-width: 1025px) and (max-width: 1250px) {
      #instructor ul li {
        width: 32%; } }
  @media screen and (min-width: 481px) and (max-width: 900px) {
    #instructor .photo {
      width: 30%; } }
  @media screen and (max-width: 480px) {
    #instructor .photo img {
      object-fit: cover;
      width: 100%;
      height: 300px;
      object-position: 0% 10%; } }
  @media screen and (min-width: 901px) and (max-width: 1024px) {
    #instructor .photo img {
      object-fit: cover;
      width: 100%;
      height: 300px;
      object-position: 0% 10%; } }
  @media screen and (min-width: 1025px) {
    #instructor .photo img {
      object-fit: cover;
      width: 100%;
      height: 500px;
      object-position: 0% 10%; } }
  @media screen and (max-width: 480px) {
    #instructor .ol {
      padding: 20px; } }
  @media screen and (min-width: 481px) and (max-width: 900px) {
    #instructor .ol {
      padding: 15px;
      width: 70%; } }
  @media screen and (min-width: 768px) {
    #instructor .ol {
      padding: 25px; } }
  @media screen and (max-width: 767px) {
    #instructor .ol p {
      font-size: 1.4rem; } }
  #instructor .position {
    font-size: 1.4rem;
    font-weight: 700; }
  #instructor .name {
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: 15px;
    color: #009999; }
    @media screen and (min-width: 1025px) {
      #instructor .name {
        margin-bottom: 20px; } }
    #instructor .name span {
      font-size: 1.5rem;
      color: #3e3a39; }
  #instructor p {
    margin: 0px auto; }

/* ----------------------------------------
	#price
---------------------------------------- */
@media screen and (min-width: 901px) {
  #price h2.title .en {
    font-size: 4.5rem; } }
#price .campaign {
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    #price .campaign {
      margin-bottom: 50px; } }
  #price .campaign .catch {
    text-align: center;
    margin-bottom: 50px; }
    @media screen and (min-width: 768px) {
      #price .campaign .catch {
        margin-bottom: 80px; } }
    #price .campaign .catch span {
      background: linear-gradient(90deg, #38afaf, #009999);
      color: #ffffff;
      display: inline-block;
      margin: 0px auto;
      padding: 10px;
      font-size: 2.0rem;
      margin-top: 10px; }
      @media screen and (min-width: 768px) {
        #price .campaign .catch span {
          font-size: 3.0rem; } }
  #price .campaign .midashi {
    text-align: center;
    font-weight: 800;
    color: #04726f;
    font-size: 1.8rem;
    margin-bottom: 30px; }
    @media screen and (min-width: 768px) {
      #price .campaign .midashi {
        font-size: 3.0rem;
        margin-bottom: 50px; } }
  #price .campaign .about {
    max-width: 600px;
    margin: 0px auto; }
  #price .campaign .tit {
    font-weight: 600;
    font-size: 1.8rem;
    border-top: 1px solid #000000;
    border-bottom: 1px solid #000000;
    padding-bottom: 5px;
    padding-top: 5px;
    margin-bottom: 15px;
    text-align: center; }
#price .note {
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    #price .note {
      margin-bottom: 50px; } }
#price table {
  margin-bottom: 30px; }
  @media screen and (min-width: 901px) {
    #price table {
      margin-bottom: 50px; } }
  #price table th {
    padding: 15px 15px !important;
    vertical-align: middle;
    background: #000000;
    border: solid 1px #fff;
    color: #fff;
    text-align: center; }
    @media screen and (max-width: 767px) {
      #price table th {
        font-size: 1.4rem; } }
    @media screen and (min-width: 768px) {
      #price table th {
        padding: 20px !important; } }
    @media screen and (min-width: 1025px) {
      #price table th {
        font-size: 1.8rem !important; } }
  #price table td {
    padding: 15px 15px !important;
    vertical-align: middle;
    background: #ffffff;
    border: solid 1px #333;
    text-align: center;
    border: solid 1px #333; }
    @media screen and (min-width: 768px) {
      #price table td {
        padding: 20px !important; } }
    @media screen and (min-width: 1025px) {
      #price table td {
        font-size: 1.8rem !important; } }
    @media screen and (max-width: 767px) {
      #price table td div {
        font-size: 1.4rem !important; } }
    @media screen and (min-width: 1025px) {
      #price table td div {
        font-size: 1.8rem !important; } }
#price td.menu {
  font-weight: bold;
  background: #ebebeb; }
#price td.price {
  font-weight: bold;
  line-height: 1.4; }
  @media screen and (max-width: 767px) {
    #price td.price {
      width: 180px; } }
#price span.arrow {
  padding-left: 7px;
  padding-right: 7px;
  font-size: 2.0rem; }
#price span.pointPrice {
  color: #009999;
  font-size: 3.0rem; }
  @media screen and (max-width: 480px) {
    #price span.pointPrice {
      font-size: 2.5rem; } }
  #price span.pointPrice span.yen {
    font-size: 2.0rem; }
    @media screen and (max-width: 480px) {
      #price span.pointPrice span.yen {
        font-size: 1.8rem; } }
#price #calendar {
  max-width: 960px;
  min-width: 300px;
  margin: 2.0833% auto; }
  #price #calendar .googlecal {
    position: relative;
    padding-bottom: 100%;
    height: 0;
    margin-bottom: 30px; }
  #price #calendar .googlecal iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important; }
@media only screen and (min-width: 768px) {
  #price .googlecal {
    padding-bottom: 75%; } }
#price .moreBtn {
  position: relative;
  max-width: 800px;
  margin: 0px auto;
  width: 100%; }
  #price .moreBtn a {
    text-align: center;
    color: #ffffff;
    background: #009999;
    font-weight: bold;
    display: block;
    padding: 20px 30px 20px 5px; }
    @media screen and (min-width: 768px) {
      #price .moreBtn a {
        font-size: 2.5rem;
        padding: 25px 35px 20px 10px; } }
    #price .moreBtn a:hover {
      background: #2bbfbb; }
  #price .moreBtn::after {
    display: inline-block;
    content: url("../images/common/arrow_w.svg");
    right: 10px;
    width: 20px;
    background-size: contain;
    vertical-align: middle;
    position: absolute;
    top: 30%; }
    @media screen and (min-width: 768px) {
      #price .moreBtn::after {
        right: 20px;
        width: 25px;
        top: 35%; } }

/* ----------------------------------------
	#q-and-a
---------------------------------------- */
#q-and-a {
  background: url("../images/home/q-and-a_bg.jpg") center center;
  background-size: auto;
  background-size: cover; }
  #q-and-a h2.title {
    color: #ffffff !important; }
    @media screen and (min-width: 901px) {
      #q-and-a h2.title .en {
        font-size: 4.5rem; } }
  #q-and-a #qaList {
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    color: #ffffff; }
    #q-and-a #qaList .accordion-hidden {
      display: none; }
    #q-and-a #qaList .accordion-open {
      display: block;
      padding: 20px 30px 20px 10px;
      border-top: 1px solid rgba(255, 255, 255, 0.5);
      cursor: pointer;
      margin-bottom: 8px;
      position: relative;
      line-height: 1.3;
      text-indent: -1em;
      padding-left: 1em; }
      @media screen and (min-width: 768px) {
        #q-and-a #qaList .accordion-open {
          padding: 25px 50px 25px 25px;
          font-size: 1.8rem; } }
      @media screen and (min-width: 1025px) {
        #q-and-a #qaList .accordion-open {
          font-size: 2.0rem; } }
      #q-and-a #qaList .accordion-open::before, #q-and-a #qaList .accordion-open::after {
        content: '';
        width: 15px;
        height: 3px;
        background: #ffffff;
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%); }
        @media screen and (min-width: 768px) {
          #q-and-a #qaList .accordion-open::before, #q-and-a #qaList .accordion-open::after {
            right: 40px; } }
      #q-and-a #qaList .accordion-open::after {
        transform: translateY(-50%) rotate(90deg);
        transition: .5s; }
    #q-and-a #qaList .accordion-hidden:checked + .accordion-open:after {
      transform: translateY(-50%) rotate(0); }
    #q-and-a #qaList .accordion-inner {
      display: block;
      height: 0;
      overflow: hidden;
      padding: 0;
      opacity: 0;
      transition: 0.5s;
      /* 表示速度の設定 */
      cursor: pointer; }
    #q-and-a #qaList .accordion-hidden:checked + .accordion-open + .accordion-inner {
      height: auto;
      opacity: 1;
      padding: 15px 20px 30px 20px;
      text-indent: -1em;
      padding-left: 1em; }
      @media screen and (min-width: 768px) {
        #q-and-a #qaList .accordion-hidden:checked + .accordion-open + .accordion-inner {
          padding: 20px 30px 40px 30px; } }

/* ----------------------------------------
	#access
---------------------------------------- */
@media screen and (max-width: 1024px) {
  #access .inner {
    padding-bottom: 80px; } }
@media screen and (min-width: 901px) {
  #access h2.title .en {
    font-size: 4.5rem; } }
#access .about {
  margin-bottom: 40px; }
  @media screen and (min-width: 768px) {
    #access .about {
      text-align: center;
      margin-bottom: 80px; } }
#access .photo {
  max-width: 1000px;
  margin: 0px auto;
  margin-bottom: 40px; }
  @media screen and (min-width: 768px) {
    #access .photo {
      margin-bottom: 80px; } }
#access .data {
  font-weight: 500; }
  @media screen and (min-width: 481px) {
    #access .data {
      text-align: center; } }
  #access .data p {
    line-height: 1.5; }
  #access .data .googlelink {
    background: #009999;
    width: 120px;
    margin: 0px auto; }
    #access .data .googlelink:hover {
      background: #04726f; }
    #access .data .googlelink a {
      color: #ffffff;
      line-height: 1.0;
      padding: 7px 10px;
      display: block; }
  #access .data .note {
    font-size: 1.4rem;
    border: 1px solid #009999;
    color: #009999;
    padding: 10px;
    line-height: 1.0;
    display: inline-block; }

@media screen and (max-width: 900px) {
  #slide {
    padding-bottom: 80px; } }
