/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jan 05 2026 | 00:49:13 */
/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Dec 31 2025 | 03:39:09 */
/* TOP */
#videobox {
width: 100%;
height: 100vh;
position: relative;
margin: 0;
padding: 0;
}
body.home {
background: var(--wp--preset--color--basecolor);
}
@media (max-width: 769px) {
#videobox {}
}
#videologo {
width: 160px;
height: 60px;
display: block;
position: absolute;
z-index: 9999;
left: calc(50% - 80px);
top: calc(50vh - 30px);
box-sizing: border-box;
padding: 18px 0;
-webkit-transition: all 1s 4s ease-in-out;
-moz-transition: all 1s 4s ease-in-out;
-o-transition: all 1s 4s ease-in-out;
transition: all 1s 4s ease-in-out;
}
#videologo.inviewClass {
opacity: 0;
}
#videologo svg {
display: block;
width: 96px;
height: 26px;
margin: auto;
fill: none;
stroke: #000;
stroke-dasharray: 2000;
stroke-dashoffset: 0;
stroke-width: 4;
-webkit-animation: hello 4s 0s ease-in-out forwards;
animation: hello 4s 0s ease-in-out forwards;
}
@-webkit-keyframes hello {
0% {
	stroke-width: 4;
	stroke-dashoffset: 2000;
	fill: transparent;
}
50% {
	fill: transparent;
}
100% {
	stroke-width: 1;
	stroke-dashoffset: 0;
	fill: #000;
}
}
@keyframes hello {
0% {
	stroke-width: 4;
	stroke-dashoffset: 2000;
	fill: transparent;
}
50% {
	fill: transparent;
}
100% {
	stroke-width: 1;
	stroke-dashoffset: 0;
	fill: #000;
}
}
#videologo::before,
#videologo::after {
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
z-index: 2;
content: '';
-webkit-transition: all 1.5s 2s ease-in-out;
-moz-transition: all 1.5s 2s ease-in-out;
-ms-transition: all 1.5s 2s ease-in-out;
-o-transition: all 1.5s 2s ease-in-out;
transition: all 1.5s 2s ease-in-out;
}
#videologo::before {
border-top: 2px solid #000;
border-bottom: 2px solid #000;
transform: scale(0, 1);
}
#videologo::after {
border-right: 2px solid #000;
border-left: 2px solid #000;
transform: scale(1, 0);
}
#videologo.inviewClass::after,
#videologo.inviewClass::before {
transform: scale(1);
}
#videobox a.goscroll,
#photos a.goscroll {display: block;color: #fff;font-weight: 900;text-decoration: none;text-align: center;width: 80px;padding: 16px 0;box-sizing: border-box;position: absolute;z-index: 9;bottom: 32dvh;left: calc(50% - 40px);filter: drop-shadow(0px 0px 1px rgba(255, 255, 255, 0.5));font-size: 10px;}
a.goscroll {
-webkit-animation-name: goscroll;
animation-name: goscroll;
-webkit-transform-origin: center center;
transform-origin: center center;
animation-delay: 7s;
-webkit-animation-duration: 5s;
animation-duration: 5s;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
animation-direction: alternate;
-webkit-animation-direction: alternate;
-webkit-animation-iteration-count: infinite;
animation-iteration-count: infinite;
}
@keyframes goscroll {
from {
	transform: translate(0px,-40px);
	opacity: 0.0;
}
60% {
	transform: translate(0px,-40px);
	opacity: 0.0;
}
to {
	transform: translate(0px,0px);
	opacity: 1.0;
}
}
#photos a.goscroll {
color: #fff;
filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 0.5));
}
#videobox a.goscroll:after,
#photos a.goscroll:after {
content: '';
border-bottom: 1px solid;
border-right: 1px solid;
transform: rotate(45deg);
width: 8px;
height: 8px;
display: block;
margin: auto;
}
#video {
height: 100vh;
width: 100%;
background-size: cover;
background-position: center;
transition: all 1s 0s ease-in-out;
opacity: 0;
}
.loaded #video {
opacity: 1;
}
#video video{
position: fixed;
top: 0;
left: 0;
z-index: -1;
height: 100vh;
width: 100%;
-o-object-fit: cover;
object-fit: cover;
-ms-transform: none;
-moz-transform: none;
-webkit-transform: none;
transform: none;
}
html.edge #video video,
html.ie #video video{
position: absolute;
width: auto;
height: auto;
top: 50%;
left: 50%;
min-height: 100%;
min-width: 100%;
-ms-transform: translateX(-50%) translateY(-50%);
-moz-transform: translateX(-50%) translateY(-50%);
-webkit-transform: translateX(-50%) translateY(-50%);
transform: translateX(-50%) translateY(-50%);
}
.golang {
/* filter: drop-shadow(0px 1px 2px rgba(0,0,0,1)); */
position: absolute;
top: 0;
z-index: 9997;
text-align: center;
padding: 4px 6px;
margin: 0;
display: block;
}
.golang>li {
display: inline;
}
.golang>li a {
display: inline;
color: #000;
padding: 6px;
text-decoration: none;
font-size: 80%;
white-space: nowrap;
}
.golang>li:nth-child(2) a {
border-left: none;
}
@media (min-width: 769px) {
.golang {
	padding: 13px;
}
}
#photos {
width: 100%;
height: 100%;
background: #000;
position: relative;
margin: 0;
padding: 0;
display: block;
}
#photos img {
width: 100vw;
height: 100vh;
display: block;
object-fit: cover;
object-position: 21% 50%;
margin: auto;
}
#photos figure {
margin: 0;
padding: 0;
display: block;
}
html.ie #photos img {
}
#photos p {display: inline-flex;flex-direction: column;font-size: 3.6vw;padding: 0;margin: 0;position: absolute;inset: 6% auto 0 16%;z-index: 8;line-height: normal;text-shadow: 0 0 10px lch(0 0 0 / 0.9);text-wrap-mode: nowrap;}
#photos p>* {
/* overflow: auto; */}
#photos p strong,
#photos p span {
padding: 24px 0px;
margin: 0 0 -31px 0;
text-transform: capitalize;
color: #fff;
font-weight: bold;
}
#photos p strong {
font-size: 160%;
letter-spacing: 0.15rem;
text-indent: -0.1rem;
}
#photos p.inviewClass strong,
#photos p.inviewClass span {
background-size: 100% 100%;
-webkit-transition: all 2s ease;
-moz-transition: all 2s ease;
-ms-transition: all 2s ease;
-o-transition: all 2s ease;
transition: all 2s ease;
}
#photos p.inviewClass span{
display: inline-block;
padding: 0 1em;
margin-bottom: 8px;
}
@media all and (-ms-high-contrast: none){
#photos p.inviewClass span {
	padding-right: 12px;
}
}
@media (min-width: 769px) {
/*PC*/
#photos {
	width: 100%;
	height: 100vh;
	position: relative;
	margin: 0;
	padding: 0;
}
#photos img {
	width: 100%;
	height: 100vh;
	margin: 0 auto 0 0%;
}
#photos p {
	font-size: 1.2vw;
	left: 10vw;
	bottom: auto;
	top: 12%;
	text-shadow: -1px 0 6px lch(0 0 0 / 1),0 0 80px lch(0 0 0 / 0.8);
}
#photos p strong,
#photos p span {
	padding: 4vw;
	margin: 0 0 -6.7vw 0;
}
}
.loaded a.bunkasai {
opacity: 1;
}
a.bunkasai img{
width: 100%;
}
@media (min-width: 769px) {
a.bunkasai{
}
}
/* 2022-03-01 */
a.bunkasai{
background: url(https://bfgu-bunka.ac.jp/bfgufw/18/wp-content/uploads/ogp.jpg) 50% 50% repeat;
background-size: cover;
width: 60vw;
max-width: 380px;
display: block;
margin: auto;
position: fixed;
z-index: 9;
inset: auto 0 7vh 0;
box-sizing: border-box;
transition: opacity 1s 1.5s ease-in-out;
opacity: 0;
aspect-ratio: 1 / .45;
/*box-shadow: 0 2px 6px 0px rgb(255 255 255 / 74%);*/
border-radius: 4px;
}
body.scrollon a.bunkasai {
opacity: 0;
transition: all 1s 1s ease-in-out;
pointer-events: none;
}
a.bunkasai img{
display: none;
}
@media (min-width: 769px) {
a.bunkasai{
	inset: auto 2vw 2vw auto;
}
}
/* 2023-01-10 */
a.bunkasai15{
backdrop-filter: none;
width: 50%;
max-width: 260px;
display: flex;
margin: auto;
position: absolute;
z-index: 0;
bottom: 0;
left: 0;
box-sizing: border-box;
color: #fff;
text-align: center;
text-decoration: none;
-webkit-transition: all 1s 4s ease-in-out;
-moz-transition: all 1s 4s ease-in-out;
-o-transition: all 1s 4s ease-in-out;
transition: all 1s 4s ease-in-out;
opacity: 0;
/* background: rgb(212 20 90 / 10%); *//* border: 1px rgb(255 255 255 / 20%) solid; */align-items: flex-end;
align-content: flex-end;
}
a.bunkasai15 img{
width: 100%;
height: 100%;
object-fit: contain;
}
@media (min-width: 769px) {
a.bunkasai15{
	/* left: calc(50% - 120px); *//* bottom: 16vh; *//* margin: 0; */}
}
.loaded a.bunkasai15 {
opacity: 1;
}
a.bunkasai15 img{
width: 100%;
}
/* 2024-01-01 */
a.bunkasai.bunkasaifw16{
}
a.bunkasai.bunkasaifw16 img{
}
@media (min-width: 769px) {
a.bunkasai.bunkasaifw16{
}
}
.top #header>h1,
.top #header>.gomenu{
filter: invert(100%);
-webkit-filter: invert(100%);
mix-blend-mode: difference;
}
.golang>li a{
color: #fff;
}
#photos img {
object-position: 50% 20%;
}
@media screen and (max-width: 767px) {
#photos img {
	/* height: 115vh; *//* margin-top:-15vh; */}
}
@media screen and (min-width: 767px) {
#videobox a.goscroll, #photos a.goscroll{
	bottom: 16vh;
}
}
.home a.footer-upbt {
opacity: 0;
transition: opacity 1s 5s 
	ease-in-out;
}
.home.scrollon a.footer-upbt {
opacity: 1;
}
.home footer {
background: #fff;
margin: 0;
}
.home main {
padding: 0 0 1px 0;
}
#structurechart,#topics {margin: 0 auto !important;padding: 6vh 32px 3vh !important;}
#structurechart{box-sizing: border-box;}
@media screen and (max-width: 767px) {
#structurechart{overflow: hidden;/* overflow-y: visible; */width: 100%;box-sizing: border-box;}
}
#structurechart a{
transition: 0.3s;
}
#structurechart .section-title {
text-wrap-mode: nowrap;
}
#structurechart h3 {
margin: -4px 0 16px 0 !important;
}
#structurechart>ul {
padding: 0;
margin: 0;
font-weight: bold;
white-space: nowrap;
}
#structurechart>ul>li.course {
padding: 16px 0 8px 8px;
position: relative;
max-width: 520px;
white-space: nowrap;
}
#structurechart>ul>li {
padding: 8px 0;
margin: 0;
display: block;
}
#structurechart>ul>li.division:nth-child(4) {display: block;margin: 40px 0 0 0;text-align: left;}
#structurechart>ul>li.division a {font-size: 116%;text-decoration: none;padding: 6px 12px 8px;margin: 0;display: inline;color: #fff;text-transform: capitalize;background: var(--wp--preset--color--basecolor);transform: translateX(0px) translateY(0px);}
#structurechart>ul>li.division a:hover {
opacity: .6;
}
#structurechart>ul>li.course:after {content: '';display: block;width: 120px;height: 120px;background: var(--wp--preset--color--button);position: absolute;bottom: 0px;right: 20px;z-index: 0;transition: 0s;transform: translateX(80px) translateY(0px) rotate(62deg);}
#structurechart>ul>li.course a {
text-decoration: none;
display: inline-block;
padding: 10px 16px;
background: transparent;
position: relative;
z-index: 2;
border: 1px solid transparent;
}
#structurechart>ul>li.course a:hover {
background: var(--wp--preset--color--button);
color: #fff;
border-color: #fff;
}
#structurechart>ul>li h4 {
font-size: 132%;
margin: 0 !important;
padding: 0 !important;
text-decoration: none;
display: block;
line-height: normal;
}
#structurechart>ul>li.course h4>small {
display: block;
font-size: 76%;
padding: 0;
margin: 2px 0 0;
font-family: MontserratLocal;
}
#structurechart>ul>li.course p {
padding: 6px 10px;
margin: 8px 0px !important;
border: 1px solid;
display: inline-block;
font-size: 102%;
line-height: 1.4;
}
#structurechart>ul>li:nth-child(3) {
padding: 16px 0px 16px 0;
text-align: right;
margin: 0 0 0 auto;
}
#structurechart>ul>li:nth-child(3) h4 {
text-align: right;
}
#structurechart>ul>li:nth-child(3):after {
background: var(--wp--preset--color--textonbutton);
bottom: 40px;
right: auto;
left: 0px;
transform: translateX(0px) translateY(0px) rotate(-114deg);
}
#structurechart>ul>li:nth-child(3) a:hover {
background: var(--wp--preset--color--textonbutton);
}
#structurechart>ul>li:nth-child(5) {
padding: 24px 0 24px 4px;
}
#structurechart>ul>li:nth-child(5):after {
background: var(--wp--preset--color--accent);
bottom: 0px;
right: 90px;
transform: translateX(0px) translateY(0px) rotate(130deg);
}
#structurechart>ul>li:nth-child(5) a:hover{
background: var(--wp--preset--color--accent);
}
#structurechart>ul.aos-animate>li:nth-child(2):after {transition: all 20s ease-out;transform: translateX(-125px) translateY(-30px) rotate(-106deg);}
#structurechart>ul.aos-animate>li:nth-child(3):after {transition: all 20s ease-out;transform: translateX(173px) translateY(46px) rotate(-8deg);}
#structurechart>ul.aos-animate>li:nth-child(5):after {transition: all 20s ease-out;transform: translateX(-37px) translateY(-20px) rotate(4deg);}
@media (min-width: 769px) {
#structurechart,#topics {
	display: flex;
	box-sizing: content-box;
	flex-direction: row;
	flex-wrap: wrap;
}
#structurechart{
	/* overflow:visible; */
}
#structurechart>ul{
	width: calc( 100% - 414px );
	margin: 0 0 0 auto;
}
#structurechart>ul>li.course h4{
	font-size: 140%;
}
#structurechart>ul>li.course p {
	font-size: 102%;
}
.topicslist ul .pager {
	margin: 64px 0;
	display: block;
}
.top #main section#structurechart>ul {
	margin: 0 3% 0 auto;
}
#structurechart>ul>li:nth-child(3) {
	margin: 0 0 20px auto;
	padding-right: 4%;
}
}
section#topics>div {
width:100%;
margin: 0 auto !important;
}
.topbn{
display: block;
gap: 16px;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
padding: 0 32px;
box-sizing: content-box;
}
.topbn a{
width: calc( 50% - 8px);
text-decoration: none;
margin: 0 !important;
padding: 0 !important;
transition: .3s;
}

.topbn {
}
.topbn a:after {
content: '';
display: none !important;
}
.topbn a:hover {
opacity: .6;
color: inherit;
}
.topbn a>div{
padding: 0 !important;
margin: 0 !important;
height: 21vw;
/* max-height: 120px; */
display: flex;
align-items: center;
justify-content: center;
align-content: center;
}
body.home .is-layout-constrained .topbn a>div>div{margin: 0 !important;padding: 4px 10px 6px !important;display: flex;gap: 2px;flex-direction: column;align-items: center;justify-content: center;}
body.home .is-layout-constrained .topbn a h5{font-size: 3.4vw;letter-spacing: -0.2px;line-height: 1;font-weight: bold;text-align: center;text-size-adjust: 100%;-webkit-text-size-adjust: 100%;
/* Safari */margin: 0 0 2px 0 !important;padding: 0 !important;text-wrap-mode: nowrap;}
.topbn a p{font-size: 2.5vw;line-height: 1;letter-spacing: -0.3px;text-align: center;font-weight: bold;margin: 0 0 0px 0 !important;padding: 0 !important;text-size-adjust: 100%;-webkit-text-size-adjust: 100%;
/* Safari */text-wrap-mode: nowrap;}
@media (min-width: 769px) {
.topbn a{
	width: calc( 33% - 4px);
	max-width: 220px;
	height: 112px;
}

.topbn {
/* padding: 0; */
gap: 25px;
}
.topbn li>div {
gap: 25px;
}
.topbn a>div{
	height: 100%;
}
body .is-layout-constrained .topbn a>div>div{
}
body.home .is-layout-constrained .topbn a h5{
	font-size: 17px;
}
.topbn a p{
	font-size: 12px;
}
}
.gs_tabs_15 li.wp-block-post,
.topicsbig li.wp-block-post{
position:relative;
}
.gs_tabs_15 .wp-block-post-title a:after,
.topicsbig .wp-block-post-title a:after{display: block;content: '';position:absolute;inset:0;background:hsl(0deg 0% 100% / 0%);transition:.3s;}
.gs_tabs_15 .wp-block-post-title a,
.topicsbig .wp-block-post-title a{/* background: transparent; */color:initial;}
.gs_tabs_15 .wp-block-post-title a:hover,
.topicsbig .wp-block-post-title a:hover{
opacity: .6;
}
.gs_tabs_15 .wp-block-post-title a:hover:after,
.topicsbig .wp-block-post-title a:hover:after{
background:hsl(0deg 0% 100% / 50%);
}


.wp-container-core-post-template-is-layout-42eb91ec .wp-block-post-date,
.wp-container-core-post-template-is-layout-42eb91ec h5{
position: relative;
z-index: 1;
pointer-events: none;
}

.wp-container-core-post-template-is-layout-42eb91ec img{
transform: rotate(0deg);
border-radius: 3px;
}

.wp-container-core-post-template-is-layout-42eb91ec li{
transition: .5s;
padding: 0;
margin: 2rem 0;
}
.wp-container-core-post-template-is-layout-42eb91ec li:hover{
opacity:.5;	
}
.wp-container-core-post-template-is-layout-42eb91ec *{
padding: 0;
margin: 0;
}
.wp-container-core-post-template-is-layout-42eb91ec time{position: absolute;inset: -10px -10px auto auto;z-index: 2;font-size: 1.5rem;text-shadow: 0 0 9px #00000096;}
.wp-container-core-post-template-is-layout-42eb91ec h5{font-size: 0.9rem !important;position: absolute;inset: 46% 5% auto -8%;z-index: 2;line-height: 1.6;text-overflow: ellipsis;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;overflow: hidden;text-align: left !important;}

.wp-container-core-post-template-is-layout-42eb91ec h5 a {background: #fff !important;padding: 0px 4px 1px;border-radius: 3px;}
.wp-container-core-post-template-is-layout-42eb91ec p{font-size: 0.7rem;line-height: 1.4;margin: 8px 0 0 0;text-overflow: ellipsis;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;overflow: hidden;}
@media (max-width: 769px) {

.wp-container-core-post-template-is-layout-42eb91ec h5{
inset: 56% 6% auto -4%;
}

}