@charset "utf-8";
@font-face {
	font-family: "A1 Gothic M";
	font-style: normal;
	font-weight: 400;
	src: url(https://www.bunka-fc.ac.jp/_wp/wp-includes/fonts/AP-OTF-A1GothicStdN-Medium.woff) format('woff')
}

.a1-gothic-m {
	font-family: "A1 Gothic M";
	font-style: normal;
	font-weight: 400;
}

html {
	overflow-y: scroll;
	overflow-x: hidden;
}

body {
	visibility: visible;
}

ul {
	list-style: none
}

img, iframe {
	vertical-align: top;
	max-width: 100%;
}

.white {
	color: #fff;
}


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

@media screen and (min-width: 768px) {
	.sp {
		display: none!important;
	}
	.pc-left {
		text-align: left;
	}
	#kokosei-contest-2025 a[href^="tel:"] {
		pointer-events: none;
	}
}


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

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


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■kokosei-contest-2025
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#kokosei-contest-2025 {
	font-size: 16px;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	letter-spacing: .05em;
	font-feature-settings: "palt";
	text-align: center;
}

#kokosei-contest-2025 a:hover {
	opacity: 1;
}

#kokosei-contest-2025 a.border {
	color: #000!important;
	text-decoration: underline;
}
#kokosei-contest-2025 a.border:hover {
	text-decoration: none;
}



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

@media screen and (max-width: 767px) {
	#kokosei-contest-2025 {
		font-size: 14px;
	}
}


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

.dis-none {
	display: none;
}

#site-header.rv-head .utill {
	padding-top: 13px;
	height: 66px;
}

#site-header.rv-head .left {
	display: flex;
}

#site-header.rv-head .left .logo {
	margin-right: 30px;
}

#site-header.rv-head .left .logo img {
	height: 42px;
	width: auto;
}

#site-header.rv-head .left .shoulder a {
	display: block;
	color: #000;
}

#site-header.rv-head .left .shoulder span {
	display: block;
	line-height: 1em;
}

#site-header.rv-head .left .shoulder span.catch1 {
	font-size: 20px;
	font-family: "A1 Gothic M";
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0;
	margin-bottom: 7px;
}


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

@media screen and (max-width: 767px) {
	#site-header.rv-head {
		position: fixed!important;
		left: 0;
		top: 0;
	}
	#site-header.rv-head .utill {
		padding: 0;
		height: 50px;
	}
	#site-header.rv-head .left {
		flex-direction: column;
		width: 100%;
	}
	#site-header.rv-head .left .logo {
		margin-right: auto;
		margin-left: auto;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#site-header.rv-head .left .logo img {
		height: 8vw;
		height: 30px;
		width: auto;
	}
	#site-header.rv-head .left .shoulder {
		display: none;
	}
}


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

#kv {}


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

@media screen and (max-width: 767px) {
	#kv {
		margin-top: 50px;
	}
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■レイアウト
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

main {
	margin: 0;
}

article {}

section {
	padding: 0;
	margin: 160px 0;
}

section p, section li, section dt {
	line-height: 1.5;
}

section p + p {
	margin-top: 16px;
}

.inner {
	max-width: 1040px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.inner + .inner {
	margin-top: 120px;
}

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


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

@media screen and (max-width: 767px) {
	section {
		margin: 60px 0;
	}
	.inner {
		margin: 0 20px;
	}
	.inner + .inner {
		margin-top: 40px;
	}
}


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

#kokosei-contest-2025 h3,
#kokosei-contest-2025 h4,
#kokosei-contest-2025 h5,
#kokosei-contest-2025 h6 {
	font-family: "A1 Gothic M";
	font-style: normal;
	font-weight: 400;
}


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

#kokosei-contest-2025 h3 {
	font-size: 36px;
	line-height: 1.25;
	margin-bottom: 120px;
}

#kokosei-contest-2025 h3 span {}


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

@media screen and (max-width: 767px) {
	#kokosei-contest-2025 h3 {
		font-size: 24px;
		margin-bottom: 40px;
	}
}


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

#kokosei-contest-2025 h4 {
	font-size: 30px;
	line-height: 1.4;
	margin-bottom: 80px;
}


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

@media screen and (max-width: 767px) {
	#kokosei-contest-2025 h4 {
		font-size: 20px;
		margin-bottom: 30px;
	}
}


/*-------------------------------------------------------------------------
	h5
-------------------------------------------------------------------------*/

#kokosei-contest-2025 h5 {
	font-size: 24px;
	line-height: 1.5;
}


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

@media screen and (max-width: 767px) {
	#kokosei-contest-2025 h5 {
		font-size: 18px;
	}
}


/*-------------------------------------------------------------------------
	h6
-------------------------------------------------------------------------*/

#kokosei-contest-2025 h6 {
	font-size: 20px;
	line-height: 1.5;
}


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

@media screen and (max-width: 767px) {
	#kokosei-contest-2025 h6 {
		font-size: 16px;
	}
}


/*-------------------------------------------------------------------------
	slash
-------------------------------------------------------------------------*/

.slash {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 80px;
}

.slash span {
	font-size: 20px;
	font-family: "A1 Gothic M";
	font-style: normal;
	font-weight: 400;
	line-height: 1.6;
}

.slash:before {
	content: "";
	display: block;
	width: 20px;
	height: 46px;
	background: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/kokosei-contest-2023_slash_black_left.svg) no-repeat left top / cover;
	margin-right: 40px;
}

.slash:after {
	content: "";
	display: block;
	width: 20px;
	height: 46px;
	background: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/kokosei-contest-2023_slash_black_right.svg) no-repeat left top / cover;
	margin-left: 40px;
}

.slash.white:before {
	background: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/kokosei-contest-2023_slash_white_left.svg) no-repeat left top / cover;
}
.slash.white:after {
	background: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/kokosei-contest-2023_slash_white_right.svg) no-repeat left top / cover;
}


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

@media screen and (max-width: 767px) {
	.slash {
		align-items: end;
		margin-bottom: 30px;
	}
	.slash span {
		font-size: 16px;
		line-height: 1.5;
	}
	.slash:before {
		width: 15px;
		height: 35px;
		margin-right: 15px;
	}
	.slash:after {
		width: 15px;
		height: 35px;
		margin-left: 15px;
	}
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■offer
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#offer {
	margin-top: 80px;
}


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

@media screen and (max-width: 767px) {
	#offer {
		margin-top: 20px;
	}
}


/*-------------------------------------------------------------------------
	date
-------------------------------------------------------------------------*/

.date {
	display: flex;
	align-items: center;
	height: 75px;
	border-radius: 38px;
	padding: 10px;
	box-sizing: border-box;
	background: #eee;
	font-family: "A1 Gothic M";
	font-style: normal;
	font-weight: 400;
	margin-bottom: 20px;
}

.date dt {
	margin-right: 16px;
}

.date dt span {
	width: 55px;
	height: 55px;
	border-radius: 28px;
	background: #f45e8d;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	line-height: 1.25;
	color: #000;
}

.date dd {}

.date dd p {
	display: flex;
	justify-content: center;
	flex-direction: column;
	letter-spacing: 0;
	line-height: 1;
	text-align: left;
}

.date dd p small {
	font-size: 14px;
}

.date dd p span {
	margin-top: 5px;
}

.date dd p span b {
	font-size: 32px;
	font-weight: normal;
}

.date dd p span i {
	font-size: 18px;
	font-style: normal;
}


/*-------------------------------------------------------------------------
	offer
-------------------------------------------------------------------------*/

.offer {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -20px -40px -20px;
}

.offer li {
	width: calc(100% / 2 - 40px);
	margin: 0 20px 40px 20px;
	padding: 35px 30px;
	border-radius: 24px;
	box-sizing: border-box;
	background: #fff11a;
	text-align: left;
}

.offer dl {
	display: flex;
	align-items: center;
}

.offer dt {
	flex: none;
	width: 180px;
	height: 180px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	font-family: "A1 Gothic M";
	font-style: normal;
	font-weight: 400;
}

.offer dt.order1 {
	background: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/kokosei-contest-2023_offer_order1.svg) no-repeat left top / cover;
}

.offer dt.order2 {
	background: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/kokosei-contest-2023_offer_order2.svg) no-repeat left top / cover;
}

.offer dt.order3 {
	background: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/kokosei-contest-2023_offer_order3.svg) no-repeat left top / cover;
}

.offer dt.order4 {
	background: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/kokosei-contest-2023_offer_order4.svg) no-repeat left top / cover;
}

.offer dt span {
	font-size: 24px;
	line-height: 1.25;
	text-align: center;
	position: relative;
	bottom: -4px;
}

.offer dt b {
	font-size: 40px;
	font-weight: normal;
	line-height: 1;
	position: relative;
	bottom: -2px;
}
.offer dt b.zenkaku {
	font-size: 36px;
}

.offer dd {
	flex: 1;
	margin-left: 20px;
}

.offer dd p {
	text-align: justify;
	text-justify: inter-ideograph;
}

.offer dd small {
	font-size: 12px;
}

.offer dd .indent {
	font-size: 14px;
}

.offer + .indent {
	text-align: right;
	margin-top: 20px;
}
.offer + .indent + .indent {
	text-align: right;
	margin-top: 0;
}

.offer .blue {
	background: #f45e8d!important;
}

.offer .blue dt {
	width: 220px;
	height: auto;
	border-right: 1px solid #000;
	color: #fff11a;
}
.offer .blue dd p {
	text-align: center;
	color: #000;
}

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

@media screen and (min-width: 768px) {
	.offer li:nth-child(4n+0), .offer li:nth-child(4n+1) {
		background: #f45e8d;
	}
	.offer li:nth-child(4n+0) dd, .offer li:nth-child(4n+1) dd {
	}
}


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

@media screen and (max-width: 767px) {
	.offer {
		display: block;
		margin: 0;
	}
	.offer li {
		width: 100%;
		margin: 0;
		padding: 20px 15px;
		border-radius: 12px;
	}
	.offer li + li {
		margin-top: 20px;
	}
	.offer li:nth-child(odd) {
		background: #fff11a;
	}
	.offer li:nth-child(even) {
		background: #f45e8d;
	}
	.offer li:nth-child(even) dd {
	}
	.offer li:nth-child(even) dl + .indent {
	}

	.offer dt {
		width: 135px;
		height: 135px;
	}
	.offer dt span {
		font-size: 18px;
		bottom: 0;
	}
	.offer dt b {
		font-size: 30px;
	}
	.offer dt b.zenkaku {
		font-size: 24px;
	}
	.offer dd {
		margin-left: 12px;
	}
	.offer dl + .indent {
		margin-top: 12px;
	}

	.offer + .indent {
		text-align: left;
		margin-top: 12px;
	}
	.offer + .indent + .indent {
		text-align: left;
		margin-top: 0;
	}

	.offer .blue dt {
		width: 50%;
		height: auto;
	}

}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■about
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#about {
	background: #fff11a;
	position: relative;
}

#about:before {
	content: "";
	display: block;
	position: absolute;
	top: -240px;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 240px 100vw;
	border-color: transparent transparent #fff11a #fff;
}

#about figure img {
	border-radius: 25px;
}


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

@media screen and (max-width: 767px) {
	#about:before {
		top: -120px;
		border-width: 0 0 120px 100vw;
	}
}


/*-------------------------------------------------------------------------
	message
-------------------------------------------------------------------------*/

.message {
	margin: 0 50px;
	line-height: 2;
}


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

@media screen and (max-width: 767px) {
	.message {
		margin: 0 10px;
		line-height: 1.75;
	}
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■howto
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#howto {
	background: #f45e8d;
	position: relative;
	margin-bottom: 0;
}

#howto:before {
	content: "";
	display: block;
	position: absolute;
	top: -240px;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 240px 0 0 100vw;
	border-color: #fff11a transparent transparent #f45e8d;
}


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

@media screen and (max-width: 767px) {
	#howto:before {
		top: -120px;
		border-width: 120px 0 0 100vw;
	}

	#howto .split > li + li {
		margin-top: 40px;
	}

}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■ng
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#ng {
	background: #f45e8d;
	margin-top: 0;
	padding-top: 160px;
}
#ng h3 {
	margin-bottom: 80px;
}
#ng .message {
	position: relative;
	margin: 0;
	margin-bottom: 80px;
}
#ng .message img {
	position: absolute;
	width: 240px;
}
#ng .message img.order1 {
	left: 0;
	top: -40px;
}
#ng .message img.order2 {
	right: 0;
	bottom: -160px;
}

#ng .ng {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	list-style: none;
	margin: 0 -20px -80px -20px;
}
#ng .ng li {
	flex: none;
	width: calc(100% / 3 - 40px);
	margin: 0 20px 80px 20px;
}

#ng .ng li img {
	width: 100%;
	border-radius: 12px;
}


#ng .ng li .big {
	font-size: 20px;
	margin-bottom: 20px;
}
#ng .ng li dd p {
	font-size: 16px;
	text-align: left;
	margin-top: 20px;
}
#ng .ng li dd p.center {
	font-size: 12px;
	text-align: center;
}

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

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

	#ng {
		margin-top: 0;
		padding-top: 60px;
	}

	#ng h3 {
		margin-bottom: 30px;
	}
	#ng .message {
		margin: 0;
	}

	#ng .message img {
		display: none;
	}

	#ng .ng {
		display: block;
		margin-bottom: 0;
	}
	#ng .ng li {
		flex: none;
		width: calc(100% - 40px);
		margin-bottom: 30px;
	}

	#ng .ng li img {
		width: 100%;
		border-radius: 12px;
	}
	#ng .ng li img.sp-w75 {
		width: 75%;
	}


	#ng .ng li .big {
		font-size: 16px;
		margin-bottom: 15px;
	}
	#ng .ng li dd p {
		font-size: 14px;
		margin-top: 15px;
	}



}




/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■results
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#results {
	background: #f45e8d;
	position: relative;
	margin-bottom: 240px;
}

#results:before {
	content: "";
	display: block;
	position: absolute;
	top: -240px;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 240px 0 0 100vw;
	border-color: #f45e8d;
}


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

@media screen and (max-width: 767px) {
	#results {
		margin-bottom: 120px;
	}

	#results:before {
		top: -120px;
		border-width: 120px 0 0 100vw;
	}

	#results .split > li + li {
		margin-top: 40px;
	}

}


/*-------------------------------------------------------------------------
	split
-------------------------------------------------------------------------*/

.split {
	display: flex;
	justify-content: center;
	text-align: left;
}

.split > li {
	flex: 1;
}

.split > li + li {
	margin-left: 40px;
}

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

@media screen and (max-width: 767px) {
	.split {
		display: block;
	}
	.split > li {
		width: 100%;
	}
	.split > li + li {
		margin-left: 0;
		margin-top: 24px;
	}
}


/*-------------------------------------------------------------------------
	youtube
-------------------------------------------------------------------------*/

.youtube {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.youtube li {
	width: 380px;
}

.youtube li + li {
	margin-left: 40px;
}

.youtube li a dl {
	transition: .5s;
	color: #000;
}
.youtube li a:hover dl {
	opacity: .75;
}

.youtube dl {}

.youtube dt {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
}
.youtube dt img {
	border-radius: 12px;
}

.youtube dt iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
	border-radius: 12px;
}

.youtube dd {
	margin-top: 20px;
}

.youtube dd p {
	font-size: 20px;
	font-family: "A1 Gothic M";
	font-style: normal;
	font-weight: 400;
	line-height: 1.6;
	text-align: center;
}
.youtube dd p small {
	font-size: 16px;
}
/*------------------------------------------------------------------------*/

@media screen and (min-width: 768px) {


	.youtube dt iframe {
		transition: .5s;
	}

	.youtube dt iframe:hover {
		opacity: .75;
	}

}


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

@media screen and (max-width: 767px) {
	.youtube li {
		width: 100%;
	}
	.youtube li + li {
		margin-left: 0;
		margin-top: 20px;
	}
	.youtube dd {
		margin-top: 15px;
	}
	.youtube dd p {
		font-size: 16px;
	}
	.youtube dd p small {
		font-size: 12px;
	}
}


/*-------------------------------------------------------------------------
	box
-------------------------------------------------------------------------*/

.box {
	background: #fff11a;
	border-radius: 25px;
	padding: 50px;
}

.box hr {
	display: block;
	width: 100%;
	height: 0;
	border: 0;
	border-top: 1px dashed #f45e8d;
	border-top: 1px dashed #000;
	padding: 0;
	margin: 40px 0;
}


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

@media screen and (max-width: 767px) {
	.box {
		border-radius: 12px;
		padding: 40px 20px;
	}
	.box hr {
		margin: 40px 0;
	}
}


/*-------------------------------------------------------------------------
	credit
-------------------------------------------------------------------------*/

.credit {
	background: #eee;
	border-radius: 12px;
	padding: 20px;
	margin-top: 40px;
	text-align: left;
}


/*-------------------------------------------------------------------------
	pdf
-------------------------------------------------------------------------*/

.pdf {
	display: flex;
}

.pdf dt {
	flex: none;
	width: 215px;
}

.pdf dt img {
	width: calc(100% - 2px);
	border: 1px solid #999;
}

.pdf dd {
	text-align: left;
	margin-left: 20px;
	display: flex;
	flex-direction: column;
}

.pdf dd h6 {
	letter-spacing: .012em;
	margin-bottom: 16px;
}

.pdf dd p {
	text-align: justify;
	text-justify: inter-ideograph;
}


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

@media screen and (max-width: 767px) {
	.pdf {
		display: block;
	}
	.pdf dt {
		width: 145px;
		margin: 0 auto;
		margin-bottom: 15px;
	}
	.pdf dd {
		text-align: center;
		margin-left: 0;
		display: block;
	}
}


/*-------------------------------------------------------------------------
	download
-------------------------------------------------------------------------*/

.download {
	margin-top: auto;
}

.download a {
	width: 100%;
	height: 50px;
	border-radius: 25px;
	background: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/kokosei-contest-2025_download_bg.svg) no-repeat right 15px center / 4px auto #f45e8d;
	font-size: 14px;
	text-indent: -6px;
	color: #000;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: .25s;
}

.download a:hover {
	transform: scale(1.05);
}


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

@media screen and (max-width: 767px) {
	.download {
		margin-top: 16px;
	}
	.download a {
		width: 215px;
		margin: 0 auto;
	}
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■detail
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#detail {
	background: #fff;
	position: relative;
	margin-bottom: 70px;
}

#detail:before {
	content: "";
	display: block;
	position: absolute;
	top: -240px;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 240px 100vw;
	border-color: transparent transparent #fff #f45e8d;
}

#detail h4 {
	margin-bottom: 40px;
}

#detail h5 {
	margin-bottom: 40px;
}




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

@media screen and (max-width: 767px) {
	#detail:before {
		top: -120px;
		border-width: 0 0 120px 100vw;
	}
}


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

@media screen and (max-width: 767px) {
	#detail {
		margin-bottom: 50px;
	}
	#detail h4 {
		margin-bottom: 30px;
	}
	#detail h5 {
		margin-bottom: 30px;
	}
}


/*-------------------------------------------------------------------------
	outline
-------------------------------------------------------------------------*/

.outline {
	display: flex;
	flex-wrap: wrap;
	font-family: "A1 Gothic M";
	font-style: normal;
	font-weight: 400;
	margin-bottom: 50px;
}

.outline dt {
	width: 144px;
	background: #f45e8d;
	font-size: 20px;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom: 1px solid #fff;
}

.outline dt:last-of-type {
	border-bottom: 0;
}

.outline dd {
	width: calc(100% - 144px);
	background: #fff;
	font-size: 24px;
	padding: 24px;
	box-sizing: border-box;
	border-bottom: 1px solid #f45e8d;
	text-align: left;
}

.outline dd:last-of-type {
	border-bottom: 0;
}

.outline dd small {
	font-size: 16px;
}
.outline dd .medium {
	font-size: 18px;
}

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

@media screen and (max-width: 767px) {
	.outline {
		margin-bottom: 30px;
	}
	.outline dt {
		width: 100px;
		font-size: 15px;
	}
	.outline dd {
		width: calc(100% - 100px);
		font-size: 15px;
		padding: 10px 20px;
	}
	.outline dd small {
		font-size: 13px;
	}
	.outline dd .medium {
		font-size: 14px;
	}
}


/*-------------------------------------------------------------------------
	detail
-------------------------------------------------------------------------*/

.detail {}

.detail dt {
	font-family: "A1 Gothic M";
	font-style: normal;
	font-weight: 400;
	margin-bottom: 16px;
	display: flex;
	align-items: center;
}

.detail dt:before {
	content: "";
	width: 20px;
	height: 20px;
	background: #f45e8d;
	margin-right: 10px;
}

.detail dd + dt {
	margin-top: 24px;
}

.detail dd ol {
	list-style: none;
	counter-reset: number;
	margin-left: 6px;
	padding-left: 0;
}

.detail dd ol li {
	display: flex;
}

.detail dd ol li:before {
	font-family: "A1 Gothic M";
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0;
	counter-increment: number;
	content: counter(number)".";
	margin-right: 10px;
}

.detail dd ol li + li {
	margin-top: 16px;
}

.detail dd ol li p {
	margin: 0;
}

.detail dd ol li p + p {
	margin-top: 4px;
}

.detail p.address {
	font-size: 15px;
}

.detail p.address a {
	color: #000;
}

.detail p small {
	font-size: 12px;
}

.detail dd ul {
	margin-top: 16px;
}

.detail dd ul li {
	display: flex;
}

.detail dd ul li:before {
	content: "●";
	margin-right: 5px;
}

.detail dd ul li + li {
	margin-top: 10px;
}

.detail .indent {
	margin-top: 8px;
}
.detail .indent + .indent {
	margin-top: 6px;
}

#detail .sponsored {
	font-size: 12px;
	text-align: right;
	margin-top: 24px;
}
#detail .sponsored li + li {
	margin-top: 15px;
}

#detail .sponsored dl {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
#detail .sponsored dt {
	margin-right: 10px;
}
#detail .sponsored dd + dd {
	margin-left: 20px;
}
#detail .sponsored dd img {
	width: 100px;
}


#detail .sponsored a {
	transition: .5s;
}

#detail .sponsored a:hover {
	opacity: .75;
}


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

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

	.detail .indent {
		margin-top: 6px;
	}
	.detail .indent + .indent {
		margin-top: 4px;
	}


	/*#detail .sponsored {
		align-items: flex-end;
		justify-content: center;
		flex-direction: column;
	}*/
	#detail .sponsored li + li {
		margin-top: 10px;
	}

	#detail .sponsored dd + dd {
		margin-left: 15px;
	}
	#detail .sponsored dd img {
		width: 75px;
	}

}

/*-------------------------------------------------------------------------
	application
-------------------------------------------------------------------------*/

.application {
	height: 100%;
	padding: 50px;
	box-sizing: border-box;
	background: #f45e8d;
	border-radius: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

.application p {
	font-size: 24px;
	font-family: "A1 Gothic M";
	font-style: normal;
	font-weight: 400;
	text-align: justify;
	text-justify: inter-ideograph;
}

.application figure {
	margin-top: 16px;
}

.application img {
	width: 40px;
	height: 40px;
}


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

@media screen and (max-width: 767px) {
	.application {
		height: auto;
		padding: 20px;
		border-radius: 12px;
	}
	.application p {
		font-size: 16px;
	}
	.application figure {
		margin-top: 10px;
	}
	.application img {
		transform: rotate(90deg);
	}
}


/*-------------------------------------------------------------------------
	indent
-------------------------------------------------------------------------*/

.indent {
	font-size: 12px;
	padding-left: 1.2em;
	text-indent: -1.2em;
	text-align: left;
}
.indent:before {
	content: "※";
	margin-right: 2px;
}
.indent.type2:before {
	content: "＊";
}
.indent.type3 {
	padding-left: 1.8em;
	text-indent: -1.8em;
}
.indent.type3:before {
	content: "＊＊";
}

.indent a {
	color: #000;
}

.split + .indent {
	margin-top: 50px;
}
.split + .indent + .indent {
	margin-top: 5px;
}

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

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


	.split + .indent {
		margin-top: 35px;
	}
	.split + .indent + .indent {
		margin-top: 10px;
		margin-bottom: 5px;
	}

}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■local
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */


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

#local {
	position: fixed;
	right: 0;
	top: 180px;
	z-index: 99;
	display: none;
}

#local ul {
	background: #fff;
	padding: 20px;
	border-radius: 20px 0 0 20px;
	font-family: "A1 Gothic M";
	font-style: normal;
	font-weight: 400;
	line-height: 1;
	text-align: left;
}

#local li {}

#local li + li {
	margin-top: 15px;
}

#local li a {
	display: flex;
	align-items: center;
	color: #fddd0a;
	transition: .5s;
}

#local li a[target="_blank"]:after {
	content: "";
	display: inline-block;
	width: 15px;
	height: 10px;
	margin-left: 5px;
	background: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/kokosei-contest-2025_blank.svg) no-repeat left top / cover;
}

#local li a:before {
	content: "";
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #fff11a;
	margin-right: 5px;
	transition: .5s;
}

#local li a:hover {
	color: #f45e8d;
}

#local li a:hover:before {
	background: #f45e8d;
}

#local li a.current {
	color: #f45e8d;
}

#local li a.current:before {
	background: #f45e8d;
}

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

@media screen and (max-width: 767px) {
	#local {
		top: 0;
	}
	#local ul {
		font-size: 18px;
		text-align: right;
		background: none;
		padding: 0;
		padding-top: 40px;
		border-radius: 0;
	}
	#local li + li {
		margin-top: 30px;
	}
	#local li a {
		justify-content: flex-end;
		text-align: right;
		color: #000;
		padding-right: 20px;
	}
	#local li a:before {
		display: none;
	}
	#local li a:hover {
		color: #000;
	}
	#local li a.current {
		color: #000;
	}
}


/*-------------------------------------------------------------------------
	drawer
-------------------------------------------------------------------------*/

.open, .close, #toggle {
	display: none;
}


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

@media screen and (max-width: 767px) {
	.open {
		width: 50px;
		height: 50px;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		position: fixed;
		right: 0;
		top: 0;
		z-index: 100;
	}
	.open img {
		width: 22px;
		height: 8px;
	}
	.open span {
		font-size: 8px;
		font-family: "A1 Gothic M";
		font-style: normal;
		font-weight: 400;
		letter-spacing: -.023em;
		line-height: 1;
		margin-top: 5px;
	}
}


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

@media screen and (max-width: 767px) {
	#toggle {
		display: none;
	}
	#local .close {
		display: none;
	}
	#toggle + .close {
		position: fixed;
		top: 0;
		left: 0;
		pointer-events: none;
		z-index: 11;
		width: 100%;
		height: 100%;
		transition: background-color .25s;
	}
	#toggle:checked + .close {
		pointer-events: auto;
		background-color: rgba(0, 0, 0, .5);
	}
	#toggle:checked ~ #local {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	#local {
		flex: none;
		margin: 0;
		padding: 0;
		/*position: fixed;
		left: 0;
		top: 0;*/
		background: #fff11a;
		background: #f45e8d;
		width: 200px;
		display: block;
		margin: 0;
		padding: 0;
		z-index: 200;
		position: fixed;
		height: 100%;
		top: 0;
		right: 0;
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		-webkit-transition: -webkit-transform .25s;
		transition: transform .25s;
	}
	#local .close {
		width: 50px;
		height: 50px;
		margin: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		position: absolute;
		right: 0;
		top: 0;
		z-index: 211;
	}
	#local .close img {
		width: 22px;
		height: 8px;
	}
	#local .close span {
		font-size: 8px;
		font-family: "A1 Gothic M";
		font-style: normal;
		font-weight: 400;
		letter-spacing: -.023em;
		line-height: 1;
		color: #000;
		margin-top: 5px;
	}
	#local ul {
		margin-top: 50px;
	}
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■sns
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.sns {
	display: flex;
	justify-content: center;
	margin-bottom: 50px;
}

.sns li {
	margin: 0 10px;
}

.sns li a {
	width: 40px;
	height: 40px;
}


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

#pagetop {
	width: 60px;
	height: 60px;
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 3;
	margin-left: auto;
	margin-right: 40px;
	display: none;
}
#pagetop p {}

#pagetop a img {
	transition: .25s;
}
#pagetop a:hover {
	opacity: 1; 
}
#pagetop a:hover img {
	transform: scale(1.05);
}
#pagetop p a img {
	width: 100%;
	height: 100%;
}

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

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

	#pagetop {
		width: 40px;
		height: 40px;
		margin-right: 20px;
	}

}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■entry
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#entry {
	height: 90px;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	position: sticky;
	left: 0;
	bottom: 0;
	z-index: 111;
	border-top: 1px solid #000;
}

#entry p {}

#entry p a {
	width: 400px;
	height: 50px;
	border-radius: 25px;
	background: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/kokosei-contest-2023_entry_bg.svg) no-repeat right 15px center / 14px auto #fff11a;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: .25s;
}

#entry.type2 p a {
	width: 640px;
}

#entry p a:hover {
	transform: scale(1.05);
	opacity: 1;
}

#entry p a span {
	font-size: 30px;
	font-family: "A1 Gothic M";
	font-style: normal;
	font-weight: 400;
	text-indent: -6px;
	color: #000;
	display: flex;
	align-items: center;
	justify-content: center;
}

#entry p a span:before {
	content: "";
	display: block;
	width: 10px;
	height: 22px;
	background: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/kokosei-contest-2023_slash_black_left.svg) no-repeat left top / cover;
	margin-right: 20px;
}

#entry p a span:after {
	content: "";
	display: block;
	width: 10px;
	height: 22px;
	background: url(https://www.bunka-fc.ac.jp/_wp/wp-content/uploads/kokosei-contest-2023_slash_black_right.svg) no-repeat left top / cover;
	margin-left: 20px;
}


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

@media screen and (max-width: 767px) {
	#entry {
		height: 60px;
	}
	#entry p a {
		width: 100%;
		min-width: 345px;
		height: 30px;
		border-radius: 15px;
	}
	#entry p a span {
		font-size: 20px;
		text-indent: 0;
	}
	#entry p a span:before {
		width: 7px;
		height: 14px;
		margin-right: 15px;
	}
	#entry p a span:after {
		width: 7px;
		height: 14px;
		margin-left: 15px;
	}
	#launcher {
		display: none;
	}

	#entry.type2 {
		width: 100%;
		height: 60px;
	}
	#entry.type2 p {
		width: 100%;
		max-width: calc(100% - 40px);
		margin-left: 20px;
		margin-right: 20px;
	}
	#entry.type2 p a {
		width: 100%;
	}
	#entry.type2 p a span {
		font-size: 16px;
	}
	#entry.type2 p a span:before {
		margin-right: 5px;
	}
	#entry.type2 p a span:after {
		margin-left: 5px;
	}

}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■scroll
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.scroll-up {
  opacity: .5; 
  visibility: hidden;
  transform: translateY(80px);
  transition: all .5s;
}
.scroll-up.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}


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

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

	.scroll-up {
	  transform: translateY(30px);
	}


}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
	■site-footer
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

#site-footer {
	padding-bottom: 0!important;
}

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

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

	#site-footer .footer-contact hr {
	    width: 100%!important;
	}
}