/* Google Fontsインポート */
/* @import url('https://fonts.googleapis.com/css?family=Lato:400,900i&display=swap');
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,700&display=swap&subset=japanese'); */
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;900&family=Noto+Sans+JP:wght@300;400;700&display=swap');

/*--------------------
 共通部品
 --------------------- */
.pc_only {
	display: block;
}

.sp_only {
	display: none;
}

/* セクション見出し */
.circle_index {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	height: 60px;
	margin: 57px 0 47px;
	padding-left: 21px;
	background-color: #007DD2;
}

.circle_index_jp {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 32px;
	letter-spacing: .05em;
	color: #FFF;
	-webkit-transform: skewX(-10deg);
	transform: skewX(-10deg);
}

.circle_index_en {
	margin-left: 19px;
	font-family: 'Lato', sans-serif;
	font-size: 17px;
	letter-spacing: .05em;
	color: #FFF;
	-webkit-transform: skewX(-10deg);
	transform: skewX(-10deg);
}

/* セクション */
.circle_section_container {
	margin-bottom: 100px;
}

/*====================
2103331追加_大学祭ページ
セクション見出し
====================*/
.festival_page .circle_index {
	background-color: #ff969b;
}

.festival_page .circle_index .circle_index_jp,
.festival_page .circle_index .circle_index_en {
	font-family: inherit;
	-webkit-transform: skewX(0);
	transform: skewX(0);
}

@media screen and (max-width: 768px) {
	.festival_page .circle_index {
		margin-top: 50px;
	}
}

/*====================
2103331追加_大学祭ページ
包括スタイル
====================*/
.fes_wrapper {
	position: relative;
	max-width: 1030px;
	margin: 40px auto 0;
	margin-bottom: 150px;
	width: 100%;
	padding: 0 20px;
	letter-spacing: 0.03em;
}

@media screen and (max-width: 768px) {
	body {
		margin-top: 55px !important;
	}

	.pc_only {
		display: none;
	}

	.sp_only {
		display: block;
	}

	.circle_index {
		height: 40px;
		margin: 23px 0 15px;
		padding-left: 14px;
	}

	.circle_index_jp {
		font-size: 18px;
		letter-spacing: .2em;
	}

	.circle_index_en {
		margin-left: 15px;
		font-size: 13px;
	}

	.circle_section_container {
		margin-bottom: 60px;
	}

	/*大学祭ページ*/
	.fes_wrapper {
		margin-top: 30px;
	}
}

/*--------------------
 タイトル部
 --------------------- */
.circle_title_wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	height: 400px;
	margin-top: 31px;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.circle_title_wrap.circle_volleyball {
	background-image: url(/campus_life/common/img/circle/vb_top.jpg);
	background-position: center -6.7VW;
}

.circle_title_wrap.circle_tabletennis {
	background-image: url(/campus_life/common/img/circle/tt_top.jpg);
	background-position: center;
}

.circle_title {
	width: 518px;
	height: auto;
	min-height: 1px;
	margin-bottom: 44px;
}

.circle_tabletennis .circle_title {
	width: 372px;
	min-height: 1px;
	margin-bottom: 60px;
}


@media screen and (max-width: 1000px) {
	.circle_title_wrap.circle_volleyball {
		background-position: center;
	}
}

@media screen and (max-width: 768px) {
	.circle_title_wrap.circle_volleyball,
	.circle_title_wrap.circle_tabletennis{
		height: 67VW;
		margin-top: 0;
	}

	.circle_title_wrap.circle_tabletennis{
		background-position: 38% center;
	}

	.circle_title {
		width: 67VW;
	}

	.circle_tabletennis .circle_title {
		width: 45vw;
	}
}

/*====================
2103331追加_大学祭ページ
トップ部
====================*/
.circle_title_wrap.festival_top {
	position: relative;
	background-image: url(/campus_life/common/img/festival/top.jpg);
	background-position: center bottom;
	overflow: hidden;
}

.circle_title_wrap.festival_top::before {
	content: "";
	position: absolute;
	top: 75%;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	max-width: 1800px;
	width: 110%;
	height: 50vw;
	padding-top: 150px;
	background-color: #fff;
	border-radius: 100vh 100vh 0 0;
	z-index: 0;
}

.festival_top_logo .circle_title {
	max-width: 550px;
	width: 45%;
	margin: auto;
}

@media screen and (max-width: 768px) {
	.circle_title_wrap.festival_top {
		height: 270px;
		background-size: 210%;
	}

	.circle_title_wrap.festival_top::before {
		top: 87%;
		width: 150vw;
		height: 75vw;
	}

	.festival_top_logo .circle_title {
		max-width: 450px;
		width: 80%;
		margin-top: 20px;
	}
}


/*--------------------
 導入部
 --------------------- */
.circle_intro_text {
	padding-top: 13px;
	font-size: 16px;
	line-height: 2.1;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.circle_intro_text {
		padding-top: 0;
		font-size: 13px;
		line-height: 2.2;
	}
}

/*--------------------
 お知らせ
 --------------------- */
.circle_news_item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 10px;
	padding-bottom: 7px;
	border-bottom: 1px solid #B4B4B4;
	font-size: 16px;
}

.circle_news_date {
	width: 105px;
	margin: 0 44px 0 20px;
	letter-spacing: .06em;
}

@media screen and (max-width: 768px) {
	.circle_news_item {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.circle_news_date {
		margin-left: 0;
		font-size: 15px;
	}

	.circle_news_text {
		font-size: 13px;
		line-height: 1.9;
	}
}


/*--------------------
 活動内容、年間行事
 --------------------- */
.circle_about,
.circle_schedule {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 100%;
}

.circle_schedule_tabletennis{
	align-items: flex-start;
}

.circle_about_item_wrap {
	width: 50%;
}

.circle_image_wrap {
	position: relative;
	width: 50%;
	height: 100%;
}

.circle_image_wrap .img_left,
.circle_image_wrap .img_right {
	position: absolute;
	width: 270px;
	height: auto;
}

.circle_image_wrap .img_left {
	top: -77px;
	right: 222px;
}

.circle_image_wrap .img_right {
	top: 109px;
	right: 41px;
}

.circle_about_item_title {
	width: 90%;
	padding: 0 0 4px 20px;
	border-bottom: 2px solid #007DD2;
	color: #007DD2;
	line-height: 1.2;
	font-size: 21px;
	letter-spacing: .05em;
}

.circle_about_item_list {
	padding: 21px 0 45px 18px;
	font-size: 15px;
}

.circle_about_item {
	padding: 21px 0 45px 20px;
	font-size: 16px;
}

.circle_list li {
	position: relative;
	margin-bottom: 7px;
	padding-left: 20px;
	font-size: 16px;
}

.circle_list li::before {
	content: '';

	position: absolute;
	top: 6px;
	bottom: 0;
	left: 1px;
	width: 10px;
	height: 10px;
	border-radius: 5px;
	background-color: #969696;
}

.circle_schedule_table {
	width: 45%;
}

.circle_schedule_tabletennis .circle_schedule_table{
	width: 47%;
}

.circle_schedule_table tr {
	border: none;
	border-top: 1px solid #B4B4B4;
}

.schedule_month {
	width: 90px;
	border: none;
	padding: 0 !important;
	background-color: #D6DDDD;
	font-size: 16px;
	font-weight: normal;
	letter-spacing: .01em;
}

.circle_schedule_tabletennis .schedule_month{
	width: 70px;
}

.schedule_event {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	min-height: 63px;
	padding: 19px 0 19px 10px !important;
	border: none;
	font-size: 16px;
}

.circle_schedule_table tr:last-child {
	border-bottom: 1px solid #B4B4B4;
}

.circle_schedule .circle_image_wrap .img_left {
	right: 212px;
}

.circle_schedule .circle_image_wrap .img_right {
	top: 190px;
	right: 11px;
	width: 320px;
}

@media screen and (max-width: 1100px) {
	.circle_about_item_title {
		width: 80%;
		letter-spacing: .1em;
	}

	.circle_schedule_table {
		width: 40%;
	}
}

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

	.circle_about,
	.circle_schedule {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.circle_about_item_wrap {
		width: 100%;
	}

	.circle_about_item_title {
		width: 100%;
		margin-top: 18px;
		padding: 0 0 3px 0;
		font-size: 16px;
	}

	.circle_about_item_list,
	.circle_about_item {
		padding: 14px 0 10px 0;
		font-size: 14px;
	}

	.circle_list li {
		padding-left: 14px;
		font-size: 14px;
	}

	.circle_list li::before {
		top: 5px;
	}

	.circle_image_wrap {
		width: 100%;
		height: 100VW;
	}

	.circle_image_wrap .img_left,
	.circle_image_wrap .img_right,
	.circle_schedule .circle_image_wrap .img_right {
		width: 43VW;
	}

	.circle_image_wrap .img_left {
		top: 43px;
		right: auto;
		left: 0;
	}

	.circle_image_wrap .img_right,
	.circle_schedule .circle_image_wrap .img_right {
		top: 109px;
		right: 0;
	}

	.circle_schedule_table {
		width: 100%;
		margin-top: 16px;
	}

	.circle_schedule_tabletennis	.circle_schedule_table {
		width: 100%;
	}

	.circle_schedule_tabletennis	.circle_schedule_table:not(:first-of-type) {
		margin-top: 0;
	}

	.circle_schedule_table tr {
		height: 45px;
	}


	.circle_schedule_tabletennis	.circle_schedule_table:not(:first-of-type) tr:first-of-type {
		border-top: none;
	}

.schedule_month {
		width: 70px;
		font-size: 15px;
	}

	.schedule_event {
		padding-left: 19px !important;
		font-size: 14px;
	}
}

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

	.circle_image_wrap .img_left,
	.circle_image_wrap .img_right,
	.circle_schedule .circle_image_wrap .img_right {
		width: 50VW;
	}
}

/*--------------------
 実績
 --------------------- */
.circle_result {
	padding-left: 20px;
}

.circle_result.circle_result_tabletennis{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.circle_result.circle_result_tabletennis .circle_list {
    width: 60%;
}

.circle_result.circle_result_tabletennis .circle_result_img {
    width: 38%;
}

.circle_result .circle_list li {
	font-size: 16px;
}

.circle_result.circle_result_tabletennis li{
	display: flex;
}

.circle_result.circle_result_tabletennis .year{
	display: inline-block;
	width: 6em;
}

.circle_result.circle_result_tabletennis .result_content {
  width: calc(100% - 6em);
}

@media screen and (max-width: 1000px) {
	.circle_result {
		margin-top: 23px;
		padding-left: 0;
	}

	.circle_result.circle_result_tabletennis{
		flex-direction: column;
	}

	.circle_result .circle_list li {
		font-size: 14px;
	}

	.circle_result.circle_result_tabletennis .circle_list {
			width: 100%;
	}

	.circle_result.circle_result_tabletennis .circle_result_img {
			align-self: center;
			width: 70%;
			margin-top: 20px;
	}
}

/*--------------------
 先輩の声
 --------------------- */
.circle_voice_wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.circle_voice_text {
	width: 62%;
	margin-top: 6px;
	padding: 0 20px 5px;
	background-image: -webkit-gradient(linear,
			left top, right top,
			from(rgba(0, 0, 0, 0)),
			color-stop(50%, rgba(0, 0, 0, 0)),
			color-stop(50%, #fff),
			color-stop(50%, #fff)),
		-webkit-gradient(linear,
			left top, left bottom,
			from(rgba(0, 0, 0, 0)),
			color-stop(98%, rgba(0, 0, 0, 0)),
			color-stop(97%, #B4B4B4),
			to(#B4B4B4));
	background-image: linear-gradient(90deg,
			rgba(0, 0, 0, 0) 0%,
			rgba(0, 0, 0, 0) 50%,
			#fff 50%,
			#fff 50%),
		linear-gradient(180deg,
			rgba(0, 0, 0, 0) 0%,
			rgba(0, 0, 0, 0) 98%,
			#B4B4B4 97%,
			#B4B4B4 100%);
	background-size: 8px 100%, 100% 3.3em;
	font-size: 18px;
	line-height: 3.37;
	text-align: justify;
	font-size: 16px;
}

.circle_voice_wrap_tabletennis .circle_voice_text{
	width: 55%;
	font-size: 18px;
}

.circle_voice_img {
	max-width: 325px;
	width: 31VW;
	height: 218px;
	background-size: cover;
	background-position: top 0 right 0;
}

.circle_voice_wrap_tabletennis .circle_voice_img{
	width: 40%;
	max-width: none;
	height: auto;
	padding-top: 29%;
	background-size: contain;
	background-position: center 20px;
	background-repeat: no-repeat;
}

.circle_voice_img_sp {
	display: none;
}

@media screen and (max-width: 1000px) {
	.circle_voice_wrap {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.circle_voice_text,
	.circle_voice_wrap_tabletennis .circle_voice_text {
		width: 100%;
		margin-top: 2px;
		padding: 0 0 5px;
		background-size: 8px 100%, 100% 3.1em;
		line-height: 3.15;
		font-size: 14px;
	}

	.circle_voice_img {
		display: none;
	}

	.circle_voice_img_sp {
		display: block;
		width: 100%;
		height: auto;
		margin-top: 25px;
	}
}

/*--------------------
 出身校一覧、就職先一覧
 --------------------- */
.circle_homeschool,
.circle_employment {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	margin-bottom: 20px;
	padding: 30px 0;
	background-color: #F3F4F4;
}

.circle_homeschool_title,
.circle_employment_title {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 306px;
	height: 100%;
}

.circle_homeschool_title span,
.circle_employment_title span {
	position: relative;
	color: #007DD2;
	font-size: 33px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	-webkit-transform: skewX(-10deg);
	transform: skewX(-10deg);
}

.circle_homeschool_info,
.circle_employment_info {
	/*	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: center;;
	align-items: flex-start;*/
	width: calc(100% - 306px);
	padding: 5px 70px 0 70px;
	border-left: 1px solid #B4B4B4;
}

.circle_homeschool_info .item,
.circle_employment_info .item {
	position: relative;
	text-align: justify;
	font-size: 16px;
	margin: 0 0 5px -.5em;
}

.circle_homeschool_info .item.no_mergin,
.circle_employment_info .item.no_mergin {
	margin-left: 0;
}

.circle_homeschool_info .heading,
.circle_employment_info .heading {
	display: inline-block;
	margin-right: .5em;
	padding: .05em .6em 0em;
	border-radius: 1em;
	background-color: #007DD2;
	color: #fff;
	font-size: 14px;
}

.circle_homeschool_info .heading.kerning_right,
.circle_employment_info .heading.kerning_right {
	padding-right: 0;
}

/*
.circle_homeschool_info span:nth-child(even),
.circle_employment_info span:nth-child(even){
	margin-right: 0;
}
.circle_homeschool_info .item::before,
.circle_employment_info .item::before{
	content: '';

	position: absolute;
	top: 0;
	bottom: 0;
	left: -1px;
	width: 3px;
	height: 3px;
	margin: auto;
	border-radius: 1.5px;
	background-color: #969696;
}
*/

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

	.circle_homeschool,
	.circle_employment {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		height: auto;
	}

	.circle_homeschool_title,
	.circle_employment_title {
		width: 100%;
		margin-bottom: 20px;
	}

	.circle_homeschool_title span,
	.circle_employment_title span {
		font-size: 19px;
	}

	.circle_homeschool_title span::after,
	.circle_employment_title span::after {
		content: '';

		position: absolute;
		bottom: 2px;
		left: 0;
		right: 0;
		margin: auto 0;
		width: 100%;
		height: 1px;
		background-color: #007DD2;
	}

	.circle_homeschool_info,
	.circle_employment_info {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		width: 100%;
		padding: 0 20px 0 20px;
		border: none;
		font-size: 14px;
	}

	.circle_homeschool_info .item,
	.circle_employment_info .item {
		font-size: 14px;
	}

	/*
	.circle_homeschool_info span:nth-child(even),
	.circle_employment_info span:nth-child(even){
		margin-right: 20px;
	}
	*/
}



/*--------------------
 SNSバナー
 --------------------- */
 .circle_sns_banners{
	margin: 50px auto;
 }

.circle_sns_banners_title {
	text-align: center;
}

.circle_sns_banners_title img {
	display: inline-block;
	width: 137px;
	height: auto;
	min-height: 1px;
}

.circle_sns_banners_title div {
	margin-top: 4px;
	font-size: 20px
}

.circle_sns_banners_container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-top: 31px;
}

.circle_sns_banner {
	position: relative;
	max-width: 485px;
	width: 39.5VW;
	height: 150px;
	overflow: hidden;
}

.circle_sns_banner a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 300;
}

.circle_sns_banner_background {
	width: 100%;
	height: 100%;
	background: center /cover no-repeat;
	z-index: 100;
	-webkit-transition: -webkit-transform .5s;
	transition: -webkit-transform .5s;
	transition: transform .5s;
	transition: transform .5s, -webkit-transform .5s;
}

.circle_sns_banner:hover .circle_sns_banner_background {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

.circle_sns_banner_title_wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	border: 1px solid #fff;
	z-index: 200;
}

.circle_sns_banner_title {
	width: auto;
	height: 58px;
}

@media screen and (max-width: 1000px) {
	.circle_sns_banners_title div {
		margin-top: 7px;
		font-size: 16px;
	}

	.circle_sns_banners_container {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		margin-top: 16px;
	}

	.circle_sns_banner {
		width: 100%;
		max-width: 100%;
		height: calc((100VW - 40px) * .3);
		margin-bottom: 10px;
	}

	/* .circle_sns_banner_title_wrap {
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		padding-left: 22%;
	} */

	.circle_sns_banner_title {
		height: 44%;
	}
}

.circle_button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 350px;
	height: 63px;
	margin: 120px auto 80px;
	border-radius: 32px;
	border: 2px solid #007DD2;
	color: #007DD2 !important;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 22px;
	letter-spacing: .1em;
	font-weight: bold;
	-webkit-transition: background-color .5s, color .5s;
	transition: background-color .5s, color .5s;
}

.circle_button.tabletennis_btn {
	margin-top: 50px;
}

.circle_button:hover {
	background-color: #007DD2;
	color: #fff !important;
}

@media screen and (max-width: 1000px) {
	.circle_button {
		width: 280px;
		height: 52px;
		border-radius: 26px;
		margin-top: 64px;
		font-size: 18px;
	}

	.circle_button.tabletennis_btn {
		margin-top: 70px;
	}
}

/* .sports_banner_link {
	display: block;
	position: relative;
	max-width: 570px;
	width: 90%;
	margin: 0 auto;
	transition: all .3s;
}

.sports_banner_link:hover {
	transform: scale(1.03);
	opacity: .8;
	transition: all .5s;
}

.sports_banner_link .sports_banner_img:hover {
	opacity: 1;
} */

/* .sports_banner_link:hover .sports_banner_text .bottom_text .icon {
	width: 20px;
	height: 20px;
	transition: all .3s;
} */

.sports_banner_link{
	display: block;
	margin: 0 auto;
}

.sports_banner_link:hover{
	opacity: 1;
}

.sports_banner_text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	color: #fff;
	border: 1px solid #fff;
}

.sports_banner_text .top_text {
	margin-top: 0.25em;
	font-size: 28px;
	letter-spacing: .075em;
}

.sports_banner_text .bottom_text {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 0.25em;
	letter-spacing: .05em;
	line-height: 1;
}

.sports_banner_text .bottom_text .icon {
	position: relative;
	display: inline-block;
	width: 15px;
	height: 15px;
	margin-left: 0.25em;
	border: 1px solid #fff;
	border-radius: 100%;
}

.sports_banner_text .bottom_text .icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: calc(50% - 1px);
	transform: translate(-50%, -50%) rotate(45deg);
	width: 5px;
	height: 5px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
}

@media screen and (max-width:768px) {
	.sports_banner_text .top_text {
		margin-top: 0;
		font-size: 20px;
	}

	.sports_banner_text .bottom_text {
		font-size: 12px;
	}
}


/*====================
2103331追加_大学祭ページ
追加スタイル
====================*/
/*お知らせ*/
.fes_wrapper .circle_news_item {
	margin-top: 40px;
}

@media screen and (max-width:768px) {
	.fes_wrapper .circle_news_item {
		margin-top: 15px;
		padding-bottom: 15px;
	}
}

/*2020動画*/
.festival_section_container.movie_section {
	position: relative;
	width: 100%;
	margin-top: 180px;
	padding-bottom: 10px;
	background-color: #ffeced;
}

.festival_section_container .festival_index {
	text-align: center;
}

.festival_index_movie {
	display: inline-block;
	margin-top: -35px;
	color: #ff969b;
	font-size: 40px;
	font-weight: bold;
	letter-spacing: 0.15em;
}

.festival_section_container.movie_section .schedule_list {
	margin: 1em 0;
	color: #ff969b;
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.15em;
	text-align: center;
}

.festival_section_container.movie_section .schedule_list .box {
	display: flex;
	justify-content: center;
	align-items: center;
}

.festival_section_container.movie_section .schedule_list .day {
	margin-right: 1.5em;
}

.festival_index_movie .small_text {
	display: block;
	font-size: 30px;
	line-height: 1;
}

/*2020動画_外枠*/
.festival_section_container .movie_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

/*2020動画_個別_外枠*/
.festival_section_container .movie_list .list_item {
	width: 45%;
	margin: 30px 2%;
}

.festival_section_container .movie_list .movie_box {
	position: relative;
	width: 100%;
	height: 0px;
	padding-top: 56.25%;
	border: #fff 3px solid;
	border-radius: 13px;
	-webkit-box-shadow: 0 0 20px rgba(51, 51, 51, .30);
	box-shadow: 0 0 20px rgba(51, 51, 51, .30);
	overflow: hidden;
}

@media screen and (max-width:768px) {
	.festival_section_container.movie_section {
		margin-top: 100px;
	}

	.festival_section_container.movie_section .schedule_list {
		width: fit-content;
		margin: 1em auto;
		font-size: 26px;
	}

	.festival_section_container.movie_section .schedule_list .box {
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		margin-top: 0.5em;
	}

	.festival_section_container.movie_section .schedule_list .day {
    margin-right: 0;
	}

	.festival_section_container .movie_list {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.festival_section_container .movie_list .list_item {
		width: 100%;
		margin: 15px 0;
	}
}

/*2020動画_個別の中身*/
.festival_section_container .movie_list .movie_modal {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	border-radius: 10px;
}

.festival_section_container .movie_list .thumbnail {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(1);
	-webkit-transform: translate(-50%, -50%) scale(1);
	-ms-transform: translate(-50%, -50%) scale(1);
	width: 70px;
	width: 100%;
	height: 100%;
	border-radius: 10px;
	-webkit-transition: -webkit-transform .5s;
	transition: -webkit-transform .5s;
	transition: transform .5s;
	transition: transform .5s, -webkit-transform .5s;
	z-index: 2;
}

.festival_section_container .movie_list .movie_modal::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	background-color: rgba(100, 100, 100, .3);
	border-radius: 10px;
	z-index: 3;
}

.festival_section_container .movie_list .play_btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	width: 70px;
	z-index: 4;
}

.festival_section_container .movie_list .list_item:hover {
	cursor: pointer;
}

.festival_section_container .movie_list .list_item:hover a,
.festival_section_container .movie_list .list_item:hover img {
	opacity: 1;
}

.festival_section_container .movie_list .list_item:hover .thumbnail {
	transform: translate(-50%, -50%) scale(1.1);
	-webkit-transform: translate(-50%, -50%) scale(1.1);
	-ms-transform: translate(-50%, -50%) scale(1.1);
	-webkit-transition: -webkit-transform .5s;
	transition: -webkit-transform .5s;
	transition: transform .5s;
	transition: transform .5s, -webkit-transform .5s;
}


/*2019日別*/
/* .festival_section_container.day_section {
	margin-top: 120px;
} */

.day_section .festival_index {
	width: 200px;
	margin: auto;
}

.festival_section_container .festival_index .year {
	display: block;
	margin-bottom: 30px;
	color: #ff969b;
	font-family: 'Lato', sans-serif;
	font-style: normal;
	font-weight: 900;
	font-size: 32px;
	letter-spacing: .2em;
}

.festival_section_container .festival_index .year::before,
.festival_section_container .festival_index .year::after {
	content: "-";
	margin: 0 .25em;
}

.day_section .tab-group {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 10px;
	width: 100%;
}

.day_section .tab-group .tab {
	cursor: pointer;
	width: 100%;
	padding: 15px;
	background-color:#ebf0f0;
	border-top-right-radius: 10px;
	border-top-left-radius: 10px;
	color: #b4b4b4;
	text-align: center;
}

.day_section .tab-group .tab.is-active {
	background-color: #ff969b;
	color: #fff;
}

.day_section .tab-group .tab_text {
	font-family: 'Lato', sans-serif;
	font-weight: 900;
	font-size: 18px;
	line-height: 1;
}

.day_section .tab-group .tab_text .day {
	display: inline-block;
	margin: 0 0.075em;
	font-size: 2.25em;
	vertical-align: -.15em;
}

.day_section .panel-group .panel {
	display: none;
	margin-top: -1px;
	padding: 2% 6% 7%;
  border: 30px solid #ff969b;
}

.day_section .panel-group .panel.is-show {
	display: block;
}

/*2019日別_個別*/
.day_section .list_item {
	display: block;
	padding: 30px 0;
	border-bottom: #b4b4b4 1px solid;
}

.day_section .list_item:last-of-type {
	border-bottom: none;
}

.day_section .list_item.two_columns {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	padding: 30px 0;
	border-bottom: #b4b4b4 1px solid;
}

.day_section .list_item.two_columns .text_box {
	width: 55%;
}

.day_section .time {
	display: inline-block;
	padding: 7px 15px;
	background-color: #ff969b;
	border-radius: 50vh;
	color: #fff;
	line-height: 1.2;
}

.day_section .title {
	padding: 30px 0;
	color: #ff969b;
	font-size: 30px;
	font-weight: bold;
	line-height: 1;
}

.day_section .text {
	text-align: justify;
	line-height: 2;
}

.day_section .image {
	width: 35%;
}

@media screen and (max-width:768px) {
	.festival_section_container.day_section {
		margin-top: 70px;
	}

	.day_section .festival_index {
		width: 180px;
		margin-bottom: 30px;
	}

	.day_section .panel-group .panel{
		border-width: 15px;
	}

	.day_section .list_item {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.day_section .list_item.bb {
		border-bottom: none;
	}

	.day_section .text_box,
	.day_section .list_item.two_columns .text_box,
	.day_section .image {
		width: 100%;
	}

	.day_section .title {
		padding-bottom: 20px;
		font-size: 23px;
		line-height: 1.4;
	}

	.day_section .image {
		margin-top: 25px;
	}
}

/*地域の皆様へ*/
.local_section {
	padding-top: 100px;
	overflow-x: hidden;
}

.local_section .fes_wrapper {
	position: relative;
	padding: 150px 0 150px 100px;
	background-color: #ebf0f0;
	/* background-color: #ffeced; */
	border-top-left-radius: 30px;
	border-bottom-left-radius: 30px;
}

.local_section .fes_wrapper::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: -200vw;
	width: 200vw;
	height: 100%;
	background-color: #ebf0f0;
	/* background-color: #ffeced; */
}

.local_section .text_box {
	width: 40%;
	text-align: justify;
}

.local_section .festival_index {
	color: #ff969b;
	font-size: 30px;
	text-align: justify;
}

.local_section .text {
	margin-top: 40px;
	font-size: 18px;
	line-height: 2;
}

.local_section .local_img01 {
	position: absolute;
	top: -100px;
	right: 5%;
	width: 45%;
}

.local_section .local_img02 {
	position: absolute;
	bottom: 40px;
	right: 0;
	width: 32%;
}

@media screen and (max-width:768px) {
	.local_section {
		margin-bottom: 70px;
		padding-top: 10px;
	}

	.local_section .fes_wrapper {
		padding: 70px 30px 120px;
		border-radius: unset;
	}

	.local_section .text_box {
		width: 100%;
	}

	.local_section .text {
		margin: 25px 0 40px;
	}

	.local_section .local_img01 {
		position: static;
		max-width: 400px;
		width: 90%;
	}

	.local_section .local_img02 {
		bottom: -40px;
		right: 30px;
		max-width: 250px;
		width: 55%;
	}
}

/*SNSリンクボタン*/
.sns_section .fes_sns_container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: distribute;
	justify-content: space-around;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	max-width: 350px;
	margin: auto;
}

.sns_section .sns_link {
	width: 140px;
	height: 140px;
	margin: 30px 0px;
}

/*一覧に戻るボタン*/
.circle_button.festival {
	margin: 80px auto 140px;
	border-color: #ff969b;
	color: #ff969b !important;
}

.circle_button.festival:hover {
	background-color: #ff969b;
	color: #fff !important;
}

@media screen and (max-width:768px) {
	.circle_button.festival {
		margin: -40px auto 70px;
	}
}
