@charset "UTF-8";
html {
  font-size: 62.5%;
}

.mincho {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

body {
  font-size: 1.6rem;
  line-height: 2.8rem;
  word-break: break-word;
  background: #ffffff;
  color: #333333;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
@media screen and (max-width: 370px) {
  body {
    font-size: 1.4em;
  }
}

a {
  color: #009;
}
a:visited {
  color: #400080;
}
a:hover {
  color: #0073e6;
}

@media (min-width: 768px) {
  .container, .container-md, .container-sm {
    max-width: 760px;
  }
}
@media (min-width: 992px) {
  .container, .container-md, .container-sm {
    max-width: 980px;
  }
}
@media (min-width: 1200px) {
  .container, .container-md, .container-sm {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container, .container-md, .container-sm {
    max-width: 1320px;
  }
}
#site-header {
  position: relative;
}
#site-header:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.1rem;
  background: #2eb7fc;
  background: linear-gradient(to right, #2eb7fc 0%, rgba(46, 183, 252, 0.2) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="$start-color", endColorstr="$end-color",GradientType=1 );
}
#site-header .container .logo-title {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 576px) {
  #site-header .container .logo-title {
    justify-content: flex-start;
    margin-bottom: 0;
  }
}
#site-header .container .logo-title .header-logo {
  width: 10rem;
  margin-bottom: 0;
}
@media screen and (min-width: 576px) {
  #site-header .container .logo-title .header-logo {
    width: 12rem;
  }
}
#site-header .container .logo-title .header-logo a {
  display: block;
}
#site-header .container .logo-title .header-logo a svg {
  display: block;
  width: 100%;
  height: auto;
}
#site-header .container .logo-title .ct-logo {
  width: 140px;
}
@media screen and (min-width: 576px) {
  #site-header .container .logo-title .ct-logo {
    width: 180px;
  }
}
#site-header .container .logo-title .ct-logo a {
  display: block;
}
#site-header .container .logo-title .ct-logo a img {
  display: block;
  width: 100%;
  height: auto;
}
#site-header .container .logo-title p {
  margin-left: 1em;
  margin-bottom: 0;
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  #site-header .container .logo-title p {
    font-size: 1.4rem;
  }
}
#site-header .container .header-right {
  justify-content: end;
}
@media screen and (max-width: 575.98px) {
  #site-header .container .header-right {
    justify-content: center;
  }
}
#site-header .container .header-right .header-sns {
  position: relative;
}
#site-header .container .header-right .header-sns > span {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
}
#site-header .container .header-right .header-sns > span em {
  font-style: normal;
}
@media screen and (max-width: 575.98px) {
  #site-header .container .header-right .header-sns > span em {
    display: none;
  }
}
#site-header .container .header-right .header-sns ul {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  margin: 0 1rem 0 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 768px) {
  #site-header .container .header-right .header-sns ul {
    justify-content: flex-end;
  }
}
#site-header .container .header-right .header-sns ul:before {
  content: "edunavi公式";
  white-space: nowrap;
  font-size: 0.8em;
  padding-top: 0.4em;
}
@media screen and (max-width: 575.98px) {
  #site-header .container .header-right .header-sns ul:before {
    content: "公式";
  }
}
#site-header .container .header-right .header-sns ul li {
  margin: 0 0.5rem;
}
#site-header .container .header-right .header-sns ul li a {
  display: block;
}
#site-header .container .header-right .header-sns ul li a svg {
  width: 2.5rem;
  height: 2.5rem;
}

.input-search input {
  font-size: 1.6rem;
}
.input-search button {
  font-size: 1.4rem;
}
.input-search button.btn-primary {
  background: #2eb7fc;
  border-color: #2eb7fc;
}
.input-search button svg {
  vertical-align: 0;
  width: 2.2rem;
  height: 2.2rem;
}

#header-navigation {
  position: relative;
  padding: 0 4rem 0 5.5rem;
}
@media screen and (min-width: 768px) {
  #header-navigation {
    padding-left: 9em;
  }
}

#menu-header-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}
#menu-header-menu li {
  width: auto;
  margin: 0;
  padding: 0;
  line-height: 1;
}
#menu-header-menu li a {
  display: block;
  padding: 1.2rem 0.5em;
  color: #333333;
  white-space: nowrap;
}
#menu-header-menu li a:hover {
  color: #737373;
}
@media screen and (max-width: 575.98px) {
  #menu-header-menu li a {
    padding: 1.3rem 0.5em;
  }
}

.search-btn,
.glonav-btn {
  width: 4rem;
  height: 4rem;
  padding: 0.5rem 0 0 0;
  text-align: center;
  line-height: 1.2em;
  font-size: 1.2rem;
  background-color: #ffffff;
  color: #2eb7fc;
  cursor: pointer;
}
.search-btn svg,
.glonav-btn svg {
  width: 2rem;
  height: 2rem;
}
.search-btn span,
.glonav-btn span {
  display: block;
  margin-top: -0.2rem;
}

.fixed-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: #ffffff;
  box-shadow: 0 2px 5px rgba(51, 51, 51, 0.2);
  transform: translateY(-6rem);
  opacity: 0;
  transition: all 0.3s ease-in-out;
}
body.scroll .fixed-nav {
  transform: translateY(0);
  opacity: 1;
}
.fixed-nav .inner {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding: 0.5rem 1rem;
}
.fixed-nav .inner .fixed-logo {
  display: flex;
  align-items: center;
  width: 24rem;
}
@media screen and (max-width: 370px) {
  .fixed-nav .inner .fixed-logo {
    width: 20rem;
  }
}
.fixed-nav .inner .fixed-logo a {
  display: block;
}
.fixed-nav .inner .fixed-logo a img {
  display: block;
  height: 3rem;
  width: auto;
}
@media screen and (max-width: 370px) {
  .fixed-nav .inner .fixed-logo a img {
    height: 2.4rem;
  }
}
.fixed-nav .inner .fixed-menu-btns {
  display: flex;
}
.fixed-nav .inner .fixed-menu-btns .search-btn,
.fixed-nav .inner .fixed-menu-btns .glonav-btn {
  position: relative;
}
.fixed-nav .inner .fixed-menu-btns .search-btn {
  margin-right: 1rem;
}

#top-header-title a {
  text-align: center;
  display: block;
  font-weight: bold;
  font-size: 40px;
  padding: 4% 0;
  background: url(https://www.inter-edu.com/ct/wp-content/themes/ct2023/images/ct-title-240705.jpg) no-repeat center top;
  background-size: contain;
  text-decoration: none;
  line-height: 1;
}

#top-header-title a span {
  background: linear-gradient(to right, #2b58ce 30%,#008aea 51%,#4724ba 80%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and  (max-width: 990px) {
  #top-header-title a{
    font-size: 34px;
  }
}
@media screen and  (min-width: 576px) {
  #top-header-title {
    max-width: 960px !important;
  }
}
@media screen and  (max-width: 768px) {
  #top-header-title a{
    font-size: 26px;
  }
}
@media screen and  (max-width: 568px) {
  #top-header-title a{
    font-size: 20px;
  }
}
@media screen and  (max-width: 400px) {
  #top-header-title a{
    font-size: 1em;
  }
}

#contents-wrapper {
  padding-top: 2rem;
  padding-bottom: 1rem;
}
#contents-wrapper > .container {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
}

.main-col {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .main-col {
    width: calc(100% - 34rem);
  }
}

.menu-col {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .menu-col {
    width: 30rem;
  }
}

.editor-styles-wrapper h1,
.entry-header h1,
.page-header h1 {
  margin: 0 0 1rem;
  padding: 1rem 2rem;
  background: #f9f5f4;
  border-bottom: 0.4rem solid #e7d7d3;
  font-weight: 600;
}

.btn-block {
  margin-bottom: 2rem;
}
.btn-block a {
  display: inline-block;
  max-width: 100%;
  padding: 1.6rem 2.9rem;
  line-height: 1;
  text-decoration: none;
}
.btn-block.btn1 {
  text-align: center;
}
.btn-block.btn1 a {
  background: #2eb7fc;
  color: #ffffff;
  transition: all 0.3s ease-in-out;
  border-radius: 1.2rem;
  position: relative;
  padding: 1.6rem 4.5rem 1.6rem 2.9rem;
}
.btn-block.btn1 a::after {
  content: "";
  display: block;
  position: absolute;
  right: 1rem;
  top: 50%;
  margin-top: -0.8rem;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='white' class='bi bi-arrow-right-circle-fill' viewBox='0 0 16 16'><path d='M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z'/></svg>");
  animation: 1.5s ease-in infinite alternate forwards running expansion;
}
.btn-block.btn1 a:hover {
  box-shadow: 0 10px 6px -6px rgba(51, 51, 51, 0.1);
  background: #2bb8ff;
}
@keyframes expansion {
  0% {
    transform: translate(0, 0);
  }
  86% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(0.2rem, 0);
  }
}

.school-type {
  font-size: 1rem;
  font-weight: bold;
  line-height: 1em;
  padding: 0.4rem;
  display: inline-block;
  border-radius: 0 0 0.5rem 0.5rem;
  color: #333333;
}
.school-type.type-danshi {
  background: #9ec5fe;
}
.school-type.type-joshi {
  background: #efadce;
}
.school-type.type-kyogaku {
  background: #fecba1;
}

article.post-list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: 1rem;
  border: 1px solid #dddddd;
}
@media screen and (min-width: 768px) {
  article.post-list {
    width: calc(50% - 0.5rem);
  }
}
article.post-list a {
  color: inherit;
  text-decoration: none;
}
article.post-list a:visited {
  color: gray;
}
article.post-list a:hover {
  color: #737373;
}
article.post-list .entry-thum {
  width: 12rem;
  padding: 1rem;
}
article.post-list .entry-thum a {
  display: block;
  outline: none;
}
article.post-list .entry-thum a:hover figure img {
  opacity: 0.8;
}
article.post-list .entry-thum figure {
  margin: 0;
  padding: 0;
  width: 100%;
  background: #f8f8f8;
}
article.post-list .entry-thum figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.3s ease-in-out;
}
article.post-list .entry-txt {
  width: calc(100% - 12rem);
}
article.post-list .entry-txt .entry-header {
  padding: 1rem;
}
article.post-list .entry-txt .entry-header small {
  display: block;
  margin-bottom: 0.2rem;
  line-height: 1;
  font-weight: 600;
  color: #2eb7fc;
}
article.post-list .entry-txt .entry-header h2, article.post-list .entry-txt .entry-header h3 {
  margin: 0;
  line-height: 1.25em;
  font-size: 1.8rem;
  font-weight: 600;
}
article.post-list .entry-txt .entry-header a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
article.post-list .entry-txt .entry-content {
  padding: 0 1rem 1rem;
}
article.post-list .entry-txt .entry-content .entry-excerpt p {
  font-size: 1.4rem;
}
article.post-list .entry-txt .entry-content .entry-meta small {
  display: block;
}
article.post-list .entry-txt .entry-content .entry-meta small a {
  position: relative;
  display: inline-block;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  padding: 0.4rem 0.5rem;
  line-height: 1.1em;
  text-decoration: none;
  background: #00a0c6;
  border-radius: 0.2rem;
  white-space: nowrap;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  article.post-list .entry-txt .entry-content .entry-meta small a {
    line-height: 1.6em;
  }
}
article.post-list .entry-txt .entry-content .entry-meta small a:visited {
  background: #009cc1;
}
article.post-list .entry-txt .entry-content .entry-meta small a:hover {
  background: #00b5e0;
}

.link-post-archive-page a {
  display: block;
  width: 100%;
  max-width: 30rem;
  margin: 0 auto;
  padding: 1rem 2rem;
  background: #ffffff;
  border: 0.1rem solid #2eb7fc;
  text-decoration: none;
  text-align: center;
  color: #2eb7fc;
  transition: all 0.3s ease-in-out;
  border-radius: 1.2rem;
}
.link-post-archive-page a:hover {
  border-color: #93dafd;
  box-shadow: 0 10px 6px -6px rgba(51, 51, 51, 0.1);
}

.popular-list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-bottom: 2rem;
  padding: 1rem;
  background: #f9f5f4;
  border: 0.4rem double #e7d7d3;
}
@media screen and (min-width: 992px) {
  .popular-list {
    flex-wrap: nowrap;
    padding: 2rem 2rem 1.5rem;
  }
}
.popular-list h3 {
  width: 100%;
  margin-bottom: 1rem;
  font-weight: 600;
}
@media screen and (min-width: 992px) {
  .popular-list h3 {
    width: 7em;
    margin-bottom: 0;
  }
}
.popular-list .list-body {
  width: 100%;
  flex: auto;
}
@media screen and (min-width: 992px) {
  .popular-list .list-body {
    width: auto;
    flex: 1;
  }
}
.popular-list .list-body ul {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  margin: 0 0 0.5rem;
  padding: 0;
  list-style: none;
}
.popular-list .list-body ul li {
  margin: 0 0.5rem 0 0;
}
.popular-list .list-body ul li a {
  position: relative;
  display: inline-block;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  padding: 0.4rem 0.5rem;
  line-height: 1.1em;
  text-decoration: none;
  background: #00a0c6;
  border-radius: 0.2rem;
  white-space: nowrap;
  color: #ffffff;
  font-size: 0.875em;
}
@media screen and (min-width: 768px) {
  .popular-list .list-body ul li a {
    line-height: 1.6em;
  }
}
.popular-list .list-body ul li a:visited {
  background: #009cc1;
}
.popular-list .list-body ul li a:hover {
  background: #00b5e0;
}
@media screen and (max-width: 767.98px) {
  .popular-list .list-body ul li a {
    padding: 0.5rem 1rem 0.5rem 1rem;
  }
}
.popular-list .list-body ul li a:before {
  content: "#";
  display: inline-block;
  margin-right: 0.1rem;
}
.popular-list > a {
  display: block;
  padding: 1rem 2rem;
  background: #ffffff;
  border: 0.1rem solid #2eb7fc;
  text-decoration: none;
  text-align: center;
  color: #2eb7fc;
  transition: all 0.3s ease-in-out;
  border-radius: 1.2rem;
}
.popular-list > a:hover {
  border-color: #93dafd;
  box-shadow: 0 10px 6px -6px rgba(51, 51, 51, 0.1);
}
@media screen and (max-width: 991.98px) {
  .popular-list > a {
    width: 100%;
    max-width: 30rem;
    margin: 0 auto;
  }
}
.popular-list.popular-category-list .list-body ul li a {
  background: #46c0c0;
}
.popular-list.popular-category-list .list-body ul li a:visited {
  background: #42bfbf;
}
.popular-list.popular-category-list .list-body ul li a:hover {
  background: #59c6c6;
}

.ranking {
  margin-bottom: 2rem;
}
.ranking .ranking-wrap {
  position: relative;
}
.ranking .ranking-wrap .ranking-tab {
  margin-bottom: 1rem;
}
.ranking .ranking-wrap .ranking-tab .nav-item a {
  position: relative;
  padding-left: 2rem;
}
.ranking .ranking-wrap .ranking-tab .nav-item a:before {
  content: "";
  position: absolute;
  top: 1.4rem;
  left: 0.5rem;
  width: 0;
  height: 0;
  border-top: 0.5rem solid;
  border-left: 0.5rem solid transparent;
  border-right: 0.5rem solid transparent;
}
.ranking .ranking-wrap .ranking-tab .nav-item a.active {
  color: #2eb7fc;
}
.ranking .ranking-wrap .ranking-tab .nav-item a.active:before {
  border-top-color: #2eb7fc;
}
.ranking .ranking-wrap .ranking-cnt .ranking-item {
  display: none;
}
.ranking .ranking-wrap .ranking-cnt .ranking-item.active {
  display: block;
}
.ranking .ranking-wrap .ranking-cnt .ranking-item > h3 {
  position: relative;
  display: inline-block;
  padding: 0.3rem 1rem;
  background: #2eb7fc;
  color: #ffffff;
  font-weight: 400;
}
.ranking .ranking-wrap .ranking-cnt .ranking-item > h3:before {
  content: "";
  position: absolute;
  bottom: -0.6rem;
  left: 0;
  width: 0;
  height: 0;
  border-top: 0.6rem solid #0271a8;
  border-left: 0.5rem solid transparent;
}
.ranking .ranking-wrap .ranking-cnt .ranking-body {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: space-between;
}
@media screen and (min-width: 992px) {
  .ranking .ranking-wrap .ranking-cnt .ranking-body {
    justify-content: flex-start;
  }
}
.ranking .ranking-wrap .ranking-cnt .ranking-body .ranking-block {
  position: relative;
  width: calc(50% - 0.5rem);
  margin: 0 0 1rem;
  counter-increment: num;
}
@media screen and (min-width: 992px) {
  .ranking .ranking-wrap .ranking-cnt .ranking-body .ranking-block {
    width: calc(20% - 1rem);
    margin: 0 0.5rem 1rem;
  }
}
.ranking .ranking-wrap .ranking-cnt .ranking-body .ranking-block:after {
  content: counter(num);
  position: absolute;
  top: -0.25rem;
  left: 0.5rem;
  width: 3rem;
  height: 3rem;
  text-align: center;
  color: #ffffff;
  z-index: 10;
}
.ranking .ranking-wrap .ranking-cnt .ranking-body .ranking-block i.label {
  display: inline-block;
  position: absolute;
  top: -0.6rem;
  left: 0.5rem;
  margin: 0;
  padding: 1.5rem 0;
  z-index: 2;
  width: 3rem;
  color: #ffffff;
  background: linear-gradient(#79d1fd 0%, #2eb7fc 100%);
  border-radius: 0.2rem 0 0 0;
}
.ranking .ranking-wrap .ranking-cnt .ranking-body .ranking-block i.label:before {
  position: absolute;
  content: "";
  top: 0;
  right: -0.6rem;
  border: none;
  border-bottom: solid 0.6rem #03a3f4;
  border-right: solid 0.6rem transparent;
}
.ranking .ranking-wrap .ranking-cnt .ranking-body .ranking-block i.label:after {
  content: "";
  position: absolute;
  left: 0;
  top: 100%;
  height: 0;
  width: 0;
  border-left: 1.5rem solid #2eb7fc;
  border-right: 1.5rem solid #2eb7fc;
  border-bottom: 1rem solid transparent;
}
.ranking .ranking-wrap .ranking-cnt .ranking-body .ranking-block a {
  display: block;
  height: 100%;
  overflow: hidden;
  border: 0.1rem solid #dddddd;
  border-radius: 0.2rem;
  text-decoration: none;
  color: #333333;
  transition: all 0.3s ease-in-out;
}
.ranking .ranking-wrap .ranking-cnt .ranking-body .ranking-block a:hover {
  box-shadow: 0 10px 6px -6px rgba(51, 51, 51, 0.1);
}
.ranking .ranking-wrap .ranking-cnt .ranking-body .ranking-block a:hover .ranking-thum {
  opacity: 0.8;
}
.ranking .ranking-wrap .ranking-cnt .ranking-body .ranking-block a .ranking-thum {
  position: relative;
  height: 0;
  padding-top: 62.5%;
  transition: all 0.3s ease-in-out;
}
.ranking .ranking-wrap .ranking-cnt .ranking-body .ranking-block a .ranking-thum .inner {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  background-position: center center;
  background-size: cover;
  background-color: #f8f8f8;
}
.ranking .ranking-wrap .ranking-cnt .ranking-body .ranking-block a .ranking-title {
  padding: 0.5rem;
}
.ranking .ranking-wrap .ranking-cnt .ranking-body .ranking-block a .ranking-title h3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  margin: 0;
  padding: 0;
  font-size: 1.4rem;
}

.recommend {
  margin-bottom: 2rem;
}
.recommend .recommend-wrap {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 991.98px) {
  .recommend .recommend-wrap {
    justify-content: space-between;
  }
}
.recommend .recommend-wrap li {
  position: relative;
  width: calc(50% - 0.5rem);
  margin: 0 0 1rem;
  counter-increment: num;
}
@media screen and (min-width: 992px) {
  .recommend .recommend-wrap li {
    width: calc(20% - 1rem);
    margin: 0 0.5rem 1rem;
  }
}
.recommend .recommend-wrap li a {
  display: block;
  height: 100%;
  overflow: hidden;
  border: 0.1rem solid #dddddd;
  border-radius: 0.2rem;
  text-decoration: none;
  color: #333333;
}
.recommend .recommend-wrap li a .recommend-thum {
  position: relative;
  height: 0;
  padding-top: 62.5%;
}
.recommend .recommend-wrap li a .recommend-thum .inner {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  background-position: center center;
  background-size: cover;
  background-color: #f8f8f8;
}
.recommend .recommend-wrap li a .recommend-title {
  margin: 0;
  padding: 0.5rem;
  line-height: 1.2em;
  font-size: 1.4rem;
}
.recommend .recommend-wrap li a .recommend-title h3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  margin: 0;
  padding: 0;
  font-size: 1.4rem;
  font-weight: 500;
}
.recommend .recommend-wrap li a .recommend-title h3:before, .recommend .recommend-wrap li a .recommend-title h3:after {
  display: none;
}
.recommend .recommend-wrap li a .school-name {
  display: block;
  line-height: 1.1em;
  background: rgba(255, 255, 255, 0.8);
  color: #2eb7fc;
  font-size: 1.2rem;
  font-weight: 600;
}
.recommend .recommend-wrap li a .recommend-title .school-name {
  padding: 0 0 0.5rem;
}
.recommend .recommend-wrap li a .recommend-thum .school-name {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  padding: 0.5rem;
}

.recommend {
  position: relative;
}
.recommend label {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #fff 75%);
  bottom: 0;
  cursor: pointer;
  font-size: 0.8rem;
  height: 9rem;
  position: absolute;
  z-index: 1;
  width: 100%;
}
.recommend label:after {
  left: 50%;
  content: "続きを読む ";
  position: absolute;
  transform: translate(-50%, 0);
  display: block;
  width: 100%;
  max-width: 30rem;
  margin-top: 1rem;
  font-size: 1.6rem;
  line-height: 2.8rem;
  padding: 1rem 2rem;
  background: #ffffff;
  border: 0.1rem solid #2eb7fc;
  text-decoration: none;
  text-align: center;
  color: #2eb7fc;
  transition: all 0.3s ease-in-out;
  border-radius: 1.2rem;
}
.recommend label:after:hover {
  border-color: #93dafd;
  box-shadow: 0 10px 6px -6px rgba(51, 51, 51, 0.1);
}
.recommend input {
  display: none;
}
.recommend input:checked + label {
  background: inherit;
}
.recommend input:checked + label::after {
  content: "閉じる";
}
.recommend input:checked ~ .recommend-wrap {
  height: auto;
  overflow-y: auto;
  padding-bottom: 8rem;
}
.recommend .recommend-expand {
  height: 34rem;
  overflow: hidden;
  transition: all 0.5s 0s ease;
  padding-top: 0.2rem;
}
.recommend.school-recommend .recommend-expand {
  height: 18rem;
}

#top-school-entries label:after {
  content: "最新記事をもっと見る";
}
#top-school-entries input:checked + label:after {
  content: "閉じる";
}

#school-post-list {
  margin-top: -6rem;
  padding-top: 6rem;
}

.archive-post-wrapper .pagination > .page-numbers {
  width: 100%;
}

.pagination-wrapper {
  position: relative;
}
.pagination-wrapper:before, .pagination-wrapper:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1em;
  z-index: 2;
}
.pagination-wrapper:before {
  left: 0;
  background: linear-gradient(90deg, white 0%, rgba(255, 255, 255, 0) 100%);
}
.pagination-wrapper:after {
  right: 0;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, white 100%);
}

.pagination {
  position: relative;
  width: 100%;
  margin-bottom: 1rem;
  padding: 0 1rem 1rem;
  overflow-x: auto;
  overflow-y: hidden;
}
.pagination .page-numbers {
  position: relative;
  display: flex;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
  z-index: 1;
}
.pagination .page-numbers li {
  display: flex;
  margin: 0;
  padding: 0 5px;
}
.pagination .page-numbers li a, .pagination .page-numbers li > span {
  display: block;
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  text-align: center;
  text-decoration: none;
  border: 1px solid #dddddd;
  border-radius: 0.2rem;
  color: #333333;
}
.pagination .page-numbers li a.next, .pagination .page-numbers li a.prev, .pagination .page-numbers li > span.next, .pagination .page-numbers li > span.prev {
  width: 6rem;
}
.pagination .page-numbers li span {
  border: none;
}

body.home .menu-col #secondary,
body.single-post .menu-col #secondary,
body.page-template .menu-col #secondary,
body.archive .menu-col #secondary {
  position: relative;
  top: auto;
}
@media screen and (min-width: 576px) {
  body.home .menu-col #secondary,
  body.single-post .menu-col #secondary,
  body.page-template .menu-col #secondary,
  body.archive .menu-col #secondary {
    position: sticky;
    top: 6rem;
  }
}

.sidebar-ad img, .widget-bnr img, .erea-bnr img {
  max-width: 100%;
}

.side-edu-link {
  width: 100%;
  max-width: 30rem;
  margin: 0 auto 1rem;
}
.side-edu-link a {
  display: block;
  padding: 2rem;
  outline: none;
  border: 0.5rem solid rgba(221, 221, 221, 0.5);
}

.widget-bnr, .erea-bnr {
  text-align: center;
}
.widget-bnr a, .erea-bnr a {
  display: block;
  margin-bottom: 1rem;
}

.menu-col .txt-links-widget {
  margin-bottom: 2rem;
}
.menu-col .txt-links-widget h3 {
  position: relative;
  margin: 0;
  font-size: 2rem;
}
.menu-col .txt-links-widget h3:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 0;
  border-top: 0.4rem double #e7d7d3;
  z-index: 1;
}
.menu-col .txt-links-widget h3 span {
  position: relative;
  z-index: 10;
  display: inline-block;
  padding-right: 1rem;
  background: #ffffff;
  color: #2eb7fc;
}
.menu-col .txt-links-widget ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.menu-col .txt-links-widget ul li {
  border-bottom: 0.1rem dotted #dddddd;
}
.menu-col .txt-links-widget ul li a {
  position: relative;
  display: block;
  padding: 1rem 0 1rem 1.2rem;
  line-height: 1.2em;
}
.menu-col .txt-links-widget ul li a:before {
  content: "";
  position: absolute;
  top: 1.4rem;
  left: 0;
  width: 0;
  height: 0;
  border-left: 0.4rem solid rgba(46, 183, 252, 0.5);
  border-top: 0.4rem solid transparent;
  border-bottom: 0.4rem solid transparent;
}

.breadcrumb-wrapper {
  margin-bottom: 2rem;
}
.breadcrumb-wrapper ol.breadcrumb {
  background: #f8f8f8;
  margin-bottom: 4rem;
  padding: 0.5rem;
}
.breadcrumb-wrapper ol.breadcrumb li.breadcrumb-item {
  display: flex;
  line-height: 1.1em;
  align-items: center;
}
.breadcrumb-wrapper ol.breadcrumb li.breadcrumb-item:before {
  font: none;
}
.breadcrumb-wrapper ol.breadcrumb li.breadcrumb-item a, .breadcrumb-wrapper ol.breadcrumb li.breadcrumb-item > span {
  display: block;
  max-width: 10em;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: none;
}
@media screen and (min-width: 992px) {
  .breadcrumb-wrapper ol.breadcrumb li.breadcrumb-item a, .breadcrumb-wrapper ol.breadcrumb li.breadcrumb-item > span {
    max-width: 20em;
  }
}
.breadcrumb-wrapper ol.breadcrumb li.breadcrumb-item a span {
  display: block;
}

.bg-il {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 8%;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .bg-il {
    padding-top: 4%;
  }
}
.bg-il .inner {
  position: absolute;
  bottom: -14%;
  right: 13rem;
  width: 100%;
  max-width: 90rem;
  margin-top: -3.7%;
  overflow: hidden;
}
.bg-il .inner img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .bg-il .inner {
    right: 14rem;
    width: 50%;
  }
}

#site-footer {
  position: relative;
  background: #2eb7fc;
}
@media screen and (max-width: 767.98px) {
  #site-footer {
    padding-bottom: 60px;
  }
}
#site-footer .bottom-nav {
  display: flex;
  flex-wrap: wrap;
  padding: 2rem 0 1rem;
}
#site-footer .bottom-nav .bottom-nav-inter-edu {
  width: 100%;
}
#site-footer .bottom-nav .bottom-nav-inter-edu .inner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
#site-footer .bottom-nav .bottom-nav-inter-edu .inner > div {
  width: 66%;
}
@media screen and (min-width: 768px) {
  #site-footer .bottom-nav .bottom-nav-inter-edu .inner > div {
    width: 49%;
  }
}
@media screen and (max-width: 575.98px) {
  #site-footer .bottom-nav .bottom-nav-inter-edu .inner > div {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
  }
}
#site-footer .bottom-nav .bottom-nav-inter-edu .inner > div.footer-logo {
  width: 32%;
  margin-right: 2%;
}
@media screen and (min-width: 768px) {
  #site-footer .bottom-nav .bottom-nav-inter-edu .inner > div.footer-logo {
    width: 48%;
    margin-right: 3%;
  }
}
@media screen and (max-width: 575.98px) {
  #site-footer .bottom-nav .bottom-nav-inter-edu .inner > div.footer-logo {
    width: 10rem;
    margin: 0 auto;
  }
}
#site-footer .bottom-nav .footer-logo {
  max-width: 20rem;
}
#site-footer .bottom-nav .footer-menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
  -moz-column-count: 2;
       column-count: 2;
}
#site-footer .bottom-nav .footer-menu ul li a {
  display: block;
  text-decoration: none;
  color: #ffffff;
}
#site-footer .bottom-nav .ie-logo {
  width: 20rem;
}
#site-footer .footer-credits p {
  margin-bottom: 0;
  padding-top: 1rem;
  padding-bottom: 1rem;
  text-align: center;
  color: #ffffff;
}
#site-footer .footer-credits p a {
  color: inherit;
}

.to-top {
  position: absolute;
  top: -3rem;
  right: 1rem;
}
.to-top a {
  display: block;
  width: 12rem;
  line-height: 3.4rem;
  border-radius: 0.4rem;
  text-align: center;
  text-decoration: none;
  background: #2eb7fc;
  color: #ffffff;
}

#ct-search-panel .modal-header,
#ct-menu-panel .modal-header {
  background: #2eb7fc;
  color: #ffffff;
  padding: 1rem 2rem;
}
#ct-search-panel .modal-body .global-menu,
#ct-menu-panel .modal-body .global-menu {
  display: flex;
  flex-wrap: wrap;
  padding: 1rem;
}
#ct-search-panel .modal-body .global-menu .inter-edu-menu-block,
#ct-menu-panel .modal-body .global-menu .inter-edu-menu-block {
  width: 100%;
  padding-left: 0;
}
#ct-search-panel .modal-body .global-menu .inter-edu-menu-block .modal-logo,
#ct-menu-panel .modal-body .global-menu .inter-edu-menu-block .modal-logo {
  margin-bottom: 1rem;
}
@media screen and (min-width: 576px) {
  #ct-search-panel .modal-body .global-menu .inter-edu-menu-block .modal-logo,
  #ct-menu-panel .modal-body .global-menu .inter-edu-menu-block .modal-logo {
    margin-bottom: 1.5rem;
  }
}
#ct-search-panel .modal-body .global-menu .inter-edu-menu-block ul li a:before,
#ct-menu-panel .modal-body .global-menu .inter-edu-menu-block ul li a:before {
  border-left-color: rgba(0, 160, 198, 0.5);
}
#ct-search-panel .modal-body .modal-logo,
#ct-menu-panel .modal-body .modal-logo {
  width: 15rem;
  margin-bottom: 1rem;
}
#ct-search-panel .modal-body .modal-logo img,
#ct-menu-panel .modal-body .modal-logo img {
  display: block;
  width: 100%;
  height: auto;
}

#ct-menu-panel ul {
  margin: 0 0 1rem;
  padding: 0;
  list-style: none;
}
#ct-menu-panel ul li {
  margin: 0;
  padding: 0;
}
#ct-menu-panel ul li a {
  position: relative;
  display: block;
  padding: 1rem 0 1rem 1rem;
  line-height: 1.4em;
  text-decoration: none;
  border-bottom: 0.1rem dashed #dddddd;
}
#ct-menu-panel ul li a:before {
  content: "";
  position: absolute;
  top: 1.5rem;
  left: 0;
  width: 0;
  height: 0;
  border-left: 0.4rem solid rgba(46, 183, 252, 0.5);
  border-top: 0.4rem solid transparent;
  border-bottom: 0.4rem solid transparent;
}
#ct-menu-panel .menu-block-sns {
  position: relative;
}
#ct-menu-panel .menu-block-sns ul {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 768px) {
  #ct-menu-panel .menu-block-sns ul {
    justify-content: center;
  }
}
#ct-menu-panel .menu-block-sns ul:before {
  content: "edunavi公式";
  white-space: nowrap;
  font-size: 0.8em;
}
@media screen and (max-width: 575.98px) {
  #ct-menu-panel .menu-block-sns ul:before {
    content: "公式";
  }
}
#ct-menu-panel .menu-block-sns ul li {
  margin: 0 0.5rem;
}
#ct-menu-panel .menu-block-sns ul li a {
  display: block;
  padding: 0;
  line-height: 1em;
  border-bottom: none;
}
#ct-menu-panel .menu-block-sns ul li a:before {
  display: none;
}
#ct-menu-panel .menu-block-sns ul li a svg {
  width: 2.5rem;
  height: 2.5rem;
}

#ct-search-panel .modal-body .modal-free-word-search {
  margin-bottom: 2rem;
}
#ct-search-panel .modal-body .modal-tag-search ul {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
}
#ct-search-panel .modal-body .modal-tag-search ul li {
  display: inline-block;
  margin: 0 0.5rem 0 0;
}
#ct-search-panel .modal-body .modal-tag-search ul li a {
  position: relative;
  display: inline-block;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  padding: 0.4rem 0.5rem;
  line-height: 1.1em;
  text-decoration: none;
  background: #00a0c6;
  border-radius: 0.2rem;
  white-space: nowrap;
  color: #ffffff;
  font-size: 0.875em;
}
@media screen and (min-width: 768px) {
  #ct-search-panel .modal-body .modal-tag-search ul li a {
    line-height: 1.6em;
  }
}
#ct-search-panel .modal-body .modal-tag-search ul li a:visited {
  background: #009cc1;
}
#ct-search-panel .modal-body .modal-tag-search ul li a:hover {
  background: #00b5e0;
}
@media screen and (max-width: 767.98px) {
  #ct-search-panel .modal-body .modal-tag-search ul li a {
    padding: 0.5rem 1rem 0.5rem 1rem;
  }
}
#ct-search-panel .modal-body .modal-tag-search ul li a:before {
  content: "#";
  display: inline-block;
  margin-right: 0.1rem;
}

.btn-border {
  display: inline-block;
  border: 0.1rem solid #2eb7fc;
  padding: 1rem 2rem;
  text-decoration: none;
  color: #2eb7fc !important;
}

.has-inline-color.has-edunavi-color {
  color: #2eb7fc;
}

.has-inline-color.has-red-color {
  color: #df2b44;
}

.has-inline-color.has-blue-color {
  color: #047fb3;
}

.has-inline-color.has-green-color {
  color: #45b17c;
}

.has-inline-color.has-orange-color {
  color: #f27e02;
}

.has-inline-color.has-yellow-color {
  color: #ffbb16;
}

.wp-block-columns {
  display: flex;
  flex-wrap: nowrap;
}
@media screen and (max-width: 575.98px) {
  .wp-block-columns {
    display: block;
  }
}
.wp-block-columns .wp-block-column {
  flex-basis: auto;
  flex-grow: 0;
}

.single-content h2, .page-content h2, .editor-styles-wrapper h2, .recommend h2 {
  position: relative;
  margin-bottom: 0.5em;
  padding-bottom: 0.25em;
  line-height: 1.25em;
  border-bottom: 0.2rem solid rgba(46, 183, 252, 0.2);
  margin-top: 2em;
  font-weight: 600;
  font-size: 2rem;
}
.single-content h2:after, .page-content h2:after, .editor-styles-wrapper h2:after, .recommend h2:after {
  content: "";
  position: absolute;
  top: auto;
  bottom: -0.2rem;
  left: 0;
  width: 20%;
  height: 0.2rem;
  background: #2eb7fc;
}
@media screen and (min-width: 576px) {
  .single-content h2, .page-content h2, .editor-styles-wrapper h2, .recommend h2 {
    font-size: 2.2rem;
  }
}
.single-content h3, .page-content h3, .editor-styles-wrapper h3, .recommend h3 {
  position: relative;
  margin-top: 1em;
  margin-bottom: 0.5em;
  padding: 0 0 0 1.2em;
  font-weight: 600;
  font-size: 1.8rem;
}
.single-content h3:before, .page-content h3:before, .editor-styles-wrapper h3:before, .recommend h3:before {
  content: "";
  position: absolute;
  background: rgba(46, 183, 252, 0.5);
  top: 0.4rem;
  left: 0;
  height: 1.4rem;
  width: 1.4rem;
  border-radius: 0.4rem;
}
.single-content h3:after, .page-content h3:after, .editor-styles-wrapper h3:after, .recommend h3:after {
  content: "";
  position: absolute;
  background: rgba(238, 74, 166, 0.4);
  top: 1rem;
  left: 0.7rem;
  height: 1.2rem;
  width: 1.2rem;
  border-radius: 0.5rem;
  border: 0.2rem solid #fff;
}
@media screen and (min-width: 576px) {
  .single-content h3, .page-content h3, .editor-styles-wrapper h3, .recommend h3 {
    font-size: 2rem;
  }
  .single-content h3:before, .page-content h3:before, .editor-styles-wrapper h3:before, .recommend h3:before {
    top: 0.6rem;
  }
  .single-content h3:after, .page-content h3:after, .editor-styles-wrapper h3:after, .recommend h3:after {
    top: 1.2rem;
  }
}
.single-content h4, .page-content h4, .editor-styles-wrapper h4, .recommend h4 {
  font-weight: 600;
  font-size: 1.6rem;
}
@media screen and (min-width: 576px) {
  .single-content h4, .page-content h4, .editor-styles-wrapper h4, .recommend h4 {
    font-size: 1.8rem;
  }
}
.single-content h5, .page-content h5, .editor-styles-wrapper h5, .recommend h5 {
  font-weight: 600;
  font-size: 1.4rem;
}
@media screen and (min-width: 576px) {
  .single-content h5, .page-content h5, .editor-styles-wrapper h5, .recommend h5 {
    font-size: 1.6rem;
  }
}

.single-content p, .page-content p, .editor-styles-wrapper p {
  margin-top: 0;
  margin-bottom: 1em;
  line-height: 1.8em;
}
.single-content .has-text-align-right, .page-content .has-text-align-right, .editor-styles-wrapper .has-text-align-right {
  text-align: right;
}
.single-content .has-text-align-center, .page-content .has-text-align-center, .editor-styles-wrapper .has-text-align-center {
  text-align: center;
}

.edu-comment {
  position: relative;
  color: #00a0c6;
  font-weight: bold;
}
.edu-comment::before {
  content: "";
  position: relative;
  width: 3.5rem;
  height: 0.1rem;
  background: #00a0c6;
  left: 0;
  top: -0.6rem;
  display: inline-block;
  margin-right: 0.2rem;
}

.talk-comment {
  font-weight: bold;
  padding-right: 1rem;
}
.talk-comment.green {
  color: #609c78;
}
.talk-comment.lightgreen {
  color: #8eac52;
}
.talk-comment.yellow {
  color: #e6ac2f;
}
.talk-comment.red {
  color: #d45b5d;
}
.talk-comment.blue {
  color: #5790c3;
}
.talk-comment.orange {
  color: #e07f46;
}
.talk-comment.brown {
  color: #997745;
}
.talk-comment.purple {
  color: #8f68a8;
}
.talk-comment.rouge {
  color: #c45d77;
}
.talk-comment.pink {
  color: #e87182;
}

.check-enq ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 1rem;
  padding: 0;
  list-style: none;
}
.check-enq ul li {
  position: relative;
  margin-right: 1em;
  color: #ccc;
}
.check-enq ul li strong {
  display: inline-block;
  font-weight: 600;
  color: #003947;
}
.check-enq ul li strong:before {
  position: absolute;
  top: 50%;
  left: 50%;
  display: inline-block;
  content: "";
  width: 120%;
  height: 120%;
  border: 2px solid rgba(0, 160, 198, 0.8);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  min-width: 2em;
}
.check-enq ul li strong:after {
  position: absolute;
  top: calc(50% + 1px);
  left: calc(50% + 1px);
  display: inline-block;
  content: "";
  width: 120%;
  height: 120%;
  border: 1px solid rgba(0, 160, 198, 0.2);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  min-width: 2em;
}

.single-content mark, .page-content mark, .editor-styles-wrapper mark {
  background: linear-gradient(transparent 50%, rgba(238, 74, 166, 0.1) 50%);
}

.wp-block-table table thead th {
  text-align: center;
}
.wp-block-table table tbody th, .wp-block-table table tbody td {
  border-bottom: 0.1rem solid #dddddd;
}
.wp-block-table table th, .wp-block-table table td {
  padding: 1rem 0.5rem;
}
.wp-block-table.w100p table {
  width: 100%;
}
.wp-block-table.scroll {
  width: 100%;
  overflow-x: auto;
}
.wp-block-table.scroll table {
  width: 76.7rem;
  min-width: 100%;
}
.wp-block-table.scroll-l {
  width: 100%;
  overflow-x: auto;
}
.wp-block-table.scroll-l table {
  width: 100rem;
  min-width: 100%;
}
.wp-block-table.scroll-xl {
  width: 100%;
  overflow-x: auto;
}
.wp-block-table.scroll-xl table {
  width: 140rem;
  min-width: 100%;
}
.wp-block-table.is-style-stripes table tbody td {
  background: #ffffff;
}
.wp-block-table.is-style-stripes table tbody tr:nth-child(even) td {
  background: #f8f8f8;
}

.tbl {
  box-sizing: border-box;
  position: relative;
  margin-bottom: 2rem;
}
.tbl table {
  border: 0.1rem solid #dddddd;
  border-collapse: collapse;
  width: 100%;
}
.tbl table th, .tbl table td {
  padding: 0.5rem 1rem;
  border: 0.1rem solid #dddddd;
  font-size: 0.875em;
  text-align: left;
  vertical-align: middle;
}
.tbl table thead th {
  background: #e5faff !important;
}
.tbl table tbody th {
  background: #f9f5f4;
}
.tbl table tfoot th, .tbl table tfoot td {
  background: rgba(46, 183, 252, 0.05);
}
.tbl table.footable tr td.footable-fb {
  font-weight: bold;
  background: #f9f5f4;
}
.tbl.w100p table {
  width: 100%;
}
.tbl.scroll {
  width: calc(100% - 2rem);
}
.tbl.scroll .wp-block-group__inner-container {
  width: 100%;
}
@media screen and (max-width: 767.98px) {
  .tbl.scroll {
    padding-bottom: 1.2em;
  }
  .tbl.scroll:after {
    content: "スクロールできます";
    position: absolute;
    bottom: 0;
    left: 0;
    padding-left: 1.2em;
    background-image: url("data:image/svg+xml,<svg viewBox='0 0 16 16' fill='%23999' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M1 11.5a.5.5 0 0 0 .5.5h11.793l-3.147 3.146a.5.5 0 0 0 .708.708l4-4a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708.708L13.293 11H1.5a.5.5 0 0 0-.5.5zm14-7a.5.5 0 0 1-.5.5H2.707l3.147 3.146a.5.5 0 1 1-.708.708l-4-4a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 4H14.5a.5.5 0 0 1 .5.5z' clip-rule='evenodd'/></svg>");
    background-repeat: no-repeat;
    background-size: 1rem 1rem;
    background-position: 0 1rem;
    font-size: 1.2rem;
    color: #999;
  }
  .tbl.scroll .wp-block-group__inner-container {
    padding-bottom: 1rem;
    overflow-x: scroll;
  }
  .tbl.scroll .wp-block-group__inner-container table {
    max-height: 30rem;
    width: 70rem;
  }
  .tbl.scroll .wp-block-group__inner-container table th {
    position: sticky;
    top: 0;
    left: 0;
  }
}
.tbl p {
  line-height: 1.25em;
  color: rgba(86, 86, 86, 0.7);
}

div[class^=block-editor-block] > .tbl {
  margin-right: auto;
  margin-left: auto;
}

.wp-block-image {
  margin-bottom: 2rem;
}
.wp-block-image:after {
  display: block;
  clear: both;
  content: "";
}
.wp-block-image figure.alignleft {
  float: left;
  width: 30%;
  margin-right: 2rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 991.98px) {
  .wp-block-image figure.alignleft {
    float: none;
    width: 50vw;
    margin-right: auto;
    margin-left: auto;
  }
}
.wp-block-image figcaption {
  padding: 0.5rem;
  line-height: 2rem;
  background: rgba(249, 245, 244, 0.5);
  font-size: 1.2rem;
}

.single-content img, .page-content img, .editor-styles-wrapper img {
  max-width: 100%;
  height: auto;
}

.main-img-block {
  margin-bottom: 1rem;
  padding: 1rem;
  background-color: white;
  background-image: repeating-radial-gradient(circle at -10rem -20rem, transparent 0, white 1rem), repeating-linear-gradient(rgba(46, 183, 252, 0.2), rgba(46, 183, 252, 0.05));
}
@media screen and (max-width: 575.98px) {
  .main-img-block {
    width: calc(100% + 2rem);
    transform: translateX(-1rem);
  }
}
.main-img-block .wp-block-image {
  margin-bottom: 0;
  text-align: center;
}
.main-img-block .wp-block-image img {
  box-shadow: 0 0.8rem 0.6rem -0.6rem rgba(0, 0, 0, 0.1);
  border-radius: 1rem;
  width: 70rem;
}

.img-w50p {
  width: 70%;
}
.img-w50p.center {
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 992px) {
  .img-w50p {
    width: 50%;
  }
}

.img-w50p-max figure.wp-block-image {
  width: 100%;
}
@media screen and (min-width: 992px) {
  .img-w50p-max figure.wp-block-image {
    width: 50%;
  }
}

.img-w30p figure.wp-block-image {
  width: 45%;
}
@media screen and (min-width: 768px) {
  .img-w30p figure.wp-block-image {
    width: 30%;
  }
}

.img-w30p-max figure.wp-block-image {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .img-w30p-max figure.wp-block-image {
    width: 30%;
    max-width: 40rem;
  }
}

.img-w20p figure.wp-block-image {
  width: 12rem;
}
@media screen and (min-width: 768px) {
  .img-w20p figure.wp-block-image {
    width: 20%;
  }
}

.modal-img {
  position: relative;
}
.modal-img:hover {
  cursor: pointer;
}
.modal-img > svg {
  position: absolute;
  top: 0.2rem;
  right: 0.2rem;
  background: #f9f5f4;
  padding: 0.4rem;
}

#graydisplay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 100% !important;
  height: 100%;
  background: rgba(0, 0, 0, 0.45);
  z-index: 2000;
}
#graydisplay img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 90%;
  max-height: 90%;
}

.center-block figure.wp-block-image {
  margin-right: auto;
  margin-left: auto;
}

.img-align-left::after,
.img-align-right::after {
  display: block;
  clear: both;
  content: "";
}
.img-align-left .wp-block-group__inner-container::after,
.img-align-right .wp-block-group__inner-container::after {
  display: block;
  clear: both;
  content: "";
}
.img-align-left .wp-block-group__inner-container .wp-block-image,
.img-align-right .wp-block-group__inner-container .wp-block-image {
  width: 30%;
  margin-top: 0;
}
@media screen and (max-width: 991.98px) {
  .img-align-left .wp-block-group__inner-container .wp-block-image,
  .img-align-right .wp-block-group__inner-container .wp-block-image {
    width: 70%;
    float: none;
    margin-right: auto;
    margin-left: auto;
  }
}
.img-align-left .wp-block-group__inner-container .wp-block-image img,
.img-align-right .wp-block-group__inner-container .wp-block-image img {
  display: block;
  width: 100%;
  height: auto;
}
.img-align-left .wp-block-group__inner-container .wp-block-image figcaption,
.img-align-right .wp-block-group__inner-container .wp-block-image figcaption {
  margin-top: 0;
}

.img-align-left .wp-block-image {
  float: left;
  margin-right: 2rem;
}

.img-align-right .wp-block-image {
  float: right;
  margin-left: 2rem;
}

.flex-block {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767.98px) {
  .flex-block {
    display: block;
  }
}
.flex-block .wp-block-group__inner-container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.flex-block .wp-block-group__inner-container figure figcaption {
  margin-top: 0;
}
.flex-block.img-two figure.wp-block-image {
  width: calc(50% - 1rem);
}
.flex-block.img-two figure.wp-block-image.wp-block {
  margin-right: 0;
  margin-left: 0;
}
@media screen and (max-width: 767.98px) {
  .flex-block.img-two figure.wp-block-image {
    width: 70%;
    margin-right: auto;
    margin-left: auto;
  }
}
.flex-block.img-three figure {
  width: calc(33.3333% - 1.3333rem);
}
.flex-block.img-three figure.wp-block {
  margin-right: 0;
  margin-left: 0;
}
@media screen and (max-width: 767.98px) {
  .flex-block.img-three figure {
    width: 70%;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767.98px) {
  .flex-block.img-w50p figure.wp-block-image {
    width: 70%;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767.98px) {
  .flex-block.img-w50p-max figure.wp-block-image {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
}

.entry-content .ct-slider-wrapper {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.entry-content .ct-slider-wrapper .slider-container {
  width: calc(100% - 50px);
  max-width: 480px;
  margin: 1rem auto;
  overflow: hidden;
}
.entry-content .swiper-button-prev,
.entry-content .swiper-button-next {
  width: 20px;
  height: 20px;
  margin-top: -20px;
}
.entry-content .swiper-button-prev:after,
.entry-content .swiper-button-next:after {
  display: none;
}
.entry-content .swiper-button-prev:before,
.entry-content .swiper-button-next:before {
  display: inline-block;
  content: "";
  width: 20px;
  height: 20px;
  vertical-align: -0.125em;
  background-repeat: no-repeat;
  background-size: 20px 20px;
}
.entry-content .swiper-button-prev {
  left: 0;
}
@media screen and (min-width: 992px) {
  .entry-content .swiper-button-prev {
    left: calc(50% - 270px);
  }
}
.entry-content .swiper-button-prev:before {
  background-image: url("data:image/svg+xml,<svg viewBox='0 0 20 20' fill='%232eb7fc' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.5 7.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5z' clip-rule='evenodd'/></svg>");
}
.entry-content .swiper-button-next {
  right: 0;
}
@media screen and (min-width: 992px) {
  .entry-content .swiper-button-next {
    right: calc(50% - 270px);
  }
}
.entry-content .swiper-button-next:before {
  background-image: url("data:image/svg+xml,<svg viewBox='0 0 20 20' fill='%232eb7fc' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z' clip-rule='evenodd'/></svg>");
}

.column-block {
  margin-bottom: 2rem;
  padding: 2rem;
  background: rgba(221, 221, 221, 0.1);
  border: 0.1rem solid rgba(221, 221, 221, 0.4);
}
.column-block .column-title {
  border-bottom: 0.1rem solid rgba(221, 221, 221, 0.4);
  font-weight: bold;
  color: #565656;
  margin-bottom: 0.6rem;
}
.column-block .column-sampleimg {
  background: white;
  border: 0.1rem solid rgba(221, 221, 221, 0.3);
  text-align: center;
}
.column-block .column-sampleimg svg {
  margin: 1rem;
}
.column-block .column-sampleimg svg path {
  fill: rgba(46, 183, 252, 0.3);
}

.link-block {
  position: relative;
}
.link-block:before, .link-block:after {
  content: "";
  display: table;
  clear: both;
}
.link-block a {
  text-decoration: none;
}
.link-block .inner {
  margin-bottom: 2rem;
  padding: 2rem;
  background: rgba(46, 183, 252, 0.04);
  border: 0.1rem solid rgba(46, 183, 252, 0.3);
  border-radius: 2rem;
}
.link-block .inner:before, .link-block .inner:after {
  content: "";
  display: table;
  clear: both;
}
.link-block .inner .link-title {
  margin-bottom: 1rem;
}
.link-block .inner .link-title::before {
  content: "関連記事";
  display: block;
  font-size: 1.2rem;
  color: #565656;
  border-bottom: 0.1rem solid rgba(46, 183, 252, 0.1);
  margin-bottom: 0.6rem;
}
.link-block .inner .link-date {
  font-size: 1.2rem;
  color: #565656;
  line-height: 1.3rem;
}
.link-block .inner figure {
  float: left;
  margin-right: 2rem;
  width: 15%;
}
@media screen and (max-width: 767.98px) {
  .link-block .inner figure {
    min-width: 10rem;
  }
}

.two-btn {
  display: flex;
  justify-content: center;
}
.two-btn .wp-block-buttons {
  margin: 0 0.8rem;
}

.interview-block {
  margin-bottom: 1rem;
}
.interview-block .wp-block-group__inner-container {
  display: flex;
  position: relative;
}
.interview-block .wp-block-group__inner-container::before {
  display: block;
  content: "";
  width: 5.5rem;
  height: 3.5rem;
  position: absolute;
  top: 0;
  left: 0;
}
.interview-block .wp-block-group__inner-container::after {
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.6rem 1rem 0.6rem 0;
  border-color: transparent #f8f8f8 transparent transparent;
  position: absolute;
  top: 1.2rem;
  left: 4.9rem;
}
.interview-block .wp-block-group__inner-container em {
  font-style: normal;
  font-size: 1.1rem;
  margin-top: 3.8rem;
  width: 5.5rem;
  display: block;
  text-align: center;
  line-height: 1.3rem;
}
.interview-block .wp-block-group__inner-container p {
  border-radius: 2rem;
  padding: 1rem 2rem;
  background: #f8f8f8;
  width: calc(100% - 5.5rem);
}
.interview-block.icon-pink .wp-block-group__inner-container::before {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='%23ee4aa6' class='bi bi-person-circle' viewBox='0 0 16 16'><path d='M11 6a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/><path fill-rule='evenodd' d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm8-7a7 7 0 0 0-5.468 11.37C3.242 11.226 4.805 10 8 10s4.757 1.225 5.468 2.37A7 7 0 0 0 8 1z'/></svg>");
  background-repeat: no-repeat;
  background-size: 3.5rem 3.5rem;
  background-position: center;
}
.interview-block.icon-blue .wp-block-group__inner-container::before {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='%2300a0c6' class='bi bi-person-circle' viewBox='0 0 16 16'><path d='M11 6a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/><path fill-rule='evenodd' d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm8-7a7 7 0 0 0-5.468 11.37C3.242 11.226 4.805 10 8 10s4.757 1.225 5.468 2.37A7 7 0 0 0 8 1z'/></svg>");
  background-repeat: no-repeat;
  background-size: 3.5rem 3.5rem;
  background-position: center;
}
.interview-block.icon-gray .wp-block-group__inner-container::before {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='%23666666' class='bi bi-person-circle' viewBox='0 0 16 16'><path d='M11 6a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/><path fill-rule='evenodd' d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm8-7a7 7 0 0 0-5.468 11.37C3.242 11.226 4.805 10 8 10s4.757 1.225 5.468 2.37A7 7 0 0 0 8 1z'/></svg>");
  background-repeat: no-repeat;
  background-size: 3.5rem 3.5rem;
  background-position: center;
}

.archive-post-list {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  margin-bottom: 2rem;
}

.tag-search {
  margin-bottom: 2rem;
  background: #f8f8f8;
  padding: 2rem;
}
.tag-search fieldset {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1rem;
  padding: 2rem;
  background: #ffffff;
}
@media screen and (max-width: 575.98px) {
  .tag-search fieldset {
    padding: 1rem;
  }
}
.tag-search fieldset .form-check-inline {
  position: relative;
  display: block;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  font-size: 1.4rem;
}
.tag-search fieldset .form-check-inline input[type=checkbox] {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
}
.tag-search fieldset .form-check-inline label {
  display: block;
  padding: 0.5rem 1rem 0.5rem 2.5rem;
  border: 0.1rem solid rgba(221, 221, 221, 0.5);
  border-radius: 0.4rem;
  line-height: 2rem;
}
.tag-search fieldset .form-check-inline input:checked {
  visibility: hidden;
}
.tag-search fieldset .form-check-inline input:checked ~ label {
  background: #00a0c6;
  color: #ffffff;
  border-color: #008bad;
}
.tag-search fieldset .form-check-inline input:checked ~ label:before {
  content: "";
  position: absolute;
  top: 1rem;
  left: 1rem;
  width: 0.6rem;
  height: 1rem;
  border-bottom: 0.2rem solid #ffffff;
  border-right: 0.2rem solid #ffffff;
  transform: rotate(45deg);
}
.tag-search button {
  font-size: inherit;
}
.tag-search button.btn-primary {
  background: #2eb7fc;
  border-color: transparent;
}

.page-header .school-logo {
  background: none;
  border: none;
  padding: 0;
  max-width: 90%;
  width: 30rem;
}
.page-header .school-logo img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.school-info figure {
  width: 100%;
  max-width: 50rem;
  margin: 1rem auto 1.5rem;
}
.school-info .school-info-adress {
  border-top: 1px solid #dddddd;
  margin-bottom: 1rem;
  padding-top: 0.5rem;
  font-size: 1.4rem;
  line-height: 1.9rem;
}

.link-connection {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.link-connection .link-connection-list {
  width: calc(50% - 0.5rem);
  margin-bottom: 1rem;
  border: 1px solid #dddddd;
}
@media screen and (max-width: 575.98px) {
  .link-connection .link-connection-list {
    width: 100%;
  }
}
.link-connection .link-connection-list a {
  color: inherit;
  text-decoration: none;
  display: flex;
  transition: all 0.3s ease-in-out;
  font-weight: bold;
}
.link-connection .link-connection-list a:hover {
  color: #737373;
  box-shadow: 0 10px 6px -6px rgba(51, 51, 51, 0.1);
}
.link-connection .link-connection-list a svg {
  padding: 1rem;
  background: rgba(46, 183, 252, 0.4);
}
.link-connection .link-connection-list a p {
  padding: 1rem;
  margin: 0;
}

.archive-movie-wrapper .archive-movie {
  position: relative;
  max-width: 70rem;
  margin: 0 auto 1.5rem;
}
.archive-movie-wrapper .archive-movie .height-rate {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.archive-movie-wrapper .archive-movie .inner {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}
@supports (aspect-ratio: 1) {
  .archive-movie-wrapper .archive-movie .inner {
    height: initial;
    aspect-ratio: 16/9;
    padding-top: initial;
  }
}
.archive-movie-wrapper .archive-movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.post-sns {
  border-top: 0.1rem solid #dddddd;
  margin: 0 0 4rem;
  padding: 2rem 0 0;
}
.post-sns ul {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.post-sns ul li {
  margin: 0 1rem;
}
.post-sns ul li a {
  display: block;
  text-decoration: none;
}
.post-sns ul li a svg {
  width: 2em;
  height: 2em;
}
@media screen and (min-width: 992px) {
  .post-sns ul li a svg {
    width: 1.5em;
    height: 1.5em;
  }
}
.post-sns ul li a.line-btn svg {
  color: #06c755;
}
.post-sns ul li a.facebook-btn svg {
  color: #3B5998;
}
.post-sns ul li a.twitter-btn svg {
  color: #00acee;
}
.post-sns ul li a.instagram-btn svg {
  color: #C13584;
}

article.post-list .entry-txt .entry-header h2, article.post-list .entry-txt .entry-header h3 {
  padding-bottom: 0;
  border-bottom: none;
}
article.post-list .entry-txt .entry-header h2::after, article.post-list .entry-txt .entry-header h3::after {
  display: none;
}
article.post-list .entry-txt .entry-content {
  margin-bottom: 0;
}
article.post-list .entry-txt .entry-content .entry-meta {
  margin: 0;
}
article.post-list .entry-txt .entry-content .entry-meta small a {
  border-bottom: none;
}

.school-list {
  margin-bottom: 2rem;
  background: #f8f8f8;
  padding: 2rem;
}
.school-list .school-list-inner {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1rem;
  padding: 2rem;
  background: #ffffff;
}
@media screen and (max-width: 575.98px) {
  .school-list .school-list-inner {
    padding: 1rem;
  }
}
.school-list .school-list-inner li {
  list-style: none;
  padding: 0.4rem 1rem;
}

.search-empty .search-box {
  max-width: 40rem;
  margin-bottom: 2rem;
}

body.search-no-results .search-result {
  margin-bottom: 2rem;
}