/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* 校章(トップ/小学校） */
.svg{
	width:200px;
	height:220px;
}

/* ヘッダー　 */
.entry-content{
	margin-top: 44px!important;
}

.menu-columns ul{
	margin: 0 0 0 0!important;
}

html, body {
  height: 100%;
  margin: 0;
}

.fullscreen-menu {
  max-height: 100%;
}

/* メニュー全体：スクロール領域に余白追加 */
.fullscreen-menu ,.efullscreen-menu,.jfullscreen-menu,.hfullscreen-menu{
  overflow-y: auto;
  max-height: 100%;
  padding-top: 80px; /* ← ヘッダー高さに応じて調整 */
}

.site-header,.esite-header,.jsite-header,.hsite-header{
  position: fixed;
  top: 0;
  width: 100%;
  height: 70px;
  background: #fff;
  z-index: 1000;
  padding: 0 5%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* ← 通常時は影あり */
  transition: background-color 0.3s, box-shadow 0.3s;
}

/* メニュー開いたときは影を消す */
.site-header.active {
  background-color: #1b2b71;
  box-shadow: none;
}

/* メニュー開いたときは影を消す */
.esite-header.active {
  background-color: #F2AB78 ;
  box-shadow: none;
}

/* メニュー開いたときは影を消す */
.jsite-header.active {
  background-color: #efc300;
  box-shadow: none;
}

/* メニュー開いたときは影を消す */
.hsite-header.active {
  background-color:#94d1cb;
  box-shadow: none;
}

.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin: 0 auto;
}

.logo img {
  height: 50px;
}

.hamburger {
  width: 30px;
  height: 25px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
  z-index: 1001;
}

.hamburger span {
  height: 3px;
  background: #000;
  border-radius: 2px;
  transition: all 0.3s ease;
}

/* メニューオープン時にバーを白く＆×印に */
.site-header.active .hamburger span,.esite-header.active .hamburger span,.jsite-header.active .hamburger span,.hsite-header.active .hamburger span {
  background: #fff;
}

.site-header.active .hamburger span:nth-child(1),.esite-header.active .hamburger span:nth-child(1),.jsite-header.active .hamburger span:nth-child(1),.hsite-header.active .hamburger span:nth-child(1)  {
  transform: translateY(11px) rotate(45deg);
}

.site-header.active .hamburger span:nth-child(2),.esite-header.active .hamburger span:nth-child(2),.jsite-header.active .hamburger span:nth-child(2),.hsite-header.active .hamburger span:nth-child(2)   {
  opacity: 0;
}

.site-header.active .hamburger span:nth-child(3),.esite-header.active .hamburger span:nth-child(3),.jsite-header.active .hamburger span:nth-child(3),.hsite-header.active .hamburger span:nth-child(3){
  transform: translateY(-11px) rotate(-45deg);
}

/* メニュー */
/* ハンバーガー開いたときに見切れないようにする */
.fullscreen-menu{
    background: #1b2b71;
}

.efullscreen-menu{
    background:#F2AB78 ;
}

.jfullscreen-menu{
    background:#efc300;
}

.hfullscreen-menu{
    background:#94d1cb;
}

.fullscreen-menu,.efullscreen-menu,.jfullscreen-menu,.hfullscreen-menu  {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

.fullscreen-menu.open,.efullscreen-menu.open,.jfullscreen-menu.open,.hfullscreen-menu.open   {
  opacity: 1;
  visibility: visible;
}

.menu-heading {
  font-weight: bold;
  color: #ffffff;
  margin: 0 auto 20px auto;
  padding-bottom: 5px;
  border-bottom: 2px solid #ffffff;
  display: inline-block;
  min-width: 200px;/* ←学園が目指すものの幅に近いサイズ（調整可） */
}

.menu-content {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  color: #fff;
  padding: 0 5%;
}

.menu-columns {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px;
}

.menu-columns ul {
  list-style: none;
  padding: 0;
  flex: 1;
  min-width: 200px;
}

.menu-columns li {
  margin-bottom: 15px;
}

.menu-columns a {
  text-decoration: none;
  font-size: 18px;
  color: #ffffff;
  font-weight: bold;
  transition: color 0.3s;
}

.menu-columns a:hover {
  color: #ccc;
}
.menu-break {
  height: 1em; /* 1行分の空き（調整可） */
}

/* 下部 学校名リンクボタン化 */
.menu-footer,.emenu-footer,.jmenu-footer,.hmenu-footer {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 20px;
  padding-top: 20px;
  margin-top: 30px;
  max-width: 1200px;
  margin: 0 auto;
  padding-bottom: 60px;
}

.menu-footer a{
  color: #1b2b71;
}

.emenu-footer a  {
  color: #b52833;
}

.jmenu-footer a  {
  color: #efc300;
}

.hmenu-footer a  {
  color: #94d1cb;
}

.menu-footer a,.emenu-footer a,.jmenu-footer a,.hmenu-footer a  {
  background: #ffffff;
  font-weight: bold;
  font-size: 14px;
  padding: 8px 16px;
  width:20%;
  border-radius: 999px;
  text-decoration: none;
  transition: background 0.3s;
  text-align: center;
}

.menu-footer a:hover,.emenu-footer a:hover,.jmenu-footer a:hover,.hmenu-footer a:hover {
  background: #e6e6e6;
}

 @media (max-width: 768px) {
    .menu-footer,.emenu-footer,.jmenu-footer,.hmenu-footer {
        flex-direction: column;
        align-items: center;
    }

    .menu-footer a,.emenu-footer a,.jmenu-footer a,.hmenu-footer a  {
    width: 90%;
    }
 }

/* ヘッダー　 */

/* フッター　 */
   /* --- 上部ボタン --- */
    .top-buttons {
      display: flex;
      justify-content: center;
      gap: 40px;
      padding: 60px 20px 40px;
      background-color: #fff;
    }

    .top-buttons a {
      display: flex;
      justify-content: space-between;
      align-items: center;
      width: 300px;
      padding: 20px;
      border: 2px solid #1D2971;
      background-color: #fff7f1;
      color: #1D2971;
      text-decoration: none;
      font-weight: bold;
      border-radius: 8px;
      transition: 0.2s ease;
    }

    .top-buttons a:hover {
      background-color: #1D2971;
      color: #fff;
    }

    .top-buttons a::after {
      content: "▶";
      margin-left: 10px;
    }

    /* --- フッター --- */
    .footer-wrapper {
      color: white;
      text-align: center;
    }

    .footer-main {
      background-color: #1D2971;
      padding: 40px 20px 20px;
    }
   .footer-logo {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 16px;
      margin-bottom: 20px;
    }

    .footer-logo img {
      height: 80px;
    }

    .footer-name {
      font-size: 1.5em;
      font-weight: bold;
    }

    .footer-links {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      text-align: center;
      border: 1px solid #fff;
    }

    .footer-links a {
      flex: 1;
      padding: 20px 10px;
      font-weight: bold;
      text-align: center; /* 追加：テキストを中央揃え */
      display: flex;/* 追加：中央揃えの補助 */
      justify-content: center;/* 追加：横方向中央 */
      align-items: center;/* 追加：縦方向中央 */
      flex-direction: column;
    }

      .footer-links a:hover{
        opacity: 0.8;
      }

    .footer-links .dark { background-color: #1D2971; color: white; }
    .footer-links .red { background-color: #F2AB78 ; color: #1D2971; }
    .footer-links .yellow { background-color: #f4e22e; color: #1D2971; }
    .footer-links .blue { background-color: #94d1cb; color:  #1D2971; }

    .footer-bottom {
      color: #1D2971;
      padding: 10px;
      font-size: 0.8em;
    }

    @media (max-width: 768px) {
    .footer-links {
    flex-direction: row;
    flex-wrap: wrap;
  }
  
  .footer-links div {
    flex: 1 1 50%; /* 50%幅で2列に */
    min-width: 50%;
  }
}

    @media (max-width: 480px) {

  .top-buttons {
      justify-content: flex-start;
      flex-direction: column;
      align-items: center;
    }

  .footer-links {
    flex-direction: column;
    text-align: center;
  }
}

/* フッター　 */

.hover{
	opacity:0.8;
}



/*学園TOP*/
.mv-slider {
  margin: 15px 0px;
  position: relative;
  width: 100%;
  height: 88vh; /* 高さは適宜調整 */
  overflow: hidden;
}

.mv-slider .slide {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease;
}

.mv-slider .slide.active {
  opacity: 1;
  z-index: 1;
}

.mv-slider .bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius:15px;
}

.mv-slider .text-img {
  position: absolute;
  bottom: 10%;
  left: 10%;
  max-width: 80%;
  height: auto;
}

/* 最初のスライドだけ中央配置 */
.mv-slider .slide:first-child .text-img {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* 2番目以降は右上に配置 */
.mv-slider .slide:not(:first-child) .text-img {
  top: 30px;
  right: 30px;
  left: auto;
  transform: none;
}

  @media (max-width: 1024px) {
  .sp-text-img {
    width: 60% !important;       /* ← 相対指定 */
    max-width: 80px !important; /* 最大幅を制限 */
    height: auto !important;
  }

	/* スライド2：顔が切れてるので少し右寄せに調整 */
  .slide-2 .bg {
    object-position: 80% center !important;
  }

  /* スライド5：生徒だけなので少し中央寄せに調整 */
  .slide-5 .bg {
    object-position: 30% center !important;
  }
}

 /* 小学校 */
/* MV */
.elementor-element-f39b532 {
  position: relative;
  z-index: 1;
}

.wave-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80px;
  overflow: hidden;
  line-height: 0;
  z-index: 0;
}

.wave-bottom svg {
  display: block;
  width: 100%;
  height: 100%;
}

.wave-content{
	transform: rotate(180deg); /* ← 上に表示するので rotate は不要 */
}

  /* NEWS */
.fa-calendar-alt:before {
    content: "\f073";
	display:none;
}
.premium-blog-inner-container i {
    display: none;
}

.tategaki {
    writing-mode: vertical-rl;
}

.premium-blog-content-wrapper.empty-thumb{
	background:none;
	padding:5px!important:
}

.premium-blog-post-container .premium-blog-inner-container{
	flex-direction: row-reverse;
	justify-content: flex-end;
}

.premium-blog-entry-meta {
    line-height: 1.3em;
    font-size: 18px;
    margin-bottom: 0px; 
}

.premium-blog-entry-title a{
	text-decoration-line:none!important;
}

.premium-blog-entry-meta{
	margin-right:10px!important;
}

.premium-blog-inner-container{
	border-bottom:solid 2px #1b2b71;
}


.premium-blog-post-container .premium-blog-content-wrapper{
	padding:5px!important;
}

@media (max-width: 768px) {
  .premium-blog-post-container .premium-blog-inner-container {
    flex-direction: column-reverse;
    justify-content: flex-end;
}
  }

/* ▼ スマホサイズ調整 */
@media (max-width: 480px) {
  .tategaki{
    writing-mode:  initial;
  }

}

/* 学びの特徴 */
/*トップ半円*/
.half-container {
      width: 100%;
      height: 80px;
      overflow: visible; /* ← hidden から visible に */
  	position: relative;
    }

.half-ellipse {
  width: 100%; /* 少し大きく見せる */
  height: 80px; /* 余裕を持って高さを確保 */
  background-color: #1B2B71;
  border-top-left-radius: 50% 100%;
  border-top-right-radius: 50% 100%;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  z-index: 1;
}

.half-ellipse.style{
 background-color: #1B2B71;
}

@media (max-width: 900px) {
 .half-container, .half-container-bottom {
      height: 50px;
    }
.half-ellipse,.half-ellipse-bottom {
  height: 50px!important;
}
}

/* ボトム半円 */
.half-container-bottom {
  width: 100%;
  height: 80px;
  overflow: hidden;
  position: relative;
}

.half-ellipse-bottom {
  width: 104%;
  height: 80px;
  background-color: #1B2B71; /* お好みの色に変更 */
  border-top: none;
  border-bottom-left-radius: 50% 100%;
  border-bottom-right-radius: 50% 100%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  box-sizing: border-box;
}

/*ブログ*/
.premium-blog-thumbnail-container.premium-blog-zoomin-effect{
    border-radius: 15px!important;
    height: 250px!important;
}
.premium-blog-wrap .premium-blog-thumbnail-container {
    overflow: hidden;
    height: 200px!important;
    border-radius: 15px!important;
}
.premium-blog-post-container {
	background:none!important;
}

.blogbox .premium-blog-post-container .premium-blog-inner-container{
	flex-direction: column-reverse!important;
     border-bottom: none;
}

.blogbox .premium-blog-content-wrapper{
	padding: 20px;
}
 /* 小学校 */

/*中学校・高校*/

/* ▼ TOPキービジュアル全体ラッパー */
.mv-static {
  position: relative;
  width: 100%;
  height: 93vh; /* 表示サイズは任意に調整可 */
  overflow: hidden;
}

/* ▼ 背景画像 */
.mv-static .mv,.mv-static .mve,.mv-static .mv02 {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ▼ テキスト画像（右に重ねる） */
.mv-static .mvtext-img,.mv-static .mvtext-img02 {
  position: absolute;
  top: 5%;
  right: 30px;
  max-width: 50%;
  height: auto;
  margin:10px 0px;
  z-index: 2;
}

/* 1280px以下で適用させたいcssを記述する部分 */
@media screen and (max-width: 1400px){
.mv-static .mvtext-img {
    max-width: 50%;
    top: 30px;
    right: 20px;
	}
.mv-static .mvtext-img02{
	max-width: 50%;
    top: 30px;
    left: 20px;
	}
}
/* 1024px以下で適用させたいcssを記述する部分 */
@media screen and (max-width: 1024px) {
  .mv-static .mv {
    object-position: 40% center !important;
  }
  .mv-static .mv02{
	 object-position: 80% center !important;
  }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px){
	  .mv-static .mv {
    object-position: 40% center !important;
  }
	 .mv-static .mv02 {
    object-position: 80% center !important;
  }
}

/* ▼ スマホサイズ調整 */
@media (max-width: 768px) {
  .mv-static .mvtext-img {
    max-width: 30%;
    top: 30px;
    right: 20px;
  }
  .mv-static .mvtext-img02 {
    max-width: 30%;
    top: 30px;
    left: 20px;
  }

  .mv-static .mv {
        object-position: 48% center !important;
    }
  .mv-static .mv02 {
        object-position: 75% center !important;
    }
}

/* 小学校TOP */
  .mv-static .mve {
    object-position: 80% center !important;
  }

/*中学校・高校*/

/*小学校・中学校・高校ブログ一覧*/
.page-id-1294 .premium-blog-post-container .premium-blog-content-wrapper,
.page-id-1335 .premium-blog-post-container .premium-blog-content-wrapper,
.page-id-1353 .premium-blog-post-container .premium-blog-content-wrapper{
  background-color: #ffffff !important;
  padding: 20px !important; /* ←必要に応じて調整 */
  display: block;
}

.page-id-1294 .premium-blog-inner-container,
.page-id-1335 .premium-blog-inner-container,
.page-id-1353 .premium-blog-inner-container
{
    border-bottom:none;
}

.page-id-1294 .premium-blog-inner-container,
.page-id-1335 .premium-blog-inner-container,
.page-id-1353 .premium-blog-inner-container{
  display: flex;
  flex-direction: column;
}

.page-id-1294 .premium-blog-inner-container h2,
.page-id-1335 .premium-blog-inner-container h2,
.page-id-1353 .premium-blog-inner-container h2{
  order: 2;
}

.page-id-1294 .premium-blog-inner-container span,
.page-id-1335 .premium-blog-inner-container span,
.page-id-1335 .premium-blog-inner-container span
{
  order: 1;
}

/*小学校・中学校・高校ブログ一覧*/

/*受験生の皆様へ（小学校・中学校・高校）*/
.page-id-1403 .premium-blog-post-container .premium-blog-content-wrapper,
.page-id-1471 .premium-blog-post-container .premium-blog-content-wrapper,
.page-id-1744 .premium-blog-post-container .premium-blog-content-wrapper{
  padding: 20px !important; /* ←必要に応じて調整 */
  display: block;
}


.page-id-1403 .premium-blog-inner-container,
.page-id-1471 .premium-blog-inner-container,
.page-id-1744 .premium-blog-inner-container{
    border-bottom:none;
}

.page-id-1403 .premium-blog-inner-container,
.page-id-1471 .premium-blog-inner-container,
.page-id-1744 .premium-blog-inner-container{
  display: flex;
  flex-direction: column;
}

.page-id-1403 .premium-blog-inner-container h2,
.page-id-1471 .premium-blog-inner-container h2,
.page-id-1744 .premium-blog-inner-container h2{
  order: 2;
}

.page-id-1403 .premium-blog-inner-container span,
.page-id-1471 .premium-blog-inner-container span,
.page-id-1744 .premium-blog-inner-container span{
  order: 1;
}

/* 表 */
.page-id-1744 table,.page-id-1471 table {
  width: 100%;
  border-collapse: collapse;
  font-family: sans-serif;
  border: 1px solid #999;
}

.page-id-1744 th,
.page-id-1744 td,
.page-id-1471  th,
.page-id-1471  td,
{
  border: 1px solid #999;
  padding: 10px;
  text-align: left;
  vertical-align: top;
}

.page-id-1744 th,
.page-id-1471 th
{
  background-color: #e6e6e6;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.2em;
}

.page-id-1744 .row-header,
.page-id-1471 .row-header,
.page-id-1403 .row-header
{
  background-color: #e6e6e6;
  text-align: center;
  font-weight: bold;
  white-space: nowrap;
}

.page-id-1744 ul,
.page-id-1471 ul {
  margin: 0;
  padding-left: 1.2em;
}
/* 表*小学校 */

        table {
            width: 100%;
            border-collapse: collapse;
            margin: 0 auto;
            font-size: 14px;
        }
        th, td {
            padding: 12px;
            text-align: center;
            vertical-align: middle;
        }
        .category {
            background-color: #e6e6e6;
            font-weight: bold;
            width: 120px;
        }
        .exam-header {
            background-color: #e6e6e6;
            font-weight: bold;
        }
        .date-note {
            font-size: 12px;
            border-top: 1px dashed #666;
            padding-top: 8px;
            margin-top: 8px;
        }
        .web-procedure {
            text-align: left;
            font-weight: bold;
        }
        .exam-content {
            text-align: left;
        }
        .result-announcement {
            text-align: left;
        }

/* ✅ スマホ用：2列を縦に並べ、ボーダー維持 */
@media (max-width: 768px) {
  .page-id-1744 table,
  .page-id-1744 tbody,
  .page-id-1744 tr ,
  .page-id-1471 table,
  .page-id-1471 tbody,
  .page-id-1471 tr {
    display: block;
    width: 100%;
  }

  .page-id-1744 thead,
.page-id-1471 thead {
    display: none;
  }

  .page-id-1744 tr,  .page-id-1471 tr {
    margin-bottom: 0;
    border-top: 1px solid #999;
    border-bottom: 1px solid #999;
  }

  .page-id-1744 td,
  .page-id-1471 td {
    display: block;
    width: 100%;
    border-left: none;
    border-right: none;
    border-top: none;
  }

  .page-id-1744 td:first-child,
  .page-id-1471 td:first-child {
    border-top: 1px solid #999;
  }

  .page-id-1744 .row-header,
  .page-id-1471 .row-header {
    font-weight: bold;
    border-bottom: 1px solid #999;
  }
}

/* 採用情報.概要・アクセス */
.page-id-2101 .tablepress tr td,.page-id-2198 .tablepress tr td {
	border-top: 1px solid #1B2B71; 
	padding: 10px;
}
.page-id-2101 .tablepress tr td:first-of-type,.page-id-2198 .tablepress tr td:first-of-type {
	font-weight: bold;
	color: #1B2B71;
	width: 6em;
}
.page-id-2101 .tablepress tr:last-of-type td,.page-id-2198 .tablepress tr:last-of-type td {
	border-bottom: 1px solid #1B2B71; 
}

/*タブ*/
:root {
  --n-tabs-heading-display: flex !important;
  --n-tabs-title-flex-grow: 1 !important;
  --n-tabs-title-flex-shrink: 1 !important;
  --n-tabs-title-flex-basis: 0% !important;
  --n-tabs-title-justify-content: center !important;
}

.elementor-widget-n-tabs .e-n-tabs-heading {
  display: flex !important;
}

.elementor-widget-n-tabs .e-n-tab-title {
  flex: 1 1 0% !important;
  text-align: center !important;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .elementor-widget-n-tabs .e-n-tabs-heading {
    display: block !important;
  }

  .elementor-widget-n-tabs .e-n-tab-title {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box;
    margin-bottom: 8px; /* 間隔を少しつけたい場合 */
    text-align: center!important;
  }
}


/*資料請求・ダウンロードボタン*/
.elementor-1471 .elementor-element.elementor-element-f09fdfa .elementor-button,
.elementor-1471 .elementor-element.elementor-element-4669fca .elementor-button,
.elementor-1744 .elementor-element.elementor-element-0bce1bf .elementor-button,
.elementor-1744 .elementor-element.elementor-element-d94f08e .elementor-button,
.elementor-1403 .elementor-element.elementor-element-0347309 .elementor-button {
	width:350px;
}
/*受験生の皆様へ（小学校・中学校・高校）*/


/* 採用情報.概要・アクセス */
.page-id-2101 .tablepress tr td,.page-id-2198 .tablepress tr td {
	border-top: 1px solid #1B2B71; 
	padding: 10px;
}
.page-id-2101 .tablepress tr td:first-of-type,.page-id-2198 .tablepress tr td:first-of-type {
	font-weight: bold;
	color: #1B2B71;
	width: 6em;
}
.page-id-2101 .tablepress tr:last-of-type td,.page-id-2198 .tablepress tr:last-of-type td {
	border-bottom: 1px solid #1B2B71; 
}

/* 学びの特徴・小学校・中学校・高校 */
.page-id-2628.table-container,.page-id-2672.table-container,.page-id-2550.table-container {
      width: 100%;
      overflow-x: auto;  /* 横スクロールを有効にする */
    }

 .page-id-2628　table, .page-id-2672　table,.page-id-2550　table {
      min-width: 600px; 
      border-collapse: collapse;
      table-layout: fixed;
    }

.page-id-2628　th, td,.page-id-2672　th, td,.page-id-2550　th, td {
 　　 border: none; /* ← 線をなくす */
      padding: 10px;
      text-align: center;
      vertical-align: middle;
      font-size: 14px;
    }

  /* カテゴリ背景色（中学） */
    .gray { background-color: #ded9c2; }        /* 中学1〜3年 */
    .lightgray { background-color: #e8e6e4; }   /* 中学課程学習 */
    .green { background-color: #007b3e; color: white; } /* 探究ラベル */
    .kokusai { background-color: #d52b1e; color: white; }   /* 国際ラベル */
     .syoku { background-color: #0033a0; color: white; }  /* 食育ラベル */
    .orange { background-color: #f47c1c; color: white; } /* 徳育ラベル */

/* テーブルを横スクロール可能にする */
.table-container {
  width: 100%;
  overflow-x: auto;   /* 横スクロールを有効化 */
  -webkit-overflow-scrolling: touch; /* スマホでスムーズスクロール */
}

/* テーブルの見た目を崩さないように */
.table-container table {
  border-collapse: collapse;
  min-width: 800px; /* 必要に応じて調整 */
  width: 100%;
}

/* 総合科学部ボタン */

.button01 {
  background-color: #1B2B71;
  color: #fff;
  padding: 10px 30px;
  border-radius:10px;
  text-decoration: none;
  font-size: 1em;
}
.button01:hover {
  color: #fff;
  opacity: 0.8;
}

.button01 a {
  text-decoration: none;
}


/*=========================================================
  ポップアップ
==========================================================*/
.custom-popup {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; 
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  z-index: 1000;
  padding: 20px;
}

.popup-content {
  overflow-y: auto;
  overflow-x: hidden;
  max-height: 90vh; /* ビューポート高の90%までに制限 */
  padding: 30px;
  border-radius: 15px;
  background: white;
  position: relative;
  z-index: 1;
}


/* バツボタン（右上外）*/
.close-btn {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 40px;
  height: 40px;
  background: black;
  color: white;
  font-size: 36px;
  text-align: center;
  line-height: 36px;
  border-radius: 50%;
  cursor: pointer;
  z-index: 2000; /* ← ここを 100 → 2000 などに変更 */
}

/* 本文画像と右下のイラスト */
.image-wrapper {
  position: relative;
  width:600px;
}

.popup-image {
  width:600px;
  max-width: 100%; /* 必要に応じて追加 */
  height: auto;
  display: block;
  margin: 0 auto 20px; /* 画像間の縦間隔 */
}

/* タイトル */
.popup-title {
  font-size: 1.6rem;
  margin-bottom: 1rem;
  position: relative;
  line-height: 1.6;
  color: #1B2B71;
  text-align:center;
}

/* 説明文 */
.popup-desc {
  text-align: left;
  font-size: 0.9rem !important;
    line-height: 1.4 !important;
  margin-bottom: 10px;
}

/* 部活実績 */
.pop-zisseki{
	margin:20px 0px;
}

.pop-box{
  font-weight: bold;
  display: inline;
  padding: 10px 30px;
  background-color: #cccccc!important;
  margin:10px 0px;
}

.page-id-2672 ul, ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.p-block-list{
  margin-bottom:20px;
}

@media (max-width: 550px) {
  .popup-content {
    width: 95%;
    padding:20px 10px;
    max-height: 78vh;
	margin-top: 3rem;
    box-sizing: border-box;
  }

 .image-wrapper {
    max-width: 100%;
 }
	
  .close-btn {
    width: 35px;
        height: 35px;
        font-size: 30px;
        line-height: 33px;
        top: 5px;
        right: 5px;
  }

	.popup-title {
    font-size: 1.5rem;
}
}


/*=========================================================
  固定ページ
==========================================================*/
body:not(.page-id-17):not(.page-id-407):not(.page-id-608):not(.page-id-1010) .site-content {
    margin-top: 60px;
}


/*=========================================================
  投稿ページ-single.php
==========================================================*/
body.single .site-main{
    max-width: 1000px;
    margin: 0 auto;
    padding: 0px 20px;
}
.entry-meta .posted-by {
    display: none;
}
.entry-meta .posted-by + span::before {
    display: none;
}

/* 自作single.php */
.single-content{
    max-width: 1000px;
    padding: 10px;
    margin: 0 auto;
}

.sentence{
	border-bottom: 1px solid #333333;
}

.post-categories{
	margin-top:10px;
}

.category-name {
    display: inline-block;
    padding: 5px 10px;
    margin-right: 5px;
    border-radius: 3px;
    font-size: 0.9em;
    color: #fff;
}

/* 投稿・ブログ・受験ニュース：小学校 */
.category-01newse,.category-01bloge,.category-01exame { 
background-color: #F2AB78;
 } 

/* 投稿・ブログ・受験ニュース：中学校 */
.category-02newsj,.category-02blogj,.category-02examj  { 
background-color:#efc300;
}

/* 投稿・ブログ・受験ニュース：高校 */
.category-03newsh,.category-03blogh,.category-03examh  { 
background-color: #94d1cb;
 } 

.previous-links{
	margin-top:10px;
	display: flex;
    justify-content: space-between;
	padding:0px 10px;
}
body.single .news-ttl{
	line-height:1.6rem;
    margin-bottom: 10px;
}
body.single #primary, #secondary{
        padding: 1.5em 0 !important;
        margin: 0;
}

/*=========================================================
  アーカイブページ-archive.php
==========================================================*/
body.archive .site-main{
    max-width: 1000px;
    margin: 0 auto;
    padding: 0px 20px;
}

.ast-archive-description {
    border-bottom: none;
}

.ast-blog-featured-section,
.post-thumb,.blog-layout-4.ast-article-inner {
  box-shadow: none !important;
}


.ast-excerpt-container { 
	display: none !important;
　}

.entry-header.ast-blog-single-element.ast-blog-meta-container {
  margin: 0 !important;
}


@media (max-width: 921px) {
    body.archive .ast-blog-layout-4-grid .ast-article-post {
        width: 50%;
    }
}

@media (max-width: 768px) {
	body.archive .ast-blog-layout-4-grid .ast-article-post {
        width: 100%;
    }
}

body.archive .ast-excerpt-container .ast-blog-single-element{
	display:none!important;
}
