/*!
Theme Name: hyogobuntai
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: 兵庫県立文化体育館
Version: 1.0.0
Tested up to: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: hyogobuntai
*/


/* Reset */
ul,ol { list-style: none; }
img { border: 0; text-align: center; }
img { max-width: 100%; height: auto; }

/* Common */
* { margin: 0; border: 0; padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; box-sizing: border-box; line-height: 150%; }
html { height: 100%; margin: 0; padding: 0; font-size: 10px; }
html.is-font-large { font-size: 12px; }
body {
	margin: 0 auto;
	padding: 0;
	text-align: left;
	line-height: 170%;
	font-family: "Zen Maru Gothic","メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.0rem;
	color: #333333;
	letter-spacing: 1px;
	background:url('assets/img/bg01.jpg') top center no-repeat; background-size:cover;
}
a:active { color: inherit; }
a { color: #111111; text-decoration: underline; word-wrap: break-word; }
a:hover { color: #111111; text-decoration: none; }
.font_red { color: #FF0000 !important; }
.req { color: #FF0000 !important; }
.mt30 { margin-top: 30px !important; }
.disnon { display: none !important; }
.spnon { display: inherit !important; }
.disnon2 { display: none !important; }
.spnon2 { display: inherit !important; }
	@media (max-width: 768px) {
	.disnon { display: inherit !important; }
	.spnon { display: none !important; }
	}
	@media (max-width: 480px) {
	.disnon2 { display: inherit !important; }
	.spnon2 { display: none !important; }
	}
.BlockSpBr { display: none; }
@media (max-width: 768px) {
.BlockSpBr { display: block; }
}

/********** Header **********/
.SiteHeader { display: block; width: 100%;  position: relative; z-index: 1000; padding: 14px 20px; }
.SiteHeaderInner { display: flex; justify-content:flex-end; align-items: center; max-width: 1400px; margin: 0 auto; padding: 12px 20px; background: #FFFFFF; border-radius: 30px; }
.SiteHeaderLogo { display: block; width: 340px; margin-right:auto; }
.SiteHeaderLogo a { display: block; text-decoration: none; }
.SiteHeaderLogo img { display: block; width: 100%; height: auto; }
.GlobalNav { display: flex; align-items: center;  }
.GlobalNavList { display: flex; align-items: center; gap: 0; }
.GlobalNavItem a { display: block; font-size: 1.6rem; font-weight: 500; color: #333333; text-decoration: none; padding: 0.8rem 1.2rem; cursor: pointer; }
html.is-font-large .GlobalNavItem a { font-size: 18px; }
.GlobalNavItem a:hover { color: #0fa8ec; }
.GlobalNavItem.has-child { position: relative; }
.GlobalNavItem.has-child > a::after { content: ""; display: inline-block; width: 0; height: 0; margin: 0 auto; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid #0fa8ec; position:absolute; left:0; right:0; bottom:0; }
.GlobalNavChild { display: none; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); min-width: 200px; background: #FFFFFF;  border-radius: 8px; padding: 8px 0; z-index: 2000; }
.GlobalNavItem.has-child:hover .GlobalNavChild { display: block; }
.GlobalNavChild li a { display: block; font-size: 1.5rem; font-weight: 400; color: #333333; text-decoration: none; padding: 8px 20px; white-space: nowrap; }
.GlobalNavChild li a:hover { background: #eaf4fc; color: #333333; }
.HeaderRight { display: flex; align-items: center; gap: 0 10px; border-left: 1px solid #EEEEEE; padding: 0 0 0 20px; margin: 0 0 0 10px; }
.FontSizeSwitch { display: flex; align-items: center; gap: 0 6px; }
.FontSizeSwitchLabel { font-size: 1.3rem; color: #333333; white-space: nowrap; }
.FontSizeSwitchBtn { display: flex; align-items: center; justify-content: center; width: 54px; height: 30px; border-radius: 20px; font-size: 1.5rem; font-weight: 500; text-decoration: none; color: #333333; background: none; cursor: pointer; line-height:100%; }
.FontSizeSwitchBtn.is-active { background: #0fa8ec; color: #FFFFFF; }
.FontSizeSwitchBtn:hover { background: #0fa8ec; color: #FFFFFF;  }
.HamburgerBtn { display: none; width: 40px; height: 30px; position: relative; cursor: pointer; background: none; outline: none; }
.HamburgerBtn span { display: block; width: 100%; height: 3px; background: #0fa8ec; border-radius: 2px; position: absolute; left: 0; transition: all 0.3s ease; }
.HamburgerBtn span:nth-child(1) { top: 0; }
.HamburgerBtn span:nth-child(2) { top: 13px; }
.HamburgerBtn span:nth-child(3) { top: 26px; }
.HamburgerBtn.is-active span:nth-child(1) { top: 13px; transform: rotate(45deg); }
.HamburgerBtn.is-active span:nth-child(2) { opacity: 0; }
.HamburgerBtn.is-active span:nth-child(3) { top: 13px; transform: rotate(-45deg); }
.SpNavOverlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 998; }
.SpNavOverlay.is-active { display: block; }
.SpNav { display: none; position: fixed; top: 0; right: -300px; width: 300px; height: 100%; background: #FFFFFF; z-index: 999; overflow-y: auto; transition: right 0.3s ease; }
.SpNav.is-active { right: 0; }
.SpNavInner { padding: 80px 20px 40px 20px; }
.SpNavList li { border-bottom: 1px solid #EEEEEE; }
.SpNavList li a { display: block; font-size: 1.4rem; font-weight: 500; color: #333333; text-decoration: none; padding: 15px 0; }
.SpNavChild { padding: 0 0 0 20px; }
.SpNavChild li { border-bottom: 1px solid #F5F5F5; }
.SpNavChild li a { font-size: 1.3rem; font-weight: 400; padding: 12px 0; }
.SpNavFontSize { display:flex; justify-content:center; flex-wrap:wrap;margin: 30px 0 0 0; padding: 0;  }
.SpNavFontSize .FontSizeSwitchLabel { width:100%; font-size: 1.3rem; color: #333333; white-space: nowrap; text-align:center; margin-bottom:10px; }
	@media (max-width: 1200px) {
	.SiteHeaderInner { padding: 10px 20px; }
	.SiteHeaderLogo { width: 340px; }
	.GlobalNavItem a { font-size: 1.3rem; padding: 0.8rem 1.4rem; }
	}
	@media (max-width: 768px) {
	.SiteHeader { padding: 10px 12px; }
	.SiteHeaderInner { padding: 10px 16px; border-radius: 8px; }
	.GlobalNav { display: none; }
	.HeaderRight { display: none; }
	.HamburgerBtn { display: block; }
	.SpNav { display: block; }
	.SiteHeaderLogo { width: 260px; }
	}


/********** Main Visual **********/
.Section_Mv { display: block;  padding: 20px 0 50px 0; overflow: hidden; }
.BlockMv { width: 100%; position: relative; }
.BlockMvSlider { overflow: visible !important; margin: 0 auto; }
.BlockMvSlider .swiper-wrapper { align-items: center; }
.BlockMvSlider .swiper-slide { width: 62%; opacity: 0.6; transition: opacity 0.3s ease; }
.BlockMvSlider .swiper-slide-active { opacity: 1; }
.BlockMvSlider .swiper-slide img { display: block; width: 100%; height: 570px; object-fit: cover; border: 10px solid #FFFFFF; }
.BlockMvPrev, .BlockMvNext { width: 36px; height: 22px; z-index: 100; }
.BlockMvPrev::after, .BlockMvNext::after { display: none; }
.BlockMvPrev { background: url('assets/img/prev.png') center center no-repeat; background-size: 36px 22px;left: calc(50% - 31% - 54px);  }
.BlockMvNext { background: url('assets/img/next.png') center center no-repeat; background-size: 36px 22px;right: calc(50% - 31% - 54px); }
.BlockMvPagination { bottom: -30px !important; }
.BlockMvPagination .swiper-pagination-bullet { width: 10px; height: 10px; background: #c1d8e0; opacity: 1; margin: 0 12px !important; }
.BlockMvPagination .swiper-pagination-bullet-active { background: #0fa8ec; }
	@media (max-width: 1200px) {
	.BlockMvSlider { max-width: 70%; }
	.BlockMvPrev { left: 10px; }
	.BlockMvNext { right: 10px; }
	}
	@media (max-width: 768px) {
	.Section_Mv { padding: 0 0 30px 0; }
	.BlockMvSlider { max-width: 100%; }
	.BlockMvSlider .swiper-slide { width: 100%; opacity: 1; }
	.BlockMvSlider .swiper-slide img { border-radius: 0; border: none; height: 56vw; }
	.BlockMvPrev, .BlockMvNext { width: 28px; height: 17px; }
	.BlockMvPrev { left: 12px; background-size: 28px 17px; }
	.BlockMvNext { right: 12px; background-size: 28px 17px; }
	.BlockMvPagination { bottom: -20px !important; position: relative; }
	}


/********** What's New **********/
.Section_News { display: block;  padding: 60px 0 80px 0; }
.BlockNews { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.BlockNewsInner { display: flex; gap: 0 60px; }
.BlockNewsInnerL { flex-shrink: 0; width: 200px; }
.BlockNewsTitle { margin: 0 0 60px 0; color:#0fa8ec; font-size:1.8rem; }
.BlockNewsTitleEn { display: block; font-size: 5.6rem; font-weight: 400; line-height: 120%; color: #333333; margin-bottom:20px;font-family: "Outfit", sans-serif; font-weight:500; }
.BlockNewsMore { display: inline-flex; align-items: center; gap: 0 20px; text-decoration: none;  padding: 0; }
.BlockNewsMoreText { font-size: 1.6rem; font-weight: 500; color: #333333;border-bottom: 1px solid #333333;padding: 0 0 10px 0; }
.BlockNewsMoreBtn { display: flex; align-items: center; justify-content: center; width: 60px; height: 45px; }

.BlockNewsInnerR { flex-grow: 1; min-width: 0; }
.BlockNewsList { display: block; }
.BlockNewsItem { display: flex; align-items: flex-start; padding: 20px 0; border-bottom: 1px solid #FFFFFF; }
.BlockNewsItem:first-child { padding-top: 0; }
.BlockNewsItem dt { display: flex; align-items: center; gap: 0 20px; flex-shrink: 0; width: 240px; }
.BlockNewsItem dt time { font-size: 1.6rem; font-weight: 500; color: #333333;font-family: "Outfit", sans-serif; font-weight:400; }
.BlockNewsCat { display: flex; justify-content:center; align-items:center; align-content:center; font-size: 1.2rem; font-weight: 500; color: #0fa8ec; background: transparent; border: 1px solid #0fa8ec; border-radius: 10px; padding: 0; white-space: nowrap; min-width: 110px; text-align: center; line-height:100%; height:26px;}
.BlockNewsCat--genre00 { color: #FFFFFF; background: #f26636; border-color:#f26636; }
.BlockNewsItem dd { flex-grow: 1; min-width: 0; }
.BlockNewsItem dd a { font-size: 1.6rem; color: #333333; text-decoration: none; }
.BlockNewsItem dd a:hover { text-decoration: underline; }
	@media (max-width: 768px) {
	.Section_News { padding: 40px 0 60px 0; }
	.BlockNewsInner { flex-direction: column; gap: 20px 0; }
	.BlockNewsInnerL { width: 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; }
	.BlockNewsTitle { margin: 0; }
	.BlockNewsTitleEn { font-size: 3.6rem; }
	.BlockNewsItem { flex-direction: column; gap: 6px 0; }
	.BlockNewsItem dt { width: 100%; }
	}
	@media (max-width: 768px) {
	.BlockNewsInnerL { width: 100%; display: block; }
	.BlockNewsTitle { display: flex; align-items: flex-end; gap: 0 8px; margin: 0 0 20px 0; }
	.BlockNewsTitleEn { display: inline; font-size: 3.0rem; margin-bottom: 0; }
	.BlockNewsTitleEn br { display: none; }
	.BlockNewsMore { display: none; }
	.BlockNewsInnerR { margin-bottom: 30px; }
	}
	.BlockNewsMoreSp { display: none; }
	@media (max-width: 768px) {
	.BlockNewsMoreSp { display: block; margin: 20px 0 0 0; text-align:right; }
	.BlockNewsMoreLink { display: inline-flex; align-items: center; gap: 0 20px; text-decoration: none; padding: 0; }
	}
/********** Facilities **********/
.Section_Facilities { display: block; background: linear-gradient(45deg, #A1C8F7 0%, #0FA8EC 100%); padding: 80px 0 80px 0; }
.BlockFacilities { max-width: 1200px; margin: 0 auto; padding: 0; }
.BlockFacilitiesHead { display: flex; flex-wrap: wrap; align-items: center; align-content:center; gap: 0 60px; margin: 0 0 60px 0; }
.BlockFacilitiesTitle { margin: 0; color: #FFFFFF; font-size:1.8rem; }
.BlockFacilitiesTitleEn { display: block; font-size: 5.6rem; font-weight: 600; line-height: 120%; color: #FFFFFF;font-family: "Outfit", sans-serif; font-weight:500; }
.BlockFacilitiesDesc { font-size: 1.8rem; line-height: 200%; color: #FFFFFF;  }
.BlockFacilitiesBox { background: #eaf4fc; padding: 50px; margin: 0 0 60px 0; }
.BlockFacilitiesBox:last-child { margin: 0; }
.BlockFacilitiesBoxInner { display: block; }
.BlockFacilitiesTop { display: flex;  gap: 0 40px; margin: 0 0 30px 0; }
.BlockFacilitiesCatLabel { display: flex; flex-direction: column; align-items: center; justify-content: center; flex-shrink: 0; width: 220px; min-height: 160px;background: linear-gradient(45deg, #A1C8F7 0%, #0FA8EC 100%); border-radius: 20px; padding: 0; color: #FFFFFF; }
.BlockFacilitiesCatLabelSub { font-size: 1.8rem; font-weight: 500; padding: 0; margin: 0 0 40px 0; }
.BlockFacilitiesCatIcon { display: block; margin: 0 0 40px 0; }
.BlockFacilitiesCatName { font-size: 2.8rem; font-weight: 700; line-height: 140%; text-align: center; }
.BlockFacilitiesIcons { flex-grow: 1; }
.BlockFacilitiesIconList { display: flex; flex-wrap: wrap; gap: 0; border-bottom: 1px solid #EAECED; }
.BlockFacilitiesIconList li { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 25%; height:164px; text-align: center; padding: 16px 10px; border-top: 1px solid #EAECED; border-right: 1px solid #EAECED; background: #FFFFFF; }
.BlockFacilitiesIconList li:nth-child(4n) { border-right: none; }
.BlockFacilitiesIconList li.BlockFacilitiesIconWide { width: 50%; flex-direction: row; align-items: center; justify-content: center; gap: 0 10px; text-align: left; }
.BlockFacilitiesIconList li.BlockFacilitiesIconWide .BlockFacilitiesIconImg { margin: 0; flex-shrink: 0; }
.BlockFacilitiesIconImg { display: flex; align-items: center; justify-content: center;  margin: 0 0 16px 0; }
.BlockFacilitiesIconName { display:inline-block; font-size: 1.5rem; font-weight: 500; color: #333333; line-height: 150%; }
li.BlockFacilitiesIconWide .BlockFacilitiesIconName { display:flex; flex-direction:column; font-size: 1.5rem; font-weight: 500; color: #333333; line-height: 150%; margin-left:20px; }
.BlockFacilitiesIconNote { display:inline-block; font-size: 1.0rem; color: #999999; line-height: 150%; }
.BlockFacilitiesPhotos { display: block; }
.BlockFacilitiesPhotoRow { display: flex; gap: 16px; margin: 0 0 16px 0; }
.BlockFacilitiesPhotoRow:last-child { margin: 0; }
.BlockFacilitiesPhotoRow--large .BlockFacilitiesPhotoItem { width: calc(50% - 8px); }
.BlockFacilitiesPhotoRow--small .BlockFacilitiesPhotoItem { width: calc(25% - 12px); }
.BlockFacilitiesPhotoItem { display: block; text-decoration: none; position: relative; }
.BlockFacilitiesPhotoImgWrap { overflow: hidden; aspect-ratio: 4 / 3; }
.BlockFacilitiesPhotoItem img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.BlockFacilitiesPhotoItem:hover img { transform: scale(1.05); }
.BlockFacilitiesPhotoName { display: block; font-size: 1.8rem; font-weight: 700; color: #333333; margin: 8px 0 0 0; }
.BlockFacilitiesPhotoNote { display: block; font-size: 1.4rem; color: #333333; line-height: 150%; }
	@media (max-width: 1200px) {
	.BlockFacilitiesBox { padding: 30px; }
	}
	@media (max-width: 768px) {
	.Section_Facilities { padding: 40px 0 60px 0; }
	.BlockFacilities { padding: 0 20px; }
	.BlockFacilitiesHead { margin: 0 0 30px 0; }
	.BlockFacilitiesTitleEn { font-size: 3.6rem; }
	.BlockFacilitiesDesc { font-size: 1.3rem; }
	.BlockFacilitiesBox { padding: 20px; margin: 0 0 30px 0; }
	.BlockFacilitiesTop { flex-direction: column; gap: 16px 0; }
	.BlockFacilitiesCatLabel { width: 100%; min-height: auto;  padding: 14px 20px; border-radius: 12px; }
	.BlockFacilitiesCatLabelSub { margin: 0 0 10px 0; }
	.BlockFacilitiesCatIcon { margin: 0 0 10px 0; }
	.BlockFacilitiesCatName { font-size: 2.0rem; }
	.BlockFacilitiesIconList li { width: calc(100% / 3); }
	.BlockFacilitiesIconList li:nth-child(4n) { border-right: 1px solid #EAECED; }
	.BlockFacilitiesIconList li:nth-child(3n) { border-right: none; }
	.BlockFacilitiesIconList li.BlockFacilitiesIconWide { width: 100%; }
	.BlockFacilitiesPhotoRow--large .BlockFacilitiesPhotoItem { width: calc(50% - 8px); }
	.BlockFacilitiesPhotoRow--small { flex-wrap: wrap; }
	.BlockFacilitiesPhotoRow--small .BlockFacilitiesPhotoItem { width: calc(50% - 8px); }
	.BlockFacilitiesPhotoName { font-size: 1.4rem; }
	.BlockFacilitiesPhotoNote { font-size: 1.2rem; }
	}
	@media (max-width: 375px) {
	.BlockFacilitiesIconList li { width: calc(100% / 2); }
	.BlockFacilitiesIconList li:nth-child(3n) { border-right: 1px solid #EAECED; }
	.BlockFacilitiesIconList li:nth-child(2n) { border-right: none; }
	}


/********** Instagram **********/
.Section_Instagram { display: block; background: #FFFFFF; padding: 80px 0; }
.BlockInstagram { max-width: 1200px; margin: 0 auto; padding: 0; }
.BlockInstagramTitle { display:block; max-width: 1200px; margin: 0 auto; padding: 0; text-align:center; }
.BlockInstagramTitle h2{ display:block; font-size:5.0rem; font-weight:700; color:#333333; margin-bottom:10px; font-family: "Outfit", sans-serif; font-weight:500; }
.BlockInstagramTitle p{ display:block; font-size:2.0rem; font-weight:700; color:#333333;font-family: "Outfit", sans-serif; font-weight:500; }
.BlockInstagramFeed {  display:block; max-width: 1200px; margin: 0 auto; margin-bottom:40px; padding: 0; text-align:center; }
.BlockInstagramLink {  display:block; max-width: 1200px; margin: 0 auto; padding: 0; text-align:center; }
.BlockInstagramMore { display: inline-flex; align-items: center; gap: 0 20px; text-decoration: none;  padding: 0; }
.BlockInstagramMoreText { font-size: 1.6rem; font-weight: 500; color: #333333;border-bottom: 1px solid #333333;padding: 10px 0 10px 0; }
.BlockInstagramMoreBtn { display: flex; align-items: center; justify-content: center; width: 60px; height: 45px; }
.BlockInstagramMore:hover .BlockNewsMoreBtn { background: #2CA0D0; }
	@media (max-width: 768px) {
	.Section_Instagram { padding: 40px 0; }
	.BlockInstagram { padding: 0 20px; }
	.BlockInstagramTitle h2 { font-size: 3.2rem; }
	.BlockInstagramTitle p { font-size: 1.6rem; }
	.BlockInstagramFeed { margin-bottom: 20px; }
	}
	@media (max-width: 375px) {
	}


/********** Banner **********/
.Section_Banner { display: block; background: linear-gradient(45deg, #A1C8F7 0%, #0FA8EC 100%); padding: 30px 0; }
.BlockBanner { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.BlockBannerList { display: flex; justify-content: center; align-items: stretch; gap: 0 20px; }
.BlockBannerList li { flex: 1; max-width:220px; }
.BlockBannerList li a { display: flex; align-items: center; justify-content: center; background: #FFFFFF; padding: 0; height: 100%; }
.BlockBannerList li a:hover { opacity: 0.8; }
.BlockBannerList li img { display: block; width: auto; max-width: 100%; }
	@media (max-width: 768px) {
	.BlockBannerList { flex-wrap: wrap; gap: 10px; }
	.BlockBannerList li { flex: 0 0 calc(50% - 5px); }
	}
	@media (max-width: 375px) {
	.BlockBannerList li { flex: 0 0 100%; }
	}


/********** Footer **********/
.SiteFooter { display: block; background: #FFFFFF; color: #333333; padding: 60px 0 40px 0; position: relative;  }
.SiteFooterLogo { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; font-size: 2.6rem; font-weight: 700; color: #333333; margin: 0 auto; margin-bottom: 30px; padding:0 0 20px 0; max-width: 1200px;   border-bottom: 1px solid #EEEEEE }
.SiteFooterLogo h2{ display:block; margin: 0;  padding:0; }
.SiteFooterInner { display: flex; justify-content: space-between; max-width: 1200px; margin: 0 auto; padding: 0; gap: 40px; }
.SiteFooterL { flex: 0 0 320px; }
.SiteFooterAddress { margin: 0 0 16px 0; }
.SiteFooterAddress p { font-size: 1.4rem; color: #333333; line-height: 180%; }
.SiteFooterTel { display: flex; align-items: center; gap: 0 8px; margin: 0 0 6px 0; }
.SiteFooterTel img { width: 24px; height: auto; }
.SiteFooterTel a { font-size: 3.0rem; font-weight: 700; color: #333333; text-decoration: none;font-family: "Outfit", sans-serif; font-weight:500; }
.SiteFooterFax { font-size: 1.6rem; color: #333333; margin: 0 0 30px 0;font-family: "Outfit", sans-serif; font-weight:500; }
.SiteFooterManager { display: flex; align-items: center; gap: 0 10px; margin: 0 0 12px 0; }
.SiteFooterManagerLabel { display: inline-block; min-width:100px;  }
.SiteFooterManagerLabel span{ display: inline-block; font-size: 1.3rem; font-weight: 500; color: #FFFFFF; background: #333333; border-radius: 3px; padding: 2px 10px; }
.SiteFooterManagerName { font-size: 1.3rem; color: #333333; }
.SiteFooterCopy { font-size: 1.0rem; color: #333333;font-family: "Outfit", sans-serif; font-weight:500; }
.SiteFooterC { flex: 0 0 410px; margin-left: auto; }
.SiteFooterInfoBox { display: flex; flex-direction: column; gap: 0; }
.SiteFooterInfoRow { display: flex;  gap: 0 20px; padding: 20px 24px; background: #eaf4fc; }
.SiteFooterInfoRow:first-child { border-bottom: 5px solid #FFFFFF; }
.SiteFooterInfoRow:last-child {  }
.SiteFooterInfoIcon { display: flex; flex-direction: column; align-items: center; justify-content:center; gap: 6px 0; flex-shrink: 0; width: 80px; border-right:1px solid #FFFFFF; padding:0 20px 0 0; }
.SiteFooterInfoIcon img { width: 30px; height: auto; }
.SiteFooterInfoIcon span { font-size: 1.2rem; font-weight: 500; color: #333333; }
.SiteFooterInfoDetail { flex-grow: 1; }
.SiteFooterInfoDetail p { font-size: 1.4rem; color: #333333; line-height: 180%; }
.SiteFooterInfoNote { font-size: 1.2rem; color: #999999; }
.SiteFooterR { flex: 0 0 280px; border-left:1px solid #EEEEEE; padding:30px 0 0 50px; }
.SiteFooterNav { display: flex; flex-wrap: wrap; gap: 16px 40px; }
.SiteFooterNav li { flex: 0 0 calc(50% - 20px); }
.SiteFooterNav li a { font-size: 1.6rem; font-weight: 500; color: #333333; text-decoration: none; }
.SiteFooterNav li a:hover { color: #0fa8ec; }
.PageTop { flex-direction: column; align-items: center; justify-content: center; gap: 4px 0; width: 50px; position: fixed; bottom: 30px; right: 30px; z-index: 900; font-size: 1.0rem; font-weight: 500; color: #333333; text-decoration: none; line-height: 130%; text-align: center; font-family: "Outfit", sans-serif; font-weight:500; cursor: pointer; display: flex; opacity: 0; visibility: hidden; transition: opacity 0.4s ease, visibility 0.4s ease; }
.PageTop.is-visible { opacity: 1; visibility: visible; }
.PageTopArrow { display: block; width: 12px; height: 21px; background:url('assets/img/returntop.png') top center no-repeat; background-size:cover; }
.PageTop:hover { color: #0fa8ec; }
.PageTop:hover .PageTopArrow { border-color: #0fa8ec; }

	@media (max-width: 1200px) {
	.SiteFooterL { flex: 0 0 280px; }
	.SiteFooterR { flex: 0 0 200px; }
	}
	@media (max-width: 768px) {
	.SiteFooter { padding: 40px 0 30px 0; }
	.SiteFooterLogo { padding:0 10px;  }
	.SiteFooterLogo img { max-width: 240px; margin: 0 auto; }
	.SiteFooterInner {  display: flex; flex-direction: column; gap: 30px; padding: 0 20px; }
	.SiteFooterL { order: 2; }
	.SiteFooterC { order: 1; flex:0; margin-left:0; }
	.SiteFooterR { display:none; }
	.PageTop { bottom: 20px; right: 20px; }
	}



/********** Sub Page Header Override **********/
.SubMain ~ .SiteFooter { display: block; }
body.page .SiteHeader, body.single .SiteHeader, body.archive .SiteHeader, body.search .SiteHeader { position: absolute; top: 0; left: 0; width: 100%; z-index: 1000; }


/********** Sub Page Common **********/
.SubMain { display: block; }

.Section_PageTitle { display: block; position: relative; overflow: hidden; height: 360px; }
.BlockPageTitle { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; position: relative; }
.BlockPageTitleBg { display: block; width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; }
.BlockPageTitleText { position: relative; z-index: 1; font-size: 3.6rem; font-weight: 700; color: #0fa8ec; text-shadow: 0 2px 8px rgba(255, 255, 255, 1); text-align: center; line-height: 150%; margin-top:20px }

.BlockBreadcrumb { position: absolute; bottom: 20px; right: 0; z-index: 1; width: 100%; max-width: 1400px; left: 50%; transform: translateX(-50%); padding: 0; }
.BlockBreadcrumbInner { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 0 8px; font-size: 1.4rem; color:#333333; }
.BlockBreadcrumbInner a { color: #0fa8ec; text-decoration: none; }
.BlockBreadcrumbInner a:hover { text-decoration: underline; }
.BlockBreadcrumbSep { color: #333333; }

.Section_Content { display: block; padding: 60px 0 80px 0; background: #FFFFFF; }
.BlockContent { max-width: 1200px; margin: 0 auto; padding: 0 20px; }


/********** Content Body Common **********/
.BlockContentBody, .BlockArticleBody, .BlockTabContent { font-size: 1.6rem; color: #333333; line-height: 200%; }
.BlockContentBody p, .BlockArticleBody p, .BlockTabContent p { margin: 0 0 20px 0; }
.BlockContentBody h2, .BlockArticleBody h2, .BlockTabContent h2 { font-size: 2.4rem; font-weight: 700; margin: 0 0 20px 0; padding: 0 0 10px 0; border-bottom: 2px solid #0fa8ec; }
.BlockContentBody h3, .BlockArticleBody h3, .BlockTabContent h3 { font-size: 2.0rem; font-weight: 700; margin: 0 0 16px 0; color:#0fa8ec; }
.BlockContentBody h4, .BlockArticleBody h4, .BlockTabContent h4 { font-size: 1.8rem; font-weight: 700; margin: 0 0 12px 0; }
.BlockContentBody img, .BlockArticleBody img, .BlockTabContent img { height: auto; margin: 0 0 20px 0; }
.BlockContentBody ul, .BlockContentBody ol, .BlockArticleBody ul, .BlockArticleBody ol, .BlockTabContent ul, .BlockTabContent ol { margin: 0 0 20px 0; padding: 0 0 0 2em; }
.BlockContentBody ul, .BlockArticleBody ul, .BlockTabContent ul { list-style: disc; }
.BlockContentBody ol, .BlockArticleBody ol, .BlockTabContent ol { list-style: decimal; }
.BlockContentBody li, .BlockArticleBody li, .BlockTabContent li { margin: 0 0 8px 0; font-size: 1.6rem; line-height: 180%; }
.BlockContentBody table, .BlockArticleBody table, .BlockTabContent table { width: 100%; border-collapse: collapse; margin: 0 0 20px 0; }
.BlockContentBody th, .BlockContentBody td, .BlockArticleBody th, .BlockArticleBody td, .BlockTabContent th, .BlockTabContent td { font-size: 1.6rem; padding: 12px 16px; border: 1px solid #DDDDDD; text-align: left; }
.BlockContentBody th, .BlockArticleBody th, .BlockTabContent th { background: #eaf4fc; font-weight: 500; text-align:center; }
.BlockContentBody a, .BlockArticleBody a, .BlockTabContent a { color: #0fa8ec; text-decoration: underline; }
.BlockContentBody a:hover, .BlockArticleBody a:hover, .BlockTabContent a:hover { color: #0888C0; text-decoration: none; }
.BlockContentBody a[href$=".pdf"], .BlockArticleBody a[href$=".pdf"], .BlockTabContent a[href$=".pdf"] { padding-right: 24px; background: url('assets/img/pdficon_small.png') right center no-repeat; background-size: 18px auto; }
.BlockContentBody a.external, .BlockArticleBody a.external, .BlockTabContent a.external { padding-right: 18px; background: url('assets/img/icon_external.png') right center no-repeat; background-size: 16px auto; }

.BlockContentBody blockquote, .BlockArticleBody blockquote, .BlockTabContent blockquote { margin: 0 0 20px 0; padding: 16px 20px; border-left: 4px solid #0fa8ec; background: #F8F8F8; font-size: 1.6rem; line-height: 180%; }
.BlockTableWrap { overflow-x: auto; margin: 0 0 20px 0; -webkit-overflow-scrolling: touch; }
.BlockContentBody table td, .BlockArticleBody table td, .BlockTabContent table td { vertical-align: middle; }
 


/********** Link List **********/
.BlockLinkList { display: block; margin: 0 0 30px 0; padding: 0; list-style: none; }
.BlockLinkList li { display: block; margin: 0; padding: 0; border-bottom: 1px solid #EEEEEE; }
.BlockLinkList li:first-child { border-top: 1px solid #EEEEEE; }
.BlockLinkList li a { display: flex; align-items: center; gap: 0 10px; font-size: 1.6rem; color: #333333; text-decoration: none; padding: 16px 10px; transition: background 0.3s ease; }
.BlockLinkList li a:hover { background: #F8F8F8; color: #0fa8ec; }
.BlockLinkList li a::before { content: ""; display: block; width: 6px; height: 6px; border-top: 2px solid #0fa8ec; border-right: 2px solid #0fa8ec; transform: rotate(45deg); flex-shrink: 0; }
.BlockLinkList li a[href$=".pdf"]::before { content: ""; display: block; width: 18px; height: 20px; border: none; transform: none; background: url('assets/img/pdficon_small.png') center center no-repeat; background-size: contain; flex-shrink: 0; }
.BlockLinkList li a[href$=".pdf"]::after { content: "PDF"; display: inline-block; font-size: 1.0rem; font-weight: 700; color: #CC0000; border: 1px solid #CC0000; border-radius: 3px; padding: 1px 6px; margin-left: auto; flex-shrink: 0; line-height: 150%; }
.BlockLinkList li a[target="_blank"]::after { content: ""; display: inline-block; width: 14px; height: 14px; background: url('assets/img/icon_external.png') center center no-repeat; background-size: contain; margin-left: 6px; flex-shrink: 0; }
.BlockLinkList li a[href$=".pdf"][target="_blank"]::after { content: "PDF"; width: auto; height: auto; background: none; font-size: 1.0rem; font-weight: 700; color: #CC0000; border: 1px solid #CC0000; border-radius: 3px; padding: 1px 6px; margin-left: auto; }
 
 
/********** WordPress Gallery **********/
.gallery { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 20px 0; }
.gallery-item { margin: 0; padding: 0; text-align: center; overflow: hidden; }
.gallery-columns-2 .gallery-item { width: calc(50% - 5px); }
.gallery-columns-3 .gallery-item { width: calc(33.333% - 7px); }
.gallery-columns-4 .gallery-item { width: calc(25% - 8px); }
.gallery-columns-5 .gallery-item { width: calc(20% - 8px); }
.gallery-item img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 0.3s ease; }
.gallery-item a:hover img { transform: scale(1.05); }
.gallery-caption { display: block; font-size: 1.2rem; color: #666666; padding: 6px 0 0 0; line-height: 150%; }
.gallery-icon { display: block; }
.gallery br { display: none; }
 
.wp-block-gallery { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 20px 0; padding: 0; list-style: none; }
.wp-block-gallery .wp-block-image { margin: 0; overflow: hidden; }
.wp-block-gallery.columns-2 .wp-block-image { width: calc(50% - 5px); }
.wp-block-gallery.columns-3 .wp-block-image { width: calc(33.333% - 7px); }
.wp-block-gallery.columns-4 .wp-block-image { width: calc(25% - 8px); }
.wp-block-gallery .wp-block-image img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.wp-block-gallery .wp-block-image figcaption { display: block; font-size: 1.2rem; color: #666666; padding: 6px 0 0 0; text-align: center; line-height: 150%; }
 
 
/********** Article Detail **********/
.BlockArticle { display: block; margin: 0 0 40px 0; }
.BlockArticleHead { display: flex; align-items: center; gap: 0 20px; margin: 0 0 16px 0; }
.BlockArticleDate { font-size: 1.6rem; font-weight: 400; color: #333333; font-family: "Outfit", sans-serif; }
.BlockArticleTitle { font-size: 2.4rem; font-weight: 700; color: #333333; line-height: 170%; margin: 0 0 30px 0; padding: 0 0 20px 0; border-bottom: 1px solid #EEEEEE; }
 
.BlockContentBack { display: block; text-align: center; padding: 40px 0 0 0; }
.BlockContentBackLink { display: inline-block; font-size: 1.6rem; font-weight: 500; color: #333333; text-decoration: none; border: 1px solid #333333; padding: 6px 60px; transition: all 0.3s ease; border-radius:5px; }
.BlockContentBackLink:hover { background: #0fa8ec; color: #FFFFFF; border-color: #0fa8ec; }
 
 
/********** Topics List **********/
.BlockTopicsList { display: block; }
.BlockTopicsItem { display: flex; align-items: flex-start; padding: 20px 0; border-bottom: 1px solid #EEEEEE; }
.BlockTopicsItem:first-child { border-top: 1px solid #EEEEEE; }
.BlockTopicsItem dt { display: flex; align-items: center; gap: 0 20px; flex-shrink: 0; width: 240px; }
.BlockTopicsItem dt time { font-size: 1.6rem; font-weight: 400; color: #333333; font-family: "Outfit", sans-serif; }
.BlockTopicsItem dd { flex-grow: 1; min-width: 0; }
.BlockTopicsItem dd a { font-size: 1.6rem; color: #333333; text-decoration: none; }
.BlockTopicsItem dd a:hover { text-decoration: underline; }
 
.BlockContentEmpty { font-size: 1.6rem; color: #999999; text-align: center; padding: 60px 0; }
 
 /********** Tab UI **********/
.BlockTab { display: block; margin: 0 0 40px 0; }
.BlockContent .BlockTabNav { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 30px 0; padding: 0; list-style: none; }
.BlockContent .BlockTabBtn { display: inline-block; font-size: 1.5rem; font-weight: 500; color: #0fa8ec; text-decoration: none; border: 1px solid #0fa8ec; border-radius: 6px; padding: 12px 24px; transition: all 0.3s ease; cursor: pointer; }
.BlockContent .BlockTabBtn:hover { background: #0fa8ec; color: #FFFFFF; }
.BlockContent .BlockTabBtn.is-active { background: #0fa8ec; color: #FFFFFF; }
.BlockTabContent { display: none; }
.BlockTabContent.is-active { display: block; }
 
 /********** Anchor UI **********/
.BlockContentBody .BlockPageNav { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 40px 0; padding: 0; list-style: none; }
.BlockContentBody .BlockPageNav li a { display: inline-block; font-size: 1.5rem; font-weight: 500; color: #0fa8ec; text-decoration: none; border: 1px solid #0fa8ec; border-radius: 6px; padding: 12px 24px; transition: all 0.3s ease; }
.BlockContentBody .BlockPageNav li a:hover { background: #0fa8ec; color: #FFFFFF; }

/********** Table Scroll **********/
.BlockTableWrap { overflow-x: auto; margin: 0 0 20px 0; -webkit-overflow-scrolling: touch; }
.BlockContentBody table td, .BlockArticleBody table td, .BlockTabContent table td { vertical-align: middle; }
 

	@media (max-width: 768px) {
	.BlockTabNav { gap: 8px; }
	.BlockTabBtn { font-size: 1.3rem; padding: 10px 16px; }
	}
 
/********** Pagination **********/
.BlockPagination { display: block; margin: 40px 0 0 0; text-align: center; }
.BlockPagination .nav-links { display: flex; justify-content: center; align-items: center; gap: 0 6px; }
.BlockPagination .page-numbers { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; font-size: 1.5rem; font-weight: 500; color: #333333; text-decoration: none; border: 1px solid #DDDDDD; border-radius: 4px; font-family: "Outfit", sans-serif; transition: all 0.3s ease; }
.BlockPagination .page-numbers:hover { background: #0fa8ec; color: #FFFFFF; border-color: #0fa8ec; }
.BlockPagination .page-numbers.current { background: #0fa8ec; color: #FFFFFF; border-color: #0fa8ec; }
.BlockPagination .page-numbers.dots { border: none; }
.BlockPagination .page-numbers.prev, .BlockPagination .page-numbers.next { font-size: 1.4rem; }
 

/********** Sub Page SP **********/
	@media (max-width: 768px) {
	.Section_PageTitle { height: 220px; }
	.BlockPageTitleText { font-size: 2.4rem; }
	.BlockBreadcrumb { bottom: 12px; padding:0 20px }
	.BlockBreadcrumbInner { font-size: 1.1rem; }
	.Section_Content { padding: 30px 0 60px 0; }
	.BlockContentBody, .BlockArticleBody, .BlockTabContent { font-size: 1.4rem; }
	.BlockContentBody h2, .BlockArticleBody h2, .BlockTabContent h2 { font-size: 2.0rem; }
	.BlockContentBody h3, .BlockArticleBody h3, .BlockTabContent h3 { font-size: 1.8rem; }
	.BlockContentBody h4, .BlockArticleBody h4, .BlockTabContent h4 { font-size: 1.6rem; }
	.BlockContentBody li, .BlockArticleBody li, .BlockTabContent li { font-size: 1.4rem; }
	.BlockContentBody th, .BlockContentBody td, .BlockArticleBody th, .BlockArticleBody td, .BlockTabContent th, .BlockTabContent td { font-size: 1.3rem; padding: 10px 12px; }
	.BlockArticleTitle { font-size: 2.0rem; }
	.BlockLinkList li a { font-size: 1.4rem; padding: 14px 10px; }
	.BlockTopicsItem { flex-direction: column; gap: 6px 0; }
	.BlockTopicsItem dt { width: 100%; }
	.BlockPagination .page-numbers { width: 36px; height: 36px; font-size: 1.3rem; }
	.gallery-columns-4 .gallery-item, .gallery-columns-5 .gallery-item { width: calc(33.333% - 7px); }
	.wp-block-gallery.columns-4 .wp-block-image, .wp-block-gallery.columns-5 .wp-block-image { width: calc(33.333% - 7px); }
	}
	@media (max-width: 375px) {
	.gallery-columns-3 .gallery-item, .gallery-columns-4 .gallery-item, .gallery-columns-5 .gallery-item { width: calc(50% - 5px); }
	.wp-block-gallery.columns-3 .wp-block-image, .wp-block-gallery.columns-4 .wp-block-image, .wp-block-gallery.columns-5 .wp-block-image { width: calc(50% - 5px); }
	}


/********** Facility Detail **********/
.BlockFacilityTitle { font-size: 2.8rem; font-weight: 700; color: #333333; margin: 0 0 30px 0; padding: 0 0 16px 0; border-bottom: 2px solid #0fa8ec; line-height: 150%; }
.BlockFacilityImage { display: block; margin: 0 0 30px 0; }
.BlockFacilityImage img { display: block; width: 100%; max-width: 800px; height: auto; }
.BlockFacilitySpec { width: 100%; }
.BlockFacilitySpec th { width: 200px; background: #eaf4fc; font-weight: 500; font-size: 1.5rem; vertical-align: top; }
.BlockFacilitySpec td { font-size: 1.5rem; vertical-align: top; }
 
	@media (max-width: 768px) {
	.BlockFacilityTitle { font-size: 2.2rem; }
	.BlockFacilitySpec th { width: 120px; font-size: 1.3rem; }
	.BlockFacilitySpec td { font-size: 1.3rem; }
	}

/********** Download Card **********/
.BlockDlSectionTitle { font-size: 2.0rem; font-weight: 700; color: #0fa8ec; margin: 0 0 20px 0; padding: 0 0 10px 0; border-bottom: 2px solid #0fa8ec; }
.BlockDlSectionTitle + .BlockDlGrid { margin-bottom: 40px; }
.BlockDlGrid { display: flex; flex-wrap: wrap; gap: 16px; margin: 0 0 40px 0; }
.BlockDlCard { display: flex; flex-direction: column; align-items: center; justify-content: center; width: calc(33.333% - 11px); min-height: 160px; background: #eaf4fc; border-radius: 10px; padding: 20px 16px; text-decoration: none; transition: all 0.3s ease; }
.BlockDlCard:hover { background: #0fa8ec; }
.BlockDlCard:hover .BlockDlCardTitle { color: #FFFFFF; }
.BlockDlCard:hover .BlockDlCardBtn { background: #FFFFFF; color: #0fa8ec; }
.BlockDlCardIcon { display: block; margin: 0 0 12px 0; }
.BlockDlCardIcon img { display: block; width: 30px; height: auto; }
.BlockDlCardTitle { display: block; font-size: 1.5rem; font-weight: 500; color: #333333; text-align: center; line-height: 160%; margin: 0 0 12px 0; }
.BlockDlCardBtn { display: inline-block; font-size: 1.2rem; font-weight: 500; color: #FFFFFF; background: #0fa8ec; border-radius: 20px; padding: 4px 20px; line-height: 150%; transition: all 0.3s ease; }

/********** School Apply Button **********/
.BlockSchoolApply { display: block; text-align: center; margin: 60px 0 0 0; }
.BlockSchoolApplyBtn { display: inline-flex; align-items: center; gap: 0 16px; font-size: 2.0rem; font-weight: 700; color: #FFFFFF; background: linear-gradient(45deg, #A1C8F7 0%, #0FA8EC 100%); border-radius: 10px; padding: 24px 50px; text-decoration: none; transition: all 0.3s ease; }
.BlockSchoolApplyBtn:hover { opacity: 0.75; color:#FFFFFF; }
.BlockSchoolApplyBtnText { display: block; }
.BlockSchoolApplyBtnArrow { display: block; width: 10px; height: 10px; border-top: 3px solid #FFFFFF; border-right: 3px solid #FFFFFF; transform: rotate(45deg); }
.BlockDlCard--Word .BlockDlCardBtn { background: #2B579A; }
.BlockDlCard--Word:hover { background: #2B579A; }
.BlockDlCard--Word:hover .BlockDlCardBtn { background: #FFFFFF; color: #2B579A; }
.BlockDlCard--Excel .BlockDlCardBtn { background: #217346; }
.BlockDlCard--Excel:hover { background: #217346; }
.BlockDlCard--Excel:hover .BlockDlCardBtn { background: #FFFFFF; color: #217346; }
	@media (max-width: 768px) {
	.BlockDlGrid { gap: 12px; }
	.BlockDlCard { width: calc(50% - 6px); min-height: 140px; padding: 16px 12px; }
	.BlockDlCardTitle { font-size: 1.3rem; }
	.BlockSchoolApplyBtn { font-size: 1.6rem; padding: 20px 30px; }
	}
	@media (max-width: 375px) {
	.BlockDlCard { width: 100%; }
	}

/********** Access Map **********/
.BlockAccessMap { display: block; margin: 0 0 30px 0; }
.BlockAccessMap iframe { display: block; width: 100%; height: 450px; border-radius: 8px; }


/********** Color Switch Button **********/
.ColorSwitch { display: flex; align-items: center; gap: 0 4px;   }
.ColorSwitchLabel { font-size: 1.2rem; color: #333333; white-space: nowrap; }
.ColorSwitchBtn { display: flex; align-items: center; justify-content: center; min-width: 44px; height: 28px; padding: 0 8px; border-radius: 20px; font-size: 1.3rem; font-weight: 500; text-decoration: none; color: #333333; background: none; cursor: pointer; line-height: 100%; }
.ColorSwitchBtn.is-active { background: #0fa8ec; color: #FFFFFF; }
.ColorSwitchBtn:hover { background: #0fa8ec; color: #FFFFFF; }
.SpNavColor { display: flex; justify-content: center; flex-wrap: wrap; margin: 20px 0 0 0; padding: 0; border: none; }
.SpNavColor .ColorSwitchLabel { width: 100%; font-size: 1.3rem; color: #333333; white-space: nowrap; text-align: center; margin-bottom: 10px; }
.SpNavColor .ColorSwitchBtn { min-width: 54px; height: 30px; padding: 0 10px; font-size: 1.5rem; }

/********** Color Mode : Yellow **********/
html.is-color-yellow,
html.is-color-yellow body { background: #FFFF00 !important; color: #000000 !important; }
html.is-color-yellow a:not(.SiteHeader a):not(.SpNav a),
html.is-color-yellow a:link:not(.SiteHeader a):not(.SpNav a),
html.is-color-yellow a:visited:not(.SiteHeader a):not(.SpNav a),
html.is-color-yellow a:hover:not(.SiteHeader a):not(.SpNav a),
html.is-color-yellow a:active:not(.SiteHeader a):not(.SpNav a) { color: #0000FF !important; }
html.is-color-yellow .SiteFooter,
html.is-color-yellow .Section_Instagram,
html.is-color-yellow .Section_Content,
html.is-color-yellow .BlockFacilitiesBox,
html.is-color-yellow .BlockFacilitiesIconList li,
html.is-color-yellow .SpNav,
html.is-color-yellow .GlobalNavChild { background: #FFFF00 !important; }
html.is-color-yellow .Section_Facilities,
html.is-color-yellow .Section_Banner,
html.is-color-yellow .BlockFacilitiesCatLabel,
html.is-color-yellow .BlockSchoolApplyBtn { background: #000000 !important; color: #FFFF00 !important; }
html.is-color-yellow .BlockFacilitiesTitle,
html.is-color-yellow .BlockFacilitiesTitleEn,
html.is-color-yellow .BlockFacilitiesDesc,
html.is-color-yellow .BlockFacilitiesCatLabelSub,
html.is-color-yellow .BlockFacilitiesCatName,
html.is-color-yellow .BlockSchoolApplyBtnText { color: #FFFF00 !important; }
html.is-color-yellow h1,
html.is-color-yellow h2,
html.is-color-yellow h3,
html.is-color-yellow h4,
html.is-color-yellow h5,
html.is-color-yellow h6,
html.is-color-yellow p,
html.is-color-yellow li,
html.is-color-yellow dt,
html.is-color-yellow dd,
html.is-color-yellow th,
html.is-color-yellow td,
html.is-color-yellow span,
html.is-color-yellow time,
html.is-color-yellow .SpNavList li a,
html.is-color-yellow .SpNavChild li a,
html.is-color-yellow .SiteFooterNav li a,
html.is-color-yellow .BlockNewsTitle,
html.is-color-yellow .BlockNewsTitleEn,
html.is-color-yellow .BlockNewsItem dt time,
html.is-color-yellow .BlockNewsMoreText,
html.is-color-yellow .BlockContentBody,
html.is-color-yellow .BlockArticleBody,
html.is-color-yellow .BlockTabContent,
html.is-color-yellow .BlockPageTitleText,
html.is-color-yellow .BlockArticleTitle,
html.is-color-yellow .BlockFacilityTitle,
html.is-color-yellow .SiteFooterAddress p,
html.is-color-yellow .SiteFooterTel a,
html.is-color-yellow .SiteFooterFax,
html.is-color-yellow .SiteFooterCopy,
html.is-color-yellow .SiteFooterManagerName { color: #000000 !important; }
html.is-color-yellow .BlockFacilitiesCatLabel .BlockFacilitiesCatLabelSub,
html.is-color-yellow .BlockFacilitiesCatLabel .BlockFacilitiesCatName { color: #FFFF00 !important; }
html.is-color-yellow .BlockNewsCat { color: #000000 !important; background: #FFFF00 !important; border-color: #000000 !important; }
html.is-color-yellow .BlockNewsCat--genre00 { color: #FFFF00 !important; background: #000000 !important; border-color: #000000 !important; }
html.is-color-yellow .SiteFooterManagerLabel span { color: #FFFF00 !important; background: #000000 !important; }
html.is-color-yellow .BlockContentBody h2,
html.is-color-yellow .BlockArticleBody h2,
html.is-color-yellow .BlockTabContent h2,
html.is-color-yellow .BlockFacilityTitle { border-bottom-color: #000000 !important; }
html.is-color-yellow .BlockContentBody h3,
html.is-color-yellow .BlockArticleBody h3,
html.is-color-yellow .BlockTabContent h3,
html.is-color-yellow .BlockDlSectionTitle { color: #000000 !important; }
html.is-color-yellow .BlockContentBody a,
html.is-color-yellow .BlockArticleBody a,
html.is-color-yellow .BlockTabContent a,
html.is-color-yellow .BlockContentBackLink,
html.is-color-yellow .BlockPagination .page-numbers,
html.is-color-yellow .BlockContent .BlockTabBtn,
html.is-color-yellow .BlockContentBody .BlockPageNav li a { color: #0000FF !important; border-color: #0000FF !important; background: #FFFF00 !important; }
html.is-color-yellow .BlockContentBody a:hover,
html.is-color-yellow .BlockArticleBody a:hover,
html.is-color-yellow .BlockTabContent a:hover,
html.is-color-yellow .BlockContentBackLink:hover,
html.is-color-yellow .BlockPagination .page-numbers:hover,
html.is-color-yellow .BlockContent .BlockTabBtn:hover,
html.is-color-yellow .BlockContent .BlockTabBtn.is-active,
html.is-color-yellow .BlockPagination .page-numbers.current { color: #FFFF00 !important; background: #0000FF !important; border-color: #0000FF !important; }
html.is-color-yellow .BlockContentBody table th,
html.is-color-yellow .BlockArticleBody table th,
html.is-color-yellow .BlockTabContent table th,
html.is-color-yellow .BlockFacilitySpec th { background: #000000 !important; color: #FFFF00 !important; border-color: #000000 !important; }
html.is-color-yellow .BlockContentBody table td,
html.is-color-yellow .BlockArticleBody table td,
html.is-color-yellow .BlockTabContent table td,
html.is-color-yellow .BlockFacilitySpec td { background: #FFFF00 !important; color: #000000 !important; border-color: #000000 !important; }
html.is-color-yellow .BlockContentBody blockquote,
html.is-color-yellow .BlockArticleBody blockquote,
html.is-color-yellow .BlockTabContent blockquote { background: #FFFF00 !important; border-left-color: #000000 !important; color: #000000 !important; }
html.is-color-yellow .BlockDlCard { background: #FFFF00 !important; border: 1px solid #000000 !important; }
html.is-color-yellow .BlockDlCard:hover { background: #000000 !important; }
html.is-color-yellow .BlockDlCard .BlockDlCardTitle { color: #000000 !important; }
html.is-color-yellow .BlockDlCard:hover .BlockDlCardTitle { color: #FFFF00 !important; }
html.is-color-yellow .BlockDlCard .BlockDlCardBtn { background: #0000FF !important; color: #FFFF00 !important; }
html.is-color-yellow .PageTop { color: #000000 !important; }
html.is-color-yellow .PageTop:hover { color: #0000FF !important; }

/********** Color Mode : Yellow - Header & SP Nav Exception **********/
html.is-color-yellow .SiteHeader,
html.is-color-yellow .SiteHeader *,
html.is-color-yellow .SpNav,
html.is-color-yellow .SpNav * { background: initial; color: initial; border-color: initial; }
html.is-color-yellow .SiteHeaderInner { background: #FFFFFF !important; }
html.is-color-yellow .SpNav { background: #FFFFFF !important; }
html.is-color-yellow .FontSizeSwitchBtn.is-active,
html.is-color-yellow .ColorSwitchBtn.is-active,
html.is-color-yellow .FontSizeSwitchBtn:hover,
html.is-color-yellow .ColorSwitchBtn:hover { background: #0fa8ec !important; color: #FFFFFF !important; }
html.is-color-yellow .HamburgerBtn span { background: #0fa8ec !important; }

/********** Color Mode : Yellow - Tab Button Fix **********/
html.is-color-yellow .BlockContent .BlockTabBtn,
html.is-color-yellow .BlockContent .BlockTabNav .BlockTabBtn { background: #FFFF00 !important; color: #0000FF !important; border: 1px solid #0000FF !important; }
html.is-color-yellow .BlockContent .BlockTabBtn.is-active,
html.is-color-yellow .BlockContent .BlockTabNav .BlockTabBtn.is-active,
html.is-color-yellow .BlockContent .BlockTabBtn:hover,
html.is-color-yellow .BlockContent .BlockTabNav .BlockTabBtn:hover { background: #0000FF !important; color: #FFFF00 !important; border: 1px solid #0000FF !important; }