/*
Theme Name: 木之本小学校テンプレート（赤色）
Theme URI: https://bootscore.me/
Author: Bootscore
Author URI: https://bootscore.me
Description: Flexible Bootstrap WordPress starter-theme for developers with full WooCommerce support. <a href="https://bootscore.me/category/documentation/" target="_blank">Documentation</a>
Version: 6.3.0
Requires at least: 5.0
Tested up to: 6.8
Requires PHP: 7.4
License: MIT License
License URI: https://github.com/bootscore/bootscore/blob/main/LICENSE
Text Domain: bootscore
Tags: featured-images, threaded-comments, translation-ready

Use this theme to make something cool, have fun, and share what you've learned with others.

Bootscore is based on Underscores https://underscores.me/, (C) 2012-2024 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.
*/

/* 
All style editing is done via /assets/scss/_bootscore-custom.scss
*/

/*
Removes white gap between slides
*/
/*
Removes white gap between slides
*/

/*
Removes white gap between slides
*/

/*TOPスライダー設定*/
/*******************/
.carousel {
  background:#444;
}

/*
Forces image to be 100% width and not max width of 100%
*/
.carousel-item .img-fluid {
  width:100%;
  height:auto;
}

/* 
anchors are inline so you need ot make them block to go full width
*/
.carousel-item a {
  display: block;
  width:100%;
}

.carousel-item {
  aspect-ratio: 16/9; /* デフォルトは16:9比率 */
  max-height: 500px;  /* PCでは高さ最大400px */
}

.carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* レスポンシブ調整 */
@media (max-width: 1200px) { /* タブレット以下 */
  .carousel-item {
    max-height: 600px;
  }
}

/* レスポンシブ調整 */
@media (max-width: 992px) { /* タブレット以下 */
  .carousel-item {
    max-height: 300px;
  }
}

@media (max-width: 576px) { /* スマホ */
  .carousel-item {
    max-height: 200px;
  }
}

/* TOPTAB設定      */
/*******************/
/* タブ全体 */
.nav-tabs {
  border-bottom: none; /* 下線を消す */
  gap: 0; /* 隙間なし */
}

.main_tab .nav-pills .nav-item {
    width: 50%;
}
.main_tab li.nav-item {
    border-bottom: 6px solid #ed0d0d;
}


/* タブ全体の隙間なし＆丸み */
.nav-tabs {
  border-bottom: none;
  gap: 0;
}

.nav-tabs .nav-link {
  border-radius: 0.5rem 0.5rem 0 0; /* 上だけ丸み */
  margin-right: 0;
  background-color: #ed0d0d; /* 非アクティブ時の背景：赤 */
  color: #fff; /* 非アクティブ時の文字：白 */
  border-radius: 20px 20px 0 0 !important;
}

/* ホバー時（少し明るい赤に） */
.nav-tabs .nav-link:hover {
  background-color: #ff5858;
  color: #fff;
}

/* アクティブなタブ */
.nav-tabs .nav-link.active {
  background-color: #ff5858; /* アクティブ背景色 */
  color: #fff; /* アクティブ文字色 */
  border-color: #56d9c9;
}


/* TOP新着情報設定 */
/*******************/


.type_box {
    width: 40%;
    border-radius: 0 15px 15px 0;
}

@media screen and (max-width: 768px) {
    .type_box {
        width: 60%;
    }
}

.box_item img {
    width: 100%;
    height: 200px;
    border-radius: 30px;
	object-fit: cover;
}

/* タブレット（768px以下） */
@media (max-width: 768px) {
    .box_item img {
        height: 150px;
    }
}

/* スマホ（480px以下） */
@media (max-width: 480px) {
    .box_item img {
        height: 120px;
    }
}
.a_none {
    text-decoration: none;
    color: #464646;
}

.box_item span {
    color: #AEAEAE;
	font-size: 15px;
}

.main_tab p {
    color: #969696 !important;
}

.type_box span {
    color: white;
}


/* カテゴリー色の変更 */

.category-1stgrade{
	background-color: #dc3545;
}

.category-2stgrade{
	background-color: #ff69b4;
}

.category-3stgrade{
	background-color: #ffd700;
}

.category-4stgrade{
	background-color: #0000ff;
}

.category-5stgrade{
	background-color: #87cefa;
}

.category-6stgrade{
	background-color: #2e8b57;
}

.category-allgrade{
	background-color: #ff6347;
}


.card-img, .card-img-top {
    border-top-left-radius: var(--bs-card-inner-border-radius);
    border-top-right-radius: var(--bs-card-inner-border-radius);
    width: 100%;           /* 横幅いっぱい */
    height: 200px;         /* 高さを固定 */
	object-fit: cover; 
}

/* PC用 */
.navbar-nav .nav-link {
  font-size: 20px;
}

/* ---------- スマホ用 ---------- */
/* ---------- レスポンシブ対応 ---------- */
@media (max-width: 768px) {
	.navbar-nav .nav-link {
		font-size: 16px;
	}

	.navbar-nav {
		flex-direction: column;
	}

	.navbar-nav .nav-link,
	.navbar-nav .dropdown-item {
			display: block;
			text-align: center;
	}
}

/* ナビゲーション全体 */
.navbar-nav {
	display: flex;
	gap: 0.5rem; /* メニュー間の隙間 */
}

/* メニューリンク */
.navbar-nav .nav-link {
	background-color: #ff6f61;   /* ポップな背景色 */
	color: #fff;                 /* 文字色 */
	padding: 0.5rem 1rem;
	border-radius: 50px;         /* 丸くする */
	font-weight: bold;
	font-size: 16px;
	text-align: center;
	transition: all 0.3s ease;
	box-shadow: 0 4px 6px rgba(0,0,0,0.1);
	position: relative;
	display: inline-block;
}

/* ホバー時 */
.navbar-nav .nav-link:hover {
	background-color: #ff9f80;   /* 明るめに変化 */
	transform: translateY(-3px) scale(1.05); /* 少し浮かせる */
	box-shadow: 0 6px 10px rgba(0,0,0,0.2);
	text-decoration: none;
	color: #fff;
}

/* アクティブページの強調 */
.navbar-nav .nav-item.active > .nav-link {
	background-color: #ff3d00;
	color: #fff;
	box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}

/* ---------- メニュー全体 ---------- */
.navbar-nav {
	display: flex;
	gap: 0; /* メニュー間の隙間なし */
	align-items: center;
}

/* ---------- メニューリンク ---------- */
.navbar-nav .nav-link {
	background-color: #ed0d0d; /* 通常色 */
	color: #ffffff;             /* 文字色は白 */
	font-weight: bold;
	font-size: 16px;
	padding: 0.5rem 1rem;
	border-radius: 0;           /* 角は丸めない */
	text-align: center;
	display: inline-block;
	position: relative;
	transition: all 0.3s ease;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* アイコン付きの場合 */
.navbar-nav .nav-link i {
	margin-right: 0.3rem;
	color: #ffffff;
}

/* ---------- ホバー時 ---------- */
.navbar-nav .nav-link:hover {
	background-color: #ff5858; /* ホバー背景色 */
	transform: translateY(-2px); /* 少し浮かせる */
	box-shadow: 0 4px 8px rgba(0,0,0,0.2);
	text-decoration: none;
}

/* ---------- アクティブページ ---------- */
.navbar-nav .nav-item.active > .nav-link {
	background-color: #ff5858; /* アクティブ背景色 */
	color: #ffff66;             /* アクティブ文字色を明るく */
	box-shadow: 0 3px 6px rgba(0,0,0,0.2);
}

.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
    color: #ffff66;
}

/* ---------- ドロップダウン ---------- */
.navbar-nav .dropdown-menu {
	border-radius: 0;
	color: #ffffff;             /* 文字色は白 */
	background-color: #ed0d0d;
	padding: 0;
}

.navbar-nav .dropdown-item {
	border-radius: 0;
	padding: 0.5rem 1rem;
	color: #ffffff;
	transition: all 0.3s;
}

.navbar-nav .dropdown-item:hover {
	background-color: #ff5858;
	color: #ffff66;
	transform: translateX(3px);
}

/* ---------- アクティブリンクの文字色統一 ---------- */

/* ナビバー全体の高さ */
.navbar {
	min-height: 70px;
}

/* メニューリンク */
.navbar-nav .nav-link {
	height: 60px;              /* navbar と同じ高さ */
	width: 170px;              /* 横幅を固定 */
	display: flex;
	align-items: center;       /* 縦中央揃え */
	justify-content: center;   /* 横中央揃え */
	font-size: 1.0rem;         /* 文字サイズ拡大 */
	font-weight: 600;          /* 見やすく太字 */
	padding: 0;                /* 余白を削除（中央揃え用） */
	text-align: center;        /* テキスト中央 */
	white-space: nowrap;       /* 改行しない */
}

.card-header {
	background-color: #ed0d0d;
	color: #ffffff;
	text-align: center !important;
}


/* フッター */
/* footer の補助スタイル */
#site-footer {
    background: linear-gradient(180deg, #ab0909 0%, #310202 100%);
    color: #f8f9fa;
    line-height: 1.4;
}
#site-footer a {
  color: #fff;
  text-decoration: none;
}
#site-footer a:hover {
  color: #ffd966;
  text-decoration: underline;
}

/* iframe を含む比率ボックスの最小高さ確保（PC） */
#site-footer .ratio {
  min-height: 200px;
}

/* ロゴを常に200pxの横幅で表示 */
.navbar-brand img.brand-logo {
  width: 200px !important;   /* 横幅を固定 */
  height: auto !important;   /* アスペクト比を維持 */
  max-height: none !important; /* Bootscore の max-height 制限を解除 */
  object-fit: contain;
}

/* iPad mini 横向きなどでもバーガーメニューにする */
@media (min-width: 768px) {
  .navbar-expand-md .navbar-collapse {
    display: none !important; /* 通常の展開を無効化 */
  }
}

@media (max-width: 1199.98px) {
  .navbar-collapse {
    position: absolute;
    top: 100%;
    right: 0;
    background-color: #f8f9fa; /* 必要に応じて変更 */
    width: 200px; /* メニュー幅 */
    transform: translateX(100%);
    transition: transform 0.3s ease;
    z-index: 999;
    border-radius: 0 0 0.5rem 0.5rem;
  }

  .navbar-collapse.show {
    transform: translateX(0);
  }

  /* メニュー内のリンク */
  .navbar-nav {
    flex-direction: column;
    padding: 0.5rem;
  }

  .navbar-nav .nav-link {
    padding: 0.5rem 1rem;
  }
}

.nav-tabs .nav-link.active {
    background-color: #ff5858;
    color: #fff;
    border-color: #ff5858; */
}

.btn-primary {
    background-color: #ed0d0d;
	border-color: #ed0d0d;
}

.btn-outline-primary {
    --bs-btn-color: #ed0d0d;
    --bs-btn-border-color: #ed0d0d;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #ed0d0d;
    --bs-btn-hover-border-color: #ed0d0d;
    --bs-btn-focus-shadow-rgb: 13, 110, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0d6efd;
    --bs-btn-active-border-color: #0d6efd;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.btn-primary:hover {
	background-color: #ff5858;
	color: #FFF;
	border-color: #ff5858;
}

/* クリック時（押している間だけ適用） */
.btn-primary:active {
  background-color: #ff5858 !important;
	border-color: #ff5858 !important;
}

