﻿@charset "utf-8";

body,p,td,li, h5,h6 {
	font-family: "BIZ UDPGothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-weight: 400;
	font-size:1rem;
	line-height:1.8em;
}
h1,h2,h3,h4,.h1,.h2,.h3,.h4,.h5,.h6 {
	font-family: "BIZ UDPGothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-weight:800;
	line-height:1.5em;
}

.font-g {
	font-family: "BIZ UDPGothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}

.font-m {
	font-family: "BIZ UDPMincho", "ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",source-han-serif-japanese,"游明朝","Yu Mincho","游明朝体",YuMincho,"HGS明朝E","ＭＳ Ｐ明朝","MS PMincho",serif;
}

.bold {
	font-weight:800;
}

.container {
	max-width: 1164px;
}



/* 文字サイズ
==================================================== */
h1 { font-size:1.5rem; }

@media (min-width: 576px) {
	h1 { font-size:1.8rem;letter-spacing:2px; }
}
@media (min-width: 768px) {
	h1 { font-size:1.8rem; }
}
@media (min-width: 1200px) {
	h1 { font-size:2rem;letter-spacing:2px; }
}
@media (min-width: 1400px) {
	h1 { font-size:2.2rem;letter-spacing:2px; }
}

@media (min-width: 768px) and (max-width: 1050.98px) {
	.top_square .top_text { font-size:0.8rem; }
}
@media (max-width: 767.98px) {
	.top_text { font-size:1rem; }
}



/* マージン、パディング
==================================================== */
.mt-40 { margin-top:40px; }
.mb-40 { margin-bottom:40px; }
.pt-40 { padding-top:40px; }
.pb-40 { padding-bottom:40px; }
.mt-80 { margin-top:80px; }
.mb-80 { margin-bottom:80px; }
.pt-80 { padding-top:80px; }
.pb-80 { padding-bottom:80px; }
.ps-80 { padding-left:80px; }
.pe-80 { padding-right:80px; }
.mt-110 { margin-top:110px; }
.mb-110 { margin-bottom:110px; }
.pt-110 { padding-top:110px; }
.pb-110 { padding-bottom:110px; }
.ps-110 { padding-left: 110px; }

.my-80 { margin-top:80px; margin-bottom:80px; }
.my-110 { margin-top:110px; margin-bottom:110px; }
.py-80 { padding-top:80px; padding-bottom:80px; }
.px-80 { padding-left:80px; padding-right:80px; }
.py-110 { padding-top:110px; padding-bottom:110px; }

@media (max-width: 767.98px) {
	.mt-40, .mt-80, .mt-110 { margin-top:30px; }
	.mb-40, .mb-80, .mb-110 { margin-bottom:30px; }
	.pt-40, .pt-80, .pt-110 { padding-top:30px; }
	.pb-40, .pb-80, .pb-110 { padding-bottom:30px; }
	.ps-80, .ps-110 { padding-left:30px; }
	.pe-80, .pe-110 { padding-right:30px; }
	.my-80, .my-110 { margin-top:30px; margin-bottom:30px; }
	.py-80, .py-110 { padding-top:30px; padding-bottom:30px; }
	.mx-80 { margin-left:30px; margin-right:30px; }
}

.lh-1 { line-height: 1em; }
.lh-2 { line-height: 2em; }
.lh-3 { line-height: 3em; }




/* リンク
==================================================== */
a {
	color: #666;
}

footer a {
	color: #0874c9;
}

footer a:hover {
	color: #fff;
}

/* ナビバー
==================================================== */
 @media (max-width: 767.98px) {
/*	body { padding-top:49px; } */
} -->
.navbar-brand {
	padding:0;
	margin:0;
	padding-left: 15px;
}

.navbar-toggler { 
	position:relative;
	border:none!important;
	padding-bottom:0;
}

.navbar-light .navbar-toggler .navbar-toggler-icon {
	position:relative;
	margin-top:-16px;
}

.navbar-nav .nav-link {
	padding-left: 15px;
}

.navbar-light .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M6 6L 24 24M24 6L6 24'/%3E%3C/svg%3E");
}



/* コピーライト
==================================================== */
#copyright {
	font-size:13px;
	padding-bottom:10px;
}





/* トップへ戻る
==================================================== */
a.page-top {
	position:fixed;
	bottom:60px;
	right:10px;
	opacity:0.5;
	color:#0064f2;
	display:block;
}
a.page-top:hover {
	opacity:0.7;
}












/* ==========================================
	BASE
========================================== */

:root {
	--main-blue: #0874c9;
	--light-blue: #e8f6ff;
	--deep-blue: #005cb5;
	--green: #6bad1f;
	--orange: #f16622;
}

html {
	font-size: 1rem;
}

body {
	margin: 0;
	color: #333;
	font-family:
		"Noto Sans JP",
		"Hiragino Kaku Gothic ProN",
		"Yu Gothic",
		Meiryo,
		sans-serif;
	background: #fff;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration: none;
}


/* ==========================================
	HEADER
========================================== */

.site-header {
	position: relative;
	z-index: 1000;
	background: #fff;
}

.header-top {
	min-height: 80px;
}

.header-logo img {
	width: 300px;
	height: auto;
}


/* 操作補助 */

.header-support {
	gap: 14px;
}

.about-btn {
	display: flex;
	align-items: center;
	height: 36px;
	padding: 0 16px;
	border-radius: 30px;
	background: #078fd5;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
}

.about-btn:hover {
	color: #fff;
	opacity: .85;
}

.about-btn span {
	margin-left: 8px;
	color: #ffd600;
}


.support-item {
	text-align: center;
}

.support-title {
	display: block;
	margin-bottom: 3px;
	font-size: 11px;
	font-weight: 700;
}

.support-buttons {
	display: flex;
	gap: 3px;
}

.support-btn,
.color-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 35px;
	height: 35px;
	padding: 0;
	border: 1px solid #ddd;
	border-radius: 5px;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}

.support-btn {
	background: #eaf6ff;
	color: #0874c9;
}

.support-btn.active {
	background: #0874c9;
	color: #fff;
}

.color-white {
	background: #fff;
	color: #333;
}

.color-yellow {
	background: #ffe43c;
	color: #333;
}

.color-blue {
	background: #0046be;
	color: #fff;
}


/* ==========================================
	NAV
========================================== */

.main-nav {
	width: 100%;
}


/* ------------------------------------------
	メインメニュー
------------------------------------------ */

.main-nav > .nav-item {
	position: relative;
	flex: 1;
	text-align: center;
}


.main-nav > .nav-item > .nav-link {
	position: relative;

	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;

	min-height: 55px;
	padding: 8px 15px;

	color: #555;

	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;

	text-decoration: none;

	transition: color .2s ease;
}


/* アイコン */
.main-nav .nav-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	flex-shrink: 0;

	color: var(--main-blue);
	font-size: 24px;
}


.main-nav .nav-icon img {
	display: block;
	width: auto;
	max-height: 22px;
}


/* hover */
.main-nav > .nav-item > .nav-link:hover,
.main-nav > .nav-item > .nav-link:focus {
	color: var(--main-blue);
}


/* ------------------------------------------
	メインメニューの縦区切り線

	Bootstrap dropdownが ::after を使うため
	区切り線には ::before を使用
------------------------------------------ */

.main-nav > .nav-item:not(:last-child) > .nav-link::before {
	content: "";

	position: absolute;
	top: 50%;
	right: 0;

	width: 1px;
	height: 26px;

	background: #0371c4;

	transform: translateY(-50%);
}


/* ==========================================
	団体・クラブ
	Dropdown
========================================== */

/* Bootstrap標準の▼を非表示 */
.main-nav .dropdown-toggle::after {
	display: none !important;
}


/* HTMLに追加したBootstrap Iconsの▼ */
.main-nav .dropdown-arrow {
	display: inline-block;

	margin-left: -3px;

	color: #0371c4;

	font-size: 12px;
	line-height: 1;

	transition: transform .2s ease;
}


/* メニュー展開時 */
.main-nav .dropdown-toggle.show .dropdown-arrow {
	transform: rotate(180deg);
}


/* ------------------------------------------
	サブメニュー
------------------------------------------ */

.main-nav .dropdown-menu {
	min-width: 340px;

	margin: 0;
	padding: 7px;

	background: #fff;

	border: 1px solid #e5e5e5;
	border-top: 3px solid #0371c4;
	border-radius: 0 0 7px 7px;

	box-shadow: 0 6px 18px rgba(0, 0, 0, .12);
}


/* サブメニュー項目 */
.main-nav .dropdown-menu li {
	margin: 0;
	padding: 0;
}


/* 2つ目以降に区切り線 */
.main-nav .dropdown-menu li + li {
	border-top: 1px solid #e5e5e5;
}


/* サブメニューリンク */
.main-nav .dropdown-item {
	position: relative;

	display: block;

	width: 100%;

	padding: 13px 40px 13px 15px;

	color: #555;
	background: transparent;

	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;

	text-align: left;
	white-space: normal;

	border-radius: 4px;

	transition:
		color .2s ease,
		background-color .2s ease;
}


/* サブメニュー右側の ＞ */
.main-nav .dropdown-item::after {
	content: "\F285";

	position: absolute;
	top: 50%;
	right: 15px;

	color: #0371c4;

	font-family: "bootstrap-icons";
	font-size: 13px;
	font-weight: normal;

	transform: translateY(-50%);
}


/* hover */
.main-nav .dropdown-item:hover,
.main-nav .dropdown-item:focus {
	color: #0371c4;
	background: #f1f8fd;
}


/* ==========================================
	PC
========================================== */

@media (min-width: 992px) {

	.main-nav > .nav-item > .nav-link {
		letter-spacing: -0.04em !important;
	}


	/* サブメニューを親メニュー中央に配置 */
	.main-nav .dropdown-menu {
		top: 100%;
		left: 50%;

		transform: translateX(-50%);
	}


	/* PCはマウスオーバーでも表示 */
	.main-nav .dropdown:hover > .dropdown-menu {
		display: block;
	}


	/* hover時にも▼を反転 */
	.main-nav .dropdown:hover > .nav-link .dropdown-arrow {
		transform: rotate(180deg);
	}

}


/* ==========================================
	SP / TABLET
========================================== */

@media (max-width: 991.98px) {

	.main-nav {
		width: 100%;
	}


	.main-nav > .nav-item {
		width: 100%;

		text-align: left;

		border-bottom: 1px solid #e5e5e5;
	}


	/* メインリンク */
	.main-nav > .nav-item > .nav-link {
		justify-content: flex-start;

		width: 100%;
		min-height: 52px;

		padding: 12px 20px;

		font-size: 15px;
	}


	/* PC用の縦線を消す */
	.main-nav > .nav-item:not(:last-child) > .nav-link::before {
		display: none;
	}


	/* 団体・クラブの▼を右端へ */
	.main-nav .dropdown-arrow {
		margin-left: auto;

		font-size: 14px;
	}


	/* --------------------------------------
		SP サブメニュー
	-------------------------------------- */

	.main-nav .dropdown-menu {
		position: static !important;

		width: 100%;
		min-width: 0;

		margin: 0;
		padding: 5px 15px 10px 45px;

		background: #f5faff;

		border: 0;
		border-radius: 0;

		box-shadow: none;

		transform: none !important;
	}


	.main-nav .dropdown-item {
		padding: 12px 35px 12px 15px;

		font-size: 14px;
	}


	.main-nav .dropdown-menu li + li {
		border-top: 1px solid #dce9f2;
	}

}

/* ==========================================
	SP ハンバーガーメニュー
========================================== */

.mobile-menu-btn {
	position: relative;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 44px;
	height: 44px;

	padding: 0;

	background: transparent;
	border: 0;

	box-shadow: none !important;
}


/* 三本線 */
.mobile-menu-btn .navbar-toggler-icon {
	position: relative;

	display: block;

	width: 26px;
	height: 18px;

	background-image: none !important;

	border-top: 2px solid #0371c4;
	border-bottom: 2px solid #0371c4;
}


/* 真ん中 */
.mobile-menu-btn .navbar-toggler-icon::before {
	content: "";

	position: absolute;
	top: 50%;
	left: 0;

	width: 100%;
	height: 2px;

	background: #0371c4;

	transform: translateY(-50%);
}


/* フォーカス時 */
.mobile-menu-btn:focus {
	outline: none;
	box-shadow: none;
}


/* ==========================================
	MAIN VISUAL
========================================== */

.main-visual img {
	display: block;
	width: 100%;
}


/* ==========================================
	COMMON
========================================== */

.section-space {
	padding: 70px 0;
}

.section-title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0 0 8px;
	color: #0874c9;
	font-size: 28px;
	font-weight: 700;
}

.section-subtitle {
	margin-bottom: 45px;
	text-align: center;
	color: #0874c9;
	font-size: 13px;
}



.top-heading {
	color: #0874c9;
}

.heading-sub {
	color: #0874c9;
}

/* ==========================================
	SEARCH
========================================== */

.search-section {
	background: #fff;
}

.search-section .section-title {
	margin-bottom: 45px;
}

.image-link {
	display: block;
	transition: opacity .25s, transform .25s;
}

.image-link:hover {
	opacity: .88;
	transform: translateY(-3px);
}




/* ==========================================
	NEWS
========================================== */




/* カルーセル全体 */
.news-slider-wrap {
	position: relative;
	margin-top: 40px;
	margin-bottom: 40px;
	padding: 0 50px;
}


/* Swiper */
.news-swiper {
	width: 100%;
	overflow: hidden;
}


/* スライド */
.news-swiper .swiper-slide {
	height: auto;
}


/* カード */
.news-card {
	height: 100%;
	padding: 8px;
	border: 1px solid #bbb;
	border-radius: 8px;
	background: #fff;
}


/* リンク */
.news-card > a {
	display: block;
	height: 100%;
	color: inherit;
	text-decoration: none;
}


/* 画像 */
.news-image {
	width: 100%;
	aspect-ratio: 1 / 1.15;
	overflow: hidden;
	border-radius: 4px;
}

.news-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/* 本文 */
.news-body {
	padding: 12px 5px 4px;
	text-align: center;
}

.news-body time {
	display: block;
	margin-bottom: 5px;
	font-size: 14px;
}

.news-body h3 {
	margin-bottom: 12px;
	font-size: 16px;
	font-weight: 500;
}


/* もっと見る */
.news-more {
	display: block;
	padding: 7px;
	border-radius: 20px;
	background: #0874c9;
	color: #fff;
	font-weight: 700;
}

.news-card a:hover .news-more {
	background: #005ca6;
	color: #fff;
}


/* 左右ボタン */
.news-slider-wrap .swiper-button-prev,
.news-slider-wrap .swiper-button-next {
	color: #0874c9;
}

.news-slider-wrap .swiper-button-prev {
	left: 0;
}

.news-slider-wrap .swiper-button-next {
	right: 0;
}


/* スマホ */
@media (max-width: 575.98px) {

	.news-slider-wrap {
		padding: 0 35px;
	}

}


/* 背景設定 */
.news-section {
	position: relative;
	overflow: hidden;

	background-color: #fff;
	background-image: url("/img/top/news_bg.webp");
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
}

.news-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0.08);
	pointer-events: none;
}

.news-section .container {
	position: relative;
	z-index: 2;
}


/* PC */
@media (min-width: 992px) {

	.news-section {
		background-size: 100% auto;
		background-position: center bottom;
	}

}


/* タブレット */
@media (min-width: 768px) and (max-width: 991.98px) {

	.news-section {
		background-size: cover;
		background-position: center bottom;
	}

}


/* スマホ */
@media (max-width: 767.98px) {

	.news-section {
		background-size: auto 100%;
		background-position: center bottom;
	}

	.news-section::before {
		background: rgba(255, 255, 255, 0.2);
	}

}


/* ==========================================
	新着情報 一覧ボタン
========================================== */

.news-list-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 35px;

	min-width: 300px;
	padding: 15px 24px 15px 32px;

	border: 2px solid #0874c9;
	border-radius: 50px;

	background: #fff;
	color: #0874c9;

	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: none;

	overflow: hidden;

	box-shadow: 0 5px 15px rgba(8, 116, 201, 0.12);

	transition:
		color 0.3s ease,
		box-shadow 0.3s ease,
		transform 0.3s ease;
}


/* 背景が左から広がる */
.news-list-button::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;

	width: 0;
	height: 100%;

	background: #0874c9;

	transition: width 0.35s ease;
}


/* 文字 */
.news-list-button__text {
	position: relative;
	z-index: 2;
}


/* 矢印 */
.news-list-button__arrow {
	position: relative;
	z-index: 2;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 32px;
	height: 32px;

	border-radius: 50%;

	background: #0874c9;
	color: #fff;

	font-size: 18px;
	line-height: 1;

	transition:
		transform 0.3s ease,
		background 0.3s ease,
		color 0.3s ease;
}


/* hover */
.news-list-button:hover {
	color: #fff;

	transform: translateY(-3px);

	box-shadow:
		0 10px 25px rgba(8, 116, 201, 0.25);
}


/* 背景を広げる */
.news-list-button:hover::before {
	width: 100%;
}


/* 矢印 */
.news-list-button:hover .news-list-button__arrow {
	background: #fff;
	color: #0874c9;

	transform: translateX(5px);
}


/* クリック時 */
.news-list-button:active {
	transform: translateY(0);
}


/* スマホ */
@media (max-width: 575.98px) {

	.news-list-button {
		min-width: 280px;
		gap: 25px;
		padding: 13px 20px 13px 28px;
		font-size: 15px;
	}

}


/* ==========================================
	CALENDAR
========================================== */

.calendar-section {
	background:
		linear-gradient(
			145deg,
			#348edc,
			#64a9e9
		);
}

.section-title-white {
	margin-bottom: 40px;
	color: #fff;
}

.calendar-box {
	max-width: 1100px;
	margin: auto;
	background: #fff;
}

.calendar-row {
	display: flex;
	border-bottom: 1px solid #aaa;
}

.calendar-date {
	display: flex;
	align-items: center;
	width: 190px;
	padding: 20px;
	border-right: 1px solid #aaa;
	background: #f0f3ff;
	font-size: 13px;
}

.calendar-events {
	flex: 1;
	padding: 10px 20px;
}

.calendar-events a {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 6px 0;
	font-size: 13px;
}

.calendar-events a:hover {
	text-decoration: underline;
}

.event-label {
	display: inline-block;
	min-width: 70px;
	padding: 3px 8px;
	color: #fff;
	text-align: center;
	font-size: 11px;
}

.experience {
	background: #214bc0;
}

.watch {
	background: #ed642d;
}

.support {
	background: #62ad21;
}


/* ==========================================
	ACTION
========================================== */

.action-section {
	padding: 20px 0;
	background: #fff;
}


/* ==========================================
	FOOTER
========================================== */

.site-footer {
	padding: 60px 0px 0px 0px;
	background: #dceeff;
	color: #0874c9;
}

.footer-logo {
	width: 230px;
	margin-bottom: 35px;
}

.footer-menu {
	margin-bottom: 20px;
}

.footer-menu strong {
	display: block;
	margin-bottom: 8px;
}

.footer-menu a {
	display: inline-block;
	margin: 0 15px;
}

.footer-subnav {
	margin: 35px 0 20px;
	padding: 5px 0;
	border-bottom: 2px solid #49a0d8;
}

.footer-subnav a {
	display: inline-block;
	padding: 0 8px;
	border-right: 1px solid #0874c9;
}

.footer-subnav a:last-child {
	border-right: 0;
}

.footer-address,
.copyright {
	font-size: 12px;
}

.footer-menu-group .mt-3 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px 25px;
}

.footer-menu-group a {
	display: inline-flex;
	align-items: center;
	color: inherit;
	text-decoration: none;
}

.footer-menu-group a::before {
	content: "▶";
	margin-right: 7px;
	font-size: 0.7em;
	transition: transform 0.2s ease;
}

.footer-menu-group a:hover::before {
	transform: translateX(3px);
}

.footer-menu-group {
	text-align: center;
}


/* ==========================================
	SP HEADER
========================================== */

.assist-toggle {
	height: 40px;
	padding: 0 12px;
	border: 1px solid #0874c9;
	border-radius: 5px;
	background: #fff;
	color: #0874c9;
	font-size: 13px;
	font-weight: 700;
}

.mobile-menu-btn {
	width: 44px;
	height: 40px;
	padding: 5px;
	border: 1px solid #0874c9;
	border-radius: 5px;
}


/* SP操作補助 */

.mobile-assist {
	background: #eef8ff;
	border-top: 1px solid #cce7f7;
}

.mobile-assist-inner {
	padding: 12px 15px;
}

.mobile-assist-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 0;
}

.mobile-assist-row + .mobile-assist-row {
	border-top: 1px solid #cbdde8;
}

.mobile-assist-title {
	color: #0874c9;
	font-size: 14px;
	font-weight: 700;
}

.mobile-assist-buttons {
	display: flex;
	gap: 6px;
}


/* ==========================================
	文字サイズ変更
========================================== */

body.font-large {
	font-size: 1.18rem;
}

body.font-large .main-nav .nav-link {
	font-size: 16px;
}

body.font-large .news-body h3,
body.font-large .calendar-events a {
	font-size: 15px;
}


/* ==========================================
	色変更
========================================== */

/* 黄色 */

body.theme-yellow {
	background: #fffbe5;
	color: #222;
}

body.theme-yellow .site-header,
body.theme-yellow .search-section,
body.theme-yellow .action-section {
	background: #fffbe5;
}

body.theme-yellow .news-section {
	background: #fff7bf;
}


/* 青 */

body.theme-blue {
	background: #001b54;
	color: #fff;
}

body.theme-blue .site-header,
body.theme-blue .search-section,
body.theme-blue .action-section {
	background: #001b54;
}

body.theme-blue .main-nav .nav-link,
body.theme-blue .section-title {
	color: #fff;
}

body.theme-blue .news-section {
	background: #00276f;
}

body.theme-blue .news-card {
	background: #001b54;
	color: #fff;
}

body.theme-blue .site-footer {
	background: #00133d;
	color: #fff;
}


/* ==========================================
	RESPONSIVE
========================================== */

@media (max-width: 991.98px) {

	.header-top {
		min-height: 62px;
	}

	.header-logo img {
		width: 155px;
	}

	.main-nav {
		padding: 10px 0;
		border-top: 1px solid #ddd;
	}

	.main-nav .nav-item {
		text-align: left;
	}

	.main-nav .nav-link {
		justify-content: flex-start;
		min-height: auto;
		padding: 14px 15px;
		border-bottom: 1px solid #e5e5e5;
	}

	.main-nav .nav-item:not(:last-child) .nav-link::after {
		display: none;
	}

	.section-space {
		padding: 50px 0;
	}

}


@media (max-width: 767.98px) {

	.header-logo img {
		width: 130px;
	}

	.section-space {
		padding: 40px 0;
	}

	.section-title {
		font-size: 22px;
	}

	.search-section .section-title {
		margin-bottom: 25px;
	}

	.news-card {
		padding: 5px;
	}

	.news-body {
		padding: 8px 2px 2px;
	}

	.news-body time {
		font-size: 11px;
	}

	.news-body h3 {
		font-size: 12px;
	}

	.calendar-row {
		display: block;
	}

	.calendar-date {
		width: 100%;
		padding: 10px 15px;
		border-right: 0;
		border-bottom: 1px solid #ccc;
	}

	.calendar-events {
		padding: 8px 15px;
	}

	.calendar-events a {
		align-items: flex-start;
		font-size: 12px;
	}

	.footer-menu a {
		margin: 5px 7px;
	}

}




/* メディアクエリ
==================================================== */
// X-Small devices (portrait phones, less than 576px)
// No media query for `xs` since this is the default in Bootstrap

// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) {}

// Medium devices (tablets, 768px and up)
@media (min-width: 768px) {}

// Large devices (desktops, 992px and up)
@media (min-width: 992px) {}

// X-Large devices (large desktops, 1200px and up)
@media (min-width: 1200px) {}

// XX-Large devices (larger desktops, 1400px and up)
@media (min-width: 1400px) {}


// X-Small devices (portrait phones, less than 576px)
@media (max-width: 575.98px) {}

// Small devices (landscape phones, less than 768px)
@media (max-width: 767.98px) {}

// Medium devices (tablets, less than 992px)
@media (max-width: 991.98px) {}

// Large devices (desktops, less than 1200px)
@media (max-width: 1199.98px) {}

// X-Large devices (large desktops, less than 1400px)
@media (max-width: 1399.98px) {}
