@charset "utf-8";
@font-face {
	font-family: "HelveticaNeueLTPro-Bd";
	font-style: normal;
	font-weight: 400;
	src: url(https://www.bunka-fc.ac.jp/_wp/wp-content/themes/bunka/fonts/HelveticaNeueLTPro-Bd.woff) format('woff')
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ 共通
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, fieldset, form  label, legend, table, caption, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	border: 0;
	outline: 0;
	font-size: 100%;
	font-style: normal;
	vertical-align: baseline;
	background: transparent;
	margin: 0;
	padding: 0;
}

main, article, aside, details, summary, blockquote, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block
}

h1, h2, h3, h4, h5, dl, dt, dd, ol, ul, li, p, figure {
	margin: 0;
	padding: 0;
}

ul {
	list-style: none
}

img,
iframe,
select,
textarea {
	vertical-align: top
}

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

table {
	border-collapse: collapse;
	border-spacing: 0
}

html {
	height: 100%;
	overflow-y: scroll;
	overflow-x: hidden;
}

body {
	height: 100%;
	font-size: clamp(14px, 1.5vw, 16px);
	font-weight: 400;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: bold;
	/*font-feature-settings: "palt";*/
	line-height: 1;
	-webkit-text-size-adjust: 100%;
	position: relative;
	color: #000;
}

a {
	color: #000;
	font-size: 100%;
	vertical-align: baseline;
	text-decoration: none;
	margin: 0;
	padding: 0;
	transition: .5s;
}
a.fade:hover {
	opacity: .5;
}


.center {
	text-align: center;
}
.right {
	text-align: right;
}

main {
	background: #fff;
	padding-bottom: clamp(24px, 3.2vw, 40px);
}

article {}


hr {
	display: block;
	height: 1px;
	border: 0;
	margin: 0;
	padding: 0;
}

.helvetica {
	font-family: "HelveticaNeueLTPro-Bd", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-style: normal;
	font-weight: 400;
}


.line-height15 {
	line-height: 1.5;
}
.line-height20 {
	line-height: 2.0;
}

main .small {
	font-size: clamp(12px, 4.5vw, 14px);
	font-size: 14px;
}
main .x-small {
	font-size: 12px;
}

main p + p {
	margin-top: clamp(30px, 4.5vw, 60px);
}

.fade-in {
	transform: translateY(25px);
	opacity: 0;
	transition: 0.5s;
	transition: opacity 1.0s ease-out, transform 1.0s ease-out;
}

body .fade-in.scrollin {
	opacity: 1;
	transform: translateY(0);
}

/*------------------------------------------------------------------------*/

@media screen and (min-width:768px) {
	.sp {
		display: none !important
	}

	a[href^="tel:"] {
		pointer-events: none;
		text-decoration: none;
	}
}


/*------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {
	.pc {
		display: none !important
	}

}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ inner
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.inner {
	width: calc(100% - 48px);
	max-width: 750px;
	margin: 0 auto;
}

.inner.max {
	width: 100%;
	max-width: 100%;
}

.inner+.inner {
	padding-top: clamp(90px, 12.5vw, 160px);
}

/*------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {

}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ header
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

header {
	width: 100%;
	background: #fff;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 3;
}

header .inner.max {
	width: calc(100% - clamp(40px, 6.0vw, 80px));
	max-width: auto;
	height: clamp(60px, 6.75vw, 75px);
	display: flex;
	align-items: center;
	position: relative;
}


/*-------------------------------------------------------------------------
	logo
-------------------------------------------------------------------------*/


header .logo {
	font-size: 0px;
}
header .logo + .logo {
	margin-left: 24px;
}

header .logo.individual a img {
	width: clamp(90px, 10.5vw, 120px);
}

header .logo.bunka a img {
	width: clamp(90px, 10.5vw, 120px);
}

/*------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {

	header .logo + .logo {
		margin-left: 0;
	}

	header .logo.bunka {
		order: 1;
	}
	header .logo.individual {
		order: 2;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
	}

}


/*-------------------------------------------------------------------------
	global
-------------------------------------------------------------------------*/


/*------------------------------------------------------------------------*/

@media screen and (min-width:1024px) {
	header #global {
		display: flex;
		align-items: center;
		margin-left: auto;
	}

	header #global .scroll {
		display: flex;
		align-items: center;
	}
}


/*------------------------------------------------------------------------*/

@media screen and (max-width: 1023px) {


	header #global .bunka {
		display: block;
		margin-top: 45px;
		padding-bottom: 50px;
	}

	header #global .bunka img {
		width: 90px;
	}
}


/*-------------------------------------------------------------------------
	contents
-------------------------------------------------------------------------*/

header #global .contents {
	display: flex;
	justify-content: center;
	margin-left: auto;
}

header #global .contents li {
	margin-left: 24px;
}

header #global .contents li a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	position: relative;
	white-space: nowrap;
}

header #global .contents li a span {
	font-size: 18px;
	font-family: "HelveticaNeueLTPro-Bd";
	letter-spacing: .05em;
}

header #global .contents li a small {
	font-size: 11px;
	margin-top: 2px;
	letter-spacing: 0;
}


/*------------------------------------------------------------------------*/

@media screen and (min-width: 1024px) {
	header #global .contents li a:after {
		position: absolute;
		bottom: -5px;
		left: 0;
		content: "";
		width: 100%;
		height: 1px;
		background: #000;
		transform: scale(0, 1);
		transform-origin: left top;
		transition: transform .5s;
	}

	header #global .contents li a:hover:after {
		transform: scale(1, 1);
	}

	header #global .contents li.current a:after {
		position: absolute;
		bottom: -5px;
		left: 0;
		content: "";
		width: 100%;
		height: 1px;
		background: #000;
		transform: scale(1, 1);
		transform-origin: left top;
	}
}


/*------------------------------------------------------------------------*/

@media screen and (max-width: 1023px) {
	header #global .contents {
		text-align: left;
		display: inline-block;
		margin-top: 125px;
	}

	header #global .contents li {
		margin-left: 0;
	}

	header #global .contents li+li {
		margin-top: 20px;
	}

	header #global .contents li a {
		align-items: start;
	}
}


/*------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {
	header #global .contents {
		margin-top: 110px;
	}
}


/*-------------------------------------------------------------------------
	sns
-------------------------------------------------------------------------*/

header #global .sns {
	display: flex;
	align-items: center;
	margin-left: 24px;
}

header #global .sns li {
	flex: none;
}

header #global .sns li+li {
	margin-left: 24px;
}

header #global .sns li a {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

header #global .sns li a img {
	width: 20px;
}


/*------------------------------------------------------------------------*/

@media screen and (max-width: 1023px) {
	header #global .sns {
		display: block;
		margin-left: 0;
		margin-top: 60px;
	}

	header #global .sns li a {
		width: 20px;
		margin: 0 auto;
	}

	header #global .sns li:last-child a {
		width: 24px;
	}
	header #global .sns + .bunka {
		margin-top: 30px;
	}
}


/*-------------------------------------------------------------------------
	グローバルナビゲーション
-------------------------------------------------------------------------*/

#toggle {
	display: none;
}

#global .close {
	display: none;
}

header .open {
	display: none;
}


/*------------------------------------------------------------------------*/

@media screen and (max-width: 1023px) {

	header .open {
		width: 24px;
		aspect-ratio: 1/ 1;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		margin-left: auto;
		order: 3;
	}

	header .open img {
		width: 100%;
	}

	header .open span {
		font-size: 8px;
		margin-top: 6px;
	}

}

/*------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {
	header .open {
		margin-right: 0;
	}


}

/*-------------------------------------------------------------------------
	close
-------------------------------------------------------------------------*/

/*------------------------------------------------------------------------*/

@media screen and (max-width: 1023px) {

	#toggle+.close {
		position: fixed;
		top: 0;
		right: 0;
		pointer-events: none;
		z-index: 3;
		width: 100%;
		height: 100%;
		transition: background-color .5s;
	}

	#toggle:checked+.close {
		display: block;
		pointer-events: auto;
		background: rgba(0, 0, 0, .25);
	}

	#toggle:checked~#global {
		transform: translateX(0);
	}

	#global {
		flex: none;
		background: #fff;
		width: clamp(120px, 16.0vw, 200px);
		height: 100%;
		display: block;
		margin: 0;
		padding: 0;
		z-index: 4;
		position: fixed;
		top: 0;
		right: 0;
		transform: translateX(100%);
		transition: transform .5s;
	}

	#global .close {
		width: 24px;
		aspect-ratio: 1/ 1;
		margin: 0;
		z-index: 21;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		position: absolute;
		right: calc(clamp(20px, 3.0vw, 40px));
		top: calc((clamp(60px, 6.75vw, 75px) - 38px));
	}

	#global .close img {
		width: 18px;
	}

	#global .close span {
		font-size: 8px;
		margin-top: 6px;
	}
}


/*-------------------------------------------------------------------------
	スクロールバー
-------------------------------------------------------------------------*/

/*------------------------------------------------------------------------*/

@media screen and (max-width: 1023px) {

	#global .scroll {
		height: 100%;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		text-align: center;
	}
}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ thumbnail
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#thumbnail {
	padding-top: 90px;
}

#thumbnail img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: center center;
}

/*------------------------------------------------------------------------*/

@media screen and (max-width: 1023px) {
	#thumbnail {
		padding-top: 75px;
	}

	#thumbnail img {}

}

/*------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {
	#thumbnail {
		padding-top: 60px;
	}

}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ kv
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#kv {
	width: 100%;
	height: calc(100svh - clamp(60px, 6.75vw, 75px));
	margin-top: clamp(60px, 6.75vw, 75px);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	position: relative;
}

/*-------------------------------------------------------------------------
	h1
-------------------------------------------------------------------------*/

#kv h1 {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

#kv h1 img {
	width: clamp(160px, 23.0vw, 300px);
}

/*-------------------------------------------------------------------------
	scroll
-------------------------------------------------------------------------*/

#kv .scroll {
	position: absolute;
	bottom: 0;
	text-align: center;
	margin: 0 auto;
	left: 50%;
	transform: translateX(-50%);
}

#kv .scroll a {
	margin: 0 auto;
	text-align: center;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	position: relative;
	bottom: clamp(30px, 2.25vw, 15px);
	transition: .5s;
}

#kv .scroll a span {
	font-size: 16px;
	font-size: clamp(12px, 1.4vw, 16px);
}
#kv .scroll a img {
	width: 15px;
	margin-top: 8px;
}

#kv .scroll a:hover {
	bottom: calc(clamp(30px, 2.25vw, 15px) - 4px);
}


/*-------------------------------------------------------------------------
	bg
-------------------------------------------------------------------------*/


#bg {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: -1;
}

/*-------------------------------------------------------------------------
	img
-------------------------------------------------------------------------*/

#bg img {
	width: 100%;
	height: 100%;
	overflow: hidden;
	object-fit: cover;
	object-position: center center;
	position: absolute;
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ kv2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#kv2 {
	width: 100%;
	aspect-ratio: 32 / 9;
	margin-top: clamp(60px, 6.75vw, 75px);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	position: relative;
}

/*-------------------------------------------------------------------------
	h1
-------------------------------------------------------------------------*/

#kv2 h1 {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}

#kv2 h1 img {
	width: clamp(120px, 18.0vw, 240px);
}

#kv2 h1 small {
	font-size: clamp(21px, 3.05vw, 40px);
	text-align: center;
	margin-top: clamp(15px, 1.75vw, 20px);
}

/*-------------------------------------------------------------------------
	bg2
-------------------------------------------------------------------------*/


#bg2 {
	width: 100%;
	height: 100%;
	z-index: -1;
}

/*-------------------------------------------------------------------------
	img
-------------------------------------------------------------------------*/

#bg2 img {
	width: 100%;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ 共通
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */


::selection {
	background: rgba(221, 221, 221, .5);
}

::-moz-selection {
	background: rgba(221, 221, 221, .5);
}

section {
	margin: 0 auto;
	padding-top: clamp(90px, 12.5vw, 160px);
}
section:last-of-type {
	padding-bottom: calc(clamp(120px, 16.5vw, 210px) - clamp(45px, 5.25vw, 60px) - clamp(24px, 3.2vw, 40px));
}
section.bg {
	background: #eee;
	margin-top: clamp(90px, 12.5vw, 160px);
	padding-bottom: calc(clamp(120px, 16.5vw, 210px) - clamp(45px, 5.25vw, 60px) - clamp(24px, 3.2vw, 40px));
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ heading
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/*-------------------------------------------------------------------------
	h2
-------------------------------------------------------------------------*/

h2 {
	font-size: clamp(30px, 3.3vw, 36px);
	margin-bottom: clamp(45px, 5.25vw, 60px);
}

/*-------------------------------------------------------------------------
	h3
-------------------------------------------------------------------------*/

h3 {
	font-size: clamp(21px, 2.25vw, 24px);
	margin-bottom: clamp(45px, 5.25vw, 60px);
}

/*-------------------------------------------------------------------------
	h4
-------------------------------------------------------------------------*/

h4 {
	font-size: clamp(18px, 1.9vw, 21px);
	margin-bottom: clamp(45px, 5.25vw, 60px);
}
h3 + h4 {
	margin-top: calc(0px - clamp(15px, 1.75vw, 20px));
}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ banner
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.banner {
	margin-bottom: clamp(45px, 5.25vw, 60px);
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ box
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.box {
	background: #dddddd;
}
.box dt {
	position: relative;
}
.box dt span {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
.box dt span img {
	width: clamp(112px, 1.31vw, 150px);
}
.box dt span small {
	color: #fff;
	font-size: clamp(22px, 2.6vw, 30px);
	margin-top: clamp(10px, 1.25vw, 15px);
}

.box dd {
	padding: clamp(30px, 4.5vw, 60px) clamp(24px, 4.2vw, 60px);
}


.box h3 {
	font-size: 36px;
	font-size: clamp(18px, 2.9vw, 36px);
	font-weight: bold;
	text-align: center;
	margin-bottom: 42px;
}

.box h3+p {
	font-size: 16px;
	font-size: clamp(12px, 1.4vw, 16px);
	letter-spacing: 0;
	line-height: 2.0;
}

.box .link {
	margin-top: 50px;
}

.box .link a {
	width: 100%;
	height: 96px;
	height: clamp(75px, 8.55vw, 96px);
	border: 0;
	border-radius: 12px;
	border-radius: clamp(6px, 0.9vw, 12px);
	font-size: 16px;
	font-size: clamp(14px, 1.5vw, 16px);
	font-weight: bold;
	letter-spacing: .05em;
	line-height: 1.5;
	text-decoration: none;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background-color: #825ab4;
	background-repeat: no-repeat;
	background-position: right 20px center;
	background-image: url(https://www.bunka-fc.ac.jp/_wp/wp-content/themes/bunka/img/individual/icon_blank_white.svg);
	background-size: clamp(11px, 1.3vw, 15px) auto;
	box-shadow: 5px 5px 5px rgba(26, 26, 26, .25);
	transition: all 0.5s ease;
}

.box .link a:hover {
	transform: scale(1.025);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ button
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.button {
	width: clamp(135px, 15.75vw, 180px);
	margin-top: clamp(45px, 5.25vw, 60px);
}

.button.center {
	margin-left: auto;
	margin-right: auto;
}

.button.right {
	margin-left: auto;
}

.button a,
.button span,
.button input {
	width: 100%;
	height: clamp(36px, 4.2vw, 48px);
	box-sizing: border-box;
	border: 1px solid #000;
	font-size: clamp(12px, 1.4vw, 16px);
	color: #fff;
	text-decoration: none !important;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	background-color: #000;
	background-repeat: no-repeat;
	background-position: right 15px center;
	transition: all 0.5s ease;
}

.button a:hover {
	color: #000;
	background-color: #fff;
}

.button.more a {
	background-image: url(https://www.bunka-fc.ac.jp/_wp/wp-content/themes/bunka/img/individual/icon_arrow_right_white.svg);
	background-size: clamp(5px, 0.55vw, 6px) auto;
}
.button.more a:hover {
	background-image: url(https://www.bunka-fc.ac.jp/_wp/wp-content/themes/bunka/img/individual/icon_arrow_right_black.svg);
}

.button.diagonal a {
	background-image: url(https://www.bunka-fc.ac.jp/_wp/wp-content/themes/bunka/img/individual/icon_diagonal_white.svg);
	background-size: clamp(8px, 0.9vw, 10px) auto;
}
.button.diagonal a:hover {
	background-image: url(https://www.bunka-fc.ac.jp/_wp/wp-content/themes/bunka/img/individual/icon_diagonal_black.svg);
}


.button.down a {
	background-image: url(https://www.bunka-fc.ac.jp/_wp/wp-content/themes/bunka/img/individual/icon_more_bottom_black.svg);
	background-size: auto clamp(4px, 4.5vw, 5px);
}

.button.blank a,
.button.blank span {
	background-image: url(https://www.bunka-fc.ac.jp/_wp/wp-content/themes/bunka/img/individual/icon_blank_black.svg);
	background-size: clamp(11px, 1.3vw, 15px) auto;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ dummy
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.relative {
	position: relative;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ description
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.description {
	line-height: 2;
	letter-spacing: 0;
}


.fs_16 {
	font-size: 16px;
	font-size: clamp(12px, 1.4vw, 16px);
}

.fs_20 {
	font-size: 20px;
	font-size: clamp(16px, 1.8vw, 20px);
	letter-spacing: 0;
}

.fw_bold {
	font-weight: bold;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ tags
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.tags {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -5px -10px -5px;
}

.tags.center {
	justify-content: center;
}

.tags li {
	margin: 0 5px 10px 5px;
}

.tags li a,
.tags li span {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 24px;
	border-radius: 12px;
	padding: 0 10px;
	background: #ddd;
	font-size: 12px;
	font-family: "HelveticaNeueLTPro-Roman", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	letter-spacing: .05em;
	line-height: 1;
}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ brand
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/*-------------------------------------------------------------------------
	local
-------------------------------------------------------------------------*/

.local {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 15px;
}

.local li {
}
.local li a {
	color: #fff;
	background: #000;
	padding: 5px;
	display: block;
}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ content
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */


/*-------------------------------------------------------------------------
	iframe
-------------------------------------------------------------------------*/
.iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
	position: relative;
	overflow: hidden;
	transform: translateY(0px);
}
p + .iframe {
	margin-top: clamp(90px, 6.0vw, 60px);
}

.iframe iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}


/*-------------------------------------------------------------------------
	その他
-------------------------------------------------------------------------*/


.content a {
	color: #6a6a6a;
	text-decoration: underline;
}

.content a[target="_blank"]:after {
	content: "";
	display: inline-block;
	width: 15px;
	width: clamp(12px, 1.35vw, 15px);
	height: 11px;
	height: clamp(9px, 1.0vw, 11px);
	margin: 0 4px;
	background: url(https://www.bunka-fc.ac.jp/_wp/wp-content/themes/bunka/img/individual/icon_blank_black.svg) no-repeat center center / contain;
}

.content .banner a[target="_blank"]:after,
.content .button a[target="_blank"]:after,
.content figure a[target="_blank"]:after,
.content .share a[target="_blank"]:after {
	display: none;
}

.fs_16 {
	font-size: 16px;
	font-size: clamp(12px, 1.4vw, 16px);
}

.fs_20 {
	font-size: 20px;
	font-size: clamp(16px, 1.8vw, 20px);
	letter-spacing: 0;
}

.fw_bold {
	font-weight: bold;
}


/*-------------------------------------------------------------------------
	modal
-------------------------------------------------------------------------*/


.modal {
}

.modal input[type="checkbox"] {
	display: none;
}

.modal .overlay {
	visibility: hidden;
	opacity: 0;
	transition: all 0.5s ease;
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(255, 255, 255, 1.0);
	z-index: -1;
	width: 100%;
	height: 100dvh;
	padding: clamp(24px, 3.45vw, 45px);
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
}

.modal .close {
	width: 100%;
	height: 100dvh;
	position: fixed;
	cursor: pointer;
	left: 0;
	top: 0;
}

.modal input:checked ~ .close {
	z-index: 5;
}

.modal input:checked ~ .overlay {
	transform: scale(1);
	visibility: visible;
	opacity: 1;
	z-index: 13;
}
.modal .batsu {
	width: clamp(24px, 3.2vw, 40px);
	aspect-ratio: 1 / 1;
	background: #000;
	position: absolute;
	right: clamp(24px, 2.7vw, 30px);
	top: clamp(24px, 2.7vw, 30px);
	cursor: pointer;
	z-index: 1;
}
.modal .batsu span {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.modal .batsu img {
	width: clamp(9px, 1.15vw, 14px);
	aspect-ratio: 1 / 1;
}

.modal .wrap {
	width: fit-content;
	margin-inline: auto;
	position: relative;
	z-index: -1;
}
.modal .wrap > img {
	max-width: 100%;
	max-height: calc(100dvh - clamp(24px, 3.45vw, 45px));
}


/*------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {


	.modal .overlay {
		padding: 0;
	}

	.modal .wrap > img {
		max-height: 100dvh;
	}

}


/*-------------------------------------------------------------------------
	splide
-------------------------------------------------------------------------*/


.splide__arrow {
	opacity: 1!important;
	width: clamp(24px, 3.2vw, 40px)!important;
	height: clamp(24px, 3.2vw, 40px)!important;
	box-sizing: border-box;
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	border: none;
	border-radius: 0 !important;
	outline: none;
	background: #000!important;
}

.splide__arrow img {
	width: clamp(9px, 1.15vw, 14px);
	position: relative;
	transition: .25s;
}

.splide__arrow--prev {
	left: calc(0px - 45px - clamp(24px, 3.2vw, 40px))!important;
}

.splide__arrow--prev img {
	left: 0;
}

.splide__arrow--prev:hover img {
	left: -4px;
}

.splide__arrow--next {
	right: calc(0px - 45px - clamp(24px, 3.2vw, 40px))!important;
}

.splide__arrow--next img {
	right: 0;
}

.splide__arrow--next:hover img {
	right: -4px;
}

.splide__arrow:hover:not(:disabled) {
	visibility: visible;
	opacity: 1;
}

.splide__arrow:disabled {
	visibility: hidden;
	opacity: 0;
	transition: all 0.5s ease;
}

.splide.test1 {
	display: flex;
	justify-content: center;
		/* max-width: 750px; */
		margin-left: auto;
		margin-right: auto;
		position: relative;
		box-sizing: border-box;
	align-items: center;
}

.splide.test1 .splide__slide {
	justify-content: center;
	box-sizing: border-box;
}

.splide.test1 .splide__slide img {
	height: 240px;
	width: auto;
	min-width: 165px;
	object-fit: cover;
	display: block;
}

.splide.test1 .splide__track {
	padding-left: calc(50vw - 375px) !important;
}

/*------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {
	.splide__arrow--prev {
		left: -12px !important;
	}

	.splide__arrow--next {
		right: -12px !important;
	}
	
	.splide.test1 .splide__track {
		padding-left: 24px !important;
	}

	.splide.test1 .splide__list li {
		width: auto;
	}
}


/*-------------------------------------------------------------------------
	news
-------------------------------------------------------------------------*/


.news ul {
	display: flex;
}

.news li {
	width: calc(100% / 3 - 90px / 3) !important;
	margin-right: 45px;
}
.news li a {
	display: block;
}

.news li dt {
	position: relative;
	overflow: hidden;
}
a img.zoom,
label img.zoom {
	width: 100%;
	object-fit: cover;
	object-position: center center;
	overflow: hidden;
	transition: all 0.75s ease;
}
a:hover img.zoom,
label:hover img.zoom {
	transform: scale(1.05);
}

.news li dt .youtube {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: clamp(30px, 3.75vw, 45px);
}
.news li dt i {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	font-size: clamp(26px, 3.1vw, 36px);
	color: #fff;
}

.news li dd {
	margin-top: 16px;
}
.news li dd i {
	color: #fff;
	background: #666;
	font-size: 12px;
	width: fit-content;
	height: 16px;
	padding: 0 2px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: clamp(10px, 1.25vw, 15px);
}



/*------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {



	.news li {
		width: calc(100% / 2 - 15px / 2) !important;
		margin-right: 15px;
	}


}


/*-------------------------------------------------------------------------
	news2
-------------------------------------------------------------------------*/

.news2 .splide__track {
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}

.news2 ul {
	display: flex;
}

.news2 li {
	/*width: calc(100% / 4 - 90px / 4) !important;*/
	width: auto;
	margin-right: 30px;
	position: relative;
	overflow: hidden;
}

.news2 label {
	cursor: pointer;
}



/*------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {



	.news2 li {
		/* width: calc(100% / 2 - 15px / 2) !important; */
		margin-right: 15px;
	}


}



/*-------------------------------------------------------------------------
	profile
-------------------------------------------------------------------------*/

.profile {
	display: flex;
}
.profile li:first-child {
	flex: none;
	width: 220px;
}
.profile li:last-child {
	flex: 1;
	margin-left: 40px;
}

.profile h3 {
	margin-bottom: clamp(45px, 3.0vw, 30px);
}
.profile p + p {
	margin-top: 30px;
}

.profile dl {
	display: flex;
	margin-top: 30px;
}
.profile dl + dl {
	margin-top: 15px;
}
.profile dl:last-of-type {
	margin-bottom: 45px;
}
.profile dt {
	flex: none;
}
.profile dd {
	margin-left: 10px;
}



/*------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {


	.profile {
		display: block;
	}
	.profile li:first-child {
		width: 100%;
	}
	.profile li:last-child {
		margin-left: 0;
		margin-top: 45px;
	}
	.profile h3 {
		text-align: center;
	}

}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ footer
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#footer {
	/* transform: translateY(-90px); */
}

footer {
	background: #000;
	padding: clamp(15px, 2.25vw, 30px) 0;
	color: #fff;
	text-align: center;
}

/*-------------------------------------------------------------------------
	logo
-------------------------------------------------------------------------*/

footer .logo {
}

footer .logo img {
	width: 150px;
}

footer .copyright {
	font-size: 10px;
	margin-top: 10px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■pagetop
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#pagetop {
	width: clamp(45px, 5.25vw, 60px);
	height: clamp(45px, 5.25vw, 60px);
	position: sticky;
	right: clamp(24px, 3.2vw, 40px);
	bottom: clamp(24px, 3.2vw, 40px);
	margin-left: auto;
	z-index: 2;
}
#pagetop a {
	width: 100%;
	height: 100%;
	background: #000;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
}

#pagetop a img {
	width: clamp(12px, 1.4vw, 16px);
	transition: .5s;
	position: relative;
	bottom: 0;
}

#pagetop a:hover img {
	bottom: 4px;
}
