/*
Theme Name:cmb-jttc-text-book only
*/

/* 【公式】トップページ */

/*------------------------------------*/
/* ◆トップ画像 */
/*------------------------------------*/
#top-visual {
  width: 100%;
  height: auto;
}

/*リキャプチャ非表示*/
.grecaptcha-badge {
  visibility: hidden;
}

/*------------------------------------*/
/* ◆ニュース */
/*------------------------------------*/
#topNews {
  width: 80%;
  margin: 50px auto;
}
#topNews h1 {
  font-size: 20px;
  letter-spacing: 2px;
}
#topNews article {
  height: 200px;
  margin: 10px auto;
  padding: 15px;
  border: solid 1px #ccc;
  overflow-y: scroll;
}
#topNews article ul {
  margin: 0;
  padding: 0;
}
#topNews article a {
  display: block;
  margin: 0 auto;
  padding: 15px 0;
  color: #191919;
  border-bottom: solid 1px #f5f5f5;
}
#topNews article a:last-child {
  border-bottom: none;
}
#topNews article a:hover {
  opacity: 0.5;
}
#topNews article li {
  margin: 0;
  padding: 0;
  list-style: none;
}
#topNews article a li .news-time {
  display: block;
  margin-bottom: 5px;
  font-size: 14px;
  color: #777;
  left: 1px;
}
#topNews article a li h2 {
  font-size: 16px;
  font-weight: normal;
  letter-spacing: 1.2px;
  line-height: 1.5;
}
.newsPageBtn {
  display: block;
  text-align: right;
  color: #023a83;
}

/*------------------------------------*/
/* ◆日本語教師について */
/*------------------------------------*/
#jttc-about {
  margin: 0 auto;
  padding: 50px 5%;
  text-align: center;
  background-color: #f9f8f7;
}
#jttc-about h1 {
  margin-bottom: 50px;
  letter-spacing: 5px;
  /*color: #49b9e0;*/
  position: relative;
  display: inline-block;
}
#jttc-about h1:before {
  content: "";
  position: absolute;
  bottom: -27px;
  display: inline-block;
  width: 60px;
  height: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #49b9e0;
  border-radius: 2px;
}
#jttc-about p {
  width: 80%;
  margin: 0 auto;
  font-size: 18px;
  letter-spacing: 2px;
  line-height: 2;
}
#jttc-about p strong {
  /*color: #E54438;*/
}
.jttc-about-btn {
  display: block;
  margin: 30px auto 0;
  width: 60%;
  height: 60px;
  line-height: 60px;
  font-size: 18px;
  letter-spacing: 5px;
  border: solid 2px #fff;
  background-color: #49b9e0;
  color: #fff;
  position: relative;
}
.jttc-about-btn::after {
  position: absolute;
  right: 10px;
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 25px;
  color: #fff;
}
.jttc-about-btn:hover {
  background-color: #fff;
  color: #49b9e0;
  border: solid 2px #49b9e0;
}

/*------------------------------------*/
/* ◆講座の特徴 */
/*------------------------------------*/
#feature {
  height: 500px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  background-image: url("images/feature-img1.jpg");
  background-position: center right;
  background-repeat: no-repeat;
}
.feature-textbox {
  width: 60%;
  padding: 2% 5% 1%;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 10px;
}
.feature-textbox h1 {
  margin-bottom: 30px;
  font-size: 25px;
  text-align: center;
  letter-spacing: 2px;
  line-height: 1.5;
}
.feature-textbox h1 span {
  background: linear-gradient(transparent 70%, #afeeee 70%);
}
.feature-textbox a {
  display: block;
  width: 100%;
  height: 60px;
  margin: 30px auto;
  padding: 0 30px;
  line-height: 60px;
  font-size: 18px;
  letter-spacing: 5px;
  border: solid 2px #49b9e0;
  position: relative;
  color: #49b9e0;
  text-align: center;
  background-color: #fff;
}
.feature-textbox a::after {
  position: absolute;
  right: 10px;
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 25px;
}
.feature-textbox a:hover {
  color: #fff;
  background-color: #49b9e0;
}

/*------------------------------------*/
/* ◆講座内容 */
/*------------------------------------*/
#schedule {
  height: 500px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  background-image: url("images/schedule-img1.jpg");
  background-position: center left;
  background-repeat: no-repeat;
}
.schedule-textbox {
  width: 60%;
  padding: 2% 5% 1%;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 10px;
}
.schedule-textbox h1 {
  margin-bottom: 30px;
  font-size: 25px;
  text-align: center;
  letter-spacing: 2px;
  line-height: 1.5;
}
.schedule-textbox h1 span {
  background: linear-gradient(transparent 70%, #afeeee 70%);
}
.schedule-textbox a {
  display: block;
  width: 100%;
  height: 60px;
  margin: 30px auto;
  padding: 0 30px;
  line-height: 60px;
  font-size: 18px;
  letter-spacing: 5px;
  border: solid 2px #49b9e0;
  position: relative;
  color: #49b9e0;
  text-align: center;
  background-color: #fff;
}
.schedule-textbox a::after {
  position: absolute;
  right: 10px;
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 25px;
}
.schedule-textbox a:hover {
  color: #fff;
  background-color: #49b9e0;
}
/*------------------------------------*/
/* ◆金額 */
/*------------------------------------*/
#price {
  margin: 0 auto;
  background-color: #f0f8ff;
  padding: 50px 5%;
  text-align: center;
  color: #191919;
}
#price h1 {
  width: 80%;
  margin: 0 auto;
  letter-spacing: 5px;
  line-height: 1.2;
}
#price h1 span {
  display: block;
  font-size: 25px;
  letter-spacing: 2px;
  font-weight: normal;
}
.yenbox {
  width: 85%;
  margin: 10px auto 0;
  padding: 15px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  border-top: solid 3px #fff;
  border-bottom: solid 4px #fff;
  background-color: #fff;
  border-radius: 15px;
  color: #191919;
}
.corse {
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: 2px;
  margin: 10px 10px 0 0;
  font-family:
    游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro",
    "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
  font-weight: bold;
}

.yen-about {
  font-size: 70px;
  font-weight: bold;
  font-family: "arial black";
  letter-spacing: 5px;
  color: #013a84;
}
.yen {
  font-size: 40px;
  color: #013a84;
}
.tax {
  font-size: 16px;
  font-family:
    游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro",
    "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
  letter-spacing: 1.2px;
  color: #191919;
}
/* 詳細ボタン */
.yenbox a {
  display: block;
  width: 90%;
  height: 60px;
  margin: 10px auto;
  padding: 0 30px;
  line-height: 60px;
  font-size: 18px;
  letter-spacing: 5px;
  border: solid 2px #013a84;
  position: relative;
  color: #fff;
  text-align: center;
  background-color: #013a84;
}
.yenbox a::after {
  position: absolute;
  right: 10px;
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 25px;
}
.yenbox a:hover {
  color: #013a84;
  background-color: #fff;
  border: solid 2px #013a84;
}

/*------------------------------------*/
/* ◆資料請求・問い合わせ */
/*------------------------------------*/
#contact {
  width: 100%;
  margin: 0 auto;
  padding: 50px 5%;
  text-align: center;
  background-image: url("images/bkimg-cmb-rainbow-school.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
}
#contact h1 {
  letter-spacing: 5px;
  line-height: 2;
  margin-bottom: 10px;
  color: #fff;
}
.top-contact-box {
  width: 90%;
  margin: 0 auto;
  padding: 30px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-content: flex-start;
}
/* 電話 */
.top-contact-telbox {
  width: 45%;
  padding: 30px;
  background-color: #fff;
  text-align: left;
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.3);
  position: relative;
}
.top-contact-telbox h2 {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: solid 2px #dfdfdf;
}
.top-contact-telbox a {
  display: block;
  color: #e8464a;
  font-size: 2.5vw;
  font-weight: bold;
  margin-bottom: 10px;
  letter-spacing: 1.5px;
  font-family: "arial black";
}
.top-contact-telbox a:hover {
  opacity: 0.5;
}
.top-contact-telbox p {
  font-size: 16px;
}
.telbox-triangle {
  position: absolute;
  bottom: 0;
  right: 0;
  border-bottom: 80px solid #db5872;
  border-left: 80px solid transparent;
  opacity: 0.5;
}
.telbox-triangle::after {
  position: absolute;
  bottom: -70px;
  right: 10px;
  content: "\f095";
  font-family: "Font Awesome 5 Free";
  color: #fff;
  font-weight: 900;
  font-size: 30px;
}
/* メール */
.top-contact-mailbox {
  width: 45%;
  padding: 30px;
  background-color: #fff;
  text-align: left;
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.3);
  position: relative;
}
.top-contact-mailbox h2 {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: solid 2px #dfdfdf;
}
.top-contact-mailbox a {
  display: block;
  color: #3e8349;
  font-size: 2.2vw;
  font-weight: bold;
  margin-bottom: 10px;
  font-family: "arial black";
}
.top-contact-mailbox a:hover {
  opacity: 0.5;
}
.top-contact-mailbox p {
  font-size: 16px;
}
.mailbox-triangle {
  position: absolute;
  bottom: 0;
  right: 0;
  border-bottom: 90px solid #b2ce54;
  border-left: 90px solid transparent;
  opacity: 0.5;
}
.mailbox-triangle::after {
  position: absolute;
  bottom: -75px;
  right: 10px;
  content: "\f0e0";
  font-family: "Font Awesome 5 Free";
  color: #fff;
  font-size: 30px;
}

/*------------------------------------*/
/* ◆トップページコラム一覧 */
/*------------------------------------*/
#column {
  width: 100%;
  margin: 0 auto;
  padding: 50px 5%;
  background-image: linear-gradient(
    -45deg,
    #f9f8f7 25%,
    #ffffff 25%,
    #ffffff 50%,
    #f9f8f7 50%,
    #f9f8f7 75%,
    #ffffff 75%,
    #ffffff
  );
  background-size: 50px 50px;
  text-align: center;
}
.column-title {
  letter-spacing: 5px;
  margin-bottom: 30px;
}
#column article {
  width: 80%;
  margin: 0 auto;
  padding: 20px 10px;
  background-color: #fff;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  text-align: left;
}
#column article:hover {
  background-color: #f9f8f7;
}
/* 過去記事 */
.archive-btn {
  width: 80%;
  height: 60px;
  margin: 30px auto 0;
  padding: 0 30px;
  line-height: 60px;
  font-size: 18px;
  letter-spacing: 5px;
  border: solid 2px #fff;
  position: relative;
  color: #fff;
  background-color: #013a84;
  text-align: center;
  display: block;
}
.archive-btn::after {
  position: absolute;
  right: 10px;
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 25px;
}
.archive-btn:hover {
  color: #013a84;
  background-color: #fff;
  border: solid 2px #013a84;
}

/*------------------------------------*/
/* ◆index.php 記事一覧 */
/*------------------------------------*/
.column-main-visual {
  margin: 0 auto;
  padding: 50px 0;
  background-image: url("images/contact-main-visual.jpg");
  background-size: cover;
  background-position: bottom;
  background-attachment: fixed;
}
/* 検索窓 */
.column-main-visual span {
  display: block;
  letter-spacing: 5px;
  padding: 12px 0;
  background-color: rgba(255, 255, 255, 0.7);
  color: #191919;
  text-align: center;
}
.searchform {
  width: 80%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  box-sizing: border-box;
  align-items: center;
}
.searchfield {
  height: 40px;
  width: 100%;
  box-sizing: border-box;
  border: none;
  border: solid 1px #dfdfdf;
  border-radius: 5px;
  position: relative;
}
.searchsubmit {
  height: 38px;
  width: 100px;
  box-sizing: border-box;
  border: none;
  background-color: #dfdfdf;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  font-weight: bold;
  position: absolute;
  right: 8.1%;
}
.searchsubmit:hover {
  background-color: #333;
  color: #fff;
}
/* 一覧 */
#column-contentbox {
  margin: 0 auto;
  padding: 50px 10%;
}
.column-list {
  padding: 15px 10px;
  border-bottom: 1px solid #dfdfdf;
  background-color: #fff;
  position: relative;
}

.column-list::after {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  width: auto;
  margin: 0 auto;
  position: absolute;
  right: 10px;
  bottom: 42%;
  font-weight: 900;
  font-size: 25px;
  color: #dfdfdf;
}
.column-list:hover {
  background-color: #f9f8f7;
}
.column-list a {
  display: block;
  text-decoration: none;
  color: #191919;
}
.column-list a:after {
  display: block;
  clear: both;
  content: "";
}
.column-list .img-wrap {
  position: relative;
  float: left;
  line-height: 1;
}
.column-list .img-wrap img {
  width: 150px;
  height: 150px;
  object-fit: cover;
}
.column-list .img-wrap .cat-data {
  font-size: 0.75rem;
  position: absolute;
  top: 0;
  right: 0;
  padding: 0.3rem 0.5rem;
  color: #f9f8f7;
  background-color: #333;
}
.column-list .column-text {
  margin-left: 160px;
  margin-right: 30px;
}
.column-list .column-text h2 {
  font-size: 1.15rem;
  margin-bottom: 0.5rem;
}
.column-list .column-text .column-date,
.column-list .column-text .column-author {
  font-size: 0.75rem;
  font-weight: bold;
  display: inline-block;
  margin-bottom: 0.5rem;
  color: #777;
  letter-spacing: 1.1px;
}
.column-list .column-text .column-date {
  margin-right: 0.5rem;
}
.column-list .column-text .column-author i {
  margin-right: 0.3rem;
}
.column-list .column-text p {
  /* 抜粋文 */
  margin-top: 10px;
  font-size: 15px;
  letter-spacing: 1.5px;
  line-height: 1.5;
}

/* ペーじゃー */
.pagination {
  margin: 2rem 0;
  text-align: center;
}
.pagination ul {
  font-size: 0;
}
.pagination ul li {
  font-size: 1rem;
  display: inline-block;
  margin-right: 0.5rem;
}
.pagination ul li:last-child {
  border: 0;
}
.pagination ul li a,
.pagination .current {
  display: block;
  padding: 0.5rem 0.8rem;
  border: 1px solid #ccc;
}
.pagination ul li .prev,
.pagination ul li .next {
  border: 0;
}
.pagination ul li a {
  text-decoration: none;
  color: #333;
}
.pagination ul li a:hover {
  opacity: 0.6;
}
.pagination .current {
  color: #fff;
  background-color: #013a84;
}

/* 下部ナビ */
#column-footer {
  width: 100%;
  padding: 30px 10%;
  border-top: solid 3px #afeeee;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.column-footer-category {
  width: 55%;
  border-right: solid 1px #dfdfdf;
}
.column-footer-category ul {
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}
.column-footer-category ul li {
  list-style: none;
  width: 50%;
  padding: 5px;
}
.column-footer-category ul li:hover {
  text-decoration: underline;
  color: #013a84;
}
.column-footer-author {
  width: 38%;
}
.column-footer-author ul {
  margin: 0 auto;
  padding: 0;
}
.column-footer-author ul li {
  list-style: none;
  padding: 5px;
}
.column-footer-author ul li:hover {
  text-decoration: underline;
  color: #013a84;
}
.column-footer-author ul li::before {
  content: "\f007";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  margin-right: 5px;
  color: #777777;
}
.column-footer-category h3,
.column-footer-author h3 {
  color: #013a84;
  margin-bottom: 10px;
  letter-spacing: 2px;
}
.column-footer-category a,
.column-footer-author a {
  color: #222222;
}

/*------------------------------------*/
/* ◆single.php 記事内容 */
/*------------------------------------*/
.column-post-visual {
  margin: 0 auto;
  padding: 100px 0;
  background-image: url("images/contact-main-visual.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}
/* 検索窓 */
.column-post-visual span {
  display: block;
  letter-spacing: 5px;
  padding: 12px 0;
  background-color: rgba(255, 255, 255, 0.7);
  color: #191919;
  text-align: center;
}
#single-post {
  width: 100%;
  margin: 0 auto;
  padding: 50px 10%;
  color: #191919;
}
/* カテゴリー 投稿日 */
.single-post-data {
  margin-bottom: 15px;
  display: inline-block;
}
.single-post-category {
  /* カテゴリー */
  background-color: #49b9e0;
  margin-right: 8px;
  padding: 5px 3px 5px 8px;
  text-align: center;
  color: #fff;
  letter-spacing: 2px;
}
.single-post-time {
  /* 時間 */
  color: #777;
  letter-spacing: 1.1px;
  font-size: 14px;
}
.single-post-time i {
  margin-right: 2px;
}
.single-post-author {
  /* 投稿者 */
  color: #777;
  letter-spacing: 1.1px;
  font-size: 14px;
}
/* 目次 */
#toc_container {
  width: 500px;
  margin: 30px auto 50px;
  padding: 20px;
  border: solid 2px #dfdfdf;
  border-radius: 5px;
  background-color: #f9f8f7;
}
#toc_container p {
  text-align: center;
  font-weight: bold;
  letter-spacing: 2px;
  color: #333;
  margin-bottom: 20px;
}
#toc_container p::before {
  content: "-";
}
#toc_container p::after {
  content: "-";
}
#toc_container ul {
  margin: 0;
  padding: 0;
}
#toc_container ul li {
  margin: 0;
  padding: 10px 0;
  list-style: none;
}
#toc_container ul li::before {
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 5px;
  color: #777;
}
#toc_container ul li a {
  color: #343434;
}
#toc_container ul li a:hover {
  color: #49b9e0;
}
/* タイトル */
.single-post-title {
  padding: 0 2.5% 15px;
  border-bottom: solid 4px #afeeee;
}
/* 本文 */
.single-post-txt {
  width: 100%;
  margin: 15px auto;
}
.single-post-txt h2 {
  margin: 30px 0 10px;
  color: #191919;
  padding: 2% 15px;
  border-left: solid 5px #013a84;
  background-color: #f9f8f7;
  letter-spacing: 1.2px;
  line-height: 1.2;
}
.single-post-txt h3 {
  width: 98%;
  margin: 20px auto 10px;
  padding: 10px;
  font-size: 22px;
  letter-spacing: 1.2px;
  line-height: 1.2;
  color: #191919;
  border-bottom: solid 3px #dfdfdf;
}
.single-post-txt h4 {
  width: 98%;
  margin: 10px auto 10px;
  padding: 10px;
  font-size: 20px;
  letter-spacing: 1.2px;
  line-height: 1.2;
}
.single-post-txt p {
  width: 95%;
  margin: 0 auto;
  margin-bottom: 30px;
  font-size: 18px;
  letter-spacing: 1.5px;
  line-height: 1.5;
}

/* ページャー */
#single-pagination {
  width: 80%;
  margin: 0 auto 50px;
  border-top: solid 1px #dfdfdf;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#single-pagination a {
  display: block;
  padding: 10px 0;
  color: #aaa;
}
#single-pagination a:hover {
  color: #333;
}
/* 関連記事 */
.yarpp-related h3 {
  border: none;
  font-size: 20px;
  text-align: center;
  margin: 50px auto 0;
  color: #343434;
}
.yarpp-thumbnails-horizontal {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: flex-start;
}
.yarpp-thumbnails-horizontal a.yarpp-thumbnail {
  width: 250px;
  padding: 0 30px 30px 0;
  border: none;
  margin: 0 30px 30px 0;
  box-sizing: border-box;
  color: #343434;
}
.yarpp-thumbnails-horizontal a.yarpp-thumbnail:hover {
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
  opacity: 0.7;
}
.yarpp-thumbnails-horizontal a.yarpp-thumbnail img {
  width: 98%;
  margin: 0 auto 10px;
  text-align: center;
  object-fit: cover;
}
.yarpp-thumbnails-horizontal span.yarpp-thumbnail-title {
  width: 100%;
  font-weight: bold;
}
/*------------------------------------*/
/* タ ブ レ ッ ト */
@media screen and (max-width: 768px) {
  /*------------------------------------*/
  /* ◆トップ画像 */
  /*------------------------------------*/
  #top-visual {
    width: 100%;
    height: auto;
    margin-top: 70px;
  }

  /*------------------------------------*/
  /* ◆日本語教師について */
  /*------------------------------------*/
  #jttc-about {
    margin: 0 auto;
    padding: 50px 5%;
    text-align: center;
  }
  #jttc-about h1 {
    font-size: 5.5vw;
    margin-bottom: 50px;
    letter-spacing: 5px;
    position: relative;
    display: inline-block;
  }
  #jttc-about h1:before {
    content: "";
    position: absolute;
    bottom: -27px;
    display: inline-block;
    width: 60px;
    height: 5px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #49b9e0;
    border-radius: 2px;
  }
  #jttc-about p {
    width: 90%;
    margin: 0 auto;
    font-size: 18px;
    letter-spacing: 2px;
    line-height: 1.6;
    text-align: left;
  }
  #jttc-about p br {
    display: none;
  }
  #jttc-about p strong {
  }
  .jttc-about-btn {
    display: block;
    margin: 10px auto 0;
    width: 100%;
    height: 60px;
    line-height: 60px;
    font-size: 16px;
    letter-spacing: 2px;
    position: relative;
  }
  .jttc-about-btn::after {
    position: absolute;
    right: 10px;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 25px;
  }
  .jttc-about-btn:hover {
  }

  /*------------------------------------*/
  /* ◆講座の特徴 */
  /*------------------------------------*/
  #feature {
    height: auto;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    background-image: url("images/feature-img1.jpg");
    background-position: center right;
    background-repeat: no-repeat;
  }
  .feature-textbox {
    width: 90%;
    margin: 50px auto;
    padding: 30px 15px 15px 15px;
    box-sizing: border-box;
  }
  .feature-textbox h1 {
    margin-bottom: 10px;
    font-size: 4.5vw;
    text-align: center;
    letter-spacing: 3px;
    line-height: 1.2;
  }
  .feature-textbox a {
    display: block;
    width: 100%;
    height: 60px;
    margin: 10px auto 0;
    padding: 0 30px;
    line-height: 60px;
    font-size: 16px;
    letter-spacing: 2px;
    position: relative;
    text-align: center;
  }
  .feature-textbox a::after {
    position: absolute;
    right: 10px;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 25px;
  }
  .feature-textbox a:hover {
  }

  /*------------------------------------*/
  /* ◆講座内容 */
  /*------------------------------------*/
  #schedule {
    height: auto;
    margin: 0 auto;
    flex-direction: column;
    background-image: url("images/schedule-img1.jpg");
    background-position: center left;
    background-repeat: no-repeat;
  }
  .schedule-textbox {
    width: 90%;
    margin: 50px auto;
    padding: 30px 15px 15px 15px;
    box-sizing: border-box;
  }
  .schedule-textbox h1 {
    margin-bottom: 10px;
    font-size: 4.5vw;
    text-align: center;
    letter-spacing: 3px;
    line-height: 1.2;
  }
  .schedule-textbox a {
    display: block;
    width: 100%;
    height: 60px;
    margin: 10px auto;
    padding: 0 30px;
    line-height: 60px;
    font-size: 16px;
    letter-spacing: 2px;
    position: relative;
  }
  .schedule-textbox a::after {
    position: absolute;
    right: 10px;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 25px;
  }
  .schedule-textbox a:hover {
  }
  /*------------------------------------*/
  /* ◆金額 */
  /*------------------------------------*/
  #price {
    margin: 0 auto;
    padding: 50px 5%;
    text-align: center;
  }
  #price h1 {
    letter-spacing: 3px;
    line-height: 1.2;
    font-size: 5vw;
  }
  #price h1 span {
    display: block;
    font-weight: normal;
    font-size: 4vw;
  }
  #price h1 span::before {
    content: "＼";
    font-size: 14px;
  }
  #price h1 span::after {
    content: "／";
    font-size: 14px;
  }
  .yenbox {
    width: 100%;
    margin: 15px auto 0;
    padding: 15px 0;
    flex-direction: column;
    border-radius: 15px;
  }
  .corse {
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: 2px;
    margin: 0 auto;
    font-family:
      游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro",
      "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック",
      "MS PGothic", sans-serif;
    font-weight: normal;
  }
  .corse br {
    display: none;
  }
  /* 金額 */
  .yen-about {
    font-size: 10vw;
    font-weight: bold;
    font-family: "arial black";
    letter-spacing: 3px;
  }
  .yen {
    font-size: 5vw;
  }
  .tax {
    font-size: 3vw;
    font-family:
      游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro",
      "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック",
      "MS PGothic", sans-serif;
    letter-spacing: 1.2px;
  }
  /* 詳細ボタン */
  .yenbox a {
    display: block;
    width: 100%;
    height: 60px;
    margin: 0 auto;
    padding: 0 30px;
    line-height: 60px;
    font-size: 16px;
    letter-spacing: 2px;
    position: relative;
  }
  .yenbox a::after {
    position: absolute;
    right: 10px;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 25px;
  }
  .yenbox a:hover {
  }

  /*------------------------------------*/
  /* ◆資料請求・問い合わせ */
  /*------------------------------------*/
  #contact {
    width: 100%;
    margin: 0 auto;
    padding: 50px 5%;
    text-align: center;
    background-image: url("images/bkimg-cmb-rainbow-school.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
  }
  #contact h1 {
    font-size: 25px;
    letter-spacing: 5px;
    line-height: 2;
    margin-bottom: 10px;
    color: #fff;
  }
  .top-contact-box {
    width: 100%;
    margin: 0 auto;
    padding: 30px 0;
    flex-direction: column;
  }
  /* 電話 */
  .top-contact-telbox {
    width: 100%;
    padding: 30px;
    margin-bottom: 30px;
    background-color: #fff;
    text-align: center;
    box-shadow: 0 0px 10px rgba(0, 0, 0, 0.3);
    position: relative;
  }
  .top-contact-telbox h2 {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: solid 2px #dfdfdf;
  }
  .top-contact-telbox a {
    display: block;
    color: #e8464a;
    font-size: 45px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
    letter-spacing: 1.5px;
    font-family: "arial black";
  }
  .top-contact-telbox a:hover {
    opacity: 0.5;
  }
  .top-contact-telbox p {
    font-size: 16px;
  }
  .telbox-triangle {
    position: absolute;
    bottom: 0;
    right: 0;
    border-bottom: 80px solid #db5872;
    border-left: 80px solid transparent;
    opacity: 0.5;
  }
  .telbox-triangle::after {
    position: absolute;
    bottom: -70px;
    right: 10px;
    content: "\f095";
    font-family: "Font Awesome 5 Free";
    color: #fff;
    font-weight: 900;
    font-size: 30px;
  }
  /* メール */
  .top-contact-mailbox {
    width: 100%;
    padding: 30px;
    background-color: #fff;
    text-align: center;
    box-shadow: 0 0px 10px rgba(0, 0, 0, 0.3);
    position: relative;
  }
  .top-contact-mailbox h2 {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: solid 2px #dfdfdf;
  }
  .top-contact-mailbox a {
    display: block;
    color: #3e8349;
    font-size: 45px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
    font-family: "arial black";
  }
  .top-contact-mailbox a:hover {
    opacity: 0.5;
  }
  .top-contact-mailbox p {
    font-size: 16px;
  }
  .mailbox-triangle {
    position: absolute;
    bottom: 0;
    right: 0;
    border-bottom: 90px solid #b2ce54;
    border-left: 90px solid transparent;
    opacity: 0.5;
  }
  .mailbox-triangle::after {
    position: absolute;
    bottom: -75px;
    right: 10px;
    content: "\f0e0";
    font-family: "Font Awesome 5 Free";
    color: #fff;
    font-size: 30px;
  }
  /*------------------------------------*/
  /* ◆トップページコラム一覧 */
  /*------------------------------------*/
  #column {
    width: 100%;
    margin: 0 auto;
    padding: 30px 5%;
    background-size: 50px 50px;
    text-align: center;
  }
  .column-title {
    letter-spacing: 3px;
    margin-bottom: 30px;
    font-size: 5vw;
  }
  #column article {
    width: 100%;
    margin: 0 auto;
    padding: 20px 10px;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    text-align: left;
  }
  #column article:hover {
  }
  /* 過去記事 */
  .archive-btn {
    width: 100%;
    height: 60px;
    margin: 10px auto 0;
    padding: 0 30px;
    line-height: 60px;
    font-size: 16px;
    letter-spacing: 2px;
    position: relative;
    text-align: center;
    display: block;
  }
  .archive-btn::after {
    position: absolute;
    right: 10px;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 25px;
  }
  .archive-btn:hover {
  }

  /*------------------------------------*/
  /* ◆index.php 記事一覧 */
  /*------------------------------------*/
  .column-main-visual {
    margin: 70px auto 0;
    padding: 50px 0;
    background-image: url("images/contact-main-visual.jpg");
    background-size: contain;
    background-position: bottom;
    background-attachment: fixed;
  }
  /* 検索窓 */
  .column-main-visual span {
    display: block;
    letter-spacing: 5px;
    padding: 12px 0;
    background-color: rgba(255, 255, 255, 0.7);
    text-align: center;
  }
  .searchform {
    width: 450px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    box-sizing: border-box;
    align-items: center;
  }
  .searchfield {
    height: 40px;
    width: 380px;
    box-sizing: border-box;
    border: none;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
  }
  .searchsubmit {
    height: 39px;
    width: 70px;
    box-sizing: border-box;
    border: none;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    font-weight: bold;
  }
  .searchsubmit:hover {
  }
  /* 一覧 */
  #column-contentbox {
    margin: 0 auto;
    padding: 50px 10%;
  }
  .column-list {
    padding: 15px 10px;
    position: relative;
    display: flex;
    flex-direction: column;
  }

  .column-list::after {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    width: auto;
    margin: 0 auto;
    position: absolute;
    right: 10px;
    bottom: 42%;
    font-weight: 900;
    font-size: 25px;
  }
  .column-list:hover {
  }
  .column-list a {
    display: block;
    text-decoration: none;
  }
  .column-list a:after {
    display: block;
    clear: both;
    content: "";
  }
  .column-list .img-wrap {
    position: relative;
    float: left;
    line-height: 1;
  }
  .column-list .img-wrap img {
    width: 120px;
    height: 120px;
    object-fit: cover;
  }
  .column-list .img-wrap .cat-data {
    font-size: 0.75rem;
    position: absolute;
    top: 0;
    right: 0;
    padding: 0.3rem 0.5rem;
  }
  .column-list .column-text {
    margin-left: 130px;
    margin-right: 30px;
  }
  .column-list .column-text h2 {
    font-size: 18px;
    letter-spacing: 2px;
    line-height: 1.2;
    margin-bottom: 0;
  }
  .column-list .column-text .column-date,
  .column-list .column-text .column-author {
    font-size: 0.75rem;
    font-weight: bold;
    display: inline-block;
    margin-bottom: 0.5rem;
    letter-spacing: 1.1px;
  }
  .column-list .column-text .column-date {
    position: absolute;
    bottom: 0;
  }
  .column-list .column-text .column-author {
    position: absolute;
    bottom: 0;
    left: 235px;
  }
  .column-list .column-text p {
    /* 抜粋文 */
    display: none;
  }

  /* ペーじゃー */
  .pagination {
    margin: 2rem 0;
    text-align: center;
  }
  .pagination ul {
    font-size: 0;
  }
  .pagination ul li {
    font-size: 1rem;
    display: inline-block;
    margin-right: 0.5rem;
  }
  .pagination ul li:last-child {
    border: 0;
  }
  .pagination ul li a,
  .pagination .current {
    display: block;
    padding: 0.5rem 0.8rem;
    border: 1px solid #ccc;
  }
  .pagination ul li .prev,
  .pagination ul li .next {
    border: 0;
  }
  .pagination ul li a {
    text-decoration: none;
    color: #333;
  }
  .pagination ul li a:hover {
    opacity: 0.6;
  }
  .pagination .current {
    color: #fff;
  }

  /*------------------------------------*/
  /* ◆single.php 記事内容 */
  /*------------------------------------*/
  #single-post {
    width: 100%;
    margin: 0 auto;
    padding: 50px 5%;
  }
  /* カテゴリー 投稿日 */
  .single-post-data {
    margin-bottom: 15px;
    display: inline-block;
  }
  .single-post-category {
    /* カテゴリー */
    margin-right: 8px;
    padding: 5px 5px 5px 8px;
    text-align: center;
  }
  .single-post-time {
    /* 時間 */
    color: #777;
    letter-spacing: 1.1px;
    font-size: 14px;
  }
  .single-post-time i {
    margin-right: 2px;
  }
  .single-post-author {
    /* 投稿者 */
    color: #777;
    letter-spacing: 1.1px;
    font-size: 14px;
  }
  /* タイトル */
  .single-post-title {
    padding: 0 2.5% 15px;
  }
  .single-post-title h1 {
    font-size: 20px;
  }
  /* 本文 */
  .single-post-txt {
    width: 100%;
    margin: 15px auto;
  }
  .single-post-txt h2 {
    margin: 30px 0 10px;
    padding: 2% 15px;
    letter-spacing: 1.2px;
    line-height: 1.2;
    font-size: 18px;
  }
  .single-post-txt h3 {
    width: 98%;
    margin: 10px auto 10px;
    padding: 10px;
    position: relative;
    letter-spacing: 1.2px;
    line-height: 1.2;
    font-size: 18px;
  }
  .single-post-txt h3:after {
    content: " ";
    width: 100%;
    height: 5px;
    bottom: 0;
    left: 0;
    position: absolute;
  }
  .single-post-txt h4 {
    width: 98%;
    margin: 10px auto 10px;
    padding: 10px;
    letter-spacing: 1.2px;
    line-height: 1.2;
    font-size: 18px;
  }
  .single-post-txt p {
    width: 95%;
    margin: 0 auto;
    margin-bottom: 10px;
    font-size: 16px;
  }
  /* ページャー */
  #single-pagination {
    width: 80%;
    margin: 0 auto 50px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #single-pagination a {
    display: block;
    padding: 10px 0;
  }
  #single-pagination a:hover {
  }
} /* タブレット */

/*------------------------------------*/
/* ス マ ホ */
@media screen and (max-width: 480px) {
  /*------------------------------------*/
  /* ◆日本語教師について */
  /*------------------------------------*/
  #jttc-about {
    margin: 0 auto;
    padding: 50px 5%;
    text-align: center;
  }
  #jttc-about h1 {
    font-size: 5.5vw;
    margin-bottom: 50px;
    letter-spacing: 5px;
    position: relative;
    display: inline-block;
  }
  #jttc-about h1:before {
    content: "";
    position: absolute;
    bottom: -27px;
    display: inline-block;
    width: 60px;
    height: 5px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #49b9e0;
    border-radius: 2px;
  }
  #jttc-about p {
    width: 90%;
    margin: 0 auto;
    font-size: 16px;
    letter-spacing: 1.5px;
    line-height: 1.5em;
  }
  #jttc-about p br {
    display: none;
  }
  #jttc-about p strong {
  }
  .jttc-about-btn {
    display: block;
    margin: 10px auto 0;
    width: 100%;
    height: 50px;
    line-height: 50px;
    font-size: 16px;
    letter-spacing: 1.5px;
    position: relative;
  }
  .jttc-about-btn span {
    display: none;
  }
  .jttc-about-btn::after {
    position: absolute;
    right: 10px;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 20px;
  }
  .jttc-about-btn:hover {
  }

  /*------------------------------------*/
  /* ◆講座の特徴 */
  /*------------------------------------*/
  #feature {
    height: auto;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    background-image: url("images/feature-img1.jpg");
    background-position: center right;
    background-repeat: no-repeat;
  }
  .feature-textbox {
    width: 90%;
    margin: 50px auto;
    padding: 30px 15px 15px 15px;
    background-color: rgba(255, 255, 255, 0.9);
    box-sizing: border-box;
  }
  .feature-textbox h1 {
    margin-bottom: 10px;
    font-size: 4.5vw;
    text-align: center;
    letter-spacing: 3px;
    line-height: 1.2;
  }
  .feature-textbox a {
    display: block;
    width: 100%;
    height: 50px;
    margin: 10px auto 0;
    padding: 0 30px;
    line-height: 50px;
    font-size: 16px;
    letter-spacing: 1.5px;
    position: relative;
    text-align: center;
  }
  .feature-textbox a::after {
    position: absolute;
    right: 10px;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 20px;
  }
  .feature-textbox a:hover {
  }

  /*------------------------------------*/
  /* ◆講座内容 */
  /*------------------------------------*/
  #schedule {
    height: auto;
    margin: 0 auto;
    flex-direction: column;
    background-image: url("images/schedule-img1.jpg");
    background-position: center left;
    background-repeat: no-repeat;
  }
  .schedule-textbox {
    width: 90%;
    margin: 50px auto;
    padding: 30px 15px 15px 15px;
    box-sizing: border-box;
  }
  .schedule-textbox h1 {
    margin-bottom: 10px;
    font-size: 4.5vw;
    text-align: center;
    letter-spacing: 3px;
    line-height: 1.2;
  }
  .schedule-textbox a {
    display: block;
    width: 100%;
    height: 50px;
    margin: 10px auto;
    padding: 0 30px;
    line-height: 50px;
    font-size: 16px;
    letter-spacing: 1.5px;
    position: relative;
    text-align: center;
  }
  .schedule-textbox a::after {
    position: absolute;
    right: 10px;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 20px;
  }
  .schedule-textbox a:hover {
  }
  /*------------------------------------*/
  /* ◆金額 */
  /*------------------------------------*/
  #price {
    margin: 0 auto;
    padding: 30px 5%;
    text-align: center;
  }
  #price h1 {
    letter-spacing: 2px;
    line-height: 1.2;
    font-size: 5vw;
  }
  #price h1 br {
    display: none;
  }
  #price h1 span {
    display: block;
    font-weight: normal;
    font-size: 4vw;
  }
  #price h1 span::before {
    content: "＼";
    font-size: 14px;
  }
  #price h1 span::after {
    content: "／";
    font-size: 14px;
  }
  .yenbox {
    width: 100%;
    margin: 15px auto 0;
    padding: 15px 0;
    flex-direction: column;
    border-radius: 15px;
  }
  .corse {
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: 2px;
    margin: 0 auto;
    font-family:
      游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro",
      "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック",
      "MS PGothic", sans-serif;
    font-weight: normal;
  }
  .corse br {
    display: none;
  }
  /* 金額 */
  .yen-about {
    font-size: 10vw;
    font-weight: bold;
    font-family: "arial black";
    letter-spacing: 3px;
  }
  .yen {
    font-size: 5vw;
  }
  .tax {
    font-size: 3vw;
    font-family:
      游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro",
      "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック",
      "MS PGothic", sans-serif;
    letter-spacing: 1.2px;
  }
  /* 詳細ボタン */
  .yenbox a {
    display: block;
    width: 100%;
    height: 50px;
    margin: 0 auto;
    padding: 0 30px;
    line-height: 50px;
    font-size: 16px;
    letter-spacing: 1.5px;
    position: relative;
    text-align: center;
  }
  .yenbox a::after {
    position: absolute;
    right: 10px;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 20px;
  }
  .yenbox a:hover {
  }
  .yenbox a span {
    display: none;
  }

  /*------------------------------------*/
  /* ◆資料請求・問い合わせ */
  /*------------------------------------*/
  #contact {
    width: 100%;
    margin: 0 auto;
    padding: 50px 5%;
    text-align: center;
    background-image: url("images/bkimg-cmb-rainbow-school.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
  }
  #contact h1 {
    font-size: 25px;
    letter-spacing: 5px;
    line-height: 2;
    margin-bottom: 10px;
    color: #fff;
  }
  .top-contact-box {
    width: 100%;
    margin: 0 auto;
    padding: 30px 0;
    flex-direction: column;
  }
  /* 電話 */
  .top-contact-telbox {
    width: 100%;
    padding: 30px;
    margin-bottom: 30px;
    background-color: #fff;
    text-align: center;
    box-shadow: 0 0px 10px rgba(0, 0, 0, 0.3);
    position: relative;
  }
  .top-contact-telbox h2 {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: solid 2px #dfdfdf;
  }
  .top-contact-telbox a {
    display: block;
    color: #e8464a;
    font-size: 25px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
    letter-spacing: 1.5px;
    font-family: "arial black";
  }
  .top-contact-telbox a:hover {
    opacity: 0.5;
  }
  .top-contact-telbox p {
    font-size: 16px;
  }
  .telbox-triangle {
    position: absolute;
    bottom: 0;
    right: 0;
    border-bottom: 80px solid #db5872;
    border-left: 80px solid transparent;
    opacity: 0.5;
  }
  .telbox-triangle::after {
    position: absolute;
    bottom: -70px;
    right: 10px;
    content: "\f095";
    font-family: "Font Awesome 5 Free";
    color: #fff;
    font-weight: 900;
    font-size: 30px;
  }
  /* メール */
  .top-contact-mailbox {
    width: 100%;
    padding: 30px;
    background-color: #fff;
    text-align: center;
    box-shadow: 0 0px 10px rgba(0, 0, 0, 0.3);
    position: relative;
  }
  .top-contact-mailbox h2 {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: solid 2px #dfdfdf;
  }
  .top-contact-mailbox a {
    display: block;
    color: #3e8349;
    font-size: 25px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
    font-family: "arial black";
  }
  .top-contact-mailbox a:hover {
    opacity: 0.5;
  }
  .top-contact-mailbox p {
    font-size: 16px;
  }
  .mailbox-triangle {
    position: absolute;
    bottom: 0;
    right: 0;
    border-bottom: 90px solid #b2ce54;
    border-left: 90px solid transparent;
    opacity: 0.5;
  }
  .mailbox-triangle::after {
    position: absolute;
    bottom: -75px;
    right: 10px;
    content: "\f0e0";
    font-family: "Font Awesome 5 Free";
    color: #fff;
    font-size: 30px;
  }

  /*------------------------------------*/
  /* ◆トップページコラム一覧 */
  /*------------------------------------*/
  #column {
    width: 100%;
    margin: 0 auto;
    padding: 50px 5%;
    background-size: 50px 50px;
    text-align: center;
  }
  .column-title {
    letter-spacing: 3px;
    margin-bottom: 30px;
    font-size: 5vw;
  }
  #column article {
    width: 100%;
    margin: 0 auto;
    padding: 20px 10px;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    text-align: left;
  }
  #column article:hover {
  }
  /* 過去記事 */
  .archive-btn {
    width: 100%;
    height: 60px;
    margin: 10px auto 0;
    padding: 0 30px;
    line-height: 60px;
    font-size: 16px;
    letter-spacing: 2px;
    text-align: center;
    display: block;
  }
  .archive-btn::after {
    position: absolute;
    right: 10px;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 25px;
  }
  .archive-btn:hover {
  }

  /*------------------------------------*/
  /* ◆index.php 記事一覧 */
  /*------------------------------------*/
  .column-main-visual {
    margin: 70px auto 0;
    padding: 50px 0;
    background-image: url("images/contact-main-visual.jpg");
    background-size: cover;
    background-position: bottom;
    background-attachment: fixed;
  }
  /* 検索窓 */
  .column-main-visual span {
    display: block;
    letter-spacing: 5px;
    padding: 12px 0;
    background-color: rgba(255, 255, 255, 0.7);
    text-align: center;
  }
  .searchform {
    width: 300px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    box-sizing: border-box;
    align-items: center;
  }
  .searchfield {
    height: 40px;
    width: 230px;
    box-sizing: border-box;
    border: none;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
  }
  .searchsubmit {
    height: 39px;
    width: 70px;
    box-sizing: border-box;
    border: none;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    font-weight: bold;
    font-size: 15px;
  }
  .searchsubmit:hover {
  }
  /* 一覧 */
  #column-contentbox {
    margin: 0 auto;
    padding: 50px 10%;
  }
  .column-list {
    padding: 15px 10px;
    position: relative;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
  }

  .column-list::after {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    width: auto;
    margin: 0 auto;
    position: absolute;
    right: 10px;
    bottom: 7%;
    font-weight: 900;
    font-size: 25px;
  }
  .column-list:hover {
  }
  .column-list a {
    display: block;
    text-decoration: none;
  }
  .column-list a:after {
    display: block;
    clear: both;
    content: "";
  }
  .column-list .img-wrap {
    position: relative;
    float: none;
    margin: 0 auto;
    line-height: 1;
    display: block;
  }
  .column-list .img-wrap img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    margin: 0 auto;
  }
  .column-list .img-wrap .cat-data {
    font-size: 0.75rem;
    position: absolute;
    top: 0;
    right: 0;
    padding: 0.3rem 0.5rem;
  }
  .column-list .column-text {
    width: 100%;
    margin-left: 0;
    margin-right: 10px;
  }
  .column-list .column-text h2 {
    font-size: 16px;
    letter-spacing: 1.5px;
    line-height: 1.2em;
    margin: 5px 0 10px;
  }
  .column-list .column-text .column-date,
  .column-list .column-text .column-author {
    font-size: 0.75rem;
    font-weight: normal;
    display: inline-block;
    margin-bottom: 0.5rem;
    letter-spacing: 1px;
  }
  .column-list .column-text .column-date {
    position: inherit;
    bottom: 0;
  }
  .column-list .column-text .column-author {
    position: inherit;
    left: 0;
  }
  .column-list .column-text p {
    /* 抜粋文 */
    display: none;
  }

  /* ペーじゃー */
  .pagination {
    margin: 2rem 0;
    text-align: center;
  }
  .pagination ul {
    font-size: 0;
  }
  .pagination ul li {
    font-size: 1rem;
    display: inline-block;
    margin-right: 0.5rem;
  }
  .pagination ul li:last-child {
    border: 0;
  }
  .pagination ul li a,
  .pagination .current {
    display: block;
    padding: 0.5rem 0.8rem;
  }
  .pagination ul li .prev,
  .pagination ul li .next {
    border: 0;
  }
  .pagination ul li a {
    text-decoration: none;
  }
  .pagination ul li a:hover {
    opacity: 0.6;
  }
  .pagination .current {
  }

  /*------------------------------------*/
  /* ◆single.php 記事内容 */
  /*------------------------------------*/
  #single-post {
    width: 100%;
    margin: 0 auto;
    padding: 50px 5%;
  }
  /* カテゴリー 投稿日 */
  .single-post-data {
    margin-bottom: 15px;
    display: inline-block;
  }
  .single-post-category {
    /* カテゴリー */
    margin-right: 8px;
    padding: 5px 5px 5px 8px;
    text-align: center;
  }
  .single-post-time {
    /* 時間 */
    letter-spacing: 1.1px;
    font-size: 14px;
  }
  .single-post-time i {
    margin-right: 2px;
  }
  .single-post-author {
    /* 投稿者 */
    letter-spacing: 1.1px;
    font-size: 14px;
  }
  /* タイトル */
  .single-post-title {
    padding: 0 2.5% 15px;
  }
  .single-post-title h1 {
    font-size: 20px;
  }
  /* 本文 */
  .single-post-txt {
    width: 100%;
    margin: 15px auto;
  }
  .single-post-txt h2 {
    margin: 30px 0 10px;
    padding: 2% 15px;
    letter-spacing: 1.2px;
    line-height: 1.2;
    font-size: 18px;
  }
  .single-post-txt h3 {
    width: 98%;
    margin: 10px auto 10px;
    padding: 10px;
    position: relative;
    letter-spacing: 1.2px;
    line-height: 1.2;
    font-size: 18px;
  }
  .single-post-txt h3:after {
    content: " ";
    width: 100%;
    height: 5px;
    bottom: 0;
    left: 0;
    position: absolute;
  }
  .single-post-txt h4 {
    width: 98%;
    margin: 10px auto 10px;
    padding: 10px;
    letter-spacing: 1.2px;
    line-height: 1.2;
    font-size: 18px;
  }
  .single-post-txt p {
    width: 95%;
    margin: 0 auto;
    margin-bottom: 10px;
    font-size: 16px;
  }
  /* ページャー */
  #single-pagination {
    width: 80%;
    margin: 0 auto 50px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #single-pagination a {
    display: block;
    padding: 10px 0;
  }
  #single-pagination a:hover {
  }
} /* ス マ ホ */

/*------------------------------------*/
/* ◆地図 */
/*------------------------------------*/
#school-map {
  padding: 50px 5%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

#school-map iframe {
  width: 50%;
  height: 200px;
  margin: 0 auto;
}

.school-map-text {
  width: 45%;
  text-align: center;
}

.school-map-text h1 {
  font-size: 20px;
  margin-bottom: 10px;
}

.school-map-text p {
  font-size: 14px;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: dashed 2px #dfdfdf;
}

.fa-map-marker-alt {
  color: #dc143c;
}

/*------------------------------------*/
/* タ ブ レ ッ ト */
/*------------------------------------*/
@media screen and (max-width: 768px) {
  #school-map {
    padding: 30px 5%;
    margin: 0 auto;
    flex-direction: column;
  }

  #school-map iframe {
    width: 100%;
    height: 200px;
    margin: 0 auto;
  }

  .school-map-text {
    width: 100%;
    text-align: center;
  }

  .school-map-text h1 {
    font-size: 20px;
    margin-bottom: 10px;
  }

  .school-map-text p {
    font-size: 14px;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: dashed 2px #dfdfdf;
  }

  .fa-map-marker-alt {
    color: #dc143c;
  }
}

/*------------------------------------*/
/* ◆申込方法 */
/*------------------------------------*/
.onlineS-item2 {
  margin-bottom: 50px;
  display: flex;
  flex-wrap: wrap;
  text-align: center;
}

.onlineS-left2 {
  width: 25%;
  padding: 50px 0;
  background-color: #49b9e0;
  color: #fff;
  text-align: center;
}

.onlineS-left2 h2 {
  margin-bottom: 30px;
  letter-spacing: 5px;
  font-size: 2em;
}

.onlineS-left2 img {
  width: 100px;
}

.onlineS-right2 {
  width: 75%;
  padding: 50px;
  background-color: #f0f8ff;
}

.onlineS-link {
  width: 100%;
  margin: 10px auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  align-content: flex-end;
}

.onlineS-tel {
  width: 49%;
  padding: 20px 10px;
  border-top: solid 3px #49b9e0;
  border-bottom: solid 3px #49b9e0;
  background-color: #fff;
  color: #49b9e0;
  font-size: 1.7vw;
  font-weight: bold;
  letter-spacing: 1.5px;
}

.onlineS-mail {
  width: 49%;
  padding: 28px 10px;
  background-color: #49b9e0;
  color: #fff;
  font-size: 1.2vw;
  font-weight: bold;
  letter-spacing: 1.5px;
}

/*------------------------------------*/
/* ◆タブレット対応 */
/*------------------------------------*/
@media screen and (max-width: 768px) {
  .onlineS-item2 {
    margin-bottom: 50px;
    flex-direction: column;
  }

  .onlineS-left2 {
    width: 100%;
    padding: 20px 0;
    background-color: #49b9e0;
    color: #fff;
    text-align: center;
  }

  .onlineS-left2 h2 {
    margin-bottom: 20px;
    letter-spacing: 5px;
    font-size: 25px;
  }

  .onlineS-left2 img {
    width: 70px;
  }

  .onlineS-right2 {
    width: 100%;
    padding: 20px;
    background-color: #f0f8ff;
  }

  .onlineS-link {
    width: 100%;
    margin: 10px auto;
    flex-direction: column;
  }

  .onlineS-tel {
    width: 100%;
    padding: 20px 10px;
    margin-top: 15px;
    margin-bottom: 15px;
    border-top: solid 3px #49b9e0;
    border-bottom: solid 3px #49b9e0;
    background-color: #fff;
    color: #49b9e0;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 1.5px;
  }

  .onlineS-mail {
    width: 100%;
    padding: 28px 10px;
    background-color: #49b9e0;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 1.5px;
  }
}
